<div dir="ltr"><div>Hi Harald, </div><div>Thanks for the response, please find my response inline:</div><div><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Feb 10, 2022 at 8:24 PM Harald Jensas <<a href="mailto:hjensas@redhat.com">hjensas@redhat.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On 2/10/22 14:49, Lokendra Rathour wrote:<br>
> Hi Harald,<br>
> Thanks once again for your support, we tried activating the parameters:<br>
> ServiceNetMap:<br>
>      IronicApiNetwork: provisioning<br>
>      IronicNetwork: provisioning<br>
> at environments/network-environments.yaml<br>
> image.png<br>
> After changing these values the updated or even the fresh deployments <br>
> are failing.<br>
> <br>
<br>
How did deployment fail?<br></blockquote><div><br></div><div>[Loke] : it failed immediately after when the IP for ctlplane network is assigned, and ssh is established and stack creation is completed, I think at the start of ansible execution. </div></div><blockquote style="margin:0 0 0 40px;border:none;padding:0px"><div class="gmail_quote"><div>Error:</div></div><div class="gmail_quote"><div>"enabling ssh admin - COMPLETE.</div></div><div class="gmail_quote"><div>Host 10.0.1.94 not found in /home/stack/.ssh/known_hosts"</div></div><div class="gmail_quote"><div>Although this message is even seen when the deployment is successful. so I do not think this is the culprit.</div></div></blockquote><div class="gmail_quote"><div><br></div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
> The command that we are using to deploy the OpenStack overcloud:<br>
> /openstack overcloud deploy --templates \<br>
>      -n /home/stack/templates/network_data.yaml \<br>
>      -r /home/stack/templates/roles_data.yaml \<br>
>      -e /home/stack/templates/node-info.yaml \<br>
>      -e /home/stack/templates/environment.yaml \<br>
>      -e /home/stack/templates/environments/network-isolation.yaml \<br>
>      -e /home/stack/templates/environments/network-environment.yaml \<br>
<br>
What modifications did you do to network-isolation.yaml and</blockquote><div>[Loke]:</div><div><b>Network-isolation.yaml:</b></div></div><blockquote style="margin:0 0 0 40px;border:none;padding:0px"><div class="gmail_quote"><div># Enable the creation of Neutron networks for isolated Overcloud</div></div><div class="gmail_quote"><div># traffic and configure each role to assign ports (related</div></div><div class="gmail_quote"><div># to that role) on these networks.</div></div><div class="gmail_quote"><div>resource_registry:</div></div><div class="gmail_quote"><div>  # networks as defined in network_data.yaml</div></div><div class="gmail_quote"><div>  OS::TripleO::Network::J3Mgmt: ../network/j3mgmt.yaml</div></div><div class="gmail_quote"><div>  OS::TripleO::Network::Tenant: ../network/tenant.yaml</div></div><div class="gmail_quote"><div>  OS::TripleO::Network::InternalApi: ../network/internal_api.yaml</div></div><div class="gmail_quote"><div>  OS::TripleO::Network::External: ../network/external.yaml</div></div></blockquote><div class="gmail_quote"><div><br></div></div><blockquote style="margin:0 0 0 40px;border:none;padding:0px"><div class="gmail_quote"><div>  # Port assignments for the VIPs</div></div>  OS::TripleO::Network::Ports::J3MgmtVipPort: ../network/ports/j3mgmt.yaml<br><blockquote style="margin:0 0 0 40px;border:none;padding:0px"><div class="gmail_quote"><br></div></blockquote><div class="gmail_quote"><div>  OS::TripleO::Network::Ports::InternalApiVipPort: ../network/ports/internal_api.yaml</div></div>  OS::TripleO::Network::Ports::ExternalVipPort: ../network/ports/external.yaml<br><blockquote style="margin:0 0 0 40px;border:none;padding:0px"><div class="gmail_quote"><br></div></blockquote><div class="gmail_quote"><div>  OS::TripleO::Network::Ports::RedisVipPort: ../network/ports/vip.yaml</div></div>  OS::TripleO::Network::Ports::OVNDBsVipPort: ../network/ports/vip.yaml<br></blockquote><blockquote style="margin:0 0 0 40px;border:none;padding:0px"><blockquote style="margin:0 0 0 40px;border:none;padding:0px"><div class="gmail_quote"><br></div></blockquote><div class="gmail_quote"><div><br></div></div><div class="gmail_quote"><div>  # Port assignments by role, edit role definition to assign networks to roles.</div></div><div class="gmail_quote"><div>  # Port assignments for the Controller</div></div><div class="gmail_quote"><div>  OS::TripleO::Controller::Ports::J3MgmtPort: ../network/ports/j3mgmt.yaml</div></div><div class="gmail_quote"><div>  OS::TripleO::Controller::Ports::TenantPort: ../network/ports/tenant.yaml</div></div><div class="gmail_quote"><div>  OS::TripleO::Controller::Ports::InternalApiPort: ../network/ports/internal_api.yaml</div></div><div class="gmail_quote"><div>  OS::TripleO::Controller::Ports::ExternalPort: ../network/ports/external.yaml</div></div><div class="gmail_quote"><div>  # Port assignments for the Compute</div></div><div class="gmail_quote"><div>  OS::TripleO::Compute::Ports::J3MgmtPort: ../network/ports/j3mgmt.yaml</div></div><div class="gmail_quote"><div>  OS::TripleO::Compute::Ports::TenantPort: ../network/ports/tenant.yaml</div></div><div class="gmail_quote"><div>  OS::TripleO::Compute::Ports::InternalApiPort: ../network/ports/internal_api.yaml</div></div></blockquote><div class="gmail_quote"><div>~<br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"> <br>
network-environment.yaml?<br></blockquote><div><br></div>resource_registry:<br>  # Network Interface templates to use (these files must exist). You can<br>  # override these by including one of the net-*.yaml environment files,<br>  # such as net-bond-with-vlans.yaml, or modifying the list here.<br>  # Port assignments for the Controller<br>  OS::TripleO::Controller::Net::SoftwareConfig:<br>    ../network/config/bond-with-vlans/controller.yaml<br>  # Port assignments for the Compute<br>  OS::TripleO::Compute::Net::SoftwareConfig:<br>    ../network/config/bond-with-vlans/compute.yaml<br><div>parameter_defaults:<br> <br>  J3MgmtNetCidr: '<a href="http://80.0.1.0/24">80.0.1.0/24</a>'<br>  J3MgmtAllocationPools: [{'start': '80.0.1.4', 'end': '80.0.1.250'}]<br>  J3MgmtNetworkVlanID: 400<br><br>  TenantNetCidr: '<a href="http://172.16.0.0/24">172.16.0.0/24</a>'<br>  TenantAllocationPools: [{'start': '172.16.0.4', 'end': '172.16.0.250'}]<br>  TenantNetworkVlanID: 416<br>  TenantNetPhysnetMtu: 1500<br><br>  InternalApiNetCidr: '<a href="http://172.16.2.0/24">172.16.2.0/24</a>'<br>  InternalApiAllocationPools: [{'start': '172.16.2.4', 'end': '172.16.2.250'}]<br>  InternalApiNetworkVlanID: 418<br><br>  ExternalNetCidr: '<a href="http://10.0.1.0/24">10.0.1.0/24</a>'<br>  ExternalAllocationPools: [{'start': '10.0.1.85', 'end': '10.0.1.98'}]<br>  ExternalNetworkVlanID: 408<br><br>  DnsServers: []<br>  NeutronNetworkType: 'geneve,vlan'<br>  NeutronNetworkVLANRanges: 'datacentre:1:1000'<br>  BondInterfaceOvsOptions: "bond_mode=active-backup"<br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
I typically use:<br>
-e <br>
/usr/share/openstack-tripleo-heat-templates/environments/network-isolation.yaml<br>
-e <br>
/usr/share/openstack-tripleo-heat-templates/environments/network-environment.yaml<br>
-e /home/stack/templates/environments/network-overrides.yaml<br>
<br>
The network-isolation.yaml and network-environment.yaml are Jinja2 <br>
rendered based on the -n input, so too keep in sync with change in the <br>
`-n` file reference the file in <br>
/usr/share/opentack-tripleo-heat-templates. Then add overrides in <br>
network-overrides.yaml as neede.<br></blockquote><div><br></div><div>[Loke] : we are using this as like only, I do not know what you pass in network-overrides.yaml but I pass other files as per commands as below:</div><div><br></div>[stack@undercloud templates]$ cat environment.yaml<br>parameter_defaults:<br>  ControllerCount: 3<br>  TimeZone: 'Asia/Kolkata'<br>  NtpServer: ['30.30.30.3']<br>  NeutronBridgeMappings: datacentre:br-ex,baremetal:br-baremetal<br>  NeutronFlatNetworks: datacentre,baremetal<br>[stack@undercloud templates]$ cat ironic-config.yaml<br>parameter_defaults:<br>    IronicEnabledHardwareTypes:<br>        - ipmi<br>        - redfish<br>    IronicEnabledPowerInterfaces:<br>        - ipmitool<br>        - redfish<br>    IronicEnabledManagementInterfaces:<br>        - ipmitool<br>        - redfish<br>    IronicCleaningDiskErase: metadata<br>    IronicIPXEEnabled: true<br>    IronicInspectorSubnets:<br>    - ip_range: 172.23.3.100,172.23.3.150<br>    IPAImageURLs: '["<a href="http://30.30.30.1:8088/agent.kernel">http://30.30.30.1:8088/agent.kernel</a>", "<a href="http://30.30.30.1:8088/agent.ramdisk">http://30.30.30.1:8088/agent.ramdisk</a>"]'<br>    IronicInspectorInterface: 'br-baremetal'<br>[stack@undercloud templates]$<br>[stack@undercloud templates]$ cat node-info.yaml<br>parameter_defaults:<br>  OvercloudControllerFlavor: control<br>  OvercloudComputeFlavor: compute<br>  ControllerCount: 3<br>  ComputeCount: 1<br>[stack@undercloud templates]$<br><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
>      -e <br>
> /usr/share/openstack-tripleo-heat-templates/environments/services/ironic-conductor.yaml <br>
> \<br>
>      -e <br>
> /usr/share/openstack-tripleo-heat-templates/environments/services/ironic-inspector.yaml <br>
> \<br>
>      -e <br>
> /usr/share/openstack-tripleo-heat-templates/environments/services/ironic-overcloud.yaml <br>
> \<br>
>      -e /home/stack/templates/ironic-config.yaml \<br>
>      -e <br>
> /usr/share/openstack-tripleo-heat-templates/environments/docker-ha.yaml \<br>
>      -e <br>
> /usr/share/openstack-tripleo-heat-templates/environments/podman.yaml \<br>
>      -e /home/stack/containers-prepare-parameter.yaml/<br>
> <br>
> **/home/stack/templates/ironic-config.yaml :<br>
> (overcloud) [stack@undercloud ~]$ cat <br>
> /home/stack/templates/ironic-config.yaml<br>
> parameter_defaults:<br>
>      IronicEnabledHardwareTypes:<br>
>          - ipmi<br>
>          - redfish<br>
>      IronicEnabledPowerInterfaces:<br>
>          - ipmitool<br>
>          - redfish<br>
>      IronicEnabledManagementInterfaces:<br>
>          - ipmitool<br>
>          - redfish<br>
>      IronicCleaningDiskErase: metadata<br>
>      IronicIPXEEnabled: true<br>
>      IronicInspectorSubnets:<br>
>      - ip_range: 172.23.3.100,172.23.3.150<br>
>      IPAImageURLs: '["<a href="http://30.30.30.1:8088/agent.kernel" rel="noreferrer" target="_blank">http://30.30.30.1:8088/agent.kernel</a> <br>
> <<a href="http://30.30.30.1:8088/agent.kernel" rel="noreferrer" target="_blank">http://30.30.30.1:8088/agent.kernel</a>>", <br>
> "<a href="http://30.30.30.1:8088/agent.ramdisk" rel="noreferrer" target="_blank">http://30.30.30.1:8088/agent.ramdisk</a> <br>
> <<a href="http://30.30.30.1:8088/agent.ramdisk" rel="noreferrer" target="_blank">http://30.30.30.1:8088/agent.ramdisk</a>>"] >      IronicInspectorInterface: 'br-baremetal'<br>
> <br>
> Also the baremetal network(provisioning)(172.23.3.x)  is  routed with <br>
> ctlplane/admin network (30.30.30.x)<br>
> <br>
<br>
Unless the network you created in the overcloud is named `provisioning`, <br>
these parameters may be relevant.<br>
<br>
IronicCleaningNetwork:<br>
   default: 'provisioning'<br>
   description: Name or UUID of the *overcloud* network used for cleaning<br>
                bare metal nodes. The default value of "provisioning" can be<br>
                left during the initial deployment (when no networks are<br>
                created yet) and should be changed to an actual UUID in<br>
                a post-deployment stack update.<br>
   type: string<br>
<br>
IronicProvisioningNetwork:<br>
   default: 'provisioning'<br>
   description: Name or UUID of the *overcloud* network used for <br>
provisioning<br>
                of bare metal nodes, if IronicDefaultNetworkInterface is<br>
                set to "neutron". The default value of "provisioning" can be<br>
                left during the initial deployment (when no networks are<br>
                created yet) and should be changed to an actual UUID in<br>
                a post-deployment stack update.<br>
   type: string<br>
<br>
IronicRescuingNetwork:<br>
   default: 'provisioning'<br>
   description: Name or UUID of the *overcloud* network used for resucing<br>
                of bare metal nodes, if IronicDefaultRescueInterface is not<br>
                set to "no-rescue". The default value of "provisioning" <br>
can be<br>
                left during the initial deployment (when no networks are<br>
                created yet) and should be changed to an actual UUID in<br>
                a post-deployment stack update.<br>
   type: string<br>
<br>
> *Query:*<br>
> <br>
>  1. any other location/way where we should add these so that they are<br>
>     included without error.<br>
> <br>
>         *ServiceNetMap:*<br>
> <br>
>         *    IronicApiNetwork: provisioning*<br>
> <br>
>         *    IronicNetwork: provisioning*<br>
> <br>
<br>
`provisioning` network is defined in -n <br>
/home/stack/templates/network_data.yaml right? </blockquote><div>[Loke]: No it does not have any entry for provisioning in this file, it is network entry for J3Mgmt,Tenant,InternalApi, and External. These n/w's are added as vlan based under the br-ext bridge. </div><div>provisioning network I am creating after the overcloud is deployed and before the baremetal node is provisioned. </div><div>in the provisioning network, we are giving the range of the ironic network. (172.23.3.x)</div><div><br></div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">And an entry in <br>
'networks' for the controller role in /home/stack/templates/roles_data.yaml?<br></blockquote><div>[Loke]: we also did not added a similar entry in the roles_data.yaml as well.</div><div><br></div><div>Just to add with these two files we have rendered the remaining templates. </div><div><br></div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
<br>
>       2. Also are these commands(mentioned above) configure Baremetal<br>
>     services are fine.<br>
> <br>
<br>
Yes, what you are doing makes sense.<br>
<br>
I'm actually not sure why it did'nt work with your previous <br>
configuration, it got the information about NBP file and obviously <br>
attempted to download it from 30.30.30.220. With routing in place, that <br>
should work.<br>
<br>
Changeing the ServiceNetMap to move IronicNetwork services to the <br>
172.23.3 would avoid the routing.<br></blockquote><div>[Loke] : we can try this but are somehow not able to do so because of some weird reasons.  </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
<br>
What is NeutronBridgeMappings?<br>
  br-baremetal maps to the physical network of the overcloud <br>
`provisioning` neutron network?<br></blockquote><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
[Loke] : yes , we create br-barmetal and then we create provisioning network mapping it to br-baremetal.<br>
<br></blockquote></div><blockquote style="margin:0 0 0 40px;border:none;padding:0px"><div class="gmail_quote"><div>Also attaching the complete rendered template folder along with custom yaml files that I am using, maybe referring that you might have a more clear picture of our problem.</div></div><div class="gmail_quote"><div>Any clue would help.</div></div><div class="gmail_quote"><div>Our problem,</div></div><div class="gmail_quote"><div>we are not able to provision the baremetal node after the overcloud is deployed.</div></div><div class="gmail_quote"><div>Do we have any straight-forward documents using which we can test the baremetal provision, please provide that. </div></div><div class="gmail_quote"><div><br></div></div><div class="gmail_quote"><div>Thanks once again for reading all these. </div></div></blockquote><div class="gmail_quote"><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
--<br>
Harald<br>
<br>
</blockquote></div><br clear="all"><div><br></div>-<br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div>skype: lokendrarathour</div><div dir="ltr"><img src="https://drive.google.com/uc?id=0BynJnQEa1sUyU2dxclR4dVVWM0E&export=download&resourcekey=0-SqQLe-ZfiPFkKfdNa8WpMg" width="200" height="41"><br></div><div dir="ltr"><br></div></div></div></div></div></div>