-
Notifications
You must be signed in to change notification settings - Fork 349
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
ci: replace make -C tools with devcluster. #2892
Conversation
✔️ Deploy Preview for determined-ui canceled. 🔨 Explore the source changes: 853db7f 🔍 Inspect the deploy log: https://app.netlify.com/sites/determined-ui/deploys/613965919ba16b00075a0ffc |
@@ -28,10 +14,6 @@ prep-root: | |||
@ln -s $(abspath ../webui/react/build/*) build/webui/react | |||
@ln -s $(abspath ../harness/dist/*.whl) build/wheels/ | |||
|
|||
.PHONY: run |
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.
Why not leave make -C tools run
intact for a while? I think rigidly forcing devs to transition from one tooling system to another one is an unnecessary burden.
I think there should be at least a couple months after I land make devcluster
and before we remove make -C tools run
sorta related: there is one more place we have a copy of the tools dir and that's used for running the tests locally. in |
Alright, I want get rid of it in this PR, so we are done with this. |
🙏 ditto on 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.
very excited for this work to land (love the branch name :))
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's great to see that we don't need to depend on package-push job before running e2e tests.
the main way I run e2e tests locally is through make test
or python ./bin/e2e-tests.py e2e-tests
.
there seems to be some issues with the devcluster config. it's complaining about db.image_name.
also, do I need to set an env variable? DOCKER_LOCALHOST? it'd be nice if the user could run local tests without having to figure out their docker networking settings.
python ./bin/e2e-tests.py e2e-tests
setting up the cluster..
--oneshot is only supported in server mode
Traceback (most recent call last):
File "./bin/e2e-tests.py", line 93, in det_cluster
cluster_process = setup_cluster(config, f)
File "./bin/e2e-tests.py", line 78, in setup_cluster
raise Exception(f"cluster {config['DET_MASTER']} is unreachable")
Exception: cluster http://localhost:8081 is unreachable
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "./bin/e2e-tests.py", line 203, in <module>
main()
File "./bin/e2e-tests.py", line 199, in main
fn(config)
File "./bin/e2e-tests.py", line 130, in e2e_tests
with det_cluster(config):
File "/usr/lib/python3.6/contextlib.py", line 81, in __enter__
return next(self.gen)
File "./bin/e2e-tests.py", line 96, in det_cluster
teardown_cluster(config, cluster_process.pid)
UnboundLocalError: local variable 'cluster_process' referenced before assignment
make: *** [Makefile:19: test] Error 1
Time: 0h:01m:17s
@@ -158,12 +153,9 @@ def get_config(args): | |||
config["CLUSTER_NAME"] = f"det_test_{args.det_port}" | |||
config["DET_MASTER"] = f"{args.det_host}:{args.det_port}" | |||
|
|||
env = {} |
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.
question: is this just for simplifying code or do we need to make this change? the idea is to minimize the effect of env variables when running processes through 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.
devcluster rebuilds the master so it's up-to-date; that needs GOPATH/GOBIN setup properly. This means we'd need to add some new variables to make it work, but everyone's setup is different.
My idea is that if you can run devcluster, this test can just use the same environment and also work.
If some env variables are explicitly harmful, maybe we should just filter them out?
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'm thinking that being explicit about them could minimize potential surprises that we get but either way works
can you please update to a recent devcluster? it had a number of changes recently and I wonder if you're just on an old version.
I never heard about |
let me do that. the DOCKER_LOCALHOST comes from here I asked that because I remember as part of the devcluster setup I needed to provide it with the interface IP to my docker bridge which is something specific to user setup. |
ok, let me know. |
agent_id: agent3 | ||
fluent: | ||
port: 24226 # default value is 24224 | ||
container_name: determined-fluent-3 |
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.
suggestion: pin the agent slot type to be CPU to that the tests run on the same* type of accelerator between local and ci slot_type: cpu
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 WebUI e2e tests section looks good to me. You can't run the tests with node version > 14 but that's the same story on master branch as well
ftr updating helped. I'm guessing it's because of the newly added feature to guess the host |
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 SOOOOOO much better. Especially the removal of make -C tools
from webui/tests
! devcluster
and make -C webui/tests test
worked great for me. Thanks @ioga!
Description
make -C tools
withdevcluster
.make -C tools run
.Test Plan
CI is green.
Commentary (optional)
Checklist
docs/release-notes/
.See Release Note for details.