distcloud/distributedcloud/dcmanager/orchestrator/kube_rootca_update_orch_thr...

48 lines
1.9 KiB
Python

#
# Copyright (c) 2020-2021 Wind River Systems, Inc.
#
# SPDX-License-Identifier: Apache-2.0
#
from dccommon.drivers.openstack import vim
from dcmanager.common import consts
from dcmanager.orchestrator.orch_thread import OrchThread
from dcmanager.orchestrator.states.kube_rootca.applying_vim_strategy \
import ApplyingVIMKubeRootcaUpdateStrategyState
from dcmanager.orchestrator.states.kube_rootca.creating_vim_strategy \
import CreatingVIMKubeRootcaUpdateStrategyState
from dcmanager.orchestrator.states.kube_rootca.pre_check \
import KubeRootcaUpdatePreCheckState
from dcmanager.orchestrator.states.kube_rootca.start_update \
import KubeRootcaUpdateStartState
from dcmanager.orchestrator.states.kube_rootca.upload_cert \
import KubeRootcaUpdateUploadCertState
class KubeRootcaUpdateOrchThread(OrchThread):
"""Kube RootCA Update Orchestration Thread"""
STATE_OPERATORS = {
consts.STRATEGY_STATE_KUBE_ROOTCA_UPDATE_PRE_CHECK:
KubeRootcaUpdatePreCheckState,
consts.STRATEGY_STATE_KUBE_ROOTCA_UPDATE_START:
KubeRootcaUpdateStartState,
consts.STRATEGY_STATE_KUBE_ROOTCA_UPDATE_UPLOAD_CERT:
KubeRootcaUpdateUploadCertState,
consts.STRATEGY_STATE_CREATING_VIM_KUBE_ROOTCA_UPDATE_STRATEGY:
CreatingVIMKubeRootcaUpdateStrategyState,
consts.STRATEGY_STATE_APPLYING_VIM_KUBE_ROOTCA_UPDATE_STRATEGY:
ApplyingVIMKubeRootcaUpdateStrategyState,
}
def __init__(self, strategy_lock, audit_rpc_client):
super(KubeRootcaUpdateOrchThread, self).__init__(
strategy_lock,
audit_rpc_client,
consts.SW_UPDATE_TYPE_KUBE_ROOTCA_UPDATE,
vim.STRATEGY_NAME_KUBE_ROOTCA_UPDATE,
consts.STRATEGY_STATE_KUBE_ROOTCA_UPDATE_PRE_CHECK)
def trigger_audit(self):
"""Trigger an audit for kube rootca update"""
self.audit_rpc_client.trigger_kube_rootca_update_audit(self.context)