[wip] mgr/cephadm: Add host draining#34617
[wip] mgr/cephadm: Add host draining#34617sebastian-philipp wants to merge 2 commits intoceph:masterfrom
Conversation
37f1a4e to
79f912f
Compare
| names = ', '.join(daemons_on_host.keys()) | ||
| s = f'Daemons still on host `{host}`: {names}\n' | ||
| s += 'Please remove all daemons from this host, before removing the host.\n' | ||
| s += '(Add --force to ignore this message)' |
There was a problem hiding this comment.
There would still be daemons running on the host that are reporting to the cluster. Forcefully removing the host takes away your ability to remove these daemons. Not sure if that's the right move.
A --force should also imply a de-registration of these daemons from the cluster.
Not sure how this is done with the tools we have, but I wanted to raise awareness of this.
There was a problem hiding this comment.
yeah, my idea was to add a ceph orch drain host0 that marks the host as _drain and then let serve() drain the host.
| if any([host == h.hostname for h in placement.hosts]): | ||
| s = f'Service {name} still specifies its placement to be on host `{host}`\n' | ||
| s += 'Please alter the placement specification, before removing the host.\n' | ||
| s += '(Add --force to ignore this message)' |
There was a problem hiding this comment.
I see why we want to have a way to skip this, but here again, this may lead into chaos..
There was a problem hiding this comment.
maybe hint to ceph orch host drain would be helpful?
|
Some notes for better usability:
|
Signed-off-by: Sebastian Wagner <sebastian.wagner@suse.com>
Workflow is something like: ```bash ceph orch host rm myhost # fails with daemons still running ceph orch drain myhost # removes crash and node-exporter ceph orch rm daemon osd.7 ceph orch rm daemon mon.a ceph orch host rm myhost # succeeds ``` Signed-off-by: Sebastian Wagner <sebastian.wagner@suse.com>
79f912f to
0985f92
Compare
|
closing this for now. we need this, but right now, the scheduler is not there yet. |
Blocked by:
Workflow is something like:
Also:
host rm: Assert host is empty (+tests + cleanup of the tests)HostAssignmentto a new moduleChecklist
Show available Jenkins commands
jenkins retest this pleasejenkins test classic perfjenkins test crimson perfjenkins test signedjenkins test make checkjenkins test make check arm64jenkins test submodulesjenkins test dashboardjenkins test dashboard backendjenkins test docsjenkins render docsjenkins test ceph-volume alljenkins test ceph-volume tox