summaryrefslogtreecommitdiffstats
path: root/qa/tasks/cephadm_cases/test_cli.py
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 18:45:59 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 18:45:59 +0000
commit19fcec84d8d7d21e796c7624e521b60d28ee21ed (patch)
tree42d26aa27d1e3f7c0b8bd3fd14e7d7082f5008dc /qa/tasks/cephadm_cases/test_cli.py
parentInitial commit. (diff)
downloadceph-upstream.tar.xz
ceph-upstream.zip
Adding upstream version 16.2.11+ds.upstream/16.2.11+dsupstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'qa/tasks/cephadm_cases/test_cli.py')
-rw-r--r--qa/tasks/cephadm_cases/test_cli.py63
1 files changed, 63 insertions, 0 deletions
diff --git a/qa/tasks/cephadm_cases/test_cli.py b/qa/tasks/cephadm_cases/test_cli.py
new file mode 100644
index 000000000..c4cab4901
--- /dev/null
+++ b/qa/tasks/cephadm_cases/test_cli.py
@@ -0,0 +1,63 @@
+import logging
+
+from tasks.mgr.mgr_test_case import MgrTestCase
+
+log = logging.getLogger(__name__)
+
+
+class TestCephadmCLI(MgrTestCase):
+ def _cmd(self, *args) -> str:
+ assert self.mgr_cluster is not None
+ return self.mgr_cluster.mon_manager.raw_cluster_cmd(*args)
+
+ def _orch_cmd(self, *args) -> str:
+ return self._cmd("orch", *args)
+
+ def setUp(self):
+ super(TestCephadmCLI, self).setUp()
+
+ def test_yaml(self):
+ """
+ to prevent oddities like
+
+ >>> import yaml
+ ... from collections import OrderedDict
+ ... assert yaml.dump(OrderedDict()) == '!!python/object/apply:collections.OrderedDict\\n- []\\n'
+ """
+ out = self._orch_cmd('device', 'ls', '--format', 'yaml')
+ self.assertNotIn('!!python', out)
+
+ out = self._orch_cmd('host', 'ls', '--format', 'yaml')
+ self.assertNotIn('!!python', out)
+
+ out = self._orch_cmd('ls', '--format', 'yaml')
+ self.assertNotIn('!!python', out)
+
+ out = self._orch_cmd('ps', '--format', 'yaml')
+ self.assertNotIn('!!python', out)
+
+ out = self._orch_cmd('status', '--format', 'yaml')
+ self.assertNotIn('!!python', out)
+
+ def test_pause(self):
+ self._orch_cmd('pause')
+ self.wait_for_health('CEPHADM_PAUSED', 60)
+ self._orch_cmd('resume')
+ self.wait_for_health_clear(60)
+
+ def test_daemon_restart(self):
+ self._orch_cmd('daemon', 'stop', 'osd.0')
+ self.wait_for_health('OSD_DOWN', 60)
+ self._orch_cmd('daemon', 'start', 'osd.0')
+ self.wait_for_health_clear(120)
+ self._orch_cmd('daemon', 'restart', 'osd.0')
+
+ def test_device_ls_wide(self):
+ self._orch_cmd('device', 'ls', '--wide')
+
+ def test_cephfs_mirror(self):
+ self._orch_cmd('apply', 'cephfs-mirror')
+ self.wait_until_true(lambda: 'cephfs-mirror' in self._orch_cmd('ps'), 60)
+ self.wait_for_health_clear(60)
+ self._orch_cmd('rm', 'cephfs-mirror')
+ self.wait_until_true(lambda: 'cephfs-mirror' not in self._orch_cmd('ps'), 60)