Controller nodeNetworking server
Install the Networking server.
Create database ovs_neutron.
Update the Networking configuration file,
/etc/neutron/neutron.conf
, with plug-in choice and Identity Service user as necessary:[DEFAULT] core_plugin = neutron.plugins.openvswitch.ovs_neutron_plugin.OVSNeutronPluginV2 control_exchange = neutron rabbit_host =
controller
rabbit_password =RABBIT_PASS
notification_driver = neutron.openstack.common.notifier.rabbit_notifier [database] connection = mysql://neutron:NEUTRON_DBPASS
@controller
:3306/neutron [keystone_authtoken] admin_tenant_name=service admin_user=neutron admin_password=NEUTRON_PASS
Update the plug-in configuration file,
/etc/neutron/plugins/openvswitch/ovs_neutron_plugin.ini
:[ovs] tenant_network_type = gre tunnel_id_ranges = 1:1000 enable_tunneling = True
Start the Networking server.
The Networking server can be a service of the operating system. The command to start the service depends on your operating system. The following command runs the Networking server directly:
# neutron-server --config-file /etc/neutron/plugins/openvswitch/ovs_neutron_plugin.ini \ --config-file /etc/neutron/neutron.conf
Compute nodeCompute
Install Compute services.
Update the Compute
/etc/nova/nova.conf
configuration file. Make sure the following line appears at the end of this file:network_api_class=nova.network.neutronv2.api.API neutron_admin_username=neutron neutron_admin_password=
NEUTRON_PASS
neutron_admin_auth_url=http://controlnode:35357/v2.0/ neutron_auth_strategy=keystone neutron_admin_tenant_name=service neutron_url=http://controlnode:9696/Restart relevant Compute services.
Compute and Networking nodeL2 agent
Install and start Open vSwitch.
Install the L2 agent (Neutron Open vSwitch agent).
Add the integration bridge to the Open vSwitch:
# ovs-vsctl add-br br-int
Update the Networking configuration file,
/etc/neutron/neutron.conf
:[DEFAULT] core_plugin = neutron.plugins.openvswitch.ovs_neutron_plugin.OVSNeutronPluginV2 control_exchange = neutron rabbit_host =
controller
rabbit_password =RABBIT_PASS
notification_driver = neutron.openstack.common.notifier.rabbit_notifier [database] connection = mysql://neutron:NEUTRON_DBPASS
@controller
:3306/neutronUpdate the plug-in configuration file,
/etc/neutron/plugins/openvswitch/ovs_neutron_plugin.ini
.Compute node:
[ovs] tenant_network_type = gre tunnel_id_ranges = 1:1000 enable_tunneling = True local_ip = 9.181.89.202
Network node:
[ovs] tenant_network_type = gre tunnel_id_ranges = 1:1000 enable_tunneling = True local_ip = 9.181.89.203
Create the integration bridge br-int:
# ovs-vsctl --may-exist add-br br-int
Start the Networking L2 agent
The Networking Open vSwitch L2 agent can be a service of operating system. The command to start depends on your operating systems. The following command runs the service directly:
# neutron-openvswitch-agent --config-file /etc/neutron/plugins/openvswitch/ovs_neutron_plugin.ini \ --config-file /etc/neutron/neutron.conf
Network nodeDHCP agent
Install the DHCP agent.
Update the Networking configuration file,
/etc/neutron/neutron.conf
[DEFAULT] core_plugin = neutron.plugins.openvswitch.ovs_neutron_plugin.OVSNeutronPluginV2 control_exchange = neutron rabbit_host =
controller
rabbit_password =RABBIT_PASS
notification_driver = neutron.openstack.common.notifier.rabbit_notifier allow_overlapping_ips = TrueSet
allow_overlapping_ips
because TenantA and TenantC use overlapping subnets.Update the DHCP
/etc/neutron/dhcp_agent.ini
configuration file:interface_driver = neutron.agent.linux.interface.OVSInterfaceDriver
Start the DHCP agent.
The Networking DHCP agent can be a service of operating system. The command to start the service depends on your operating system. The following command runs the service directly:
# neutron-dhcp-agent --config-file /etc/neutron/neutron.conf \ --config-file /etc/neutron/dhcp_agent.ini
Network nodeL3 agent
Install the L3 agent.
Add the external network bridge
# ovs-vsctl add-br br-ex
Add the physical interface, for example eth0, that is connected to the outside network to this bridge:
# ovs-vsctl add-port br-ex eth0
Update the L3 configuration file
/etc/neutron/l3_agent.ini
:[DEFAULT] interface_driver=neutron.agent.linux.interface.OVSInterfaceDriver use_namespaces=True
Set the
use_namespaces
option (it is True by default) because TenantA and TenantC have overlapping subnets, and the routers are hosted on one l3 agent network node.Start the L3 agent
The Networking L3 agent can be a service of operating system. The command to start the service depends on your operating system. The following command starts the agent directly:
# neutron-l3-agent --config-file /etc/neutron/neutron.conf \ --config-file /etc/neutron/l3_agent.ini