aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2016-04-12 19:38:45 +0000
committerGerrit Code Review <review@openstack.org>2016-04-12 19:38:46 +0000
commit544c00b4975d86b1d4a6a5cd5b923073c99d1ece (patch)
tree4bd1a959039fc4d83c14caca5db04efc2b7bdcd6
parent35e379a97c5b272a9be9266e1e5b0703639a259b (diff)
parent184f01a0d645d58fd4c9b6c5004e94fe98a077f8 (diff)
downloadkolla-544c00b4975d86b1d4a6a5cd5b923073c99d1ece.tar.gz
kolla-544c00b4975d86b1d4a6a5cd5b923073c99d1ece.zip
Merge "Adds iscsid and tgtd docker containers"
-rw-r--r--docker/base/Dockerfile.j29
-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
-rw-r--r--docker/iscsid/Dockerfile.j222
-rw-r--r--docker/nova/nova-compute/Dockerfile.j214
-rw-r--r--docker/tgtd/Dockerfile.j222
7 files changed, 100 insertions, 6 deletions
diff --git a/docker/base/Dockerfile.j2 b/docker/base/Dockerfile.j2
index 34bfac9f9..cddca0b65 100644
--- a/docker/base/Dockerfile.j2
+++ b/docker/base/Dockerfile.j2
@@ -140,6 +140,9 @@ RUN yum install -y \
python-jinja2 \
python-kazoo \
python-six \
+ lvm2 \
+ scsi-target-utils \
+ iscsi-initiator-utils \
&& yum clean all
{% endif %}
@@ -156,6 +159,9 @@ RUN yum -y install \
sudo \
tar \
which \
+ lvm2 \
+ scsi-target-utils \
+ iscsi-initiator-utils \
&& yum clean all
{% endif %}
@@ -187,6 +193,9 @@ RUN apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 199369E540
python-kazoo \
python-six \
curl \
+ open-iscsi \
+ tgt \
+ lvm2 \
&& apt-get clean \
&& sed -i "s|'purelib': '\$base/local/lib/python\$py_version_short/dist-packages',|'purelib': '\$base/lib/python\$py_version_short/dist-packages',|;s|'platlib': '\$platbase/local/lib/python\$py_version_short/dist-packages',|'platlib': '\$platbase/lib/python\$py_version_short/dist-packages',|;s|'headers': '\$base/local/include/python\$py_version_short/\$dist_name',|'headers': '\$base/include/python\$py_version_short/\$dist_name',|;s|'scripts': '\$base/local/bin',|'scripts': '\$base/bin',|;s|'data' : '\$base/local',|'data' : '\$base',|" /usr/lib/python2.7/distutils/command/install.py \
&& rm -rf /usr/lib/python2.7/site-packages \
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
diff --git a/docker/iscsid/Dockerfile.j2 b/docker/iscsid/Dockerfile.j2
new file mode 100644
index 000000000..fef7a87ef
--- /dev/null
+++ b/docker/iscsid/Dockerfile.j2
@@ -0,0 +1,22 @@
+FROM {{ namespace }}/{{ image_prefix }}base:{{ tag }}
+MAINTAINER {{ maintainer }}
+
+{% if base_distro in ['centos', 'fedora', 'oraclelinux', 'rhel'] %}
+
+RUN yum install -y \
+ iscsi-initiator-utils \
+ targetcli \
+ python-rtslib \
+ && yum clean all
+
+{% elif base_distro in ['ubuntu', 'debian'] %}
+
+RUN apt-get install -y --no-install-recommends \
+ open-iscsi \
+ targetcli \
+ python-rtslib \
+ && apt-get clean
+
+{% endif %}
+
+{{ include_footer }}
diff --git a/docker/nova/nova-compute/Dockerfile.j2 b/docker/nova/nova-compute/Dockerfile.j2
index 7be99a12c..72709cd94 100644
--- a/docker/nova/nova-compute/Dockerfile.j2
+++ b/docker/nova/nova-compute/Dockerfile.j2
@@ -10,6 +10,9 @@ RUN yum -y install \
sysfsutils \
ceph-common \
genisoimage \
+ iscsi-initiator-utils \
+ targetcli \
+ python-rtslib \
&& yum clean all
{% elif base_distro in ['ubuntu'] %}
@@ -23,6 +26,9 @@ RUN apt-get install -y --no-install-recommends \
ironic-common \
python-ironicclient \
genisoimage \
+ open-iscsi \
+ targetcli \
+ python-rtslib \
&& apt-get clean \
&& rm -f /etc/nova/nova-compute.conf
@@ -37,6 +43,9 @@ RUN yum -y install \
sysfsutils \
ceph-common \
genisoimage \
+ iscsi-initiator-utils \
+ targetcli \
+ python-rtslib \
&& yum clean all
{% elif base_distro in ['ubuntu', 'debian'] %}
@@ -46,6 +55,9 @@ RUN apt-get install -y --no-install-recommends \
qemu-utils \
ceph-common \
genisoimage \
+ open-iscsi \
+ targetcli \
+ python-rtslib \
&& apt-get clean \
&& mkdir -p /etc/ceph
@@ -59,6 +71,8 @@ COPY extend_start.sh /usr/local/bin/kolla_nova_extend_start
RUN chmod 755 /usr/local/bin/kolla_nova_extend_start \
&& rm -f /etc/machine-id
+ENV PATH $PATH:/lib/udev
+
{{ include_footer }}
USER nova
diff --git a/docker/tgtd/Dockerfile.j2 b/docker/tgtd/Dockerfile.j2
new file mode 100644
index 000000000..03b04e83f
--- /dev/null
+++ b/docker/tgtd/Dockerfile.j2
@@ -0,0 +1,22 @@
+FROM {{ namespace }}/{{ image_prefix }}base:{{ tag }}
+MAINTAINER {{ maintainer }}
+
+{% if base_distro in ['centos', 'fedora', 'oraclelinux', 'rhel'] %}
+
+RUN yum install -y \
+ scsi-target-utils \
+ && yum clean all
+
+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 \
+ tgt \
+ && apt-get clean
+
+RUN sed -i '1 i include /var/lib/cinder/volumes/*' /etc/tgt/targets.conf
+
+{% endif %}
+
+{{ include_footer }}