def _update_cluster_data(cls, instance): cluster = instance.cluster if instance.name == "deploy": if instance.status == "ready": # If for some reasosns orchestrator # didn't send ready status for node # we should set it explicitly for n in cluster.nodes: if n.status == "deploying": n.status = "ready" n.progress = 100 cls.__update_cluster_status(cluster, "operational") Cluster.clear_pending_changes(cluster) elif instance.status == "error" and not TaskHelper.before_deployment_error(instance): # We don't want to set cluster status to # error because we don't want to lock # settings if cluster wasn't delpoyed cls.__update_cluster_status(cluster, "error") elif instance.name == "deployment" and instance.status == "error": cls.__update_cluster_status(cluster, "error") q_nodes_to_error = TaskHelper.get_nodes_to_deployment_error(cluster) cls.__update_nodes_to_error(q_nodes_to_error, error_type="deploy") elif instance.name == "provision" and instance.status == "error": cls.__update_cluster_status(cluster, "error") q_nodes_to_error = TaskHelper.get_nodes_to_provisioning_error(cluster) cls.__update_nodes_to_error(q_nodes_to_error, error_type="provision") elif instance.name == "stop_deployment": if instance.status == "error": cls.__update_cluster_status(cluster, "error") else: cls.__update_cluster_status(cluster, "stopped") elif instance.name == consts.TASK_NAMES.update: if instance.status == consts.TASK_STATUSES.error: cls.__update_cluster_status(cluster, consts.CLUSTER_STATUSES.update_error) q_nodes_to_error = TaskHelper.get_nodes_to_deployment_error(cluster) cls.__update_nodes_to_error(q_nodes_to_error, error_type=consts.NODE_ERRORS.deploy) elif instance.status == consts.TASK_STATUSES.ready: cls.__update_cluster_status(cluster, consts.CLUSTER_STATUSES.operational) cluster.release_id = cluster.pending_release_id cluster.pending_release_id = None
def _update_cluster_data(cls, instance): cluster = instance.cluster if instance.name == 'deploy': if instance.status == 'ready': # If for some reasosns orchestrator # didn't send ready status for node # we should set it explicitly for n in cluster.nodes: if n.status == 'deploying': n.status = 'ready' n.progress = 100 cls.__update_cluster_status(cluster, 'operational') Cluster.clear_pending_changes(cluster) elif instance.status == 'error' and \ not TaskHelper.before_deployment_error(instance): # We don't want to set cluster status to # error because we don't want to lock # settings if cluster wasn't delpoyed cls.__update_cluster_status(cluster, 'error') elif instance.name == consts.TASK_NAMES.spawn_vms: if instance.status == consts.TASK_STATUSES.ready: Cluster.mark_vms_as_created(cluster) elif instance.status == consts.TASK_STATUSES.error and \ not TaskHelper.before_deployment_error(instance): cls.__update_cluster_status(cluster, 'error') elif instance.name == 'deployment' and instance.status == 'error': cls.__update_cluster_status(cluster, 'error') q_nodes_to_error = \ TaskHelper.get_nodes_to_deployment_error(cluster) cls.__update_nodes_to_error(q_nodes_to_error, error_type='deploy') elif instance.name == 'provision' and instance.status == 'error': cls.__update_cluster_status(cluster, 'error') q_nodes_to_error = \ TaskHelper.get_nodes_to_provisioning_error(cluster) cls.__update_nodes_to_error(q_nodes_to_error, error_type='provision') elif instance.name == 'stop_deployment': if instance.status == 'error': cls.__update_cluster_status(cluster, 'error') else: cls.__update_cluster_status(cluster, 'stopped') elif instance.name == consts.TASK_NAMES.update: if instance.status == consts.TASK_STATUSES.error: cls.__update_cluster_status( cluster, consts.CLUSTER_STATUSES.update_error) q_nodes_to_error = \ TaskHelper.get_nodes_to_deployment_error(cluster) cls.__update_nodes_to_error( q_nodes_to_error, error_type=consts.NODE_ERRORS.deploy) elif instance.status == consts.TASK_STATUSES.ready: cls.__update_cluster_status( cluster, consts.CLUSTER_STATUSES.operational) cluster.release_id = cluster.pending_release_id cluster.pending_release_id = None
def _update_cluster_data(cls, instance): cluster = instance.cluster if instance.name == 'deploy': if instance.status == 'ready': # If for some reasosns orchestrator # didn't send ready status for node # we should set it explicitly for n in cluster.nodes: if n.status == 'deploying': n.status = 'ready' n.progress = 100 cls.__update_cluster_status(cluster, 'operational') Cluster.clear_pending_changes(cluster) elif instance.status == 'error' and \ not TaskHelper.before_deployment_error(instance): # We don't want to set cluster status to # error because we don't want to lock # settings if cluster wasn't delpoyed cls.__update_cluster_status(cluster, 'error') elif instance.name == consts.TASK_NAMES.spawn_vms: if instance.status == consts.TASK_STATUSES.ready: Cluster.mark_vms_as_created(cluster) elif instance.status == consts.TASK_STATUSES.error and \ not TaskHelper.before_deployment_error(instance): cls.__update_cluster_status(cluster, 'error') elif instance.name == 'deployment' and instance.status == 'error': cls.__update_cluster_status(cluster, 'error') q_nodes_to_error = \ TaskHelper.get_nodes_to_deployment_error(cluster) cls.__update_nodes_to_error(q_nodes_to_error, error_type='deploy') elif instance.name == 'provision' and instance.status == 'error': cls.__update_cluster_status(cluster, 'error') q_nodes_to_error = \ TaskHelper.get_nodes_to_provisioning_error(cluster) cls.__update_nodes_to_error(q_nodes_to_error, error_type='provision') elif instance.name == 'stop_deployment': if instance.status == 'error': cls.__update_cluster_status(cluster, 'error') else: cls.__update_cluster_status(cluster, 'stopped') elif instance.name == consts.TASK_NAMES.update: if instance.status == consts.TASK_STATUSES.error: cls.__update_cluster_status( cluster, consts.CLUSTER_STATUSES.update_error ) q_nodes_to_error = \ TaskHelper.get_nodes_to_deployment_error(cluster) cls.__update_nodes_to_error( q_nodes_to_error, error_type=consts.NODE_ERRORS.deploy) elif instance.status == consts.TASK_STATUSES.ready: cls.__update_cluster_status( cluster, consts.CLUSTER_STATUSES.operational ) cluster.release_id = cluster.pending_release_id cluster.pending_release_id = None
def _update_cluster_data(cls, instance): cluster = instance.cluster if instance.name == consts.TASK_NAMES.deployment: if instance.status == consts.TASK_STATUSES.ready: # If for some reasons orchestrator # didn't send ready status for node # we should set it explicitly for n in cluster.nodes: if n.status == consts.NODE_STATUSES.deploying: n.status = consts.NODE_STATUSES.ready n.progress = 100 cls.__update_cluster_status( cluster, consts.CLUSTER_STATUSES.operational, consts.NODE_STATUSES.ready ) Cluster.clear_pending_changes(cluster) elif instance.status == consts.CLUSTER_STATUSES.error: cls.__update_cluster_status( cluster, consts.CLUSTER_STATUSES.error, None ) q_nodes_to_error = TaskHelper.get_nodes_to_deployment_error( cluster ) cls.__update_nodes_to_error( q_nodes_to_error, error_type=consts.NODE_ERRORS.deploy ) elif instance.name == consts.TASK_NAMES.spawn_vms: if instance.status == consts.TASK_STATUSES.ready: Cluster.set_vms_created_state(cluster) elif (instance.status == consts.TASK_STATUSES.error and not TaskHelper.before_deployment_error(instance)): cls.__update_cluster_status( cluster, consts.CLUSTER_STATUSES.error, None ) elif instance.name == consts.TASK_NAMES.deploy and \ instance.status == consts.TASK_STATUSES.error and \ not TaskHelper.before_deployment_error(instance): # We don't want to set cluster status to # error because we don't want to lock # settings if cluster wasn't deployed cls.__update_cluster_status( cluster, consts.CLUSTER_STATUSES.error, None ) elif instance.name == consts.TASK_NAMES.provision: if instance.status == consts.TASK_STATUSES.ready: cls.__update_cluster_status( cluster, consts.CLUSTER_STATUSES.partially_deployed, None ) elif instance.status == consts.TASK_STATUSES.error: cls.__update_cluster_status( cluster, consts.CLUSTER_STATUSES.error, None ) q_nodes_to_error = \ TaskHelper.get_nodes_to_provisioning_error(cluster) cls.__update_nodes_to_error( q_nodes_to_error, error_type=consts.NODE_ERRORS.provision) elif instance.name == consts.TASK_NAMES.stop_deployment: if instance.status == consts.TASK_STATUSES.error: cls.__update_cluster_status( cluster, consts.CLUSTER_STATUSES.error, None ) else: cls.__update_cluster_status( cluster, consts.CLUSTER_STATUSES.stopped, None )
def _update_cluster_data(cls, instance): cluster = instance.cluster if instance.name == consts.TASK_NAMES.deployment: if instance.status == consts.TASK_STATUSES.ready: # If for some reasons orchestrator # didn't send ready status for node # we should set it explicitly for n in cluster.nodes: if n.status == consts.NODE_STATUSES.deploying: n.status = consts.NODE_STATUSES.ready n.progress = 100 cls._update_cluster_status(cluster, consts.CLUSTER_STATUSES.operational, consts.NODE_STATUSES.ready) Cluster.clear_pending_changes(cluster) elif instance.status == consts.TASK_STATUSES.error: cls._update_cluster_status(cluster, consts.CLUSTER_STATUSES.error, None) q_nodes_to_error = TaskHelper.get_nodes_to_deployment_error( cluster) cls.__update_nodes_to_error( q_nodes_to_error, error_type=consts.NODE_ERRORS.deploy) elif instance.name == consts.TASK_NAMES.spawn_vms: if instance.status == consts.TASK_STATUSES.ready: Cluster.set_vms_created_state(cluster) elif (instance.status == consts.TASK_STATUSES.error and not TaskHelper.before_deployment_error(instance)): cls._update_cluster_status(cluster, consts.CLUSTER_STATUSES.error, None) elif instance.name == consts.TASK_NAMES.deploy and \ instance.status == consts.TASK_STATUSES.error and \ not TaskHelper.before_deployment_error(instance): # We don't want to set cluster status to # error because we don't want to lock # settings if cluster wasn't deployed cls._update_cluster_status(cluster, consts.CLUSTER_STATUSES.error, None) elif instance.name == consts.TASK_NAMES.provision: if instance.status == consts.TASK_STATUSES.ready: cls._update_cluster_status( cluster, consts.CLUSTER_STATUSES.partially_deployed, None) elif instance.status == consts.TASK_STATUSES.error: cls._update_cluster_status(cluster, consts.CLUSTER_STATUSES.error, None) q_nodes_to_error = \ TaskHelper.get_nodes_to_provisioning_error(cluster) cls.__update_nodes_to_error( q_nodes_to_error, error_type=consts.NODE_ERRORS.provision) elif instance.name == consts.TASK_NAMES.stop_deployment: if instance.status == consts.TASK_STATUSES.error: cls._update_cluster_status(cluster, consts.CLUSTER_STATUSES.error, None) else: cls._update_cluster_status(cluster, consts.CLUSTER_STATUSES.stopped, None)