Skip to content

Instantly share code, notes, and snippets.

@shannonmitchell
Last active June 25, 2018 19:53
Show Gist options
  • Save shannonmitchell/d8aca441356fc305019fd1a2ea621d41 to your computer and use it in GitHub Desktop.
Save shannonmitchell/d8aca441356fc305019fd1a2ea621d41 to your computer and use it in GitHub Desktop.
#########################################################
# Current layout(moving away from the octavia weirdness)
#########################################################
eth1 -> bond0(interface) -> br-vlan(host ip) -> (vlans defined in neutron unrelated to the base interfaces set up by support)
-> bond0.EEE -> br-vxlan -> [ lxc veth6-0 -> lxc veth6-1 -> LXC Container ]
-> bond0.AAA -> br-ironic -> [ lxc veth1-0 -> lxc veth1-1 -> LXC Container ]
-> veth2-0 -> veth2-1 -> [ Neutron controlled bridge -> neutron AAA vlan int -> VM and/or neutron namespace ]
-> bond0.BBB -> br-lbaas -> [ lxc veth3-0 -> lxc veth3-1 -> LXC Container ]
-> veth4-0 -> veth4-1 -> [ Neutron controlled bridge -> neutron BBB vlan int -> VM and/or neutron namespace ]
-> bond0.CCC -> br-mgmt -> [ lxc veth4-0 -> lxc veth4-1 -> LXC Container ]
-> bond0.DDD -> br-storage -> [ lxc veth5-0 -> lxc veth5-1 -> LXC Container ]
-> bond0.EEE -> br-ipmi -> [ lxc veth6-0 -> lxc veth6-1 -> LXC Container ]
# End result to deployer
- Easier on the deployer to do manually or automated(all configs very similar).
- Ironic and Octavia need to be set up as a flat network in neutron with the host_bind_override set.
- For new vlans, the deployer still has to get netsec to trunk down to infra and compute nodes as well as redeploy to update the neutron vlan range.
#########################################################
# Requested layout
#########################################################
eth0
eth1 -> bond0(interface) -> br-vlan(host ip) -> (vlans defined in neutron unrelated to the base interfaces set up by support)
-> br-vlan.EEE -> br-vxlan -> [ lxc veth6-0 -> lxc veth6-1 -> LXC Container ]
-> br-vlan.AAA -> br-ironic -> [ lxc veth1-0 -> lxc veth1-1 -> LXC Container ]
-> veth2-0 -> veth2-1 -> [ Neutron controlled bridge -> neutron AAA vlan int -> VM and/or neutron namespace ]
-> br-vlan.BBB -> br-lbaas -> [ lxc veth3-0 -> lxc veth3-1 -> LXC Container ]
-> veth4-0 -> veth4-1 -> [ Neutron controlled bridge -> neutron BBB vlan int -> VM and/or neutron namespace ]
-> br-vlan.CCC -> br-mgmt -> [ lxc veth4-0 -> lxc veth4-1 -> LXC Container ]
-> br-vlan.DDD -> br-storage -> [ lxc veth5-0 -> lxc veth5-1 -> LXC Container ]
-> br-vlan.EEE -> br-ipmi -> [ lxc veth6-0 -> lxc veth6-1 -> LXC Container ]
# End result to deployer
- A little more work on the deployer and a single point of failure if something needs happens to br-vlan
- Harder to troubleshoot as it differs from upstream openstack docs and gives each connection an extra hop to track
- Ironic and Octavia can be set up as either a vlan or flat network in neutron(You still have to use the host_bind_override as these are flat networks)
- For new vlans, the deployer still has to get netsec to trunk down to infra and compute nodes as well as redeploy to update the neutron vlan range.
- Results on multiple vlan interfaces of the same vlan which could cause issues depending on some of the crazy things deployers do.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment