From 7b19cafe7e31327d9a40399a28e6c4867edb4b01 Mon Sep 17 00:00:00 2001 From: Sebastian Wagner Date: Fri, 17 Apr 2020 14:44:52 +0200 Subject: [PATCH] mgr/cephadm: unified add_daemon tests Signed-off-by: Sebastian Wagner (cherry picked from commit 8eaadfe61290e9126ec7c3a0be291b146d5dc537) --- src/pybind/mgr/cephadm/tests/test_cephadm.py | 90 +++++--------------- 1 file changed, 19 insertions(+), 71 deletions(-) diff --git a/src/pybind/mgr/cephadm/tests/test_cephadm.py b/src/pybind/mgr/cephadm/tests/test_cephadm.py index 8ec138c68e741..da404182f4359 100644 --- a/src/pybind/mgr/cephadm/tests/test_cephadm.py +++ b/src/pybind/mgr/cephadm/tests/test_cephadm.py @@ -360,28 +360,6 @@ class TestCephadm(object): out = wait(cephadm_module, c) assert out == set() - - @mock.patch("cephadm.module.CephadmOrchestrator._run_cephadm", _run_cephadm('{}')) - def test_mds(self, cephadm_module): - with self._with_host(cephadm_module, 'test'): - ps = PlacementSpec(hosts=['test'], count=1) - c = cephadm_module.add_mds(ServiceSpec('mds', 'name', placement=ps)) - [out] = wait(cephadm_module, c) - match_glob(out, "Deployed mds.name.* on host 'test'") - - assert_rm_daemon(cephadm_module, 'mds.name', 'test') - - @mock.patch("cephadm.module.CephadmOrchestrator._run_cephadm", _run_cephadm('{}')) - def test_rgw(self, cephadm_module): - - with self._with_host(cephadm_module, 'test'): - ps = PlacementSpec(hosts=['test'], count=1) - c = cephadm_module.add_rgw(RGWSpec(rgw_realm='realm', rgw_zone='zone', placement=ps)) - [out] = wait(cephadm_module, c) - match_glob(out, "Deployed rgw.realm.zone.* on host 'test'") - - assert_rm_daemon(cephadm_module, 'rgw.realm.zone', 'test') - @mock.patch("cephadm.module.CephadmOrchestrator._run_cephadm", _run_cephadm('{}')) def test_rgw_update(self, cephadm_module): with self._with_host(cephadm_module, 'host1'): @@ -418,15 +396,29 @@ class TestCephadm(object): out = wait(cephadm_module, c) assert out == ["Removed rgw.myrgw.myhost.myid from host 'test'"] + @pytest.mark.parametrize( + "spec, meth", + [ + (ServiceSpec('crash'), CephadmOrchestrator.add_crash), + (ServiceSpec('prometheus'), CephadmOrchestrator.add_prometheus), + (ServiceSpec('grafana'), CephadmOrchestrator.add_grafana), + (ServiceSpec('node-exporter'), CephadmOrchestrator.add_node_exporter), + (ServiceSpec('alertmanager'), CephadmOrchestrator.add_alertmanager), + (ServiceSpec('rbd-mirror'), CephadmOrchestrator.add_rbd_mirror), + (ServiceSpec('mds', service_id='fsname'), CephadmOrchestrator.add_mds), + (RGWSpec(rgw_realm='realm', rgw_zone='zone'), CephadmOrchestrator.add_rgw), + ] + ) @mock.patch("cephadm.module.CephadmOrchestrator._run_cephadm", _run_cephadm('{}')) - def test_rbd_mirror(self, cephadm_module): + def test_daemon_add(self, spec: ServiceSpec, meth, cephadm_module): with self._with_host(cephadm_module, 'test'): - ps = PlacementSpec(hosts=['test'], count=1) - c = cephadm_module.add_rbd_mirror(ServiceSpec('rbd-mirror', placement=ps)) + spec.placement = PlacementSpec(hosts=['test'], count=1) + + c = meth(cephadm_module, spec) [out] = wait(cephadm_module, c) - match_glob(out, "Deployed rbd-mirror.* on host 'test'") + match_glob(out, f"Deployed {spec.service_name()}.* on host 'test'") - assert_rm_daemon(cephadm_module, 'rbd-mirror.test', 'test') + assert_rm_daemon(cephadm_module, spec.service_name(), 'test') @mock.patch("cephadm.module.CephadmOrchestrator._run_cephadm", _run_cephadm('{}')) @mock.patch("cephadm.module.CephadmOrchestrator.rados", mock.MagicMock()) @@ -461,50 +453,6 @@ class TestCephadm(object): # automatically. assert_rm_service(cephadm_module, 'iscsi.name') - @mock.patch("cephadm.module.CephadmOrchestrator._run_cephadm", _run_cephadm('{}')) - def test_prometheus(self, cephadm_module): - with self._with_host(cephadm_module, 'test'): - ps = PlacementSpec(hosts=['test'], count=1) - - c = cephadm_module.add_prometheus(ServiceSpec('prometheus', placement=ps)) - [out] = wait(cephadm_module, c) - match_glob(out, "Deployed prometheus.* on host 'test'") - - assert_rm_daemon(cephadm_module, 'prometheus.test', 'test') - - @mock.patch("cephadm.module.CephadmOrchestrator._run_cephadm", _run_cephadm('{}')) - def test_node_exporter(self, cephadm_module): - with self._with_host(cephadm_module, 'test'): - ps = PlacementSpec(hosts=['test'], count=1) - - c = cephadm_module.add_node_exporter(ServiceSpec('node-exporter', placement=ps)) - [out] = wait(cephadm_module, c) - match_glob(out, "Deployed node-exporter.* on host 'test'") - - assert_rm_daemon(cephadm_module, 'node-exporter.test', 'test') - - @mock.patch("cephadm.module.CephadmOrchestrator._run_cephadm", _run_cephadm('{}')) - def test_grafana(self, cephadm_module): - with self._with_host(cephadm_module, 'test'): - ps = PlacementSpec(hosts=['test'], count=1) - - c = cephadm_module.add_grafana(ServiceSpec('grafana', placement=ps)) - [out] = wait(cephadm_module, c) - match_glob(out, "Deployed grafana.* on host 'test'") - - assert_rm_daemon(cephadm_module, 'grafana.test', 'test') - - @mock.patch("cephadm.module.CephadmOrchestrator._run_cephadm", _run_cephadm('{}')) - def test_alertmanager(self, cephadm_module): - with self._with_host(cephadm_module, 'test'): - ps = PlacementSpec(hosts=['test'], count=1) - - c = cephadm_module.add_alertmanager(ServiceSpec('alertmanager', placement=ps)) - [out] = wait(cephadm_module, c) - match_glob(out, "Deployed alertmanager.* on host 'test'") - - assert_rm_daemon(cephadm_module, 'alertmanager.test', 'test') - @mock.patch("cephadm.module.CephadmOrchestrator._run_cephadm", _run_cephadm('{}')) def test_blink_device_light(self, cephadm_module): with self._with_host(cephadm_module, 'test'): -- 2.39.5