rbd-mirror rm ⚪ ⚪ ⚪ ⚪
rbd-mirror update ⚪ ⚪ ⚪ ⚪
rgw add ✔ ✔ ⚪ ✔
- rgw rm â\9c\94 â\9c\94 â\9aª â\9aª
+ rgw rm â\9c\94 â\9c\94 â\9aª â\9c\94
rgw update ⚪ ⚪ ⚪ ⚪
=================================== ========= ====== ========= =====
return HandleCommandResult(stdout=completion.result_str())
@_write_cli('orchestrator rgw rm',
- "name=svc_id,type=CephString",
+ "name=name,type=CephString",
'Remove an RGW service')
- def _rgw_rm(self, svc_id):
- completion = self.remove_rgw(svc_id)
+ def _rgw_rm(self, name):
+ completion = self.remove_rgw(name)
self._orchestrator_wait([completion])
orchestrator.raise_if_exception(completion)
return HandleCommandResult(stdout=completion.result_str())
'osd', 'allow rwx'],
})
return self._create_daemon('rgw', rgw_id, host, keyring)
+
+ def remove_rgw(self, name):
+ daemons = self._get_services('rgw')
+ results = []
+ for d in daemons:
+ if d.service_instance == name or d.service_instance.startswith(name + '-'):
+ results.append(self._worker_pool.apply_async(
+ self._remove_rgw, (d.service_instance, d.nodename)))
+ if not results:
+ raise RuntimeError('Unable to find rgw.%s[-*] daemon(s)' % name)
+ return SSHWriteCompletion(results)
+
+ def _remove_rgw(self, rgw_id, host):
+ name = 'rgw.' + rgw_id
+ out, code = self._run_ceph_daemon(
+ host, name, 'rm-daemon',
+ ['--name', name])
+ self.log.debug('remove_rgw code %s out %s' % (code, out))
+ return "Removed {} from host '{}'".format(name, host)