dimberman commented on a change in pull request #6377: [AIRFLOW-5589] monitor 
pods by labels instead of names
URL: https://github.com/apache/airflow/pull/6377#discussion_r338015860
 
 

 ##########
 File path: tests/integration/kubernetes/test_kubernetes_pod_operator.py
 ##########
 @@ -51,6 +53,49 @@
 # pylint: disable=unused-argument
 class TestKubernetesPodOperator(unittest.TestCase):
 
+    @staticmethod
+    def create_context(task):
+        return {
+            'task': task,
+            'dag': DAG(dag_id="dag"),
+            'ts': str(timezone.utcnow()),
+            'name': task.name
+        }
+
+    def compare_two_pods(self, actual_pod):
+        """
+        This is a disgusting hack that is unfortunately necessary because 
kubernetes is not consistent
+        in it's return objects between "create_pod" and "get_pod"
+        :param actual_pod:
+        """
+        self._compare_sub_dicts(actual_pod['metadata'], 
expected_sub_pod=self.expected_pod['metadata'])
+
+        expected_containers = self.expected_pod['spec']['containers']
+        actual_containers = actual_pod['spec']['containers']
+        self.assertEqual(len(expected_containers), len(actual_containers))
+
+        self._compare_pod_containers(actual_containers, expected_containers)
+
+        filtered_spec_metadata = {k: v for k, v in 
self.expected_pod['spec'].items()
+                                  if (v and k != "containers")}
+
+        self._compare_sub_dicts(filtered_spec_metadata, 
expected_sub_pod=actual_pod['spec'])
+
+    def _compare_pod_containers(self, actual_containers, expected_containers):
+        container_map = {container['name']: container for container in 
expected_containers}
 
 Review comment:
   Does the order matter? Yaml is declarative so I think the general assumption 
is that all containers are ready "when they're ready." The only place I'd 
imagine order mattering is between init-container -> main containers

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

Reply via email to