当前位置: 首页>>代码示例>>Python>>正文


Python Cluster.clear_pending_changes方法代码示例

本文整理汇总了Python中nailgun.objects.Cluster.clear_pending_changes方法的典型用法代码示例。如果您正苦于以下问题:Python Cluster.clear_pending_changes方法的具体用法?Python Cluster.clear_pending_changes怎么用?Python Cluster.clear_pending_changes使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在nailgun.objects.Cluster的用法示例。


在下文中一共展示了Cluster.clear_pending_changes方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: remove_from_cluster

# 需要导入模块: from nailgun.objects import Cluster [as 别名]
# 或者: from nailgun.objects.Cluster import clear_pending_changes [as 别名]
    def remove_from_cluster(cls, instance):
        """Remove Node from Cluster.

        Also drops networks assignment for Node and clears both
        roles and pending roles

        :param instance: Node instance
        :returns: None
        """
        if instance.cluster:
            Cluster.clear_pending_changes(
                instance.cluster,
                node_id=instance.id
            )
            netmanager = Cluster.get_network_manager(
                instance.cluster
            )
            netmanager.clear_assigned_networks(instance)
            netmanager.clear_bond_configuration(instance)
        cls.update_roles(instance, [])
        cls.update_pending_roles(instance, [])
        cls.remove_replaced_params(instance)
        instance.cluster_id = None
        instance.group_id = None
        instance.kernel_params = None
        instance.primary_roles = []
        instance.hostname = cls.default_slave_name(instance)

        from nailgun.objects import OpenstackConfig
        OpenstackConfig.disable_by_nodes([instance])

        db().flush()
        db().refresh(instance)
开发者ID:katepimenova,项目名称:fuel-web,代码行数:35,代码来源:node.py

示例2: remove_from_cluster

# 需要导入模块: from nailgun.objects import Cluster [as 别名]
# 或者: from nailgun.objects.Cluster import clear_pending_changes [as 别名]
    def remove_from_cluster(cls, instance):
        """Remove Node from Cluster.
        Also drops networks assignment for Node and clears both
        roles and pending roles

        :param instance: Node instance
        :returns: None
        """
        if instance.cluster:
            Cluster.clear_pending_changes(
                instance.cluster,
                node_id=instance.id
            )
            netmanager = Cluster.get_network_manager(
                instance.cluster
            )
            netmanager.clear_assigned_networks(instance)
            netmanager.clear_bond_configuration(instance)
        cls.update_roles(instance, [])
        cls.update_pending_roles(instance, [])
        cls.remove_replaced_params(instance)
        instance.cluster_id = None
        instance.group_id = None
        instance.kernel_params = None
        instance.reset_name_to_default()
        db().flush()
        db().refresh(instance)
开发者ID:apporc,项目名称:fuel-web,代码行数:29,代码来源:node.py

示例3: update_pending_roles

# 需要导入模块: from nailgun.objects import Cluster [as 别名]
# 或者: from nailgun.objects.Cluster import clear_pending_changes [as 别名]
    def update_pending_roles(cls, instance, new_pending_roles):
        """Update pending_roles for Node instance.

        Logs an error if node doesn't belong to Cluster

        :param instance: Node instance
        :param new_pending_roles: list of new pending role names
        :returns: None
        """
        if not instance.cluster_id:
            logger.warning(
                u"Attempting to assign pending roles to node "
                u"'{0}' which isn't added to cluster".format(
                    instance.full_name))
            return

        logger.debug(
            u"Updating pending roles for node {0}: {1}".format(
                instance.full_name,
                new_pending_roles))

        if new_pending_roles == []:
            # TODO(enchantner): research why the hell we need this
            Cluster.clear_pending_changes(
                instance.cluster,
                node_id=instance.id
            )

        instance.pending_roles = new_pending_roles
        db().flush()
开发者ID:gdyuldin,项目名称:fuel-web,代码行数:32,代码来源:node.py

示例4: update_pending_roles

# 需要导入模块: from nailgun.objects import Cluster [as 别名]
# 或者: from nailgun.objects.Cluster import clear_pending_changes [as 别名]
    def update_pending_roles(cls, instance, new_pending_roles):
        if not instance.cluster_id:
            logger.warning(
                u"Attempting to assign pending roles to node "
                u"'{0}' which isn't added to cluster".format(
                    instance.name or instance.id
                )
            )
            return

        logger.debug(
            u"Updating pending roles for node {0}: {1}".format(
                instance.id,
                new_pending_roles
            )
        )

        if new_pending_roles == []:
            instance.pending_role_list = []
            # research why the hell we need this
            Cluster.clear_pending_changes(
                instance.cluster,
                node_id=instance.id
            )
        else:
            instance.pending_role_list = db().query(models.Role).filter_by(
                release_id=instance.cluster.release_id,
            ).filter(
                models.Role.name.in_(new_pending_roles)
            ).all()

        db().flush()
        db().refresh(instance)
开发者ID:MsiRgb,项目名称:fuel-web,代码行数:35,代码来源:node.py

示例5: update_pending_roles

# 需要导入模块: from nailgun.objects import Cluster [as 别名]
# 或者: from nailgun.objects.Cluster import clear_pending_changes [as 别名]
    def update_pending_roles(cls, instance, new_pending_roles):
        """Update pending_roles for Node instance.
        Logs an error if node doesn't belong to Cluster

        :param instance: Node instance
        :param new_pending_roles: list of new pending role names
        :returns: None
        """
        if not instance.cluster_id:
            logger.warning(
                u"Attempting to assign pending roles to node "
                u"'{0}' which isn't added to cluster".format(instance.name or instance.id)
            )
            return

        logger.debug(u"Updating pending roles for node {0}: {1}".format(instance.id, new_pending_roles))

        if new_pending_roles == []:
            instance.pending_role_list = []
            # TODO(enchantner): research why the hell we need this
            Cluster.clear_pending_changes(instance.cluster, node_id=instance.id)
        else:
            instance.pending_role_list = (
                db()
                .query(models.Role)
                .filter_by(release_id=instance.cluster.release_id)
                .filter(models.Role.name.in_(new_pending_roles))
                .all()
            )

        db().flush()
        db().refresh(instance)
开发者ID:blkart,项目名称:fuel-web,代码行数:34,代码来源:node.py

示例6: _update_cluster_data

# 需要导入模块: from nailgun.objects import Cluster [as 别名]
# 或者: from nailgun.objects.Cluster import clear_pending_changes [as 别名]
    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
开发者ID:koder-ua,项目名称:nailgun-fcert,代码行数:57,代码来源:task.py

示例7: remove_from_cluster

# 需要导入模块: from nailgun.objects import Cluster [as 别名]
# 或者: from nailgun.objects.Cluster import clear_pending_changes [as 别名]
 def remove_from_cluster(cls, instance):
     Cluster.clear_pending_changes(
         instance.cluster,
         node_id=instance.id
     )
     Cluster.get_network_manager(
         instance.cluster
     ).clear_assigned_networks(instance)
     instance.cluster_id = None
     instance.roles = instance.pending_roles = []
     instance.reset_name_to_default()
     db().flush()
     db().refresh(instance)
开发者ID:MsiRgb,项目名称:fuel-web,代码行数:15,代码来源:node.py

示例8: _update_cluster_data

# 需要导入模块: from nailgun.objects import Cluster [as 别名]
# 或者: from nailgun.objects.Cluster import clear_pending_changes [as 别名]
    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
开发者ID:SmartInfrastructures,项目名称:fuel-web-dev,代码行数:76,代码来源:task.py

示例9: _update_cluster_data

# 需要导入模块: from nailgun.objects import Cluster [as 别名]
# 或者: from nailgun.objects.Cluster import clear_pending_changes [as 别名]
    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
                )
开发者ID:ekorekin,项目名称:fuel-web,代码行数:75,代码来源:task.py


注:本文中的nailgun.objects.Cluster.clear_pending_changes方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。