Skip to content
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

Merged
merged 4 commits into from Jan 27, 2021

Conversation

jdurgin
Copy link
Member

@jdurgin jdurgin commented Jan 17, 2021

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/

teuthology/repo_utils.py Outdated Show resolved Hide resolved
teuthology/repo_utils.py Outdated Show resolved Hide resolved
teuthology/repo_utils.py Outdated Show resolved Hide resolved
teuthology/repo_utils.py Outdated Show resolved Hide resolved
teuthology/repo_utils.py Outdated Show resolved Hide resolved
teuthology/suite/run.py Outdated Show resolved Hide resolved
teuthology/suite/run.py Outdated Show resolved Hide resolved
teuthology/suite/run.py Outdated Show resolved Hide resolved
@kshtsk
Copy link
Contributor

kshtsk commented Jan 18, 2021

Tests are failed due to build machine lacks of some system dependencies.

@jdurgin
Copy link
Member Author

jdurgin commented Jan 18, 2021

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>
@jdurgin
Copy link
Member Author

jdurgin commented Jan 19, 2021

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.

@kshtsk
Copy link
Contributor

kshtsk commented Jan 19, 2021

@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.

@djgalloway
Copy link

@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

@kshtsk
Copy link
Contributor

kshtsk commented Jan 20, 2021

retest this please

@jdurgin jdurgin mentioned this pull request Jan 20, 2021
6 tasks
@ceph ceph deleted a comment from susebot Jan 21, 2021
@ceph ceph deleted a comment from susebot Jan 21, 2021
@kshtsk
Copy link
Contributor

kshtsk commented Jan 21, 2021

@susebot run deploy

@susebot
Copy link

susebot commented Jan 21, 2021

Commit 85a266b is OK.
Check tests results in the Jenkins job: https://ceph-ci.suse.de/job/pr-teuthology-deploy/290/

@jdurgin jdurgin merged commit 83ba941 into master Jan 27, 2021
@tchaikov tchaikov deleted the wip-exact-commits branch January 27, 2021 16:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
4 participants