Rubocop testing of the attributes and testing documentation.
The Testing section of the README.md was broken out into the new TESTING.md to explain how the cookbook is being tested. Rubocop is testing the attributes/ files and the .rubocop.yml has documented excluded rules. Change-Id: I0a5f4124a061617779425490d198c00d931c4cc1
This commit is contained in:
		
							
								
								
									
										10
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										10
									
								
								README.md
									
									
									
									
									
								
							@@ -111,15 +111,7 @@ TODO: move rabbit parameters under openstack["block-storage"]["mq"]
 | 
				
			|||||||
Testing
 | 
					Testing
 | 
				
			||||||
=====
 | 
					=====
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This cookbook uses [bundler](http://gembundler.com/), [berkshelf](http://berkshelf.com/), and [strainer](https://github.com/customink/strainer) to isolate dependencies and run tests.
 | 
					Please refer to the [TESTING.md](TESTING.md) for instructions for testing the cookbook.
 | 
				
			||||||
 | 
					 | 
				
			||||||
Tests are defined in Strainerfile.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
To run tests:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    $ bundle install # install gem dependencies
 | 
					 | 
				
			||||||
    $ bundle exec berks install # install cookbook dependencies
 | 
					 | 
				
			||||||
    $ bundle exec strainer test # run tests
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
License and Author
 | 
					License and Author
 | 
				
			||||||
==================
 | 
					==================
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,5 +1,7 @@
 | 
				
			|||||||
# Strainerfile
 | 
					# Strainerfile
 | 
				
			||||||
rubocop: bundle exec rubocop $SANDBOX/$COOKBOOK
 | 
					rubocop: bundle exec rubocop $SANDBOX/$COOKBOOK/attributes/
 | 
				
			||||||
 | 
					# rubocop: bundle exec rubocop $SANDBOX/$COOKBOOK
 | 
				
			||||||
 | 
					# may want to add rubocop check for Berksfile and Gemfile
 | 
				
			||||||
knife test: bundle exec knife cookbook test $COOKBOOK
 | 
					knife test: bundle exec knife cookbook test $COOKBOOK
 | 
				
			||||||
foodcritic: bundle exec foodcritic -f any -t ~FC003 -t ~FC023 $SANDBOX/$COOKBOOK
 | 
					foodcritic: bundle exec foodcritic -f any -t ~FC003 $SANDBOX/$COOKBOOK
 | 
				
			||||||
chefspec: bundle exec rspec $SANDBOX/$COOKBOOK/spec
 | 
					chefspec: bundle exec rspec $SANDBOX/$COOKBOOK/spec
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										33
									
								
								TESTING.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										33
									
								
								TESTING.md
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,33 @@
 | 
				
			|||||||
 | 
					# Testing the Cookbook #
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					This cookbook uses [bundler](http://gembundler.com/), [berkshelf](http://berkshelf.com/), and [strainer](https://github.com/customink/strainer) to isolate dependencies and run tests.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Tests are defined in [Strainerfile](Strainerfile), which in turn calls rubocop, knife, foodcritic and chefspec.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					To run the tests:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    $ bundle install --path=.bundle # install gem dependencies
 | 
				
			||||||
 | 
					    $ bundle exec berks install --path=.cookbooks # install cookbook dependencies
 | 
				
			||||||
 | 
					    $ bundle exec strainer test -s Strainerfile # run tests
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Rubocop  ##
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[Rubocop](https://github.com/bbatsov/rubocop) is a static Ruby code analyzer, based on the community [Ruby style guide](https://github.com/bbatsov/ruby-style-guide). We are attempting to adhere to this where applicable, slowly cleaning up the cookbooks until we can turn on Rubocop for gating the commits.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Attribute Rules ###
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					There is a [.rubocop.yml](attributes/.rubocop.yml) specific to `attributes`, with the rationale for ignored styles within the file.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Knife ##
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[knife cookbook test](http://docs.opscode.com/chef/knife.html#test) is used to check the cookbook's Ruby and ERB files for basic syntax errors.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Foodcritic ##
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[Foodcritic](http://acrmp.github.io/foodcritic/) is a lint tool for Chef cookbooks. We ignore the following rules:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[FC003](http://acrmp.github.io/foodcritic/#FC003) these cookbooks are not intended for Chef Solo.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Chefspec
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[ChefSpec](http://code.sethvargo.com/chefspec/) is a unit testing framework for testing Chef cookbooks. ChefSpec makes it easy to write examples and get fast feedback on cookbook changes without the need for virtual machines or cloud servers.
 | 
				
			||||||
							
								
								
									
										7
									
								
								attributes/.rubocop.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								attributes/.rubocop.yml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,7 @@
 | 
				
			|||||||
 | 
					# embedded attributes make for long lines
 | 
				
			||||||
 | 
					LineLength:
 | 
				
			||||||
 | 
					  Enabled: false
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# %w or %W have not generally been used in attribute files
 | 
				
			||||||
 | 
					WordArray:
 | 
				
			||||||
 | 
					  Enabled: false
 | 
				
			||||||
@@ -1,3 +1,4 @@
 | 
				
			|||||||
 | 
					# encoding: UTF-8
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
# Cookbook Name:: openstack-block-storage
 | 
					# Cookbook Name:: openstack-block-storage
 | 
				
			||||||
# Attributes:: default
 | 
					# Attributes:: default
 | 
				
			||||||
@@ -23,194 +24,194 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
########################################################################
 | 
					########################################################################
 | 
				
			||||||
# Toggles - These can be overridden at the environment level
 | 
					# Toggles - These can be overridden at the environment level
 | 
				
			||||||
default["developer_mode"] = false  # we want secure passwords by default
 | 
					default['developer_mode'] = false  # we want secure passwords by default
 | 
				
			||||||
########################################################################
 | 
					########################################################################
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Set to some text value if you want templated config files
 | 
					# Set to some text value if you want templated config files
 | 
				
			||||||
# to contain a custom banner at the top of the written file
 | 
					# to contain a custom banner at the top of the written file
 | 
				
			||||||
default["openstack"]["block-storage"]["custom_template_banner"] = "
 | 
					default['openstack']['block-storage']['custom_template_banner'] = '
 | 
				
			||||||
# This file autogenerated by Chef
 | 
					# This file autogenerated by Chef
 | 
				
			||||||
# Do not edit, changes will be overwritten
 | 
					# Do not edit, changes will be overwritten
 | 
				
			||||||
"
 | 
					'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
default["openstack"]["block-storage"]["verbose"] = "False"
 | 
					default['openstack']['block-storage']['verbose'] = 'False'
 | 
				
			||||||
default["openstack"]["block-storage"]["debug"] = "False"
 | 
					default['openstack']['block-storage']['debug'] = 'False'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Default lock_path
 | 
					# Default lock_path
 | 
				
			||||||
default["openstack"]["block-storage"]["lock_path"] = "/var/lock/cinder"
 | 
					default['openstack']['block-storage']['lock_path'] = '/var/lock/cinder'
 | 
				
			||||||
# Availability zone/region for the Openstack"]["Block-Storage service
 | 
					# Availability zone/region for the OpenStack Block-Storage service
 | 
				
			||||||
default["openstack"]["block-storage"]["region"] = "RegionOne"
 | 
					default['openstack']['block-storage']['region'] = 'RegionOne'
 | 
				
			||||||
default["openstack"]["block-storage"]["scheduler_role"] = "os-block-storage-scheduler"
 | 
					default['openstack']['block-storage']['scheduler_role'] = 'os-block-storage-scheduler'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# The name of the Chef role that knows about the message queue server
 | 
					# The name of the Chef role that knows about the message queue server
 | 
				
			||||||
# that Cinder uses
 | 
					# that Cinder uses
 | 
				
			||||||
default["openstack"]["block-storage"]["rabbit_server_chef_role"] = "os-ops-messaging"
 | 
					default['openstack']['block-storage']['rabbit_server_chef_role'] = 'os-ops-messaging'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# This is the name of the Chef role that will install the Keystone Service API
 | 
					# This is the name of the Chef role that will install the Keystone Service API
 | 
				
			||||||
default["openstack"]["block-storage"]["keystone_service_chef_role"] = "keystone"
 | 
					default['openstack']['block-storage']['keystone_service_chef_role'] = 'keystone'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Keystone PKI signing directory. Only written to the filter:authtoken section
 | 
					# Keystone PKI signing directory. Only written to the filter:authtoken section
 | 
				
			||||||
# of the api-paste.ini when node["openstack"]["auth"]["strategy"] == "pki"
 | 
					# of the api-paste.ini when node['openstack']['auth']['strategy'] == 'pki'
 | 
				
			||||||
default["openstack"]["block-storage"]["api"]["auth"]["cache_dir"] = "/var/cache/cinder/api"
 | 
					default['openstack']['block-storage']['api']['auth']['cache_dir'] = '/var/cache/cinder/api'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Maximum allocatable gigabytes
 | 
					# Maximum allocatable gigabytes
 | 
				
			||||||
# Should equal total backend storage, default is 10TB
 | 
					# Should equal total backend storage, default is 10TB
 | 
				
			||||||
default["openstack"]["block-storage"]["max_gigabytes"] = "10000"
 | 
					default['openstack']['block-storage']['max_gigabytes'] = '10000'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Storage availability zone
 | 
					# Storage availability zone
 | 
				
			||||||
# Default is nova
 | 
					# Default is nova
 | 
				
			||||||
default["openstack"]["block-storage"]["storage_availability_zone"] = "nova"
 | 
					default['openstack']['block-storage']['storage_availability_zone'] = 'nova'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Quota definitions
 | 
					# Quota definitions
 | 
				
			||||||
default["openstack"]["block-storage"]["quota_volumes"] = "10"
 | 
					default['openstack']['block-storage']['quota_volumes'] = '10'
 | 
				
			||||||
default["openstack"]["block-storage"]["quota_gigabytes"] = "1000"
 | 
					default['openstack']['block-storage']['quota_gigabytes'] = '1000'
 | 
				
			||||||
default["openstack"]["block-storage"]["quota_driver"] = "cinder.quota.DbQuotaDriver"
 | 
					default['openstack']['block-storage']['quota_driver'] = 'cinder.quota.DbQuotaDriver'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Common rpc definitions
 | 
					# Common rpc definitions
 | 
				
			||||||
default["openstack"]["block-storage"]["rpc_thread_pool_size"] = 64
 | 
					default['openstack']['block-storage']['rpc_thread_pool_size'] = 64
 | 
				
			||||||
default["openstack"]["block-storage"]["rpc_conn_pool_size"] = 30
 | 
					default['openstack']['block-storage']['rpc_conn_pool_size'] = 30
 | 
				
			||||||
default["openstack"]["block-storage"]["rpc_response_timeout"] = 60
 | 
					default['openstack']['block-storage']['rpc_response_timeout'] = 60
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# MQ options
 | 
					# MQ options
 | 
				
			||||||
default["openstack"]["block-storage"]["mq"]["service_type"] = node["openstack"]["mq"]["service_type"]
 | 
					default['openstack']['block-storage']['mq']['service_type'] = node['openstack']['mq']['service_type']
 | 
				
			||||||
default["openstack"]["block-storage"]["mq"]["qpid"]["host"] = "127.0.0.1"
 | 
					default['openstack']['block-storage']['mq']['qpid']['host'] = '127.0.0.1'
 | 
				
			||||||
default["openstack"]["block-storage"]["mq"]["qpid"]["port"] = "5672"
 | 
					default['openstack']['block-storage']['mq']['qpid']['port'] = '5672'
 | 
				
			||||||
default["openstack"]["block-storage"]["mq"]["qpid"]["qpid_hosts"] = ['127.0.0.1:5672']
 | 
					default['openstack']['block-storage']['mq']['qpid']['qpid_hosts'] = ['127.0.0.1:5672']
 | 
				
			||||||
 | 
					
 | 
				
			||||||
default["openstack"]["block-storage"]["mq"]["qpid"]["username"] = ""
 | 
					default['openstack']['block-storage']['mq']['qpid']['username'] = ''
 | 
				
			||||||
default["openstack"]["block-storage"]["mq"]["qpid"]["password"] = ""
 | 
					default['openstack']['block-storage']['mq']['qpid']['password'] = ''
 | 
				
			||||||
default["openstack"]["block-storage"]["mq"]["qpid"]["sasl_mechanisms"] = ""
 | 
					default['openstack']['block-storage']['mq']['qpid']['sasl_mechanisms'] = ''
 | 
				
			||||||
default["openstack"]["block-storage"]["mq"]["qpid"]["reconnect"] = true
 | 
					default['openstack']['block-storage']['mq']['qpid']['reconnect'] = true
 | 
				
			||||||
default["openstack"]["block-storage"]["mq"]["qpid"]["reconnect_timeout"] = 0
 | 
					default['openstack']['block-storage']['mq']['qpid']['reconnect_timeout'] = 0
 | 
				
			||||||
default["openstack"]["block-storage"]["mq"]["qpid"]["reconnect_limit"] = 0
 | 
					default['openstack']['block-storage']['mq']['qpid']['reconnect_limit'] = 0
 | 
				
			||||||
default["openstack"]["block-storage"]["mq"]["qpid"]["reconnect_interval_min"] = 0
 | 
					default['openstack']['block-storage']['mq']['qpid']['reconnect_interval_min'] = 0
 | 
				
			||||||
default["openstack"]["block-storage"]["mq"]["qpid"]["reconnect_interval_max"] = 0
 | 
					default['openstack']['block-storage']['mq']['qpid']['reconnect_interval_max'] = 0
 | 
				
			||||||
default["openstack"]["block-storage"]["mq"]["qpid"]["reconnect_interval"] = 0
 | 
					default['openstack']['block-storage']['mq']['qpid']['reconnect_interval'] = 0
 | 
				
			||||||
default["openstack"]["block-storage"]["mq"]["qpid"]["heartbeat"] = 60
 | 
					default['openstack']['block-storage']['mq']['qpid']['heartbeat'] = 60
 | 
				
			||||||
default["openstack"]["block-storage"]["mq"]["qpid"]["protocol"] = "tcp"
 | 
					default['openstack']['block-storage']['mq']['qpid']['protocol'] = 'tcp'
 | 
				
			||||||
default["openstack"]["block-storage"]["mq"]["qpid"]["tcp_nodelay"] = true
 | 
					default['openstack']['block-storage']['mq']['qpid']['tcp_nodelay'] = true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# This user's password is stored in an encrypted databag
 | 
					# This user's password is stored in an encrypted databag
 | 
				
			||||||
# and accessed with openstack-common cookbook library's
 | 
					# and accessed with openstack-common cookbook library's
 | 
				
			||||||
# user_password routine.  You are expected to create
 | 
					# user_password routine.  You are expected to create
 | 
				
			||||||
# the user, pass, vhost in a wrapper rabbitmq cookbook.
 | 
					# the user, pass, vhost in a wrapper rabbitmq cookbook.
 | 
				
			||||||
default["openstack"]["block-storage"]["rabbit"]["username"] = "guest"
 | 
					default['openstack']['block-storage']['rabbit']['username'] = 'guest'
 | 
				
			||||||
default["openstack"]["block-storage"]["rabbit"]["vhost"] = "/"
 | 
					default['openstack']['block-storage']['rabbit']['vhost'] = '/'
 | 
				
			||||||
default["openstack"]["block-storage"]["rabbit"]["port"] = 5672
 | 
					default['openstack']['block-storage']['rabbit']['port'] = 5672
 | 
				
			||||||
default["openstack"]["block-storage"]["rabbit"]["host"] = "127.0.0.1"
 | 
					default['openstack']['block-storage']['rabbit']['host'] = '127.0.0.1'
 | 
				
			||||||
default["openstack"]["block-storage"]["rabbit"]["ha"] = false
 | 
					default['openstack']['block-storage']['rabbit']['ha'] = false
 | 
				
			||||||
 | 
					
 | 
				
			||||||
default["openstack"]["block-storage"]["db"]["username"] = "cinder"
 | 
					default['openstack']['block-storage']['db']['username'] = 'cinder'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
default["openstack"]["block-storage"]["service_tenant_name"] = "service"
 | 
					default['openstack']['block-storage']['service_tenant_name'] = 'service'
 | 
				
			||||||
default["openstack"]["block-storage"]["service_user"] = "cinder"
 | 
					default['openstack']['block-storage']['service_user'] = 'cinder'
 | 
				
			||||||
default["openstack"]["block-storage"]["service_role"] = "admin"
 | 
					default['openstack']['block-storage']['service_role'] = 'admin'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Netapp support
 | 
					# Netapp support
 | 
				
			||||||
default["openstack"]["block-storage"]["netapp"]["protocol"] = "http"
 | 
					default['openstack']['block-storage']['netapp']['protocol'] = 'http'
 | 
				
			||||||
default["openstack"]["block-storage"]["netapp"]["dfm_hostname"] = nil
 | 
					default['openstack']['block-storage']['netapp']['dfm_hostname'] = nil
 | 
				
			||||||
default["openstack"]["block-storage"]["netapp"]["dfm_login"] = nil
 | 
					default['openstack']['block-storage']['netapp']['dfm_login'] = nil
 | 
				
			||||||
default["openstack"]["block-storage"]["netapp"]["dfm_password"] = nil
 | 
					default['openstack']['block-storage']['netapp']['dfm_password'] = nil
 | 
				
			||||||
default["openstack"]["block-storage"]["netapp"]["dfm_port"] = "8088"
 | 
					default['openstack']['block-storage']['netapp']['dfm_port'] = '8088'
 | 
				
			||||||
default["openstack"]["block-storage"]["netapp"]["dfm_web_port"] = "8080"
 | 
					default['openstack']['block-storage']['netapp']['dfm_web_port'] = '8080'
 | 
				
			||||||
default["openstack"]["block-storage"]["netapp"]["storage_service"] = "storage_service"
 | 
					default['openstack']['block-storage']['netapp']['storage_service'] = 'storage_service'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Netapp direct NFS
 | 
					# Netapp direct NFS
 | 
				
			||||||
default["openstack"]["block-storage"]["netapp"]["netapp_server_port"] = "80"
 | 
					default['openstack']['block-storage']['netapp']['netapp_server_port'] = '80'
 | 
				
			||||||
default["openstack"]["block-storage"]["netapp"]["netapp_server_hostname"] = nil
 | 
					default['openstack']['block-storage']['netapp']['netapp_server_hostname'] = nil
 | 
				
			||||||
default["openstack"]["block-storage"]["netapp"]["netapp_server_password"] = nil
 | 
					default['openstack']['block-storage']['netapp']['netapp_server_password'] = nil
 | 
				
			||||||
default["openstack"]["block-storage"]["netapp"]["netapp_server_login"] = nil
 | 
					default['openstack']['block-storage']['netapp']['netapp_server_login'] = nil
 | 
				
			||||||
default["openstack"]["block-storage"]["netapp"]["export"] = nil
 | 
					default['openstack']['block-storage']['netapp']['export'] = nil
 | 
				
			||||||
default["openstack"]["block-storage"]["nfs"]["shares_config"] = "/etc/cinder/shares.conf"
 | 
					default['openstack']['block-storage']['nfs']['shares_config'] = '/etc/cinder/shares.conf'
 | 
				
			||||||
default["openstack"]["block-storage"]["nfs"]["mount_point_base"] = "/mnt/cinder-volumes"
 | 
					default['openstack']['block-storage']['nfs']['mount_point_base'] = '/mnt/cinder-volumes'
 | 
				
			||||||
default["openstack"]["block-storage"]["nfs"]["nfs_disk_util"] = "df"
 | 
					default['openstack']['block-storage']['nfs']['nfs_disk_util'] = 'df'
 | 
				
			||||||
default["openstack"]["block-storage"]["nfs"]["nfs_sparsed_volumes"] = "true"
 | 
					default['openstack']['block-storage']['nfs']['nfs_sparsed_volumes'] = 'true'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# logging attribute
 | 
					# logging attribute
 | 
				
			||||||
default["openstack"]["block-storage"]["syslog"]["use"] = false
 | 
					default['openstack']['block-storage']['syslog']['use'] = false
 | 
				
			||||||
default["openstack"]["block-storage"]["syslog"]["facility"] = "LOG_LOCAL2"
 | 
					default['openstack']['block-storage']['syslog']['facility'] = 'LOG_LOCAL2'
 | 
				
			||||||
default["openstack"]["block-storage"]["syslog"]["config_facility"] = "local2"
 | 
					default['openstack']['block-storage']['syslog']['config_facility'] = 'local2'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
default["openstack"]["block-storage"]["api"]["ratelimit"] = "True"
 | 
					default['openstack']['block-storage']['api']['ratelimit'] = 'True'
 | 
				
			||||||
default["openstack"]["block-storage"]["cron"]["minute"] = '00'
 | 
					default['openstack']['block-storage']['cron']['minute'] = '00'
 | 
				
			||||||
default["openstack"]["block-storage"]["cron"]["audit_logfile"] = "/var/log/cinder/audit.log"
 | 
					default['openstack']['block-storage']['cron']['audit_logfile'] = '/var/log/cinder/audit.log'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
default["openstack"]["block-storage"]["volume"]["state_path"] = "/var/lib/cinder"
 | 
					default['openstack']['block-storage']['volume']['state_path'] = '/var/lib/cinder'
 | 
				
			||||||
default["openstack"]["block-storage"]["volume"]["driver"] = "cinder.volume.driver.ISCSIDriver"
 | 
					default['openstack']['block-storage']['volume']['driver'] = 'cinder.volume.driver.ISCSIDriver'
 | 
				
			||||||
default["openstack"]["block-storage"]["volume"]["volume_group"] = "cinder-volumes"
 | 
					default['openstack']['block-storage']['volume']['volume_group'] = 'cinder-volumes'
 | 
				
			||||||
default["openstack"]["block-storage"]["volume"]["volume_group_size"] = 40
 | 
					default['openstack']['block-storage']['volume']['volume_group_size'] = 40
 | 
				
			||||||
default["openstack"]["block-storage"]["volume"]["create_volume_group"] = false
 | 
					default['openstack']['block-storage']['volume']['create_volume_group'] = false
 | 
				
			||||||
default["openstack"]["block-storage"]["volume"]["iscsi_helper"] = "tgtadm"
 | 
					default['openstack']['block-storage']['volume']['iscsi_helper'] = 'tgtadm'
 | 
				
			||||||
default["openstack"]["block-storage"]["volume"]["iscsi_ip_address"] = node["ipaddress"]
 | 
					default['openstack']['block-storage']['volume']['iscsi_ip_address'] = node['ipaddress']
 | 
				
			||||||
default["openstack"]["block-storage"]["volume"]["iscsi_port"] = "3260"
 | 
					default['openstack']['block-storage']['volume']['iscsi_port'] = '3260'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Ceph/RADOS options
 | 
					# Ceph/RADOS options
 | 
				
			||||||
default["openstack"]["block-storage"]["rbd_pool"] = "rbd"
 | 
					default['openstack']['block-storage']['rbd_pool'] = 'rbd'
 | 
				
			||||||
default["openstack"]["block-storage"]["rbd_user"] = nil
 | 
					default['openstack']['block-storage']['rbd_user'] = nil
 | 
				
			||||||
default["openstack"]["block-storage"]["rbd_secret_uuid"] = nil
 | 
					default['openstack']['block-storage']['rbd_secret_uuid'] = nil
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Cinder Policy defaults
 | 
					# Cinder Policy defaults
 | 
				
			||||||
default["openstack"]["block-storage"]["policy"]["context_is_admin"] = '["role:admin"]'
 | 
					default['openstack']['block-storage']['policy']['context_is_admin'] = '["role:admin"]'
 | 
				
			||||||
default["openstack"]["block-storage"]["policy"]["default"] = '["rule:admin_or_owner"]'
 | 
					default['openstack']['block-storage']['policy']['default'] = '["rule:admin_or_owner"]'
 | 
				
			||||||
default["openstack"]["block-storage"]["policy"]["admin_or_owner"] = '["is_admin:True"], ["project_id:%(project_id)s"]'
 | 
					default['openstack']['block-storage']['policy']['admin_or_owner'] = '["is_admin:True"], ["project_id:%(project_id)s"]'
 | 
				
			||||||
default["openstack"]["block-storage"]["policy"]["admin_api"] = '["is_admin:True"]'
 | 
					default['openstack']['block-storage']['policy']['admin_api'] = '["is_admin:True"]'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
case platform
 | 
					case platform
 | 
				
			||||||
when "fedora", "redhat", "centos" # :pragma-foodcritic: ~FC024 - won't fix this
 | 
					when 'fedora', 'redhat', 'centos' # :pragma-foodcritic: ~FC024 - won't fix this
 | 
				
			||||||
  # operating system user and group names
 | 
					  # operating system user and group names
 | 
				
			||||||
  default["openstack"]["block-storage"]["user"] = "cinder"
 | 
					  default['openstack']['block-storage']['user'] = 'cinder'
 | 
				
			||||||
  default["openstack"]["block-storage"]["group"] = "cinder"
 | 
					  default['openstack']['block-storage']['group'] = 'cinder'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  default["openstack"]["block-storage"]["platform"] = {
 | 
					  default['openstack']['block-storage']['platform'] = {
 | 
				
			||||||
    "mysql_python_packages" => ["MySQL-python"],
 | 
					    'mysql_python_packages' => ['MySQL-python'],
 | 
				
			||||||
    "postgresql_python_packages" => ["python-psycopg2"],
 | 
					    'postgresql_python_packages' => ['python-psycopg2'],
 | 
				
			||||||
    "cinder_common_packages" => ["openstack-cinder"],
 | 
					    'cinder_common_packages' => ['openstack-cinder'],
 | 
				
			||||||
    "cinder_api_packages" => ["python-cinderclient"],
 | 
					    'cinder_api_packages' => ['python-cinderclient'],
 | 
				
			||||||
    "cinder_api_service" => "openstack-cinder-api",
 | 
					    'cinder_api_service' => 'openstack-cinder-api',
 | 
				
			||||||
    "cinder_volume_packages" => [],
 | 
					    'cinder_volume_packages' => [],
 | 
				
			||||||
    "cinder_volume_service" => "openstack-cinder-volume",
 | 
					    'cinder_volume_service' => 'openstack-cinder-volume',
 | 
				
			||||||
    "cinder_scheduler_packages" => [],
 | 
					    'cinder_scheduler_packages' => [],
 | 
				
			||||||
    "cinder_scheduler_service" => "openstack-cinder-scheduler",
 | 
					    'cinder_scheduler_service' => 'openstack-cinder-scheduler',
 | 
				
			||||||
    "cinder_iscsitarget_packages" => ["scsi-target-utils"],
 | 
					    'cinder_iscsitarget_packages' => ['scsi-target-utils'],
 | 
				
			||||||
    "cinder_iscsitarget_service" => "tgtd",
 | 
					    'cinder_iscsitarget_service' => 'tgtd',
 | 
				
			||||||
    "cinder_nfs_packages" => ["nfs-utils", "nfs-utils-lib"],
 | 
					    'cinder_nfs_packages' => ['nfs-utils', 'nfs-utils-lib'],
 | 
				
			||||||
    "package_overrides" => ""
 | 
					    'package_overrides' => ''
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
when "suse"
 | 
					when 'suse'
 | 
				
			||||||
  # operating system user and group names
 | 
					  # operating system user and group names
 | 
				
			||||||
  default["openstack"]["block-storage"]["user"] = "openstack-cinder"
 | 
					  default['openstack']['block-storage']['user'] = 'openstack-cinder'
 | 
				
			||||||
  default["openstack"]["block-storage"]["group"] = "openstack-cinder"
 | 
					  default['openstack']['block-storage']['group'] = 'openstack-cinder'
 | 
				
			||||||
  default["openstack"]["block-storage"]["platform"] = {
 | 
					  default['openstack']['block-storage']['platform'] = {
 | 
				
			||||||
    "mysql_python_packages" => ["python-mysql"],
 | 
					    'mysql_python_packages' => ['python-mysql'],
 | 
				
			||||||
    "postgresql_python_packages" => ["python-psycopg2"],
 | 
					    'postgresql_python_packages' => ['python-psycopg2'],
 | 
				
			||||||
    "cinder_common_packages" => ["openstack-cinder"],
 | 
					    'cinder_common_packages' => ['openstack-cinder'],
 | 
				
			||||||
    "cinder_api_packages" => ["openstack-cinder-api"],
 | 
					    'cinder_api_packages' => ['openstack-cinder-api'],
 | 
				
			||||||
    "cinder_api_service" => "openstack-cinder-api",
 | 
					    'cinder_api_service' => 'openstack-cinder-api',
 | 
				
			||||||
    "cinder_scheduler_packages" => ["openstack-cinder-scheduler"],
 | 
					    'cinder_scheduler_packages' => ['openstack-cinder-scheduler'],
 | 
				
			||||||
    "cinder_scheduler_service" => "openstack-cinder-scheduler",
 | 
					    'cinder_scheduler_service' => 'openstack-cinder-scheduler',
 | 
				
			||||||
    "cinder_volume_packages" => ["openstack-cinder-volume"],
 | 
					    'cinder_volume_packages' => ['openstack-cinder-volume'],
 | 
				
			||||||
    "cinder_volume_service" => "openstack-cinder-volume",
 | 
					    'cinder_volume_service' => 'openstack-cinder-volume',
 | 
				
			||||||
    "cinder_iscsitarget_packages" => ["tgt"],
 | 
					    'cinder_iscsitarget_packages' => ['tgt'],
 | 
				
			||||||
    "cinder_iscsitarget_service" => "tgtd",
 | 
					    'cinder_iscsitarget_service' => 'tgtd',
 | 
				
			||||||
    "cinder_nfs_packages" => ["nfs-utils"]
 | 
					    'cinder_nfs_packages' => ['nfs-utils']
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
when "ubuntu"
 | 
					when 'ubuntu'
 | 
				
			||||||
  # operating system user and group names
 | 
					  # operating system user and group names
 | 
				
			||||||
  default["openstack"]["block-storage"]["user"] = "cinder"
 | 
					  default['openstack']['block-storage']['user'] = 'cinder'
 | 
				
			||||||
  default["openstack"]["block-storage"]["group"] = "cinder"
 | 
					  default['openstack']['block-storage']['group'] = 'cinder'
 | 
				
			||||||
  default["openstack"]["block-storage"]["platform"] = {
 | 
					  default['openstack']['block-storage']['platform'] = {
 | 
				
			||||||
    "mysql_python_packages" => ["python-mysqldb"],
 | 
					    'mysql_python_packages' => ['python-mysqldb'],
 | 
				
			||||||
    "postgresql_python_packages" => ["python-psycopg2"],
 | 
					    'postgresql_python_packages' => ['python-psycopg2'],
 | 
				
			||||||
    "cinder_common_packages" => ["cinder-common"],
 | 
					    'cinder_common_packages' => ['cinder-common'],
 | 
				
			||||||
    "cinder_api_packages" => ["cinder-api", "python-cinderclient"],
 | 
					    'cinder_api_packages' => ['cinder-api', 'python-cinderclient'],
 | 
				
			||||||
    "cinder_api_service" => "cinder-api",
 | 
					    'cinder_api_service' => 'cinder-api',
 | 
				
			||||||
    "cinder_volume_packages" => ["cinder-volume"],
 | 
					    'cinder_volume_packages' => ['cinder-volume'],
 | 
				
			||||||
    "cinder_volume_service" => "cinder-volume",
 | 
					    'cinder_volume_service' => 'cinder-volume',
 | 
				
			||||||
    "cinder_scheduler_packages" => ["cinder-scheduler"],
 | 
					    'cinder_scheduler_packages' => ['cinder-scheduler'],
 | 
				
			||||||
    "cinder_scheduler_service" => "cinder-scheduler",
 | 
					    'cinder_scheduler_service' => 'cinder-scheduler',
 | 
				
			||||||
    "cinder_iscsitarget_packages" => ["tgt"],
 | 
					    'cinder_iscsitarget_packages' => ['tgt'],
 | 
				
			||||||
    "cinder_iscsitarget_service" => "tgt",
 | 
					    'cinder_iscsitarget_service' => 'tgt',
 | 
				
			||||||
    "cinder_nfs_packages" => ["nfs-common"],
 | 
					    'cinder_nfs_packages' => ['nfs-common'],
 | 
				
			||||||
    "package_overrides" => "-o Dpkg::Options::='--force-confold' -o Dpkg::Options::='--force-confdef'"
 | 
					    'package_overrides' => "-o Dpkg::Options::='--force-confold' -o Dpkg::Options::='--force-confdef'"
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
end
 | 
					end
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user