X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=RO-VIM-openstack%2Fosm_rovim_openstack%2Fvimconn_openstack.py;h=221fc24190806376c6803c2aa7d8fa9c6dc93e76;hb=8875f910d2d188ee3ada1e249b718b7663296a10;hp=d97771c858dbacd72e3cd58aef866a009386da94;hpb=df48655ed39c3b5202289bcc84cd1618ce5464af;p=osm%2FRO.git diff --git a/RO-VIM-openstack/osm_rovim_openstack/vimconn_openstack.py b/RO-VIM-openstack/osm_rovim_openstack/vimconn_openstack.py index d97771c8..221fc241 100644 --- a/RO-VIM-openstack/osm_rovim_openstack/vimconn_openstack.py +++ b/RO-VIM-openstack/osm_rovim_openstack/vimconn_openstack.py @@ -863,17 +863,17 @@ class vimconnector(vimconn.VimConnector): ) if not self.config.get("multisegment_support"): - network_dict[ - "provider:physical_network" - ] = provider_physical_network + network_dict["provider:physical_network"] = ( + provider_physical_network + ) if ( provider_network_profile and "network-type" in provider_network_profile ): - network_dict[ - "provider:network_type" - ] = provider_network_profile["network-type"] + network_dict["provider:network_type"] = ( + provider_network_profile["network-type"] + ) else: network_dict["provider:network_type"] = self.config.get( "dataplane_network_type", "vlan" @@ -3376,6 +3376,12 @@ class vimconnector(vimconn.VimConnector): if "start" in action_dict: if action_dict["start"] == "rebuild": server.rebuild() + vm_state = self.__wait_for_vm(vm_id, "ACTIVE") + if not vm_state: + raise nvExceptions.BadRequest( + 409, + message="Cannot 'REBUILD' vm_state is in ERROR", + ) else: if server.status == "PAUSED": server.unpause() @@ -3383,6 +3389,12 @@ class vimconnector(vimconn.VimConnector): server.resume() elif server.status == "SHUTOFF": server.start() + vm_state = self.__wait_for_vm(vm_id, "ACTIVE") + if not vm_state: + raise nvExceptions.BadRequest( + 409, + message="Cannot 'START' vm_state is in ERROR", + ) else: self.logger.debug( "ERROR : Instance is not in SHUTOFF/PAUSE/SUSPEND state" @@ -3399,6 +3411,12 @@ class vimconnector(vimconn.VimConnector): self.logger.debug("server status %s", server.status) if server.status == "ACTIVE": server.stop() + vm_state = self.__wait_for_vm(vm_id, "SHUTOFF") + if not vm_state: + raise nvExceptions.BadRequest( + 409, + message="Cannot 'STOP' vm_state is in ERROR", + ) else: self.logger.debug("ERROR: VM is not in Active state") raise vimconn.VimConnException(