Neutron¶
Distributed Virtual Routing (DVR)¶
It is technically possible to use Distributed Virtual Routing (DVR) with OSISM.
However, this is not officially supported by us, not tested and not recommended.
Multiple provider networks¶
inventory/host_vars/<hostname>.yml
network_interfaces:
[...]
- device: eth3
auto: true
family: inet
method: manual
mtu: 1500
- device: eth4
auto: true
family: inet
method: manual
mtu: 1500
environments/kolla/configuration.yml
orinventory/host_vars/<hostname>.yml
enable_neutron_provider_networks: "yes"
environments/kolla/configuration.yml
orinventory/host_vars/<hostname>.yml
neutron_bridge_name: br-eth3,br-eth4
neutron_external_interface: eth3,eth4
VLAN interfaces as flat provider networks¶
inventory/host_vars/<hostname>.yml
network_interfaces:
[...]
- device: vlan100
auto: true
family: inet
method: manual
vlan:
raw-device: bond0
mtu: 1500
- device: vlan100
auto: true
family: inet
method: manual
vlan:
raw-device: bond0
mtu: 1500
environments/kolla/configuration.yml
orinventory/host_vars/<hostname>.yml
enable_neutron_provider_networks: "yes"
environments/kolla/configuration.yml
orinventory/host_vars/<hostname>.yml
neutron_bridge_name: [...],br-vlan100,br-vlan200
neutron_external_interface: [...],vlan100,vlan200
Warning
After adding the bridges and before deploying/reconfiguring Neutron, a manual step is needed.
Check the datapath ids of all bridges on all nodes with provider networks
$ docker exec -it openvswitch_vswitchd ovs-vsctl get Bridge br-vlan100 datapath-id
$ docker exec -it openvswitch_vswitchd ovs-vsctl get Bridge br-vlan200 datapath-id
Eleminate duplicate datapath ids
$ echo 0000$(uuidgen | awk -F- '{ print $5}')
0000a046f5209e3f
$ docker exec -it openvswitch_vswitchd ovs-vsctl set bridge br-vlan200 other-config:datapath-id=0000a046f5209e3f
Double check the new datapath ids
$ docker exec -it openvswitch_vswitchd ovs-vsctl get Bridge br-vlan200 datapath-id
"0000a046f5209e3f"
Neutron Availability Zones¶
configure availability zone in
dhcp_agent.ini
andl3_agent.ini
.
[agent]
availability_zone = zone-1
configure
neutron.conf
[DEFAULT]
default_availability_zones = zone-1(,zone-2)
network_scheduler_driver = neutron.scheduler.dhcp_agent_scheduler.AZAwareWeightScheduler
dhcp_load_type = networks
router_scheduler_driver = neutron.scheduler.l3_agent_scheduler.AZLeastRoutersScheduler