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: Dictionary packing service data
45 description: Mapping of service_name -> network name. Typically set
46 via parameter_defaults in the resource registry. This
47 mapping overrides those in ServiceNetMapDefaults.
51 description: 'A hash of additional raw devices to use as Swift backend (eg. {sdb: {}})'
58 type: ./containers-common.yaml
61 type: ../../puppet/services/swift-storage.yaml
63 EndpointMap: {get_param: EndpointMap}
64 ServiceData: {get_param: ServiceData}
65 ServiceNetMap: {get_param: ServiceNetMap}
66 DefaultPasswords: {get_param: DefaultPasswords}
67 RoleName: {get_param: RoleName}
68 RoleParameters: {get_param: RoleParameters}
72 description: Role data for the swift storage services.
74 service_name: {get_attr: [SwiftStorageBase, role_data, service_name]}
77 - {get_attr: [SwiftStorageBase, role_data, config_settings]}
78 # FIXME (cschwede): re-enable this once checks works inside containers
79 - swift::storage::all::mount_check: false
80 logging_source: {get_attr: [SwiftStorageBase, role_data, logging_source]}
81 logging_groups: {get_attr: [SwiftStorageBase, role_data, logging_groups]}
82 step_config: &step_config
83 get_attr: [SwiftStorageBase, role_data, step_config]
84 service_config_settings: {get_attr: [SwiftStorageBase, role_data, service_config_settings]}
85 # BEGIN DOCKER SETTINGS
88 puppet_tags: swift_config,swift_container_config,swift_container_sync_realms_config,swift_account_config,swift_object_config,swift_object_expirer_config,rsync::server
89 step_config: *step_config
90 config_image: {get_param: DockerSwiftConfigImage}
92 /var/lib/kolla/config_files/swift_account_auditor.json:
93 command: /usr/bin/swift-account-auditor /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_reaper.json:
100 command: /usr/bin/swift-account-reaper /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_replicator.json:
107 command: /usr/bin/swift-account-replicator /etc/swift/account-server.conf
109 - source: "/var/lib/kolla/config_files/src/*"
112 preserve_properties: true
113 /var/lib/kolla/config_files/swift_account_server.json:
114 command: /usr/bin/swift-account-server /etc/swift/account-server.conf
116 - source: "/var/lib/kolla/config_files/src/*"
119 preserve_properties: true
120 /var/lib/kolla/config_files/swift_container_auditor.json:
121 command: /usr/bin/swift-container-auditor /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_replicator.json:
128 command: /usr/bin/swift-container-replicator /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_updater.json:
135 command: /usr/bin/swift-container-updater /etc/swift/container-server.conf
137 - source: "/var/lib/kolla/config_files/src/*"
140 preserve_properties: true
141 /var/lib/kolla/config_files/swift_container_server.json:
142 command: /usr/bin/swift-container-server /etc/swift/container-server.conf
144 - source: "/var/lib/kolla/config_files/src/*"
147 preserve_properties: true
148 /var/lib/kolla/config_files/swift_object_auditor.json:
149 command: /usr/bin/swift-object-auditor /etc/swift/object-server.conf
151 - source: "/var/lib/kolla/config_files/src/*"
154 preserve_properties: true
155 /var/lib/kolla/config_files/swift_object_expirer.json:
156 command: /usr/bin/swift-object-expirer /etc/swift/object-expirer.conf
158 - source: "/var/lib/kolla/config_files/src/*"
161 preserve_properties: true
162 /var/lib/kolla/config_files/swift_object_replicator.json:
163 command: /usr/bin/swift-object-replicator /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_updater.json:
170 command: /usr/bin/swift-object-updater /etc/swift/object-server.conf
172 - source: "/var/lib/kolla/config_files/src/*"
175 preserve_properties: true
176 /var/lib/kolla/config_files/swift_object_server.json:
177 command: /usr/bin/swift-object-server /etc/swift/object-server.conf
179 - source: "/var/lib/kolla/config_files/src/*"
182 preserve_properties: true
184 - path: /var/log/swift
187 /var/lib/kolla/config_files/swift_rsync.json:
188 command: /usr/bin/rsync --daemon --no-detach --config=/etc/rsyncd.conf
190 - source: "/var/lib/kolla/config_files/src/*"
193 preserve_properties: true
196 # The puppet config sets this up but we don't have a way to mount the named
197 # volume during the configuration stage. We just need to create this
198 # directory and make sure it's owned by swift.
200 image: &swift_account_image {get_param: DockerSwiftAccountImage}
202 command: ['chown', '-R', 'swift:', '/srv/node']
204 - /srv/node:/srv/node
206 swift_account_auditor:
207 image: *swift_account_image
213 - {get_attr: [ContainersCommon, volumes]}
215 - /var/lib/kolla/config_files/swift_account_auditor.json:/var/lib/kolla/config_files/config.json:ro
216 - /var/lib/config-data/puppet-generated/swift/:/var/lib/kolla/config_files/src:ro
218 - /srv/node:/srv/node
220 - /var/log/containers/swift:/var/log/swift
221 environment: &kolla_env
222 - KOLLA_CONFIG_STRATEGY=COPY_ALWAYS
223 swift_account_reaper:
224 image: *swift_account_image
230 - {get_attr: [ContainersCommon, volumes]}
232 - /var/lib/kolla/config_files/swift_account_reaper.json:/var/lib/kolla/config_files/config.json:ro
233 - /var/lib/config-data/puppet-generated/swift/:/var/lib/kolla/config_files/src:ro
235 - /srv/node:/srv/node
237 - /var/log/containers/swift:/var/log/swift
238 environment: *kolla_env
239 swift_account_replicator:
240 image: *swift_account_image
246 - {get_attr: [ContainersCommon, volumes]}
248 - /var/lib/kolla/config_files/swift_account_replicator.json:/var/lib/kolla/config_files/config.json:ro
249 - /var/lib/config-data/puppet-generated/swift/:/var/lib/kolla/config_files/src:ro
251 - /srv/node:/srv/node
253 - /var/log/containers/swift:/var/log/swift
254 environment: *kolla_env
255 swift_account_server:
256 image: *swift_account_image
262 - {get_attr: [ContainersCommon, volumes]}
264 - /var/lib/kolla/config_files/swift_account_server.json:/var/lib/kolla/config_files/config.json:ro
265 - /var/lib/config-data/puppet-generated/swift/:/var/lib/kolla/config_files/src:ro
267 - /srv/node:/srv/node
269 - /var/log/containers/swift:/var/log/swift
270 environment: *kolla_env
271 swift_container_auditor:
272 image: &swift_container_image {get_param: DockerSwiftContainerImage}
278 - {get_attr: [ContainersCommon, volumes]}
280 - /var/lib/kolla/config_files/swift_container_auditor.json:/var/lib/kolla/config_files/config.json:ro
281 - /var/lib/config-data/puppet-generated/swift/:/var/lib/kolla/config_files/src:ro
283 - /srv/node:/srv/node
285 - /var/log/containers/swift:/var/log/swift
286 environment: *kolla_env
287 swift_container_replicator:
288 image: *swift_container_image
294 - {get_attr: [ContainersCommon, volumes]}
296 - /var/lib/kolla/config_files/swift_container_replicator.json:/var/lib/kolla/config_files/config.json:ro
297 - /var/lib/config-data/puppet-generated/swift/:/var/lib/kolla/config_files/src:ro
299 - /srv/node:/srv/node
301 - /var/log/containers/swift:/var/log/swift
302 environment: *kolla_env
303 swift_container_updater:
304 image: *swift_container_image
310 - {get_attr: [ContainersCommon, volumes]}
312 - /var/lib/kolla/config_files/swift_container_updater.json:/var/lib/kolla/config_files/config.json:ro
313 - /var/lib/config-data/puppet-generated/swift/:/var/lib/kolla/config_files/src:ro
315 - /srv/node:/srv/node
317 - /var/log/containers/swift:/var/log/swift
318 environment: *kolla_env
319 swift_container_server:
320 image: *swift_container_image
326 - {get_attr: [ContainersCommon, volumes]}
328 - /var/lib/kolla/config_files/swift_container_server.json:/var/lib/kolla/config_files/config.json:ro
329 - /var/lib/config-data/puppet-generated/swift/:/var/lib/kolla/config_files/src:ro
331 - /srv/node:/srv/node
333 - /var/log/containers/swift:/var/log/swift
334 environment: *kolla_env
335 swift_object_auditor:
336 image: &swift_object_image {get_param: DockerSwiftObjectImage}
342 - {get_attr: [ContainersCommon, volumes]}
344 - /var/lib/kolla/config_files/swift_object_auditor.json:/var/lib/kolla/config_files/config.json:ro
345 - /var/lib/config-data/puppet-generated/swift/:/var/lib/kolla/config_files/src:ro
347 - /srv/node:/srv/node
349 - /var/log/containers/swift:/var/log/swift
350 environment: *kolla_env
351 swift_object_expirer:
352 image: &swift_proxy_image {get_param: DockerSwiftProxyImage}
358 - {get_attr: [ContainersCommon, volumes]}
360 - /var/lib/kolla/config_files/swift_object_expirer.json:/var/lib/kolla/config_files/config.json:ro
361 - /var/lib/config-data/puppet-generated/swift/:/var/lib/kolla/config_files/src:ro
363 - /srv/node:/srv/node
365 - /var/log/containers/swift:/var/log/swift
366 environment: *kolla_env
367 swift_object_replicator:
368 image: *swift_object_image
374 - {get_attr: [ContainersCommon, volumes]}
376 - /var/lib/kolla/config_files/swift_object_replicator.json:/var/lib/kolla/config_files/config.json:ro
377 - /var/lib/config-data/puppet-generated/swift/:/var/lib/kolla/config_files/src:ro
379 - /srv/node:/srv/node
381 - /var/log/containers/swift:/var/log/swift
382 environment: *kolla_env
383 swift_object_updater:
384 image: *swift_object_image
390 - {get_attr: [ContainersCommon, volumes]}
392 - /var/lib/kolla/config_files/swift_object_updater.json:/var/lib/kolla/config_files/config.json:ro
393 - /var/lib/config-data/puppet-generated/swift/:/var/lib/kolla/config_files/src:ro
395 - /srv/node:/srv/node
397 - /var/log/containers/swift:/var/log/swift
398 environment: *kolla_env
400 image: *swift_object_image
406 - {get_attr: [ContainersCommon, volumes]}
408 - /var/lib/kolla/config_files/swift_object_server.json:/var/lib/kolla/config_files/config.json:ro
409 - /var/lib/config-data/puppet-generated/swift/:/var/lib/kolla/config_files/src:ro
411 - /srv/node:/srv/node
413 - /var/log/containers/swift:/var/log/swift
414 environment: *kolla_env
416 image: *swift_object_image
423 - {get_attr: [ContainersCommon, volumes]}
425 - /var/lib/kolla/config_files/swift_rsync.json:/var/lib/kolla/config_files/config.json:ro
426 - /var/lib/config-data/puppet-generated/swift/:/var/lib/kolla/config_files/src:ro
428 - /srv/node:/srv/node
430 - /var/log/containers/swift:/var/log/swift
431 environment: *kolla_env
434 - name: create persistent directories
439 - /var/log/containers/swift
441 - name: Format and mount devices defined in SwiftRawDisks
443 name: /srv/node/{{ item }}
452 DEVICE: {get_param: SwiftRawDisks}
454 - name: Stop and disable swift storage services
456 service: name={{ item }} state=stopped enabled=no
458 - openstack-swift-account-auditor
459 - openstack-swift-account-reaper
460 - openstack-swift-account-replicator
461 - openstack-swift-account
462 - openstack-swift-container-auditor
463 - openstack-swift-container-replicator
464 - openstack-swift-container-updater
465 - openstack-swift-container
466 - openstack-swift-object-auditor
467 - openstack-swift-object-expirer
468 - openstack-swift-object-replicator
469 - openstack-swift-object-updater
470 - openstack-swift-object