Merge "Update CephPools format in the docker templates to fit ceph-ansible" into...
[apex-tripleo-heat-templates.git] / docker / services / ceph-ansible / ceph-rgw.yaml
1 heat_template_version: pike
2
3 description: >
4   Ceph RadosGW service.
5
6 parameters:
7   ServiceData:
8     default: {}
9     description: Dictionary packing service data
10     type: json
11   ServiceNetMap:
12     default: {}
13     description: Mapping of service_name -> network name. Typically set
14                  via parameter_defaults in the resource registry.  This
15                  mapping overrides those in ServiceNetMapDefaults.
16     type: json
17   DefaultPasswords:
18     default: {}
19     type: json
20   RoleName:
21     default: ''
22     description: Role name on which the service is applied
23     type: string
24   RoleParameters:
25     default: {}
26     description: Parameters specific to the role
27     type: json
28   EndpointMap:
29     default: {}
30     description: Mapping of service endpoint -> protocol. Typically set
31                  via parameter_defaults in the resource registry.
32     type: json
33   SwiftPassword:
34     description: The password for the swift service account
35     type: string
36     hidden: true
37   KeystoneRegion:
38     type: string
39     default: 'regionOne'
40     description: Keystone region for endpoint
41
42 resources:
43   CephBase:
44     type: ./ceph-base.yaml
45     properties:
46       ServiceData: {get_param: ServiceData}
47       ServiceNetMap: {get_param: ServiceNetMap}
48       DefaultPasswords: {get_param: DefaultPasswords}
49       EndpointMap: {get_param: EndpointMap}
50       RoleName: {get_param: RoleName}
51       RoleParameters: {get_param: RoleParameters}
52
53 outputs:
54   role_data:
55     description: Role data for the Ceph RadosGW service.
56     value:
57       service_name: ceph_rgw
58       upgrade_tasks: []
59       step_config: ''
60       puppet_config:
61         config_image: ''
62         config_volume: ''
63         step_config: ''
64       docker_config: {}
65       workflow_tasks: {get_attr: [CephBase, role_data, workflow_tasks]}
66       config_settings:
67         map_merge:
68         - tripleo.ceph_rgw.firewall_rules:
69             '122 ceph rgw':
70               dport: {get_param: [EndpointMap, CephRgwInternal, port]}
71         - ceph_rgw_ansible_vars:
72             map_merge:
73             - {get_attr: [CephBase, role_data, config_settings, ceph_common_ansible_vars]}
74             - radosgw_keystone: true
75               radosgw_keystone_ssl: false
76               radosgw_address_block: {get_param: [ServiceData, net_cidr_map, {get_param: [ServiceNetMap, CephRgwNetwork]}]}
77               radosgw_civetweb_port: {get_param: [EndpointMap, CephRgwInternal, port]}
78       service_config_settings:
79         keystone:
80           ceph::rgw::keystone::auth::public_url: {get_param: [EndpointMap, CephRgwPublic, uri]}
81           ceph::rgw::keystone::auth::internal_url: {get_param: [EndpointMap, CephRgwInternal, uri]}
82           ceph::rgw::keystone::auth::admin_url: {get_param: [EndpointMap, CephRgwAdmin, uri]}
83           ceph::rgw::keystone::auth::region: {get_param: KeystoneRegion}
84           ceph::rgw::keystone::auth::roles: [ 'admin', 'Member', '_member_' ]
85           ceph::rgw::keystone::auth::tenant: service
86           ceph::rgw::keystone::auth::user: swift
87           ceph::rgw::keystone::auth::password: {get_param: SwiftPassword}