mirror of
https://git.proxmox.com/git/ceph.git
synced 2025-04-28 12:54:34 +00:00
nautilus: mgr/devicehealth: do not scrape mon devices
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
This commit is contained in:
parent
b57f552794
commit
529a05d218
@ -0,0 +1,55 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Sage Weil <sage@redhat.com>
|
||||
Date: Wed, 6 Nov 2019 15:17:53 -0600
|
||||
Subject: [PATCH] mgr/devicehealth: do not scrape mon devices
|
||||
|
||||
Disable this feature for nautilus because the tell mechanism for mons is
|
||||
not reliable. It works in master (octopus), so only disable this in
|
||||
the nautilus branch.
|
||||
|
||||
This (hopefully!) avoids problems with a hanging mgr that seem to occur
|
||||
right when devicehealth is trying to scrape mon devices.
|
||||
|
||||
Signed-off-by: Sage Weil <sage@redhat.com>
|
||||
(cherry picked from commit d592e56e74d94c6a05b9240fcb0031868acefbab)
|
||||
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
|
||||
---
|
||||
src/pybind/mgr/devicehealth/module.py | 9 ++++-----
|
||||
1 file changed, 4 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/src/pybind/mgr/devicehealth/module.py b/src/pybind/mgr/devicehealth/module.py
|
||||
index 2e14ca98a9..c277dde74e 100644
|
||||
--- a/src/pybind/mgr/devicehealth/module.py
|
||||
+++ b/src/pybind/mgr/devicehealth/module.py
|
||||
@@ -310,6 +310,8 @@ class Module(MgrModule):
|
||||
|
||||
def scrape_daemon(self, daemon_type, daemon_id):
|
||||
ioctx = self.open_connection()
|
||||
+ if daemon_type != 'osd':
|
||||
+ return -errno.EINVAL, '', 'scraping non-OSDs not currently supported'
|
||||
raw_smart_data = self.do_scrape_daemon(daemon_type, daemon_id)
|
||||
if raw_smart_data:
|
||||
for device, raw_data in raw_smart_data.items():
|
||||
@@ -326,9 +328,6 @@ class Module(MgrModule):
|
||||
ids = []
|
||||
for osd in osdmap['osds']:
|
||||
ids.append(('osd', str(osd['osd'])))
|
||||
- monmap = self.get("mon_map")
|
||||
- for mon in monmap['mons']:
|
||||
- ids.append(('mon', mon['name']))
|
||||
for daemon_type, daemon_id in ids:
|
||||
raw_smart_data = self.do_scrape_daemon(daemon_type, daemon_id)
|
||||
if not raw_smart_data:
|
||||
@@ -347,10 +346,10 @@ class Module(MgrModule):
|
||||
r = self.get("device " + devid)
|
||||
if not r or 'device' not in r.keys():
|
||||
return -errno.ENOENT, '', 'device ' + devid + ' not found'
|
||||
- daemons = r['device'].get('daemons', [])
|
||||
+ daemons = [d for d in r['device'].get('daemons', []) if not d.startswith('osd.')]
|
||||
if not daemons:
|
||||
return (-errno.EAGAIN, '',
|
||||
- 'device ' + devid + ' not claimed by any active daemons')
|
||||
+ 'device ' + devid + ' not claimed by any active OSD daemons')
|
||||
(daemon_type, daemon_id) = daemons[0].split('.')
|
||||
ioctx = self.open_connection()
|
||||
raw_smart_data = self.do_scrape_daemon(daemon_type, daemon_id,
|
@ -7,3 +7,4 @@
|
||||
0010-remove-legacy-init.d-ceph-script.patch
|
||||
0011-only-suggest-mgr-plugins.patch
|
||||
0012-os-bluestore-consolidate-extents-from-the-same-devic.patch
|
||||
0013-mgr-devicehealth-do-not-scrape-mon-devices.patch
|
||||
|
Loading…
Reference in New Issue
Block a user