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()
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"
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(
--- /dev/null
+#######################################################################################
+# Copyright ETSI Contributors and Others.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+# implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#######################################################################################
+---
+fixes:
+ - |
+ Bug Fix 2270 Feature (Start, Stop, Rebuild) The update type shows as completed
+ before VM status is changed in OpenStack of that VM