]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
api/lvm: add get_lv_by_osd_id method
authorJan Fajerski <jfajerski@suse.com>
Wed, 11 Dec 2019 12:17:19 +0000 (13:17 +0100)
committerJan Fajerski <jfajerski@suse.com>
Tue, 11 Feb 2020 14:40:57 +0000 (15:40 +0100)
Signed-off-by: Jan Fajerski <jfajerski@suse.com>
(cherry picked from commit 2558b55b0ecbcc83acccbf8412c19f01e8dafb3e)

src/ceph-volume/ceph_volume/api/lvm.py

index c1a30ea51febdfc10dfe16045b21ee88c1f0a9d4..4e37e3f65804bd379d3d763adcfef1b1dad1e507 100644 (file)
@@ -1257,6 +1257,15 @@ def get_lv_by_name(name):
     lvs = _output_parser(stdout, LV_FIELDS)
     return [Volume(**lv) for lv in lvs]
 
+def get_lvs_by_tag(lv_tag):
+    stdout, stderr, returncode = process.call(
+        ['lvs', '--noheadings', '--separator=";"', '-a', '-o', LV_FIELDS, '-S',
+         'lv_tags={{{}}}'.format(lv_tag)],
+        verbose_on_failure=False
+    )
+    lvs = _output_parser(stdout, LV_FIELDS)
+    return [Volume(**lv) for lv in lvs]
+
 def get_lv(lv_name=None, vg_name=None, lv_path=None, lv_uuid=None, lv_tags=None, lvs=None):
     """
     Return a matching lv for the current system, requiring ``lv_name``,