From: Alfredo Deza Date: Mon, 17 Jul 2017 19:19:05 +0000 (-0400) Subject: ceph-volume: lvm.api: add parse_tags for VolumeGroup, cleanup json loads X-Git-Tag: ses5-milestone10~3^2~5^2~35 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=a774c8d475d485220db8060a8bdf1b4f6d80372f;p=ceph.git ceph-volume: lvm.api: add parse_tags for VolumeGroup, cleanup json loads Signed-off-by: Alfredo Deza --- diff --git a/src/ceph-volume/ceph_volume/devices/lvm/api.py b/src/ceph-volume/ceph_volume/devices/lvm/api.py index 68f44792fb96..8ff2faf4d60e 100644 --- a/src/ceph-volume/ceph_volume/devices/lvm/api.py +++ b/src/ceph-volume/ceph_volume/devices/lvm/api.py @@ -75,7 +75,7 @@ def get_api_vgs(): 'sudo', 'vgs', '--reportformat=json' ] ) - report = json.loads(b''.join(stdout).decode('utf-8')) + report = json.loads(''.join(stdout)) for report_item in report.get('report', []): # is it possible to get more than one item in "report" ? return report_item['vg'] @@ -113,7 +113,7 @@ def get_api_lvs(): """ stdout, stderr, returncode = process.call( ['sudo', 'lvs', '-o', 'lv_tags,lv_path,lv_name,vg_name', '--reportformat=json']) - report = json.loads(b''.join(stdout).decode('utf-8')) + report = json.loads(''.join(stdout)) for report_item in report.get('report', []): # is it possible to get more than one item in "report" ? return report_item['lv'] @@ -301,10 +301,7 @@ class VolumeGroups(list): # this is probably never going to happen, but it is here to keep # the API code consistent raise MultipleVGsError(vg_name) - try: - return vgs[0] - except IndexError: - return None + return vgs[0] class Volumes(list): @@ -408,10 +405,7 @@ class Volumes(list): return None if len(lvs) > 1: raise MultipleLVsError(lv_name, lv_path) - try: - return lvs[0] - except IndexError: - return None + return lvs[0] class VolumeGroup(object): @@ -423,6 +417,7 @@ class VolumeGroup(object): for k, v in kw.items(): setattr(self, k, v) self.name = kw['vg_name'] + self.tags = parse_tags(kw.get('vg_tags', '')) def __str__(self): return '<%s>' % self.name