Browse code

Add comments on how to run devstack with Quantum

Fixes bug 1077826

Change-Id: I224db4e00e3c937f3106e9a099b79de789be1fc1

Oleg Bondarev authored on 2013/03/25 21:34:23
Showing 2 changed files
... ...
@@ -103,3 +103,51 @@ If you only want to do some testing of a real normal swift cluster with multiple
103 103
 If you are enabling `swift3` in `ENABLED_SERVICES` devstack will install the swift3 middleware emulation. Swift will be configured to act as a S3 endpoint for Keystone so effectively replacing the `nova-objectstore`.
104 104
 
105 105
 Only Swift proxy server is launched in the screen session all other services are started in background and managed by `swift-init` tool.
106
+
107
+# Quantum
108
+
109
+Basic Setup
110
+
111
+In order to enable Quantum a single node setup, you'll need the following settings in your `localrc` :
112
+
113
+    disable_service n-net
114
+    enable_service q-svc
115
+    enable_service q-agt
116
+    enable_service q-dhcp
117
+    enable_service q-l3
118
+    enable_service q-meta
119
+    enable_service quantum
120
+    # Optional, to enable tempest configuration as part of devstack
121
+    enable_service tempest
122
+
123
+Then run stack.sh as normal.
124
+
125
+If tempest has been successfully configured, a basic set of smoke tests can be run as follows:
126
+
127
+    $ cd /opt/stack/tempest
128
+    $ nosetests tempest/tests/network/test_network_basic_ops.py
129
+
130
+Multi-Node Setup
131
+
132
+A more interesting setup involves running multiple compute nodes, with Quantum networks connecting VMs on different compute nodes.
133
+You should run at least one "controller node", which should have a `stackrc` that includes at least:
134
+
135
+    disable_service n-net
136
+    enable_service q-svc
137
+    enable_service q-agt
138
+    enable_service q-dhcp
139
+    enable_service q-l3
140
+    enable_service q-meta
141
+    enable_service quantum
142
+
143
+You likely want to change your `localrc` to run a scheduler that will balance VMs across hosts:
144
+
145
+    SCHEDULER=nova.scheduler.simple.SimpleScheduler
146
+
147
+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:
148
+
149
+    ENABLED_SERVICES=n-cpu,rabbit,g-api,quantum,q-agt
150
+    SERVICE_HOST=[IP of controller node]
151
+    MYSQL_HOST=$SERVICE_HOST
152
+    RABBIT_HOST=$SERVICE_HOST
153
+    Q_HOST=$SERVICE_HOST
... ...
@@ -20,7 +20,18 @@ fi
20 20
 # screen tabs. To change the default list, use the ``enable_service`` and
21 21
 # ``disable_service`` functions in ``localrc``.
22 22
 # For example, to enable Swift add this to ``localrc``:
23
-# enable_service swift
23
+#  enable_service swift
24
+# In order to enable Quantum (a single node setup) add the following
25
+# settings in `` localrc``:
26
+#  disable_service n-net
27
+#  enable_service q-svc
28
+#  enable_service q-agt
29
+#  enable_service q-dhcp
30
+#  enable_service q-l3
31
+#  enable_service q-meta
32
+#  enable_service quantum
33
+#  # Optional, to enable tempest configuration as part of devstack
34
+#  enable_service tempest
24 35
 ENABLED_SERVICES=g-api,g-reg,key,n-api,n-crt,n-obj,n-cpu,n-net,n-cond,cinder,c-sch,c-api,c-vol,n-sch,n-novnc,n-xvnc,n-cauth,horizon,rabbit,tempest,mysql
25 36
 
26 37
 # Set the default Nova APIs to enable