projects
/
osm
/
RO.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Bug 2316: Fix for Unable to do vertical scaling when VM is in Shutdown state
[osm/RO.git]
/
RO-VIM-openstack
/
osm_rovim_openstack
/
vimconn_openstack.py
diff --git
a/RO-VIM-openstack/osm_rovim_openstack/vimconn_openstack.py
b/RO-VIM-openstack/osm_rovim_openstack/vimconn_openstack.py
index
d97771c
..
85ef2ca
100644
(file)
--- 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"):
)
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
):
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"
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()
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()
else:
if server.status == "PAUSED":
server.unpause()
@@
-3383,6
+3389,12
@@
class vimconnector(vimconn.VimConnector):
server.resume()
elif server.status == "SHUTOFF":
server.start()
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"
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()
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(
else:
self.logger.debug("ERROR: VM is not in Active state")
raise vimconn.VimConnException(
@@
-4514,7
+4532,9
@@
class vimconnector(vimconn.VimConnector):
self.nova.servers.resize(server=vm_id, flavor=new_flavor_id)
vm_state = self.__wait_for_vm(vm_id, "VERIFY_RESIZE")
if vm_state:
self.nova.servers.resize(server=vm_id, flavor=new_flavor_id)
vm_state = self.__wait_for_vm(vm_id, "VERIFY_RESIZE")
if vm_state:
- instance_resized_status = self.confirm_resize(vm_id)
+ instance_resized_status = self.confirm_resize(
+ vm_id, instance_status
+ )
return instance_resized_status
else:
raise nvExceptions.BadRequest(
return instance_resized_status
else:
raise nvExceptions.BadRequest(
@@
-4529,7
+4549,7
@@
class vimconnector(vimconn.VimConnector):
message="Cannot 'resize' instance while it is in vm_state resized",
)
message="Cannot 'resize' instance while it is in vm_state resized",
)
- def confirm_resize(self, vm_id):
+ def confirm_resize(self, vm_id
, instance_state
):
"""
Confirm the resize of an instance
param:
"""
Confirm the resize of an instance
param:
@@
-4538,7
+4558,7
@@
class vimconnector(vimconn.VimConnector):
self._reload_connection()
self.nova.servers.confirm_resize(server=vm_id)
if self.get_vdu_state(vm_id)[0] == "VERIFY_RESIZE":
self._reload_connection()
self.nova.servers.confirm_resize(server=vm_id)
if self.get_vdu_state(vm_id)[0] == "VERIFY_RESIZE":
- self.__wait_for_vm(vm_id,
"ACTIVE"
)
+ self.__wait_for_vm(vm_id,
instance_state
)
instance_status = self.get_vdu_state(vm_id)[0]
return instance_status
instance_status = self.get_vdu_state(vm_id)[0]
return instance_status