Jump to: navigation, search

Difference between revisions of "NeutronDevstack"

Line 14: Line 14:
 
</nowiki></pre>
 
</nowiki></pre>
  
 +
 +
Then run stack.sh as normal.
 +
 +
== Quantum V2 API ==
 +
 +
If you are interested in running quantum using the V2 api apply the following patch to your devstack repo: https://review.openstack.org/#/c/9161
 +
Then set NOVA_USE_QUANTUM_API=v2 in your localrc.
 +
 +
Next, your'll need the following patch: https://review.openstack.org/#/c/9160/ in order to acquire the openvswitch v2 changes.
  
 
Then run stack.sh as normal.
 
Then run stack.sh as normal.

Revision as of 02:07, 30 June 2012

Basic Setup

In order to use Quantum with devstack (http://devstack.org) you'll need to add "quantum" and "q-svc" to ENABLED_SERVICES in your localrc. See this page for more details on localrc settings: http://devstack.org/stack.sh.html.

If you want to enable the openvswitch plugin, you'll have to set Q_PLUGIN to "openvswitch" and also add "q-agt" to ENABLED_SERVICES in order to start the openvswitch quantum agent (also in your localrc).

For example:

ENABLED_SERVICES="g-api,g-reg,key,n-api,n-cpu,n-net,n-sch,n-vnc,horizon,mysql,rabbit,openstackx,q-svc,quantum,q-agt"
Q_PLUGIN=openvswitch
LIBVIRT_FIREWALL_DRIVER=nova.virt.firewall.NoopFirewallDriver


Then run stack.sh as normal.

Quantum V2 API

If you are interested in running quantum using the V2 api apply the following patch to your devstack repo: https://review.openstack.org/#/c/9161 Then set NOVA_USE_QUANTUM_API=v2 in your localrc.

Next, your'll need the following patch: https://review.openstack.org/#/c/9160/ in order to acquire the openvswitch v2 changes.

Then run stack.sh as normal.

Multi-Node Setup

A more interesting setup involves running multiple compute nodes, with Quantum networks connecting VMs on different compute nodes. This is now possible with the latest (5/26/12) version of devstack.

You should run at least one "controller node", which should have a stackrc that includes at least:


ENABLED_SERVICES="g-api,g-reg,key,n-api,n-cpu,n-net,n-sch,n-vnc,horizon,mysql,rabbit,openstackx,q-svc,quantum,q-agt"
Q_PLUGIN=openvswitch


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:


ENABLED_SERVICES="quantum,q-agt,n-cpu,g-api,rabbit"
Q_PLUGIN=openvswitch


Each compute node also needs to have a modified localrc to point to the "controller" for services that are only run once per deployment:


SERVICE_HOST=[IP of controller node]
MYSQL_HOST=$SERVICE_HOST
RABBIT_HOST=$SERVICE_HOST


Note: the need to include 'g-api' and 'rabbit' here seems to be a bug. 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

Running with Melange

To enable melange in devstack add "melange" and "m-svc" to the ENABLED_SERVICES (melange requires quantum to be enabled as well).

For example:

ENABLED_SERVICES=g-api,g-reg,key,n-api,n-cpu,n-net,n-sch,n-novnc,n-xvnc,n-cauth,horizon,mysql,rabbit,openstackx,q-svc,q-agt,m-svc,quantum,melange