[ https://issues.apache.org/jira/browse/AIRFLOW-145?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Siddharth Anand reassigned AIRFLOW-145: --------------------------------------- Assignee: Siddharth Anand > 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 > Assignee: Siddharth Anand > Attachments: screenshot-1.png > > > h3.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. > h3.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: > {code} > 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}) > {code} > h3.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. > Sidenote: the PythonSensor you see in the attached picture is a sensor which > evaluates the truthy- or falsey-ness of a Python callable. It has been tested > extensively and works as intended. > reference: https://github.com/apache/incubator-airflow/issues/1521 -- This message was sent by Atlassian JIRA (v6.3.4#6332)