-
Notifications
You must be signed in to change notification settings - Fork 295
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
DNM: Multi-OS locking #1051
base: main
Are you sure you want to change the base?
DNM: Multi-OS locking #1051
Conversation
Signed-off-by: Zack Cerza <[email protected]>
A little pre-overhaul refactor... Signed-off-by: Zack Cerza <[email protected]>
Instead of either not specifying an OS type/version and just getting what's available - or requesting the same OS type/version for all nodes in the job, allow requesting arbitrary mixes of OSes. The path forward is going to be replacing things like: roles: - ['osd.0', 'mon.a'] - ['osd.1', 'osd.2] - ['client.0'] With things like: nodes: - os_type: ubuntu os_version: '16.04' roles: ['osd.0', 'mon.a'] - os_type: ubuntu os_version: '14.04' roles: ['osd.1', 'osd.2] - os_type: centos os_version: '7.3' roles: ['client.0'] Signed-off-by: Zack Cerza <[email protected]>
We used to use the 'targets' object to make remotes to roles. This worked fine before multi-OS locking, but broke down because of the unordered nature of dicts. Signed-off-by: Zack Cerza <[email protected]>
assert 'targets' not in config, target_conflict_msg | ||
if lock and 'roles' in config: | ||
if 'nodes' in config: | ||
log.warn( |
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 we should exit here, It would be a user error to have both and fix them to use only one format
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'd be open to that
I would like to have a documentation update of how this feature looks from user point of view, 'node' format and use cases. |
If someone took over where @zmc left off and landed this feature, that would be a huge accomplishment IMO. This feature is sorely missing in teuthology. |
@vasukulkarni @zmc I'm looking into this PR, did you have any suite for testing this already? |
https://tracker.ceph.com/issues/43612#note-2 (agree with you @kshtsk ) |
I've been working on this for the last few days and it's close - but it needs more testing before it's merged.