mirror of
https://github.com/ceph/ceph
synced 2025-04-11 04:02:04 +00:00
mgr/cephadm: nfs: add purge
Remove the grace object if we purge the service. Signed-off-by: Sage Weil <sage@newdream.net>
This commit is contained in:
parent
51f0dedbbb
commit
15bdaa74b5
@ -270,3 +270,25 @@ class NFSService(CephService):
|
||||
# Provide warning
|
||||
warn_message = "WARNING: Removing NFS daemons can cause clients to lose connectivity. "
|
||||
return HandleCommandResult(-errno.EBUSY, '', warn_message)
|
||||
|
||||
def purge(self, service_name: str) -> None:
|
||||
if service_name not in self.mgr.spec_store:
|
||||
return
|
||||
spec = cast(NFSServiceSpec, self.mgr.spec_store[service_name].spec)
|
||||
|
||||
logger.info(f'Removing grace file for {service_name}')
|
||||
cmd = [
|
||||
'rados',
|
||||
'-n', f"mgr.{self.mgr.get_mgr_id()}",
|
||||
'-k', str(self.mgr.get_ceph_option('keyring')),
|
||||
'-p', cast(str, spec.pool),
|
||||
]
|
||||
if spec.namespace:
|
||||
cmd += ['--namespace', spec.namespace]
|
||||
cmd += ['rm', 'grace']
|
||||
subprocess.run(
|
||||
cmd,
|
||||
stdout=subprocess.PIPE,
|
||||
stderr=subprocess.PIPE,
|
||||
timeout=10
|
||||
)
|
||||
|
@ -918,6 +918,8 @@ class TestCephadm(object):
|
||||
@mock.patch("cephadm.serve.CephadmServe._run_cephadm", _run_cephadm('{}'))
|
||||
@mock.patch("cephadm.services.nfs.NFSService.run_grace_tool", mock.MagicMock())
|
||||
@mock.patch("cephadm.services.nfs.NFSService.create_rados_config_obj", mock.MagicMock())
|
||||
@mock.patch("cephadm.services.nfs.NFSService.purge", mock.MagicMock())
|
||||
@mock.patch("subprocess.run", mock.MagicMock())
|
||||
def test_apply_save(self, spec: ServiceSpec, meth, cephadm_module: CephadmOrchestrator):
|
||||
with with_host(cephadm_module, 'test'):
|
||||
with with_service(cephadm_module, spec, meth, 'test'):
|
||||
|
Loading…
Reference in New Issue
Block a user