Hi Harald

Thanks for your response. After passing the role data with relevant details we were able to successfully deploy Overcloud and pass Service NetMap as well.

Thanks a lot for your help

Regards
Anirudh Gupta

On Tue, Jun 7, 2022 at 7:01 PM Harald Jensas <hjensas@redhat.com> wrote:
On 6/7/22 14:32, Harald Jensas wrote:
> On 6/7/22 11:49, Anirudh Gupta wrote:
>> Hi Harald/Julia/Openstack Team
>>
>> I had successfully installed Ironic Service in Tripleo Train, Ussuri
>> Release with the help of openstack discuss team members.
>>
>> https://lists.openstack.org/pipermail/openstack-discuss/2022-February/027047.html
>> <https://lists.openstack.org/pipermail/openstack-discuss/2022-February/027047.html>
>>
>>
>> I had custom network configuration for which I had passed Service net
>> map as below in network-environment file.
>>
>> parameter_defaults:
>>    ServiceNetMap:
>>      IronicApiNetwork: oc_provisioning
>>      IronicNetwork: oc_provisioning
>>
>> But with the Wallaby Release, since the deployment format has changed
>> There is no network-environment file.
>>
>> So I tried passing it in a separate environment.yaml file along with
>> the templates.
>> Command to deploy  in wallaby:
>>
>> openstack overcloud deploy --templates \
>>      --networks-file /home/stack/templates/custom_network_data.yaml \
>>      --vip-file  /home/stack/templates/custom_vip_data.yaml \
>>      --baremetal-deployment
>>   /home/stack/templates/overcloud-baremetal-deploy.yaml
>> --deployed-server \
>>      --network-config \
>>      -e /home/stack/templates/environment.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/services/ptp.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/containers-prepare-parameter.yaml
>>
>> Without Service Net Map, deployment was successful but TFTP of image
>> was an issue since we are going with custom network approach.
>>
>> Passing Service Net map details in a seperate file environment.yaml,
>> is giving the below error:
>>
>> 24d-f43f-6f76-000000006ce9 | TASK | Create containers managed by
>> Podman for /var/lib/tripleo-config/container-startup-config/step_3
>> 2022-06-07 11:16:46.806982 | | WARNING | ERROR: Can't run container
>> ironic_db_sync
>> stderr: Error: statfs
>> /var/lib/config-data/puppet-generated/ironic_api: no such file or
>> directory
>> 2022-06-07 11:16:46.809252 | 525400fd-f24d-f43f-6f76-000000006c79 |
>> FATAL | Create containers managed by Podman for
>> /var/lib/tripleo-config/container-startup-config/step_3 |
>> overcloud-controller-1 | error={"changed": false, "msg": "Failed
>> containers: ironic_db_sync"}
>> 2022-06-07 11:16:46.810197 | 525400fd-f24d-f43f-6f76-000000006c79 |
>> TIMING | tripleo_container_manage : Create containers managed by
>> Podman for /var/lib/tripleo-config/container-startup-config/step_3 |
>> overcloud-controller-1 | 0:11:40.574944 | 10.62s
>> 2022-06-07 11:16:47.683400 | | WARNING | ERROR: Can't run container
>> ironic_db_sync
>> stderr: Error: statfs
>> /var/lib/config-data/puppet-generated/ironic_api: no such file or
>> directory
>> 2022-06-07 11:16:47.684455 | 525400fd-f24d-f43f-6f76-000000006ce9 |
>> FATAL | Create containers managed by Podman for
>> /var/lib/tripleo-config/container-startup-config/step_3 |
>> overcloud-controller-2 | error={"changed": false, "msg": "Failed
>> containers: ironic_db_sync"}
>>
>> Can you please suggest the place we can pass the service net map
>> details in Wallaby Release to resolve this issue?
>>
>
> You should be able to pass it in any of the environment files, like you
> did. Can you try adding the following to the environment file where you
> override the ServiceNetMap?
>
> parameter_merge_strategies:
>    ServiceNetMap: merge
>

Actually, my bad. (Thanks Rabi for reminding me on IRC.) The merge
strategies is after a change in master. With Wallaby we still have
ServiceNetMapDefaults which is merged with overrides in ServiceNetMap.

AFICT from this error ...

 > 2022-06-07 11:16:47.683400 | | WARNING | ERROR: Can't run container
 > ironic_db_sync
 > stderr: Error: statfs
 > /var/lib/config-data/puppet-generated/ironic_api: no such file or
 > directory

... it did not execute $THT/common/container-puppet.sh for the
ironic_api service correctly.

Could it be because you don't use a custom roles file?
The default[1] role file does not have the `oc_provisioning`
provisioning network. I wonder if some task is skipped because the node
is not on the network the service is mapped to. Can you try using a
custom roles file with the `oc_provisioning` network defined on the
controller role?

I think we probably need more information to understand the problem.
Would it be possible to share more data? i.e full deploy log, all custom
environment files?

Thanks!

[1] https://opendev.org/openstack/tripleo-heat-templates/src/branch/stable/wallaby/roles_data.yaml#L18