Change openstack pike linuxbridge to openvswitch
The network scheme of the existing network node is:
Neutron ml2 type driver: vxlan
Neutron ml2 mechanism driver: linuxbridge
Neutron l2 agent: linuxbridge
The revised plan:
Neutron ml2 type driver: vxlan
Neutron ml2 mechanism driver: openvswitch
Neutron l2 agent: openvswitch
Stop and delete neutron-linuxbridge-agent at network nodes and compute nodes
Systemcat stop neutron-linuxbridge-agent
Systemcat disable neutron-linuxbridge-agent
Yum remove neutron-linuxbridge-agent
Delete linuxbridge agent
Openstack work agent list to view the id corresponding to linuxbridgent agent
Openstack work agent delete $id deletes the corresponding id
Install neutron-openvswitch-agent on network nodes and compute nodes
Yum install-y openstack-neutron-openvswitch
Add a br-ex bridge to a network node
Ovs-vsctl add-br br-ex
Br-ex bridge binds network card
Ifconfig eth0 0 & & ovs-vsctl add-port br-ex eth0
To enable it to take effect, add the following configuration to / etc/rc.local
Ovs-vsctl add-port br-ex eth0
Ifconfig br-ex 192.168.100.114swap 24 (ip changed according to time)
It is said on the Internet that the file under the change / etc/sysconfig/network-scripts has been tested in person. Under the centos7.4 environment, the network restart failed.
So it is recommended to add configuration to / etc/rc.local. And change / etc/rc.local to executable permission
Chmod + x / etc/rc.d/rc.local
Modify configuration
Neutron
/ etc/neutron/plugins/ml2/ml2_conf.ini
[ml2]
Type_drivers = flat,vlan,vxlan
Mechanism_drivers = openvswitch,l2population
Extension_drivers = port_security
Tenant_network_types = vxlan
[ml2_type_flat]
Flat_networks = provider
[ml2_type_vxlan]
Vni_ranges = 1PUR 1000
[securitygroup]
Enable_ipset = True
/ etc/neutron/l3_agent.ini
[DEFAULT]
Interface_driver = neutron.agent.linux.interface.OVSInterfaceDriver
Debug = false
/ etc/neutron/dhcp_agent.ini
[DEFAULT]
Interface_driver = neutron.agent.linux.interface.OVSInterfaceDriver
Dhcp_driver = neutron.agent.linux.dhcp.Dnsmasq
Enable_isolated_metadata = True
/ etc/neutron/plugins/ml2/openvswitch_agent.ini
[ovs]
Tunnel_bridge = br-tun
Local_ip = 10.2.2.4
Integration_bridge = br-int
Enable_tunneling = True
[agent]
Tunnel_types = vxlan
L2_population = True
[securitygroup]
Firewall_driver = neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver
Enable_security_group = True
Restart the service
Systemctl restart neutron-server.service neutron-openvswitch-agent.service neutron-dhcp-agent.service neutron-metadata-agent.service neutron-l3-agent.service
Set the neutron-openvswitch-agent to boot automatically
Systemctl enable neutron-openvswitch-agent.service
Compute node configuration
/ etc/neutron/plugins/ml2/openvswitch_agent.ini
[ovs]
Tunnel_bridge = br-tun
Local_ip = 10.2.2.2
Integration_bridge = br-int
Enable_tunneling = True
[agent]
Tunnel_types = vxlan
L2_population = True
[securitygroup]
Firewall_driver = neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver
Enable_security_group = True
Restart the service and set the boot self-boot
Systemctl restart openstack-nova-compute.service neutron-openvswitch-agent.service
Systemctl enable neutron-openvswitch-agent.service