1 heat_template_version: pike
4 OpenStack containerized Swift Storage services.
10 DockerSwiftAccountImage:
13 DockerSwiftContainerImage:
16 DockerSwiftObjectImage:
19 DockerSwiftConfigImage:
20 description: The container image to use for the swift config_volume
21 default: 'centos-binary-swift-proxy-server:latest'
25 description: Mapping of service endpoint -> protocol. Typically set
26 via parameter_defaults in the resource registry.
33 description: Role name on which the service is applied
37 description: Parameters specific to the role
41 description: Mapping of service_name -> network name. Typically set
42 via parameter_defaults in the resource registry. This
43 mapping overrides those in ServiceNetMapDefaults.
47 description: 'A hash of additional raw devices to use as Swift backend (eg. {sdb: {}})'
54 type: ./containers-common.yaml
57 type: ../../puppet/services/swift-storage.yaml
59 EndpointMap: {get_param: EndpointMap}
60 ServiceNetMap: {get_param: ServiceNetMap}
61 DefaultPasswords: {get_param: DefaultPasswords}
62 RoleName: {get_param: RoleName}
63 RoleParameters: {get_param: RoleParameters}
67 description: Role data for the swift storage services.
69 service_name: {get_attr: [SwiftStorageBase, role_data, service_name]}
72 - {get_attr: [SwiftStorageBase, role_data, config_settings]}
73 # FIXME (cschwede): re-enable this once checks works inside containers
74 - swift::storage::all::mount_check: false
75 step_config: &step_config
76 get_attr: [SwiftStorageBase, role_data, step_config]
77 service_config_settings: {get_attr: [SwiftStorageBase, role_data, service_config_settings]}
78 # BEGIN DOCKER SETTINGS
81 puppet_tags: swift_config,swift_container_config,swift_container_sync_realms_config,swift_account_config,swift_object_config,swift_object_expirer_config,rsync::server
82 step_config: *step_config
83 config_image: {get_param: DockerSwiftConfigImage}
85 /var/lib/kolla/config_files/swift_account_auditor.json:
86 command: /usr/bin/swift-account-auditor /etc/swift/account-server.conf
88 - source: "/var/lib/kolla/config_files/src/*"
91 preserve_properties: true
92 /var/lib/kolla/config_files/swift_account_reaper.json:
93 command: /usr/bin/swift-account-reaper /etc/swift/account-server.conf
95 - source: "/var/lib/kolla/config_files/src/*"
98 preserve_properties: true
99 /var/lib/kolla/config_files/swift_account_replicator.json:
100 command: /usr/bin/swift-account-replicator /etc/swift/account-server.conf
102 - source: "/var/lib/kolla/config_files/src/*"
105 preserve_properties: true
106 /var/lib/kolla/config_files/swift_account_server.json:
107 command: /usr/bin/swift-account-server /etc/swift/account-server.conf
109 - source: "/var/lib/kolla/config_files/src/*"
112 preserve_properties: true
113 /var/lib/kolla/config_files/swift_container_auditor.json:
114 command: /usr/bin/swift-container-auditor /etc/swift/container-server.conf
116 - source: "/var/lib/kolla/config_files/src/*"
119 preserve_properties: true
120 /var/lib/kolla/config_files/swift_container_replicator.json:
121 command: /usr/bin/swift-container-replicator /etc/swift/container-server.conf
123 - source: "/var/lib/kolla/config_files/src/*"
126 preserve_properties: true
127 /var/lib/kolla/config_files/swift_container_updater.json:
128 command: /usr/bin/swift-container-updater /etc/swift/container-server.conf
130 - source: "/var/lib/kolla/config_files/src/*"
133 preserve_properties: true
134 /var/lib/kolla/config_files/swift_container_server.json:
135 command: /usr/bin/swift-container-server /etc/swift/container-server.conf
137 - source: "/var/lib/kolla/config_files/src/*"
140 preserve_properties: true
141 /var/lib/kolla/config_files/swift_object_auditor.json:
142 command: /usr/bin/swift-object-auditor /etc/swift/object-server.conf
144 - source: "/var/lib/kolla/config_files/src/*"
147 preserve_properties: true
148 /var/lib/kolla/config_files/swift_object_expirer.json:
149 command: /usr/bin/swift-object-expirer /etc/swift/object-expirer.conf
151 - source: "/var/lib/kolla/config_files/src/*"
154 preserve_properties: true
155 /var/lib/kolla/config_files/swift_object_replicator.json:
156 command: /usr/bin/swift-object-replicator /etc/swift/object-server.conf
158 - source: "/var/lib/kolla/config_files/src/*"
161 preserve_properties: true
162 /var/lib/kolla/config_files/swift_object_updater.json:
163 command: /usr/bin/swift-object-updater /etc/swift/object-server.conf
165 - source: "/var/lib/kolla/config_files/src/*"
168 preserve_properties: true
169 /var/lib/kolla/config_files/swift_object_server.json:
170 command: /usr/bin/swift-object-server /etc/swift/object-server.conf
172 - source: "/var/lib/kolla/config_files/src/*"
175 preserve_properties: true
177 - path: /var/log/swift
180 /var/lib/kolla/config_files/swift_rsync.json:
181 command: /usr/bin/rsync --daemon --no-detach --config=/etc/rsyncd.conf
183 - source: "/var/lib/kolla/config_files/src/*"
186 preserve_properties: true
189 # The puppet config sets this up but we don't have a way to mount the named
190 # volume during the configuration stage. We just need to create this
191 # directory and make sure it's owned by swift.
193 image: &swift_account_image {get_param: DockerSwiftAccountImage}
195 command: ['chown', '-R', 'swift:', '/srv/node']
197 - /srv/node:/srv/node
199 swift_account_auditor:
200 image: *swift_account_image
206 - {get_attr: [ContainersCommon, volumes]}
208 - /var/lib/kolla/config_files/swift_account_auditor.json:/var/lib/kolla/config_files/config.json:ro
209 - /var/lib/config-data/puppet-generated/swift/:/var/lib/kolla/config_files/src:ro
211 - /srv/node:/srv/node
213 - /var/log/containers/swift:/var/log/swift
214 environment: &kolla_env
215 - KOLLA_CONFIG_STRATEGY=COPY_ALWAYS
216 swift_account_reaper:
217 image: *swift_account_image
223 - {get_attr: [ContainersCommon, volumes]}
225 - /var/lib/kolla/config_files/swift_account_reaper.json:/var/lib/kolla/config_files/config.json:ro
226 - /var/lib/config-data/puppet-generated/swift/:/var/lib/kolla/config_files/src:ro
228 - /srv/node:/srv/node
230 - /var/log/containers/swift:/var/log/swift
231 environment: *kolla_env
232 swift_account_replicator:
233 image: *swift_account_image
239 - {get_attr: [ContainersCommon, volumes]}
241 - /var/lib/kolla/config_files/swift_account_replicator.json:/var/lib/kolla/config_files/config.json:ro
242 - /var/lib/config-data/puppet-generated/swift/:/var/lib/kolla/config_files/src:ro
244 - /srv/node:/srv/node
246 - /var/log/containers/swift:/var/log/swift
247 environment: *kolla_env
248 swift_account_server:
249 image: *swift_account_image
255 - {get_attr: [ContainersCommon, volumes]}
257 - /var/lib/kolla/config_files/swift_account_server.json:/var/lib/kolla/config_files/config.json:ro
258 - /var/lib/config-data/puppet-generated/swift/:/var/lib/kolla/config_files/src:ro
260 - /srv/node:/srv/node
262 - /var/log/containers/swift:/var/log/swift
263 environment: *kolla_env
264 swift_container_auditor:
265 image: &swift_container_image {get_param: DockerSwiftContainerImage}
271 - {get_attr: [ContainersCommon, volumes]}
273 - /var/lib/kolla/config_files/swift_container_auditor.json:/var/lib/kolla/config_files/config.json:ro
274 - /var/lib/config-data/puppet-generated/swift/:/var/lib/kolla/config_files/src:ro
276 - /srv/node:/srv/node
278 - /var/log/containers/swift:/var/log/swift
279 environment: *kolla_env
280 swift_container_replicator:
281 image: *swift_container_image
287 - {get_attr: [ContainersCommon, volumes]}
289 - /var/lib/kolla/config_files/swift_container_replicator.json:/var/lib/kolla/config_files/config.json:ro
290 - /var/lib/config-data/puppet-generated/swift/:/var/lib/kolla/config_files/src:ro
292 - /srv/node:/srv/node
294 - /var/log/containers/swift:/var/log/swift
295 environment: *kolla_env
296 swift_container_updater:
297 image: *swift_container_image
303 - {get_attr: [ContainersCommon, volumes]}
305 - /var/lib/kolla/config_files/swift_container_updater.json:/var/lib/kolla/config_files/config.json:ro
306 - /var/lib/config-data/puppet-generated/swift/:/var/lib/kolla/config_files/src:ro
308 - /srv/node:/srv/node
310 - /var/log/containers/swift:/var/log/swift
311 environment: *kolla_env
312 swift_container_server:
313 image: *swift_container_image
319 - {get_attr: [ContainersCommon, volumes]}
321 - /var/lib/kolla/config_files/swift_container_server.json:/var/lib/kolla/config_files/config.json:ro
322 - /var/lib/config-data/puppet-generated/swift/:/var/lib/kolla/config_files/src:ro
324 - /srv/node:/srv/node
326 - /var/log/containers/swift:/var/log/swift
327 environment: *kolla_env
328 swift_object_auditor:
329 image: &swift_object_image {get_param: DockerSwiftObjectImage}
335 - {get_attr: [ContainersCommon, volumes]}
337 - /var/lib/kolla/config_files/swift_object_auditor.json:/var/lib/kolla/config_files/config.json:ro
338 - /var/lib/config-data/puppet-generated/swift/:/var/lib/kolla/config_files/src:ro
340 - /srv/node:/srv/node
342 - /var/log/containers/swift:/var/log/swift
343 environment: *kolla_env
344 swift_object_expirer:
345 image: &swift_proxy_image {get_param: DockerSwiftProxyImage}
351 - {get_attr: [ContainersCommon, volumes]}
353 - /var/lib/kolla/config_files/swift_object_expirer.json:/var/lib/kolla/config_files/config.json:ro
354 - /var/lib/config-data/puppet-generated/swift/:/var/lib/kolla/config_files/src:ro
356 - /srv/node:/srv/node
358 - /var/log/containers/swift:/var/log/swift
359 environment: *kolla_env
360 swift_object_replicator:
361 image: *swift_object_image
367 - {get_attr: [ContainersCommon, volumes]}
369 - /var/lib/kolla/config_files/swift_object_replicator.json:/var/lib/kolla/config_files/config.json:ro
370 - /var/lib/config-data/puppet-generated/swift/:/var/lib/kolla/config_files/src:ro
372 - /srv/node:/srv/node
374 - /var/log/containers/swift:/var/log/swift
375 environment: *kolla_env
376 swift_object_updater:
377 image: *swift_object_image
383 - {get_attr: [ContainersCommon, volumes]}
385 - /var/lib/kolla/config_files/swift_object_updater.json:/var/lib/kolla/config_files/config.json:ro
386 - /var/lib/config-data/puppet-generated/swift/:/var/lib/kolla/config_files/src:ro
388 - /srv/node:/srv/node
390 - /var/log/containers/swift:/var/log/swift
391 environment: *kolla_env
393 image: *swift_object_image
399 - {get_attr: [ContainersCommon, volumes]}
401 - /var/lib/kolla/config_files/swift_object_server.json:/var/lib/kolla/config_files/config.json:ro
402 - /var/lib/config-data/puppet-generated/swift/:/var/lib/kolla/config_files/src:ro
404 - /srv/node:/srv/node
406 - /var/log/containers/swift:/var/log/swift
407 environment: *kolla_env
409 image: *swift_object_image
416 - {get_attr: [ContainersCommon, volumes]}
418 - /var/lib/kolla/config_files/swift_rsync.json:/var/lib/kolla/config_files/config.json:ro
419 - /var/lib/config-data/puppet-generated/swift/:/var/lib/kolla/config_files/src:ro
421 - /srv/node:/srv/node
423 - /var/log/containers/swift:/var/log/swift
424 environment: *kolla_env
427 - name: create persistent directories
432 - /var/log/containers/swift
434 - name: Format and mount devices defined in SwiftRawDisks
436 name: /srv/node/{{ item }}
445 DEVICE: {get_param: SwiftRawDisks}
447 - name: Stop and disable swift storage services
449 service: name={{ item }} state=stopped enabled=no
451 - openstack-swift-account-auditor
452 - openstack-swift-account-reaper
453 - openstack-swift-account-replicator
454 - openstack-swift-account
455 - openstack-swift-container-auditor
456 - openstack-swift-container-replicator
457 - openstack-swift-container-updater
458 - openstack-swift-container
459 - openstack-swift-object-auditor
460 - openstack-swift-object-replicator
461 - openstack-swift-object-updater
462 - openstack-swift-object