Use the same version of teuthology and ceph-qa-suite for a whole run#1599
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/