Change flat network name for nosdn fdio scenario
[apex-tripleo-heat-templates.git] / docker / services / ironic-pxe.yaml
1 heat_template_version: pike
2
3 description: >
4   OpenStack containerized Ironic PXE service
5
6 parameters:
7   DockerIronicPxeImage:
8     description: image
9     type: string
10   DockerIronicConfigImage:
11     description: The container image to use for the ironic config_volume
12     type: string
13   EndpointMap:
14     default: {}
15     description: Mapping of service endpoint -> protocol. Typically set
16                  via parameter_defaults in the resource registry.
17     type: json
18   ServiceData:
19     default: {}
20     description: Dictionary packing service data
21     type: json
22   ServiceNetMap:
23     default: {}
24     description: Mapping of service_name -> network name. Typically set
25                  via parameter_defaults in the resource registry.  This
26                  mapping overrides those in ServiceNetMapDefaults.
27     type: json
28   DefaultPasswords:
29     default: {}
30     type: json
31   RoleName:
32     default: ''
33     description: Role name on which the service is applied
34     type: string
35   RoleParameters:
36     default: {}
37     description: Parameters specific to the role
38     type: json
39
40 resources:
41
42   ContainersCommon:
43     type: ./containers-common.yaml
44
45 outputs:
46   role_data:
47     description: Role data for the Ironic PXE role.
48     value:
49       service_name: ironic_pxe
50       config_settings: {}
51       step_config: &step_config ''
52       service_config_settings: {}
53       # BEGIN DOCKER SETTINGS
54       puppet_config:
55         config_volume: ironic
56         puppet_tags: ironic_config
57         step_config: *step_config
58         config_image: {get_param: DockerIronicConfigImage}
59       kolla_config:
60         /var/lib/kolla/config_files/ironic_pxe_http.json:
61           command: /usr/sbin/httpd -DFOREGROUND
62           config_files:
63             - source: "/var/lib/kolla/config_files/src/*"
64               dest: "/"
65               merge: true
66               preserve_properties: true
67         /var/lib/kolla/config_files/ironic_pxe_tftp.json:
68           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
69           config_files:
70             - source: "/var/lib/kolla/config_files/src/*"
71               dest: "/"
72               merge: true
73               preserve_properties: true
74           permissions:
75             - path: /var/log/ironic
76               owner: ironic:ironic
77               recurse: true
78       docker_config:
79         step_4:
80           ironic_pxe_tftp:
81             start_order: 90
82             image: &ironic_pxe_image {get_param: DockerIronicPxeImage}
83             net: host
84             privileged: false
85             restart: always
86             volumes:
87               list_concat:
88                 - {get_attr: [ContainersCommon, volumes]}
89                 -
90                   - /var/lib/kolla/config_files/ironic_pxe_tftp.json:/var/lib/kolla/config_files/config.json:ro
91                   - /var/lib/config-data/puppet-generated/ironic/:/var/lib/kolla/config_files/src:ro
92                   - /var/lib/ironic:/var/lib/ironic/
93                   - /dev/log:/dev/log
94                   - /var/log/containers/ironic:/var/log/ironic
95                   - /var/log/containers/httpd/ironic-pxe:/var/log/httpd
96             environment:
97               - KOLLA_CONFIG_STRATEGY=COPY_ALWAYS
98           ironic_pxe_http:
99             start_order: 91
100             image: *ironic_pxe_image
101             net: host
102             privileged: false
103             restart: always
104             volumes:
105               list_concat:
106                 - {get_attr: [ContainersCommon, volumes]}
107                 -
108                   - /var/lib/kolla/config_files/ironic_pxe_http.json:/var/lib/kolla/config_files/config.json:ro
109                   - /var/lib/config-data/puppet-generated/ironic/:/var/lib/kolla/config_files/src:ro
110                   - /var/lib/ironic:/var/lib/ironic/
111                   - /var/log/containers/ironic:/var/log/ironic
112                   - /var/log/containers/httpd/ironic-pxe:/var/log/httpd
113             environment:
114               - KOLLA_CONFIG_STRATEGY=COPY_ALWAYS
115       host_prep_tasks:
116         - name: create persistent directories
117           file:
118             path: "{{ item }}"
119             state: directory
120           with_items:
121             - /var/lib/ironic
122             - /var/log/containers/ironic
123             - /var/log/containers/httpd/ironic-pxe