From 8875f910d2d188ee3ada1e249b718b7663296a10 Mon Sep 17 00:00:00 2001 From: Rahul Kumar Date: Wed, 8 Nov 2023 06:48:12 +0000 Subject: [PATCH 1/1] Fix Bug 2270: Feature (Start, Stop, Rebuild) The update type shows as completed before VM status is changed in OpenStack of that VM Change-Id: I5e88c3cabfadffe7faed2996f31d45ab6cb9f617 Signed-off-by: Rahul Kumar --- .../osm_rovim_openstack/vimconn_openstack.py | 18 ++++++++++++++++ ...re_VM_status_changed-9a996997b3d2a571.yaml | 21 +++++++++++++++++++ 2 files changed, 39 insertions(+) create mode 100644 releasenotes/notes/bug_fix_2270_Feature_Start_Stop_Rebuild_The_update_type_shows_completed_before_VM_status_changed-9a996997b3d2a571.yaml diff --git a/RO-VIM-openstack/osm_rovim_openstack/vimconn_openstack.py b/RO-VIM-openstack/osm_rovim_openstack/vimconn_openstack.py index 54d0e88a..221fc241 100644 --- a/RO-VIM-openstack/osm_rovim_openstack/vimconn_openstack.py +++ b/RO-VIM-openstack/osm_rovim_openstack/vimconn_openstack.py @@ -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( diff --git a/releasenotes/notes/bug_fix_2270_Feature_Start_Stop_Rebuild_The_update_type_shows_completed_before_VM_status_changed-9a996997b3d2a571.yaml b/releasenotes/notes/bug_fix_2270_Feature_Start_Stop_Rebuild_The_update_type_shows_completed_before_VM_status_changed-9a996997b3d2a571.yaml new file mode 100644 index 00000000..629fdc01 --- /dev/null +++ b/releasenotes/notes/bug_fix_2270_Feature_Start_Stop_Rebuild_The_update_type_shows_completed_before_VM_status_changed-9a996997b3d2a571.yaml @@ -0,0 +1,21 @@ +####################################################################################### +# 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 -- 2.25.1