Chef Cookbook - OpenStack Block Storage
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

default.rb 24KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451
  1. # encoding: UTF-8
  2. #
  3. # Cookbook Name:: openstack-block-storage
  4. # Attributes:: default
  5. #
  6. # Copyright 2012, DreamHost
  7. # Copyright 2012, Rackspace US, Inc.
  8. # Copyright 2012-2013, AT&T Services, Inc.
  9. # Copyright 2013, Opscode, Inc.
  10. # Copyright 2013-2014, IBM, Corp
  11. #
  12. # Licensed under the Apache License, Version 2.0 (the "License");
  13. # you may not use this file except in compliance with the License.
  14. # You may obtain a copy of the License at
  15. #
  16. # http://www.apache.org/licenses/LICENSE-2.0
  17. #
  18. # Unless required by applicable law or agreed to in writing, software
  19. # distributed under the License is distributed on an "AS IS" BASIS,
  20. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  21. # See the License for the specific language governing permissions and
  22. # limitations under the License.
  23. #
  24. ########################################################################
  25. # Toggles - These can be overridden at the environment level
  26. default['developer_mode'] = false # we want secure passwords by default
  27. ########################################################################
  28. # Set to some text value if you want templated config files
  29. # to contain a custom banner at the top of the written file
  30. default['openstack']['block-storage']['custom_template_banner'] = '
  31. # This file autogenerated by Chef
  32. # Do not edit, changes will be overwritten
  33. '
  34. default['openstack']['block-storage']['verbose'] = 'False'
  35. default['openstack']['block-storage']['debug'] = 'False'
  36. # Name of this node. This can be an opaque identifier. It is
  37. # not necessarily a hostname, FQDN, or IP address. (StrOpt)
  38. default['openstack']['block-storage']['host'] = nil
  39. # Specify policy.json remote file to import
  40. default['openstack']['block-storage']['policyfile_url'] = nil
  41. # Default notification_driver and control exchange
  42. default['openstack']['block-storage']['notification_driver'] = 'cinder.openstack.common.notifier.rpc_notifier'
  43. default['openstack']['block-storage']['control_exchange'] = 'cinder'
  44. # Availability zone/region for the OpenStack Block-Storage service
  45. default['openstack']['block-storage']['region'] = node['openstack']['region']
  46. default['openstack']['block-storage']['scheduler_role'] = 'os-block-storage-scheduler'
  47. # Number of workers for OpenStack Volume API service. The
  48. # default is equal to the number of CPUs available. (integer
  49. # value)
  50. default['openstack']['block-storage']['osapi_volume_workers'] = [8, node['cpu']['total'].to_i].min
  51. # Template strings to be used to generate resource names
  52. default['openstack']['block-storage']['volume_name_template'] = 'volume-%s'
  53. default['openstack']['block-storage']['snapshot_name_template'] = 'snapshot-%s'
  54. # The name of the Chef role that knows about the message queue server
  55. # that Cinder uses
  56. default['openstack']['block-storage']['rabbit_server_chef_role'] = 'os-ops-messaging'
  57. # This is the name of the Chef role that will install the Keystone Service API
  58. default['openstack']['block-storage']['keystone_service_chef_role'] = 'keystone'
  59. # Whether to enable cinder-backup service or not
  60. default['openstack']['block-storage']['backup']['enabled'] = false
  61. # Keystone PKI signing directory
  62. default['openstack']['block-storage']['api']['auth']['cache_dir'] = '/var/cache/cinder/api'
  63. default['openstack']['block-storage']['api']['auth']['version'] = node['openstack']['api']['auth']['version']
  64. # A list of memcached server(s) to use for caching
  65. default['openstack']['block-storage']['api']['auth']['memcached_servers'] = nil
  66. # Whether token data should be authenticated or authenticated and encrypted. Acceptable values are MAC or ENCRYPT
  67. default['openstack']['block-storage']['api']['auth']['memcache_security_strategy'] = nil
  68. # This string is used for key derivation
  69. default['openstack']['block-storage']['api']['auth']['memcache_secret_key'] = nil
  70. # Hash algorithms to use for hashing PKI tokens
  71. default['openstack']['block-storage']['api']['auth']['hash_algorithms'] = 'md5'
  72. # A PEM encoded Certificate Authority to use when verifying HTTPs connections
  73. default['openstack']['block-storage']['api']['auth']['cafile'] = nil
  74. # Verify HTTPS connections
  75. default['openstack']['block-storage']['api']['auth']['insecure'] = false
  76. # If True, this indicates that glance-api allows the client to perform
  77. # insecure SSL(https) requests; this should be the same as the setting
  78. # in the glance-api service.
  79. default['openstack']['block-storage']['image']['glance_api_insecure'] = false
  80. # Location of ca certificates file to use for glance client requests
  81. default['openstack']['block-storage']['image']['glance_ca_certificates_file'] = nil
  82. # Which version of the glance API cinder should use when talking to glance.
  83. default['openstack']['block-storage']['image']['glance_api_version'] = 1
  84. # Maximum allocatable gigabytes
  85. # Should equal total backend storage, default is 10TB
  86. default['openstack']['block-storage']['max_gigabytes'] = '10000'
  87. # Storage availability zone
  88. # Default is nova
  89. default['openstack']['block-storage']['storage_availability_zone'] = 'nova'
  90. # Quota definitions
  91. default['openstack']['block-storage']['quota_volumes'] = '10'
  92. default['openstack']['block-storage']['quota_gigabytes'] = '1000'
  93. default['openstack']['block-storage']['quota_driver'] = 'cinder.quota.DbQuotaDriver'
  94. default['openstack']['block-storage']['quota_snapshots'] = 10
  95. default['openstack']['block-storage']['no_snapshot_gb_quota'] = false
  96. default['openstack']['block-storage']['use_default_quota_class'] = true
  97. # Common rpc definitions
  98. default['openstack']['block-storage']['rpc_thread_pool_size'] = 64
  99. default['openstack']['block-storage']['rpc_conn_pool_size'] = 30
  100. default['openstack']['block-storage']['rpc_response_timeout'] = 60
  101. case node['openstack']['mq']['service_type']
  102. when 'rabbitmq'
  103. default['openstack']['block_storage']['rpc_backend'] = 'cinder.openstack.common.rpc.impl_kombu'
  104. when 'qpid'
  105. default['openstack']['block_storage']['rpc_backend'] = 'cinder.openstack.common.rpc.impl_qpid'
  106. end
  107. default['openstack']['block-storage']['service_tenant_name'] = 'service'
  108. default['openstack']['block-storage']['service_user'] = 'cinder'
  109. default['openstack']['block-storage']['service_role'] = 'service'
  110. default['openstack']['block-storage']['service_name'] = 'cinderv2'
  111. default['openstack']['block-storage']['service_type'] = 'volumev2'
  112. # SAN Support
  113. default['openstack']['block-storage']['san']['san_ip'] = '127.0.0.1'
  114. default['openstack']['block-storage']['san']['san_login'] = 'admin'
  115. default['openstack']['block-storage']['san']['san_private_key'] = '/v7000_rsa'
  116. # The location(URL) of the san_private_key. This value may also specify HTTP(http://), FTP("ftp://"), or local(file://), if the san private key is in the local, you should also specify this attribute using(file://)
  117. default['openstack']['block-storage']['san']['san_private_key_url'] = nil
  118. # NFS support
  119. default['openstack']['block-storage']['nfs']['nas_ip'] = '127.0.0.1'
  120. default['openstack']['block-storage']['nfs']['nas_login'] = 'admin'
  121. default['openstack']['block-storage']['nfs']['nas_ssh_port'] = '22'
  122. # Netapp support
  123. default['openstack']['block-storage']['netapp']['protocol'] = 'http'
  124. default['openstack']['block-storage']['netapp']['dfm_hostname'] = nil
  125. default['openstack']['block-storage']['netapp']['dfm_login'] = nil
  126. default['openstack']['block-storage']['netapp']['dfm_password'] = nil
  127. default['openstack']['block-storage']['netapp']['dfm_port'] = '8088'
  128. default['openstack']['block-storage']['netapp']['dfm_web_port'] = '8080'
  129. default['openstack']['block-storage']['netapp']['storage_service'] = 'storage_service'
  130. # Netapp direct NFS
  131. default['openstack']['block-storage']['netapp']['netapp_server_port'] = '80'
  132. default['openstack']['block-storage']['netapp']['netapp_server_hostname'] = nil
  133. default['openstack']['block-storage']['netapp']['netapp_server_password'] = nil
  134. default['openstack']['block-storage']['netapp']['netapp_server_login'] = nil
  135. default['openstack']['block-storage']['netapp']['export'] = nil
  136. default['openstack']['block-storage']['nfs']['shares_config'] = '/etc/cinder/shares.conf'
  137. default['openstack']['block-storage']['nfs']['mount_point_base'] = '/mnt/cinder-volumes'
  138. default['openstack']['block-storage']['nfs']['nfs_disk_util'] = 'df'
  139. default['openstack']['block-storage']['nfs']['nfs_sparsed_volumes'] = 'true'
  140. # Storwize/SVC Support
  141. default['openstack']['block-storage']['storwize']['san_ip'] = node['openstack']['block-storage']['san']['san_ip']
  142. default['openstack']['block-storage']['storwize']['san_login'] = node['openstack']['block-storage']['san']['san_login']
  143. # If the key is set to nil, the san_login and san_password will be used.
  144. default['openstack']['block-storage']['storwize']['san_private_key'] = node['openstack']['block-storage']['san']['san_private_key']
  145. default['openstack']['block-storage']['storwize']['san_private_key_url'] = node['openstack']['block-storage']['san']['san_private_key_url']
  146. default['openstack']['block-storage']['storwize']['storwize_svc_volpool_name'] = 'volpool'
  147. default['openstack']['block-storage']['storwize']['storwize_svc_vol_rsize'] = 2
  148. default['openstack']['block-storage']['storwize']['storwize_svc_vol_warning'] = 0
  149. default['openstack']['block-storage']['storwize']['storwize_svc_vol_autoexpand'] = true
  150. default['openstack']['block-storage']['storwize']['storwize_svc_vol_grainsize'] = 256
  151. default['openstack']['block-storage']['storwize']['storwize_svc_vol_compression'] = false
  152. default['openstack']['block-storage']['storwize']['storwize_svc_vol_easytier'] = true
  153. default['openstack']['block-storage']['storwize']['storwize_svc_flashcopy_timeout'] = 120
  154. default['openstack']['block-storage']['storwize']['storwize_svc_vol_iogrp'] = 0
  155. default['openstack']['block-storage']['storwize']['storwize_svc_connection_protocol'] = 'iSCSI'
  156. default['openstack']['block-storage']['storwize']['storwize_svc_iscsi_chap_enabled'] = true
  157. default['openstack']['block-storage']['storwize']['storwize_svc_multipath_enabled'] = false
  158. default['openstack']['block-storage']['storwize']['storwize_svc_multihostmap_enabled'] = true
  159. default['openstack']['block-storage']['storwize']['storwize_svc_allow_tenant_qos'] = false
  160. default['openstack']['block-storage']['storwize']['storwize_svc_stretched_cluster_partner'] = nil
  161. # SolidFire Support
  162. default['openstack']['block-storage']['solidfire']['san_ip'] = node['openstack']['block-storage']['san']['san_ip']
  163. default['openstack']['block-storage']['solidfire']['san_login'] = node['openstack']['block-storage']['san']['san_login']
  164. default['openstack']['block-storage']['solidfire']['sf_emulate'] = 'False'
  165. default['openstack']['block-storage']['solidfire']['iscsi_ip_prefix'] = nil
  166. # FlashSystem Support
  167. default['openstack']['block-storage']['flashsystem']['san_ip'] = node['openstack']['block-storage']['san']['san_ip']
  168. default['openstack']['block-storage']['flashsystem']['san_login'] = node['openstack']['block-storage']['san']['san_login']
  169. # The connection protocol for FlashSystem data path (FC only, will introduce iSCSI in Liberty)
  170. default['openstack']['block-storage']['flashsystem']['flashsystem_connection_protocol'] = 'FC'
  171. # The multipath enablement flag (FC only, iSCSI multipath will be controlled by Nova)
  172. default['openstack']['block-storage']['flashsystem']['flashsystem_multipath_enabled'] = false
  173. # Enable vdisk to multi-host mapping
  174. default['openstack']['block-storage']['flashsystem']['flashsystem_multihostmap_enabled'] = true
  175. # EMC VMAX/VNX tSupport
  176. # The EmcUserName user's password is stored in an encrypted databag and
  177. # accessed with openstack-common cookbook library's "get_password" routeine. You
  178. # are expected to create the user and pass in a wrapper cookbook.
  179. default['openstack']['block-storage']['emc']['iscsi_target_prefix'] = 'iqn.1992-04.com.emc'
  180. default['openstack']['block-storage']['emc']['cinder_emc_config_file'] = '/etc/cinder/cinder_emc_config.xml'
  181. default['openstack']['block-storage']['emc']['StorageType'] = 0
  182. default['openstack']['block-storage']['emc']['EcomServerIP'] = '127.0.0.1'
  183. default['openstack']['block-storage']['emc']['EcomServerPort'] = '5988'
  184. default['openstack']['block-storage']['emc']['EcomUserName'] = 'admin'
  185. default['openstack']['block-storage']['emc']['MaskingView'] = nil
  186. # VMware Support
  187. default['openstack']['block-storage']['vmware']['secret_name'] = 'openstack_vmware_secret_name'
  188. default['openstack']['block-storage']['vmware']['vmware_host_ip'] = ''
  189. default['openstack']['block-storage']['vmware']['vmware_host_username'] = ''
  190. default['openstack']['block-storage']['vmware']['vmware_wsdl_location'] = nil
  191. default['openstack']['block-storage']['vmware']['vmware_api_retry_count'] = 10
  192. default['openstack']['block-storage']['vmware']['vmware_task_poll_interval'] = 5
  193. default['openstack']['block-storage']['vmware']['vmware_volume_folder'] = 'cinder-volumes'
  194. default['openstack']['block-storage']['vmware']['vmware_image_transfer_timeout_secs'] = 7200
  195. default['openstack']['block-storage']['vmware']['vmware_max_objects_retrieval'] = 100
  196. # IBM GPFS Support
  197. default['openstack']['block-storage']['gpfs']['gpfs_mount_point_base'] = node['openstack']['block-storage']['gpfs']['gpfs_mount_point_base']
  198. default['openstack']['block-storage']['gpfs']['gpfs_images_dir'] = node['openstack']['block-storage']['gpfs']['gpfs_images_dir']
  199. default['openstack']['block-storage']['gpfs']['gpfs_images_share_mode'] = 'copy_on_write'
  200. default['openstack']['block-storage']['gpfs']['gpfs_sparse_volumes'] = true
  201. default['openstack']['block-storage']['gpfs']['gpfs_max_clone_depth'] = 8
  202. default['openstack']['block-storage']['gpfs']['gpfs_storage_pool'] = 'system'
  203. # IBMNAS (SONAS, Storwize V7000 Unified) Support
  204. # The attribute "nas_password" is stored in databag and
  205. # accessed with openstack-common cookbook library's "get_password" routeine.
  206. default['openstack']['block-storage']['ibmnas']['nas_ip'] = node['openstack']['block-storage']['nfs']['nas_ip']
  207. default['openstack']['block-storage']['ibmnas']['nas_login'] = node['openstack']['block-storage']['nfs']['nas_login']
  208. default['openstack']['block-storage']['ibmnas']['nas_ssh_port'] = node['openstack']['block-storage']['nfs']['nas_ssh_port']
  209. default['openstack']['block-storage']['ibmnas']['shares_config'] = '/etc/cinder/nfs_shares.conf'
  210. default['openstack']['block-storage']['ibmnas']['mount_point_base'] = '/mnt/cinder-volumes'
  211. default['openstack']['block-storage']['ibmnas']['nfs_sparsed_volumes'] = 'true'
  212. default['openstack']['block-storage']['ibmnas']['nas_access_ip'] = nil
  213. default['openstack']['block-storage']['ibmnas']['export'] = nil
  214. # Platform type to be used as backend storage, valid values are:
  215. # 'v7ku : for using IBM Storwize V7000 Unified
  216. # 'sonas : for using IBM Scale Out NAS
  217. # 'gpfs-nas : for using NFS based IBM GPFS deployments
  218. default['openstack']['block-storage']['ibmnas']['ibmnas_platform_type'] = 'v7ku'
  219. # logging attribute
  220. default['openstack']['block-storage']['syslog']['use'] = false
  221. default['openstack']['block-storage']['syslog']['facility'] = 'LOG_LOCAL2'
  222. default['openstack']['block-storage']['syslog']['config_facility'] = 'local2'
  223. default['openstack']['block-storage']['api']['ratelimit'] = 'True'
  224. default['openstack']['block-storage']['cron']['minute'] = '00'
  225. default['openstack']['block-storage']['cron']['audit_logfile'] = '/var/log/cinder/audit.log'
  226. default['openstack']['block-storage']['volume']['state_path'] = '/var/lib/cinder'
  227. default['openstack']['block-storage']['volume']['volumes_dir'] = '/var/lib/cinder/volumes'
  228. default['openstack']['block-storage']['volume']['driver'] = 'cinder.volume.drivers.lvm.LVMVolumeDriver'
  229. default['openstack']['block-storage']['volume']['volume_group'] = 'cinder-volumes'
  230. default['openstack']['block-storage']['volume']['volume_group_size'] = 40
  231. default['openstack']['block-storage']['volume']['volume_clear_size'] = 0
  232. default['openstack']['block-storage']['volume']['volume_clear'] = 'zero'
  233. default['openstack']['block-storage']['volume']['create_volume_group'] = false
  234. # Type of volume group to create:
  235. # - 'file' for basic 40g file for testing
  236. # - 'block_devices' for using block devices, specified in block_devices attribute
  237. default['openstack']['block-storage']['volume']['create_volume_group_type'] = 'file'
  238. # String of local disk device paths
  239. # Examples: '/dev/sdx /dev/sdx1' or '/dev/sd[k-m]1'
  240. default['openstack']['block-storage']['volume']['block_devices'] = nil
  241. default['openstack']['block-storage']['volume']['iscsi_helper'] = 'tgtadm'
  242. default['openstack']['block-storage']['volume']['iscsi_ip_address'] = node['ipaddress']
  243. default['openstack']['block-storage']['volume']['iscsi_port'] = '3260'
  244. # Ceph/RADOS options
  245. default['openstack']['block-storage']['rbd']['cinder']['pool'] = 'volumes'
  246. default['openstack']['block-storage']['rbd']['glance']['pool'] = 'images'
  247. default['openstack']['block-storage']['rbd']['nova']['pool'] = 'instances'
  248. default['openstack']['block-storage']['rbd']['user'] = 'cinder'
  249. default['openstack']['block-storage']['rbd']['secret_uuid'] = '00000000-0000-0000-0000-000000000000'
  250. default['openstack']['block-storage']['rbd']['flatten_volume'] = false
  251. default['openstack']['block-storage']['rbd']['max_clone_depth'] = 5
  252. default['openstack']['block-storage']['rbd']['chunk_size'] = 4
  253. default['openstack']['block-storage']['rbd']['rados_timeout'] = '-1'
  254. default['openstack']['block-storage']['rbd']['conf_dir'] = '/etc/ceph/ceph.conf'
  255. # Multiple backend support
  256. # Allow multiple backends configured in cinder.conf
  257. # For example: {
  258. # 'lvm1' => {
  259. # 'volume_driver': 'cinder.volume.drivers.lvm.LVMISCSIDriver',
  260. # 'volume_backend_name': 'lvm-backend-1'
  261. # }
  262. # 'lvm2' => {
  263. # 'volume_driver': 'cinder.volume.drivers.lvm.LVMISCSIDriver',
  264. # 'volume_backend_name': 'lvm-backend-2'
  265. # }
  266. # }
  267. default['openstack']['block-storage']['volume']['multi_backend'] = nil
  268. # Default volume-type for volumes to be created as when client does not request
  269. # a specific type. Volume types are configured from cinder-client and
  270. # will reference the backend name.
  271. default['openstack']['block-storage']['volume']['default_volume_type'] = nil
  272. # Misc option support
  273. # Allow additional strings to be added to cinder.conf
  274. # For example: ['# Comment', 'key=value']
  275. default['openstack']['block-storage']['misc_cinder'] = []
  276. # Default lock_path
  277. # The lock_path normally uses /var/lock/cinder, but it's does not work
  278. # in cases like systemd, so setting lock_path to $state_path/lock like
  279. # in nova and neutron.
  280. default['openstack']['block-storage']['lock_path'] =
  281. "#{node['openstack']['block-storage']['volume']['state_path']}/lock"
  282. # Whether to enable cinder v1 api or not
  283. default['openstack']['block-storage']['enable_v1_api'] = 'False'
  284. # Whether to enable cinder v2 api or not
  285. default['openstack']['block-storage']['enable_v2_api'] = 'True'
  286. # The full class name of the key manager api class
  287. default['openstack']['block-storage']['keymgr']['api_class'] = 'cinder.keymgr.conf_key_mgr.ConfKeyManager'
  288. # Fixed key returned by key manager, specified in hex
  289. default['openstack']['block-storage']['keymgr']['fixed_key'] = nil
  290. case platform_family
  291. when 'fedora', 'rhel' # :pragma-foodcritic: ~FC024 - won't fix this
  292. # operating system user and group names
  293. default['openstack']['block-storage']['user'] = 'cinder'
  294. default['openstack']['block-storage']['group'] = 'cinder'
  295. default['openstack']['block-storage']['volume']['iscsi_helper'] = 'lioadm'
  296. default['openstack']['block-storage']['platform'] = {
  297. 'cinder_common_packages' => ['openstack-cinder'],
  298. 'cinder_api_packages' => ['python-cinderclient'],
  299. 'cinder_api_service' => 'openstack-cinder-api',
  300. 'cinder_client_packages' => ['python-cinderclient'],
  301. 'cinder_volume_packages' => ['qemu-img'],
  302. 'cinder_volume_service' => 'openstack-cinder-volume',
  303. 'cinder_scheduler_packages' => [],
  304. 'cinder_scheduler_service' => 'openstack-cinder-scheduler',
  305. 'cinder_backup_packages' => [],
  306. 'cinder_backup_service' => 'openstack-cinder-backup',
  307. 'cinder_iscsitarget_packages' => ['targetcli'],
  308. 'cinder_iscsitarget_service' => 'target',
  309. 'cinder_ceph_packages' => ['python-ceph', 'ceph-common'],
  310. 'cinder_nfs_packages' => ['nfs-utils', 'nfs-utils-lib'],
  311. 'cinder_emc_packages' => ['pywbem'],
  312. 'cinder_svc_packages' => ['sysfsutils'],
  313. 'cinder_lvm_packages' => ['lvm2'],
  314. 'cinder_flashsystem_packages' => ['sysfsutils'],
  315. 'package_overrides' => ''
  316. }
  317. when 'suse'
  318. # operating system user and group names
  319. default['openstack']['block-storage']['user'] = 'openstack-cinder'
  320. default['openstack']['block-storage']['group'] = 'openstack-cinder'
  321. default['openstack']['block-storage']['platform'] = {
  322. 'cinder_common_packages' => ['openstack-cinder'],
  323. 'cinder_api_packages' => ['openstack-cinder-api'],
  324. 'cinder_api_service' => 'openstack-cinder-api',
  325. 'cinder_client_packages' => ['python-cinderclient'],
  326. 'cinder_scheduler_packages' => ['openstack-cinder-scheduler'],
  327. 'cinder_scheduler_service' => 'openstack-cinder-scheduler',
  328. 'cinder_backup_packages' => ['openstack-cinder-backup'],
  329. 'cinder_backup_service' => 'openstack-cinder-backup',
  330. 'cinder_volume_packages' => ['openstack-cinder-volume', 'qemu-img'],
  331. 'cinder_volume_service' => 'openstack-cinder-volume',
  332. 'cinder_ceph_packages' => ['python-ceph', 'ceph-common'],
  333. 'cinder_iscsitarget_packages' => ['tgt'],
  334. 'cinder_iscsitarget_service' => 'tgtd',
  335. 'cinder_nfs_packages' => ['nfs-utils'],
  336. 'cinder_emc_packages' => ['python-pywbem'],
  337. 'cinder_svc_packages' => ['sysfsutils'],
  338. 'cinder_lvm_packages' => ['lvm2'],
  339. 'cinder_flashsystem_packages' => ['sysfsutils']
  340. }
  341. when 'debian'
  342. # operating system user and group names
  343. default['openstack']['block-storage']['user'] = 'cinder'
  344. default['openstack']['block-storage']['group'] = 'cinder'
  345. default['openstack']['block-storage']['platform'] = {
  346. 'cinder_common_packages' => ['cinder-common'],
  347. 'cinder_api_packages' => ['cinder-api', 'python-cinderclient'],
  348. 'cinder_api_service' => 'cinder-api',
  349. 'cinder_client_packages' => ['python-cinderclient'],
  350. 'cinder_volume_packages' => ['cinder-volume', 'qemu-utils'],
  351. 'cinder_volume_service' => 'cinder-volume',
  352. 'cinder_scheduler_packages' => ['cinder-scheduler'],
  353. 'cinder_scheduler_service' => 'cinder-scheduler',
  354. 'cinder_backup_packages' => ['cinder-backup'],
  355. 'cinder_backup_service' => 'cinder-backup',
  356. 'cinder_ceph_packages' => ['python-ceph', 'ceph-common'],
  357. 'cinder_iscsitarget_packages' => ['tgt'],
  358. 'cinder_iscsitarget_service' => 'tgt',
  359. 'cinder_nfs_packages' => ['nfs-common'],
  360. 'cinder_emc_packages' => ['python-pywbem'],
  361. 'cinder_svc_packages' => ['sysfsutils'],
  362. 'cinder_lvm_packages' => ['lvm2'],
  363. 'cinder_flashsystem_packages' => ['sysfsutils'],
  364. 'package_overrides' => "-o Dpkg::Options::='--force-confold' -o Dpkg::Options::='--force-confdef'"
  365. }
  366. end
  367. # Attributes for cinder-backup service
  368. default['openstack']['block-storage']['backup']['driver'] = 'cinder.backup.drivers.swift'
  369. # Swift support
  370. # The URL of Swift endpoint (string value)
  371. default['openstack']['block-storage']['backup']['swift']['url'] = nil
  372. # Info to match when looking for swift in the service catalog
  373. default['openstack']['block-storage']['backup']['swift']['catalog_info'] = 'object-store:swift:publicURL'
  374. # Swift authentication mechanism (string value)
  375. default['openstack']['block-storage']['backup']['swift']['auth'] = 'per_user'
  376. # Swift authentication version
  377. default['openstack']['block-storage']['backup']['swift']['auth_version'] = 1
  378. # Swift user name
  379. default['openstack']['block-storage']['backup']['swift']['user'] = nil
  380. # Swift tenant/account name. Required when connecting
  381. default['openstack']['block-storage']['backup']['swift']['tenant'] = nil
  382. # Swift key for authentication (string value)
  383. default['openstack']['block-storage']['backup']['swift']['key'] = nil
  384. # The default Swift container to use
  385. default['openstack']['block-storage']['backup']['swift']['container'] = 'volumebackups'
  386. # The size in bytes of Swift backup objects
  387. default['openstack']['block-storage']['backup']['swift']['object_size'] = 52428800
  388. # The size in bytes that changes are tracked for incremental backups
  389. default['openstack']['block-storage']['backup']['swift']['block_size'] = 32768
  390. # The number of retries to make for Swift operations
  391. default['openstack']['block-storage']['backup']['swift']['retry_attempts'] = 3
  392. # The backoff time in seconds between Swift retries
  393. default['openstack']['block-storage']['backup']['swift']['retry_backoff'] = 2
  394. # Enable or Disable the timer to send the periodic progress notifications to Ceilometer when backing up the volume to the Swift backend storage.
  395. default['openstack']['block-storage']['backup']['swift']['enable_progress_timer'] = 'True'