From e387c3a21db5a5b2a38de7e89540d3f88dcd0633 Mon Sep 17 00:00:00 2001 From: catborise Date: Fri, 20 Jul 2018 14:04:13 +0300 Subject: [PATCH] Host gets list of all storages active/inactive. If there is some inactive storages it gives error. But it coulde be inactive. It is normal. Changing the behaviour of getting list of storages. --- create/views.py | 2 +- vrtManager/connection.py | 7 ++++--- vrtManager/create.py | 6 ++---- vrtManager/instance.py | 4 ++-- 4 files changed, 9 insertions(+), 10 deletions(-) diff --git a/create/views.py b/create/views.py index 24b9024..d2c55d6 100644 --- a/create/views.py +++ b/create/views.py @@ -37,7 +37,7 @@ def create_instance(request, compute_id): compute.password, compute.type) - storages = sorted(conn.get_storages()) + storages = sorted(conn.get_storages(only_actives=True)) networks = sorted(conn.get_networks()) instances = conn.get_instances() cache_modes = sorted(conn.get_cache_modes().items()) diff --git a/vrtManager/connection.py b/vrtManager/connection.py index 2c4f6f2..f3a275c 100644 --- a/vrtManager/connection.py +++ b/vrtManager/connection.py @@ -356,12 +356,13 @@ class wvmConnect(object): """Return KVM capabilities.""" return util.is_kvm_available(self.get_cap_xml()) - def get_storages(self): + def get_storages(self, only_actives=False): storages = [] for pool in self.wvm.listStoragePools(): storages.append(pool) - for pool in self.wvm.listDefinedStoragePools(): - storages.append(pool) + if not only_actives: + for pool in self.wvm.listDefinedStoragePools(): + storages.append(pool) return storages def get_networks(self): diff --git a/vrtManager/create.py b/vrtManager/create.py index 00f2d68..421fc4f 100644 --- a/vrtManager/create.py +++ b/vrtManager/create.py @@ -31,11 +31,9 @@ class wvmCreate(wvmConnect): Function return all images on all storages """ images = [] - storages = self.get_storages() + storages = self.get_storages(only_actives=True) for storage in storages: stg = self.get_storage(storage) - if not stg.isActive(): - continue try: stg.refresh(0) except: @@ -93,7 +91,7 @@ class wvmCreate(wvmConnect): return 'raw' def get_volume_path(self, volume): - storages = self.get_storages() + storages = self.get_storages(only_actives=True) for storage in storages: stg = self.get_storage(storage) if stg.info()[0] != 0: diff --git a/vrtManager/instance.py b/vrtManager/instance.py index 4dc3567..ea982c9 100644 --- a/vrtManager/instance.py +++ b/vrtManager/instance.py @@ -303,7 +303,7 @@ class wvmInstance(wvmConnect): disk.insert(2, src_media) return True - storages = self.get_storages() + storages = self.get_storages(only_actives=True) for storage in storages: stg = self.get_storage(storage) if stg.info()[0] != 0: @@ -597,7 +597,7 @@ class wvmInstance(wvmConnect): def get_iso_media(self): iso = [] - storages = self.get_storages() + storages = self.get_storages(only_actives=True) for storage in storages: stg = self.get_storage(storage) if stg.info()[0] != 0: