aboutsummaryrefslogtreecommitdiff
path: root/docker
diff options
context:
space:
mode:
authorShaun Smekel <shaun.smekel@theorem.net.au>2016-08-12 08:16:11 +1000
committerShaun Smekel <shaun.smekel@theorem.net.au>2016-08-25 20:22:04 +1000
commitb597c90827ff0be7d21d394829e3067b4bcca28d (patch)
tree2a30124bfc6ab1e67fc65a5a7c43174b64e967b4 /docker
parente4259f805b91ce0859e7190f97f8dbf34ee92e45 (diff)
downloadkolla-b597c90827ff0be7d21d394829e3067b4bcca28d.tar.gz
kolla-b597c90827ff0be7d21d394829e3067b4bcca28d.zip
Customizations for Ironic
This patchset contains customization of Dockerfile of Ironic containers. Change-Id: If6ffb741111127886f754ddebd17059174387fc8 Partially-implements: blueprint third-party-plugin-support
Diffstat (limited to 'docker')
-rw-r--r--docker/ironic/ironic-api/Dockerfile.j216
-rw-r--r--docker/ironic/ironic-base/Dockerfile.j217
-rw-r--r--docker/ironic/ironic-conductor/Dockerfile.j247
-rw-r--r--docker/ironic/ironic-inspector/Dockerfile.j210
-rw-r--r--docker/ironic/ironic-pxe/Dockerfile.j227
5 files changed, 57 insertions, 60 deletions
diff --git a/docker/ironic/ironic-api/Dockerfile.j2 b/docker/ironic/ironic-api/Dockerfile.j2
index 426e8674d..7325051a5 100644
--- a/docker/ironic/ironic-api/Dockerfile.j2
+++ b/docker/ironic/ironic-api/Dockerfile.j2
@@ -1,25 +1,23 @@
FROM {{ namespace }}/{{ image_prefix }}ironic-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-ironic-api \
- && yum clean all
-
+ {% set ironic_api_packages = ['openstack-ironic-api'] %}
{% elif base_distro in ['ubuntu'] %}
+ {% set ironic_api_packages = ['ironic-api'] %}
+ {% endif %}
-RUN apt-get -y install --no-install-recommends \
- ironic-api \
- && apt-get clean
+{{ macros.install_packages(ironic_api_packages | customizable("packages")) }}
- {% endif %}
{% endif %}
COPY extend_start.sh /usr/local/bin/kolla_extend_start
RUN chmod 755 /usr/local/bin/kolla_extend_start
+{% block ironic_api_footer %}{% endblock %}
{{ include_footer }}
USER ironic
diff --git a/docker/ironic/ironic-base/Dockerfile.j2 b/docker/ironic/ironic-base/Dockerfile.j2
index a732ca479..ca45f13a1 100644
--- a/docker/ironic/ironic-base/Dockerfile.j2
+++ b/docker/ironic/ironic-base/Dockerfile.j2
@@ -1,20 +1,17 @@
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-ironic-common \
- && yum clean all
-
+ {% set ironic_base_packages = ['openstack-ironic-common'] %}
{% elif base_distro in ['ubuntu'] %}
+ {% set ironic_base_packages = ['ironic-common'] %}
+ {% endif %}
-RUN apt-get -y install --no-install-recommends \
- ironic-common \
- && apt-get clean
+{{ macros.install_packages(ironic_base_packages | customizable("packages")) }}
- {% endif %}
{% elif install_type == 'source' %}
ADD ironic-base-archive /ironic-base-source
@@ -30,3 +27,5 @@ RUN ln -s ironic-base-source/* ironic \
RUN usermod -a -G kolla ironic \
&& chown -R ironic: /etc/ironic
+
+{% block ironic_base_footer %}{% endblock %}
diff --git a/docker/ironic/ironic-conductor/Dockerfile.j2 b/docker/ironic/ironic-conductor/Dockerfile.j2
index ea26296e3..444826099 100644
--- a/docker/ironic/ironic-conductor/Dockerfile.j2
+++ b/docker/ironic/ironic-conductor/Dockerfile.j2
@@ -1,41 +1,38 @@
FROM {{ namespace }}/{{ image_prefix }}ironic-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-ironic-conductor \
- qemu-img \
- && yum clean all
-
+ {% set ironic_conductor_packages = [
+ 'openstack-ironic-conductor',
+ 'qemu-img'
+ ] %}
{% elif base_distro in ['ubuntu'] %}
-
-RUN apt-get -y install --no-install-recommends \
- ironic-conductor \
- qemu-utils \
- ipmitool \
- && apt-get clean
-
+ {% set ironic_conductor_packages = [
+ 'ironic-conductor',
+ 'qemu-utils',
+ 'ipmitool'
+ ] %}
{% endif %}
{% elif install_type == 'source' %}
{% if base_distro in ['centos', 'fedora', 'oraclelinux', 'rhel'] %}
-
-RUN yum -y install \
- qemu-img \
- ipmitool \
- && yum clean all
-
+ {% set ironic_conductor_packages = [
+ 'qemu-img',
+ 'ipmitool'
+ ] %}
{% elif base_distro in ['ubuntu', 'debian'] %}
-
-RUN apt-get -y install --no-install-recommends \
- qemu-utils \
- ipmitool \
- && apt-get clean
-
+ {% set ironic_conductor_packages = [
+ 'qemu-utils',
+ 'ipmitool'
+ ] %}
{% endif %}
{% endif %}
+{{ macros.install_packages(ironic_conductor_packages | customizable("packages")) }}
+
+{% block ironic_conductor_footer %}{% endblock %}
{{ include_footer }}
USER ironic
diff --git a/docker/ironic/ironic-inspector/Dockerfile.j2 b/docker/ironic/ironic-inspector/Dockerfile.j2
index 217a73e06..d3ea30786 100644
--- a/docker/ironic/ironic-inspector/Dockerfile.j2
+++ b/docker/ironic/ironic-inspector/Dockerfile.j2
@@ -1,16 +1,18 @@
FROM {{ namespace }}/{{ image_prefix }}ironic-base:{{ tag }}
MAINTAINER {{ maintainer }}
+{% import "macros.j2" as macros with context %}
+
{% if install_type == 'binary' %}
{% if base_distro in ['centos', 'fedora', 'oraclelinux', 'rhel'] %}
+ {% set ironic_inspector_packages = ['openstack-ironic-inspector'] %}
+ {% endif %}
-RUN yum -y install \
- openstack-ironic-inspector \
- && yum clean all
+{{ macros.install_packages(ironic_inspector_packages | customizable("packages")) }}
- {% endif %}
{% endif %}
+{% block ironic_inspector_footer %}{% endblock %}
{{ include_footer }}
USER ironic
diff --git a/docker/ironic/ironic-pxe/Dockerfile.j2 b/docker/ironic/ironic-pxe/Dockerfile.j2
index 317acc65e..6a4b13b9d 100644
--- a/docker/ironic/ironic-pxe/Dockerfile.j2
+++ b/docker/ironic/ironic-pxe/Dockerfile.j2
@@ -1,25 +1,26 @@
FROM {{ namespace }}/{{ image_prefix }}ironic-base:{{ tag }}
MAINTAINER {{ maintainer }}
-{% if base_distro in ['centos', 'fedora', 'oraclelinux', 'rhel'] %}
-
-RUN yum -y install \
- tftp-server \
- syslinux-tftpboot \
- && yum clean all
+{% import "macros.j2" as macros with context %}
+{% if base_distro in ['centos', 'fedora', 'oraclelinux', 'rhel'] %}
+ {% set ironic_pxe_packages = [
+ 'tftp-server',
+ 'syslinux-tftpboot'
+ ] %}
{% elif base_distro in ['ubuntu', 'debian'] %}
-
-RUN apt-get -y install --no-install-recommends \
- tftpd-hpa \
- syslinux-common \
- syslinux \
- && apt-get clean
-
+ {% set ironic_pxe_packages = [
+ 'tftpd-hpa',
+ 'syslinux-common',
+ 'syslinux'
+ ] %}
{% endif %}
+{{ macros.install_packages(ironic_pxe_packages | customizable("packages")) }}
+
COPY tftp-map-file /map-file
COPY extend_start.sh /usr/local/bin/kolla_extend_start
RUN chmod 755 /usr/local/bin/kolla_extend_start
+{% block ironic_pxe_footer %}{% endblock %}
{{ include_footer }}