openstack overcloud upgrade run --limit Controller --playbook upgrade_steps_playbook.yaml
Few things to note:2022-03-04 14:29:56.571690 | 525400cb-2e90-4086-e760-00000000009b | TASK | Ensure DNF modules have the right stream2022-03-04 14:29:57.723661 | 525400cb-2e90-4086-e760-00000000009b | FATAL | Ensure DNF modules have the right stream | overcloud-novacompute-0 | item={'module': 'container-tools', 'stream': '3.0'} | error={"ansible_loop_var": "item", "changed": false, "item": {"module": "container-tools", "stream": "3.0"}, "module_stderr": "Traceback (most recent call last):\n File \"<stdin>\", line 102, in <module>\n File \"<stdin>\", line 94, in _ansiballz_main\n File \"<stdin>\", line 40, in invoke_module\n File \"/usr/lib64/python3.6/runpy.py\", line 205, in run_module\n return _run_module_code(code, init_globals, run_name, mod_spec)\n File \"/usr/lib64/python3.6/runpy.py\", line 96, in _run_module_code\n mod_name, mod_spec, pkg_name, script_name)\n File \"/usr/lib64/python3.6/runpy.py\", line 85, in _run_code\n exec(code, run_globals)\n File \"/tmp/ansible_dnf_payload_3lb54omj/ansible_dnf_payload.zip/ansible/modules/packaging/os/dnf.py\", line 1370, in <module>\n File \"/tmp/ansible_dnf_payload_3lb54omj/ansible_dnf_payload.zip/ansible/modules/packaging/os/dnf.py\", line 1359, in main\n File \"/tmp/ansible_dnf_payload_3lb54omj/ansible_dnf_payload.zip/ansible/modules/packaging/os/dnf.py\", line 1338, in run\n File \"/tmp/ansible_dnf_payload_3lb54omj/ansible_dnf_payload.zip/ansible/modules/packaging/os/dnf.py\", line 996, in ensure\n File \"/usr/lib/python3.6/site-packages/dnf/module/module_base.py\", line 144, in install\n \"Installing module from Fail-Safe repository is not allowed\"))\ndnf.exceptions.Error: Installing module from Fail-Safe repository is not allowed\n", "module_stdout": "", "msg": "MODULE FAILURE\nSee stdout/stderr for the exact error", "rc": 1}
On 2/25/22 12:21, Lokendra Rathour wrote:
> Hi Team,
>
> we are trying to upgrade *Triple0 Train to Ussuri.*
> Undercloud upgrade is done successfully.
> *_OverCloud Upgrade:_*
> As a first step in overcloud upgrade, we are running " *openstack
> overcloud upgrade prepare* " command.
> which is throwing following error:
>
> overcloud: ERROR: Property error:
> resources.InternalApiVirtualIP.properties: Unknown Property DnsName\n
> File \"/usr/lib/python3.6/site-packages/heat/common/wsgi.py\", line
> 891, in __call__\n request, **action_args)\n File
> \"/usr/lib/python3.6/site-packages/heat/common/wsgi.py\", line 964, in
> dispatch\n return method(*args, **kwargs)\n File
> \"/usr/lib/python3.6/site-packages/heat/api/openstack/v1/util.py\", line
> 56, in handle_stack_method\n return handler(controller, req,
> **kwargs)\n File
> \"/usr/lib/python3.6/site-packages/heat/api/openstack/v1/stacks.py\",
> line 633, in validate_template\n raise
> exc.HTTPBadRequest(result['Error'])\n", "success": false}*
>
The DnsName property was added to templats in Ussuri, this change:
https://review.opendev.org/c/openstack/tripleo-heat-templates/+/715883
Somewhere in you environment files you are mapping
`OS::TripleO::Network::Ports::InternalApiVipPort` to a local template
file instead of using the in-tree template.
You either need to add DnsName paramter to your local VipPort template,
or change the resource_registry so that you map to the in-tree port
template.
`/usr/share/openstack-tripleo-heat-template/network/ports/internal_api.yaml`
is the in-tree template you want.
> *_Command used to run the overcloud upgrade prepare:_*
>
> *(undercloud) [stack@undercloud ~]$ cat upgrade_overcloud_prepare.sh
> openstack overcloud upgrade prepare --templates \
> -r /home/stack/templates/roles_data.yaml \
> -n /home/stack/templates/network_data.yaml \
> -e /home/stack/templates/environment.yaml \
> -e /home/stack/templates/environments/network-isolation.yaml \
Most likely the mapping is in this network-isolation.yaml.
If you use the in-tree environment
`/usr/share/openstack-tripleo-heat-tempaltes/envioronments/network-isolation.yaml`
instead you should not run into these type of issues on upgrade.
> -e /home/stack/templates/environments/network-environment.yaml \
I would also recommend to use the in-tree network-environment.yaml
-e
/usr/share/openstack-tripleo-heat-tempaltes/envioronments/network-environment.yaml
Then add another file to override anything in the in-tree
network-environment.yaml.
-e /home/stack/templates/environments/network-environment-overrides.yaml
> -e
> /usr/share/openstack-tripleo-heat-templates/environments/services/ironic-conductor.yaml
> \
> -e
> /usr/share/openstack-tripleo-heat-templates/environments/services/ironic-inspector.yaml
> \
> -e
> /usr/share/openstack-tripleo-heat-templates/environments/services/ironic-overcloud.yaml
> \
> -e /home/stack/templates/ironic-config.yaml \
> -e
> /usr/share/openstack-tripleo-heat-templates/environments/docker-ha.yaml \
> -e
> /usr/share/openstack-tripleo-heat-templates/environments/podman.yaml \
> -e /home/stack/templates/init-repo.yaml \
> -e /home/stack/containers-prepare-parameter.yaml
--
Harald