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
Use the same version of teuthology and ceph-qa-suite for a whole run #1599
Conversation
Tests are failed due to build machine lacks of some system dependencies. |
good points, will fix up. also found we can fetch a specific sha1 without regard to branch, so will do that too. |
Since we're cloning a particular branch with git clone --shallow, assume we're still passed a branch that contains the commit. Otherwise we'd waste time and space cloning all the branches in the repo. Assume that this is only used for checking out a particular sha1 once, to avoid repetitive work. There are two use cases for these utilities: 1) on the user's machine when they're scheduling a suite - there it will make sense to maintain a single checkout of a branch e.g. teuthology master 2) on the queue consumer side - here it's best if we use the same commit for an entire run, so checking out by sha1 makes more sense Signed-off-by: Josh Durgin <jdurgin@redhat.com>
We already pass the suite sha1, but do not use it yet. This is the missing piece to be able to use the same version of everything across a whole run. Signed-off-by: Josh Durgin <jdurgin@redhat.com>
Using a checkout of a single branch used by potentially many workers/teuthology processes can result in errors when one job updates the local branch while another job is reading it. This causes issues particularly easily when using non-master teuthology branches, and with the teuthology-dispatcher. This also allows us to guarantee we're using the same version across an entire run, even if e.g. the master qa suite is updated between jobs. Signed-off-by: Josh Durgin <jdurgin@redhat.com>
This ensures we use the same version across all jobs in a run. We already have suite_sha1 set by older versions of teuthology, but for folks who haven't updated their suite command, and thus don't set teuthology_sha1 in the job config, look up the sha1 of in the worker. Signed-off-by: Josh Durgin <jdurgin@redhat.com>
6b76637
to
85a266b
Compare
Addressed the comments, new run here: http://pulpito.ceph.com/joshd-2021-01-19_06:54:15-smoke-octopus-distro-basic-mira/ Checking out a specific sha1 that's not the tip of a branch directly needs a server-side git option that isn't commonly enabled, so I kept the cloning as-is. |
@djgalloway https://jenkins.ceph.com/job/teuthology-pull-requests/1458/ the are some jenkins node issue with lacking system dependencies. Is it okay that teuthology PR job runs against 172.21.4.75+confusa13 and if so, can we update it with teuthology system dependencies. |
We should probably just prevent that job from running on arm64 builders. ceph/ceph-build#1725 |
retest this please |
@susebot run deploy |
Commit 85a266b is OK. |
Specify the commit of teuthology, not just the branch, when scheduling jobs.
On the server side, use per-commit checkouts to avoid any changes while a job is reading from them.
Keep checkout-by-branch possible, since it's useful on the client side where there's only one user, e.g. updating master each time in someone's homedir each time they schedule a suite.
This makes suites more reliable, and allows #1546 to work.
Here's a run with this PR on top of the dispatcher:
https://pulpito.ceph.com/joshd-2021-01-17_09:08:06-smoke-octopus-distro-basic-mira/
and some with only this PR, and the current worker daemon:
https://pulpito.ceph.com/joshd-2021-01-17_07:38:36-smoke-master-distro-basic-mira/
https://pulpito.ceph.com/joshd-2021-01-17_08:00:39-smoke-master-distro-basic-mira/