<div dir="auto">Hi Julia!</div><div dir="auto"><br></div><div dir="auto">Thanks a lot for those explanations :-) Most of it confirm my understanding, I now have a clearer point of view that will let me select our test users for the service.</div><div dir="auto"><br></div><div dir="auto">Regarding aruba switches, those are pretty cool, even if as you pointed it, this feature can actually lead you to some weird if not dangerous situations x)</div><div dir="auto"><br></div><div dir="auto">Ok noticed about the horizon issue, it can be a little bit tricky for our end users to understand that tbh as they will for sure expect the IP selected by neutron and display on the dashboard to be the one used by the node even on a full flat network such as the provisioning network, but for now we will deal with it by explaining them.</div><div dir="auto"><br></div><div dir="auto">Regarding my point 2, yeah yeah I knew the purpose of direct deploy I just explicited it I don’t know why, my point was rather:</div><div dir="auto"><br></div><div dir="auto">At first, when I configured our ironic deployment I had that weird issue where if I don’t put the pxe_filter option to noop but dnsmasq, deploying anything is failing as the conductor doesn’t correctly erase the «ignore » part of the string on the dhcp_host_filter file of dnsmasq. If I make this filter as noop then obviously I don’t need neutron to provide the ironic-provision-network anymore as anyone plugged on ports with my VLAN101 set as native VLAN will be able to get an ip from the PXE dnsmasq.</div><div dir="auto"><br></div><div dir="auto">I’m still having hard time to map how ironic needs both PXE dedicated dnsmasq for introspection and then can use neutron dnsmasq dhcp once you want to provision a host? Is that because neutron (kinda) lack for dhcp options support on its managed subnets ?</div><div dir="auto"><br></div><div dir="auto">All in all it’s pretty clearer to me about the multi tenancy networking requirements now thanks to you!</div><div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Le mar. 12 juil. 2022 à 00:13, Julia Kreger <<a href="mailto:juliaashleykreger@gmail.com">juliaashleykreger@gmail.com</a>> a écrit :<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Greetings! Hopefully these answers help!<br>
<br>
On Sun, Jul 10, 2022 at 4:35 PM Gaël THEROND <<a href="mailto:gael.therond@bitswalk.com" target="_blank">gael.therond@bitswalk.com</a>> wrote:<br>
><br>
> I everyone, I’m currently working back again with Ironic and it’s amazing!<br>
><br>
> However, during our demo session to our users few questions arise.<br>
><br>
> We’re currently deploying nodes using a private vlan that can’t be reached from outside of the Openstack network fabric (vlan 101 - <a href="http://192.168.101.0/24" rel="noreferrer" target="_blank">192.168.101.0/24</a>) and everything is fine with this provisioning network as our ToR switch all know about it and other Control plan VLANs such as the internal APIs VLAN which allow the IPA Ramdisk to correctly and seamlessly be able to contact the internal IRONIC APIs.<br>
<br>
Nice, I've had my lab configured like this in the past.<br>
<br>
><br>
> (When you declare a port as a trunk allowed all vlan on a aruba switch it seems it automatically analyse the CIDR your host try to reach from your VLAN and route everything to the corresponding VLAN that match the destination IP).<br>
><br>
<br>
Ugh, that... could be fun :\<br>
<br>
> So know, I still get few tiny issues:<br>
><br>
> 1°/- When I spawn a nova instance on a ironic host that is set to use flat network (From horizon as a user), why does the nova wizard still ask for a neutron network if it’s not set on the provisioned host by the IPA ramdisk right after the whole disk image copy? Is that some missing development on horizon or did I missed something?<br>
<br>
Horizon just is not aware... and you can actually have entirely<br>
different DHCP pools on the same flat network, so that neutron network<br>
is intended for the instance's addressing to utilize.<br>
<br>
Ironic does just ask from an allocation from a provisioning network,<br>
which can and *should* be a different network than the tenant network.<br>
<br>
><br>
> 2°/- In a flat network layout deployment using direct deploy scenario for images, am I still supposed to create a ironic provisioning network in neutron?<br>
><br>
> From my understanding (and actually my tests) we don’t, as any host booting on the provisioning vlan will catch up an IP and initiate the bootp sequence as the dnsmasq is just set to do that and provide the IPA ramdisk, but it’s a bit confusing as many documentation explicitly require for this network to exist on neutron.<br>
<br>
Yes. Direct is short hand for "Copy it over the network and write it<br>
directly to disk". It still needs an IP address on the provisioning<br>
network (think, subnet instead of distinct L2 broadcast domain).<br>
<br>
When you ask nova for an instance, it sends over what the machine<br>
should use as a "VIF" (neutron port), however that is never actually<br>
bound configuration wise into neutron until after the deployment<br>
completes.<br>
<br>
It *could* be that your neutron config is such that it just works<br>
anyway, but I suspect upstream contributors would be a bit confused if<br>
you reported an issue and had no provisioning network defined.<br>
<br>
><br>
> 3°/- My whole Openstack network setup is using Openvswitch and vxlan tunnels on top of a spine/leaf architecture using aruba CX8360 switches (for both spine and leafs), am I required to use either the networking-generic-switch driver or a vendor neutron driver ? If that’s right, how will this driver be able to instruct the switch to assign the host port the correct openvswitch vlan id and register the correct vxlan to openvswitch from this port? I mean, ok neutron know the vxlan and openvswitch the tunnel vlan id/interface but what is the glue of all that?<br>
<br>
If your happy with flat networks, no.<br>
<br>
If you want tenant isolation networking wise, yes.<br>
<br>
NGS and Baremetal Port aware/enabled Neutron ML2 drivers take the port<br>
level local link configuration (well, Ironic includes the port<br>
information (local link connection, physical network, and some other<br>
details) to Neutron with the port binding request.<br>
<br>
Those ML2 drivers, then either request the switch configuration be<br>
updated, or take locally configured credentials to modify port<br>
configuration in Neutron, and logs into the switch to toggle the<br>
access port's configuration which the baremetal node is attached to.<br>
<br>
Generally, they are not vxlan network aware, and at least with<br>
networking-generic-switch vlan ID numbers are expected and allocated<br>
via neutron.<br>
<br>
Sort of like the software is logging into the switch and running<br>
something along the lines of "conf t;int gi0/21;switchport mode<br>
access;switchport access vlan 391 ; wri mem"<br>
<br>
><br>
> 4°/- I’ve successfully used openstack cloud oriented CentOS and debian images or snapshot of VMs to provision my hosts, this is an awesome feature, but I’m wondering if there is a way to let those host cloud-init instance to request for neutron metadata endpoint?<br>
><br>
<br>
Generally yes, you *can* use network attached metadata with neutron<br>
*as long as* your switches know to direct the traffic for the metadata<br>
IP to the Neutron metadata service(s).<br>
<br>
We know of operators who ahve done it without issues, but often that<br>
additional switch configured route is not always the best hting.<br>
Generally we recommend enabling and using configuration drives, so the<br>
metadata is able to be picked up by cloud-init.<br>
<br>
<br>
> I was a bit surprised about the ironic networking part as I was expecting the IPA ramdisk to at least be able to set the host os with the appropriate network configuration file for whole disk images that do not use encryption by injecting those information from the neutron api into the host disk while mounted (right after the image dd).<br>
><br>
<br>
IPA has no knowledge of how to modify the host OS in this regard.<br>
modifying the host OS has generally been something the ironic<br>
community has avoided since it is not exactly cloudy to have to do so.<br>
Generally most clouds are running with DHCP, so as long as that is<br>
enabled and configured, things should generally "just work".<br>
<br>
Hopefully that provides a little more context. Nothing prevents you<br>
from writing your own hardware manager that does exactly this, for<br>
what it is worth.<br>
<br>
> All in all I really like the ironic approach of the baremetal provisioning process, and I’m pretty sure that I’m just missing a bit of understanding of the networking part but it’s really the most confusing part of it to me as I feel like if there is a missing link in between neutron and the host HW or the switches.<br>
><br>
<br>
Thanks! It is definitely one of the more complex parts given there are<br>
many moving parts, and everyone wants (or needs) to have their<br>
networking configured just a little differently.<br>
<br>
Hopefully I've kind of put some of the details out there, if you need<br>
more information, please feel free to reach out, and also please feel<br>
free to ask questions in #openstack-ironic on <a href="http://irc.oftc.net" rel="noreferrer" target="_blank">irc.oftc.net</a>.<br>
<br>
> Thanks a lot anyone that will take time to explain me this :-)<br>
<br>
:)<br>
</blockquote></div></div>