-
Notifications
You must be signed in to change notification settings - Fork 68
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
Properly daemonize the csfle servers #570
Conversation
params: | ||
binary: bash | ||
include_expansions_in_env: [AWS_SECRET_ACCESS_KEY, AWS_ACCESS_KEY_ID, AWS_SESSION_TOKEN] | ||
args: [src/.evergreen/csfle/teardown.sh] |
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.
Does this work? It looks like we are calling setup.sh then immediately calling teardown.sh. Shouldn't the teardown happen later after running the test suite?
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.
This is just to ensure that setup doesn't hang. The test suite itself does its own setup and teardown for each python version.
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.
Can we add a comment explaining this and also the purpose of test-csfle.sh below?
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.
Done
if [ "$(uname -s)" != "Darwin" ]; then | ||
# On linux and windows host, we need to use nohup to daemonize the process | ||
# and prevent the task from hanging. | ||
# The macos hosts do not support nohup. |
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.
What happens on macos?
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.
It does not hang on macos, as confirmed by the test run: https://spruce.mongodb.com/task/drivers_tools_tests_all__os_fully_featured~macos_14_auth~auth_ssl~nossl_test_csfle_patch_eadf5c21e411d5582e52b43cfe9e2ffd26274fb8_677beac5430c5d0007e4745d_25_01_06_14_37_57/logs?execution=0&sortBy=STATUS&sortDir=ASC.
I tested this with the Go driver, which had use the background approach. This will allow us to move the encryption setup to a task in the Python driver, without having to use the background approach.