Codebase list cinder-tempest-plugin / 1907893
Merge "Wait for CG to be available before creating volume in the CG" Zuul authored 5 years ago Gerrit Code Review committed 5 years ago
1 changed file(s) with 65 addition(s) and 65 deletion(s). Raw diff Collapse all Expand all
7777 self.consistencygroups_adm_client.create_consistencygroup)
7878 cg = create_consistencygroup(volume_type['id'],
7979 name=cg_name)['consistencygroup']
80 vol_name = data_utils.rand_name("volume")
81 params = {'name': vol_name,
82 'volume_type': volume_type['id'],
83 'consistencygroup_id': cg['id'],
84 'size': CONF.volume.volume_size}
85
86 # Create volume
87 volume = self.admin_volume_client.create_volume(**params)['volume']
88
89 waiters.wait_for_volume_resource_status(self.admin_volume_client,
90 volume['id'], 'available')
91 self.consistencygroups_adm_client.wait_for_consistencygroup_status(
92 cg['id'], 'available')
93 self.assertEqual(cg_name, cg['name'])
80 self.consistencygroups_adm_client.wait_for_consistencygroup_status(
81 cg['id'], 'available')
82 self.assertEqual(cg_name, cg['name'])
83
84 # Create volume
85 vol_name = data_utils.rand_name("volume")
86 params = {'name': vol_name,
87 'volume_type': volume_type['id'],
88 'consistencygroup_id': cg['id'],
89 'size': CONF.volume.volume_size}
90
91 volume = self.admin_volume_client.create_volume(**params)['volume']
92 waiters.wait_for_volume_resource_status(self.admin_volume_client,
93 volume['id'], 'available')
9494
9595 # Get a given CG
9696 cg = self.consistencygroups_adm_client.show_consistencygroup(
121121 self.consistencygroups_adm_client.create_consistencygroup)
122122 cg = create_consistencygroup(volume_type['id'],
123123 name=cg_name)['consistencygroup']
124 vol_name = data_utils.rand_name("volume")
125 params = {'name': vol_name,
126 'volume_type': volume_type['id'],
127 'consistencygroup_id': cg['id'],
128 'size': CONF.volume.volume_size}
129
130 # Create volume
131 volume = self.admin_volume_client.create_volume(**params)['volume']
132 waiters.wait_for_volume_resource_status(self.admin_volume_client,
133 volume['id'], 'available')
134 self.consistencygroups_adm_client.wait_for_consistencygroup_status(
135 cg['id'], 'available')
136 self.assertEqual(cg_name, cg['name'])
124 self.consistencygroups_adm_client.wait_for_consistencygroup_status(
125 cg['id'], 'available')
126 self.assertEqual(cg_name, cg['name'])
127
128 # Create volume
129 vol_name = data_utils.rand_name("volume")
130 params = {'name': vol_name,
131 'volume_type': volume_type['id'],
132 'consistencygroup_id': cg['id'],
133 'size': CONF.volume.volume_size}
134 volume = self.admin_volume_client.create_volume(**params)['volume']
135 waiters.wait_for_volume_resource_status(self.admin_volume_client,
136 volume['id'], 'available')
137137
138138 # Create cgsnapshot
139139 cgsnapshot_name = data_utils.rand_name('cgsnapshot')
141141 self.consistencygroups_adm_client.create_cgsnapshot)
142142 cgsnapshot = create_cgsnapshot(cg['id'],
143143 name=cgsnapshot_name)['cgsnapshot']
144 self.consistencygroups_adm_client.wait_for_cgsnapshot_status(
145 cgsnapshot['id'], 'available')
146 self.assertEqual(cgsnapshot_name, cgsnapshot['name'])
144147 snapshots = self.os_admin.snapshots_v2_client.list_snapshots(
145148 detail=True)['snapshots']
146149 for snap in snapshots:
148151 waiters.wait_for_volume_resource_status(
149152 self.os_admin.snapshots_v2_client,
150153 snap['id'], 'available')
151 self.consistencygroups_adm_client.wait_for_cgsnapshot_status(
152 cgsnapshot['id'], 'available')
153 self.assertEqual(cgsnapshot_name, cgsnapshot['name'])
154154
155155 # Get a given CG snapshot
156156 cgsnapshot = self.consistencygroups_adm_client.show_cgsnapshot(
181181 self.consistencygroups_adm_client.create_consistencygroup)
182182 cg = create_consistencygroup(volume_type['id'],
183183 name=cg_name)['consistencygroup']
184 vol_name = data_utils.rand_name("volume")
185 params = {'name': vol_name,
186 'volume_type': volume_type['id'],
187 'consistencygroup_id': cg['id'],
188 'size': CONF.volume.volume_size}
189
190 # Create volume
191 volume = self.admin_volume_client.create_volume(**params)['volume']
192 waiters.wait_for_volume_resource_status(self.admin_volume_client,
193 volume['id'], 'available')
194 self.consistencygroups_adm_client.wait_for_consistencygroup_status(
195 cg['id'], 'available')
196 self.assertEqual(cg_name, cg['name'])
184 self.consistencygroups_adm_client.wait_for_consistencygroup_status(
185 cg['id'], 'available')
186 self.assertEqual(cg_name, cg['name'])
187
188 # Create volume
189 vol_name = data_utils.rand_name("volume")
190 params = {'name': vol_name,
191 'volume_type': volume_type['id'],
192 'consistencygroup_id': cg['id'],
193 'size': CONF.volume.volume_size}
194 volume = self.admin_volume_client.create_volume(**params)['volume']
195 waiters.wait_for_volume_resource_status(self.admin_volume_client,
196 volume['id'], 'available')
197197
198198 # Create cgsnapshot
199199 cgsnapshot_name = data_utils.rand_name('cgsnapshot')
201201 self.consistencygroups_adm_client.create_cgsnapshot)
202202 cgsnapshot = create_cgsnapshot(cg['id'],
203203 name=cgsnapshot_name)['cgsnapshot']
204 self.consistencygroups_adm_client.wait_for_cgsnapshot_status(
205 cgsnapshot['id'], 'available')
206 self.assertEqual(cgsnapshot_name, cgsnapshot['name'])
204207 snapshots = self.snapshots_client.list_snapshots(
205208 detail=True)['snapshots']
206209 for snap in snapshots:
207210 if volume['id'] == snap['volume_id']:
208211 waiters.wait_for_volume_resource_status(
209212 self.os_admin.snapshots_v2_client, snap['id'], 'available')
210 self.consistencygroups_adm_client.wait_for_cgsnapshot_status(
211 cgsnapshot['id'], 'available')
212 self.assertEqual(cgsnapshot_name, cgsnapshot['name'])
213213
214214 # Create CG from CG snapshot
215215 cg_name2 = data_utils.rand_name('CG_from_snap')
217217 self.consistencygroups_adm_client.create_consistencygroup_from_src)
218218 cg2 = create_consistencygroup2(cgsnapshot_id=cgsnapshot['id'],
219219 name=cg_name2)['consistencygroup']
220 self.consistencygroups_adm_client.wait_for_consistencygroup_status(
221 cg2['id'], 'available')
222 self.assertEqual(cg_name2, cg2['name'])
220223 vols = self.admin_volume_client.list_volumes(
221224 detail=True)['volumes']
222225 for vol in vols:
223226 if vol['consistencygroup_id'] == cg2['id']:
224227 waiters.wait_for_volume_resource_status(
225228 self.admin_volume_client, vol['id'], 'available')
226 self.consistencygroups_adm_client.wait_for_consistencygroup_status(
227 cg2['id'], 'available')
228 self.assertEqual(cg_name2, cg2['name'])
229229
230230 # Clean up
231231 self._delete_consistencygroup(cg2['id'])
246246 self.consistencygroups_adm_client.create_consistencygroup)
247247 cg = create_consistencygroup(volume_type['id'],
248248 name=cg_name)['consistencygroup']
249 vol_name = data_utils.rand_name("volume")
250 params = {'name': vol_name,
251 'volume_type': volume_type['id'],
252 'consistencygroup_id': cg['id'],
253 'size': CONF.volume.volume_size}
254
255 # Create volume
256 volume = self.admin_volume_client.create_volume(**params)['volume']
257 waiters.wait_for_volume_resource_status(self.admin_volume_client,
258 volume['id'], 'available')
259 self.consistencygroups_adm_client.wait_for_consistencygroup_status(
260 cg['id'], 'available')
261 self.assertEqual(cg_name, cg['name'])
249 self.consistencygroups_adm_client.wait_for_consistencygroup_status(
250 cg['id'], 'available')
251 self.assertEqual(cg_name, cg['name'])
252
253 # Create volume
254 vol_name = data_utils.rand_name("volume")
255 params = {'name': vol_name,
256 'volume_type': volume_type['id'],
257 'consistencygroup_id': cg['id'],
258 'size': CONF.volume.volume_size}
259 volume = self.admin_volume_client.create_volume(**params)['volume']
260 waiters.wait_for_volume_resource_status(self.admin_volume_client,
261 volume['id'], 'available')
262262
263263 # Create CG from CG
264264 cg_name2 = data_utils.rand_name('CG_from_cg')
266266 self.consistencygroups_adm_client.create_consistencygroup_from_src)
267267 cg2 = create_consistencygroup2(source_cgid=cg['id'],
268268 name=cg_name2)['consistencygroup']
269 self.consistencygroups_adm_client.wait_for_consistencygroup_status(
270 cg2['id'], 'available')
271 self.assertEqual(cg_name2, cg2['name'])
269272 vols = self.admin_volume_client.list_volumes(
270273 detail=True)['volumes']
271274 for vol in vols:
272275 if vol['consistencygroup_id'] == cg2['id']:
273276 waiters.wait_for_volume_resource_status(
274277 self.admin_volume_client, vol['id'], 'available')
275 self.consistencygroups_adm_client.wait_for_consistencygroup_status(
276 cg2['id'], 'available')
277 self.assertEqual(cg_name2, cg2['name'])
278278
279279 # Clean up
280280 self._delete_consistencygroup(cg2['id'])