diff options
| author | Paul Bourke <paul.bourke@oracle.com> | 2016-08-03 13:13:52 +0000 |
|---|---|---|
| committer | Paul Bourke <paul.bourke@oracle.com> | 2016-08-11 13:46:05 +0000 |
| commit | 99cf9465f8307d9fb99a4c14d72e63a0df833b58 (patch) | |
| tree | 7765bc0cf8a78fe23e7d66e8d1b5d5d79c1383f8 /docker/cinder | |
| parent | 495a905b8032b4d3c68246be204384da2b0f3c3d (diff) | |
| download | kolla-99cf9465f8307d9fb99a4c14d72e63a0df833b58.tar.gz kolla-99cf9465f8307d9fb99a4c14d72e63a0df833b58.zip | |
Customizations for Cinder
Implement the new Jinja2 based templating patterns for Cinder, as
outlined in the below blueprint.
Change-Id: I8d0131aff9cc406bd80ce384003308aee672412a
Partially-implements: blueprint third-party-plugin-support
Diffstat (limited to 'docker/cinder')
| -rw-r--r-- | docker/cinder/cinder-api/Dockerfile.j2 | 20 | ||||
| -rw-r--r-- | docker/cinder/cinder-backup/Dockerfile.j2 | 12 | ||||
| -rw-r--r-- | docker/cinder/cinder-base/Dockerfile.j2 | 56 | ||||
| -rw-r--r-- | docker/cinder/cinder-rpcbind/Dockerfile.j2 | 20 | ||||
| -rw-r--r-- | docker/cinder/cinder-scheduler/Dockerfile.j2 | 12 | ||||
| -rw-r--r-- | docker/cinder/cinder-volume/Dockerfile.j2 | 37 |
6 files changed, 103 insertions, 54 deletions
diff --git a/docker/cinder/cinder-api/Dockerfile.j2 b/docker/cinder/cinder-api/Dockerfile.j2 index 2b2414b8d..3d8d08259 100644 --- a/docker/cinder/cinder-api/Dockerfile.j2 +++ b/docker/cinder/cinder-api/Dockerfile.j2 @@ -1,25 +1,33 @@ FROM {{ namespace }}/{{ image_prefix }}cinder-base:{{ tag }} MAINTAINER {{ maintainer }} +{% import "macros.j2" as macros with context %} + {% if install_type == 'binary' %} {% if base_distro in ['centos', 'fedora', 'oraclelinux', 'rhel'] %} -RUN yum -y install \ - python-keystone \ - && yum clean all + {% set cinder_api_packages = [ + 'python-keystone' + ] %} + {% elif base_distro in ['ubuntu'] %} -RUN apt-get -y install --no-install-recommends \ - cinder-api \ - && apt-get clean + {% set cinder_api_packages = [ + 'cinder-api' + ] %} {% endif %} + +RUN {{ macros.install_packages(cinder_api_packages | customizable("packages")) }} + {% endif %} COPY extend_start.sh /usr/local/bin/kolla_cinder_extend_start RUN chmod 755 /usr/local/bin/kolla_cinder_extend_start +{% block cinder_api_footer %}{% endblock %} +{% block footer %}{% endblock %} {{ include_footer }} USER cinder diff --git a/docker/cinder/cinder-backup/Dockerfile.j2 b/docker/cinder/cinder-backup/Dockerfile.j2 index 13d707d87..e187693f6 100644 --- a/docker/cinder/cinder-backup/Dockerfile.j2 +++ b/docker/cinder/cinder-backup/Dockerfile.j2 @@ -1,16 +1,22 @@ FROM {{ namespace }}/{{ image_prefix }}cinder-base:{{ tag }} MAINTAINER {{ maintainer }} +{% import "macros.j2" as macros with context %} + {% if install_type == 'binary' %} {% if base_distro in ['ubuntu'] %} -RUN apt-get -y install --no-install-recommends \ - cinder-backup \ - && apt-get clean + {% set cinder_backup_packages = [ + 'cinder-backup' + ] %} + +RUN {{ macros.install_packages(cinder_backup_packages | customizable("packages")) }} {% endif %} {% endif %} +{% block cinder_backup_footer %}{% endblock %} +{% block footer %}{% endblock %} {{ include_footer }} USER cinder diff --git a/docker/cinder/cinder-base/Dockerfile.j2 b/docker/cinder/cinder-base/Dockerfile.j2 index 50b15f675..e6749442e 100644 --- a/docker/cinder/cinder-base/Dockerfile.j2 +++ b/docker/cinder/cinder-base/Dockerfile.j2 @@ -1,47 +1,51 @@ FROM {{ namespace }}/{{ image_prefix }}openstack-base:{{ tag }} MAINTAINER {{ maintainer }} +{% import "macros.j2" as macros with context %} + {% if install_type == 'binary' %} {% if base_distro in ['centos', 'fedora', 'oraclelinux', 'rhel'] %} -RUN yum -y install \ - openstack-cinder \ - python-automaton \ - lvm2 \ - ceph-common \ - && yum clean all \ - && mkdir -p /etc/ceph + {% set cinder_base_packages = [ + 'openstack-cinder', + 'python-automaton', + 'lvm2', + 'ceph-common' + ] %} {% elif base_distro in ['ubuntu'] %} -RUN apt-get -y install --no-install-recommends \ - cinder-common \ - ceph-common \ - lvm2 \ - && apt-get clean \ - && mkdir -p /etc/ceph + {% set cinder_base_packages = [ + 'cinder-common', + 'ceph-common', + 'lvm2' + ] %} {% endif %} + +RUN {{ macros.install_packages(cinder_base_packages | customizable("packages")) }} + {% elif install_type == 'source' %} {% if base_distro in ['centos', 'fedora', 'oraclelinux', 'rhel'] %} -RUN yum -y install \ - lvm2 \ - qemu-img \ - ceph-common \ - && yum clean all + {% set cinder_base_packages = [ + 'lvm2', + 'qemu-img', + 'ceph-common' + ] %} {% elif base_distro in ['ubuntu', 'debian'] %} -RUN apt-get -y install --no-install-recommends \ - lvm2 \ - qemu-utils \ - ceph-common \ - && apt-get clean \ - && mkdir -p /etc/ceph + {% set cinder_base_packages = [ + 'lvm2', + 'qemu-utils', + 'ceph-common' + ] %} {% endif %} +RUN {{ macros.install_packages(cinder_base_packages | customizable("packages")) }} + ADD cinder-base-archive /cinder-base-source RUN ln -s cinder-base-source/* cinder \ && useradd --user-group cinder \ @@ -57,7 +61,11 @@ COPY cinder_sudoers /etc/sudoers.d/kolla_cinder_sudoers COPY extend_start.sh /usr/local/bin/kolla_extend_start RUN usermod -a -G kolla cinder \ + && mkdir -p /etc/ceph \ && chmod 750 /etc/sudoers.d \ && chmod 440 /etc/sudoers.d/kolla_cinder_sudoers \ && touch /usr/local/bin/kolla_cinder_extend_start \ && chmod 755 /usr/local/bin/kolla_extend_start /usr/local/bin/kolla_cinder_extend_start + +{% block cinder_base_footer %}{% endblock %} +{% block footer %}{% endblock %} diff --git a/docker/cinder/cinder-rpcbind/Dockerfile.j2 b/docker/cinder/cinder-rpcbind/Dockerfile.j2 index 02085901a..eede97c8e 100644 --- a/docker/cinder/cinder-rpcbind/Dockerfile.j2 +++ b/docker/cinder/cinder-rpcbind/Dockerfile.j2 @@ -1,21 +1,27 @@ FROM {{ namespace }}/{{ image_prefix }}cinder-base:{{ tag }} MAINTAINER {{ maintainer }} +{% import "macros.j2" as macros with context %} + {% if base_distro in ['centos', 'fedora', 'oraclelinux', 'rhel'] %} -RUN yum -y install \ - nfs-utils \ - nfs-utils-lib \ - && yum clean all + {% set cinder_rpcbind_packages = [ + 'nfs-utils', + 'nfs-utils-lib' + ] %} {% elif base_distro in ['ubuntu', 'debian'] %} -RUN apt-get -y install --no-install-recommends \ - rpcbind \ - && apt-get clean + {% set cinder_rpcbind_packages = [ + 'rpcbind' + ] %} {% endif %} +RUN {{ macros.install_packages(cinder_rpcbind_packages | customizable("packages")) }} + +{% block cinder_rpcbind_footer %}{% endblock %} +{% block footer %}{% endblock %} {{ include_footer }} USER cinder diff --git a/docker/cinder/cinder-scheduler/Dockerfile.j2 b/docker/cinder/cinder-scheduler/Dockerfile.j2 index 3c8c0c6c6..aa5345684 100644 --- a/docker/cinder/cinder-scheduler/Dockerfile.j2 +++ b/docker/cinder/cinder-scheduler/Dockerfile.j2 @@ -1,16 +1,22 @@ FROM {{ namespace }}/{{ image_prefix }}cinder-base:{{ tag }} MAINTAINER {{ maintainer }} +{% import "macros.j2" as macros with context %} + {% if install_type == 'binary' %} {% if base_distro in ['ubuntu'] %} -RUN apt-get -y install --no-install-recommends \ - cinder-scheduler \ - && apt-get clean + {% set cinder_scheduler_packages = [ + 'cinder-scheduler' + ] %} + +RUN {{ macros.install_packages(cinder_scheduler_packages | customizable("packages")) }} {% endif %} {% endif %} +{% block cinder_scheduler_footer %}{% endblock %} +{% block footer %}{% endblock %} {{ include_footer }} USER cinder diff --git a/docker/cinder/cinder-volume/Dockerfile.j2 b/docker/cinder/cinder-volume/Dockerfile.j2 index 2fe940de3..8cb7e28b5 100644 --- a/docker/cinder/cinder-volume/Dockerfile.j2 +++ b/docker/cinder/cinder-volume/Dockerfile.j2 @@ -1,31 +1,44 @@ FROM {{ namespace }}/{{ image_prefix }}cinder-base:{{ tag }} MAINTAINER {{ maintainer }} +{% import "macros.j2" as macros with context %} + {% if base_distro in ['centos', 'fedora', 'oraclelinux', 'rhel'] %} -RUN yum -y install \ - scsi-target-utils \ - && yum clean all + {% set cinder_volume_packages = [ + 'scsi-target-utils' + ] %} + +RUN {{ macros.install_packages(cinder_volume_packages | customizable("packages")) }} +{% block cinder_volume_redhat_setup %} RUN sed -i '1 i include /var/lib/cinder/volumes/*' /etc/tgt/tgtd.conf +{% endblock %} {% elif base_distro in ['ubuntu', 'debian'] %} -RUN apt-get -y install --no-install-recommends \ - tgt \ - && apt-get clean + {% set cinder_volume_packages = [ + 'tgt' + ] %} + +RUN {{ macros.install_packages(cinder_volume_packages | customizable("packages")) }} +{% block cinder_volume_ubuntu_setup %} RUN sed -i '1 i include /var/lib/cinder/volumes/*' /etc/tgt/targets.conf +{% endblock %} {% endif %} + {% if install_type == 'binary' %} -{% if base_distro in ['ubuntu', 'debian'] %} + {% if base_distro in ['ubuntu', 'debian'] %} -RUN apt-get -y install --no-install-recommends \ - cinder-volume \ - && apt-get clean + {% set cinder_volume_packages = [ + 'cinder-volume' + ] %} -{% endif %} +RUN {{ macros.install_packages(cinder_volume_packages | customizable("packages")) }} + + {% endif %} {% endif %} COPY cinder_sudoers /etc/sudoers.d/cinder_sudoers @@ -35,6 +48,8 @@ RUN chmod 750 /etc/sudoers.d \ && chmod 440 /etc/sudoers.d/cinder_sudoers \ && chmod 755 /usr/local/bin/kolla_extend_start +{% block cinder_volume_footer %}{% endblock %} +{% block footer %}{% endblock %} {{ include_footer }} USER cinder |
