Example #1
0
    def prepare_cleaning(self, task):
        """Boot into the agent to prepare for cleaning.

        :param task: a TaskManager object containing the node
        :raises NodeCleaningFailure: if the previous cleaning ports cannot
            be removed or if new cleaning ports cannot be created
        :returns: states.CLEANWAIT to signify an asynchronous prepare.
        """
        return deploy_utils.prepare_inband_cleaning(task, manage_boot=True)
Example #2
0
    def prepare_cleaning(self, task):
        """Boot into the agent to prepare for cleaning.

        :param task: a TaskManager object containing the node
        :raises NodeCleaningFailure: if the previous cleaning ports cannot
            be removed or if new cleaning ports cannot be created
        :returns: states.CLEANWAIT to signify an asynchronous prepare.
        """
        return deploy_utils.prepare_inband_cleaning(task, manage_boot=True)
Example #3
0
    def prepare_cleaning(self, task):
        """Boot into the agent to prepare for cleaning.

        :param task: a TaskManager object containing the node
        :raises: NodeCleaningFailure, NetworkError if the previous cleaning
            ports cannot be removed or if new cleaning ports cannot be created.
        :raises: InvalidParameterValue if cleaning network UUID config option
            has an invalid value.
        :returns: states.CLEANWAIT to signify an asynchronous prepare
        """
        return deploy_utils.prepare_inband_cleaning(
            task, manage_boot=CONF.agent.manage_agent_boot)
Example #4
0
    def prepare_cleaning(self, task):
        """Boot into the agent to prepare for cleaning.

        :param task: a TaskManager object containing the node
        :raises: NodeCleaningFailure, NetworkError if the previous cleaning
            ports cannot be removed or if new cleaning ports cannot be created.
        :raises: InvalidParameterValue if cleaning network UUID config option
            has an invalid value.
        :returns: states.CLEANWAIT to signify an asynchronous prepare
        """
        return deploy_utils.prepare_inband_cleaning(
            task, manage_boot=CONF.agent.manage_agent_boot)
Example #5
0
    def prepare_cleaning(self, task):
        """Prepare environment for cleaning

        Boot into the agent to prepare for cleaning if in-band cleaning step
        is requested.

        :param task: a TaskManager instance containing the node to act on.
        :returns: states.CLEANWAIT if there is any in-band clean step to
                  signify an asynchronous prepare.
        """
        node = task.node

        inband_steps = [step for step
                        in node.driver_internal_info.get('clean_steps', [])
                        if {'interface': step['interface'],
                            'step': step['step']} not in _OOB_CLEAN_STEPS]

        if ('agent_cached_clean_steps' not in node.driver_internal_info or
            inband_steps):
                return deploy_utils.prepare_inband_cleaning(task,
                                                            manage_boot=True)
Example #6
0
    def prepare_cleaning(self, task):
        """Prepare environment for cleaning

        Boot into the agent to prepare for cleaning if in-band cleaning step
        is requested.

        :param task: a TaskManager instance containing the node to act on.
        :returns: states.CLEANWAIT if there is any in-band clean step to
                  signify an asynchronous prepare.
        """
        node = task.node

        inband_steps = [
            step for step in node.driver_internal_info['clean_steps'] if {
                'interface': step['interface'],
                'step': step['step']
            } not in _OOB_CLEAN_STEPS
        ]

        if ('agent_cached_clean_steps' not in node.driver_internal_info
                or inband_steps):
            return deploy_utils.prepare_inband_cleaning(task, manage_boot=True)