diff --git a/kubernetes/e2e_test/test_utils.py b/kubernetes/e2e_test/test_utils.py index dc2be1097..df387a28a 100644 --- a/kubernetes/e2e_test/test_utils.py +++ b/kubernetes/e2e_test/test_utils.py @@ -75,7 +75,6 @@ class TestUtils(unittest.TestCase): name="nginx-app", namespace="default", body={}) - def test_create_extensions_deployment_from_yaml(self): """ Should be able to create an extensions/v1beta1 deployment. diff --git a/kubernetes/utils/create_from_yaml.py b/kubernetes/utils/create_from_yaml.py index 8b3c19ba1..cf157da58 100644 --- a/kubernetes/utils/create_from_yaml.py +++ b/kubernetes/utils/create_from_yaml.py @@ -60,9 +60,16 @@ def create_from_yaml( yml_document_all = yaml.safe_load_all(yaml_file) # Load all documents from a single YAML file + fail_exceptions = [] + for yml_document in yml_document_all: - create_from_dict(k8s_client, yml_document, verbose, - **kwargs) + exceptions = create_from_dict(k8s_client, yml_document, verbose, + **kwargs) + if exceptions: + fail_exceptions.extend(exceptions) + + if fail_exceptions: + raise FailToCreateError(fail_exceptions) def create_from_dict(k8s_client, yml_document, verbose=False, **kwargs): @@ -94,7 +101,7 @@ def create_from_dict(k8s_client, yml_document, verbose=False, **kwargs): # In case we have exceptions waiting for us, raise them if api_exceptions: - raise FailToCreateError(api_exceptions) + return api_exceptions def create_from_yaml_single_item(