aboutsummaryrefslogtreecommitdiff
path: root/docker/cinder
diff options
context:
space:
mode:
authorSerguei Bezverkhi <sbezverk@cisco.com>2016-03-31 10:02:48 -0400
committerSerguei Bezverkhi <sbezverk@cisco.com>2016-04-10 09:17:16 -0400
commit184f01a0d645d58fd4c9b6c5004e94fe98a077f8 (patch)
tree685e8860fce89c6259e15ea0b4b9f62a1c151e8d /docker/cinder
parent3a028e433452eff21f6337da4bb7e29dcf6e117b (diff)
downloadkolla-184f01a0d645d58fd4c9b6c5004e94fe98a077f8.tar.gz
kolla-184f01a0d645d58fd4c9b6c5004e94fe98a077f8.zip
Adds iscsid and tgtd docker containers
This partially implements iscsi and lvm2 support for cinder in Kolla. Adds iscsid and tgtd docker containers. Change-Id: I7fb48c954e578772b90a2aa619c8bcfa990b3ae8 Partially-Implements: blueprint iscsi-lvm2-docker
Diffstat (limited to 'docker/cinder')
-rw-r--r--docker/cinder/cinder-volume/Dockerfile.j220
-rw-r--r--docker/cinder/cinder-volume/cinder_sudoers5
-rw-r--r--docker/cinder/cinder-volume/extend_start.sh14
3 files changed, 33 insertions, 6 deletions
diff --git a/docker/cinder/cinder-volume/Dockerfile.j2 b/docker/cinder/cinder-volume/Dockerfile.j2
index 7a98145ef..66fa38d56 100644
--- a/docker/cinder/cinder-volume/Dockerfile.j2
+++ b/docker/cinder/cinder-volume/Dockerfile.j2
@@ -1,23 +1,31 @@
FROM {{ namespace }}/{{ image_prefix }}cinder-base:{{ tag }}
MAINTAINER {{ maintainer }}
-{% if install_type == 'binary' %}
- {% if base_distro in ['centos', 'fedora', 'oraclelinux', 'rhel'] %}
+{% if base_distro in ['centos', 'fedora', 'oraclelinux', 'rhel'] %}
RUN yum install -y \
- lvm2 \
scsi-target-utils \
&& yum clean all
- {% elif base_distro in ['ubuntu'] %}
+RUN sed -i '1 i include /var/lib/cinder/volumes/*' /etc/tgt/tgtd.conf
+
+{% elif base_distro in ['ubuntu', 'debian'] %}
RUN apt-get install -y --no-install-recommends \
- cinder-volume \
+ tgt \
&& apt-get clean
- {% endif %}
+RUN sed -i '1 i include /var/lib/cinder/volumes/*' /etc/tgt/targets.conf
+
{% endif %}
+COPY cinder_sudoers /etc/sudoers.d/cinder_sudoers
+COPY extend_start.sh /usr/local/bin/kolla_extend_start
+
+RUN chmod 750 /etc/sudoers.d \
+ && chmod 440 /etc/sudoers.d/cinder_sudoers \
+ && chmod 755 /usr/local/bin/kolla_extend_start
+
{{ include_footer }}
USER cinder
diff --git a/docker/cinder/cinder-volume/cinder_sudoers b/docker/cinder/cinder-volume/cinder_sudoers
new file mode 100644
index 000000000..f3bec8b13
--- /dev/null
+++ b/docker/cinder/cinder-volume/cinder_sudoers
@@ -0,0 +1,5 @@
+cinder ALL = (root) NOPASSWD: /var/lib/kolla/venv/bin/cinder-rootwrap /etc/cinder/rootwrap.conf *
+%kolla ALL=(root) NOPASSWD: /bin/chown -R cinder\:kolla /var/lib/cinder, /usr/bin/chown -R cinder\:kolla /var/lib/cinder
+%kolla ALL=(root) NOPASSWD: /bin/chmod 2775 /var/lib/cinder, /usr/bin/chmod 2775 /var/lib/cinder
+%kolla ALL=(root) NOPASSWD: /bin/chown -R cinder\:kolla /etc/iscsi, /usr/bin/chown -R cinder\:kolla /etc/iscsi
+%kolla ALL=(root) NOPASSWD: /bin/chmod 2775 /etc/iscsi, /usr/bin/chmod 2775 /etc/iscsi
diff --git a/docker/cinder/cinder-volume/extend_start.sh b/docker/cinder/cinder-volume/extend_start.sh
new file mode 100644
index 000000000..67e866143
--- /dev/null
+++ b/docker/cinder/cinder-volume/extend_start.sh
@@ -0,0 +1,14 @@
+#!/bin/bash
+
+if [[ $(stat -c %U:%G /var/lib/cinder) != "cinder:kolla" ]]; then
+ sudo chown -R cinder:kolla /var/lib/cinder
+fi
+if [[ $(stat -c %a /var/lib/cinder) != "2775" ]]; then
+ sudo chmod 2775 /var/lib/cinder
+fi
+if [[ $(stat -c %U:%G /etc/iscsi) != "cinder:kolla" ]]; then
+ sudo chown -R cinder:kolla /etc/iscsi
+fi
+if [[ $(stat -c %a /etc/iscsi) != "2775" ]]; then
+ sudo chmod 2775 /etc/iscsi
+fi