Customizations for Ironic

This patchset contains customization of Dockerfile of Ironic
containers.

Change-Id: If6ffb741111127886f754ddebd17059174387fc8
Partially-implements: blueprint third-party-plugin-support
This commit is contained in:
Shaun Smekel 2016-08-12 08:16:11 +10:00
parent e4259f805b
commit b597c90827
5 changed files with 60 additions and 63 deletions

View File

@ -1,25 +1,23 @@
FROM {{ namespace }}/{{ image_prefix }}ironic-base:{{ tag }} FROM {{ namespace }}/{{ image_prefix }}ironic-base:{{ tag }}
MAINTAINER {{ maintainer }} MAINTAINER {{ maintainer }}
{% import "macros.j2" as macros with context %}
{% if install_type == 'binary' %} {% if install_type == 'binary' %}
{% if base_distro in ['centos', 'fedora', 'oraclelinux', 'rhel'] %} {% if base_distro in ['centos', 'fedora', 'oraclelinux', 'rhel'] %}
{% set ironic_api_packages = ['openstack-ironic-api'] %}
RUN yum -y install \
openstack-ironic-api \
&& yum clean all
{% elif base_distro in ['ubuntu'] %} {% elif base_distro in ['ubuntu'] %}
{% set ironic_api_packages = ['ironic-api'] %}
RUN apt-get -y install --no-install-recommends \
ironic-api \
&& apt-get clean
{% endif %} {% endif %}
{{ macros.install_packages(ironic_api_packages | customizable("packages")) }}
{% endif %} {% endif %}
COPY extend_start.sh /usr/local/bin/kolla_extend_start COPY extend_start.sh /usr/local/bin/kolla_extend_start
RUN chmod 755 /usr/local/bin/kolla_extend_start RUN chmod 755 /usr/local/bin/kolla_extend_start
{% block ironic_api_footer %}{% endblock %}
{{ include_footer }} {{ include_footer }}
USER ironic USER ironic

View File

@ -1,20 +1,17 @@
FROM {{ namespace }}/{{ image_prefix }}openstack-base:{{ tag }} FROM {{ namespace }}/{{ image_prefix }}openstack-base:{{ tag }}
MAINTAINER {{ maintainer }} MAINTAINER {{ maintainer }}
{% import "macros.j2" as macros with context %}
{% if install_type == 'binary' %} {% if install_type == 'binary' %}
{% if base_distro in ['centos', 'fedora', 'oraclelinux', 'rhel'] %} {% if base_distro in ['centos', 'fedora', 'oraclelinux', 'rhel'] %}
{% set ironic_base_packages = ['openstack-ironic-common'] %}
RUN yum -y install \
openstack-ironic-common \
&& yum clean all
{% elif base_distro in ['ubuntu'] %} {% elif base_distro in ['ubuntu'] %}
{% set ironic_base_packages = ['ironic-common'] %}
RUN apt-get -y install --no-install-recommends \
ironic-common \
&& apt-get clean
{% endif %} {% endif %}
{{ macros.install_packages(ironic_base_packages | customizable("packages")) }}
{% elif install_type == 'source' %} {% elif install_type == 'source' %}
ADD ironic-base-archive /ironic-base-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 \ RUN usermod -a -G kolla ironic \
&& chown -R ironic: /etc/ironic && chown -R ironic: /etc/ironic
{% block ironic_base_footer %}{% endblock %}

View File

@ -1,41 +1,38 @@
FROM {{ namespace }}/{{ image_prefix }}ironic-base:{{ tag }} FROM {{ namespace }}/{{ image_prefix }}ironic-base:{{ tag }}
MAINTAINER {{ maintainer }} MAINTAINER {{ maintainer }}
{% import "macros.j2" as macros with context %}
{% if install_type == 'binary' %} {% if install_type == 'binary' %}
{% if base_distro in ['centos', 'fedora', 'oraclelinux', 'rhel'] %} {% if base_distro in ['centos', 'fedora', 'oraclelinux', 'rhel'] %}
{% set ironic_conductor_packages = [
RUN yum -y install \ 'openstack-ironic-conductor',
openstack-ironic-conductor \ 'qemu-img'
qemu-img \ ] %}
&& yum clean all
{% elif base_distro in ['ubuntu'] %} {% elif base_distro in ['ubuntu'] %}
{% set ironic_conductor_packages = [
RUN apt-get -y install --no-install-recommends \ 'ironic-conductor',
ironic-conductor \ 'qemu-utils',
qemu-utils \ 'ipmitool'
ipmitool \ ] %}
&& apt-get clean
{% endif %} {% endif %}
{% elif install_type == 'source' %} {% elif install_type == 'source' %}
{% if base_distro in ['centos', 'fedora', 'oraclelinux', 'rhel'] %} {% if base_distro in ['centos', 'fedora', 'oraclelinux', 'rhel'] %}
{% set ironic_conductor_packages = [
RUN yum -y install \ 'qemu-img',
qemu-img \ 'ipmitool'
ipmitool \ ] %}
&& yum clean all
{% elif base_distro in ['ubuntu', 'debian'] %} {% elif base_distro in ['ubuntu', 'debian'] %}
{% set ironic_conductor_packages = [
RUN apt-get -y install --no-install-recommends \ 'qemu-utils',
qemu-utils \ 'ipmitool'
ipmitool \ ] %}
&& apt-get clean
{% endif %} {% endif %}
{% endif %} {% endif %}
{{ macros.install_packages(ironic_conductor_packages | customizable("packages")) }}
{% block ironic_conductor_footer %}{% endblock %}
{{ include_footer }} {{ include_footer }}
USER ironic USER ironic

View File

@ -1,16 +1,18 @@
FROM {{ namespace }}/{{ image_prefix }}ironic-base:{{ tag }} FROM {{ namespace }}/{{ image_prefix }}ironic-base:{{ tag }}
MAINTAINER {{ maintainer }} MAINTAINER {{ maintainer }}
{% import "macros.j2" as macros with context %}
{% if install_type == 'binary' %} {% if install_type == 'binary' %}
{% if base_distro in ['centos', 'fedora', 'oraclelinux', 'rhel'] %} {% if base_distro in ['centos', 'fedora', 'oraclelinux', 'rhel'] %}
{% set ironic_inspector_packages = ['openstack-ironic-inspector'] %}
RUN yum -y install \
openstack-ironic-inspector \
&& yum clean all
{% endif %}
{% endif %} {% endif %}
{{ macros.install_packages(ironic_inspector_packages | customizable("packages")) }}
{% endif %}
{% block ironic_inspector_footer %}{% endblock %}
{{ include_footer }} {{ include_footer }}
USER ironic USER ironic

View File

@ -1,25 +1,26 @@
FROM {{ namespace }}/{{ image_prefix }}ironic-base:{{ tag }} FROM {{ namespace }}/{{ image_prefix }}ironic-base:{{ tag }}
MAINTAINER {{ maintainer }} MAINTAINER {{ maintainer }}
{% import "macros.j2" as macros with context %}
{% if base_distro in ['centos', 'fedora', 'oraclelinux', 'rhel'] %} {% if base_distro in ['centos', 'fedora', 'oraclelinux', 'rhel'] %}
{% set ironic_pxe_packages = [
RUN yum -y install \ 'tftp-server',
tftp-server \ 'syslinux-tftpboot'
syslinux-tftpboot \ ] %}
&& yum clean all
{% elif base_distro in ['ubuntu', 'debian'] %} {% elif base_distro in ['ubuntu', 'debian'] %}
{% set ironic_pxe_packages = [
RUN apt-get -y install --no-install-recommends \ 'tftpd-hpa',
tftpd-hpa \ 'syslinux-common',
syslinux-common \ 'syslinux'
syslinux \ ] %}
&& apt-get clean
{% endif %} {% endif %}
{{ macros.install_packages(ironic_pxe_packages | customizable("packages")) }}
COPY tftp-map-file /map-file COPY tftp-map-file /map-file
COPY extend_start.sh /usr/local/bin/kolla_extend_start COPY extend_start.sh /usr/local/bin/kolla_extend_start
RUN chmod 755 /usr/local/bin/kolla_extend_start RUN chmod 755 /usr/local/bin/kolla_extend_start
{% block ironic_pxe_footer %}{% endblock %}
{{ include_footer }} {{ include_footer }}