Controller Node - Quantum Server
Install the Quantum server.
Create database ovs_quantum. See the section on the Core Plugins for the exact details.
Update the Quantum configuration file, /etc/quantum/quantum.conf
[DEFAULT] core_plugin = quantum.plugins.openvswitch.ovs_quantum_plugin.OVSQuantumPluginV2 control_exchange = quantum rabbit_host = controlnode notification_driver = quantum.openstack.common.notifier.rabbit_notifier
Update the plugin configuration file, /etc/quantum/plugins/openvswitch/ovs_quantum_plugin.ini:
[DATABASE] sql_connection = mysql://root:root@controlnode:3306/ovs_quantum?charset=utf8 [OVS] tenant_network_type = gre tunnel_id_ranges = 1:1000 enable_tunneling = True
Update the api-paste configuration file to include the keystone user, /etc/quantum/api-paste.ini
[filter:authtoken] admin_tenant_name=servicetenant admin_user=quantum admin_password=servicepassword
Start the Quantum server
The quantum server can be a service of operating system. The command may be different to start the service on different operating systems. However the command to run the quantum server directly is kind of like:
sudo quantum-server --config-file /etc/quantum/plugins/openvswitch/ovs_quantum_plugin.ini --config-file /etc/quantum/quantum.conf
Compute Node - Nova compute
Install the Nova compute.
Update the nova configuration file, /etc/nova/nova.conf. Make sure the following is at the end of this file:
network_api_class=nova.network.quantumv2.api.API quantum_admin_username=quantum quantum_admin_password=servicepassword quantum_admin_auth_url=http://controlnode:35357/v2.0/ quantum_auth_strategy=keystone quantum_admin_tenant_name=servicetenant quantum_url=http://controlnode:9696/ libvirt_vif_driver=nova.virt.libvirt.vif.LibvirtHybridOVSBridgeDriver
Restart the nova service
Compute and Network Node - L2 Agent
Install the L2 agent.
Add the integration bridge to the Open vSwitch
sudo ovs-vsctl add-br br-int
Update the Quantum configuration file, /etc/quantum/quantum.conf
[DEFAULT] core_plugin = quantum.plugins.openvswitch.ovs_quantum_plugin.OVSQuantumPluginV2 control_exchange = quantum rabbit_host = controlnode notification_driver = quantum.openstack.common.notifier.rabbit_notifier
Update the plugin configuration file, /etc/quantum/plugins/openvswitch/ovs_quantum_plugin.ini.
Compute Node:
[DATABASE] sql_connection = mysql://root:root@controlnode:3306/ovs_quantum?charset=utf8 [OVS] tenant_network_type = gre tunnel_id_ranges = 1:1000 enable_tunneling = True local_ip = 9.181.89.202
Network Node:
[DATABASE] sql_connection = mysql://root:root@controlnode:3306/ovs_quantum?charset=utf8 [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:
sudo ovs-vsctl --may-exist add-br br-int
Start the Quantum L2 agent
The quantum Open vSwitch L2 agent can be a service of operating system. The command may be different to start the service on different operating systems. However the command to run it directly is kind of like:
sudo quantum-openvswitch-agent --config-file /etc/quantum/plugins/openvswitch/ovs_quantum_plugin.ini --config-file /etc/quantum/quantum.conf
Network Node - DHCP Agent
Install the DHCP agent.
Update the Quantum configuration file, /etc/quantum/quantum.conf
[DEFAULT] core_plugin = quantum.plugins.openvswitch.ovs_quantum_plugin.OVSQuantumPluginV2 control_exchange = quantum rabbit_host = controlnode notification_driver = quantum.openstack.common.notifier.rabbit_notifier allow_overlapping_ips = True
We set
allow_overlapping_ips
because we have overlapping subnets for TenantA and TenantC.Update the DHCP configuration file /etc/quantum/dhcp_agent.ini
interface_driver = quantum.agent.linux.interface.OVSInterfaceDriver
Start the DHCP agent
The quantum DHCP agent can be a service of operating system. The command may be different to start the service on different operating systems. However the command to run it directly is kind of like:
sudo quantum-dhcp-agent --config-file /etc/quantum/quantum.conf --config-file /etc/quantum/dhcp_agent.ini
Network Node - L3 Agent
Install the L3 agent.
Add the external network bridge
sudo ovs-vsctl add-br br-ex
Add the physical interface, for example eth0, that is connected to the outside network to this bridge
sudo ovs-vsctl add-port br-ex eth0
Update the L3 configuration file /etc/quantum/l3_agent.ini:
[DEFAULT] interface_driver=quantum.agent.linux.interface.OVSInterfaceDriver use_namespaces=True
We set
use_namespaces
(It is True by default.) because we have overlapping subnets for TenantA and TenantC and we are going to host the routers with one l3 agent network node.Start the L3 agent
The quantum L3 agent can be a service of operating system. The command may be different to start the service on different operating systems. However the command to run it directly is kind of like:
sudo quantum-l3-agent --config-file /etc/quantum/quantum.conf --config-file /etc/quantum/l3_agent.ini