Merge "Maintain ceph-osd package only on nodes hosting CephOSD service" into stable...
[apex-tripleo-heat-templates.git] / docker / services / ceph-ansible / ceph-mon.yaml
1 heat_template_version: pike
2
3 description: >
4   Ceph Monitor 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   CephMonKey:
34     description: The Ceph monitors key. Can be created with ceph-authtool --gen-print-key.
35     type: string
36     hidden: true
37   CephAdminKey:
38     default: ''
39     description: The Ceph admin client key. Can be created with ceph-authtool --gen-print-key.
40     type: string
41     hidden: true
42   CephValidationRetries:
43     type: number
44     default: 40
45     description: Number of retry attempts for Ceph validation
46   CephValidationDelay:
47     type: number
48     default: 30
49     description: Interval (in seconds) in between validation checks
50
51 resources:
52   CephBase:
53     type: ./ceph-base.yaml
54     properties:
55       ServiceData: {get_param: ServiceData}
56       ServiceNetMap: {get_param: ServiceNetMap}
57       DefaultPasswords: {get_param: DefaultPasswords}
58       EndpointMap: {get_param: EndpointMap}
59       RoleName: {get_param: RoleName}
60       RoleParameters: {get_param: RoleParameters}
61
62 outputs:
63   role_data:
64     description: Role data for the Ceph Monitor service.
65     value:
66       service_name: ceph_mon
67       upgrade_tasks: []
68       step_config: ''
69       puppet_config:
70         config_image: ''
71         config_volume: ''
72         step_config: ''
73       docker_config: {}
74       service_workflow_tasks: {get_attr: [CephBase, role_data, service_workflow_tasks]}
75       config_settings:
76         map_merge:
77         - tripleo.ceph_mon.firewall_rules:
78             '110 ceph_mon':
79               dport:
80               - 6789
81         - ceph_mon_ansible_vars:
82             map_merge:
83             - {get_attr: [CephBase, role_data, config_settings, ceph_common_ansible_vars]}
84             - monitor_secret: {get_param: CephMonKey}
85               admin_secret: {get_param: CephAdminKey}
86               monitor_interface: br_ex