Revision b773795c kamaki/clients/livetest/cyclades.py
b/kamaki/clients/livetest/cyclades.py | ||
---|---|---|
160 | 160 |
|
161 | 161 |
def _has_status(self, servid, status): |
162 | 162 |
r = self.client.get_server_details(servid) |
163 |
#print 'MY STATUS IS ', r['status'] |
|
163 |
#print 'MY ', servid, ' STATUS IS ', r['status']
|
|
164 | 164 |
return r['status'] == status |
165 | 165 |
|
166 | 166 |
def _wait_for_status(self, servid, status): |
167 | 167 |
(wait_bar, wait_cb) = self._safe_progress_bar( |
168 | 168 |
'Server %s in %s' % (servid, status)) |
169 |
self.client.wait_server(servid, status, wait_cb=wait_cb) |
|
169 |
self.client.wait_server(servid, status, wait_cb=wait_cb, delay=5)
|
|
170 | 170 |
self._safe_progress_bar_finish(wait_bar) |
171 | 171 |
|
172 | 172 |
def test_parallel_creation(self): |
... | ... | |
174 | 174 |
Do not use this in regular livetest |
175 | 175 |
""" |
176 | 176 |
from kamaki.clients import SilentEvent |
177 |
c1 = SilentEvent( |
|
178 |
self._create_server, |
|
179 |
self.servname1, |
|
180 |
self.flavorid, |
|
181 |
self.img) |
|
182 |
c2 = SilentEvent( |
|
183 |
self._create_server, |
|
184 |
self.servname2, |
|
185 |
self.flavorid, |
|
186 |
self.img) |
|
187 |
c3 = SilentEvent( |
|
188 |
self._create_server, |
|
189 |
self.servname1, |
|
190 |
self.flavorid, |
|
191 |
self.img) |
|
192 |
c4 = SilentEvent( |
|
193 |
self._create_server, |
|
194 |
self.servname2, |
|
195 |
self.flavorid, |
|
196 |
self.img) |
|
197 |
c5 = SilentEvent( |
|
198 |
self._create_server, |
|
199 |
self.servname1, |
|
200 |
self.flavorid, |
|
201 |
self.img) |
|
202 |
c6 = SilentEvent( |
|
203 |
self._create_server, |
|
204 |
self.servname2, |
|
205 |
self.flavorid, |
|
206 |
self.img) |
|
207 |
c7 = SilentEvent( |
|
208 |
self._create_server, |
|
209 |
self.servname1, |
|
210 |
self.flavorid, |
|
211 |
self.img) |
|
212 |
c8 = SilentEvent( |
|
213 |
self._create_server, |
|
214 |
self.servname2, |
|
215 |
self.flavorid, |
|
216 |
self.img) |
|
217 |
c1.start() |
|
218 |
c2.start() |
|
219 |
c3.start() |
|
220 |
c4.start() |
|
221 |
c5.start() |
|
222 |
c6.start() |
|
223 |
c7.start() |
|
224 |
c8.start() |
|
177 |
c = [] |
|
178 |
for i in range(8): |
|
179 |
sname = '%s_%s' % (self.servname1, i) |
|
180 |
c.append(SilentEvent( |
|
181 |
self._create_server, sname, self.flavorid, self.img)) |
|
182 |
for i in range(8): |
|
183 |
c[i].start() |
|
225 | 184 |
|
226 | 185 |
def test_create_server(self): |
227 | 186 |
"""Test create_server""" |
228 | 187 |
self.server1 = self._create_server( |
229 |
self.servname1, |
|
230 |
self.flavorid, |
|
231 |
self.img) |
|
188 |
self.servname1, self.flavorid, self.img) |
|
232 | 189 |
self._wait_for_status(self.server1['id'], 'BUILD') |
233 | 190 |
self._test_0010_create_server() |
234 | 191 |
|
... | ... | |
241 | 198 |
def test_list_servers(self): |
242 | 199 |
"""Test list servers""" |
243 | 200 |
self.server1 = self._create_server( |
244 |
self.servname1, |
|
245 |
self.flavorid, |
|
246 |
self.img) |
|
201 |
self.servname1, self.flavorid, self.img) |
|
247 | 202 |
self.server2 = self._create_server( |
248 |
self.servname2, |
|
249 |
self.flavorid, |
|
250 |
self.img) |
|
203 |
self.servname2, self.flavorid, self.img) |
|
251 | 204 |
self._test_0020_list_servers() |
252 | 205 |
|
253 | 206 |
def _test_0020_list_servers(self): |
... | ... | |
256 | 209 |
|
257 | 210 |
"""detailed and simple are same size""" |
258 | 211 |
self.assertEqual(len(dservers), len(servers)) |
259 |
for i in range(len(servers)): |
|
260 |
for field in ( |
|
261 |
'created', |
|
262 |
'flavor', |
|
263 |
'hostId', |
|
264 |
'image', |
|
265 |
'progress', |
|
266 |
'status', |
|
267 |
'updated'): |
|
268 |
self.assertFalse(field in servers[i]) |
|
269 |
self.assertTrue(field in dservers[i]) |
|
212 |
fields = set([ |
|
213 |
'created', 'flavor', 'hostId', 'image', 'progress', 'status', |
|
214 |
'updated']) |
|
215 |
for i, srv in enumerate(servers): |
|
216 |
self.assertTrue(fields.isdisjoint(srv)) |
|
217 |
self.assertTrue(fields.issubset(dservers[i])) |
|
270 | 218 |
|
271 | 219 |
"""detailed and simple contain same names""" |
272 | 220 |
names = sorted(map(lambda x: x["name"], servers)) |
... | ... | |
282 | 230 |
def test_get_server_details(self): |
283 | 231 |
"""Test get_server_details""" |
284 | 232 |
self.server1 = self._create_server( |
285 |
self.servname1, |
|
286 |
self.flavorid, |
|
287 |
self.img) |
|
233 |
self.servname1, self.flavorid, self.img) |
|
288 | 234 |
self._wait_for_status(self.server1['id'], 'BUILD') |
289 | 235 |
self._test_0040_get_server_details() |
290 | 236 |
|
... | ... | |
298 | 244 |
def test_update_server_name(self): |
299 | 245 |
"""Test update_server_name""" |
300 | 246 |
self.server1 = self._create_server( |
301 |
self.servname1, |
|
302 |
self.flavorid, |
|
303 |
self.img) |
|
247 |
self.servname1, self.flavorid, self.img) |
|
304 | 248 |
self._test_0050_update_server_name() |
305 | 249 |
|
306 | 250 |
def _test_0050_update_server_name(self): |
307 | 251 |
new_name = self.servname1 + '_new_name' |
308 | 252 |
self.client.update_server_name(self.server1['id'], new_name) |
309 | 253 |
r = self.client.get_server_details( |
310 |
self.server1['id'], |
|
311 |
success=(200, 400)) |
|
254 |
self.server1['id'], success=(200, 400)) |
|
312 | 255 |
self.assertEqual(r['name'], new_name) |
313 | 256 |
changed = self.servers.pop(self.servname1) |
314 | 257 |
changed['name'] = new_name |
... | ... | |
317 | 260 |
def test_reboot_server(self): |
318 | 261 |
"""Test reboot server""" |
319 | 262 |
self.server1 = self._create_server( |
320 |
self.servname1, |
|
321 |
self.flavorid, |
|
322 |
self.img) |
|
263 |
self.servname1, self.flavorid, self.img) |
|
323 | 264 |
self._wait_for_status(self.server1['id'], 'BUILD') |
324 | 265 |
self.server2 = self._create_server( |
325 |
self.servname2, |
|
326 |
self.flavorid + 1, |
|
327 |
self.img) |
|
266 |
self.servname2, self.flavorid + 2, self.img) |
|
328 | 267 |
self._wait_for_status(self.server2['id'], 'BUILD') |
329 | 268 |
self._test_0060_reboot_server() |
330 | 269 |
self._wait_for_status(self.server1['id'], 'REBOOT') |
... | ... | |
345 | 284 |
self.server1 = self._create_server( |
346 | 285 |
self.servname1, self.flavorid, self.img) |
347 | 286 |
|
348 |
def test_0065_resize_server(self): |
|
349 |
self.client.resize_server(self.servname1, self.flavorid + 1, self.img)
|
|
287 |
def _test_0065_resize_server(self):
|
|
288 |
self.client.resize_server(self.servname1, self.flavorid + 2)
|
|
350 | 289 |
srv = self.client.get_flavor_details(self.server1['id']) |
351 |
self.assertEqual(srv['flavor']['id'], self.flavorid + 1)
|
|
290 |
self.assertEqual(srv['flavor']['id'], self.flavorid + 2)
|
|
352 | 291 |
|
353 | 292 |
def _test_0070_wait_test_servers_to_reboot(self): |
354 | 293 |
"""Pseudo-test to wait for VMs to load""" |
... | ... | |
359 | 298 |
def test_create_server_metadata(self): |
360 | 299 |
"""Test create_server_metadata""" |
361 | 300 |
self.server1 = self._create_server( |
362 |
self.servname1, |
|
363 |
self.flavorid, |
|
364 |
self.img) |
|
301 |
self.servname1, self.flavorid, self.img) |
|
365 | 302 |
self._test_0080_create_server_metadata() |
366 | 303 |
|
367 | 304 |
def _test_0080_create_server_metadata(self): |
368 | 305 |
r1 = self.client.create_server_metadata( |
369 |
self.server1['id'], |
|
370 |
'mymeta', |
|
371 |
'mymeta val') |
|
306 |
self.server1['id'], 'mymeta', 'mymeta val') |
|
372 | 307 |
self.assertTrue('mymeta' in r1) |
373 | 308 |
r2 = self.client.get_server_metadata(self.server1['id'], 'mymeta') |
374 | 309 |
self.assert_dicts_are_equal(r1, r2) |
... | ... | |
376 | 311 |
def test_get_server_metadata(self): |
377 | 312 |
"""Test get server_metadata""" |
378 | 313 |
self.server1 = self._create_server( |
379 |
self.servname1, |
|
380 |
self.flavorid, |
|
381 |
self.img) |
|
314 |
self.servname1, self.flavorid, self.img) |
|
382 | 315 |
self._test_0090_get_server_metadata() |
383 | 316 |
|
384 | 317 |
def _test_0090_get_server_metadata(self): |
... | ... | |
390 | 323 |
def test_update_server_metadata(self): |
391 | 324 |
"""Test update_server_metadata""" |
392 | 325 |
self.server1 = self._create_server( |
393 |
self.servname1, |
|
394 |
self.flavorid, |
|
395 |
self.img) |
|
326 |
self.servname1, self.flavorid, self.img) |
|
396 | 327 |
self._test_0100_update_server_metadata() |
397 | 328 |
|
398 | 329 |
def _test_0100_update_server_metadata(self): |
... | ... | |
474 | 405 |
def test_shutdown_server(self): |
475 | 406 |
"""Test shutdown_server""" |
476 | 407 |
self.server1 = self._create_server( |
477 |
self.servname1, |
|
478 |
self.flavorid, |
|
479 |
self.img) |
|
408 |
self.servname1, self.flavorid, self.img) |
|
480 | 409 |
self._wait_for_status(self.server1['id'], 'BUILD') |
481 | 410 |
self._test_0170_shutdown_server() |
482 | 411 |
|
... | ... | |
489 | 418 |
def test_start_server(self): |
490 | 419 |
"""Test start_server""" |
491 | 420 |
self.server1 = self._create_server( |
492 |
self.servname1, |
|
493 |
self.flavorid, |
|
494 |
self.img) |
|
421 |
self.servname1, self.flavorid, self.img) |
|
495 | 422 |
self._wait_for_status(self.server1['id'], 'BUILD') |
496 | 423 |
self.client.shutdown_server(self.server1['id']) |
497 | 424 |
self._wait_for_status(self.server1['id'], 'ACTIVE') |
... | ... | |
506 | 433 |
def test_get_server_console(self): |
507 | 434 |
"""Test get_server_console""" |
508 | 435 |
self.server2 = self._create_server( |
509 |
self.servname2, |
|
510 |
self.flavorid, |
|
511 |
self.img) |
|
436 |
self.servname2, self.flavorid, self.img) |
|
512 | 437 |
self._wait_for_status(self.server2['id'], 'BUILD') |
513 | 438 |
self._test_0190_get_server_console() |
514 | 439 |
|
... | ... | |
522 | 447 |
def test_get_firewall_profile(self): |
523 | 448 |
"""Test get_firewall_profile""" |
524 | 449 |
self.server1 = self._create_server( |
525 |
self.servname1, |
|
526 |
self.flavorid, |
|
527 |
self.img) |
|
450 |
self.servname1, self.flavorid, self.img) |
|
528 | 451 |
self._test_0200_get_firewall_profile() |
529 | 452 |
|
530 | 453 |
def _test_0200_get_firewall_profile(self): |
... | ... | |
535 | 458 |
def test_set_firewall_profile(self): |
536 | 459 |
"""Test set_firewall_profile""" |
537 | 460 |
self.server1 = self._create_server( |
538 |
self.servname1, |
|
539 |
self.flavorid, |
|
540 |
self.img) |
|
461 |
self.servname1, self.flavorid, self.img) |
|
541 | 462 |
self._test_0210_set_firewall_profile() |
542 | 463 |
|
543 | 464 |
def _test_0210_set_firewall_profile(self): |
... | ... | |
573 | 494 |
|
574 | 495 |
def test_get_server_stats(self): |
575 | 496 |
self.server1 = self._create_server( |
576 |
self.servname1, |
|
577 |
self.flavorid, |
|
578 |
self.img) |
|
497 |
self.servname1, self.flavorid, self.img) |
|
579 | 498 |
self._test_0220_get_server_stats() |
580 | 499 |
|
581 | 500 |
def _test_0220_get_server_stats(self): |
... | ... | |
625 | 544 |
def test_connect_server(self): |
626 | 545 |
"""Test connect_server""" |
627 | 546 |
self.server1 = self._create_server( |
628 |
self.servname1, |
|
629 |
self.flavorid, |
|
630 |
self.img) |
|
547 |
self.servname1, self.flavorid, self.img) |
|
631 | 548 |
self.network1 = self._create_network(self.netname1) |
632 | 549 |
self._wait_for_status(self.server1['id'], 'BUILD') |
633 | 550 |
self._wait_for_network(self.network1['id'], 'ACTIVE') |
... | ... | |
635 | 552 |
|
636 | 553 |
def _test_0250_connect_server(self): |
637 | 554 |
self.client.connect_server(self.server1['id'], self.network1['id']) |
638 |
self.assertTrue(self._wait_for_nic( |
|
639 |
self.network1['id'], |
|
640 |
self.server1['id'])) |
|
555 |
self.assertTrue( |
|
556 |
self._wait_for_nic(self.network1['id'], self.server1['id'])) |
|
641 | 557 |
|
642 | 558 |
def test_disconnect_server(self): |
643 | 559 |
"""Test disconnect_server""" |
... | ... | |
647 | 563 |
def _test_0250_disconnect_server(self): |
648 | 564 |
self.client.disconnect_server(self.server1['id'], self.network1['id']) |
649 | 565 |
self.assertTrue(self._wait_for_nic( |
650 |
self.network1['id'], |
|
651 |
self.server1['id'], |
|
652 |
in_creation=False)) |
|
566 |
self.network1['id'], self.server1['id'], in_creation=False)) |
|
653 | 567 |
|
654 | 568 |
def _test_0260_wait_for_second_network(self): |
655 | 569 |
self.network2 = self._create_network(self.netname2) |
... | ... | |
658 | 572 |
def test_list_server_nics(self): |
659 | 573 |
"""Test list_server_nics""" |
660 | 574 |
self.server1 = self._create_server( |
661 |
self.servname1, |
|
662 |
self.flavorid, |
|
663 |
self.img) |
|
575 |
self.servname1, self.flavorid, self.img) |
|
664 | 576 |
self.network2 = self._create_network(self.netname2) |
665 | 577 |
self._wait_for_status(self.server1['id'], 'BUILD') |
666 | 578 |
self._wait_for_network(self.network2['id'], 'ACTIVE') |
... | ... | |
670 | 582 |
r = self.client.list_server_nics(self.server1['id']) |
671 | 583 |
len0 = len(r) |
672 | 584 |
self.client.connect_server(self.server1['id'], self.network2['id']) |
673 |
self.assertTrue(self._wait_for_nic( |
|
674 |
self.network2['id'], |
|
675 |
self.server1['id'])) |
|
585 |
self.assertTrue( |
|
586 |
self._wait_for_nic(self.network2['id'], self.server1['id'])) |
|
676 | 587 |
r = self.client.list_server_nics(self.server1['id']) |
677 | 588 |
self.assertTrue(len(r) > len0) |
678 | 589 |
|
... | ... | |
704 | 615 |
def test_list_network_nics(self): |
705 | 616 |
"""Test list_server_nics""" |
706 | 617 |
self.server1 = self._create_server( |
707 |
self.servname1, |
|
708 |
self.flavorid, |
|
709 |
self.img) |
|
618 |
self.servname1, self.flavorid, self.img) |
|
710 | 619 |
self.network1 = self._create_network(self.netname1) |
711 | 620 |
self.network2 = self._create_network(self.netname2) |
712 | 621 |
self._wait_for_status(self.server1['id'], 'BUILD') |
... | ... | |
719 | 628 |
self._test_0293_list_network_nics() |
720 | 629 |
|
721 | 630 |
def _test_0293_list_network_nics(self): |
722 |
netid1 = self.network1['id'] |
|
723 |
netid2 = self.network2['id'] |
|
631 |
netid1, netid2 = self.network1['id'], self.network2['id'] |
|
724 | 632 |
r = self.client.list_network_nics(netid1) |
725 | 633 |
expected = ['nic-%s-1' % self.server1['id']] |
726 | 634 |
self.assertEqual(r, expected) |
Also available in: Unified diff