fix_rbd_showmapped_mimic.patch 1.13 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
From fa9a8fc141334b176380370b9622a28ad4a066fb Mon Sep 17 00:00:00 2001
From: Ansgar Jazdzewski <ajaz@spreadshirt.net>
Date: Tue, 19 Feb 2019 10:31:07 +0100
Subject: [PATCH] fix 'rbd showmapped' for ceph mimic
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

The json ouput changed from list to dict
* http://docs.ceph.com/docs/master/releases/mimic/ - The rbd CLI’s
showmapped JSON and XML output has changed.)
---
 lib/storage/bdev.py | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/lib/storage/bdev.py b/lib/storage/bdev.py
index c7d5f3b6d..7aa09cee6 100644
--- a/lib/storage/bdev.py
+++ b/lib/storage/bdev.py
@@ -1064,8 +1064,12 @@ def _ParseRbdShowmappedJson(output, volume_pool, volume_name):
     except ValueError, err:
       base.ThrowError("Unable to parse JSON data: %s" % err)
 
+    # since ceph mimic the json output changed from dict to list
+    if isinstance(devices, dict):
+      devices = devices.values()
+
     rbd_dev = None
-    for d in devices.values(): # pylint: disable=E1103
+    for d in devices:
       try:
         name = d["name"]
       except KeyError: