Bug #44302
closedcehpadm: apply_mon: NotImplementedError
0%
Description
2020-02-25T17:09:39.919 INFO:teuthology.orchestra.run.smithi202.stderr:2020-02-25T17:09:39.916+0000 7f48cec61700 1 -- 172.21.15.202:0/1095025698 --> v2:172.21.15.202:6800/1 -- mgr_command(tid 0: {"prefix": "orch apply mon", "num": 2, "hosts": ["smithi202:[v2:172.21.15.202:3301,v1:172.21.15.202:6790]=c"], "target": ["mon-mgr", ""]}) v1 -- 0x7f48c8072980 con 0x7f48ac020d20 2020-02-25T17:09:39.921 INFO:teuthology.orchestra.run.smithi202.stderr:2020-02-25T17:09:39.919+0000 7f48be7fc700 1 -- 172.21.15.202:0/1095025698 <== mgr.14130 v2:172.21.15.202:6800/1 1 ==== mgr_command_reply(tid 0: -22 Traceback (most recent call last): 2020-02-25T17:09:39.921 INFO:teuthology.orchestra.run.smithi202.stderr: File "/usr/share/ceph/mgr/mgr_module.py", line 1070, in _handle_command 2020-02-25T17:09:39.921 INFO:teuthology.orchestra.run.smithi202.stderr: return self.handle_command(inbuf, cmd) 2020-02-25T17:09:39.922 INFO:teuthology.orchestra.run.smithi202.stderr: File "/usr/share/ceph/mgr/orchestrator/_interface.py", line 191, in handle_command 2020-02-25T17:09:39.922 INFO:teuthology.orchestra.run.smithi202.stderr: return dispatch[cmd['prefix']].call(self, cmd, inbuf) 2020-02-25T17:09:39.922 INFO:teuthology.orchestra.run.smithi202.stderr: File "/usr/share/ceph/mgr/mgr_module.py", line 309, in call 2020-02-25T17:09:39.922 INFO:teuthology.orchestra.run.smithi202.stderr: return self.func(mgr, **kwargs) 2020-02-25T17:09:39.922 INFO:teuthology.orchestra.run.smithi202.stderr: File "/usr/share/ceph/mgr/orchestrator/_interface.py", line 153, in <lambda> 2020-02-25T17:09:39.922 INFO:teuthology.orchestra.run.smithi202.stderr: wrapper_copy = lambda *l_args, **l_kwargs: wrapper(*l_args, **l_kwargs) 2020-02-25T17:09:39.922 INFO:teuthology.orchestra.run.smithi202.stderr: File "/usr/share/ceph/mgr/orchestrator/_interface.py", line 144, in wrapper 2020-02-25T17:09:39.922 INFO:teuthology.orchestra.run.smithi202.stderr: return func(*args, **kwargs) 2020-02-25T17:09:39.923 INFO:teuthology.orchestra.run.smithi202.stderr: File "/usr/share/ceph/mgr/orchestrator/module.py", line 688, in _apply_mon 2020-02-25T17:09:39.923 INFO:teuthology.orchestra.run.smithi202.stderr: completion = self.apply_mon(spec) 2020-02-25T17:09:39.923 INFO:teuthology.orchestra.run.smithi202.stderr: File "/usr/share/ceph/mgr/orchestrator/_interface.py", line 1718, in inner 2020-02-25T17:09:39.923 INFO:teuthology.orchestra.run.smithi202.stderr: completion = self._oremote(method_name, args, kwargs) 2020-02-25T17:09:39.923 INFO:teuthology.orchestra.run.smithi202.stderr: File "/usr/share/ceph/mgr/orchestrator/_interface.py", line 1788, in _oremote 2020-02-25T17:09:39.923 INFO:teuthology.orchestra.run.smithi202.stderr: return mgr.remote(o, meth, *args, **kwargs) 2020-02-25T17:09:39.923 INFO:teuthology.orchestra.run.smithi202.stderr: File "/usr/share/ceph/mgr/mgr_module.py", line 1432, in remote 2020-02-25T17:09:39.924 INFO:teuthology.orchestra.run.smithi202.stderr: args, kwargs) 2020-02-25T17:09:39.924 INFO:teuthology.orchestra.run.smithi202.stderr:RuntimeError: Remote method threw exception: Traceback (most recent call last): 2020-02-25T17:09:39.924 INFO:teuthology.orchestra.run.smithi202.stderr: File "/usr/share/ceph/mgr/orchestrator/_interface.py", line 1002, in apply_mon 2020-02-25T17:09:39.924 INFO:teuthology.orchestra.run.smithi202.stderr: raise NotImplementedError() 2020-02-25T17:09:39.924 INFO:teuthology.orchestra.run.smithi202.stderr:NotImplementedError
Updated by Sebastian Wagner about 4 years ago
- Related to Feature #44305: mgr/cephadm: Add support for removing MONs added
Updated by Sebastian Wagner about 4 years ago
- Status changed from New to Fix Under Review
Updated by Sage Weil about 4 years ago
- Priority changed from Immediate to Urgent
Updated by Sage Weil about 4 years ago
- Status changed from Fix Under Review to In Progress
- Assignee set to Sage Weil
From https://github.com/ceph/ceph/pull/33548#issuecomment-591443581
I removed apply_mon because simply reusing _apply_service wasn't sufficient. IMO this needs to do a few more things:
- before removing a mon, verify that stopping+removing it won't break quorum, or else error out
- before removing each mon, 'ceph mon rm $monid' to remove it from the map.
both of those should probably go in the remove_daemon code so that the same checks apply to 'ceph orch daemon rm'?
- maybe: pause between adding and removing to make sure the new mons have come up. this may take some time, though, so perhaps it should just wait the remove step if it breaks quorum, and try again later (this may be blocked by the persistent apply specs?)
- on the removal step, should it pass --force to delete the data? this makes me nervous.
- allow 'apply mon' to do something reasonable even if no network spec is passed, so that it will work with a simple 'ceph orch apply mon 5'. we can probably (1) check for a public_network setting, and if so use that, else (2) assume that the main IP for the host is okay (DNS resolve/use the HostSpec addr). until we get this final item we don't actually have parity with rook...
Updated by Sage Weil about 4 years ago
- Status changed from In Progress to Fix Under Review
- Pull request ID changed from 33548 to 33792
Updated by Sage Weil about 4 years ago
- Status changed from Fix Under Review to Resolved