summaryrefslogtreecommitdiff
path: root/openstack/usr/share/openstack/openstack-rabbitmq-setup
diff options
context:
space:
mode:
Diffstat (limited to 'openstack/usr/share/openstack/openstack-rabbitmq-setup')
-rw-r--r--openstack/usr/share/openstack/openstack-rabbitmq-setup66
1 files changed, 66 insertions, 0 deletions
diff --git a/openstack/usr/share/openstack/openstack-rabbitmq-setup b/openstack/usr/share/openstack/openstack-rabbitmq-setup
new file mode 100644
index 00000000..dd491294
--- /dev/null
+++ b/openstack/usr/share/openstack/openstack-rabbitmq-setup
@@ -0,0 +1,66 @@
+#!/bin/sh
+#
+# Copyright (C) 2014 Codethink Limited
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; version 2 of the License.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+set -e
+
+# Create required system users and groups
+getent group rabbitmq >/dev/null || groupadd -r --gid 1002 rabbitmq
+getent passwd rabbitmq >/dev/null || \
+ useradd --uid 1002 -r -g rabbitmq -d /var/lib/rabbitmq -s /sbin/nologin \
+ -c "Rabbitmq server daemon" rabbitmq
+
+chown -R rabbitmq:rabbitmq /var/lib/rabbitmq
+
+# Create directories and files needed to run openstack-rabbitmq-server
+if [ ! -d /var/run/rabbitmq ]; then
+ mkdir -p /var/run/rabbitmq
+ chown -R rabbitmq:rabbitmq /var/run/rabbitmq
+ chmod 755 /var/run/rabbitmq
+fi
+
+if [ ! -d /var/log/rabbitmq ]; then
+ mkdir -p /var/log/rabbitmq
+ chown -R rabbitmq:rabbitmq /var/log/rabbitmq
+ chmod 755 /var/log/rabbitmq
+fi
+
+# Install rabbimq.config and rabbitmq-env.conf
+install -D -m 644 /proc/self/fd/0 <<'EOF' /var/lib/rabbitmq/etc/rabbitmq/rabbitmq.config
+%% -*- Rabbit configuration for Openstack in Baserock
+[
+ {rabbit,
+ [
+ {default_user, <<"##RABBITMQ_USER##">>},
+ {default_pass, <<"##RABBITMQ_PASSWORD##">>},
+ {tcp_listeners, [##RABBITMQ_PORT##]}
+ ]}
+].
+EOF
+
+install -D -m 644 /proc/self/fd/0 <<'EOF' /etc/rabbitmq/rabbitmq-env.conf
+# NOTE: Install this file in /etc/rabbitmq/ because rabbitmq-server will load
+# it only from this directory.
+
+# Configure port node where rabbitmq-server will listen from.
+NODE_PORT=##RABBITMQ_PORT##
+# Config file has to be in $RABBITMQ_HOME/etc/rabbitmq/rabbitmq.config
+CONFIG_FILE=/var/lib/rabbitmq/etc/rabbitmq/rabbitmq
+EOF
+
+chown -R rabbitmq:rabbitmq /var/lib/rabbitmq
+
+exit 0