kolla/docker/ironic/ironic-conductor/Dockerfile.j2

137 lines
4.1 KiB
Django/Jinja

FROM {{ namespace }}/{{ image_prefix }}ironic-base:{{ tag }}
LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build_date }}"
{% block ironic_conductor_header %}{% endblock %}
{% import "macros.j2" as macros with context %}
{% if install_type == 'binary' %}
{% if base_package_type == 'rpm' %}
# TODO(Jeffrey4l): no python-oneviewclient
{% set ironic_conductor_packages = [
'dosfstools',
'e2fsprogs',
'gdisk',
'ipmitool',
'openstack-ironic-conductor',
'openstack-ironic-staging-drivers',
'parted',
'psmisc',
'shellinabox',
'util-linux',
'xfsprogs'
] %}
{% if distro_python_version.startswith('3') %}
{% set ironic_conductor_packages = ironic_conductor_packages + [
'python3dist\(ansible\)',
'python3-dracclient',
'python3-ironic-inspector-client',
'python3-proliantutils',
'python3-pysnmp',
'python3-scciclient',
'python3-sushy',
'python3-systemd'
] %}
{% else %}
{% set ironic_conductor_packages = ironic_conductor_packages + [
'ansible',
'pysnmp',
'python-UcsSdk',
'python-dracclient',
'python-ironic-inspector-client',
'python-proliantutils',
'python-scciclient',
'python-sushy',
'python2-ImcSdk',
'systemd-python'
] %}
{% endif %}
{% if base_distro in ['centos'] %}
{% set ironic_conductor_packages = ironic_conductor_packages + [
'qemu-img-ev'
] %}
{% else %}
{% set ironic_conductor_packages = ironic_conductor_packages + [
'qemu-img'
] %}
{% endif %}
{% elif base_package_type == 'deb' %}
# TODO(jeffrey4l): no python-dracclient, python-oneviewclient, UcsSdk,
# ImcSdk package, python-sushy, ironic-staging-drivers
{% set ironic_conductor_packages = [
'ansible',
'bsdmainutils',
'dosfstools',
'e2fsprogs',
'gdisk',
'ipmitool',
'ironic-conductor',
'parted',
'psmisc',
'python3-ironic-inspector-client',
'python3-proliantutils',
'python3-pysnmp4',
'python3-scciclient',
'python3-systemd',
'qemu-utils',
'shellinabox',
'udev',
'xfsprogs',
] %}
{% endif %}
{% elif install_type == 'source' %}
{% if base_package_type == 'rpm' %}
{% set ironic_conductor_packages = [
'dosfstools',
'e2fsprogs',
'fuse',
'gdisk',
'ipmitool',
'parted',
'psmisc',
'qemu-img-ev',
'shellinabox',
'util-linux',
'xfsprogs',
] %}
{% if distro_python_version.startswith('3') %}
{% set ironic_conductor_packages = ironic_conductor_packages + [
'systemd-udev',
] %}
{% else %}
{% set ironic_conductor_packages = ironic_conductor_packages + [
'systemd',
] %}
{% endif %}
{% elif base_package_type == 'deb' %}
{% set ironic_conductor_packages = [
'bsdmainutils',
'dosfstools',
'e2fsprogs',
'gdisk',
'ipmitool',
'parted',
'psmisc',
'qemu-utils',
'shellinabox',
'udev',
'xfsprogs',
] %}
{% endif %}
{% set ironic_conductor_pip_packages = [
'-r /ironic/driver-requirements.txt',
'ironic-staging-drivers',
] %}
RUN {{ macros.install_pip(ironic_conductor_pip_packages | customizable("pip_packages")) }}
{% endif %}
{{ macros.install_packages(ironic_conductor_packages | customizable("packages")) }}
{% block ironic_conductor_footer %}{% endblock %}
{% block footer %}{% endblock %}
USER ironic