def manage_cluster_status()

in cookbooks/aws-parallelcluster-scheduler-plugin/files/default/clusterstatusmgtd/clusterstatusmgtd.py [0:0]


    def manage_cluster_status(self):
        """Manage cluster status."""
        self._current_time = datetime.now(tz=timezone.utc)
        self._compute_fleet_status = self._get_compute_fleet_status(fallback=self._compute_fleet_status)
        log.info("Current compute fleet status: %s", self._compute_fleet_status)
        try:
            if ComputeFleetStatus.is_stop_in_progress(self._compute_fleet_status):
                self._update_status(
                    ComputeFleetStatus.STOP_REQUESTED, ComputeFleetStatus.STOPPING, ComputeFleetStatus.STOPPED
                )
            elif ComputeFleetStatus.is_start_in_progress(self._compute_fleet_status):
                self._update_status(
                    ComputeFleetStatus.START_REQUESTED, ComputeFleetStatus.STARTING, ComputeFleetStatus.RUNNING
                )
        except ComputeFleetStatusManager.ConditionalStatusUpdateFailedError:
            log.warning(
                "Cluster status was updated while handling a transition from %s. "
                "Status transition will be retried at the next iteration",
                self._compute_fleet_status,
            )