From Fedora Project Wiki

Quantum

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

The packaging can be found at:

Open vSwitch

Quantum Service

The Quantum service is installed as follows:

 #> sudo yum install openstack-quantum
 #> sudo yum install openstack-quantum-openvswitch

The Quantum service is configured as follows:

 #> sudo quantum-server-setup

Note the above script will create the database and set the relevant configuration files to work with the open vswitch plugin. The script will also make use of environment variables for keystone configuration. There are: OS_TENANT_NAME, OS_USERNAME and OS_PASSWORD.

Once the service has been configured it can be started as follows:

 #> sudo service quantum-server start
 #> sudo chkconfig quantum-server on

Compute Node

A compute node will need the agent to be configured and run.

 #> sudo yum install openstack-quantum-openvswitch

The agent is configured follows:

 #> sudo quantum-node-setup

Note the above script will create the database and set the relevant configuration files to work with the open vswitch plugin. The script will also make use of environment variables for keystone configuration. There are: OS_TENANT_NAME, OS_USERNAME and OS_PASSWORD.

A integration bridge needs to be created on the openvswitch. The bridge needs to be administratively created prior to running the agent.

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

Ensure that the interfaces are persistent after reboot. This is done by creating an interface file, for example for br-int:

  DEVICE=br-int
  DEVICETYPE=ovs
  TYPE=OVSBridge
  ONBOOT=yes
  BOOTPROTO=none

Once configured it can be started as follows:

 #> sudo service quantum-openvswitch-agent start
 #> sudo chkconfig quantum-openvswitch-agent on

Note if the host is rebooted then the openvswitch will create tap devices that existed on the switch prior to the reboot. This may affect the way in which the various quantum agents function. This is addressed by ensuring that the quantum-ovs-cleanup script is run at boot. This is done as follows:

 #> sudo chkconfig quantum-ovs-cleanup on

IPAM

The Quantum DHCP agent enables VM's that are launched on a Quantum network to receive a IP address. The DHCP agent is part of the openstack-quantum package. This is installed as follows:

 #> sudo yum install openstack-quantum

The DHCP agent is configured as follows (please select openvswitch for the plugin):

 #> sudo quantum-dhcp-setup

Once the agent has been configured it can be started as follows:

 #> sudo service quantum-dhcp-agent start
 #> sudo chkconfig quantum-dhcp-agent on

Note if the DHCP agent is not run on a compute node then the same installation for the compute node need to performed.

Floating IP Support

The Quantum L3 agent provides floating IP support for VM's that are launched. The L3 agent is part of the openstack-quantum package. This is installed as follows:

 #> sudo yum install openstack-quantum

The L3 agent is configured as follows (please select openvswitch for the plugin):

 #> sudo quantum-l3-setup

A external bridge needs to be created on the openvswitch. The bridge needs to be administratively created prior to running the L3 agent.

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

Ensure that the interfaces are persistent after reboot. This is done by creating an interface file, for example for br-ex:

  DEVICE=br-ex
  DEVICETYPE=ovs
  TYPE=OVSBridge
  ONBOOT=yes
  BOOTPROTO=none

Once the agent has been configured it can be started as follows:

 #> sudo service quantum-l3-agent start
 #> sudo chkconfig quantum-l3-agent on

In order for the VM to be able communicate with the Nova meta data service then the quantum-metadata-agent needs to be run.

 #> sudo service quantum-metadata-agent start
 #> sudo chkconfig quantum-metadata-agent on

Note if the L3 agent is not run on a compute node then the same installation for the compute node need to performed.

Linux Bridge

Quantum Service

The Quantum service is installed as follows:

 #> sudo yum install openstack-quantum
 #> sudo yum install openstack-quantum-linuxbridge

The Quantum service is configured as follows:

 #> sudo quantum-server-setup

Note the above script will create the database and set the relevant configuration files to work with the open vswitch plugin. Some of the value set are related to keystone.

Once the service has been configured it can be started as follows:

 #> sudo service quantum-server start
 #> sudo chkconfig quantum-server on

Compute Node

A compute node will need the agent to be configured and run.

 #> sudo yum install openstack-quantum-linuxbridge

The agent is configured follows:

 #> sudo quantum-node-setup

Once configured it can be started as follows:

 #> sudo service quantum-linuxbridge-agent start
 #> sudo chkconfig quantum-linuxbridge-agent on

IPAM and Floating IP support

This is the same as the openvswitch support. One just needs to select the linux bridge plugin.

Quantum Plugins

In Grizzly the following plugins are supported:

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
  • /var/log/messages may contain information regarding the agent

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

Useful Quantum Links