To use Qpid instead of RabbitMQ, you set 'qpid' instead of 'rabbit' in
ENABLED_SERVICES in your localrc file. Otherwise, RabbitMQ is still
used by default.
(dtroyer) fixed problem with service test that failed to configure
rabbitmq if it was still selected.
Change-Id: I8c62b588a461a068463821b2c079ffa4bfa1f804
... | ... |
@@ -19,6 +19,7 @@ libvirt-bin # NOPRIME |
19 | 19 |
vlan |
20 | 20 |
curl |
21 | 21 |
rabbitmq-server # NOPRIME |
22 |
+qpidd # NOPRIME |
|
22 | 23 |
socat # used by ajaxterm |
23 | 24 |
python-mox |
24 | 25 |
python-paste |
... | ... |
@@ -42,3 +43,4 @@ python-boto |
42 | 42 |
python-kombu |
43 | 43 |
python-feedparser |
44 | 44 |
python-iso8601 |
45 |
+python-qpid # dist:precise |
... | ... |
@@ -29,11 +29,13 @@ python-netaddr |
29 | 29 |
python-paramiko |
30 | 30 |
python-paste |
31 | 31 |
python-paste-deploy |
32 |
+python-qpid |
|
32 | 33 |
python-routes |
33 | 34 |
python-sqlalchemy |
34 | 35 |
python-suds |
35 | 36 |
python-tempita |
36 | 37 |
rabbitmq-server # NOPRIME |
38 |
+qpid-cpp-server # NOPRIME |
|
37 | 39 |
sqlite |
38 | 40 |
sudo |
39 | 41 |
vconfig |
... | ... |
@@ -94,6 +94,12 @@ if [[ ! ${DISTRO} =~ (oneiric|precise|quantal|f16) ]]; then |
94 | 94 |
fi |
95 | 95 |
fi |
96 | 96 |
|
97 |
+if [ "${DISTRO}" = "oneiric" ] && is_service_enabled qpid ; then |
|
98 |
+ # Qpid was introduced in precise |
|
99 |
+ echo "You must use Ubuntu Precise or newer for Qpid support." |
|
100 |
+ exit 1 |
|
101 |
+fi |
|
102 |
+ |
|
97 | 103 |
# Set the paths of certain binaries |
98 | 104 |
if [[ "$os_PACKAGE" = "deb" ]]; then |
99 | 105 |
NOVA_ROOTWRAP=/usr/local/bin/nova-rootwrap |
... | ... |
@@ -381,8 +387,8 @@ FLAT_INTERFACE=${FLAT_INTERFACE:-$GUEST_INTERFACE_DEFAULT} |
381 | 381 |
# host. |
382 | 382 |
|
383 | 383 |
|
384 |
-# MySQL & RabbitMQ |
|
385 |
-# ---------------- |
|
384 |
+# MySQL & (RabbitMQ or Qpid) |
|
385 |
+# -------------------------- |
|
386 | 386 |
|
387 | 387 |
# We configure Nova, Horizon, Glance and Keystone to use MySQL as their |
388 | 388 |
# database server. While they share a single server, each has their own |
... | ... |
@@ -400,8 +406,10 @@ read_password MYSQL_PASSWORD "ENTER A PASSWORD TO USE FOR MYSQL." |
400 | 400 |
BASE_SQL_CONN=${BASE_SQL_CONN:-mysql://$MYSQL_USER:$MYSQL_PASSWORD@$MYSQL_HOST} |
401 | 401 |
|
402 | 402 |
# Rabbit connection info |
403 |
-RABBIT_HOST=${RABBIT_HOST:-localhost} |
|
404 |
-read_password RABBIT_PASSWORD "ENTER A PASSWORD TO USE FOR RABBIT." |
|
403 |
+if is_service_enabled rabbit; then |
|
404 |
+ RABBIT_HOST=${RABBIT_HOST:-localhost} |
|
405 |
+ read_password RABBIT_PASSWORD "ENTER A PASSWORD TO USE FOR RABBIT." |
|
406 |
+fi |
|
405 | 407 |
|
406 | 408 |
# Glance connection info. Note the port must be specified. |
407 | 409 |
GLANCE_HOSTPORT=${GLANCE_HOSTPORT:-$SERVICE_HOST:9292} |
... | ... |
@@ -756,8 +764,8 @@ EOF |
756 | 756 |
fi |
757 | 757 |
|
758 | 758 |
|
759 |
-# Rabbit |
|
760 |
-# ------ |
|
759 |
+# Rabbit or Qpid |
|
760 |
+# -------------- |
|
761 | 761 |
|
762 | 762 |
if is_service_enabled rabbit; then |
763 | 763 |
# Install and start rabbitmq-server |
... | ... |
@@ -772,6 +780,13 @@ if is_service_enabled rabbit; then |
772 | 772 |
fi |
773 | 773 |
# change the rabbit password since the default is "guest" |
774 | 774 |
sudo rabbitmqctl change_password guest $RABBIT_PASSWORD |
775 |
+elif is_service_enabled qpid; then |
|
776 |
+ if [[ "$os_PACKAGE" = "rpm" ]]; then |
|
777 |
+ install_package qpid-cpp-server |
|
778 |
+ restart_service qpidd |
|
779 |
+ else |
|
780 |
+ install_package qpidd |
|
781 |
+ fi |
|
775 | 782 |
fi |
776 | 783 |
|
777 | 784 |
|
... | ... |
@@ -1653,8 +1668,12 @@ add_nova_opt "vncserver_proxyclient_address=$VNCSERVER_PROXYCLIENT_ADDRESS" |
1653 | 1653 |
add_nova_opt "api_paste_config=$NOVA_CONF_DIR/api-paste.ini" |
1654 | 1654 |
add_nova_opt "image_service=nova.image.glance.GlanceImageService" |
1655 | 1655 |
add_nova_opt "ec2_dmz_host=$EC2_DMZ_HOST" |
1656 |
-add_nova_opt "rabbit_host=$RABBIT_HOST" |
|
1657 |
-add_nova_opt "rabbit_password=$RABBIT_PASSWORD" |
|
1656 |
+if is_service_enabled rabbit ; then |
|
1657 |
+ add_nova_opt "rabbit_host=$RABBIT_HOST" |
|
1658 |
+ add_nova_opt "rabbit_password=$RABBIT_PASSWORD" |
|
1659 |
+elif is_service_enabled qpid ; then |
|
1660 |
+ add_nova_opt "rpc_backend=nova.rpc.impl_qpid" |
|
1661 |
+fi |
|
1658 | 1662 |
add_nova_opt "glance_api_servers=$GLANCE_HOSTPORT" |
1659 | 1663 |
add_nova_opt "force_dhcp_release=True" |
1660 | 1664 |
if [ -n "$INSTANCES_PATH" ]; then |