Getting Networking right in a cloud deployment, is one of the hardest parts and usually needs several deployment iterations.
When doing your first deployments, first try to get the simplemost setup working. That is, use the default 'single' mode in crowbar's network.json instead of 'dual' or 'team', use default openvswitch+gre in neutron barclamp (or linuxbridge+vlan mode if you do not need SDN).
Assuming you use VLAN 84 for admin network, VLAN 85 for public network and VLAN 82-86 overall for this cloud's admin/public/storage/sdn/fixed networks
And assuming your nodes are connected to switch ports 5-9, you use the default IP ranges from network.json and your upstream router IP is 192.168.0.1
configure terminal vlan 82-86 no shutdown interface Ethernet1/5-9 no shutdown switchport mode trunk switchport access vlan 84 switchport trunk native vlan 84 switchport trunk allowed vlan 82-86 # for older Catalyst series spanning-tree portfast trunk # for newer Nexus series spanning-tree port type edge trunk show running-config interface Ethernet1/5 copy running-config startup-config
system-view vlan batch 82 to 86 port-group cloud1 group-member 10ge 1/0/5 to 10ge 1/0/9 port link-type trunk port trunk pvid vlan 84 port trunk allow-pass vlan 82 to 86 stp edged-port enable display vlan 84
# If you want the switch to do the routing # default gateway ip route-static 0.0.0.0 0.0.0.0 192.168.0.1 # admin net interface vlanif 84 ip address 192.168.124.1 255.255.255.0 # public net interface vlanif 85 ip address 192.168.126.1 255.255.255.0 display interface Vlanif 84 display ip routing-table
Also called trunking or teaming, is documented for Linux in https://www.kernel.org/doc/Documentation/networking/bonding.txt
and for cloud in https://www.suse.com/documentation/suse-openstack-cloud-6/singlehtml/book_cloud_deploy/book_cloud_deploy.html#sec.depl.req.network.modes.teaming
You have to be careful when using bonding interfaces for the admin network, because the discovery and autoyast installer use PXE-booting, which means that the BIOS will bring up one interface and do TFTP on it to fetch the boot files, which might fail because half of the packets go to the wrong interface. To avoid such problems, you might
- use bonding mode 1
- or discover and install nodes with your own methods and use crowbar_register to let crowbar manage them.