diff options
Diffstat (limited to 'docker/cinder')
| -rw-r--r-- | docker/cinder/cinder-api/Dockerfile.j2 | 18 | ||||
| -rw-r--r-- | docker/cinder/cinder-api/config-external.sh | 10 | ||||
| -rwxr-xr-x | docker/cinder/cinder-api/start.sh | 21 | ||||
| -rw-r--r-- | docker/cinder/cinder-backup/Dockerfile.j2 | 9 | ||||
| -rw-r--r-- | docker/cinder/cinder-backup/config-external.sh | 10 | ||||
| -rwxr-xr-x | docker/cinder/cinder-backup/start.sh | 14 | ||||
| -rw-r--r-- | docker/cinder/cinder-base/Dockerfile.j2 | 49 | ||||
| -rw-r--r-- | docker/cinder/cinder-scheduler/Dockerfile.j2 | 9 | ||||
| -rw-r--r-- | docker/cinder/cinder-scheduler/config-external.sh | 10 | ||||
| -rwxr-xr-x | docker/cinder/cinder-scheduler/start.sh | 14 | ||||
| -rw-r--r-- | docker/cinder/cinder-volume/Dockerfile.j2 | 19 | ||||
| -rwxr-xr-x | docker/cinder/cinder-volume/config-external.sh | 10 | ||||
| -rwxr-xr-x | docker/cinder/cinder-volume/start.sh | 14 |
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 |
