From Fedora Project Wiki

No edit summary
No edit summary
Line 4: Line 4:
Deploy the Quantum virtual network service and configure Nova to use QuantumManager as its NetworkManager.  
Deploy the Quantum virtual network service and configure Nova to use QuantumManager as its NetworkManager.  


Quantum includes several plugins. The linuxbridge and openvswitch plugins are covered here. Feel free to experiment with the cisco, nicira, and/or ryu plugins as well.
Quantum includes several plugins. The linuxbridge and openvswitch plugins are covered here. Feel free to experiment with the cisco, nicira, and/or ryu plugins as well, but note that deploying these requires additional software or hardware.


These instructions assume the controller node and any compute nodes already have Nova deployed, and the mysql server has already been configured for Nova on the compute node.
For clarity, these instructions assume a single node acts as the controller and compute node. They also assume that nova and mysql-server have already been installed and configured as described in the main test cases.
 
If using multiple compute nodes, all compute nodes will need to be connected via a network interface and switch with VLAN trunking enabled. Non-controller compute nodes require installation and configuration of the linuxbridge or openvswitch agent along with nova-compute, but do not require the quantum-server to be run or database to be configured.


|setup=
|setup=


Install openstack-quantum on the controller node and any compute nodes:
Install openstack-quantum:


  $ controller> sudo yum install --enablerepo=updates-testing openstack-quantum
  $> sudo yum install --enablerepo=updates-testing openstack-quantum


If running on Fedora 17, until updated RPM is available, as root edit /usr/lib/python2.7/site-packages/quantum-2012.1-py2.7.egg-info/requires.txt and change "lxml==2.3" to "lxml>=2.3".
If running on Fedora 17, until an updated RPM is available, as root edit /usr/lib/python2.7/site-packages/quantum-2012.1-py2.7.egg-info/requires.txt and change "lxml==2.3" to "lxml>=2.3".


Install one or more plugins on the controller node and any compute nodes:
Install one or more plugins:


  $> sudo yum install --enablerepo=updates-testing openstack-quantum-linuxbridge
  $> sudo yum install --enablerepo=updates-testing openstack-quantum-linuxbridge
Line 24: Line 26:
  $> sudo yum install --enablerepo=updates-testing openstack-quantum-ryu
  $> sudo yum install --enablerepo=updates-testing openstack-quantum-ryu


If you are using the openvswitch plugin, configure openvswitch on all compute nodes (including the controller if it runs nova-compute):
If you are using the openvswitch plugin, configure openvswitch:


  $ node> sudo yum install --enablerepo=updates-testing openvswitch [Note - will become dependency of openstack-quantum-openvswitch]
  $> sudo yum install --enablerepo=updates-testing openvswitch [Note - will become dependency of openstack-quantum-openvswitch]
  $ node> sudo systemctl enable openvswitch.service
  $> sudo systemctl enable openvswitch.service
  $ node> sudo systemctl start openvswitch.service
  $> sudo systemctl start openvswitch.service
  $ node> sudo ovs-vsctl add-br br-int
  $> sudo ovs-vsctl add-br br-int




If using the linuxbridge plugin, configure quantum-server and create the database on the contoller node:
If using the linuxbridge plugin, configure quantum-server and create the database:


  $ controller> sudo cp /etc/quantum/plugins.ini /etc/quantum/plugins.ini-orig
  $> sudo cp /etc/quantum/plugins.ini /etc/quantum/plugins.ini-orig
  $ controller> sudo openstack-config-set /etc/quantum/plugins.ini PLUGIN provider quantum.plugins.linuxbridge.LinuxBridgePlugin.LinuxBridgePlugin
  $> sudo openstack-config-set /etc/quantum/plugins.ini PLUGIN provider quantum.plugins.linuxbridge.LinuxBridgePlugin.LinuxBridgePlugin
  $ controller> mysql -u root -p -e "create database quantum_linux_bridge"
  $> mysql -u root -p -e "create database quantum_linux_bridge"
  $ controller> mysql -u root -p -e "create user 'quantum'@'%' identified by 'quantum'"
  $> mysql -u root -p -e "create user 'quantum'@'%' identified by 'quantum'"
  $ controller> mysql -u root -p -e "create user 'quantum'@'localhost' identified by 'quantum'"
  $> mysql -u root -p -e "create user 'quantum'@'localhost' identified by 'quantum'"
  $ controller> mysql -u root -p -e "grant all on quantum_linux_bridge.* to 'quantum'@'%'"
  $> mysql -u root -p -e "grant all on quantum_linux_bridge.* to 'quantum'@'%'"
  $ controller> mysql -u root -p -e "grant all on quantum_linux_bridge.* to 'quantum'@'localhost'"
  $> mysql -u root -p -e "grant all on quantum_linux_bridge.* to 'quantum'@'localhost'"


or, if using the openvswitch plugin, configure quantum-server and create the database on the controller node:
or, if using the openvswitch plugin, configure quantum-server and create the database:


  $ controller> sudo cp /etc/quantum/plugins.ini /etc/quantum/plugins.ini-orig
  $> sudo cp /etc/quantum/plugins.ini /etc/quantum/plugins.ini-orig
  $ controller> sudo openstack-config-set /etc/quantum/plugins.ini PLUGIN provider quantum.plugins.openvswitch.ovs_quantum_plugin.OVSQuantumPlugin
  $> sudo openstack-config-set /etc/quantum/plugins.ini PLUGIN provider quantum.plugins.openvswitch.ovs_quantum_plugin.OVSQuantumPlugin
  $ controller> mysql -u root -p -e "create database ovs_quantum"
  $> mysql -u root -p -e "create database ovs_quantum"
  $ controller> mysql -u root -p -e "grant all on ovs_quantum.* to 'quantum'@'%'"
  $> mysql -u root -p -e "grant all on ovs_quantum.* to 'quantum'@'%'"
  $ controller> mysql -u root -p -e "grant all on ovs_quantum.* to 'quantum'@'localhost'"
  $> mysql -u root -p -e "grant all on ovs_quantum.* to 'quantum'@'localhost'"




If using the linuxbridge plugin, on the controller and all compute nodes, configure the linuxbridge plugin and agent:
If using the linuxbridge plugin, configure the linuxbridge plugin and agent:


  $> sudo cp /etc/quantum/plugins/linuxbridge/linuxbridge_conf.ini  /etc/quantum/plugins/linuxbridge/linuxbridge_conf.ini-orig
  $> sudo cp /etc/quantum/plugins/linuxbridge/linuxbridge_conf.ini  /etc/quantum/plugins/linuxbridge/linuxbridge_conf.ini-orig
Line 62: Line 64:
or, if using the openvswitch plugin:
or, if using the openvswitch plugin:


  $ controller> sudo cp /etc/quantum/plugins/openvswitch/ovs_quantum_plugin.ini /etc/quantum/plugins/openvswitch/ovs_quantum_plugin.ini-orig
  $> sudo cp /etc/quantum/plugins/openvswitch/ovs_quantum_plugin.ini /etc/quantum/plugins/openvswitch/ovs_quantum_plugin.ini-orig
  $ controller> sudo openstack-config-set /etc/quantum/plugins/openvswitch/ovs_quantum_plugin.ini DATABASE sql_connection mysql://quantum:quantum@`hostname`/ovs_quantum
  $> sudo openstack-config-set /etc/quantum/plugins/openvswitch/ovs_quantum_plugin.ini DATABASE sql_connection mysql://quantum:quantum@`hostname`/ovs_quantum




On controller node, enable and start quantum-server:
Enable and start quantum-server:


  $ controller> sudo systemctl enable quantum-server.service
  $> sudo systemctl enable quantum-server.service
  $ controller> sudo systemctl start quantum-server.service
  $> sudo systemctl start quantum-server.service




If using the linuxbridge plugin, enable and start quantum-linuxbridge-agent on all compute nodes:
If using the linuxbridge plugin, enable and start quantum-linuxbridge-agent:


  $ node> sudo systemctl enable quantum-linuxbridge-agent.service
  $> sudo systemctl enable quantum-linuxbridge-agent.service
  $ node> sudo systemctl start quantum-linuxbridge-agent.service
  $> sudo systemctl start quantum-linuxbridge-agent.service


or, if using the openvswitch plugin, enable and start quantum-openvswitch-agent on all compute nodes:
or, if using the openvswitch plugin, enable and start quantum-openvswitch-agent:


  $ node> sudo systemctl enable quantum-openvswitch-agent.service
  $> sudo systemctl enable quantum-openvswitch-agent.service
  $ node> sudo systemctl start quantum-openvswitch-agent.service
  $> sudo systemctl start quantum-openvswitch-agent.service





Revision as of 13:13, 8 March 2012

Description

Deploy the Quantum virtual network service and configure Nova to use QuantumManager as its NetworkManager.

Quantum includes several plugins. The linuxbridge and openvswitch plugins are covered here. Feel free to experiment with the cisco, nicira, and/or ryu plugins as well, but note that deploying these requires additional software or hardware.

For clarity, these instructions assume a single node acts as the controller and compute node. They also assume that nova and mysql-server have already been installed and configured as described in the main test cases.

If using multiple compute nodes, all compute nodes will need to be connected via a network interface and switch with VLAN trunking enabled. Non-controller compute nodes require installation and configuration of the linuxbridge or openvswitch agent along with nova-compute, but do not require the quantum-server to be run or database to be configured.

Setup

Install openstack-quantum:

$> sudo yum install --enablerepo=updates-testing openstack-quantum

If running on Fedora 17, until an updated RPM is available, as root edit /usr/lib/python2.7/site-packages/quantum-2012.1-py2.7.egg-info/requires.txt and change "lxml==2.3" to "lxml>=2.3".

Install one or more plugins:

$> sudo yum install --enablerepo=updates-testing openstack-quantum-linuxbridge
$> sudo yum install --enablerepo=updates-testing openstack-quantum-openvswitch
$> sudo yum install --enablerepo=updates-testing openstack-quantum-cisco
$> sudo yum install --enablerepo=updates-testing openstack-quantum-nicira
$> sudo yum install --enablerepo=updates-testing openstack-quantum-ryu

If you are using the openvswitch plugin, configure openvswitch:

$> sudo yum install --enablerepo=updates-testing openvswitch [Note - will become dependency of openstack-quantum-openvswitch]
$> sudo systemctl enable openvswitch.service
$> sudo systemctl start openvswitch.service
$> sudo ovs-vsctl add-br br-int


If using the linuxbridge plugin, configure quantum-server and create the database:

$> sudo cp /etc/quantum/plugins.ini /etc/quantum/plugins.ini-orig
$> sudo openstack-config-set /etc/quantum/plugins.ini PLUGIN provider quantum.plugins.linuxbridge.LinuxBridgePlugin.LinuxBridgePlugin
$> mysql -u root -p -e "create database quantum_linux_bridge"
$> mysql -u root -p -e "create user 'quantum'@'%' identified by 'quantum'"
$> mysql -u root -p -e "create user 'quantum'@'localhost' identified by 'quantum'"
$> mysql -u root -p -e "grant all on quantum_linux_bridge.* to 'quantum'@'%'"
$> mysql -u root -p -e "grant all on quantum_linux_bridge.* to 'quantum'@'localhost'"

or, if using the openvswitch plugin, configure quantum-server and create the database:

$> sudo cp /etc/quantum/plugins.ini /etc/quantum/plugins.ini-orig
$> sudo openstack-config-set /etc/quantum/plugins.ini PLUGIN provider quantum.plugins.openvswitch.ovs_quantum_plugin.OVSQuantumPlugin
$> mysql -u root -p -e "create database ovs_quantum"
$> mysql -u root -p -e "grant all on ovs_quantum.* to 'quantum'@'%'"
$> mysql -u root -p -e "grant all on ovs_quantum.* to 'quantum'@'localhost'"


If using the linuxbridge plugin, configure the linuxbridge plugin and agent:

$> sudo cp /etc/quantum/plugins/linuxbridge/linuxbridge_conf.ini  /etc/quantum/plugins/linuxbridge/linuxbridge_conf.ini-orig
$> sudo openstack-config-set /etc/quantum/plugins/linuxbridge/linuxbridge_conf.ini DATABASE connection mysql
$> sudo openstack-config-set /etc/quantum/plugins/linuxbridge/linuxbridge_conf.ini DATABASE user quantum
$> sudo openstack-config-set /etc/quantum/plugins/linuxbridge/linuxbridge_conf.ini DATABASE pass quantum
$> sudo openstack-config-set /etc/quantum/plugins/linuxbridge/linuxbridge_conf.ini DATABASE host hostname
$> sudo openstack-config-set /etc/quantum/plugins/linuxbridge/linuxbridge_conf.ini LINUX_BRIDGE physical_interface eth0

or, if using the openvswitch plugin:

$> sudo cp /etc/quantum/plugins/openvswitch/ovs_quantum_plugin.ini /etc/quantum/plugins/openvswitch/ovs_quantum_plugin.ini-orig
$> sudo openstack-config-set /etc/quantum/plugins/openvswitch/ovs_quantum_plugin.ini DATABASE sql_connection mysql://quantum:quantum@hostname/ovs_quantum


Enable and start quantum-server:

$> sudo systemctl enable quantum-server.service
$> sudo systemctl start quantum-server.service


If using the linuxbridge plugin, enable and start quantum-linuxbridge-agent:

$> sudo systemctl enable quantum-linuxbridge-agent.service
$> sudo systemctl start quantum-linuxbridge-agent.service

or, if using the openvswitch plugin, enable and start quantum-openvswitch-agent:

$> sudo systemctl enable quantum-openvswitch-agent.service
$> sudo systemctl start quantum-openvswitch-agent.service


Finally, configure Nova to use QuantumManager as its NetworkManager:

TBD

If using the the linuxbridge plugin, enable its drivers for Nova:

TBD

or if using the openvswitch plugin, enable its drivers for Nova:

TBD 

How to test

TBD

Expected Results

TBD