]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mgr/devicehealth: add 'device monitoring {on,off}' commands
authorSage Weil <sage@redhat.com>
Sat, 18 Aug 2018 12:41:44 +0000 (07:41 -0500)
committerSage Weil <sage@redhat.com>
Sun, 26 Aug 2018 20:28:07 +0000 (15:28 -0500)
Signed-off-by: Sage Weil <sage@redhat.com>
src/pybind/mgr/devicehealth/module.py

index 937cab3d66d2ff0a6cffbc8f213f9c01dc7bc8e6..ac7fa7a0ed2f7e9e10afffbf7b9c27c51d15ae44 100644 (file)
@@ -78,6 +78,16 @@ class Module(MgrModule):
             "desc": "Check life expectancy of devices",
             "perm": "rw",
         },
+        {
+            "cmd": "device monitoring on",
+            "desc": "Enable device health monitoring",
+            "perm": "rw",
+        },
+        {
+            "cmd": "device monitoring off",
+            "desc": "Disable device health monitoring",
+            "perm": "rw",
+        },
     ]
 
     def __init__(self, *args, **kwargs):
@@ -120,6 +130,14 @@ class Module(MgrModule):
             return self.show_device_metrics(cmd['devid'], cmd.get('sample'))
         elif cmd['prefix'] == 'device check-health':
             return self.check_health()
+        elif cmd['prefix'] == 'device monitoring on':
+            self.set_config('enable_monitoring', 'true')
+            self.event.set()
+            return 0, '', ''
+        elif cmd['prefix'] == 'device monitoring off':
+            self.set_config('enable_monitoring', 'false')
+            self.set_health_checks({})  # avoid stuck health alerts
+            return 0, '', ''
         else:
             # mgr should respect our self.COMMANDS and not call us for
             # any prefix we don't advertise