aboutsummaryrefslogtreecommitdiff
path: root/docker
diff options
context:
space:
mode:
Diffstat (limited to 'docker')
-rw-r--r--docker/zun/zun-compute/Dockerfile.j27
-rw-r--r--docker/zun/zun-compute/extend_start.sh5
-rw-r--r--docker/zun/zun-compute/zun_sudoers3
3 files changed, 15 insertions, 0 deletions
diff --git a/docker/zun/zun-compute/Dockerfile.j2 b/docker/zun/zun-compute/Dockerfile.j2
index 23ab689f7..33061893b 100644
--- a/docker/zun/zun-compute/Dockerfile.j2
+++ b/docker/zun/zun-compute/Dockerfile.j2
@@ -10,6 +10,13 @@ RUN echo '{{ install_type }} not yet available for {{ base_distro }}' \
{% endif %}
+COPY zun_sudoers /etc/sudoers.d/kolla_zun_sudoers
+COPY extend_start.sh /usr/local/bin/kolla_zun_extend_start
+
+RUN chmod 755 /usr/local/bin/kolla_zun_extend_start \
+ && chmod 750 /etc/sudoers.d \
+ && chmod 640 /etc/sudoers.d/kolla_zun_sudoers
+
{% block zun_compute_footer %}{% endblock %}
{% block footer %}{% endblock %}
diff --git a/docker/zun/zun-compute/extend_start.sh b/docker/zun/zun-compute/extend_start.sh
new file mode 100644
index 000000000..f3b6fc48b
--- /dev/null
+++ b/docker/zun/zun-compute/extend_start.sh
@@ -0,0 +1,5 @@
+#!/bin/bash
+
+gid=$(stat -c "%g" /var/run/docker.sock)
+sudo groupadd --force --gid $gid docker
+sudo usermod -aG docker zun
diff --git a/docker/zun/zun-compute/zun_sudoers b/docker/zun/zun-compute/zun_sudoers
new file mode 100644
index 000000000..b3a39af7d
--- /dev/null
+++ b/docker/zun/zun-compute/zun_sudoers
@@ -0,0 +1,3 @@
+zun ALL=(root) NOPASSWD: /var/lib/kolla/venv/bin/zun-rootwrap /etc/zun/rootwrap.conf *
+zun ALL=(root) NOPASSWD: /usr/sbin/groupadd --force --gid *
+zun ALL=(root) NOPASSWD: /usr/sbin/usermod -aG docker zun