Description of problem: Client is doing the following: Their IPV6 gateways always end in ---:??:28:: This format is valid and works outside of OpenStack. -They render templates with a site specific file and get something like this: external_gateway_ipv6: '???:???:???:cd:28::' And: rendered/overcloud-networks-deployed.yaml: gateway_ip: '???:???:???:cd:28::' -During overcloud deployment it fails with this: 2024-04-12 15:06:03.076 349649 ERROR tripleoclient.v1.overcloud_deploy.DeployOvercloud Traceback (most recent call last): 2024-04-12 15:06:03.076 349649 ERROR tripleoclient.v1.overcloud_deploy.DeployOvercloud File "/usr/lib/python3.9/site-packages/heatclient/common/environment_format.py", line 37, in parse 2024-04-12 15:06:03.076 349649 ERROR tripleoclient.v1.overcloud_deploy.DeployOvercloud env = yaml.load(env_str, Loader=template_format.yaml_loader) 2024-04-12 15:06:03.076 349649 ERROR tripleoclient.v1.overcloud_deploy.DeployOvercloud File "/usr/lib64/python3.9/site-packages/yaml/__init__.py", line 114, in load 2024-04-12 15:06:03.076 349649 ERROR tripleoclient.v1.overcloud_deploy.DeployOvercloud return loader.get_single_data() 2024-04-12 15:06:03.076 349649 ERROR tripleoclient.v1.overcloud_deploy.DeployOvercloud File "/usr/lib64/python3.9/site-packages/yaml/constructor.py", line 49, in get_single_data 2024-04-12 15:06:03.076 349649 ERROR tripleoclient.v1.overcloud_deploy.DeployOvercloud node = self.get_single_node() 2024-04-12 15:06:03.076 349649 ERROR tripleoclient.v1.overcloud_deploy.DeployOvercloud File "yaml/_yaml.pyx", line 707, in yaml._yaml.CParser.get_single_node 2024-04-12 15:06:03.076 349649 ERROR tripleoclient.v1.overcloud_deploy.DeployOvercloud File "yaml/_yaml.pyx", line 725, in yaml._yaml.CParser._compose_document 2024-04-12 15:06:03.076 349649 ERROR tripleoclient.v1.overcloud_deploy.DeployOvercloud File "yaml/_yaml.pyx", line 776, in yaml._yaml.CParser._compose_node 2024-04-12 15:06:03.076 349649 ERROR tripleoclient.v1.overcloud_deploy.DeployOvercloud File "yaml/_yaml.pyx", line 890, in yaml._yaml.CParser._compose_mapping_node 2024-04-12 15:06:03.076 349649 ERROR tripleoclient.v1.overcloud_deploy.DeployOvercloud File "yaml/_yaml.pyx", line 776, in yaml._yaml.CParser._compose_node 2024-04-12 15:06:03.076 349649 ERROR tripleoclient.v1.overcloud_deploy.DeployOvercloud File "yaml/_yaml.pyx", line 892, in yaml._yaml.CParser._compose_mapping_node 2024-04-12 15:06:03.076 349649 ERROR tripleoclient.v1.overcloud_deploy.DeployOvercloud File "yaml/_yaml.pyx", line 905, in yaml._yaml.CParser._parse_next_event 2024-04-12 15:06:03.076 349649 ERROR tripleoclient.v1.overcloud_deploy.DeployOvercloud yaml.scanner.ScannerError: mapping values are not allowed in this context 2024-04-12 15:06:03.076 349649 ERROR tripleoclient.v1.overcloud_deploy.DeployOvercloud in "<byte string>", line 67, column 74 2024-04-12 15:06:03.076 349649 ERROR tripleoclient.v1.overcloud_deploy.DeployOvercloud 2024-04-12 15:06:03.076 349649 ERROR tripleoclient.v1.overcloud_deploy.DeployOvercloud During handling of the above exception, another exception occurred: 2024-04-12 15:06:03.076 349649 ERROR tripleoclient.v1.overcloud_deploy.DeployOvercloud 2024-04-12 15:06:03.076 349649 ERROR tripleoclient.v1.overcloud_deploy.DeployOvercloud Traceback (most recent call last): 2024-04-12 15:06:03.076 349649 ERROR tripleoclient.v1.overcloud_deploy.DeployOvercloud File "/usr/lib/python3.9/site-packages/heatclient/common/environment_format.py", line 43, in parse 2024-04-12 15:06:03.076 349649 ERROR tripleoclient.v1.overcloud_deploy.DeployOvercloud env = yaml.load(env_str, Loader=yaml.SafeLoader) 2024-04-12 15:06:03.076 349649 ERROR tripleoclient.v1.overcloud_deploy.DeployOvercloud File "/usr/lib64/python3.9/site-packages/yaml/__init__.py", line 114, in load 2024-04-12 15:06:03.076 349649 ERROR tripleoclient.v1.overcloud_deploy.DeployOvercloud return loader.get_single_data() 2024-04-12 15:06:03.076 349649 ERROR tripleoclient.v1.overcloud_deploy.DeployOvercloud File "/usr/lib64/python3.9/site-packages/yaml/constructor.py", line 49, in get_single_data 2024-04-12 15:06:03.076 349649 ERROR tripleoclient.v1.overcloud_deploy.DeployOvercloud node = self.get_single_node() 2024-04-12 15:06:03.076 349649 ERROR tripleoclient.v1.overcloud_deploy.DeployOvercloud File "/usr/lib64/python3.9/site-packages/yaml/composer.py", line 36, in get_single_node 2024-04-12 15:06:03.076 349649 ERROR tripleoclient.v1.overcloud_deploy.DeployOvercloud document = self.compose_document() 2024-04-12 15:06:03.076 349649 ERROR tripleoclient.v1.overcloud_deploy.DeployOvercloud File "/usr/lib64/python3.9/site-packages/yaml/composer.py", line 55, in compose_document 2024-04-12 15:06:03.076 349649 ERROR tripleoclient.v1.overcloud_deploy.DeployOvercloud node = self.compose_node(None, None) 2024-04-12 15:06:03.076 349649 ERROR tripleoclient.v1.overcloud_deploy.DeployOvercloud File "/usr/lib64/python3.9/site-packages/yaml/composer.py", line 84, in compose_node 2024-04-12 15:06:03.076 349649 ERROR tripleoclient.v1.overcloud_deploy.DeployOvercloud node = self.compose_mapping_node(anchor) 2024-04-12 15:06:03.076 349649 ERROR tripleoclient.v1.overcloud_deploy.DeployOvercloud File "/usr/lib64/python3.9/site-packages/yaml/composer.py", line 133, in compose_mapping_node 2024-04-12 15:06:03.076 349649 ERROR tripleoclient.v1.overcloud_deploy.DeployOvercloud item_value = self.compose_node(node, item_key) 2024-04-12 15:06:03.076 349649 ERROR tripleoclient.v1.overcloud_deploy.DeployOvercloud File "/usr/lib64/python3.9/site-packages/yaml/composer.py", line 84, in compose_node 2024-04-12 15:06:03.076 349649 ERROR tripleoclient.v1.overcloud_deploy.DeployOvercloud node = self.compose_mapping_node(anchor) 2024-04-12 15:06:03.076 349649 ERROR tripleoclient.v1.overcloud_deploy.DeployOvercloud File "/usr/lib64/python3.9/site-packages/yaml/composer.py", line 127, in compose_mapping_node 2024-04-12 15:06:03.076 349649 ERROR tripleoclient.v1.overcloud_deploy.DeployOvercloud while not self.check_event(MappingEndEvent): 2024-04-12 15:06:03.076 349649 ERROR tripleoclient.v1.overcloud_deploy.DeployOvercloud File "/usr/lib64/python3.9/site-packages/yaml/parser.py", line 98, in check_event 2024-04-12 15:06:03.076 349649 ERROR tripleoclient.v1.overcloud_deploy.DeployOvercloud self.current_event = self.state() 2024-04-12 15:06:03.076 349649 ERROR tripleoclient.v1.overcloud_deploy.DeployOvercloud File "/usr/lib64/python3.9/site-packages/yaml/parser.py", line 428, in parse_block_mapping_key 2024-04-12 15:06:03.076 349649 ERROR tripleoclient.v1.overcloud_deploy.DeployOvercloud if self.check_token(KeyToken): 2024-04-12 15:06:03.076 349649 ERROR tripleoclient.v1.overcloud_deploy.DeployOvercloud File "/usr/lib64/python3.9/site-packages/yaml/scanner.py", line 116, in check_token 2024-04-12 15:06:03.076 349649 ERROR tripleoclient.v1.overcloud_deploy.DeployOvercloud self.fetch_more_tokens() 2024-04-12 15:06:03.076 349649 ERROR tripleoclient.v1.overcloud_deploy.DeployOvercloud File "/usr/lib64/python3.9/site-packages/yaml/scanner.py", line 223, in fetch_more_tokens 2024-04-12 15:06:03.076 349649 ERROR tripleoclient.v1.overcloud_deploy.DeployOvercloud return self.fetch_value() 2024-04-12 15:06:03.076 349649 ERROR tripleoclient.v1.overcloud_deploy.DeployOvercloud File "/usr/lib64/python3.9/site-packages/yaml/scanner.py", line 577, in fetch_value 2024-04-12 15:06:03.076 349649 ERROR tripleoclient.v1.overcloud_deploy.DeployOvercloud raise ScannerError(None, None, 2024-04-12 15:06:03.076 349649 ERROR tripleoclient.v1.overcloud_deploy.DeployOvercloud yaml.scanner.ScannerError: mapping values are not allowed here 2024-04-12 15:06:03.076 349649 ERROR tripleoclient.v1.overcloud_deploy.DeployOvercloud in "<byte string>", line 67, column 74: 2024-04-12 15:06:03.076 349649 ERROR tripleoclient.v1.overcloud_deploy.DeployOvercloud ... subnet: ???:???:???:cd:28:: 2024-04-12 15:06:03.076 349649 ERROR tripleoclient.v1.overcloud_deploy.DeployOvercloud ^ 2024-04-12 15:06:03.076 349649 ERROR tripleoclient.v1.overcloud_deploy.DeployOvercloud 2024-04-12 15:06:03.076 349649 ERROR tripleoclient.v1.overcloud_deploy.DeployOvercloud During handling of the above exception, another exception occurred: 2024-04-12 15:06:03.076 349649 ERROR tripleoclient.v1.overcloud_deploy.DeployOvercloud 2024-04-12 15:06:03.076 349649 ERROR tripleoclient.v1.overcloud_deploy.DeployOvercloud Traceback (most recent call last): 2024-04-12 15:06:03.076 349649 ERROR tripleoclient.v1.overcloud_deploy.DeployOvercloud File "/usr/lib/python3.9/site-packages/tripleoclient/command.py", line 32, in run 2024-04-12 15:06:03.076 349649 ERROR tripleoclient.v1.overcloud_deploy.DeployOvercloud super(Command, self).run(parsed_args) 2024-04-12 15:06:03.076 349649 ERROR tripleoclient.v1.overcloud_deploy.DeployOvercloud File "/usr/lib/python3.9/site-packages/osc_lib/command/command.py", line 39, in run 2024-04-12 15:06:03.076 349649 ERROR tripleoclient.v1.overcloud_deploy.DeployOvercloud return super(Command, self).run(parsed_args) 2024-04-12 15:06:03.076 349649 ERROR tripleoclient.v1.overcloud_deploy.DeployOvercloud File "/usr/lib/python3.9/site-packages/cliff/command.py", line 186, in run 2024-04-12 15:06:03.076 349649 ERROR tripleoclient.v1.overcloud_deploy.DeployOvercloud return_code = self.take_action(parsed_args) or 0 2024-04-12 15:06:03.076 349649 ERROR tripleoclient.v1.overcloud_deploy.DeployOvercloud File "/usr/lib/python3.9/site-packages/tripleoclient/v1/overcloud_deploy.py", line 1165, in take_action 2024-04-12 15:06:03.076 349649 ERROR tripleoclient.v1.overcloud_deploy.DeployOvercloud created_env_files = self.create_env_files( 2024-04-12 15:06:03.076 349649 ERROR tripleoclient.v1.overcloud_deploy.DeployOvercloud File "/usr/lib/python3.9/site-packages/tripleoclient/v1/overcloud_deploy.py", line 233, in create_env_files 2024-04-12 15:06:03.076 349649 ERROR tripleoclient.v1.overcloud_deploy.DeployOvercloud parameters = self.build_image_params( 2024-04-12 15:06:03.076 349649 ERROR tripleoclient.v1.overcloud_deploy.DeployOvercloud File "/usr/lib/python3.9/site-packages/tripleoclient/v1/overcloud_deploy.py", line 190, in build_image_params 2024-04-12 15:06:03.076 349649 ERROR tripleoclient.v1.overcloud_deploy.DeployOvercloud _, env = utils.process_multiple_environments( 2024-04-12 15:06:03.076 349649 ERROR tripleoclient.v1.overcloud_deploy.DeployOvercloud File "/usr/lib/python3.9/site-packages/tripleoclient/utils.py", line 1985, in process_multiple_environments 2024-04-12 15:06:03.076 349649 ERROR tripleoclient.v1.overcloud_deploy.DeployOvercloud files, env = template_utils.process_environment_and_files( 2024-04-12 15:06:03.076 349649 ERROR tripleoclient.v1.overcloud_deploy.DeployOvercloud File "/usr/lib/python3.9/site-packages/heatclient/common/template_utils.py", line 326, in process_environment_and_files 2024-04-12 15:06:03.076 349649 ERROR tripleoclient.v1.overcloud_deploy.DeployOvercloud env = environment_format.parse(raw_env) 2024-04-12 15:06:03.076 349649 ERROR tripleoclient.v1.overcloud_deploy.DeployOvercloud File "/usr/lib/python3.9/site-packages/heatclient/common/environment_format.py", line 45, in parse 2024-04-12 15:06:03.076 349649 ERROR tripleoclient.v1.overcloud_deploy.DeployOvercloud raise ValueError(yea) 2024-04-12 15:06:03.076 349649 ERROR tripleoclient.v1.overcloud_deploy.DeployOvercloud ValueError: mapping values are not allowed here 2024-04-12 15:06:03.076 349649 ERROR tripleoclient.v1.overcloud_deploy.DeployOvercloud in "<byte string>", line 67, column 74: 2024-04-12 15:06:03.076 349649 ERROR tripleoclient.v1.overcloud_deploy.DeployOvercloud ... subnet: ???:???:???:cd:28:: 2024-04-12 15:06:03.076 349649 ERROR tripleoclient.v1.overcloud_deploy.DeployOvercloud ^ 2024-04-12 15:06:03.076 349649 ERROR tripleoclient.v1.overcloud_deploy.DeployOvercloud 2024-04-12 15:06:03.079 349649 ERROR openstack [-] mapping values are not allowed here in "<byte string>", line 67, column 74: ... subnet: ???:???:???:cd:28:: The workaround is to add a 0 at the end ???:???:???:cd:28::0 and it works after rendering with it and deploying. The question for you is why it is not accepting with :: only. Version-Release number of selected component (if applicable): OSP17.1.1 How reproducible: 100% Steps to Reproduce: 1. Set a gateway IPv6 address ending with :: 2. Try to deploy your overcloud 3. Actual results: Deployment fails Expected results: Deployment succeed with IPv6 addresses ending with :: Additional info: We have templates and sos.
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory (Moderate: RHOSP 17.1.4 (openstack-tripleo-heat-templates) security update), and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHSA-2024:9978