Merge "[stable] Raise proper error for None network config" into stable/train

This commit is contained in:
Zuul 2021-01-25 11:13:11 +00:00 committed by Gerrit Code Review
commit 71bc42cf7f
2 changed files with 12 additions and 3 deletions

View File

@ -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)

View File

@ -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)