summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--openstack-rabbitmq.configure3
-rw-r--r--openstack/etc/systemd/system/openstack-rabbitmq-server.service14
-rw-r--r--openstack/usr/share/openstack/openstack-rabbitmq-setup5
3 files changed, 15 insertions, 7 deletions
diff --git a/openstack-rabbitmq.configure b/openstack-rabbitmq.configure
index 0980b2f5..ef2f6299 100644
--- a/openstack-rabbitmq.configure
+++ b/openstack-rabbitmq.configure
@@ -38,3 +38,6 @@ sed -f "$ROOT"/etc/openstack-rabbitmq-setup.sed -i \
ln -s "/etc/systemd/system/openstack-rabbitmq-setup.service" \
"$ROOT/etc/systemd/system/multi-user.target.wants/openstack-rabbitmq-setup.service"
+
+ln -s "/etc/systemd/system/openstack-rabbitmq-server.service" \
+ "$ROOT/etc/systemd/system/multi-user.target.wants/openstack-rabbitmq-server.service"
diff --git a/openstack/etc/systemd/system/openstack-rabbitmq-server.service b/openstack/etc/systemd/system/openstack-rabbitmq-server.service
index bee66e9f..6f12e437 100644
--- a/openstack/etc/systemd/system/openstack-rabbitmq-server.service
+++ b/openstack/etc/systemd/system/openstack-rabbitmq-server.service
@@ -1,13 +1,21 @@
[Unit]
-Description=RabbitMQ broker: Enable AMQP service provided by RabbitMQ broker
-After=syslog.target network.target
+Description=RabbitMQ broker
+After=syslog.target network.target openstack-rabbitmq-setup.service
+Requires=openstack-rabbitmq-setup.service
[Service]
-Type=notify
+Type=simple
User=rabbitmq
Group=rabbitmq
+Environment="RABBITMQ_PID_FILE=/var/run/rabbitmq/pid" "HOME=/var/lib/rabbitmq"
+WorkingDirectory=/var/lib/rabbitmq
+# Ensure cookie is created to avoid race
+# See https://bugzilla.redhat.com/show_bug.cgi?id=1059913
+ExecStartPre=-/bin/sh -c '/usr/sbin/rabbitmqctl status > /dev/null 2>&1'
ExecStart=/usr/sbin/rabbitmq-server
+ExecStartPost=/usr/sbin/rabbitmqctl wait /var/run/rabbitmq/pid
ExecStop=/usr/sbin/rabbitmqctl stop
+ExecStopPost=/bin/rm /var/run/rabbitmq/pid
[Install]
WantedBy=multi-user.target
diff --git a/openstack/usr/share/openstack/openstack-rabbitmq-setup b/openstack/usr/share/openstack/openstack-rabbitmq-setup
index fb83c039..af332841 100644
--- a/openstack/usr/share/openstack/openstack-rabbitmq-setup
+++ b/openstack/usr/share/openstack/openstack-rabbitmq-setup
@@ -38,9 +38,6 @@ if [ ! -d /var/log/rabbitmq ]; then
chmod 755 /var/log/rabbitmq
fi
-systemctl start openstack-rabbitmq-server
-
-ln -s "/etc/systemd/system/openstack-rabbitmq-server.service" \
- "/etc/systemd/system/multi-user.target.wants/openstack-rabbitmq-server.service"
+chown -R rabbitmq:rabbitmq /var/lib/rabbitmq
exit 0