Kolla provides production-ready containers and deployment tools for operating OpenStack clouds
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

Dockerfile.j2 3.1KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. FROM {{ namespace }}/{{ image_prefix }}ironic-base:{{ tag }}
  2. LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build_date }}"
  3. {% block ironic_conductor_header %}{% endblock %}
  4. {% import "macros.j2" as macros with context %}
  5. {% if install_type == 'binary' %}
  6. {% if base_distro in ['centos', 'oraclelinux', 'rhel'] %}
  7. # TODO(Jeffrey4l): no python-oneviewclient
  8. {% set ironic_conductor_packages = [
  9. 'ansible',
  10. 'dosfstools',
  11. 'e2fsprogs',
  12. 'gdisk',
  13. 'ipmitool',
  14. 'openstack-ironic-conductor',
  15. 'parted',
  16. 'psmisc',
  17. 'pysnmp',
  18. 'python2-ImcSdk',
  19. 'python-dracclient',
  20. 'python-ironic-inspector-client',
  21. 'python-proliantutils',
  22. 'python-scciclient',
  23. 'python-sushy',
  24. 'python-UcsSdk',
  25. 'qemu-img-ev',
  26. 'shellinabox',
  27. 'systemd-python',
  28. 'util-linux',
  29. 'xfsprogs',
  30. ] %}
  31. {% elif base_distro in ['debian', 'ubuntu'] %}
  32. # TODO(jeffrey4l): no python-dracclient, python-oneviewclient, UcsSdk,
  33. # ImcSdk package, python-sushy
  34. {% set ironic_conductor_packages = [
  35. 'ansible',
  36. 'bsdmainutils',
  37. 'dosfstools',
  38. 'e2fsprogs',
  39. 'gdisk',
  40. 'ipmitool',
  41. 'ironic-conductor',
  42. 'parted',
  43. 'psmisc',
  44. 'python-ironic-inspector-client',
  45. 'python-proliantutils',
  46. 'python-pysnmp4',
  47. 'python-scciclient',
  48. 'python-systemd',
  49. 'qemu-utils',
  50. 'shellinabox',
  51. 'xfsprogs',
  52. ] %}
  53. {% endif %}
  54. {% elif install_type == 'source' %}
  55. {% if base_distro in ['centos', 'oraclelinux', 'rhel'] %}
  56. {% set ironic_conductor_packages = [
  57. 'dosfstools',
  58. 'e2fsprogs',
  59. 'fuse',
  60. 'gdisk',
  61. 'ipmitool',
  62. 'parted',
  63. 'psmisc',
  64. 'qemu-img-ev',
  65. 'shellinabox',
  66. 'util-linux',
  67. 'xfsprogs',
  68. ] %}
  69. {% elif base_distro in ['debian', 'ubuntu'] %}
  70. {% set ironic_conductor_packages = [
  71. 'bsdmainutils',
  72. 'dosfstools',
  73. 'e2fsprogs',
  74. 'gdisk',
  75. 'ipmitool',
  76. 'parted',
  77. 'psmisc',
  78. 'qemu-utils',
  79. 'shellinabox',
  80. 'xfsprogs',
  81. ] %}
  82. {% endif %}
  83. {% set ironic_conductor_pip_packages = [
  84. '-r /ironic/driver-requirements.txt'
  85. ] %}
  86. RUN {{ macros.install_pip(ironic_conductor_pip_packages | customizable("pip_packages")) }}
  87. {% endif %}
  88. {{ macros.install_packages(ironic_conductor_packages | customizable("packages")) }}
  89. COPY extend_start.sh /usr/local/bin/kolla_ironic_extend_start
  90. COPY iscsi_tcp_sudoers /etc/sudoers.d/kolla_iscsi_tcp_sudoers
  91. RUN chmod 755 /usr/local/bin/kolla_ironic_extend_start \
  92. && chmod 440 /etc/sudoers.d/kolla_iscsi_tcp_sudoers
  93. {% block ironic_conductor_footer %}{% endblock %}
  94. {% block footer %}{% endblock %}
  95. USER ironic