1 heat_template_version: ocata
4 OpenStack containerized Ironic PXE service
9 default: 'tripleoupstream'
13 default: 'centos-binary-ironic-pxe:latest'
15 DockerIronicConfigImage:
17 default: 'centos-binary-ironic-pxe:latest'
21 description: Mapping of service endpoint -> protocol. Typically set
22 via parameter_defaults in the resource registry.
26 description: Mapping of service_name -> network name. Typically set
27 via parameter_defaults in the resource registry. This
28 mapping overrides those in ServiceNetMapDefaults.
37 type: ./containers-common.yaml
41 description: Role data for the Ironic PXE role.
43 service_name: ironic_pxe
45 step_config: &step_config ''
46 service_config_settings: {}
47 # BEGIN DOCKER SETTINGS
50 puppet_tags: ironic_config
51 step_config: *step_config
55 - [ {get_param: DockerNamespace}, {get_param: DockerIronicConfigImage} ]
57 /var/lib/kolla/config_files/ironic_pxe_http.json:
58 command: /usr/sbin/httpd -DFOREGROUND
59 /var/lib/kolla/config_files/ironic_pxe_tftp.json:
60 command: /usr/sbin/in.tftpd --foreground --user root --address 0.0.0.0:69 --map-file /var/lib/ironic/tftpboot/map-file /var/lib/ironic/tftpboot
65 image: &ironic_pxe_image
68 - [ {get_param: DockerNamespace}, {get_param: DockerIronicPxeImage} ]
74 expression: $.data.common.concat($.data.service)
76 common: {get_attr: [ContainersCommon, volumes]}
78 - /var/lib/kolla/config_files/ironic_pxe_tftp.json:/var/lib/kolla/config_files/config.json:ro
79 - /var/lib/config-data/ironic/etc/ironic/:/etc/ironic/:ro
80 # TODO(mandre) check how docker like mounting in a bind-mounted tree
81 # This directory may contain migrated data from BM
82 - /var/lib/ironic:/var/lib/ironic/
83 # These files were generated by puppet inside the config container
84 # TODO(mandre) check the mount permission (ro/rw)
85 - /var/lib/config-data/ironic/var/lib/ironic/tftpboot/chain.c32:/var/lib/ironic/tftpboot/chain.c32
86 - /var/lib/config-data/ironic/var/lib/ironic/tftpboot/pxelinux.0:/var/lib/ironic/tftpboot/pxelinux.0
87 - /var/lib/config-data/ironic/var/lib/ironic/tftpboot/ipxe.efi:/var/lib/ironic/tftpboot/ipxe.efi
88 - /var/lib/config-data/ironic/var/lib/ironic/tftpboot/undionly.kpxe:/var/lib/ironic/tftpboot/undionly.kpxe
89 - /var/lib/config-data/ironic/var/lib/ironic/tftpboot/map-file:/var/lib/ironic/tftpboot/map-file
92 - KOLLA_CONFIG_STRATEGY=COPY_ALWAYS
95 image: *ironic_pxe_image
101 expression: $.data.common.concat($.data.service)
103 common: {get_attr: [ContainersCommon, volumes]}
105 - /var/lib/kolla/config_files/ironic_pxe_http.json:/var/lib/kolla/config_files/config.json:ro
106 - /var/lib/config-data/ironic/etc/ironic/:/etc/ironic/:ro
107 - /var/lib/config-data/ironic/etc/httpd/:/etc/httpd/:ro
108 - /var/lib/ironic:/var/lib/ironic/
110 - KOLLA_CONFIG_STRATEGY=COPY_ALWAYS
112 - name: create ironic persistent data directory
114 path: /var/lib/ironic