コード例 #1
0
ファイル: actionchainrunner.py プロジェクト: rgaertner/st2
    def _run_action(self,
                    action_node,
                    parent_execution_id,
                    params,
                    wait_for_completion=True):
        liveaction = LiveActionDB(action=action_node.ref)
        liveaction.parameters = action_param_utils.cast_params(
            action_ref=action_node.ref, params=params)
        if action_node.notify:
            liveaction.notify = NotificationsHelper.to_model(
                action_node.notify)

        liveaction.context = {
            'parent': str(parent_execution_id),
            'chain': vars(action_node)
        }

        liveaction, _ = action_service.schedule(liveaction)

        while (wait_for_completion
               and liveaction.status != LIVEACTION_STATUS_SUCCEEDED
               and liveaction.status != LIVEACTION_STATUS_FAILED):
            eventlet.sleep(1)
            liveaction = action_db_util.get_liveaction_by_id(liveaction.id)

        return liveaction
コード例 #2
0
 def _get_action_exec_db_model(self, action_db, params):
     liveaction_db = LiveActionDB()
     liveaction_db.status = action_constants.LIVEACTION_STATUS_SCHEDULED
     liveaction_db.start_timestamp = datetime.datetime.utcnow()
     liveaction_db.action = ResourceReference(name=action_db.name,
                                              pack=action_db.pack).ref
     liveaction_db.parameters = params
     liveaction_db.context = {'user': cfg.CONF.system_user.user}
     return liveaction_db
コード例 #3
0
 def _get_failingaction_exec_db_model(self, params):
     liveaction_db = LiveActionDB()
     liveaction_db.status = action_constants.LIVEACTION_STATUS_SCHEDULED
     liveaction_db.start_timestamp = datetime.datetime.now()
     liveaction_db.action = ResourceReference(
         name=RunnerContainerTest.failingaction_db.name,
         pack=RunnerContainerTest.failingaction_db.pack).ref
     liveaction_db.parameters = params
     liveaction_db.context = {'user': cfg.CONF.system_user.user}
     return liveaction_db
コード例 #4
0
ファイル: actionchainrunner.py プロジェクト: srenatus/st2
    def _run_action(action_node, parent_execution_id, params, wait_for_completion=True):
        execution = LiveActionDB(action=action_node.ref)
        execution.parameters = action_param_utils.cast_params(action_ref=action_node.ref,
                                                              params=params)
        execution.context = {
            'parent': str(parent_execution_id),
            'chain': vars(action_node)
        }

        liveaction, _ = action_service.schedule(execution)
        while (wait_for_completion and
               liveaction.status != LIVEACTION_STATUS_SUCCEEDED and
               liveaction.status != LIVEACTION_STATUS_FAILED):
            eventlet.sleep(1)
            liveaction = action_db_util.get_liveaction_by_id(liveaction.id)
        return liveaction
コード例 #5
0
ファイル: actionchainrunner.py プロジェクト: timff/st2
 def _run_action(action_node,
                 parent_execution_id,
                 params,
                 wait_for_completion=True):
     execution = LiveActionDB(action=action_node.ref)
     execution.parameters = action_param_utils.cast_params(
         action_ref=action_node.ref, params=params)
     execution.context = {
         'parent': str(parent_execution_id),
         'chain': vars(action_node)
     }
     execution, _ = action_service.schedule(execution)
     while (wait_for_completion
            and execution.status != LIVEACTION_STATUS_SUCCEEDED
            and execution.status != LIVEACTION_STATUS_FAILED):
         eventlet.sleep(1)
         execution = action_db_util.get_liveaction_by_id(execution.id)
     return execution