File tree Expand file tree Collapse file tree
systemvm/debian/opt/cloud/bin Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -28,13 +28,10 @@ def merge(dbag, data):
2828 else :
2929 remove_keys = set ()
3030 for key , entry in dbag .iteritems ():
31- if key != 'id' and entry ['mac_address' ] == data ['mac_address' ]:
31+ if key != 'id' and entry ['mac_address' ] == data ['mac_address' ] and data [ 'remove' ] :
3232 remove_keys .add (key )
3333 break
3434
35- if data ['remove' ] and key not in remove_keys :
36- remove_keys .add (key )
37-
3835 for remove_key in remove_keys :
3936 del (dbag [remove_key ])
4037
Original file line number Diff line number Diff line change @@ -502,6 +502,23 @@ def test_04_change_offering_small(self):
502502 self .skipTest ("Skipping this test for {} due to bug CS-38153" .format (self .hypervisor ))
503503 try :
504504 self .medium_virtual_machine .stop (self .apiclient )
505+ timeout = self .services ["timeout" ]
506+ while True :
507+ time .sleep (self .services ["sleep" ])
508+ # Ensure that VM is in stopped state
509+ list_vm_response = list_virtual_machines (
510+ self .apiclient ,
511+ id = self .medium_virtual_machine .id
512+ )
513+ if isinstance (list_vm_response , list ):
514+ vm = list_vm_response [0 ]
515+ if vm .state == 'Stopped' :
516+ self .debug ("VM state: %s" % vm .state )
517+ break
518+ if timeout == 0 :
519+ raise Exception (
520+ "Failed to stop VM (ID: %s) in change service offering" % vm .id )
521+ timeout = timeout - 1
505522 except Exception as e :
506523 self .fail ("Failed to stop VM: %s" % e )
507524
Original file line number Diff line number Diff line change @@ -457,6 +457,30 @@ def test_change_service_offering_for_vm_with_snapshots(self):
457457 self .debug ("Stopping VM - ID: %s" % virtual_machine .id )
458458 try :
459459 virtual_machine .stop (self .apiclient )
460+ timeout = self .services ["timeout" ]
461+
462+ while True :
463+ time .sleep (self .services ["sleep" ])
464+
465+ # Ensure that VM is in stopped state
466+ list_vm_response = list_virtual_machines (
467+ self .apiclient ,
468+ id = virtual_machine .id
469+ )
470+
471+ if isinstance (list_vm_response , list ):
472+
473+ vm = list_vm_response [0 ]
474+ if vm .state == 'Stopped' :
475+ self .debug ("VM state: %s" % vm .state )
476+ break
477+
478+ if timeout == 0 :
479+ raise Exception (
480+ "Failed to stop VM (ID: %s) in change service offering" % vm .id )
481+
482+ timeout = timeout - 1
483+
460484 except Exception as e :
461485 self .fail ("Failed to stop VM: %s" % e )
462486
You can’t perform that action at this time.
0 commit comments