diff --git a/airflow/kubernetes/pod.py b/airflow/kubernetes/pod.py index 52e27b68bb6331..b799c505f40855 100644 --- a/airflow/kubernetes/pod.py +++ b/airflow/kubernetes/pod.py @@ -39,6 +39,11 @@ def has_limits(self): def has_requests(self): return self.request_cpu is not None or self.request_memory is not None + def __str__(self): + return "Request: [cpu: {}, memory: {}], Limit: [cpu: {}, memory: {}, gpu: {}]".format( + self.request_cpu, self.request_memory, self.limit_cpu, self.limit_memory, self.limit_gpu + ) + class Port: def __init__( diff --git a/tests/kubernetes/kubernetes_request_factory/test_kubernetes_request_factory.py b/tests/kubernetes/kubernetes_request_factory/test_kubernetes_request_factory.py index 290f682baa453d..6786bea0c23cd8 100644 --- a/tests/kubernetes/kubernetes_request_factory/test_kubernetes_request_factory.py +++ b/tests/kubernetes/kubernetes_request_factory/test_kubernetes_request_factory.py @@ -249,6 +249,12 @@ def test_extract_requests(self): KubernetesRequestFactory.extract_resources(pod, self.input_req) self.assertEqual(self.input_req, self.expected) + def test_display_resources(self): + resources_string = str(Resources('1Gi', 1)) + self.assertEqual( + resources_string, + "Request: [cpu: 1, memory: 1Gi], Limit: [cpu: None, memory: None, gpu: None]") + def test_extract_limits(self): # Test when resources is not empty resources = Resources(