cffe78f52267828a17027a605a1db12050d8c171
[apex-tripleo-heat-templates.git] / puppet / services / swift-storage.yaml
1 heat_template_version: 2016-04-08
2
3 description: >
4   OpenStack Swift Storage service configured with Puppet
5
6 parameters:
7   ServiceNetMap:
8     default: {}
9     description: Mapping of service_name -> network name. Typically set
10                  via parameter_defaults in the resource registry.  This
11                  mapping overrides those in ServiceNetMapDefaults.
12     type: json
13   DefaultPasswords:
14     default: {}
15     type: json
16   EndpointMap:
17     default: {}
18     description: Mapping of service endpoint -> protocol. Typically set
19                  via parameter_defaults in the resource registry.
20     type: json
21   Debug:
22     default: ''
23     description: Set to True to enable debugging on all services.
24     type: string
25   SwiftMountCheck:
26     default: false
27     description: Value of mount_check in Swift account/container/object -server.conf
28     type: boolean
29   SwiftRawDisks:
30     default: {}
31     description: 'A hash of additional raw devices to use as Swift backend (eg. {sdb: {}})'
32     type: json
33   MonitoringSubscriptionSwiftStorage:
34     default: 'overcloud-swift-storage'
35     type: string
36
37   # DEPRECATED options for compatibility with overcloud.yaml
38   # This should be removed and manipulation of the ControllerServices list
39   # used instead, but we need client support for that first
40   ControllerEnableSwiftStorage:
41     default: true
42     description: Whether to enable Swift Storage on the Controller
43     type: boolean
44
45 parameter_groups:
46 - label: deprecated
47   description: Do not use deprecated params, they will be removed.
48   parameters:
49   - ControllerEnableSwiftStorage
50
51 resources:
52   SwiftBase:
53     type: ./swift-base.yaml
54     properties:
55       ServiceNetMap: {get_param: ServiceNetMap}
56       DefaultPasswords: {get_param: DefaultPasswords}
57       EndpointMap: {get_param: EndpointMap}
58
59 outputs:
60   role_data:
61     description: Role data for the Swift Proxy role.
62     value:
63       service_name: swift_storage
64       monitoring_subscription: {get_param: MonitoringSubscriptionSwiftStorage}
65       config_settings:
66         map_merge:
67           - get_attr: [SwiftBase, role_data, config_settings]
68           - swift::storage::all::mount_check: {get_param: SwiftMountCheck}
69             tripleo::profile::base::swift::storage::enable_swift_storage: {get_param: ControllerEnableSwiftStorage}
70             tripleo.swift_storage.firewall_rules:
71               '123 swift storage':
72                 dport:
73                   - 873
74                   - 6000
75                   - 6001
76                   - 6002
77             swift::storage::all::incoming_chmod: 'Du=rwx,g=rx,o=rx,Fu=rw,g=r,o=r'
78             swift::storage::all::outgoing_chmod: 'Du=rwx,g=rx,o=rx,Fu=rw,g=r,o=r'
79             swift::storage::all::object_pipeline:
80               - healthcheck
81               - recon
82               - object-server
83             swift::storage::all::container_pipeline:
84               - healthcheck
85               - container-server
86             swift::storage::all::account_pipeline:
87               - healthcheck
88               - account-server
89             swift::storage::disks::args: {get_param: SwiftRawDisks}
90             swift::storage::all::storage_local_net_ip: {get_param: [ServiceNetMap, SwiftStorageNetwork]}
91       step_config: |
92         include ::tripleo::profile::base::swift::storage