From Fedora Project Wiki

Line 32: Line 32:


   #> sudo sed -i /usr/lib/systemd/system/quantum-server.service -e 's/^\(After=.*\)/\1 mysqld.service/'
   #> sudo sed -i /usr/lib/systemd/system/quantum-server.service -e 's/^\(After=.*\)/\1 mysqld.service/'
'''Note''' if using Fedora 16, use /lib/systemd/... instead of /usr/lib/systemd/... in the above command.


'''Note''' the Quantum agent also needs to be enabled and started. Please see below.
'''Note''' the Quantum agent also needs to be enabled and started. Please see below.

Revision as of 15:41, 5 April 2012

Quantum

The Quantum project provides "network connectivity as a service". This page tracks Fedora Cloud SIG's effort to maintain Quantum in Fedora.

This page will address the installation and configuration of the following:

  • Quantum Server
  • Quantum Plugins

The packaging can be found at:

Quantum Server

Installation

The Quantum service is installed as follows:

 #> sudo yum install openstack-quantum

Configuration

The Quantum service requires the installation and configuration of a database. This can be achieved by running the following:

 #> sudo quantum-server-setup

The above script makes use of a number of default settings. Make use of the --help option to see what can be configured. This will ensure that Quantum database is installed, started and configured. In addition to this the user will be requested to supply the relevant plugin. The plugins are discussed below.

Once the database has been created an configured the quantum service should be enabled and started.

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

Note the Quantum server should always start after the mysqld. This can be addressed by the following command:

 #> sudo sed -i /usr/lib/systemd/system/quantum-server.service -e 's/^\(After=.*\)/\1 mysqld.service/'

Note if using Fedora 16, use /lib/systemd/... instead of /usr/lib/systemd/... in the above command.

Note the Quantum agent also needs to be enabled and started. Please see below.

OpenStack

Please note that the script quantum-server-setup will update the nova configuration file.

Keystone Integration - TBD

Quantum Agents

The agent is responsible for the dynamic configuration of the switches. The following plugin agents are supported:

Installation

Each agent has its own installation package:

  • Cisco
 #> sudo yum install openstack-quantum-cisco
  • Linux Bridge
 #> sudo yum install openstack-quantum-linuxbridge
  • Nicira
 #> sudo yum install openstack-quantum-nicira
  • Open vSwitch
 #> sudo yum install openstack-quantum-openvswitch

An OVS “integration” bridge must be created. The VMs will connect to this bridge.

 #> sudo ovs-vsctl add-br br-int

If you wish to connect this to an physical NIC, for example eth0), then do:

 #> sudo ovs-vsctl add-port br-int eth0

Note that br-int is defined in the ovs-quantum_plugin.ini file.

  • RYU
 #> sudo yum install openstack-quantum-ryu

The agents need to be installed on all of the compute nodes.

Configuration

The Quatum plugin must be configured so that it can interface with the Quantum server. This can be achieved by running the following:

 #> sudo quantum-node-setup

The above script makes use of a number of default settings. Make use of the --help option to see what can be configured. The Quantum database hostname is very important. Please make sure that this is defined in the hosts file.

Please note that you need to enable and start the relevant plugin agents. These are listed below:

  • Linux Bridge
 #> sudo systemctl enable quantum-linuxbridge-agent.service
 #> sudo systemctl start quantum-linuxbridge-agent.service
  • Open vSwitch
 #> sudo systemctl enable quantum-openvswitch-agent.service
 #> sudo systemctl start quantum-openvswitch-agent.service

In addition to this make sure that the openvswitch service is enabled and running.

 #> sudo systemctl enable openvswitch.service
 #> sudo systemctl start openvswitch.service
  • RYU
 #> sudo systemctl enable quantum-ryu-agent.service
 #> sudo systemctl start quantum-ryu-agent.service

OpenStack

Please note that the script quantum-node-setup will update the nova configuration file.

Keystone Integration - TBD

Troubleshooting

Quantum Server

  • /etc/quantum/plugins.ini contains the specific plugin module. Check that this matches the intended plugin
  • /etc/quantum/quantum.conf contains information relevant to the server. Check that the server is running and that the bind_port is indeed up.
  • If the Quantum server does not start after reboot, and you are using mysql, then make sure that the Quantum server starts after the mysqld.service.

Quantum Plugin

  • /etc/quantum/plugins.ini contains the specific plugin module. Check that this matches the intended plugin
  • /etc/quantum/quantum.conf contains the specific plugin module. Check that this matches the intended plugin

OpenStack

  • It may be useful to look for errors in /var/log/nova/network.log and /var/log/nova/nova-dhcpbridge.log
  • Common configuration: /etc/nova/nova.conf contains the relevant quantum configuration.
   network_manager=nova.network.quantum.manager.QuantumManager
   quantum_connection_host=localhost
   quantum_connection_port=9696
   quantum_use_dhcp=True
  • Cisco
   scheduler_driver=quantum.plugins.cisco.nova.quantum_port_aware_scheduler.QuantumPortAwareScheduler
   libvirt_vif_type=802.1Qbh
   libvirt_vif_driver=quantum.plugins.cisco.nova.vifdirect.Libvirt802dot1QbhDriver
  • Linux Bridge:
   libvirt_vif_type=ethernet
   libvirt_vif_driver=nova.virt.libvirt.vif.QuantumLinuxBridgeVIFDriver
   linuxnet_interface_driver=nova.network.linux_net.QuantumLinuxBridgeInterfaceDriver
  • Open vSwitch:
   libvirt_vif_type=ethernet
   libvirt_vif_driver=nova.virt.libvirt.vif.LibvirtOpenVswitchDriver
   linuxnet_interface_driver=nova.network.linux_net.LinuxOVSInterfaceDriver

Useful Quantum Links