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 |