You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airflow.apache.org by "William Clark (JIRA)" <ji...@apache.org> on 2016/05/19 18:43:13 UTC

[jira] [Created] (AIRFLOW-145) trigger_rule='one_success' not allowing tasks downstream of a BranchPythonOperator to be executed

William Clark created AIRFLOW-145:
-------------------------------------

             Summary: trigger_rule='one_success' not allowing tasks downstream of a BranchPythonOperator to be executed
                 Key: AIRFLOW-145
                 URL: https://issues.apache.org/jira/browse/AIRFLOW-145
             Project: Apache Airflow
          Issue Type: Bug
          Components: operators
    Affects Versions: Airflow 1.7.0
         Environment: Airflow version: 1.7.0rc3
Airflow components: webserver, scheduler, worker, postgres database, CeleryExecutor
Relevant airflow.cfg settings: nothing special here; mostly defaults
Python Version: 3.4.3
Operating System: Centos 6.7
Python packages: virtualenv with standard airflow install
            Reporter: William Clark


Background
We are constructing a workflow to automate standard business processes around the creation and maintenance of virtual machines. After creation, we verify several information points on the VM to ensure that it is a viable machine and that no configuration errors occurred. If it fails verification and is not running, then it should be deleted. If it fails verification and is running, then we stop it first, then delete it.

What did you expect to happen?
After researching the BranchPythonOperator, I found that I should be using trigger_rule='one_success' to allow a task at a join point downstream of the branch(es) to be triggered, as mentioned in #1078. So, I defined the task as follows:

delete_vm = PythonOperator(
     task_id='delete_vm',
     trigger_rule=TriggerRule.ONE_SUCCESS,
     python_callable=_delete_vm,
     provide_context=True,
     dag=dag)

delete_vm.set_upstream({poll_vm_stop, verify_vm})

What happened instead?
Rather than executing correctly, the delete_vm task is marked as skipped and is not re-evaluated following poll_vm_stop. There is no stack trace available, as the task simply does not execute.

reference: https://github.com/apache/incubator-airflow/issues/1521



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)