[Tripleo] Issue in Baremetal Provisioning from Overcloud

Harald Jensas hjensas at redhat.com
Thu Feb 10 14:54:27 UTC 2022


On 2/10/22 14:49, Lokendra Rathour wrote:
> Hi Harald,
> Thanks once again for your support, we tried activating the parameters:
> ServiceNetMap:
>      IronicApiNetwork: provisioning
>      IronicNetwork: provisioning
> at environments/network-environments.yaml
> image.png
> After changing these values the updated or even the fresh deployments 
> are failing.
> 

How did deployment fail?

> The command that we are using to deploy the OpenStack overcloud:
> /openstack overcloud deploy --templates \
>      -n /home/stack/templates/network_data.yaml \
>      -r /home/stack/templates/roles_data.yaml \
>      -e /home/stack/templates/node-info.yaml \
>      -e /home/stack/templates/environment.yaml \
>      -e /home/stack/templates/environments/network-isolation.yaml \
>      -e /home/stack/templates/environments/network-environment.yaml \

What modifications did you do to network-isolation.yaml and 
network-environment.yaml?

I typically use:
-e 
/usr/share/openstack-tripleo-heat-templates/environments/network-isolation.yaml
-e 
/usr/share/openstack-tripleo-heat-templates/environments/network-environment.yaml
-e /home/stack/templates/environments/network-overrides.yaml

The network-isolation.yaml and network-environment.yaml are Jinja2 
rendered based on the -n input, so too keep in sync with change in the 
`-n` file reference the file in 
/usr/share/opentack-tripleo-heat-templates. Then add overrides in 
network-overrides.yaml as neede.

>      -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/containers-prepare-parameter.yaml/
> 
> **/home/stack/templates/ironic-config.yaml :
> (overcloud) [stack at undercloud ~]$ cat 
> /home/stack/templates/ironic-config.yaml
> parameter_defaults:
>      IronicEnabledHardwareTypes:
>          - ipmi
>          - redfish
>      IronicEnabledPowerInterfaces:
>          - ipmitool
>          - redfish
>      IronicEnabledManagementInterfaces:
>          - ipmitool
>          - redfish
>      IronicCleaningDiskErase: metadata
>      IronicIPXEEnabled: true
>      IronicInspectorSubnets:
>      - ip_range: 172.23.3.100,172.23.3.150
>      IPAImageURLs: '["http://30.30.30.1:8088/agent.kernel 
> <http://30.30.30.1:8088/agent.kernel>", 
> "http://30.30.30.1:8088/agent.ramdisk 
> <http://30.30.30.1:8088/agent.ramdisk>"] >      IronicInspectorInterface: 'br-baremetal'
> 
> Also the baremetal network(provisioning)(172.23.3.x)  is  routed with 
> ctlplane/admin network (30.30.30.x)
> 

Unless the network you created in the overcloud is named `provisioning`, 
these parameters may be relevant.

IronicCleaningNetwork:
   default: 'provisioning'
   description: Name or UUID of the *overcloud* network used for cleaning
                bare metal nodes. The default value of "provisioning" can be
                left during the initial deployment (when no networks are
                created yet) and should be changed to an actual UUID in
                a post-deployment stack update.
   type: string

IronicProvisioningNetwork:
   default: 'provisioning'
   description: Name or UUID of the *overcloud* network used for 
provisioning
                of bare metal nodes, if IronicDefaultNetworkInterface is
                set to "neutron". The default value of "provisioning" can be
                left during the initial deployment (when no networks are
                created yet) and should be changed to an actual UUID in
                a post-deployment stack update.
   type: string

IronicRescuingNetwork:
   default: 'provisioning'
   description: Name or UUID of the *overcloud* network used for resucing
                of bare metal nodes, if IronicDefaultRescueInterface is not
                set to "no-rescue". The default value of "provisioning" 
can be
                left during the initial deployment (when no networks are
                created yet) and should be changed to an actual UUID in
                a post-deployment stack update.
   type: string

> *Query:*
> 
>  1. any other location/way where we should add these so that they are
>     included without error.
> 
>         *ServiceNetMap:*
> 
>         *    IronicApiNetwork: provisioning*
> 
>         *    IronicNetwork: provisioning*
> 

`provisioning` network is defined in -n 
/home/stack/templates/network_data.yaml right? And an entry in 
'networks' for the controller role in /home/stack/templates/roles_data.yaml?


>       2. Also are these commands(mentioned above) configure Baremetal
>     services are fine.
> 

Yes, what you are doing makes sense.

I'm actually not sure why it did'nt work with your previous 
configuration, it got the information about NBP file and obviously 
attempted to download it from 30.30.30.220. With routing in place, that 
should work.

Changeing the ServiceNetMap to move IronicNetwork services to the 
172.23.3 would avoid the routing.


What is NeutronBridgeMappings?
  br-baremetal maps to the physical network of the overcloud 
`provisioning` neutron network?


--
Harald




More information about the openstack-discuss mailing list