From 6ac2c0e3d0e74dd8d139dba06afe96b6f438955e Mon Sep 17 00:00:00 2001 From: Daniel Safta Date: Tue, 27 Apr 2021 10:36:44 +0000 Subject: [PATCH] check app progress before swact This update adds a new check which will reject a swact while an application apply is in progress. Closes-Bug: 1926405 Change-Id: I3c683776f3ecaf9c78d111b5b1108e9582497aaa Signed-off-by: Daniel Safta --- sysinv/sysinv/sysinv/sysinv/api/controllers/v1/host.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/sysinv/sysinv/sysinv/sysinv/api/controllers/v1/host.py b/sysinv/sysinv/sysinv/sysinv/api/controllers/v1/host.py index 8f18e4c977..40484ad963 100644 --- a/sysinv/sysinv/sysinv/sysinv/api/controllers/v1/host.py +++ b/sysinv/sysinv/sysinv/sysinv/api/controllers/v1/host.py @@ -6081,6 +6081,14 @@ class HostController(rest.RestController): raise wsme.exc.ClientSideError( _("%s" % response['error_details'])) + # Check no app apply is in progress + # Skip if it is a force swact + if force_swact is False: + for _app in pecan.request.dbapi.kube_app_get_all(): + if _app.status == constants.APP_APPLY_IN_PROGRESS: + raise wsme.exc.ClientSideError( + _("Swact action not allowed. %s apply is in progress." % _app.name)) + def check_lock_storage(self, hostupdate, force=False): """Pre lock semantic checks for storage""" LOG.info("%s ihost check_lock_storage" % hostupdate.displayid)