-
Notifications
You must be signed in to change notification settings - Fork 29k
[SPARK-35483][INFRA] Add docker-integration-tests to run-tests.py and GA. #32631
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
cc: @dongjoon-hyun too. |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
dongjoon-hyun
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.
BTW, this is not a blocker for Apache Spark 3.1.2. If you don't mind, let's hold on this for a while.
|
I think we can merge it into master first, and backport after the RC of 3.1.2. |
This comment has been minimized.
This comment has been minimized.
I agree. I think this is not a blocker and better to merge into |
… image for docker integration tests ### What changes were proposed in this pull request? This PR adds a feature for removing pulled container image after every docker integration test finish. This feature is enabled by the new propoerty `spark.tes.docker.removePulledImage`. ### Why are the changes needed? For idempotent. I'm trying to add docker integration tests to GA in SPARK-35483 (#32631) but I noticed that `jdbc.OracleIntegrationSuite` consistently fails(https://github.com/sarutak/spark/runs/2646707235?check_suite_focus=true). I investigated the reason and I found it's short of the storage capacity of the host on GA. ``` ORACLE PASSWORD FOR SYS AND SYSTEM: oracle The location '/opt/oracle' specified for database files has insufficient space. Database creation needs at least '4.5GB' disk space. Specify a different database file destination that has enough space in the configuration file '/etc/sysconfig/oracle-xe-18c.conf'. mv: cannot stat '/opt/oracle/product/18c/dbhomeXE/dbs/spfileXE.ora': No such file or directory mv: cannot stat '/opt/oracle/product/18c/dbhomeXE/dbs/orapwXE': No such file or directory ORACLE_HOME = [/home/oracle] ? ORACLE_BASE environment variable is not being set since this information is not available for the current user ID . You can set ORACLE_BASE manually if it is required. Resetting ORACLE_BASE to its previous value or ORACLE_HOME The Oracle base remains unchanged with value /opt/oracle ##################################### ########### E R R O R ############### DATABASE SETUP WAS NOT SUCCESSFUL! Please check output for further info! ########### E R R O R ############### ##################################### The following output is now a tail of the alert.log: tail: cannot open '/opt/oracle/diag/rdbms/*/*/trace/alert*.log' for reading: No such file or directory tail: no files remaining ``` With this feature, pulled container image is removed and keep the capacity for `jdbc.OracleIntegrationSuite` in GA. ### Does this PR introduce _any_ user-facing change? No. ### How was this patch tested? I confirmed the following things. * A container image which is absent in the local repository is removed after test finished if `spark.test.container.removePulledImage` is `true`. * A container image which is present in the local repository is not removed after the finished even if `spark.test.container.removePulledImage` is `true`. * A container image is not removed regardless of presence of the container image in the local repository even if `spark.test.container.removePulledImage` is `true`. Closes #32652 from sarutak/docker-image-rm. Authored-by: Kousuke Saruta <sarutak@oss.nttdata.com> Signed-off-by: Hyukjin Kwon <gurwls223@apache.org>
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
HyukjinKwon
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.
I skimmed - looks good otherwise
This comment has been minimized.
This comment has been minimized.
...r-integration-tests/src/test/scala/org/apache/spark/sql/jdbc/DockerIntegrationFunSuite.scala
Outdated
Show resolved
Hide resolved
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
|
Test build #139020 has finished for PR 32631 at commit
|
|
Merged to master. I know this GA and Docker integration things are sort of tricky to handle .. Thanks @sarutak for working on this! |
|
Thank you, @sarutak and @HyukjinKwon . Ya, this is really nice to have. |
| run: | | ||
| git fetch https://github.com/$GITHUB_REPOSITORY.git ${GITHUB_REF#refs/heads/} | ||
| git -c user.name='Apache Spark Test Account' -c user.email='sparktestacc@gmail.com' merge --no-commit --progress --squash FETCH_HEAD | ||
| git -c user.name='Apache Spark Test Account' -c user.email='sparktestacc@gmail.com' commit -m "Merged commit" |
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.
Oh, we should add echo "::set-output name=APACHE_SPARK_REF::$apache_spark_ref" after this line because we're running tests with run-tests.py.
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.
I will revert this for now .. seems like it breaks other tests.
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.
@sarutak would you mind opening a Pr again for this?
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.
Ah, O.K. I'll do it. Thanks for letting me know.
|
sorry for reverting quickly - I reverted first as the issue is sort of minor but it takes a while to test related to this 😢 |
### What changes were proposed in this pull request? This PR proposes to add `docker-integratin-tests` to `run-tests.py` and GA. Once #32631 was merged but there was a lack of consideration. Diff between this change and 692d95d merged in #32631 is as follows. ``` if: github.repository != 'apache/spark' id: sync-branch run: | + apache_spark_ref=`git rev-parse HEAD` git fetch https://github.com/$GITHUB_REPOSITORY.git ${GITHUB_REF#refs/heads/} git -c user.name='Apache Spark Test Account' -c user.email='sparktestaccgmail.com' merge --no-commit --progress --squash FETCH_HEAD git -c user.name='Apache Spark Test Account' -c user.email='sparktestaccgmail.com' commit -m "Merged commit" + echo "::set-output name=APACHE_SPARK_REF::$apache_spark_ref" - name: Cache Scala, SBT and Maven uses: actions/cachev2 with: ``` ### Why are the changes needed? CI for `docker-integration-tests` is absent for now. ### Does this PR introduce _any_ user-facing change? GA. ### How was this patch tested? Closes #32691 from sarutak/docker-integration-test-ga-take2. Authored-by: Kousuke Saruta <sarutak@oss.nttdata.com> Signed-off-by: Hyukjin Kwon <gurwls223@apache.org>
What changes were proposed in this pull request?
This PR proposes to add
docker-integratin-teststorun-tests.pyand GA.doker-integration-testscan't run if docker is not installed so it run only ifdocker-integration-testsis specified with--module.Why are the changes needed?
CI for
docker-integration-testsis absent for now.Does this PR introduce any user-facing change?
GA.
How was this patch tested?