@@ -97,9 +97,18 @@ def setUpCloudStack(cls):
9797
9898 zone = config .zones [0 ]
9999 assert zone is not None
100- cls .zone = list_zones (cls .apiclient , name = zone .name )[0 ]
101100
102- cls .hostConfig = cls .config .__dict__ ["zones" ][0 ].__dict__ ["pods" ][0 ].__dict__ ["clusters" ][0 ].__dict__ ["hosts" ][0 ].__dict__
101+ storage_pools = zone .primaryStorages
102+ sp_pools = []
103+ for storage in storage_pools :
104+ if storage ['provider' ] and "StorPool" in storage ['provider' ]:
105+ sp_pools .append (storage )
106+
107+ if len (sp_pools ) < 2 :
108+ cls .debug ("Cannot perform the tests because there aren't the required count of StorPool storage pools %s" % sp_pools )
109+ return
110+
111+ cls .zone = list_zones (cls .apiclient , name = zone .name )[0 ]
103112
104113 cls .spapi = spapi .Api (host = zone .spEndpoint , port = zone .spEndpointPort , auth = zone .spAuthToken , multiCluster = True )
105114 cls .helper = StorPoolHelper ()
@@ -118,124 +127,56 @@ def setUpCloudStack(cls):
118127 td = TestData ()
119128 cls .testdata = td .testdata
120129
121- cls .sp_template_1 = "ssd"
122- storpool_primary_storage = {
123- "name" : cls .sp_template_1 ,
124- "zoneid" : cls .zone .id ,
125- "url" : "SP_API_HTTP=%s:%s;SP_AUTH_TOKEN=%s;SP_TEMPLATE=%s" % (zone .spEndpoint , zone .spEndpointPort , zone .spAuthToken , cls .sp_template_1 ),
126- "scope" : "zone" ,
127- "capacitybytes" : 564325555333 ,
128- "capacityiops" : 155466 ,
129- "hypervisor" : "kvm" ,
130- "provider" : "StorPool" ,
131- "tags" : cls .sp_template_1
132- }
133-
134- cls .storpool_primary_storage = storpool_primary_storage
130+ storpool_primary_storage = sp_pools [0 ]
131+ cls .template_name = storpool_primary_storage ["name" ]
135132
136133 storage_pool = list_storage_pools (
137134 cls .apiclient ,
138- name = storpool_primary_storage ["name" ]
139- )
140-
135+ name = cls .template_name
136+ )
141137 if storage_pool is None :
142- newTemplate = sptypes .VolumeTemplateCreateDesc (name = storpool_primary_storage ["name" ], placeAll = "virtual" ,
143- placeTail = "virtual" , placeHead = "virtual" , replication = 1 )
144- template_on_local = cls .spapi .volumeTemplateCreate (newTemplate )
145-
146138 storage_pool = StoragePool .create (cls .apiclient , storpool_primary_storage )
147139 else :
148140 storage_pool = storage_pool [0 ]
149- cls .primary_storage = storage_pool
141+ cls .storage_pool = storage_pool
142+ cls .helper .updateStoragePoolTags (cls .apiclient , cls .storage_pool .id , cls .testdata [TestData .sp_template_1 ]["tags" ])
150143
151- storpool_service_offerings_ssd = {
152- "name" : "ssd-encrypted" ,
153- "displaytext" : "SP_CO_2 (Min IOPS = 10,000; Max IOPS = 15,000)" ,
154- "cpunumber" : 1 ,
155- "cpuspeed" : 500 ,
156- "memory" : 512 ,
157- "storagetype" : "shared" ,
158- "customizediops" : False ,
159- "hypervisorsnapshotreserve" : 200 ,
160- "encryptroot" : True ,
161- "tags" : cls .sp_template_1
162- }
144+ cls .debug (pprint .pformat (storage_pool ))
163145
164- service_offerings_ssd = list_service_offering (
165- cls .apiclient ,
166- name = storpool_service_offerings_ssd ["name" ]
167- )
146+ cls .primary_storage = storage_pool
168147
169- if service_offerings_ssd is None :
170- service_offerings_ssd = ServiceOffering .create (cls .apiclient , storpool_service_offerings_ssd , encryptroot = True )
171- else :
172- service_offerings_ssd = service_offerings_ssd [0 ]
148+ storpool_primary_storage = sp_pools [1 ]
149+ cls .template_name = storpool_primary_storage ["name" ]
173150
174- cls .service_offering = service_offerings_ssd
175- cls .debug (pprint .pformat (cls .service_offering ))
176-
177- cls .sp_template_2 = "ssd2"
178-
179- storpool_primary_storage2 = {
180- "name" : cls .sp_template_2 ,
181- "zoneid" : cls .zone .id ,
182- "url" : "SP_API_HTTP=%s:%s;SP_AUTH_TOKEN=%s;SP_TEMPLATE=%s" % (zone .spEndpoint , zone .spEndpointPort , zone .spAuthToken , cls .sp_template_2 ),
183- "scope" : "zone" ,
184- "capacitybytes" : 564325555333 ,
185- "capacityiops" : 1554 ,
186- "hypervisor" : "kvm" ,
187- "provider" : "StorPool" ,
188- "tags" : cls .sp_template_2
189- }
190-
191- cls .storpool_primary_storage2 = storpool_primary_storage2
192151 storage_pool = list_storage_pools (
193152 cls .apiclient ,
194- name = storpool_primary_storage2 ["name" ]
195- )
196-
153+ name = cls .template_name
154+ )
197155 if storage_pool is None :
198- newTemplate = sptypes .VolumeTemplateCreateDesc (name = storpool_primary_storage2 ["name" ], placeAll = "virtual" ,
199- placeTail = "virtual" , placeHead = "virtual" , replication = 1 )
200- template_on_local = cls .spapi .volumeTemplateCreate (newTemplate )
201- storage_pool = StoragePool .create (cls .apiclient , storpool_primary_storage2 )
202-
156+ storage_pool = StoragePool .create (cls .apiclient , storpool_primary_storage )
203157 else :
204158 storage_pool = storage_pool [0 ]
205- cls .primary_storage2 = storage_pool
159+ cls .storage_pool = storage_pool
160+ cls .helper .updateStoragePoolTags (cls .apiclient , cls .storage_pool .id , cls .testdata [TestData .sp_template_2 ]["tags" ])
206161
207- storpool_service_offerings_ssd2 = {
208- "name" : "ssd2-encrypted" ,
209- "displaytext" : "SP_CO_2" ,
210- "cpunumber" : 1 ,
211- "cpuspeed" : 500 ,
212- "memory" : 512 ,
213- "storagetype" : "shared" ,
214- "customizediops" : False ,
215- "encryptroot" : True ,
216- "tags" : cls .sp_template_2
217- }
218-
219- service_offerings_ssd2 = list_service_offering (
220- cls .apiclient ,
221- name = storpool_service_offerings_ssd2 ["name" ]
222- )
162+ cls .debug (pprint .pformat (storage_pool ))
223163
224- if service_offerings_ssd2 is None :
225- service_offerings_ssd2 = ServiceOffering .create (cls .apiclient , storpool_service_offerings_ssd2 , encryptroot = True )
226- else :
227- service_offerings_ssd2 = service_offerings_ssd2 [0 ]
164+ cls .primary_storage2 = storage_pool
228165
229- cls . service_offering2 = service_offerings_ssd2
166+ storpool_service_offerings_ssd = cls . testdata [ TestData . serviceOfferingEncrypted ]
230167
231- cls . disk_offerings_ssd2_encrypted = list_disk_offering (
168+ service_offerings_ssd = list_service_offering (
232169 cls .apiclient ,
233- name = cls . testdata [ TestData . diskOfferingEncrypted2 ] ["name" ]
170+ name = storpool_service_offerings_ssd ["name" ]
234171 )
235- if cls .disk_offerings_ssd2_encrypted is None :
236- cls .disk_offerings_ssd2_encrypted = DiskOffering .create (cls .apiclient , cls .testdata [TestData .diskOfferingEncrypted2 ], encrypt = True )
172+
173+ if service_offerings_ssd is None :
174+ service_offerings_ssd = ServiceOffering .create (cls .apiclient , storpool_service_offerings_ssd , encryptroot = True )
237175 else :
238- cls .disk_offerings_ssd2_encrypted = cls .disk_offerings_ssd2_encrypted [0 ]
176+ service_offerings_ssd = service_offerings_ssd [0 ]
177+
178+ cls .service_offering = service_offerings_ssd
179+ cls .debug (pprint .pformat (cls .service_offering ))
239180
240181 cls .disk_offering_ssd_encrypted = list_disk_offering (
241182 cls .apiclient ,
0 commit comments