]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mgr/cephadm:Unit tests updated to account for upgrades
authorPaul Cuzner <pcuzner@redhat.com>
Thu, 18 Feb 2021 03:09:27 +0000 (16:09 +1300)
committerSage Weil <sage@newdream.net>
Tue, 16 Mar 2021 12:56:17 +0000 (07:56 -0500)
Upgrades may change the config checks, so the tests now validate
that new checks and old bogus checks are handled correctly

Signed-off-by: Paul Cuzner <pcuzner@redhat.com>
(cherry picked from commit bf02fb98bb7159baa376010fa6daae0a3ebbddb2)

src/pybind/mgr/cephadm/tests/test_configchecks.py

index c24562aa945cbc69a67158948140776b2c4a5a01..c889b1ffde3fc046fffd7c70aafc928a226c1e24 100644 (file)
@@ -224,7 +224,7 @@ def mgr():
     mgr.cache.facts, mgr.cache.daemons, mgr.daemon_to_host = \
         generate_testdata(public_network='10.9.64.0/24', cluster_network='')
     mgr.module_option.update({
-        "config_checks_enabled": 'true',
+        "config_checks_enabled": True,
     })
     yield mgr
 
@@ -255,6 +255,7 @@ class FakeMgr:
         return self.datastore.get(keyname, None)
 
     def set_store(self, keyname: str, value: str) -> None:
+        self.datastore[keyname] = value
         return None
 
     def _ceph_get_server(self) -> None:
@@ -303,6 +304,37 @@ class FakeMgr:
 
 class TestConfigCheck:
 
+    def test_to_json(self, mgr):
+        checker = CephadmConfigChecks(mgr)
+        out = checker.to_json()
+        assert out
+        assert len(out) == len(checker.health_checks)
+
+    def test_old_checks_removed(self, mgr):
+        mgr.datastore.update({
+            "config_checks": '{"bogus_one": "enabled", "bogus_two": "enabled", '
+                             '"kernel_security": "enabled", "public_network": "enabled", '
+                             '"kernel_version": "enabled", "network_missing": "enabled", '
+                             '"osd_mtu_size": "enabled", "osd_linkspeed": "enabled", '
+                             '"os_subscription": "enabled", "ceph_release": "enabled"}'
+        })
+        checker = CephadmConfigChecks(mgr)
+        raw = mgr.get_store('config_checks')
+        checks = json.loads(raw)
+        assert "bogus_one" not in checks
+        assert "bogus_two" not in checks
+        assert len(checks) == len(checker.health_checks)
+
+    def test_new_checks(self, mgr):
+        mgr.datastore.update({
+            "config_checks": '{"kernel_security": "enabled", "public_network": "enabled", '
+                             '"osd_mtu_size": "enabled", "osd_linkspeed": "enabled"}'
+        })
+        checker = CephadmConfigChecks(mgr)
+        raw = mgr.get_store('config_checks')
+        checks = json.loads(raw)
+        assert len(checks) == len(checker.health_checks)
+
     def test_no_issues(self, mgr):
         checker = CephadmConfigChecks(mgr)
         checker.cluster_network_list = []