[kolla] single Network interface

Sean Mooney smooney at redhat.com
Thu Oct 20 08:35:38 UTC 2022


I have not been following this too cloesly and sorry to top post but its possibel to deploy multi node openstack using a singel interface.
i often do that with devstack and it shoudl be possibel to do with kolla.

first if you do not need vlan/flat tenant networks and and geneve/vxlan with ml2/ovs or ml2/ovn is sufficent then the tunell endpoint ip can just be
the manamgnet interface. when im deploying wiht devstack i just create a dumy interfaces and use that for neutorn
so you shoudl be able to do that for kolla-ansible too just have a playbook that will create a dumy interface on all host and set that as the
neutron_interface.

in kolla all other interface are shared by defautl so its only the nuetorn_interface for the br-ex that need to be managed.
this approch reqired yuo to asign the gateway ip for the external network to one of the contolers and configre that host in your router.

the better approch whihc allows provider networks to work and avoids the need to asisng the gateway ip in a hacky way is use macvlan interfaces
i dont thinki have  an example of this form my home cloud any more since i have redpeloyed it but i previoulsy used to create macvlan sub interfaces

to do this by hand you would do somehting like this

sudo ip link add api link eth0 type macvlan mode bridge
sudo ip link add ovs link eth0 type macvlan mode bridge
sudo ip link add storage link eth0 type macvlan mode bridge
sudo ifconfig api up
sudo ifconfig ovs up
sudo ifconfig storage up


you can wrap that up into a systemd service file and have it run before the docker service.
if your on ubuntu netplan does not support macvlans currently but you can do it the tradtional way or wiht systemd networkd

Macvlan allows a single physical interface to have multiple mac and ip addresses.
you can also do the same with a linux bridge but that is less then ideal in terms of performance.
if your nic support sriov another good way to partion then nice is to use a VF 

in this case you just put a trivial udev rule to allocate them or use netplan 
https://netplan.io/examples its the final example.


macvlan works if you dont have hardware supprot for sriov and sriov is a good option otherwise

On Thu, 2022-10-20 at 11:06 +0900, Bernd Bausch wrote:
> SInce you can easily have five to ten different networks in a cloud 
> installation, e.g. networks dedicated to object storage, provider 
> networks for Octavia, a network just for iSCSI etc, VLANs are (or used 
> to be?) a common solution. See for example the (sadly, defunct) SUSE 
> OpenStack cloud 
> https://documentation.suse.com/soc/9/html/suse-openstack-cloud-crowbar-all/cha-deploy-poc.html#sec-depl-poc-vlans.
> 
> On 2022/10/20 8:50 AM, Clark Boylan wrote:
> > On Wed, Oct 19, 2022, at 4:44 PM, Michal Arbet wrote:
> > > Hmm,
> > > 
> > > But I think there is a problem with vlan - you need to setup it in OVS,
> > > don't you ?
> > There was also a bridge and a veth pair involved: https://opendev.org/opendev/puppet-infracloud/src/commit/121afc07bdd277d8ba3ba70f1433d5e6a4a4b14e/manifests/veth.pp
> > 
> > Possibly to deal with this? Like I said its been a long time and I don't remember the details. I just know it was possible to solve at least at the time. Linux gives you a whole suite of virtual network components that you can throw together to workaround physical limitations like this.
> > 
> > > Michal Arbet
> > > Openstack Engineer
> > > 
> > > Ultimum Technologies a.s.
> > > Na Poříčí 1047/26, 11000 Praha 1
> > > Czech Republic
> > > 
> > > +420 604 228 897
> > > michal.arbet at ultimum.io
> > > _https://ultimum.io_
> > > 
> > > LinkedIn <https://www.linkedin.com/company/ultimum-technologies> |
> > > Twitter <https://twitter.com/ultimumtech> | Facebook
> > > <https://www.facebook.com/ultimumtechnologies/timeline>
> > > 
> > > 
> > > st 19. 10. 2022 v 23:57 odesílatel Clark Boylan <cboylan at sapwetik.org> napsal:
> > > > On Wed, Oct 19, 2022, at 9:40 AM, Michal Arbet wrote:
> > > > > Hi,
> > > > > 
> > > > > If I am correct this is not possible currently, but I remember I was
> > > > > working on a solution, but unfortunately I stopped at some point
> > > > > because kolla upstream didn't want to maintain.
> > > > > 
> > > > > In attachment you can find patches for kolla and kolla-ansible and our idea.
> > > > > 
> > > > > We added python script to kolla container and provide netplan style
> > > > > configuration by kolla-ansible ..so openvswitch starts and configured
> > > > > networking as it was set in configuration (if i remember ...it is quite
> > > > > long time....and of course it was not final version ...but if i
> > > > > remember it somehow worked).
> > > > > 
> > > > > So, you can check it and maybe we can discuss this feature again :)
> > > > > 
> > > > > Thanks,
> > > > > Kevko
> > > > > 
> > > > > 
> > > > > Michal Arbet
> > > > > Openstack Engineer
> > > > > 
> > > > > Ultimum Technologies a.s.
> > > > > Na Poříčí 1047/26, 11000 Praha 1
> > > > > Czech Republic
> > > > > 
> > > > > +420 604 228 897
> > > > > michal.arbet at ultimum.io
> > > > > _https://ultimum.io_
> > > > > 
> > > > > LinkedIn <https://www.linkedin.com/company/ultimum-technologies> |
> > > > > Twitter <https://twitter.com/ultimumtech> | Facebook
> > > > > <https://www.facebook.com/ultimumtechnologies/timeline>
> > > > > 
> > > > > 
> > > > > po 17. 10. 2022 v 19:24 odesílatel Parsa Aminian
> > > > > <p.aminian.server at gmail.com> napsal:
> > > > > > Hello
> > > > > > I use kolla ansible wallaby version .
> > > > > > my compute node has only one port . is it possible to use this server ? as I know openstack compute need 2 port one for management and other for external user network . Im using provider_networks and it seems neutron_external_interface could not be the same as network_interface because openvswitch need to create br-ex bridge on separate port
> > > > > > is there any solution that i can config my compute with 1 port ?
> > > > A very long time ago the OpenStack Infra Team ran the "Infracloud". This OpenStack installation ran on donated hardware and the instances there only had a single network port as well. To workaround this we ended up using vlan specific subinterfaces on the node so that logically we were presenting more than one interface to the OpenStack installation.
> > > > 
> > > > I don't remember all the details but the now retired opendev/puppet-infracloud repo may have some clues: https://opendev.org/opendev/puppet-infracloud/src/commit/121afc07bdd277d8ba3ba70f1433d5e6a4a4b14e
> > > > 
> > > > > Attachments:
> > > > > * ovs_kolla
> > > > > * ovs_kolla_ansible
> 




More information about the openstack-discuss mailing list