-
Notifications
You must be signed in to change notification settings - Fork 117
Configure Travis to run K8s integration test #74
Configure Travis to run K8s integration test #74
Conversation
|
FYI, @ssuchter |
lins05
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The integration tests make use of minikube, which would fire up a virtual machine. AFAIK travis ci runs the build in a vm. So I doubt trying to create a vm inside a vm would not work.
.travis.yml
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nit: "lint-java SKIPPED"
.travis.yml
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ditto
.travis.yml
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
semicolons are not necessary for calling scripts or shell commands
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Travis munges that whole block onto one line during execution, which would cause the problem for the shell command.
Something I had tried on my test repo (here the lint-java has the semi-colons and lint-scala doesn't):
0.00s$ if [[ $TEST_TO_RUN == "lint-java" ]] ; then dev/lint-java; else echo "SKIPPED"; fi
SKIPPED
The command "if [[ $TEST_TO_RUN == "lint-java" ]] ; then dev/lint-java; else echo "SKIPPED"; fi" exited with 0.
0.00s$ if [[ $TEST_TO_RUN == "lint-scala" ]] ; then dev/lint-scala else echo "SKIPPED" fi
/home/travis/build.sh: eval: line 60: syntax error: unexpected end of file
The command "if [[ $TEST_TO_RUN == "lint-scala" ]] ; then dev/lint-scala else echo "SKIPPED" fi" exited with 1.
|
Thanks @lins05 for taking a look. Have addressed the comments. I haven't had a chance to go investigate the integration test failure yet, but more than likely I could be doing something wrong. I ran it locally and it seemed to fail similarly. |
|
Looks like we need to change the evaluation order of some modules, since this is failing on line 50: Looks like the |
|
@ash211, Yes that's what I saw too. It seems that resource-managers/kubernetes/integration-tests/pom.xml specifies a plugin execution for copying the test jobs. But somehow it's not happening. I'm looking into why. |
|
I think I found the root cause. KubernetesSuite.scala is running in the maven test phase, which happens much earlier than the pre-integration-test phase that will trigger the copy-test-spark-jobs execution above. One can override the scalatest plugin, in charge of running tests, to trigger in the integration-test phase. Trying this now. |
|
Ok. I was able to pass the previous failing point with scalatest maven plugin triggering in the integration test phase. I see a different error, which is better. Here's the target dir showing the copied jars: ls resource-managers/kubernetes/integration-tests/target/*.jar Here's the new error: [INFO] --- scalatest-maven-plugin:1.0:test (integration-test) @ spark-kubernetes-integration-tests_2.11 --- I'll send a PR with the scalatest plugin fix. |
|
The minikube version issue was due to my Macbook having an old version of minikube pre-installed. Removed that and the integration test passed (with the patch of #93). |
|
Have started working on this again and created issue #158 to discuss the options. Based on the finding discussed there, this PR doesn't make sense anymore. |
|
Probably this came too late, but now it seems possible to run minikube on travis CI: https://blog.travis-ci.com/2017-10-26-running-kubernetes-on-travis-ci-with-minikube |
Modify Travis configuration to run k8s integration test with every pull request. In addition, made a change to run lint-scala along with lint-java.
The integration test seems to be failing currently due to an un-related issue. We'll need to fix that before this ratchet is enabled.