-
Notifications
You must be signed in to change notification settings - Fork 291
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
teuthology-suite: automate -t argument default value #1490
Conversation
8462ba6
to
731e4fd
Compare
Hm. This looks suspiciously similar to a requirements.txt file in ceph/qa to me. Researching a bit more and it turns out that we already have an explicitly dependency to teuthology in the tox.ini. I suspect a proper requirements.txt won't work, right? |
I'm not following what you're referring to?
I have no idea what you're asking for, teuthology does not use requirements.txt at the moment, for py3 it uses requirements3.txt and for py2 it uses requirements2.txt |
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.
FWIW I don't think this is worth it, both the override file and the tying of teuthology_branch
to suite_branch
or ceph_branch
. Particularly the latter -- teuthology repo is full of stale branches with fairly generic names (wip-fixes and alike).
I think having to specify --teuthology-branch py2
is just fine, but if the consensus is that py2/py3 automation is necessary, then only py2 branch should be treated specially IMO. Instead of adding an override file, perhaps there is a py2-specific marker that can be grepped for in qa/tasks directory?
Regarding suite_branch and ceph_branch functionality it was already in the code, I just added a description of this hidden logic. Do you request to delete it? @djgalloway @gregsfortytwo do we need to keep this?
The point is that to avoid pointing to the right branch by a user, especially for users who do not have a clue which branch to use.
This is overkill, it much easier to add single file. |
Was I'm not requesting that you delete it, but merely trying to discourage adding more tangling. It would be nice to look at whether
Well, conceptually this file is an override for /etc/teuthology.yaml. I would argue that if you introduce an override mechanism, it should handle all options, not just one of them. And that is definitely an overkill for the problem at hand because all we need is for teuthology to detect that py2 tasks would be used and "switch" from py3 to py2. No additional surface area and no configuration files committed anywhere. |
The ceph_branch what I saw has nothing todo with teuthology repo and uses the ceph repo.
It could look like an override for teuthology.yaml but it is not, it should not be, nevertheless, it has same yaml format, it only means to take only teuthology branch parameter.
Could you elaborate, I'm not following, would it be better to you instead of |
I'm referring to this piece of code, where in the absence of explicit
This behaviour goes way back, when all tasks lived in the teuthology repo and one had to use the same branch of ceph and teuthology. Those days are gone and I think we should look into dropping this logic. This PR adds similar behaviour for |
thanks for the extra explanation, I'm actual fine with dropping it, just don't want to do it by my own will... |
No.
Yes, I think it should be relatively easy to detect that py2 branch is be used without any new configuration files, whether by trying to import/parse as python3 or just a grep for some pattern in one of .py files under qa/tasks. If that file is not there, do nothing (i.e. use master). |
I disagree and think this is incorrect approach an awkward... teuthology code should NOT be related on any client python code, you anyway need to track exact file, in many branches, you anyway have to made a change, you have much more file operation to make that grep. In fact, grepping is logically the same to loading of exact yaml file, but computationally more expensive. Summarizing, I do not support this idea, it is not relatively easy (in comparison of just reading a single file with known structure), and since it is out of the scope for this PR, we can continue discussing it in mailing list, where you can advise code examples of how to verify if your whole tree is py2 or py3 only, as well as regex examples. |
I don't have a dog in this fight as I don't use teuthology as a developer. Basically strictly a machine locking tool as far as I'm concerned. |
I don't see input from @gregsfortytwo who actually requested the feature. |
@gregsfortytwo ping? |
@kshtsk I, for one, think we should persist with this because I am seeing confusion about this in day-to-day operations. Let's just see if we can get more eyes 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.
I think automating this is a good idea. More folks are getting confused by the various branches, and it's not difficult to avoid users needing to consider it at all. The mechanism proposed here seems reasonable to me.
fb50cfe
to
eed1939
Compare
This change is required to determine which teuthology branch should be used for scheduling a run for the given ceph branch. Drop the code using --ceph-branch and when --teuthology-branch is not supplied, since this mechanism is not used and not supported anymore. Signed-off-by: Kyr Shatskyy <kyrylo.shatskyy@suse.com>
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.
LGTM. Since the consensus is that automating this is a good idea and others have been slow to respond, I'm going to go ahead and merge.
Hrm, why is master protected to the point that not everyone can merge? This didn't use to be the case and not a practice we follow in other repos... |
as far as I understand the history, only admins allowed, because not everyone wants take responsibility of breaking test infrastructure in sepia lab? |
@idryomov added you to the list of folks who can merge. perhaps we should revisit that and allow more broad access again |
Now we need:
|
Step 2 is done. |
The order is important, sorry, forgot to notice about that. |
K I just commented it back out. No worries, I should have waited. |
Uncommented now that ceph/ceph#35349 is merged. |
nice, will see how it goes |
This is follow up change for: teuthology-suite: automate -t argument default value ceph/teuthology#1490 Signed-off-by: Kyr Shatskyy <kyrylo.shatskyy@suse.com> (cherry picked from commit 07cc36d)
This is follow up change for: teuthology-suite: automate -t argument default value ceph/teuthology#1490 Signed-off-by: Kyr Shatskyy <kyrylo.shatskyy@suse.com>
This is follow up change for: teuthology-suite: automate -t argument default value ceph/teuthology#1490 Signed-off-by: Kyr Shatskyy <kyrylo.shatskyy@suse.com> (cherry picked from commit 07cc36d)
This is follow up change for: teuthology-suite: automate -t argument default value ceph/teuthology#1490 Signed-off-by: Kyr Shatskyy <kyrylo.shatskyy@suse.com> (cherry picked from commit 07cc36d)
This is follow up change for: teuthology-suite: automate -t argument default value ceph/teuthology#1490 Signed-off-by: Kyr Shatskyy <kyrylo.shatskyy@suse.com>
This change is required to determine which teuthology
branch should be used for scheduling a run for the
given ceph branch.
In order to enable the functionality of this patch we need
submit and merge
qa/.teuthology
to cephmaster
with following content:
And add to
/etc/teuthology.yaml
on sepia server the lineObviously, all users have to update their teuthology sandboxes.
As far as other branches