Merge "Fix rpms being installed via DeployArtifactURLs"
[apex-tripleo-heat-templates.git] / puppet / services / cinder-volume.yaml
1 heat_template_version: pike
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   CinderISCSIProtocol:
24     default: iscsi
25     description: Whether to use TCP ('iscsi') or iSER RDMA ('iser') for iSCSI
26     type: string
27   CinderLVMLoopDeviceSize:
28     default: 10280
29     description: The size of the loopback file used by the cinder LVM driver.
30     type: number
31   CinderNfsMountOptions:
32     default: ''
33     description: >
34       Mount options for NFS mounts used by Cinder NFS backend. Effective
35       when CinderEnableNfsBackend is true.
36     type: string
37   CinderNfsServers:
38     default: ''
39     description: >
40       NFS servers used by Cinder NFS backend. Effective when
41       CinderEnableNfsBackend is true.
42     type: comma_delimited_list
43   CinderNasSecureFileOperations:
44     default: false
45     description: >
46       Controls whether security enhanced NFS file operations are enabled.
47       Valid values are 'auto', 'true' or 'false'. Effective when
48       CinderEnableNfsBackend is true.
49     type: string
50   CinderNasSecureFilePermissions:
51     default: false
52     description: >
53       Controls whether security enhanced NFS file permissions are enabled.
54       Valid values are 'auto', 'true' or 'false'. Effective when
55       CinderEnableNfsBackend is true.
56     type: string
57   CinderRbdPoolName:
58     default: volumes
59     type: string
60   CephClientUserName:
61     default: openstack
62     type: string
63   ServiceNetMap:
64     default: {}
65     description: Mapping of service_name -> network name. Typically set
66                  via parameter_defaults in the resource registry.  This
67                  mapping overrides those in ServiceNetMapDefaults.
68     type: json
69   DefaultPasswords:
70     default: {}
71     type: json
72   RoleName:
73     default: ''
74     description: Role name on which the service is applied
75     type: string
76   RoleParameters:
77     default: {}
78     description: Parameters specific to the role
79     type: json
80   EndpointMap:
81     default: {}
82     description: Mapping of service endpoint -> protocol. Typically set
83                  via parameter_defaults in the resource registry.
84     type: json
85   MonitoringSubscriptionCinderVolume:
86     default: 'overcloud-cinder-volume'
87     type: string
88   CinderVolumeLoggingSource:
89     type: json
90     default:
91       tag: openstack.cinder.volume
92       path: /var/log/cinder/cinder-volume.log
93
94 resources:
95
96   CinderBase:
97     type: ./cinder-base.yaml
98     properties:
99       ServiceNetMap: {get_param: ServiceNetMap}
100       DefaultPasswords: {get_param: DefaultPasswords}
101       EndpointMap: {get_param: EndpointMap}
102       RoleName: {get_param: RoleName}
103       RoleParameters: {get_param: RoleParameters}
104
105 outputs:
106   role_data:
107     description: Role data for the Cinder Volume role.
108     value:
109       service_name: cinder_volume
110       monitoring_subscription: {get_param: MonitoringSubscriptionCinderVolume}
111       logging_source: {get_param: CinderVolumeLoggingSource}
112       logging_groups:
113         - cinder
114       config_settings:
115         map_merge:
116           - get_attr: [CinderBase, role_data, config_settings]
117           - tripleo::profile::base::cinder::volume::cinder_enable_iscsi_backend: {get_param: CinderEnableIscsiBackend}
118             tripleo::profile::base::cinder::volume::cinder_enable_nfs_backend: {get_param: CinderEnableNfsBackend}
119             tripleo::profile::base::cinder::volume::cinder_enable_rbd_backend: {get_param: CinderEnableRbdBackend}
120             tripleo::profile::base::cinder::volume::nfs::cinder_nfs_mount_options: {get_param: CinderNfsMountOptions}
121             tripleo::profile::base::cinder::volume::nfs::cinder_nfs_servers: {get_param: CinderNfsServers}
122             tripleo::profile::base::cinder::volume::nfs::cinder_nas_secure_file_operations: {get_param: CinderNasSecureFileOperations}
123             tripleo::profile::base::cinder::volume::nfs::cinder_nas_secure_file_permissions: {get_param: CinderNasSecureFilePermissions}
124             tripleo::profile::base::cinder::volume::iscsi::cinder_lvm_loop_device_size: {get_param: CinderLVMLoopDeviceSize}
125             tripleo::profile::base::cinder::volume::iscsi::cinder_iscsi_helper: {get_param: CinderISCSIHelper}
126             tripleo::profile::base::cinder::volume::iscsi::cinder_iscsi_protocol: {get_param: CinderISCSIProtocol}
127             tripleo::profile::base::cinder::volume::rbd::cinder_rbd_pool_name: {get_param: CinderRbdPoolName}
128             tripleo::profile::base::cinder::volume::rbd::cinder_rbd_user_name: {get_param: CephClientUserName}
129             tripleo.cinder_volume.firewall_rules:
130               '120 iscsi initiator':
131                 dport: 3260
132             # NOTE: bind IP is found in Heat replacing the network name with the local node IP
133             # for the given network; replacement examples (eg. for internal_api):
134             # internal_api -> IP
135             # internal_api_uri -> [IP]
136             # internal_api_subnet - > IP/CIDR
137             tripleo::profile::base::cinder::volume::iscsi::cinder_iscsi_address: {get_param: [ServiceNetMap, CinderIscsiNetwork]}
138       step_config: |
139         include ::tripleo::profile::base::cinder::volume
140       upgrade_tasks:
141         - name: Check if cinder_volume is deployed
142           command: systemctl is-enabled openstack-cinder-volume
143           tags: common
144           ignore_errors: True
145           register: cinder_volume_enabled
146         - name: "PreUpgrade step0,validation: Check service openstack-cinder-volume is running"
147           shell: /usr/bin/systemctl show 'openstack-cinder-volume' --property ActiveState | grep '\bactive\b'
148           when: cinder_volume_enabled.rc == 0
149           tags: step0,validation
150         - name: Stop cinder_volume service
151           tags: step1
152           when: cinder_volume_enabled.rc == 0
153           service: name=openstack-cinder-volume state=stopped