diff --git a/instack_undercloud/undercloud.py b/instack_undercloud/undercloud.py index 07a9939b8..5f43056a5 100644 --- a/instack_undercloud/undercloud.py +++ b/instack_undercloud/undercloud.py @@ -38,6 +38,7 @@ from keystoneauth1 import exceptions as ks_exceptions from keystoneclient import discover import keystoneauth1.identity.generic as ks_auth from mistralclient.api import client as mistralclient +from mistralclient.api import base as mistralclient_exc from novaclient import client as novaclient from novaclient import exceptions import os_client_config @@ -1768,7 +1769,7 @@ def _create_mistral_config_environment(instack_env, mistral): env_name = 'tripleo.undercloud-config' try: env_data = mistral.environments.get(env_name).variables - except ks_exceptions.NotFound: + except (ks_exceptions.NotFound, mistralclient_exc.APIException): # If the environment is not created, we need to # create it with the information in config_data mistral.environments.create( diff --git a/releasenotes/notes/fix-mistral-error-handling-58010a43f53ded5e.yaml b/releasenotes/notes/fix-mistral-error-handling-58010a43f53ded5e.yaml new file mode 100644 index 000000000..3e90c29a8 --- /dev/null +++ b/releasenotes/notes/fix-mistral-error-handling-58010a43f53ded5e.yaml @@ -0,0 +1,6 @@ +--- +fixes: + - | + Fixed an incompatability with mistralclient 3.2.0, where a different + exception type was raised and thus not handled during the undercloud + install post config. See #1749186