Jump to: navigation, search

Difference between revisions of "NeutronDevstack"

(Basic Setup)
(Basic Setup)
Line 27: Line 27:
  
  
See the Quantum Admin Guide for details on interacting with Quantum: [[ http://docs.openstack.org/trunk/openstack-network/admin/content/index.html ]]
+
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 ==
 
== XS/XCP Setup ==

Revision as of 00:09, 17 February 2013

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,g-api,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 'g-api' and 'rabbit' here seems to be a bug, which may have been fixed by the time you're reading this. Without it, nova-compute dies because it can't import the glance.common library. This process does not actually need to be running on this host, we just need a way to make sure the glance.common library is installed. 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