diff --git a/tripleo_common/tests/utils/test_config.py b/tripleo_common/tests/utils/test_config.py index 8cc8a674d..dcd6b5e96 100644 --- a/tripleo_common/tests/utils/test_config.py +++ b/tripleo_common/tests/utils/test_config.py @@ -880,7 +880,8 @@ class TestConfig(base.TestCase): self.config = ooo_config.Config(heat) stack = mock.Mock() server_roles = dict(Controller='controller') - mock_get_network_config_data.return_value = dict(Controller='config') + mock_get_network_config_data.return_value = dict( + Controller='56f27b7a-7bb8-40bc-bfdb-a46f7f806b88') config_dir = '/tmp/tht' self.config.render_network_config(stack, config_dir, server_roles) @@ -898,8 +899,9 @@ class TestConfig(base.TestCase): self.config = ooo_config.Config(heat) stack = mock.Mock() server_roles = dict(node1='Controller') - mock_get_network_config_data.return_value = dict(node1='config', - node2='config') + mock_get_network_config_data.return_value = dict( + node1='56f27b7a-7bb8-40bc-bfdb-a46f7f806b88', + node2='56f27b7a-7bb8-40bc-bfdb-a46f7f806b88') config_dir = '/tmp/tht' self.config.render_network_config(stack, config_dir, server_roles) self.assertEqual(2, mock_open.call_count) diff --git a/tripleo_common/utils/config.py b/tripleo_common/utils/config.py index f0bdc09e0..a3883438e 100644 --- a/tripleo_common/utils/config.py +++ b/tripleo_common/utils/config.py @@ -23,6 +23,7 @@ import warnings import yaml import jinja2 +from oslo_utils import uuidutils from tripleo_common import constants from tripleo_common.utils.safe_import import git @@ -222,6 +223,12 @@ class Config(object): network_config = self.get_network_config_data(stack) for server, config in network_config.items(): if server in server_roles: + if config is None or not uuidutils.is_uuid_like(config): + # config should be a valid heat resource id + err_msg = ('Invalid network config for role %s. Please ' + 'check the network config templates used.' % + server_roles[server]) + raise ValueError(err_msg) server_deployment_dir = os.path.join( config_dir, server_roles[server], server) self._mkdir(server_deployment_dir)