Merge "Add step0,validation checks for heat services"
[apex-tripleo-heat-templates.git] / docker / services / ironic-pxe.yaml
1 heat_template_version: ocata
2
3 description: >
4   OpenStack containerized Ironic PXE service
5
6 parameters:
7   DockerNamespace:
8     description: namespace
9     default: 'tripleoupstream'
10     type: string
11   DockerIronicPxeImage:
12     description: image
13     default: 'centos-binary-ironic-pxe:latest'
14     type: string
15   DockerIronicConfigImage:
16     description: image
17     default: 'centos-binary-ironic-pxe:latest'
18     type: string
19   EndpointMap:
20     default: {}
21     description: Mapping of service endpoint -> protocol. Typically set
22                  via parameter_defaults in the resource registry.
23     type: json
24   ServiceNetMap:
25     default: {}
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.
29     type: json
30   DefaultPasswords:
31     default: {}
32     type: json
33
34 outputs:
35   role_data:
36     description: Role data for the Ironic PXE role.
37     value:
38       service_name: ironic_pxe
39       config_settings: {}
40       step_config: ''
41       service_config_settings: {}
42       # BEGIN DOCKER SETTINGS
43       docker_image: &ironic_pxe_image
44         list_join:
45           - '/'
46           - [ {get_param: DockerNamespace}, {get_param: DockerIronicPxeImage} ]
47       puppet_tags: ironic_config
48       config_volume: ironic
49       config_image:
50         list_join:
51           - '/'
52           - [ {get_param: DockerNamespace}, {get_param: DockerIronicConfigImage} ]
53       kolla_config:
54          /var/lib/kolla/config_files/ironic_pxe_http.json:
55            command: /usr/sbin/httpd -DFOREGROUND
56            config_files:
57            - dest: /etc/ironic/ironic.conf
58              owner: ironic
59              perm: '0640'
60              source: /var/lib/kolla/config_files/src/etc/ironic/ironic.conf
61            - dest: /etc/httpd/conf.d/10-ipxe_vhost.conf
62              owner: root
63              perm: '0644'
64              source: /var/lib/kolla/config_files/src/etc/httpd/conf.d/10-ipxe_vhost.conf
65            - dest: /etc/httpd/conf/httpd.conf
66              owner: root
67              perm: '0644'
68              source: /var/lib/kolla/config_files/src/etc/httpd/conf/httpd.conf
69            - dest: /etc/httpd/conf/ports.conf
70              owner: root
71              perm: '0644'
72              source: /var/lib/kolla/config_files/src/etc/httpd/conf/ports.conf
73          /var/lib/kolla/config_files/ironic_pxe_tftp.json:
74            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
75            config_files:
76            - dest: /etc/ironic/ironic.conf
77              owner: ironic
78              perm: '0640'
79              source: /var/lib/kolla/config_files/src/etc/ironic/ironic.conf
80            - dest: /var/lib/ironic/tftpboot/chain.c32
81              owner: ironic
82              perm: '0744'
83              source: /var/lib/kolla/config_files/src/var/lib/ironic/tftpboot/chain.c32
84            - dest: /var/lib/ironic/tftpboot/pxelinux.0
85              owner: ironic
86              perm: '0744'
87              source: /var/lib/kolla/config_files/src/var/lib/ironic/tftpboot/pxelinux.0
88            - dest: /var/lib/ironic/tftpboot/ipxe.efi
89              owner: ironic
90              perm: '0744'
91              source: /var/lib/kolla/config_files/src/var/lib/ironic/tftpboot/ipxe.efi
92            - dest: /var/lib/ironic/tftpboot/undionly.kpxe
93              owner: ironic
94              perm: '0744'
95              source: /var/lib/kolla/config_files/src/var/lib/ironic/tftpboot/undionly.kpxe
96            - dest: /var/lib/ironic/tftpboot/map-file
97              owner: root
98              perm: '0644'
99              source: /var/lib/kolla/config_files/src/var/lib/ironic/tftpboot/map-file
100       docker_config:
101         step_4:
102           ironic_pxe_tftp:
103             start_order: 90
104             image: *ironic_pxe_image
105             net: host
106             privileged: false
107             restart: always
108             volumes:
109               - /var/lib/kolla/config_files/ironic_pxe_tftp.json:/var/lib/kolla/config_files/config.json:ro
110               - /var/lib/config-data/ironic/:/var/lib/kolla/config_files/src:ro
111               - /etc/hosts:/etc/hosts:ro
112               - /etc/localtime:/etc/localtime:ro
113               - /dev/log:/dev/log
114               - ironic:/var/lib/ironic/
115             environment:
116               - KOLLA_CONFIG_STRATEGY=COPY_ALWAYS
117           ironic_pxe_http:
118             start_order: 91
119             image: *ironic_pxe_image
120             net: host
121             privileged: false
122             restart: always
123             volumes:
124               - /var/lib/kolla/config_files/ironic_pxe_http.json:/var/lib/kolla/config_files/config.json:ro
125               - /var/lib/config-data/ironic/:/var/lib/kolla/config_files/src:ro
126               - /var/lib/config-data/ironic/etc/httpd/conf.modules.d:/etc/httpd/conf.modules.d:ro
127               - /etc/hosts:/etc/hosts:ro
128               - /etc/localtime:/etc/localtime:ro
129               - ironic:/var/lib/ironic/
130             environment:
131               - KOLLA_CONFIG_STRATEGY=COPY_ALWAYS