Merge "node extract provisioned - warning no net_conf tpl"

This commit is contained in:
Zuul 2022-04-20 10:36:05 +00:00 committed by Gerrit Code Review
commit d5b00e6a36
2 changed files with 18 additions and 4 deletions

View File

@ -1009,7 +1009,6 @@ class TestExtractProvisionedNode(test_utils.TestCommand):
'parameters': {
'ComputeHostnameFormat': '%stackname%-novacompute-%index%',
'ControllerHostnameFormat': '%stackname%-controller-%index%',
'ComputeNetworkConfigTemplate': 'templates/compute.j2',
'ControllerNetworkConfigTemplate': 'templates/controller.j2'
},
'outputs': [{
@ -1183,7 +1182,7 @@ class TestExtractProvisionedNode(test_utils.TestCommand):
'network_config': {'network_config_update': False,
'physical_bridge_name': 'br-ex',
'public_interface_name': 'nic1',
'template': 'templates/compute.j2'},
'template': None},
'networks': [{'network': 'ctlplane',
'vif': True},
{'network': 'internal_api',
@ -1224,7 +1223,11 @@ class TestExtractProvisionedNode(test_utils.TestCommand):
}], yaml.safe_load(result))
with open(self.extract_file.name) as f:
self.assertEqual(yaml.safe_load(result), yaml.safe_load(f))
file_content = f.read()
self.assertEqual(yaml.safe_load(result), yaml.safe_load(file_content))
self.assertIn('# WARNING: No network config found for role Compute. '
'Please edit the file and set the path to the correct '
'network config template.\n', file_content)
def test_extract_ips_from_pool(self):
stack = mock.Mock()
@ -1262,7 +1265,7 @@ class TestExtractProvisionedNode(test_utils.TestCommand):
'network_config': {'network_config_update': False,
'physical_bridge_name': 'br-ex',
'public_interface_name': 'nic1',
'template': 'templates/compute.j2'},
'template': None},
'networks': [{'network': 'ctlplane',
'vif': True},
{'network': 'internal_api',

View File

@ -558,6 +558,7 @@ class ExtractProvisionedNode(command.Command):
hostname_node_map[hostname] = node.name
data = []
warnings = []
for role_name, entries in host_vars.items():
role_count = len(entries)
@ -596,6 +597,11 @@ class ExtractProvisionedNode(command.Command):
net_conf = defaults['network_config'] = {}
net_conf['template'] = parameters.get(
role_name + 'NetworkConfigTemplate')
if net_conf['template'] is None:
warnings.append(
'WARNING: No network config found for role {}. Please '
'edit the file and set the path to the correct network '
'config template.'.format(role_name))
if parameters.get(role_name + 'NetworkDeploymentActions'):
network_deployment_actions = parameters.get(
@ -657,6 +663,11 @@ class ExtractProvisionedNode(command.Command):
datetime.datetime.now().isoformat())
file_data.write('# openstack %s\n#\n\n' %
' '.join(self.app.command_options))
# Write any warnings in the file header
for warning in warnings:
file_data.write('# {}\n'.format(warning))
if warnings:
file_data.write(('#\n\n'))
# Write the data
if data:
yaml.dump(data, file_data, RoleDataDumper, width=120,