Currently deploying with multiple provisioning networks requires manually assigning ports to the respective leaf. It's done with:
Find out which baremetal ports are associated with which baremetal node.
1. openstack baremetal node show <node-uuid>
2. openstack baremetal port show <port-uuid>
3. Set the node to maintenance mode
4. Then set the ``physical-network`` for the ports like below:
openstack baremetal port set --physical-network <leaf> <port-uuid>
Would be nice if the above happens automatically based on the IP found on introspected nodes and the leaf range it was assigned from.
In the Undercloud we currently always have a neutron provisioning network/subnet that we could use to resolve the physical_network based on the IP recieved during introspection. However -- Ironic and Ironic Inspector does not need to be configured this way. We may use a completely separate ip-subnet for introspection, and we may even run introspection on a different interface, e.g different physical_network. I can't see a sound way to implement this generically in Ironic Inspector in a way that would work for the diverse configurations.
I am not sure it is the best thing to go with the assumptions of Undercloud Ironic/Inspector configuration as it is today, and implement this in tripleo. What if we want to change Undercloud to allow more flexibility in the future? I am worried that this feature could complicate that, and we may end up with inconsistency where in some configurations the physical_network is automatically set, while in others it is not set.