Hi Harald / Team,
Thanks for the support here. 
It did help in the classification of the issue and we saw that we need to re-render the templates for an upgrade to proceed.
After re-rendering we saw the diff of DNS related in the templates.

Now we have completed the next few steps and are facing issues when running the below commands:

openstack overcloud upgrade run --limit Controller --playbook upgrade_steps_playbook.yaml

It gives the error as :

2022-03-04 14:29:56.571690 | 525400cb-2e90-4086-e760-00000000009b |       TASK | Ensure DNF modules have the right stream
2022-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}

Few things to note:
Please advice over the same issue. 

Best Regards,
Lokendra


On Sun, Feb 27, 2022 at 6:50 AM Harald Jensas <hjensas@redhat.com> wrote:
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



--
~ Lokendra