diff --git a/sysinv/sysinv/sysinv/sysinv/conductor/kube_app.py b/sysinv/sysinv/sysinv/sysinv/conductor/kube_app.py index 6823172abb..56f7f644f7 100644 --- a/sysinv/sysinv/sysinv/sysinv/conductor/kube_app.py +++ b/sysinv/sysinv/sysinv/sysinv/conductor/kube_app.py @@ -171,6 +171,11 @@ class AppOperator(object): self._armada = ArmadaHelper(self._kube) self._fluxcd = FluxCDHelper(self._dbapi, self._kube) + # Load apps metadata + # Clearing stuck application behavior depends on the metadata + for app in self._dbapi.kube_app_get_all(): + self.load_application_metadata_from_database(app) + if not os.path.isfile(constants.ANSIBLE_BOOTSTRAP_FLAG): self._clear_stuck_applications() diff --git a/sysinv/sysinv/sysinv/sysinv/conductor/manager.py b/sysinv/sysinv/sysinv/sysinv/conductor/manager.py index a9ca7e50b6..a35b6ba24d 100644 --- a/sysinv/sysinv/sysinv/sysinv/conductor/manager.py +++ b/sysinv/sysinv/sysinv/sysinv/conductor/manager.py @@ -362,6 +362,7 @@ class ConductorManager(service.PeriodicService): # brought up during bootstrap manifest apply and is not restarted # until host unlock and we need ceph-mon up in order to configure # ceph for the initial unlock. + # kube_app operator will load app metadata from database self._helm = helm.HelmOperator(self.dbapi) self._app = kube_app.AppOperator(self.dbapi, self._helm, self.apps_metadata) self._docker = kube_app.DockerHelper(self.dbapi) @@ -384,10 +385,6 @@ class ConductorManager(service.PeriodicService): # Save our start time for time limited init actions self._start_time = timeutils.utcnow() - # Load apps metadata - for app in self.dbapi.kube_app_get_all(): - self._app.load_application_metadata_from_database(app) - def _get_active_controller_uuid(self): ahost = utils.HostHelper.get_active_controller(self.dbapi) if ahost: