NeutronDevstack
Basic Setup
In order to use Quantum with devstack (http://devstack.org) a single node setup, you'll need the following settings in your localrc (see this page for more details on localrc).
disable_service n-net enable_service q-svc enable_service q-agt enable_service q-dhcp enable_service q-l3 enable_service q-meta enable_service quantum # Optional, to enable tempest configuration as part of devstack enable_service tempest
Then run stack.sh as normal.
If tempest has been successfully configured (and this will depend on the following devstack change having merged - https://review.openstack.org/#/c/17776/), a basic set of smoke tests can be run as follows:
$ cd /opt/stack/tempest $ nosetests tempest/tests/network/test_network_basic_ops.py
See the Quantum Admin Guide for details on interacting with Quantum: http://docs.openstack.org/trunk/openstack-network/admin/content/index.html
XS/XCP Setup
See the following page for instructions on configuring Quantum with OVS on XS/XCP: QuantumDevstackOvsXcp
Multi-Node Setup
A more interesting setup involves running multiple compute nodes, with Quantum networks connecting VMs on different compute nodes.
You should run at least one "controller node", which should have a stackrc that includes at least:
disable_service n-net enable_service q-svc enable_service q-agt enable_service q-dhcp enable_service q-l3 enable_service q-meta enable_service quantum
You likely want to change your localrc to run a scheduler that will balance VMs across hosts:
SCHEDULER=nova.scheduler.simple.SimpleScheduler
You can then run many compute nodes, each of which should have a stackrc which includes the following, with the IP address of the above controller node:
ENABLED_SERVICES=n-cpu,rabbit,quantum,q-agt SERVICE_HOST=[IP of controller node] MYSQL_HOST=$SERVICE_HOST RABBIT_HOST=$SERVICE_HOST Q_HOST=$SERVICE_HOST
Note: the need to include 'rabbit' here seems to be a bug, which may have been fixed by the time you're reading this.If 'rabbit' is not specified, nova-compute also will try to connect to rabbit on localhost, not the "controller host". See the following link for info on both issues: https://answers.launchpad.net/devstack/+question/197749