Explode Loadbalancer role into HAproxy + keepalived
[apex-tripleo-heat-templates.git] / puppet / services / cinder-volume.yaml
1 heat_template_version: 2016-04-08
2
3 description: >
4   OpenStack Cinder Volume service configured with Puppet
5
6 parameters:
7   CinderEnableNfsBackend:
8     default: false
9     description: Whether to enable or not the NFS backend for Cinder
10     type: boolean
11   CinderEnableIscsiBackend:
12     default: true
13     description: Whether to enable or not the Iscsi backend for Cinder
14     type: boolean
15   CinderEnableRbdBackend:
16     default: false
17     description: Whether to enable or not the Rbd backend for Cinder
18     type: boolean
19   CinderISCSIHelper:
20     default: lioadm
21     description: The iSCSI helper to use with cinder.
22     type: string
23   CinderLVMLoopDeviceSize:
24     default: 10280
25     description: The size of the loopback file used by the cinder LVM driver.
26     type: number
27   CinderNfsMountOptions:
28     default: ''
29     description: >
30       Mount options for NFS mounts used by Cinder NFS backend. Effective
31       when CinderEnableNfsBackend is true.
32     type: string
33   CinderNfsServers:
34     default: ''
35     description: >
36       NFS servers used by Cinder NFS backend. Effective when
37       CinderEnableNfsBackend is true.
38     type: comma_delimited_list
39   EndpointMap:
40     default: {}
41     description: Mapping of service endpoint -> protocol. Typically set
42                  via parameter_defaults in the resource registry.
43     type: json
44
45 resources:
46
47   CinderBase:
48     type: ./cinder-base.yaml
49     properties:
50       EndpointMap: {get_param: EndpointMap}
51
52 outputs:
53   role_data:
54     description: Role data for the Cinder Volume role.
55     value:
56       config_settings:
57         map_merge:
58           - get_attr: [CinderBase, role_data, config_settings]
59           - tripleo::profile::base::cinder::volume::cinder_enable_iscsi_backend: {get_param: CinderEnableIscsiBackend}
60             tripleo::profile::base::cinder::volume::cinder_enable_nfs_backend: {get_param: CinderEnableNfsBackend}
61             tripleo::profile::base::cinder::volume::cinder_enable_rbd_backend: {get_param: CinderEnableRbdBackend}
62             tripleo::profile::base::cinder::volume::nfs::cinder_nfs_mount_options: {get_param: CinderNfsMountOptions}
63             tripleo::profile::base::cinder::volume::nfs::cinder_nfs_servers:
64               str_replace:
65                 template: SERVERS
66                 params:
67                   SERVERS: {get_param: CinderNfsServers}
68             tripleo::profile::base::cinder::volume::iscsi::cinder_lvm_loop_device_size: {get_param: CinderLVMLoopDeviceSize}
69             tripleo::profile::base::cinder::volume::iscsi::cinder_iscsi_helper: {get_param: CinderISCSIHelper}
70       step_config: |
71         include ::tripleo::profile::base::cinder::volume