aboutsummaryrefslogtreecommitdiff
path: root/docker/cinder
diff options
context:
space:
mode:
Diffstat (limited to 'docker/cinder')
-rw-r--r--docker/cinder/cinder-api/Dockerfile.j218
-rw-r--r--docker/cinder/cinder-api/config-external.sh10
-rwxr-xr-xdocker/cinder/cinder-api/start.sh21
-rw-r--r--docker/cinder/cinder-backup/Dockerfile.j29
-rw-r--r--docker/cinder/cinder-backup/config-external.sh10
-rwxr-xr-xdocker/cinder/cinder-backup/start.sh14
-rw-r--r--docker/cinder/cinder-base/Dockerfile.j249
-rw-r--r--docker/cinder/cinder-scheduler/Dockerfile.j29
-rw-r--r--docker/cinder/cinder-scheduler/config-external.sh10
-rwxr-xr-xdocker/cinder/cinder-scheduler/start.sh14
-rw-r--r--docker/cinder/cinder-volume/Dockerfile.j219
-rwxr-xr-xdocker/cinder/cinder-volume/config-external.sh10
-rwxr-xr-xdocker/cinder/cinder-volume/start.sh14
13 files changed, 207 insertions, 0 deletions
diff --git a/docker/cinder/cinder-api/Dockerfile.j2 b/docker/cinder/cinder-api/Dockerfile.j2
new file mode 100644
index 000000000..196f93baf
--- /dev/null
+++ b/docker/cinder/cinder-api/Dockerfile.j2
@@ -0,0 +1,18 @@
+FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-cinder-base:{{ tag }}
+MAINTAINER Kolla Project (https://launchpad.net/kolla)
+
+{% if install_type == 'binary' %}
+ {% if base_distro in ['fedora', 'centos', 'oraclelinux'] %}
+
+RUN yum install -y python-keystone \
+ && yum clean all
+
+ {% endif %}
+{% endif %}
+
+COPY ./start.sh /
+COPY config-external.sh /opt/kolla/
+
+CMD ["/start.sh"]
+
+{{ include_footer }}
diff --git a/docker/cinder/cinder-api/config-external.sh b/docker/cinder/cinder-api/config-external.sh
new file mode 100644
index 000000000..08d8cde0a
--- /dev/null
+++ b/docker/cinder/cinder-api/config-external.sh
@@ -0,0 +1,10 @@
+#!/bin/bash
+SOURCE="/opt/kolla/cinder-api/cinder.conf"
+TARGET="/etc/cinder/cinder.conf"
+OWNER="cinder"
+
+if [[ -f "$SOURCE" ]]; then
+ cp $SOURCE $TARGET
+ chown ${OWNER}: $TARGET
+ chmod 0644 $TARGET
+fi
diff --git a/docker/cinder/cinder-api/start.sh b/docker/cinder/cinder-api/start.sh
new file mode 100755
index 000000000..6c61b3a4e
--- /dev/null
+++ b/docker/cinder/cinder-api/start.sh
@@ -0,0 +1,21 @@
+#!/bin/bash
+
+set -o errexit
+
+CMD="/usr/bin/cinder-api"
+ARGS="--config-file /etc/cinder/cinder.conf"
+
+# Loading common functions.
+source /opt/kolla/kolla-common.sh
+
+# Execute config strategy
+set_configs
+
+# Bootstrap and exit if KOLLA_BOOTSTRAP variable is set. This catches all cases
+# of the KOLLA_BOOTSTRAP variable being set, including empty.
+if [[ "${!KOLLA_BOOTSTRAP[@]}" ]]; then
+ su -s /bin/sh -c "cinder-manage db sync" cinder
+ exit 0
+fi
+
+exec $CMD $ARGS
diff --git a/docker/cinder/cinder-backup/Dockerfile.j2 b/docker/cinder/cinder-backup/Dockerfile.j2
new file mode 100644
index 000000000..fa331b195
--- /dev/null
+++ b/docker/cinder/cinder-backup/Dockerfile.j2
@@ -0,0 +1,9 @@
+FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-cinder-base:{{ tag }}
+MAINTAINER Kolla Project (https://launchpad.net/kolla)
+
+COPY ./start.sh /
+COPY config-external.sh /opt/kolla/
+
+CMD ["/start.sh"]
+
+{{ include_footer }}
diff --git a/docker/cinder/cinder-backup/config-external.sh b/docker/cinder/cinder-backup/config-external.sh
new file mode 100644
index 000000000..ff4752492
--- /dev/null
+++ b/docker/cinder/cinder-backup/config-external.sh
@@ -0,0 +1,10 @@
+#!/bin/bash
+SOURCE="/opt/kolla/cinder-backup/cinder.conf"
+TARGET="/etc/cinder/cinder.conf"
+OWNER="cinder"
+
+if [[ -f "$SOURCE" ]]; then
+ cp $SOURCE $TARGET
+ chown ${OWNER}: $TARGET
+ chmod 0644 $TARGET
+fi
diff --git a/docker/cinder/cinder-backup/start.sh b/docker/cinder/cinder-backup/start.sh
new file mode 100755
index 000000000..7d9403f07
--- /dev/null
+++ b/docker/cinder/cinder-backup/start.sh
@@ -0,0 +1,14 @@
+#!/bin/bash
+
+set -o errexit
+
+CMD="/usr/bin/cinder-backup"
+ARGS="--config-file /etc/cinder/cinder.conf"
+
+# Loading common functions.
+source /opt/kolla/kolla-common.sh
+
+# Execute config strategy
+set_configs
+
+exec $CMD $ARGS
diff --git a/docker/cinder/cinder-base/Dockerfile.j2 b/docker/cinder/cinder-base/Dockerfile.j2
new file mode 100644
index 000000000..1cce34a9e
--- /dev/null
+++ b/docker/cinder/cinder-base/Dockerfile.j2
@@ -0,0 +1,49 @@
+FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-base:{{ tag }}
+MAINTAINER Kolla Project (https://launchpad.net/kolla)
+
+{% if install_type == 'binary' %}
+ {% if base_distro in ['fedora', 'centos', 'oraclelinux'] %}
+
+RUN yum -y install openstack-cinder \
+ python-automaton \
+ lvm2 \
+ && yum clean all \
+ && sed -i "s|udev_rules = 1|udev_rules = 0|g" /etc/lvm/lvm.conf \
+ && sed -i "s|udev_sync = 1|udev_sync = 0|g" /etc/lvm/lvm.conf
+
+# NOTE(sdake): The sed operations make LVM tools work inside a container - see
+# https://groups.google.com/forum/#!topic/docker-user/n4Xtvsb4RAw
+
+ {% elif base_distro in ['ubuntu', 'debian'] %}
+
+RUN echo '{{ install_type }} not yet available for {{ base_distro }}' \
+ && /bin/false
+
+ {% endif %}
+{% elif install_type == 'source' %}
+ {% if base_distro in ['fedora', 'centos', 'oraclelinux'] %}
+
+RUN yum -y install lvm2 \
+ && yum clean all
+
+ {% elif base_distro in ['ubuntu', 'debian'] %}
+
+RUN apt-get install -y --no-install-recommends lvm2 \
+ && apt-get clean
+
+ {% endif %}
+
+ADD cinder.tar /
+RUN ln -s /cinder-* cinder \
+ && useradd --user-group cinder \
+ && pip --no-cache-dir install /cinder \
+ && mkdir -p /etc/cinder /var/log/cinder /home/cinder \
+ && cp -r /cinder/etc/cinder/* /etc/cinder/ \
+ && chown -R cinder: /etc/cinder /var/log/cinder /home/cinder \
+ && sed -i "s|udev_rules = 1|udev_rules = 0|g" /etc/lvm/lvm.conf \
+ && sed -i "s|udev_sync = 1|udev_sync = 0|g" /etc/lvm/lvm.conf
+
+# NOTE(sdake): The sed operations make LVM tools work inside a container - see
+# https://groups.google.com/forum/#!topic/docker-user/n4Xtvsb4RAw
+
+{% endif %}
diff --git a/docker/cinder/cinder-scheduler/Dockerfile.j2 b/docker/cinder/cinder-scheduler/Dockerfile.j2
new file mode 100644
index 000000000..fa331b195
--- /dev/null
+++ b/docker/cinder/cinder-scheduler/Dockerfile.j2
@@ -0,0 +1,9 @@
+FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-cinder-base:{{ tag }}
+MAINTAINER Kolla Project (https://launchpad.net/kolla)
+
+COPY ./start.sh /
+COPY config-external.sh /opt/kolla/
+
+CMD ["/start.sh"]
+
+{{ include_footer }}
diff --git a/docker/cinder/cinder-scheduler/config-external.sh b/docker/cinder/cinder-scheduler/config-external.sh
new file mode 100644
index 000000000..3c8ca26be
--- /dev/null
+++ b/docker/cinder/cinder-scheduler/config-external.sh
@@ -0,0 +1,10 @@
+#!/bin/bash
+SOURCE="/opt/kolla/cinder-scheduler/cinder.conf"
+TARGET="/etc/cinder/cinder.conf"
+OWNER="cinder"
+
+if [[ -f "$SOURCE" ]]; then
+ cp $SOURCE $TARGET
+ chown ${OWNER}: $TARGET
+ chmod 0644 $TARGET
+fi
diff --git a/docker/cinder/cinder-scheduler/start.sh b/docker/cinder/cinder-scheduler/start.sh
new file mode 100755
index 000000000..759175e3f
--- /dev/null
+++ b/docker/cinder/cinder-scheduler/start.sh
@@ -0,0 +1,14 @@
+#!/bin/bash
+
+set -o errexit
+
+CMD="/usr/bin/cinder-scheduler"
+ARGS="--config-file /etc/cinder/cinder.conf"
+
+# Loading common functions.
+source /opt/kolla/kolla-common.sh
+
+# Execute config strategy
+set_configs
+
+exec $CMD $ARGS
diff --git a/docker/cinder/cinder-volume/Dockerfile.j2 b/docker/cinder/cinder-volume/Dockerfile.j2
new file mode 100644
index 000000000..6393798bd
--- /dev/null
+++ b/docker/cinder/cinder-volume/Dockerfile.j2
@@ -0,0 +1,19 @@
+FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-cinder-base:{{ tag }}
+MAINTAINER Kolla Project (https://launchpad.net/kolla)
+
+{% if install_type == 'binary' %}
+ {% if base_distro in ['fedora', 'centos', 'oraclelinux'] %}
+
+RUN yum install -y lvm2 \
+ scsi-target-utils \
+ && yum clean all
+
+ {% endif %}
+{% endif %}
+
+COPY ./start.sh /
+COPY config-external.sh /opt/kolla/
+
+CMD ["/start.sh"]
+
+{{ include_footer }}
diff --git a/docker/cinder/cinder-volume/config-external.sh b/docker/cinder/cinder-volume/config-external.sh
new file mode 100755
index 000000000..2f6b99fc9
--- /dev/null
+++ b/docker/cinder/cinder-volume/config-external.sh
@@ -0,0 +1,10 @@
+#!/bin/bash
+SOURCE="/opt/kolla/cinder-volume/cinder.conf"
+TARGET="/etc/cinder/cinder.conf"
+OWNER="cinder"
+
+if [[ -f "$SOURCE" ]]; then
+ cp $SOURCE $TARGET
+ chown ${OWNER}: $TARGET
+ chmod 0644 $TARGET
+fi
diff --git a/docker/cinder/cinder-volume/start.sh b/docker/cinder/cinder-volume/start.sh
new file mode 100755
index 000000000..a6874ce47
--- /dev/null
+++ b/docker/cinder/cinder-volume/start.sh
@@ -0,0 +1,14 @@
+#!/bin/bash
+
+set -o errexit
+
+CMD="/usr/bin/cinder-volume"
+ARGS="--config-file /etc/cinder/cinder.conf"
+
+# Loading common functions.
+source /opt/kolla/kolla-common.sh
+
+# Execute config strategy
+set_configs
+
+exec $CMD $ARGS