-
Notifications
You must be signed in to change notification settings - Fork 446
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
feat: set EDXAPP_TEST_MONGO_HOST=mongodb
in openedx-dev
#1083
Changes from 1 commit
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
[Improvement] Set `EDXAPP_TEST_MONGO_HOST` env var in the openedx-dev image so that it no longer needs to be set by hand when running edx-platform unit tests (by @kdmccormick). | ||
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -275,6 +275,9 @@ RUN pip install -e "/mnt/{{ name }}" | |
# Add ipdb as default PYTHONBREAKPOINT | ||
ENV PYTHONBREAKPOINT=ipdb.set_trace | ||
|
||
# Point unit tests at the MongoDB container | ||
ENV EDXAPP_TEST_MONGO_HOST=mongodb | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I think we want to point to I don't have a better alternative to offer that does not break compatibility with devstack... I think that test settings should be overridable, and that xmodule/modulestore/tests/mongo_connection.py should not read There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
I'm not sure I follow. There are several other points in the Dockerfile that depend on user configuration. As long as the setting has a reasonable default value that most people will use (i.e.,
Agreed, the tests ought to use the MONGO_HOST and MONGO_PORT_NUM Django settings. The way that they currently ignore the settings and look up the env vars directly is so very wrong. Devstack is deprecated, and starting right after that Sumac cut, we are no longer obligated to avoid breaking it. Regardless of whether you accept this PR, let's make the upstream fix this October. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Régis has already added his comment/context. Once those are resolved, this will be good to go. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @kdmccormick Hi, what's plan for this PR? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Done 👍🏻
I poked around at simplifying this. I think that the only proper fix is to drop the EDXAPP_TEST_MONGO_* env vars and get rid of the MONGO_* Django settings, as they are all only used in tests. What prod uses is DOC_STORE_CONFIG -- test settings should override pieces of that. Unfortunately that's too much for me to bite off right now, but I'm hoping I can address this (and other bad config patterns) in openedx/edx-platform#35146 In the meantime, I still think this simplification would be valuable to Tutor users. Can you re-review @regisb ?
kdmccormick marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
# Recompile static assets: in development mode all static assets are stored in edx-platform, | ||
# and the location of these files is stored in webpack-stats.json. If we don't recompile | ||
# static assets, then production assets will be served instead. | ||
|
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.
do we need a changelog entry for this, considering this is only meant for dev/testing and wont impact the operators as such?
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.
Since Tutor is both an operator tool and a developer tool, I think it is good to make not of the improvements we make for developers too.