aboutsummaryrefslogtreecommitdiff
path: root/docker/qdrouterd
diff options
context:
space:
mode:
authorAndrew Smith <ansmith@redhat.com>2017-05-16 14:32:53 -0400
committerAndrew Smith <ansmith@redhat.com>2017-05-18 09:39:31 -0400
commitf034a8b2098e73f47ad6fa05d95d4a30ae2e4d2e (patch)
tree94d451eb15631cece91bac7bde38739e68c8c780 /docker/qdrouterd
parent0bd1e3a84deef5a0c0a3efec4f44744c8e4e58c5 (diff)
downloadkolla-f034a8b2098e73f47ad6fa05d95d4a30ae2e4d2e.tar.gz
kolla-f034a8b2098e73f47ad6fa05d95d4a30ae2e4d2e.zip
Add qdrouterd container
The qdrouterd is a high performance, lightweight AMQP 1.0 message router that support oslo.messaging RPC communications. Change-Id: I42783fb50c9f6750071d797b3f07a6283454c7a7 Implements: blueprint dispatch-router-messaging-component
Diffstat (limited to 'docker/qdrouterd')
-rw-r--r--docker/qdrouterd/Dockerfile.j241
-rw-r--r--docker/qdrouterd/extend_start.sh10
-rw-r--r--docker/qdrouterd/qdrouterd_sudoers1
3 files changed, 52 insertions, 0 deletions
diff --git a/docker/qdrouterd/Dockerfile.j2 b/docker/qdrouterd/Dockerfile.j2
new file mode 100644
index 000000000..e8ce9339a
--- /dev/null
+++ b/docker/qdrouterd/Dockerfile.j2
@@ -0,0 +1,41 @@
+FROM {{ namespace }}/{{ image_prefix }}base:{{ tag }}
+LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build_date }}"
+
+{% block qdrouterd_header %}{% endblock %}
+
+{% import "macros.j2" as macros with context %}
+
+{{ macros.configure_user(name='qdrouterd') }}
+
+{% block qdrouterd_install %}
+{% if base_distro in ['centos', 'oraclelinux', 'rhel'] %}
+ {% set qdrouterd_packages = [
+ 'cyrus-sasl-lib',
+ 'cyrus-sasl-plain',
+ 'qpid-dispatch-router'
+ ] %}
+
+{{ macros.install_packages(qdrouterd_packages | customizable("packages")) }}
+
+{% elif base_distro in ['debian', 'ubuntu'] %}
+ {% set qdrouterd_packages = [
+ 'sasl2-bin',
+ 'libpython2.7',
+ 'qdrouterd',
+ ] %}
+
+{{ macros.install_packages(qdrouterd_packages | customizable("packages")) }}
+
+{% endif %}
+{% endblock %}
+
+COPY extend_start.sh /usr/local/bin/kolla_extend_start
+COPY qdrouterd_sudoers /etc/sudoers.d/kolla_qdrouterd_sudoers
+RUN chmod 755 /usr/local/bin/kolla_extend_start \
+ && chmod 750 /etc/sudoers.d \
+ && chmod 440 /etc/sudoers.d/kolla_qdrouterd_sudoers
+
+{% block qdrouterd_footer %}{% endblock %}
+{% block footer %}{% endblock %}
+
+USER qdrouterd
diff --git a/docker/qdrouterd/extend_start.sh b/docker/qdrouterd/extend_start.sh
new file mode 100644
index 000000000..829b0758b
--- /dev/null
+++ b/docker/qdrouterd/extend_start.sh
@@ -0,0 +1,10 @@
+#!/bin/bash
+
+# Create log directory, with appropriate permissions
+QDROUTERD_LOG_DIR="/var/log/kolla/qdrouterd"
+if [[ ! -d "${QDROUTERD_LOG_DIR}" ]]; then
+ mkdir -p ${QDROUTERD_LOG_DIR}
+fi
+if [[ $(stat -c %a ${QDROUTERD_LOG_DIR}) != "755" ]]; then
+ chmod 755 ${QDROUTERD_LOG_DIR}
+fi
diff --git a/docker/qdrouterd/qdrouterd_sudoers b/docker/qdrouterd/qdrouterd_sudoers
new file mode 100644
index 000000000..dbcd341a4
--- /dev/null
+++ b/docker/qdrouterd/qdrouterd_sudoers
@@ -0,0 +1 @@
+%kolla ALL=(root) NOPASSWD: /usr/bin/chown -R qdrouterd\: /var/lib/qdrouterd, /bin/chown -R qdrouterd\: /var/lib/qdrouterd