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 step_config: &step_config
81 get_attr: [SwiftStorageBase, role_data, step_config]
82 service_config_settings: {get_attr: [SwiftStorageBase, role_data, service_config_settings]}
83 # BEGIN DOCKER SETTINGS
86 puppet_tags: swift_config,swift_container_config,swift_container_sync_realms_config,swift_account_config,swift_object_config,swift_object_expirer_config,rsync::server
87 step_config: *step_config
88 config_image: {get_param: DockerSwiftConfigImage}
90 /var/lib/kolla/config_files/swift_account_auditor.json:
91 command: /usr/bin/swift-account-auditor /etc/swift/account-server.conf
93 - source: "/var/lib/kolla/config_files/src/*"
96 preserve_properties: true
97 /var/lib/kolla/config_files/swift_account_reaper.json:
98 command: /usr/bin/swift-account-reaper /etc/swift/account-server.conf
100 - source: "/var/lib/kolla/config_files/src/*"
103 preserve_properties: true
104 /var/lib/kolla/config_files/swift_account_replicator.json:
105 command: /usr/bin/swift-account-replicator /etc/swift/account-server.conf
107 - source: "/var/lib/kolla/config_files/src/*"
110 preserve_properties: true
111 /var/lib/kolla/config_files/swift_account_server.json:
112 command: /usr/bin/swift-account-server /etc/swift/account-server.conf
114 - source: "/var/lib/kolla/config_files/src/*"
117 preserve_properties: true
118 /var/lib/kolla/config_files/swift_container_auditor.json:
119 command: /usr/bin/swift-container-auditor /etc/swift/container-server.conf
121 - source: "/var/lib/kolla/config_files/src/*"
124 preserve_properties: true
125 /var/lib/kolla/config_files/swift_container_replicator.json:
126 command: /usr/bin/swift-container-replicator /etc/swift/container-server.conf
128 - source: "/var/lib/kolla/config_files/src/*"
131 preserve_properties: true
132 /var/lib/kolla/config_files/swift_container_updater.json:
133 command: /usr/bin/swift-container-updater /etc/swift/container-server.conf
135 - source: "/var/lib/kolla/config_files/src/*"
138 preserve_properties: true
139 /var/lib/kolla/config_files/swift_container_server.json:
140 command: /usr/bin/swift-container-server /etc/swift/container-server.conf
142 - source: "/var/lib/kolla/config_files/src/*"
145 preserve_properties: true
146 /var/lib/kolla/config_files/swift_object_auditor.json:
147 command: /usr/bin/swift-object-auditor /etc/swift/object-server.conf
149 - source: "/var/lib/kolla/config_files/src/*"
152 preserve_properties: true
153 /var/lib/kolla/config_files/swift_object_expirer.json:
154 command: /usr/bin/swift-object-expirer /etc/swift/object-expirer.conf
156 - source: "/var/lib/kolla/config_files/src/*"
159 preserve_properties: true
160 /var/lib/kolla/config_files/swift_object_replicator.json:
161 command: /usr/bin/swift-object-replicator /etc/swift/object-server.conf
163 - source: "/var/lib/kolla/config_files/src/*"
166 preserve_properties: true
167 /var/lib/kolla/config_files/swift_object_updater.json:
168 command: /usr/bin/swift-object-updater /etc/swift/object-server.conf
170 - source: "/var/lib/kolla/config_files/src/*"
173 preserve_properties: true
174 /var/lib/kolla/config_files/swift_object_server.json:
175 command: /usr/bin/swift-object-server /etc/swift/object-server.conf
177 - source: "/var/lib/kolla/config_files/src/*"
180 preserve_properties: true
182 - path: /var/log/swift
185 /var/lib/kolla/config_files/swift_rsync.json:
186 command: /usr/bin/rsync --daemon --no-detach --config=/etc/rsyncd.conf
188 - source: "/var/lib/kolla/config_files/src/*"
191 preserve_properties: true
194 # The puppet config sets this up but we don't have a way to mount the named
195 # volume during the configuration stage. We just need to create this
196 # directory and make sure it's owned by swift.
198 image: &swift_account_image {get_param: DockerSwiftAccountImage}
200 command: ['chown', '-R', 'swift:', '/srv/node']
202 - /srv/node:/srv/node
204 swift_account_auditor:
205 image: *swift_account_image
211 - {get_attr: [ContainersCommon, volumes]}
213 - /var/lib/kolla/config_files/swift_account_auditor.json:/var/lib/kolla/config_files/config.json:ro
214 - /var/lib/config-data/puppet-generated/swift/:/var/lib/kolla/config_files/src:ro
216 - /srv/node:/srv/node
218 - /var/log/containers/swift:/var/log/swift
219 environment: &kolla_env
220 - KOLLA_CONFIG_STRATEGY=COPY_ALWAYS
221 swift_account_reaper:
222 image: *swift_account_image
228 - {get_attr: [ContainersCommon, volumes]}
230 - /var/lib/kolla/config_files/swift_account_reaper.json:/var/lib/kolla/config_files/config.json:ro
231 - /var/lib/config-data/puppet-generated/swift/:/var/lib/kolla/config_files/src:ro
233 - /srv/node:/srv/node
235 - /var/log/containers/swift:/var/log/swift
236 environment: *kolla_env
237 swift_account_replicator:
238 image: *swift_account_image
244 - {get_attr: [ContainersCommon, volumes]}
246 - /var/lib/kolla/config_files/swift_account_replicator.json:/var/lib/kolla/config_files/config.json:ro
247 - /var/lib/config-data/puppet-generated/swift/:/var/lib/kolla/config_files/src:ro
249 - /srv/node:/srv/node
251 - /var/log/containers/swift:/var/log/swift
252 environment: *kolla_env
253 swift_account_server:
254 image: *swift_account_image
260 - {get_attr: [ContainersCommon, volumes]}
262 - /var/lib/kolla/config_files/swift_account_server.json:/var/lib/kolla/config_files/config.json:ro
263 - /var/lib/config-data/puppet-generated/swift/:/var/lib/kolla/config_files/src:ro
265 - /srv/node:/srv/node
267 - /var/log/containers/swift:/var/log/swift
268 environment: *kolla_env
269 swift_container_auditor:
270 image: &swift_container_image {get_param: DockerSwiftContainerImage}
276 - {get_attr: [ContainersCommon, volumes]}
278 - /var/lib/kolla/config_files/swift_container_auditor.json:/var/lib/kolla/config_files/config.json:ro
279 - /var/lib/config-data/puppet-generated/swift/:/var/lib/kolla/config_files/src:ro
281 - /srv/node:/srv/node
283 - /var/log/containers/swift:/var/log/swift
284 environment: *kolla_env
285 swift_container_replicator:
286 image: *swift_container_image
292 - {get_attr: [ContainersCommon, volumes]}
294 - /var/lib/kolla/config_files/swift_container_replicator.json:/var/lib/kolla/config_files/config.json:ro
295 - /var/lib/config-data/puppet-generated/swift/:/var/lib/kolla/config_files/src:ro
297 - /srv/node:/srv/node
299 - /var/log/containers/swift:/var/log/swift
300 environment: *kolla_env
301 swift_container_updater:
302 image: *swift_container_image
308 - {get_attr: [ContainersCommon, volumes]}
310 - /var/lib/kolla/config_files/swift_container_updater.json:/var/lib/kolla/config_files/config.json:ro
311 - /var/lib/config-data/puppet-generated/swift/:/var/lib/kolla/config_files/src:ro
313 - /srv/node:/srv/node
315 - /var/log/containers/swift:/var/log/swift
316 environment: *kolla_env
317 swift_container_server:
318 image: *swift_container_image
324 - {get_attr: [ContainersCommon, volumes]}
326 - /var/lib/kolla/config_files/swift_container_server.json:/var/lib/kolla/config_files/config.json:ro
327 - /var/lib/config-data/puppet-generated/swift/:/var/lib/kolla/config_files/src:ro
329 - /srv/node:/srv/node
331 - /var/log/containers/swift:/var/log/swift
332 environment: *kolla_env
333 swift_object_auditor:
334 image: &swift_object_image {get_param: DockerSwiftObjectImage}
340 - {get_attr: [ContainersCommon, volumes]}
342 - /var/lib/kolla/config_files/swift_object_auditor.json:/var/lib/kolla/config_files/config.json:ro
343 - /var/lib/config-data/puppet-generated/swift/:/var/lib/kolla/config_files/src:ro
345 - /srv/node:/srv/node
347 - /var/log/containers/swift:/var/log/swift
348 environment: *kolla_env
349 swift_object_expirer:
350 image: &swift_proxy_image {get_param: DockerSwiftProxyImage}
356 - {get_attr: [ContainersCommon, volumes]}
358 - /var/lib/kolla/config_files/swift_object_expirer.json:/var/lib/kolla/config_files/config.json:ro
359 - /var/lib/config-data/puppet-generated/swift/:/var/lib/kolla/config_files/src:ro
361 - /srv/node:/srv/node
363 - /var/log/containers/swift:/var/log/swift
364 environment: *kolla_env
365 swift_object_replicator:
366 image: *swift_object_image
372 - {get_attr: [ContainersCommon, volumes]}
374 - /var/lib/kolla/config_files/swift_object_replicator.json:/var/lib/kolla/config_files/config.json:ro
375 - /var/lib/config-data/puppet-generated/swift/:/var/lib/kolla/config_files/src:ro
377 - /srv/node:/srv/node
379 - /var/log/containers/swift:/var/log/swift
380 environment: *kolla_env
381 swift_object_updater:
382 image: *swift_object_image
388 - {get_attr: [ContainersCommon, volumes]}
390 - /var/lib/kolla/config_files/swift_object_updater.json:/var/lib/kolla/config_files/config.json:ro
391 - /var/lib/config-data/puppet-generated/swift/:/var/lib/kolla/config_files/src:ro
393 - /srv/node:/srv/node
395 - /var/log/containers/swift:/var/log/swift
396 environment: *kolla_env
398 image: *swift_object_image
404 - {get_attr: [ContainersCommon, volumes]}
406 - /var/lib/kolla/config_files/swift_object_server.json:/var/lib/kolla/config_files/config.json:ro
407 - /var/lib/config-data/puppet-generated/swift/:/var/lib/kolla/config_files/src:ro
409 - /srv/node:/srv/node
411 - /var/log/containers/swift:/var/log/swift
412 environment: *kolla_env
414 image: *swift_object_image
421 - {get_attr: [ContainersCommon, volumes]}
423 - /var/lib/kolla/config_files/swift_rsync.json:/var/lib/kolla/config_files/config.json:ro
424 - /var/lib/config-data/puppet-generated/swift/:/var/lib/kolla/config_files/src:ro
426 - /srv/node:/srv/node
428 - /var/log/containers/swift:/var/log/swift
429 environment: *kolla_env
432 - name: create persistent directories
437 - /var/log/containers/swift
439 - name: Format and mount devices defined in SwiftRawDisks
441 name: /srv/node/{{ item }}
450 DEVICE: {get_param: SwiftRawDisks}
452 - name: Stop and disable swift storage services
454 service: name={{ item }} state=stopped enabled=no
456 - openstack-swift-account-auditor
457 - openstack-swift-account-reaper
458 - openstack-swift-account-replicator
459 - openstack-swift-account
460 - openstack-swift-container-auditor
461 - openstack-swift-container-replicator
462 - openstack-swift-container-updater
463 - openstack-swift-container
464 - openstack-swift-object-auditor
465 - openstack-swift-object-replicator
466 - openstack-swift-object-updater
467 - openstack-swift-object