This is an automated email from the ASF dual-hosted git repository. ash pushed a commit to branch v2-1-test in repository https://gitbox.apache.org/repos/asf/airflow.git
commit 8813c3dc85503e7c9cf8189b1bbe76e886f62bdd Author: Ephraim Anierobi <[email protected]> AuthorDate: Fri Jun 18 08:56:05 2021 +0100 Allow null value for operator field in task_instance schema(REST API) (#16516) This change makes it possible to get "old" task instances from 1.10.x (cherry picked from commit 087556f0c210e345ac1749933ff4de38e40478f6) --- airflow/api_connexion/openapi/v1.yaml | 1 + tests/api_connexion/endpoints/test_task_instance_endpoint.py | 9 ++++++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/airflow/api_connexion/openapi/v1.yaml b/airflow/api_connexion/openapi/v1.yaml index 02a6690..182f356 100644 --- a/airflow/api_connexion/openapi/v1.yaml +++ b/airflow/api_connexion/openapi/v1.yaml @@ -2137,6 +2137,7 @@ components: type: integer operator: type: string + nullable: true queued_when: type: string nullable: true diff --git a/tests/api_connexion/endpoints/test_task_instance_endpoint.py b/tests/api_connexion/endpoints/test_task_instance_endpoint.py index 0b35ee3..b28330e 100644 --- a/tests/api_connexion/endpoints/test_task_instance_endpoint.py +++ b/tests/api_connexion/endpoints/test_task_instance_endpoint.py @@ -135,6 +135,13 @@ class TestTaskInstanceEndpoint: class TestGetTaskInstance(TestTaskInstanceEndpoint): def test_should_respond_200(self, session): self.create_task_instances(session) + # Update ti and set operator to None to + # test that operator field is nullable. + # This prevents issue when users upgrade to 2.0+ + # from 1.10.x + # https://github.com/apache/airflow/issues/14421 + session.query(TaskInstance).update({TaskInstance.operator: None}, synchronize_session='fetch') + session.commit() response = self.client.get( "/api/v1/dags/example_python_operator/dagRuns/TEST_DAG_RUN_ID/taskInstances/print_the_context", environ_overrides={"REMOTE_USER": "test"}, @@ -148,7 +155,7 @@ class TestGetTaskInstance(TestTaskInstanceEndpoint): "executor_config": "{}", "hostname": "", "max_tries": 0, - "operator": "PythonOperator", + "operator": None, "pid": 100, "pool": "default_pool", "pool_slots": 1,
