From b5eecb5fd70169a2f17c576e9bfbd2a444feb93a Mon Sep 17 00:00:00 2001 From: Lukas Bezdicka Date: Tue, 25 Nov 2014 13:49:14 +0100 Subject: [PATCH 1/9] Update ceilometer to 741e89ae5b59e6284d677dd1c3cdf4154902a378 commit 741e89ae5b59e6284d677dd1c3cdf4154902a378 Author: Colleen Murphy Date: Thu Nov 20 16:59:10 2014 -0800 Release 5.0.0 - Juno Changes in this release: * Added package_ensure parameters to various classes to control package installation * Added ceilometer::policy to control policy.json * Updated validate_re expressions for Puppet 3.7 * Bumped stdlib dependency to >=4.0.0 * Added manage_service parameters to various classes to control whether the service was managed, as well as added enabled parameters where not already present * Added parameters to control whether to configure users * Added the ability to override the keystone service name in keystone::auth * Migrated the ceilometer::db::mysql class to use openstacklib::db::mysql and deprecated the mysql_module parameter * Fixed ceilometer-notification package name for RHEL * Removed deprecation notices for sectionless ceilometer_config types for Juno release * Added ability to hide secrets from puppet logs Change-Id: Ifda9dba6ef8a9eb99d1a5d2bf45aa74b210675dc --- Puppetfile | 2 +- ceilometer/README.md | 35 +++++++++++++++++++++++++++++++++-- 2 files changed, 34 insertions(+), 3 deletions(-) diff --git a/Puppetfile b/Puppetfile index 8eb7e3b01..ad5dab628 100644 --- a/Puppetfile +++ b/Puppetfile @@ -3,7 +3,7 @@ mod 'apache', :git => 'https://github.com/puppetlabs/puppetlabs-apache.git' mod 'ceilometer', - :commit => '1d78470e5023e2ca6adef47c904d14d046dd87d1', + :commit => '741e89ae5b59e6284d677dd1c3cdf4154902a378', :git => 'https://github.com/stackforge/puppet-ceilometer.git' mod 'certmonger', diff --git a/ceilometer/README.md b/ceilometer/README.md index afe09c5ac..1e8d72950 100644 --- a/ceilometer/README.md +++ b/ceilometer/README.md @@ -1,7 +1,7 @@ Ceilometer ========== -4.0.0 - 2014.1.0 - Icehouse +5.0.0 - 2014.2.0 - Juno #### Table of Contents @@ -72,6 +72,37 @@ This is the ceilometer module. Release Notes ------------- +** 5.0.0 ** +* Stable Juno release +* Added package_ensure parameters to various classes to control package installation +* Added ceilometer::policy to control policy.json +* Updated validate_re expressions for Puppet 3.7 +* Bumped stdlib dependency to >=4.0.0 +* Added manage_service parameters to various classes to control whether the service was managed, as well as added enabled parameters where not already present +* Added parameters to control whether to configure keystone users +* Added the ability to override the keystone service name in ceilometer::keystone::auth +* Migrated the ceilometer::db::mysql class to use openstacklib::db::mysql and deprecated the mysql_module parameter +* Fixed ceilometer-notification package name for RHEL +* Removed deprecation notices for sectionless ceilometer_config types for Juno release +* Added ability to hide secrets from puppet logs + +** 4.2.0 ** + +* Fixed dependency on nova-common package +* Added new class for extended logging options +* Fixed ssl parameter requirements for kombu and rabbit +* Fixed mysql_grant call +* Fixed ceilometer-collecter service relationships when service is disabled + + +** 4.1.0 ** + +* Added RabbitMQ SSL Support. +* Fixed dependency cycle bug. +* Fixed agent_notification_service_name. +* Changed default mysql charset to UTF8. +* Pinned major gems. + ** 4.0.0 ** * Stable Icehouse release. @@ -80,7 +111,6 @@ Release Notes * Fixed region name configuration. * Fixed ensure packages bug. * Added support for puppetlabs-mysql 2.2 and greater. -* Fixed MySQL grant call. * Introduced ceilometer::config to handle additional custom options. ** 3.1.1 ** @@ -126,3 +156,4 @@ Contact ------- techs@enovance.com +Ceilometer From 281b96031e488fe04f2c1de52b7df8c775c839d0 Mon Sep 17 00:00:00 2001 From: Lukas Bezdicka Date: Tue, 25 Nov 2014 13:49:21 +0100 Subject: [PATCH 2/9] Update cinder to 1ee8a6cab39da6beebf7a0b39207f0002368196f commit 1ee8a6cab39da6beebf7a0b39207f0002368196f Author: Colleen Murphy Date: Thu Nov 20 20:38:34 2014 -0800 Release 5.0.0 - Juno Changes in this release: * Added class to manage policy.json * Changed the default value of the san_thin_provision parameter for eqlx * Added database tuning parameters * Made keystone user creation optional when creating a service * Added ability to hide secrets from logs * Added parameters for netapp and and cinder-api workers * Corrected the package name for cinder backup * Added support for the EMC VNX direct driver * Migrated the mysql backend to use openstacklib::db::mysql * Added support for availability zone Change-Id: I08b059778354b9c2280501d8defa2e4884b8f3a7 --- Puppetfile | 2 +- cinder/README.md | 37 ++++++++++++++++++++++++++++++++++++- 2 files changed, 37 insertions(+), 2 deletions(-) diff --git a/Puppetfile b/Puppetfile index ad5dab628..4cbc485d7 100644 --- a/Puppetfile +++ b/Puppetfile @@ -11,7 +11,7 @@ mod 'certmonger', :git => 'https://github.com/rcritten/puppet-certmonger.git' mod 'cinder', - :commit => 'b5dce39754ed6857d6dc87b3ae29ed38057a487e', + :commit => '1ee8a6cab39da6beebf7a0b39207f0002368196f', :git => 'https://github.com/stackforge/puppet-cinder.git' mod 'common', diff --git a/cinder/README.md b/cinder/README.md index 05d67681d..34d3a79f7 100644 --- a/cinder/README.md +++ b/cinder/README.md @@ -1,7 +1,7 @@ cinder ======= -4.0.0 - 2014.1.0 - Icehouse +5.0.0 - 2014.2.0 - Juno #### Table of Contents @@ -178,6 +178,41 @@ Contributors Release Notes ------------- +**5.0.0** + +* Stable Juno release +* Added class to manage policy.json +* Changed the default value of the san_thin_provision parameter for eqlx +* Added database tuning parameters +* Made keystone user creation optional when creating a service +* Added ability to hide secrets from logs +* Added parameters for netapp and and cinder-api workers +* Corrected the package name for cinder backup +* Added support for the EMC VNX direct driver +* Migrated the mysql backend to use openstacklib::db::mysql +* Added support for availability zones + +**4.2.0** + +* Added parameters to set cinder volume driver +* Added class for extended logging options +* Added option to specify endpoint protocol +* Fixed cinder type path issues +* Added option to specify cinder volume path +* Fixed targetcli package dependency on target service +* Fixed os version fact comparison for RedHat-based operating systems + for specifying service provider +* Added option to configure os_region_name in the cinder config + +**4.1.0** + +* Added Cinder v2 endpoint support. +* Added SSL support for Cinder API. +* Added RabbitMQ SSL support. +* Moved default_volume_type to cinder::api +* Removed warnings for existing Cinder volumes. +* Pinned major gems. + **4.0.0** * Stable Icehouse release. From bda9eca0863ef9945bb51e5a4d9eb8be8e31a8b4 Mon Sep 17 00:00:00 2001 From: Lukas Bezdicka Date: Tue, 25 Nov 2014 13:49:28 +0100 Subject: [PATCH 3/9] Update glance to a243f89a52f7dd2dc16b36d1c9b79ec1616c6596 commit a243f89a52f7dd2dc16b36d1c9b79ec1616c6596 Merge: 24d5c34 feb9cdf Author: Jenkins Date: Mon Nov 24 15:41:36 2014 +0000 Merge "Release 5.0.0 - Juno" commit 24d5c3425f6016e9eb6447a4041a7419eada3d31 Merge: 916a90e 908a62b Author: Jenkins Date: Sat Nov 22 15:19:12 2014 +0000 Merge "Update [glance_store] section in glance config for Juno" commit feb9cdfe9bdaeded5a7e89c25200d429e8adaac5 Author: Colleen Murphy Date: Fri Nov 21 10:13:44 2014 -0800 Release 5.0.0 - Juno Changes in this release: * Added ceilometer::policy to control policy.json * Fixed bug in glance_image type * Added parameter os_region_name to glance::api * Added support for vSphere datastore backend * Updated the calls to the glance command-line utility * Added parameter swift_store_large_object_size to glance::backend::swift * Bumped stdlib dependency to >=4.0.0 * Added parameter command_options to glance::cache::cleaner and glance::cache::pruner * Added parameter package_ensure to glance::backend::rbd * Added parameter manage_service to various classes * Added parameters to control whether to configure users * Migrated the glance::db::mysql class to use openstacklib::db::mysql and deprecated the mysql_module parameter * Added parameter registery_client_protocol to glance::api * Fixed ssl parameter requirements for kombu and rabbit Change-Id: I5dcce1d748602dd46d409d51523b96a51709d285 commit 908a62b2b932d833baef368c9c56499a23355e75 Author: Emilien Macchi Date: Tue Oct 28 17:37:46 2014 -0400 Update [glance_store] section in glance config for Juno Use new parameters for Juno like it's documented here: http://docs.openstack.org/trunk/config-reference/content/glance-conf-changes-master.html * Use [glance_store] section * Update prefix when needed Partial-Bug: #1391099 Change-Id: I096b16c33c493270422113e0107a100f967debc6 --- Puppetfile | 2 +- glance/README.md | 34 ++++++++++++++++++- glance/manifests/api.pp | 4 +-- glance/manifests/backend/cinder.pp | 2 +- glance/manifests/backend/file.pp | 6 ++-- glance/manifests/backend/rbd.pp | 2 +- glance/manifests/backend/swift.pp | 22 ++++++------ glance/spec/classes/glance_api_spec.rb | 4 +-- .../classes/glance_backend_cinder_spec.rb | 4 +-- .../spec/classes/glance_backend_file_spec.rb | 10 +++--- .../spec/classes/glance_backend_rbd_spec.rb | 2 +- .../spec/classes/glance_backend_swift_spec.rb | 18 +++++----- 12 files changed, 71 insertions(+), 39 deletions(-) diff --git a/Puppetfile b/Puppetfile index 4cbc485d7..a413be2b5 100644 --- a/Puppetfile +++ b/Puppetfile @@ -31,7 +31,7 @@ mod 'galera', :git => 'https://github.com/rohara/puppet-galera.git' mod 'glance', - :commit => '916a90ebdc3e9fafe956b12dcaa0e0ce3e7e3f04', + :commit => 'a243f89a52f7dd2dc16b36d1c9b79ec1616c6596', :git => 'https://github.com/stackforge/puppet-glance.git' mod 'gluster', diff --git a/glance/README.md b/glance/README.md index b79a172b7..a4bf1ccad 100644 --- a/glance/README.md +++ b/glance/README.md @@ -1,7 +1,7 @@ glance ======= -4.0.0 - 2014.1.0 - Icehouse +5.0.0 - 2014.2.0 - Juno #### Table of Contents @@ -133,6 +133,38 @@ Contributors Release Notes ------------- +**5.0.0** + +* Stable Juno release +* Added ceilometer::policy to control policy.json +* Fixed bug in glance_image type +* Added parameter os_region_name to glance::api +* Added support for vSphere datastore backend +* Updated the calls to the glance command-line utility +* Added parameter swift_store_large_object_size to glance::backend::swift +* Bumped stdlib dependency to >=4.0.0 +* Added parameter command_options to glance::cache::cleaner and glance::cache::pruner +* Added parameter package_ensure to glance::backend::rbd +* Added parameter manage_service to various classes +* Added parameters to control whether to configure users +* Migrated the glance::db::mysql class to use openstacklib::db::mysql and deprecated the mysql_module parameter +* Added parameter registery_client_protocol to glance::api +* Fixed ssl parameter requirements for kombu and rabbit + +**4.2.0** + +* Added ability to hide secret type parameters from logs + +**4.1.0** + +* Added multiple rabbit hosts support. +* Added image_cache_dir parameter. +* Deprecated old SQL parameters. +* Fixed the Glance add_image parser for new client. +* Fixed values in get_glance_image_attrs. +* Fixed 'could not find user glance' bug. +* Pinned major gems. + **4.0.0** * Stable Icehouse release. diff --git a/glance/manifests/api.pp b/glance/manifests/api.pp index b033103b0..0b9c21532 100644 --- a/glance/manifests/api.pp +++ b/glance/manifests/api.pp @@ -290,11 +290,11 @@ # known_stores config if $known_stores { glance_api_config { - 'DEFAULT/known_stores': value => join($known_stores, ','); + 'glance_store/stores': value => join($known_stores, ','); } } else { glance_api_config { - 'DEFAULT/known_stores': ensure => absent; + 'glance_store/stores': ensure => absent; } } diff --git a/glance/manifests/backend/cinder.pp b/glance/manifests/backend/cinder.pp index adb680096..75507d7f5 100644 --- a/glance/manifests/backend/cinder.pp +++ b/glance/manifests/backend/cinder.pp @@ -71,7 +71,7 @@ 'DEFAULT/cinder_api_insecure': value => $cinder_api_insecure; 'DEFAULT/cinder_catalog_info': value => $cinder_catalog_info; 'DEFAULT/cinder_http_retries': value => $cinder_http_retries; - 'DEFAULT/default_store': value => 'cinder'; + 'glance_store/default_store': value => 'cinder'; } glance_cache_config { diff --git a/glance/manifests/backend/file.pp b/glance/manifests/backend/file.pp index 9c27719ba..0eb2dcd2b 100644 --- a/glance/manifests/backend/file.pp +++ b/glance/manifests/backend/file.pp @@ -9,11 +9,11 @@ ) inherits glance::api { glance_api_config { - 'DEFAULT/default_store': value => 'file'; - 'DEFAULT/filesystem_store_datadir': value => $filesystem_store_datadir; + 'glance_store/default_store': value => 'file'; + 'glance_store/filesystem_store_datadir': value => $filesystem_store_datadir; } glance_cache_config { - 'DEFAULT/filesystem_store_datadir': value => $filesystem_store_datadir; + 'glance_store/filesystem_store_datadir': value => $filesystem_store_datadir; } } diff --git a/glance/manifests/backend/rbd.pp b/glance/manifests/backend/rbd.pp index 9ff56de7c..a19324f4d 100644 --- a/glance/manifests/backend/rbd.pp +++ b/glance/manifests/backend/rbd.pp @@ -34,11 +34,11 @@ } glance_api_config { - 'DEFAULT/default_store': value => 'rbd'; 'DEFAULT/rbd_store_ceph_conf': value => $rbd_store_ceph_conf; 'DEFAULT/rbd_store_user': value => $rbd_store_user; 'DEFAULT/rbd_store_pool': value => $rbd_store_pool; 'DEFAULT/rbd_store_chunk_size': value => $rbd_store_chunk_size; + 'glance_store/default_store': value => 'rbd'; } package { 'python-ceph': diff --git a/glance/manifests/backend/swift.pp b/glance/manifests/backend/swift.pp index 883125785..4ce897dc1 100644 --- a/glance/manifests/backend/swift.pp +++ b/glance/manifests/backend/swift.pp @@ -26,12 +26,12 @@ ) { glance_api_config { - 'DEFAULT/default_store': value => 'swift'; - 'DEFAULT/swift_store_user': value => $swift_store_user; - 'DEFAULT/swift_store_key': value => $swift_store_key; - 'DEFAULT/swift_store_auth_address': value => $swift_store_auth_address; - 'DEFAULT/swift_store_container': value => $swift_store_container; - 'DEFAULT/swift_store_auth_version': value => $swift_store_auth_version; + 'glance_store/default_store': value => 'swift'; + 'glance_store/swift_store_user': value => $swift_store_user; + 'glance_store/swift_store_key': value => $swift_store_key; + 'glance_store/swift_store_auth_address': value => $swift_store_auth_address; + 'DEFAULT/swift_store_container': value => $swift_store_container; + 'DEFAULT/swift_store_auth_version': value => $swift_store_auth_version; 'DEFAULT/swift_store_create_container_on_put': value => $swift_store_create_container_on_put; 'DEFAULT/swift_store_large_object_size': @@ -39,11 +39,11 @@ } glance_cache_config { - 'DEFAULT/swift_store_user': value => $swift_store_user; - 'DEFAULT/swift_store_key': value => $swift_store_key; - 'DEFAULT/swift_store_auth_address': value => $swift_store_auth_address; - 'DEFAULT/swift_store_container': value => $swift_store_container; - 'DEFAULT/swift_store_auth_version': value => $swift_store_auth_version; + 'glance_store/swift_store_user': value => $swift_store_user; + 'glance_store/swift_store_key': value => $swift_store_key; + 'glance_store/swift_store_auth_address': value => $swift_store_auth_address; + 'DEFAULT/swift_store_container': value => $swift_store_container; + 'DEFAULT/swift_store_auth_version': value => $swift_store_auth_version; 'DEFAULT/swift_store_create_container_on_put': value => $swift_store_create_container_on_put; 'DEFAULT/swift_store_large_object_size': diff --git a/glance/spec/classes/glance_api_spec.rb b/glance/spec/classes/glance_api_spec.rb index 7cbc9946a..aa937c3e1 100644 --- a/glance/spec/classes/glance_api_spec.rb +++ b/glance/spec/classes/glance_api_spec.rb @@ -324,7 +324,7 @@ default_params end - it { should_not contain_glance_api_config('DEFAULT/known_stores').with_value('false') } + it { should_not contain_glance_api_config('glance_store/stores').with_value('false') } end describe 'with known_stores override' do @@ -334,7 +334,7 @@ }) end - it { should contain_glance_api_config('DEFAULT/known_stores').with_value("glance.store.filesystem.Store,glance.store.http.Store") } + it { should contain_glance_api_config('glance_store/stores').with_value("glance.store.filesystem.Store,glance.store.http.Store") } end describe 'with deprecated sql parameters' do diff --git a/glance/spec/classes/glance_backend_cinder_spec.rb b/glance/spec/classes/glance_backend_cinder_spec.rb index 55c82d526..bc4b43c21 100644 --- a/glance/spec/classes/glance_backend_cinder_spec.rb +++ b/glance/spec/classes/glance_backend_cinder_spec.rb @@ -31,7 +31,7 @@ context 'when default parameters' do it 'configures glance-api.conf' do - should contain_glance_api_config('DEFAULT/default_store').with_value('cinder') + should contain_glance_api_config('glance_store/default_store').with_value('cinder') should contain_glance_api_config('DEFAULT/cinder_api_insecure').with_value(false) should contain_glance_api_config('DEFAULT/cinder_catalog_info').with_value('volume:cinder:publicURL') should contain_glance_api_config('DEFAULT/cinder_http_retries').with_value('3') @@ -58,7 +58,7 @@ } end it 'configures glance-api.conf' do - should contain_glance_api_config('DEFAULT/default_store').with_value('cinder') + should contain_glance_api_config('glance_store/default_store').with_value('cinder') should contain_glance_api_config('DEFAULT/cinder_api_insecure').with_value(true) should contain_glance_api_config('DEFAULT/cinder_ca_certificates_file').with_value('/etc/ssh/ca.crt') should contain_glance_api_config('DEFAULT/cinder_catalog_info').with_value('volume:cinder:internalURL') diff --git a/glance/spec/classes/glance_backend_file_spec.rb b/glance/spec/classes/glance_backend_file_spec.rb index fac7fcf46..5a3b5c4e0 100644 --- a/glance/spec/classes/glance_backend_file_spec.rb +++ b/glance/spec/classes/glance_backend_file_spec.rb @@ -10,12 +10,12 @@ end it 'configures glance-api.conf' do - should contain_glance_api_config('DEFAULT/default_store').with_value('file') - should contain_glance_api_config('DEFAULT/filesystem_store_datadir').with_value('/var/lib/glance/images/') + should contain_glance_api_config('glance_store/default_store').with_value('file') + should contain_glance_api_config('glance_store/filesystem_store_datadir').with_value('/var/lib/glance/images/') end it 'configures glance-cache.conf' do - should contain_glance_cache_config('DEFAULT/filesystem_store_datadir').with_value('/var/lib/glance/images/') + should contain_glance_cache_config('glance_store/filesystem_store_datadir').with_value('/var/lib/glance/images/') end describe 'when overriding datadir' do @@ -24,11 +24,11 @@ end it 'configures glance-api.conf' do - should contain_glance_api_config('DEFAULT/filesystem_store_datadir').with_value('/tmp/') + should contain_glance_api_config('glance_store/filesystem_store_datadir').with_value('/tmp/') end it 'configures glance-cache.conf' do - should contain_glance_cache_config('DEFAULT/filesystem_store_datadir').with_value('/tmp/') + should contain_glance_cache_config('glance_store/filesystem_store_datadir').with_value('/tmp/') end end end diff --git a/glance/spec/classes/glance_backend_rbd_spec.rb b/glance/spec/classes/glance_backend_rbd_spec.rb index f78b61e83..d831304cf 100644 --- a/glance/spec/classes/glance_backend_rbd_spec.rb +++ b/glance/spec/classes/glance_backend_rbd_spec.rb @@ -14,7 +14,7 @@ } end - it { should contain_glance_api_config('DEFAULT/default_store').with_value('rbd') } + it { should contain_glance_api_config('glance_store/default_store').with_value('rbd') } it { should contain_glance_api_config('DEFAULT/rbd_store_pool').with_value('images') } it { should contain_glance_api_config('DEFAULT/rbd_store_ceph_conf').with_value('/etc/ceph/ceph.conf') } it { should contain_glance_api_config('DEFAULT/rbd_store_chunk_size').with_value('8') } diff --git a/glance/spec/classes/glance_backend_swift_spec.rb b/glance/spec/classes/glance_backend_swift_spec.rb index 0c5569a90..ddd946c9b 100644 --- a/glance/spec/classes/glance_backend_swift_spec.rb +++ b/glance/spec/classes/glance_backend_swift_spec.rb @@ -21,22 +21,22 @@ describe 'when default parameters' do it 'configures glance-api.conf' do - should contain_glance_api_config('DEFAULT/default_store').with_value('swift') - should contain_glance_api_config('DEFAULT/swift_store_key').with_value('key') - should contain_glance_api_config('DEFAULT/swift_store_user').with_value('user') + should contain_glance_api_config('glance_store/default_store').with_value('swift') + should contain_glance_api_config('glance_store/swift_store_key').with_value('key') + should contain_glance_api_config('glance_store/swift_store_user').with_value('user') should contain_glance_api_config('DEFAULT/swift_store_auth_version').with_value('2') should contain_glance_api_config('DEFAULT/swift_store_large_object_size').with_value('5120') - should contain_glance_api_config('DEFAULT/swift_store_auth_address').with_value('127.0.0.1:5000/v2.0/') + should contain_glance_api_config('glance_store/swift_store_auth_address').with_value('127.0.0.1:5000/v2.0/') should contain_glance_api_config('DEFAULT/swift_store_container').with_value('glance') should contain_glance_api_config('DEFAULT/swift_store_create_container_on_put').with_value(false) end it 'configures glance-cache.conf' do - should contain_glance_cache_config('DEFAULT/swift_store_key').with_value('key') - should contain_glance_cache_config('DEFAULT/swift_store_user').with_value('user') + should contain_glance_cache_config('glance_store/swift_store_key').with_value('key') + should contain_glance_cache_config('glance_store/swift_store_user').with_value('user') should contain_glance_cache_config('DEFAULT/swift_store_auth_version').with_value('2') should contain_glance_cache_config('DEFAULT/swift_store_large_object_size').with_value('5120') - should contain_glance_cache_config('DEFAULT/swift_store_auth_address').with_value('127.0.0.1:5000/v2.0/') + should contain_glance_cache_config('glance_store/swift_store_auth_address').with_value('127.0.0.1:5000/v2.0/') should contain_glance_cache_config('DEFAULT/swift_store_container').with_value('glance') should contain_glance_cache_config('DEFAULT/swift_store_create_container_on_put').with_value(false) end @@ -60,7 +60,7 @@ should contain_glance_api_config('DEFAULT/swift_store_create_container_on_put').with_value(true) should contain_glance_api_config('DEFAULT/swift_store_auth_version').with_value('1') should contain_glance_api_config('DEFAULT/swift_store_large_object_size').with_value('100') - should contain_glance_api_config('DEFAULT/swift_store_auth_address').with_value('127.0.0.2:8080/v1.0/') + should contain_glance_api_config('glance_store/swift_store_auth_address').with_value('127.0.0.2:8080/v1.0/') end it 'configures glance-cache.conf' do @@ -68,7 +68,7 @@ should contain_glance_cache_config('DEFAULT/swift_store_create_container_on_put').with_value(true) should contain_glance_cache_config('DEFAULT/swift_store_auth_version').with_value('1') should contain_glance_cache_config('DEFAULT/swift_store_large_object_size').with_value('100') - should contain_glance_cache_config('DEFAULT/swift_store_auth_address').with_value('127.0.0.2:8080/v1.0/') + should contain_glance_cache_config('glance_store/swift_store_auth_address').with_value('127.0.0.2:8080/v1.0/') end end end From 42923e917f5bfa1a65c8a1b15da44d1f2f79954b Mon Sep 17 00:00:00 2001 From: Lukas Bezdicka Date: Tue, 25 Nov 2014 13:49:34 +0100 Subject: [PATCH 4/9] Update heat to b1e9e9bd48c3da15be69c0797fb05e7ce0f6698f commit b1e9e9bd48c3da15be69c0797fb05e7ce0f6698f Merge: d147921 9c3674a Author: Jenkins Date: Mon Nov 24 20:20:04 2014 +0000 Merge "Release 5.0.0 - Juno" commit 9c3674ab487d28e81d3f5d73791ff5925fc9cfb0 Author: Colleen Murphy Date: Fri Nov 21 10:47:22 2014 -0800 Release 5.0.0 - Juno Changes in this release: * Added heat::policy to control policy.json * Deprecated the sql_connection parameter for database_connection parameter * Adds parameters to configure deferred authentication method in heat::engine in accordance with new Juno defaults * Bumped stdlib dependency to >=4.0.0 * Added parameters to control whether to configure users * Added manage_service parameters to various classes to control whether the service was managed, as well as added enabled parameters where not already present * Added the ability to override the keystone service name in keystone::auth * Migrated the heat::db::mysql class to use openstacklib::db::mysql and deprecated the mysql_module parameter Change-Id: I1eb3c5f278c1ff348fca3173c979cab2945e7a54 commit d1479219e946bc9cc7fb08d60de9f3ec85cb7176 Author: Sebastien Badia Date: Tue Nov 18 09:34:59 2014 +0100 Remove deprecated api-cfn and api-cloudwatch classes heat::api-cloudwatch and heat::api-cfn are not correctly named, these classes are deprecated and replaced by respectively heat::api_cloudwatch and heat::api_cfn since release 3.0.0-rc2. It's time to clean it for release after 4.2.0. Change-Id: Ib29741173e971cefde1cff67281bce368365dde2 --- Puppetfile | 2 +- heat/README.md | 25 +++++++++++- heat/manifests/api-cfn.pp | 69 -------------------------------- heat/manifests/api-cloudwatch.pp | 69 -------------------------------- 4 files changed, 25 insertions(+), 140 deletions(-) delete mode 100644 heat/manifests/api-cfn.pp delete mode 100644 heat/manifests/api-cloudwatch.pp diff --git a/Puppetfile b/Puppetfile index a413be2b5..6c111fec2 100644 --- a/Puppetfile +++ b/Puppetfile @@ -43,7 +43,7 @@ mod 'haproxy', :git => 'https://github.com/puppetlabs/puppetlabs-haproxy.git' mod 'heat', - :commit => '45a35dc2ec5f01bd79189ada881d083e1a51413b', + :commit => 'b1e9e9bd48c3da15be69c0797fb05e7ce0f6698f', :git => 'https://github.com/stackforge/puppet-heat.git' mod 'horizon', diff --git a/heat/README.md b/heat/README.md index 5e2d02a62..6064ffed2 100644 --- a/heat/README.md +++ b/heat/README.md @@ -1,7 +1,7 @@ puppet-heat ============= -4.0.0 - 2014.1.0 - Icehouse +5.0.0 - 2014.2.0 - Juno #### Table of Contents @@ -68,6 +68,29 @@ Contributors Release Notes ------------- +**5.0.0** + +* Stable Juno release +* Added heat::policy to control policy.json +* Deprecated the sql_connection parameter for database_connection parameter +* Adds parameters to configure deferred authentication method in heat::engine in accordance with new Juno defaults +* Bumped stdlib dependency to >=4.0.0 +* Added parameters to control whether to configure users +* Added manage_service parameters to various classes to control whether the service was managed, as well as added enabled parameters where not already present +* Added the ability to override the keystone service name in keystone::auth +* Migrated the heat::db::mysql class to use openstacklib::db::mysql and deprecated the mysql_module parameter + +**4.2.0** + +* Added ability to hide secret type parameters from logs +* Fixed database resource relationships +* Added class for extended logging options +* Fixed ssl parameter requirements when using kombu and rabbit + +**4.1.0** + +* Added SSL endpoint support. + **4.0.0** * Stable Icehouse release. diff --git a/heat/manifests/api-cfn.pp b/heat/manifests/api-cfn.pp deleted file mode 100644 index 9ba359aac..000000000 --- a/heat/manifests/api-cfn.pp +++ /dev/null @@ -1,69 +0,0 @@ -# == Class: heat::api-cfn -# -# WARNING: Deprecated class. Use heat::api_cfn instead ! -# Installs & configure the heat CloudFormation API service -# -# === Parameters -# [*enabled*] -# (Optional) Should the service be enabled. -# Defaults to 'true'. -# -# [*keystone_host*] -# -# [*keystone_port*] -# -# [*keystone_protocol*] -# -# [*keystone_user*] -# -# [*keystone_tenant*] -# -# [*keystone_password*] -# -# [*keystone_ec2_uri*] -# -# [*auth_uri*] -# -# [*bind_host*] -# -# [*bind_port*] -# -# [*verbose*] -# -# [*debug*] -# -# -class heat::api-cfn ( - $enabled = true, - $keystone_host = '127.0.0.1', - $keystone_port = '35357', - $keystone_protocol = 'http', - $keystone_user = 'heat', - $keystone_tenant = 'services', - $keystone_password = false, - $keystone_ec2_uri = 'http://127.0.0.1:5000/v2.0/ec2tokens', - $auth_uri = 'http://127.0.0.1:5000/v2.0', - $bind_host = '0.0.0.0', - $bind_port = '8000', - $verbose = false, - $debug = false, -) { - - warning('heat::api-cfn is deprecated. Use heat::api_cfn instead.') - - class { 'heat::api_cfn': - enabled => $enabled, - keystone_host => $keystone_host, - keystone_port => $keystone_port, - keystone_protocol => $keystone_protocol, - keystone_user => $keystone_user, - keystone_tenant => $keystone_tenant, - keystone_password => $keystone_password, - keystone_ec2_uri => $keystone_ec2_uri, - auth_uri => $auth_uri, - bind_host => $bind_host, - bind_port => $bind_port, - verbose => $verbose, - debug => $debug, - } -} diff --git a/heat/manifests/api-cloudwatch.pp b/heat/manifests/api-cloudwatch.pp deleted file mode 100644 index 224481133..000000000 --- a/heat/manifests/api-cloudwatch.pp +++ /dev/null @@ -1,69 +0,0 @@ -# == Class: heat::api-cloudwatch -# -# WARNING: Deprecated class. Use heat::api_cloudwatch instead ! -# Installs & configure the heat CloudWatch API service -# -# === Parameters -# [*enabled*] -# (Optional) Should the service be enabled. -# Defaults to 'true'. -# -# [*keystone_host*] -# -# [*keystone_port*] -# -# [*keystone_protocol*] -# -# [*keystone_user*] -# -# [*keystone_tenant*] -# -# [*keystone_password*] -# -# [*keystone_ec2_uri*] -# -# [*auth_uri*] -# -# [*bind_host*] -# -# [*bind_port*] -# -# [*verbose*] -# -# [*debug*] -# -# -class heat::api-cloudwatch ( - $enabled = true, - $keystone_host = '127.0.0.1', - $keystone_port = '35357', - $keystone_protocol = 'http', - $keystone_user = 'heat', - $keystone_tenant = 'services', - $keystone_password = false, - $keystone_ec2_uri = 'http://127.0.0.1:5000/v2.0/ec2tokens', - $auth_uri = 'http://127.0.0.1:5000/v2.0', - $bind_host = '0.0.0.0', - $bind_port = '8003', - $verbose = false, - $debug = false, -) { - - warning('heat::api-cloudwatch is deprecated. Use heat::api_cloudwatch instead.') - - class { 'heat::api_cloudwatch': - enabled => $enabled, - keystone_host => $keystone_host, - keystone_port => $keystone_port, - keystone_protocol => $keystone_protocol, - keystone_user => $keystone_user, - keystone_tenant => $keystone_tenant, - keystone_password => $keystone_password, - keystone_ec2_uri => $keystone_ec2_uri, - auth_uri => $auth_uri, - bind_host => $bind_host, - bind_port => $bind_port, - verbose => $verbose, - debug => $debug, - } -} From d9185410ac0189fa55dcfc9590a1e6b4148197d6 Mon Sep 17 00:00:00 2001 From: Lukas Bezdicka Date: Tue, 25 Nov 2014 13:49:40 +0100 Subject: [PATCH 5/9] Update horizon to 353c372d582167d5635b1b2ee9474cf6822db032 commit 353c372d582167d5635b1b2ee9474cf6822db032 Merge: 351c711 8530df7 Author: Jenkins Date: Fri Nov 21 05:57:52 2014 +0000 Merge "Put $bind_address in vhost config only if it's explicitly specified" commit 8530df74dedeb5e080fbf0d7e162373bd2c611eb Author: Mike Dorman Date: Fri Sep 19 09:01:10 2014 -0600 Put $bind_address in vhost config only if it's explicitly specified Only add the 'ip' element to the $default_vhost_conf hash if it was explicitly specified in the instantiation of the class. This is because ip => undef gets changed to ip => '' via the Puppet function API when ensure_resource is called. For port => 80, that causes a conflict with the Apache module's default port 80 vhost listener. Change-Id: I504857aca99a7a3c42ee17242bcc0dea33f1b6e4 Closes-Bug: 1371345 --- Puppetfile | 2 +- horizon/manifests/wsgi/apache.pp | 13 +++++++++++-- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/Puppetfile b/Puppetfile index 6c111fec2..905780392 100644 --- a/Puppetfile +++ b/Puppetfile @@ -47,7 +47,7 @@ mod 'heat', :git => 'https://github.com/stackforge/puppet-heat.git' mod 'horizon', - :commit => '351c711004ccd9815e9a0d153bc5452461f7852d', + :commit => '353c372d582167d5635b1b2ee9474cf6822db032', :git => 'https://github.com/stackforge/puppet-horizon.git' mod 'inifile', diff --git a/horizon/manifests/wsgi/apache.pp b/horizon/manifests/wsgi/apache.pp index 935530090..1c51b13b7 100644 --- a/horizon/manifests/wsgi/apache.pp +++ b/horizon/manifests/wsgi/apache.pp @@ -142,8 +142,7 @@ require => [ File[$::horizon::params::logdir], Package['horizon'] ], } - $default_vhost_conf = { - ip => $bind_address, + $default_vhost_conf_no_ip = { servername => $servername, serveraliases => os_any2array($final_server_aliases), docroot => '/var/www/', @@ -170,6 +169,16 @@ redirectmatch_status => 'permanent', } + # Only add the 'ip' element to the $default_vhost_conf hash if it was explicitly + # specified in the instantiation of the class. This is because ip => undef gets + # changed to ip => '' via the Puppet function API when ensure_resource is called. + # See https://bugs.launchpad.net/puppet-horizon/+bug/1371345 + if $bind_address { + $default_vhost_conf = merge($default_vhost_conf_no_ip, { ip => $bind_address }) + } else { + $default_vhost_conf = $default_vhost_conf_no_ip + } + ensure_resource('apache::vhost', $vhost_conf_name, merge ($default_vhost_conf, $extra_params, { redirectmatch_regexp => "${redirect_match} ${redirect_url}", })) From 799ec5ed215724acff5dc43b3a2288a4a557d52d Mon Sep 17 00:00:00 2001 From: Lukas Bezdicka Date: Tue, 25 Nov 2014 13:49:49 +0100 Subject: [PATCH 6/9] Update neutron to 67abde86d53969329bce37725627c2c661e49765 commit 67abde86d53969329bce37725627c2c661e49765 Author: Colleen Murphy Date: Fri Nov 21 15:49:05 2014 -0800 Release 5.0.0 - Juno Changes in this release: * Added neutron::policy to control policy.json * Added parameter allow_automatic_l3agent_failover to neutron::agents::l3 * Added parameter metadata_memory_cache_ttl to neutron::agents::metadata * Added l3_ext as a provider_network_type property for neutron_network type * Changed user_group parameter in neutron::agents::lbaas to have different defaults depending on operating system * Changed openswan package to libreswan for RHEL 7 for vpnaas * Ensured neutron package was installed before nova_admin_tenant_id_setter is called * Added api_extensions_path parameter to neutron class * Added database tuning parameters * Changed management of file lines in /etc/default/neutron-server only for Ubuntu * Add parameters to enable DVR and HA support in neutron::agents::l3 for Juno * Fixed meaning of manage_service parameter in neutron::agents::ovs * Made keystone user creation optional when creating a service * Fixed the enable_dhcp property of neutron_subnet * Added the ability to override the keystone service name in neutron::keystone::auth * Fixed bug in parsing allocation pools in neutron_subnet type * Added relationship to refresh neutron-server when nova_admin_tenant_id_setter changes * Migrated the neutron::db::mysql class to use openstacklib::db::mysql and deprecated the mysql_module parameter * Fixed the relationship between the HA proxy package and the neutron-lbaas-agent package * Added kombu_reconnect_delay parameter to neutron class * Fixed plugin.ini error when cisco class is used * Fixed relationship between vs_pridge types and the neutron-plugin-ovs service * Added neutron::agents::n1kv_vem to deploy N1KV VEM * Added SSL support for nova_admin_tenant_id_setter * Fixed relationship between neutron-server package and neutron_plugin_ml2 types * Stopped puppet from trying to manage the ovs cleanup service * Deprecated the network_device_mtu parameter in neutron::agents::l3 and moved it to the neutron class * Added vpnaas_agent_package parameter to neutron::services::fwaas to install the vpnaas agent package Change-Id: Ia9c491db751cce07c67236ed5ccfe2fb73e782ba commit bbecaab2ff2d755e8c19e50458bbbd1b7e43fb2a Merge: 663b4b1 0a8aadd Author: Jenkins Date: Wed Nov 19 02:41:00 2014 +0000 Merge "Adding l3_ext network type support for neutron VMWare NSX plugin" commit 0a8aadd4da9ad9c5bf3d62f2cd9179395da42cee Author: Stepan Rogov Date: Tue Oct 14 13:21:09 2014 +0400 Adding l3_ext network type support for neutron VMWare NSX plugin http://docs.openstack.org/admin-guide-cloud/content/section_plugin_specific_extensions.html#section_vmware_nsx_plugin_l3_extension Change-Id: Ibabe05ebfa6315285c72465da2eadc989b3a9312 --- Puppetfile | 2 +- neutron/README.md | 64 +++++++++++++++++++++- neutron/lib/puppet/type/neutron_network.rb | 2 +- 3 files changed, 65 insertions(+), 3 deletions(-) diff --git a/Puppetfile b/Puppetfile index 905780392..7e75b0e0e 100644 --- a/Puppetfile +++ b/Puppetfile @@ -87,7 +87,7 @@ mod 'nagios', :git => 'https://github.com/gildub/puppet-nagios-openstack.git' mod 'neutron', - :commit => '663b4b16d22f78dbbb89c58170690a3c0a1e0ff2', + :commit => '67abde86d53969329bce37725627c2c661e49765', :git => 'https://github.com/stackforge/puppet-neutron.git' mod 'nova', diff --git a/neutron/README.md b/neutron/README.md index 5b574af1f..7fedc8c15 100644 --- a/neutron/README.md +++ b/neutron/README.md @@ -1,7 +1,7 @@ neutron =================================== -4.0.0 - 2014.1.0 - Icehouse +5.0.0 - 2014.2.0 - Juno #### Table of Contents @@ -123,6 +123,68 @@ The github [contributor graph](https://github.com/stackforge/puppet-neutron/grap Release Notes ------------- +**5.0.0** + +* Stable Juno release +* Added neutron::policy to control policy.json +* Added parameter allow_automatic_l3agent_failover to neutron::agents::l3 +* Added parameter metadata_memory_cache_ttl to neutron::agents::metadata +* Added l3_ext as a provider_network_type property for neutron_network type +* Changed user_group parameter in neutron::agents::lbaas to have different defaults depending on operating system +* Changed openswan package to libreswan for RHEL 7 for vpnaas +* Ensured neutron package was installed before nova_admin_tenant_id_setter is called +* Added api_extensions_path parameter to neutron class +* Added database tuning parameters +* Changed management of file lines in /etc/default/neutron-server only for Ubuntu +* Add parameters to enable DVR and HA support in neutron::agents::l3 for Juno +* Fixed meaning of manage_service parameter in neutron::agents::ovs +* Made keystone user creation optional when creating a service +* Fixed the enable_dhcp property of neutron_subnet +* Added the ability to override the keystone service name in neutron::keystone::auth +* Fixed bug in parsing allocation pools in neutron_subnet type +* Added relationship to refresh neutron-server when nova_admin_tenant_id_setter changes +* Migrated the neutron::db::mysql class to use openstacklib::db::mysql and deprecated the mysql_module parameter +* Fixed the relationship between the HA proxy package and the neutron-lbaas-agent package +* Added kombu_reconnect_delay parameter to neutron class +* Fixed plugin.ini error when cisco class is used +* Fixed relationship between vs_pridge types and the neutron-plugin-ovs service +* Added neutron::agents::n1kv_vem to deploy N1KV VEM +* Added SSL support for nova_admin_tenant_id_setter +* Fixed relationship between neutron-server package and neutron_plugin_ml2 types +* Stopped puppet from trying to manage the ovs cleanup service +* Deprecated the network_device_mtu parameter in neutron::agents::l3 and moved it to the neutron class +* Added vpnaas_agent_package parameter to neutron::services::fwaas to install the vpnaas agent package + +**4.3.0** + +* Added parameter to specify number of RPC workers to spawn +* Added ability to manage Neutron ML2 plugin +* Fixed ssl parameter requirements when using kombu and rabbit +* Added ability to hide secret neutron configs from logs and fixed password leaking +* Added neutron plugin config file specification in neutron-server config +* Fixed installation of ML2 plugin on Ubuntu +* Added support for Cisco ML2 Mech Driver +* Fixed quotas parameters in neutron config +* Added parameter to configure dhcp_agent_notification in neutron config +* Added class for linuxbridge support +* Fixed neutron-server restart +* Undeprecated enable_security_group parameter + +**4.2.0** + +* Added ml2/ovs support. +* Added multi-region support. +* Set default metadata backlog to 4096. +* Fixed neutron-server refresh bug. + +**4.1.0** + +* Added parameter to set veth MTU. +* Added RabbitMQ SSL support. +* Added support for '' as a valid value for gateway_ip. +* Fixed potential OVS resource duplication. +* Pinned major gems. + **4.0.0** * Stable Icehouse release. diff --git a/neutron/lib/puppet/type/neutron_network.rb b/neutron/lib/puppet/type/neutron_network.rb index d151e5c6c..f0d8bf560 100644 --- a/neutron/lib/puppet/type/neutron_network.rb +++ b/neutron/lib/puppet/type/neutron_network.rb @@ -40,7 +40,7 @@ newproperty(:provider_network_type) do desc 'The physical mechanism by which the virtual network is realized.' - newvalues(:flat, :vlan, :local, :gre) + newvalues(:flat, :vlan, :local, :gre, :l3_ext) end newproperty(:provider_physical_network) do From 6e3e008e2c61ab83521365c72376a0c0c3a7ab0d Mon Sep 17 00:00:00 2001 From: Lukas Bezdicka Date: Tue, 25 Nov 2014 13:49:59 +0100 Subject: [PATCH 7/9] Update nova to 181991927131206d4ea59a679e8108e36dc86c77 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit commit 181991927131206d4ea59a679e8108e36dc86c77 Merge: 0d1a71f 6533ac3 Author: Jenkins Date: Mon Nov 24 18:07:59 2014 +0000 Merge "Release 5.0.0 - Juno" commit 6533ac378db330fe3d8f47eae1c8297415d8fd08 Author: Colleen Murphy Date: Fri Nov 21 16:32:56 2014 -0800 Release 5.0.0 - Juno Changes in this release: * Stable Juno release * Added tags to all nova packages * Added parameter dhcp_domain to nova class * Updated the [glance] and [neutron] section parameters for Juno * Fixed potential duplicate declaration errors for sysctl::value in nova::network * Fixed dependency cycle in nova::migration::libvirt * Updated the libvirtd init script path for Debian * Added parameters for nova service validation to nova::api * Added nova::policy to control policy.json * Fixed the rabbit_virtual_host default in nova::cells * Bumped stdlib dependency to >=4.0.0 * Added force_raw_images parameter to nova::compute class * Replaced usage of the keyword type with the string 'type' since type is a reserved keyword in puppet 3.7 * Added parameter ec2_workers to nova::api * Fixed bug in usage of --vlan versus --vlan_start in nova_network provider * Added parameter rabbit_ha_queues to nova class * Added parameter pool to nova_floating type * Added parameters to control whether to configure keystone users * Added nova::cron::archive_deleted_rows class to create a crontab for archiving deleted database rows * Changed the keystone_service to only be configured if the endpoint is to be configured * Added parameter keystone_ec2_url to nova::api * Added the ability to override the keystone service name in ceilometer::keystone::auth * Removed dynamic scoping of File resources in nova class * Add parameter workers to in nova::conductor and deprecate conductor_workers in nova::api * Update nova quota parameters for Juno * Migrated the ceilometer::db::mysql class to use openstacklib::db::mysql and deprecated the mysql_module parameter * Removed deprecation notice for sectionless nova_config names * Added parameter vnc_keymap in nova::compute * Added parameter osapi_v3 to nova::api Change-Id: I8eec51429b52b5a4b5616fc6561075bf44c5ffda commit 0d1a71f4f6f59c7ec87d571dc63707e200f753b2 Merge: ce7c034 65fc70f Author: Jenkins Date: Thu Nov 20 12:23:09 2014 +0000 Merge "Set force_snat_range parameter" commit ce7c034071aff9f0cefa030633260e382e43056f Merge: d135816 9aba3db Author: Jenkins Date: Wed Nov 19 17:10:25 2014 +0000 Merge "Service Validation for Nova-API" commit d135816de1c95cd75461c733bcf165e2173a322d Merge: d50cec9 5c8ee34 Author: Jenkins Date: Tue Nov 18 22:06:00 2014 +0000 Merge "Tag all nova packages" commit d50cec90b5ced618b6cdecc354644a5691f1b891 Merge: 261ae91 e39cc68 Author: Jenkins Date: Tue Nov 18 21:54:12 2014 +0000 Merge "Update [neutron] section in nova.conf for Juno" commit e39cc688cd9a979b99e0ef62750b11dd5730801f Author: Emilien Macchi Date: Tue Oct 28 17:04:21 2014 -0400 Update [neutron] section in nova.conf for Juno Use new parameters for Juno like it's documented here: http://docs.openstack.org/trunk/config-reference/content/nova-conf-changes-master.html * Use [neutron] section * Delete the neutron_prefix when needed Closes-bug #1391099 Change-Id: Ib63a80ea28b5aa5c033df3ec503031a99f4824c9 commit 9aba3db2dd9b2cf991932856a7a968238ef71d23 Author: Emilien Macchi Date: Mon Oct 6 23:22:59 2014 -0400 Service Validation for Nova-API As an option, validate Nova API service with a default or custom command, and if the service is up and running, create a Puppet Anchor. Change-Id: Ifec05a8409f1d6fabd62f2005478c3dca8104a27 commit 65fc70f4d84177e3d512bf930244174fe57f24c8 Author: Sergii Golovatiuk Date: Thu Oct 23 12:36:48 2014 +0200 Set force_snat_range parameter Due to change 59ac254bf15bb059cca12a82c9d819c371ea5c6f merged in Juno Nova-network checks whether network has external gateway and does (which it has by default) and does not create SNAT rules for the instances if list of force snat ranges is empty now. This change sets force_snat_range to ANY network and thus new code adds corresponding rules. Change-Id: I339dd09543f2900cab3ba6164207e962229e4386 Closes-Bug: 1384661 Signed-off-by: Sergii Golovatiuk commit 5c8ee34222bffd0da5904fa1ad23bbf631ee3a46 Author: Mathieu Gagné Date: Thu Nov 13 11:55:04 2014 -0500 Tag all nova packages Some users wish to override the default package provider by their own. Tag all packages with the 'openstack' and its corresponding service name to allow mass resource attributes override using resource collectors. Change-Id: I3a8041be7b9fcb304d2cf0dbdd4a021cd8594c02 Closes-bug: #1391209 --- Puppetfile | 2 +- nova/README.md | 54 ++++++++++++++++++- nova/manifests/api.pp | 45 +++++++++++++--- nova/manifests/client.pp | 1 + nova/manifests/compute/libvirt.pp | 1 + nova/manifests/compute/neutron.pp | 26 ++++++++- nova/manifests/generic_service.pp | 1 + nova/manifests/init.pp | 6 ++- nova/manifests/network/neutron.pp | 38 ++++++------- nova/spec/classes/nova_api_spec.rb | 54 ++++++++++++++++--- nova/spec/classes/nova_cells_spec.rb | 3 +- nova/spec/classes/nova_client_spec.rb | 7 ++- .../spec/classes/nova_compute_libvirt_spec.rb | 3 +- .../spec/classes/nova_compute_neutron_spec.rb | 38 ++++++++++++- nova/spec/classes/nova_compute_spec.rb | 6 ++- nova/spec/classes/nova_init_spec.rb | 3 +- .../spec/classes/nova_network_neutron_spec.rb | 44 +++++++-------- nova/spec/shared_examples.rb | 3 +- 18 files changed, 268 insertions(+), 67 deletions(-) diff --git a/Puppetfile b/Puppetfile index 7e75b0e0e..f781fcfaa 100644 --- a/Puppetfile +++ b/Puppetfile @@ -91,7 +91,7 @@ mod 'neutron', :git => 'https://github.com/stackforge/puppet-neutron.git' mod 'nova', - :commit => '261ae911fc5c325f6dd739a9b05f508a80a25034', + :commit => '181991927131206d4ea59a679e8108e36dc86c77', :git => 'https://github.com/stackforge/puppet-nova.git' mod 'nssdb', diff --git a/nova/README.md b/nova/README.md index 987d7cb8e..777b1e16a 100644 --- a/nova/README.md +++ b/nova/README.md @@ -1,7 +1,7 @@ nova ==== -4.0.0 - 2014.1.0 - Icehouse +5.0.0 - 2014.2.0 - Juno #### Table of Contents @@ -90,6 +90,58 @@ Contributors Release Notes ------------- +**5.0.0** + +* Stable Juno release +* Added tags to all nova packages +* Added parameter dhcp_domain to nova class +* Updated the [glance] and [neutron] section parameters for Juno +* Fixed potential duplicate declaration errors for sysctl::value in nova::network +* Fixed dependency cycle in nova::migration::libvirt +* Updated the libvirtd init script path for Debian +* Added parameters for nova service validation to nova::api +* Added nova::policy to control policy.json +* Fixed the rabbit_virtual_host default in nova::cells +* Bumped stdlib dependency to >=4.0.0 +* Added force_raw_images parameter to nova::compute class +* Replaced usage of the keyword type with the string 'type' since type is a reserved keyword in puppet 3.7 +* Added parameter ec2_workers to nova::api +* Fixed bug in usage of --vlan versus --vlan_start in nova_network provider +* Added parameter rabbit_ha_queues to nova class +* Added parameter pool to nova_floating type +* Added parameters to control whether to configure keystone users +* Added nova::cron::archive_deleted_rows class to create a crontab for archiving deleted database rows +* Changed the keystone_service to only be configured if the endpoint is to be configured +* Added parameter keystone_ec2_url to nova::api +* Added the ability to override the keystone service name in ceilometer::keystone::auth +* Removed dynamic scoping of File resources in nova class +* Add parameter workers to in nova::conductor and deprecate conductor_workers in nova::api +* Update nova quota parameters for Juno +* Migrated the ceilometer::db::mysql class to use openstacklib::db::mysql and deprecated the mysql_module parameter +* Removed deprecation notice for sectionless nova_config names +* Added parameter vnc_keymap in nova::compute +* Added parameter osapi_v3 to nova::api + +**4.2.0** + +* Added option to configure libvirt service name via class parameters +* Added support for multiple SSL APIs +* Added option to configure os_region_name in the nova config +* Corrected resource dependencies on the nova user +* Fixed os version fact comparison for RedHat-based operating systems + for specifying service provider +* Fixed ssl parameter requirements when using kombu and rabbit +* Added class for extended logging options + +**4.1.0** + +* Added API v3 endpoint support. +* Added configuration of rbd keyring name. +* Added support for run Nova SSL endpoints. +* Updated RabbitMQ dependency. +* Updated mysql charset to UTF8. +* Pinned major gems. + **4.0.0** * Stable Icehouse release. diff --git a/nova/manifests/api.pp b/nova/manifests/api.pp index d3c055665..fb8b77247 100644 --- a/nova/manifests/api.pp +++ b/nova/manifests/api.pp @@ -120,6 +120,26 @@ # (optional) Enable or not Nova API v3 # Defaults to false # +# [*validate*] +# (optional) Whether to validate the service is working after any service refreshes +# Defaults to false +# +# [*validation_options*] +# (optional) Service validation options +# Should be a hash of options defined in openstacklib::service_validation +# If empty, defaults values are taken from openstacklib function. +# Default command list nova flavors. +# Require validate set at True. +# Example: +# nova::api::validation_options: +# nova-api: +# command: check_nova.py +# path: /usr/bin:/bin:/usr/sbin:/sbin +# provider: shell +# tries: 5 +# try_sleep: 10 +# Defaults to {} +# class nova::api( $admin_password, $enabled = false, @@ -149,6 +169,8 @@ $ratelimits = undef, $ratelimits_factory = 'nova.api.openstack.compute.limits:RateLimitingMiddleware.factory', + $validate = false, + $validation_options = {}, # DEPRECATED PARAMETER $workers = undef, $conductor_workers = undef, @@ -209,22 +231,23 @@ if ($neutron_metadata_proxy_shared_secret){ nova_config { - 'DEFAULT/service_neutron_metadata_proxy': value => true; - 'DEFAULT/neutron_metadata_proxy_shared_secret': + 'neutron/service_metadata_proxy': value => true; + 'neutron/metadata_proxy_shared_secret': value => $neutron_metadata_proxy_shared_secret; } } else { nova_config { - 'DEFAULT/service_neutron_metadata_proxy': value => false; - 'DEFAULT/neutron_metadata_proxy_shared_secret': ensure => absent; + 'neutron/service_metadata_proxy': value => false; + 'neutron/metadata_proxy_shared_secret': ensure => absent; } } if $auth_uri { - nova_config { 'keystone_authtoken/auth_uri': value => $auth_uri; } + $auth_uri_real = $auth_uri } else { - nova_config { 'keystone_authtoken/auth_uri': value => "${auth_protocol}://${auth_host}:5000/"; } + $auth_uri_real = "${auth_protocol}://${auth_host}:5000/" } + nova_config { 'keystone_authtoken/auth_uri': value => $auth_uri_real; } if $auth_version { nova_config { 'keystone_authtoken/auth_version': value => $auth_version; } @@ -312,4 +335,14 @@ 'filter:authtoken/auth_admin_prefix': ensure => absent; } + if $validate { + $defaults = { + 'nova-api' => { + 'command' => "nova --os-auth-url ${auth_uri_real} --os-tenant-name ${admin_tenant_name} --os-username ${admin_user} --os-password ${admin_password} flavor-list", + } + } + $validation_options_hash = merge ($defaults, $validation_options) + create_resources('openstacklib::service_validation', $validation_options_hash, {'subscribe' => 'Service[nova-api]'}) + } + } diff --git a/nova/manifests/client.pp b/nova/manifests/client.pp index d9833d8de..35748c095 100644 --- a/nova/manifests/client.pp +++ b/nova/manifests/client.pp @@ -14,6 +14,7 @@ package { 'python-novaclient': ensure => $ensure, + tag => ['openstack', 'nova'], } } diff --git a/nova/manifests/compute/libvirt.pp b/nova/manifests/compute/libvirt.pp index c853c740a..c27bb4c68 100644 --- a/nova/manifests/compute/libvirt.pp +++ b/nova/manifests/compute/libvirt.pp @@ -110,6 +110,7 @@ ensure => present, before => Package['nova-compute'], require => Package['nova-common'], + tag => ['openstack', 'nova'], } } diff --git a/nova/manifests/compute/neutron.pp b/nova/manifests/compute/neutron.pp index 59623b00a..91ee91cfc 100644 --- a/nova/manifests/compute/neutron.pp +++ b/nova/manifests/compute/neutron.pp @@ -10,9 +10,14 @@ # (optional) The libvirt VIF driver to configure the VIFs. # Defaults to 'nova.virt.libvirt.vif.LibvirtGenericVIFDriver'. # - +# [*force_snat_range*] +# (optional) Force SNAT rule to specified network for nova-network +# Default to 0.0.0.0/0 +# Due to architecture constraints in nova_config, it's not possible to setup +# more than one SNAT rule though initial parameter is MultiStrOpt class nova::compute::neutron ( - $libvirt_vif_driver = 'nova.virt.libvirt.vif.LibvirtGenericVIFDriver' + $libvirt_vif_driver = 'nova.virt.libvirt.vif.LibvirtGenericVIFDriver', + $force_snat_range = '0.0.0.0/0', ) { if $libvirt_vif_driver == 'nova.virt.libvirt.vif.LibvirtOpenVswitchDriver' { @@ -22,4 +27,21 @@ nova_config { 'libvirt/vif_driver': value => $libvirt_vif_driver; } + + if $libvirt_vif_driver == 'nova.virt.libvirt.vif.LibvirtGenericVIFDriver' and $force_snat_range { + # Validate ip and mask for force_snat_range + $force_snat_range_array = split($force_snat_range, '/') + if is_ip_address($force_snat_range_array[0]) and is_integer($force_snat_range_array[1]) { + nova_config { + 'DEFAULT/force_snat_range': value => $force_snat_range; + } + } else { + fail('force_snat_range should be IPv4 or IPv6 CIDR notation') + } + } else { + nova_config { + 'DEFAULT/force_snat_range': ensure => absent; + } + } + } diff --git a/nova/manifests/generic_service.pp b/nova/manifests/generic_service.pp index 2ead9bda5..3328ba5f7 100644 --- a/nova/manifests/generic_service.pp +++ b/nova/manifests/generic_service.pp @@ -37,6 +37,7 @@ ensure => $ensure_package, name => $package_name, notify => Service[$nova_title], + tag => ['openstack', 'nova'], } } } diff --git a/nova/manifests/init.pp b/nova/manifests/init.pp index c97a2e312..85f7b6129 100644 --- a/nova/manifests/init.pp +++ b/nova/manifests/init.pp @@ -473,13 +473,15 @@ package { 'python-nova': ensure => $ensure_package, - require => Package['python-greenlet'] + require => Package['python-greenlet'], + tag => ['openstack', 'nova'], } package { 'nova-common': ensure => $ensure_package, name => $::nova::params::common_package_name, - require => [Package['python-nova'], Anchor['nova-start']] + require => [Package['python-nova'], Anchor['nova-start']], + tag => ['openstack', 'nova'], } file { '/etc/nova/nova.conf': diff --git a/nova/manifests/network/neutron.pp b/nova/manifests/network/neutron.pp index 3e631b201..bf95e900b 100644 --- a/nova/manifests/network/neutron.pp +++ b/nova/manifests/network/neutron.pp @@ -107,29 +107,29 @@ ) { nova_config { - 'DEFAULT/neutron_auth_strategy': value => $neutron_auth_strategy; - 'DEFAULT/network_api_class': value => 'nova.network.neutronv2.api.API'; - 'DEFAULT/neutron_url': value => $neutron_url; - 'DEFAULT/neutron_url_timeout': value => $neutron_url_timeout; - 'DEFAULT/neutron_admin_tenant_name': value => $neutron_admin_tenant_name; - 'DEFAULT/neutron_default_tenant_id': value => $neutron_default_tenant_id; - 'DEFAULT/neutron_region_name': value => $neutron_region_name; - 'DEFAULT/neutron_admin_username': value => $neutron_admin_username; - 'DEFAULT/neutron_admin_password': value => $neutron_admin_password, secret => true; - 'DEFAULT/neutron_admin_auth_url': value => $neutron_admin_auth_url; - 'DEFAULT/neutron_ovs_bridge': value => $neutron_ovs_bridge; - 'DEFAULT/neutron_extension_sync_interval': value => $neutron_extension_sync_interval; - 'DEFAULT/security_group_api': value => $security_group_api; - 'DEFAULT/firewall_driver': value => $firewall_driver; - 'DEFAULT/vif_plugging_is_fatal': value => $vif_plugging_is_fatal; - 'DEFAULT/vif_plugging_timeout': value => $vif_plugging_timeout; - 'DEFAULT/dhcp_domain': value => $dhcp_domain; + 'DEFAULT/dhcp_domain': value => $dhcp_domain; + 'DEFAULT/firewall_driver': value => $firewall_driver; + 'DEFAULT/network_api_class': value => 'nova.network.neutronv2.api.API'; + 'DEFAULT/security_group_api': value => $security_group_api; + 'DEFAULT/vif_plugging_is_fatal': value => $vif_plugging_is_fatal; + 'DEFAULT/vif_plugging_timeout': value => $vif_plugging_timeout; + 'neutron/auth_strategy': value => $neutron_auth_strategy; + 'neutron/url': value => $neutron_url; + 'neutron/url_timeout': value => $neutron_url_timeout; + 'neutron/admin_tenant_name': value => $neutron_admin_tenant_name; + 'neutron/default_tenant_id': value => $neutron_default_tenant_id; + 'neutron/region_name': value => $neutron_region_name; + 'neutron/admin_username': value => $neutron_admin_username; + 'neutron/admin_password': value => $neutron_admin_password, secret => true; + 'neutron/admin_auth_url': value => $neutron_admin_auth_url; + 'neutron/ovs_bridge': value => $neutron_ovs_bridge; + 'neutron/extension_sync_interval': value => $neutron_extension_sync_interval; } if ! $neutron_ca_certificates_file { - nova_config { 'DEFAULT/neutron_ca_certificates_file': ensure => absent } + nova_config { 'neutron/ca_certificates_file': ensure => absent } } else { - nova_config { 'DEFAULT/neutron_ca_certificates_file': value => $neutron_ca_certificates_file } + nova_config { 'neutron/ca_certificates_file': value => $neutron_ca_certificates_file } } } diff --git a/nova/spec/classes/nova_api_spec.rb b/nova/spec/classes/nova_api_spec.rb index 54f937ee6..532ad95e8 100644 --- a/nova/spec/classes/nova_api_spec.rb +++ b/nova/spec/classes/nova_api_spec.rb @@ -28,8 +28,10 @@ should contain_package('nova-api').with( :name => platform_params[:nova_api_package], :ensure => 'present', - :notify => 'Service[nova-api]' + :notify => 'Service[nova-api]', + :tag => ['openstack', 'nova'] ) + should_not contain_exec('validate_nova_api') end it 'configures keystone_authtoken middleware' do @@ -68,8 +70,8 @@ end it 'unconfigures neutron_metadata proxy' do - should contain_nova_config('DEFAULT/service_neutron_metadata_proxy').with(:value => false) - should contain_nova_config('DEFAULT/neutron_metadata_proxy_shared_secret').with(:ensure => 'absent') + should contain_nova_config('neutron/service_metadata_proxy').with(:value => false) + should contain_nova_config('neutron/metadata_proxy_shared_secret').with(:ensure => 'absent') end end @@ -114,7 +116,8 @@ it 'installs nova-api package and service' do should contain_package('nova-api').with( :name => platform_params[:nova_api_package], - :ensure => '2012.1-2' + :ensure => '2012.1-2', + :tag => ['openstack', 'nova'] ) should contain_service('nova-api').with( :name => platform_params[:nova_api_service], @@ -155,8 +158,8 @@ should contain_nova_config('DEFAULT/use_forwarded_for').with('value' => false) should contain_nova_config('DEFAULT/osapi_compute_workers').with('value' => '1') should contain_nova_config('DEFAULT/metadata_workers').with('value' => '2') - should contain_nova_config('DEFAULT/service_neutron_metadata_proxy').with('value' => true) - should contain_nova_config('DEFAULT/neutron_metadata_proxy_shared_secret').with('value' => 'secrete') + should contain_nova_config('neutron/service_metadata_proxy').with('value' => true) + should contain_nova_config('neutron/metadata_proxy_shared_secret').with('value' => 'secrete') should contain_nova_config('DEFAULT/keystone_ec2_url').with('value' => 'https://example.com:5000/v2.0/ec2tokens') end @@ -182,6 +185,45 @@ end end + context 'while validating the service with default command' do + before do + params.merge!({ + :validate => true, + }) + end + it { should contain_exec('execute nova-api validation').with( + :path => '/usr/bin:/bin:/usr/sbin:/sbin', + :provider => 'shell', + :tries => '10', + :try_sleep => '2', + :command => 'nova --os-auth-url http://127.0.0.1:5000/ --os-tenant-name services --os-username nova --os-password passw0rd flavor-list', + )} + + it { should contain_anchor('create nova-api anchor').with( + :require => 'Exec[execute nova-api validation]', + )} + end + + context 'while validating the service with custom command' do + before do + params.merge!({ + :validate => true, + :validation_options => { 'nova-api' => { 'command' => 'my-script' } } + }) + end + it { should contain_exec('execute nova-api validation').with( + :path => '/usr/bin:/bin:/usr/sbin:/sbin', + :provider => 'shell', + :tries => '10', + :try_sleep => '2', + :command => 'my-script', + )} + + it { should contain_anchor('create nova-api anchor').with( + :require => 'Exec[execute nova-api validation]', + )} + end + context 'while not managing service state' do before do params.merge!({ diff --git a/nova/spec/classes/nova_cells_spec.rb b/nova/spec/classes/nova_cells_spec.rb index 626264af5..45328650f 100644 --- a/nova/spec/classes/nova_cells_spec.rb +++ b/nova/spec/classes/nova_cells_spec.rb @@ -60,7 +60,8 @@ it 'installs nova-cells package' do should contain_package('nova-cells').with( :ensure => 'present', - :name => platform_params[:cells_package_name] + :name => platform_params[:cells_package_name], + :tag => ['openstack', 'nova'] ) end diff --git a/nova/spec/classes/nova_client_spec.rb b/nova/spec/classes/nova_client_spec.rb index 2057e2c01..4caae33aa 100644 --- a/nova/spec/classes/nova_client_spec.rb +++ b/nova/spec/classes/nova_client_spec.rb @@ -3,7 +3,12 @@ describe 'nova::client' do context 'with default parameters' do - it { should contain_package('python-novaclient').with_ensure('present') } + it { + should contain_package('python-novaclient').with( + :ensure => 'present', + :tag => ['openstack', 'nova'] + ) + } end context 'with ensure parameter provided' do diff --git a/nova/spec/classes/nova_compute_libvirt_spec.rb b/nova/spec/classes/nova_compute_libvirt_spec.rb index bdf7362d7..2ceb3983e 100644 --- a/nova/spec/classes/nova_compute_libvirt_spec.rb +++ b/nova/spec/classes/nova_compute_libvirt_spec.rb @@ -16,7 +16,8 @@ it { should contain_package('nova-compute-kvm').with( :ensure => 'present', - :before => 'Package[nova-compute]' + :before => 'Package[nova-compute]', + :tag => ['openstack', 'nova'] ) } it { should contain_package('libvirt').with( diff --git a/nova/spec/classes/nova_compute_neutron_spec.rb b/nova/spec/classes/nova_compute_neutron_spec.rb index b67c9fc4b..030968fa8 100644 --- a/nova/spec/classes/nova_compute_neutron_spec.rb +++ b/nova/spec/classes/nova_compute_neutron_spec.rb @@ -1,13 +1,17 @@ require 'spec_helper' describe 'nova::compute::neutron' do - it { should contain_nova_config('libvirt/vif_driver').with_value('nova.virt.libvirt.vif.LibvirtGenericVIFDriver')} + context 'with default parameters' do + it { should contain_nova_config('libvirt/vif_driver').with_value('nova.virt.libvirt.vif.LibvirtGenericVIFDriver')} + it { should contain_nova_config('DEFAULT/force_snat_range').with(:value => '0.0.0.0/0') } + end context 'when overriding params' do let :params do {:libvirt_vif_driver => 'foo' } end it { should contain_nova_config('libvirt/vif_driver').with_value('foo')} + it { should contain_nova_config('DEFAULT/force_snat_range').with_ensure(:absent) } end context 'when overriding with a removed libvirt_vif_driver param' do @@ -19,4 +23,36 @@ end end + context 'with force_snat_range parameter set to false' do + let :params do + { :force_snat_range => false, } + end + it { should contain_nova_config('DEFAULT/force_snat_range').with_ensure('absent') } + end + + context 'with force_snat_range parameter set to 10.0.0.0/24' do + let :params do + { :force_snat_range => '10.0.0.0/24', } + end + + it { should contain_nova_config('DEFAULT/force_snat_range').with_value('10.0.0.0/24') } + end + + context 'with force_snat_range parameter set to fe80::/64' do + let :params do + { :force_snat_range => 'fe80::/64', } + end + + it { should contain_nova_config('DEFAULT/force_snat_range').with_value('fe80::/64') } + end + + context 'with force_snat_range parameter set ip without mask' do + let :params do + { :force_snat_range => '10.0.0.0', } + end + + it { expect { should contain_nova_config('DEFAULT/force_snat_range') }.to \ + raise_error(Puppet::Error, /force_snat_range should be IPv4 or IPv6/) } + end + end diff --git a/nova/spec/classes/nova_compute_spec.rb b/nova/spec/classes/nova_compute_spec.rb index c1fc79d57..253f65506 100644 --- a/nova/spec/classes/nova_compute_spec.rb +++ b/nova/spec/classes/nova_compute_spec.rb @@ -18,7 +18,8 @@ :enable => false }) should contain_package('nova-compute').with({ - :name => platform_params[:nova_compute_package] + :name => platform_params[:nova_compute_package], + :tag => ['openstack', 'nova'] }) end @@ -55,7 +56,8 @@ }) should contain_package('nova-compute').with({ :name => platform_params[:nova_compute_package], - :ensure => '2012.1-2' + :ensure => '2012.1-2', + :tag => ['openstack', 'nova'] }) end diff --git a/nova/spec/classes/nova_init_spec.rb b/nova/spec/classes/nova_init_spec.rb index bc7ea192b..dad359bc5 100644 --- a/nova/spec/classes/nova_init_spec.rb +++ b/nova/spec/classes/nova_init_spec.rb @@ -18,7 +18,8 @@ ) should contain_package('nova-common').with( :name => platform_params[:nova_common_package], - :ensure => 'present' + :ensure => 'present', + :tag => ['openstack', 'nova'] ) end diff --git a/nova/spec/classes/nova_network_neutron_spec.rb b/nova/spec/classes/nova_network_neutron_spec.rb index af12aaf2e..e5fcd9dfd 100644 --- a/nova/spec/classes/nova_network_neutron_spec.rb +++ b/nova/spec/classes/nova_network_neutron_spec.rb @@ -28,23 +28,23 @@ context 'with required parameters' do it 'configures neutron endpoint in nova.conf' do - should contain_nova_config('DEFAULT/neutron_admin_password').with_value(params[:neutron_admin_password]).with_secret(true) + should contain_nova_config('neutron/admin_password').with_value(params[:neutron_admin_password]).with_secret(true) should contain_nova_config('DEFAULT/network_api_class').with_value('nova.network.neutronv2.api.API') - should contain_nova_config('DEFAULT/neutron_auth_strategy').with_value(default_params[:neutron_auth_strategy]) - should contain_nova_config('DEFAULT/neutron_url').with_value(default_params[:neutron_url]) - should contain_nova_config('DEFAULT/neutron_url_timeout').with_value(default_params[:neutron_url_timeout]) - should contain_nova_config('DEFAULT/neutron_admin_tenant_name').with_value(default_params[:neutron_admin_tenant_name]) - should contain_nova_config('DEFAULT/neutron_default_tenant_id').with_value(default_params[:neutron_default_tenant_id]) - should contain_nova_config('DEFAULT/neutron_region_name').with_value(default_params[:neutron_region_name]) - should contain_nova_config('DEFAULT/neutron_admin_username').with_value(default_params[:neutron_admin_username]) - should contain_nova_config('DEFAULT/neutron_admin_auth_url').with_value(default_params[:neutron_admin_auth_url]) - should contain_nova_config('DEFAULT/neutron_extension_sync_interval').with_value(default_params[:neutron_extension_sync_interval]) should contain_nova_config('DEFAULT/dhcp_domain').with_value(default_params[:dhcp_domain]) + should contain_nova_config('neutron/auth_strategy').with_value(default_params[:neutron_auth_strategy]) + should contain_nova_config('neutron/url').with_value(default_params[:neutron_url]) + should contain_nova_config('neutron/url_timeout').with_value(default_params[:neutron_url_timeout]) + should contain_nova_config('neutron/admin_tenant_name').with_value(default_params[:neutron_admin_tenant_name]) + should contain_nova_config('neutron/default_tenant_id').with_value(default_params[:neutron_default_tenant_id]) + should contain_nova_config('neutron/region_name').with_value(default_params[:neutron_region_name]) + should contain_nova_config('neutron/admin_username').with_value(default_params[:neutron_admin_username]) + should contain_nova_config('neutron/admin_auth_url').with_value(default_params[:neutron_admin_auth_url]) + should contain_nova_config('neutron/extension_sync_interval').with_value(default_params[:neutron_extension_sync_interval]) end it 'configures Nova to use Neutron Bridge Security Groups and Firewall' do should contain_nova_config('DEFAULT/firewall_driver').with_value(default_params[:firewall_driver]) should contain_nova_config('DEFAULT/security_group_api').with_value(default_params[:security_group_api]) - should contain_nova_config('DEFAULT/neutron_ovs_bridge').with_value(default_params[:neutron_ovs_bridge]) + should contain_nova_config('neutron/ovs_bridge').with_value(default_params[:neutron_ovs_bridge]) end it 'configures neutron vif plugging events in nova.conf' do should contain_nova_config('DEFAULT/vif_plugging_is_fatal').with_value(default_params[:vif_plugging_is_fatal]) @@ -73,23 +73,23 @@ end it 'configures neutron endpoint in nova.conf' do - should contain_nova_config('DEFAULT/neutron_auth_strategy').with_value(default_params[:neutron_auth_strategy]) - should contain_nova_config('DEFAULT/neutron_admin_password').with_value(params[:neutron_admin_password]).with_secret(true) + should contain_nova_config('neutron/auth_strategy').with_value(default_params[:neutron_auth_strategy]) + should contain_nova_config('neutron/admin_password').with_value(params[:neutron_admin_password]).with_secret(true) should contain_nova_config('DEFAULT/network_api_class').with_value('nova.network.neutronv2.api.API') - should contain_nova_config('DEFAULT/neutron_url').with_value(params[:neutron_url]) - should contain_nova_config('DEFAULT/neutron_url_timeout').with_value(params[:neutron_url_timeout]) - should contain_nova_config('DEFAULT/neutron_admin_tenant_name').with_value(params[:neutron_admin_tenant_name]) - should contain_nova_config('DEFAULT/neutron_default_tenant_id').with_value(params[:neutron_default_tenant_id]) - should contain_nova_config('DEFAULT/neutron_region_name').with_value(params[:neutron_region_name]) - should contain_nova_config('DEFAULT/neutron_admin_username').with_value(params[:neutron_admin_username]) - should contain_nova_config('DEFAULT/neutron_admin_auth_url').with_value(params[:neutron_admin_auth_url]) - should contain_nova_config('DEFAULT/neutron_extension_sync_interval').with_value(params[:neutron_extension_sync_interval]) should contain_nova_config('DEFAULT/dhcp_domain').with_value(params[:dhcp_domain]) + should contain_nova_config('neutron/url').with_value(params[:neutron_url]) + should contain_nova_config('neutron/url_timeout').with_value(params[:neutron_url_timeout]) + should contain_nova_config('neutron/admin_tenant_name').with_value(params[:neutron_admin_tenant_name]) + should contain_nova_config('neutron/default_tenant_id').with_value(params[:neutron_default_tenant_id]) + should contain_nova_config('neutron/region_name').with_value(params[:neutron_region_name]) + should contain_nova_config('neutron/admin_username').with_value(params[:neutron_admin_username]) + should contain_nova_config('neutron/admin_auth_url').with_value(params[:neutron_admin_auth_url]) + should contain_nova_config('neutron/extension_sync_interval').with_value(params[:neutron_extension_sync_interval]) end it 'configures Nova to use Neutron Security Groups and Firewall' do should contain_nova_config('DEFAULT/firewall_driver').with_value(params[:firewall_driver]) should contain_nova_config('DEFAULT/security_group_api').with_value(params[:security_group_api]) - should contain_nova_config('DEFAULT/neutron_ovs_bridge').with_value(params[:neutron_ovs_bridge]) + should contain_nova_config('neutron/ovs_bridge').with_value(params[:neutron_ovs_bridge]) end it 'configures neutron vif plugging events in nova.conf' do should contain_nova_config('DEFAULT/vif_plugging_is_fatal').with_value(params[:vif_plugging_is_fatal]) diff --git a/nova/spec/shared_examples.rb b/nova/spec/shared_examples.rb index 52f56c3a8..b7b16517e 100644 --- a/nova/spec/shared_examples.rb +++ b/nova/spec/shared_examples.rb @@ -11,7 +11,8 @@ should contain_package(service[:name]).with({ :name => service[:package_name], :ensure => 'present', - :notify => "Service[#{service[:name]}]" + :notify => "Service[#{service[:name]}]", + :tag => ['openstack', 'nova'] }) should contain_service(service[:name]).with({ :name => service[:service_name], From e7d094e7b903d509aeb9e3a96d9d1dba2eeba3c4 Mon Sep 17 00:00:00 2001 From: Lukas Bezdicka Date: Tue, 25 Nov 2014 13:50:04 +0100 Subject: [PATCH 8/9] Update openstacklib to e64e9c2a44833b25b602138b53a3187db49eaef8 commit e64e9c2a44833b25b602138b53a3187db49eaef8 Author: Colleen Murphy Date: Sun Nov 23 12:04:47 2014 -0800 Drop rabbitmq dependency to <4.0.0 The difference in rabbit versions between openstacklib, cinder and nova causes dependency conflicts. Version 4 of the rabbitmq module dropped support for setting up erlang. This patch drops the required version to between 2.0.2 and 4.0.0 in order to line up with the other modules rather than requiring the other modules to change their dependencies as well as set up erlang. Change-Id: I99383b28574958a43b88b4feb0025ad795a6fda2 --- Puppetfile | 2 +- openstacklib/metadata.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Puppetfile b/Puppetfile index f781fcfaa..5df1f514e 100644 --- a/Puppetfile +++ b/Puppetfile @@ -107,7 +107,7 @@ mod 'openstack', :git => 'https://github.com/stackforge/puppet-openstack.git' mod 'openstacklib', - :commit => '2fc2e5504de7c298263a1d63af92974a7779d5c9', + :commit => 'e64e9c2a44833b25b602138b53a3187db49eaef8', :git => 'https://github.com/stackforge/puppet-openstacklib.git' mod 'pacemaker', diff --git a/openstacklib/metadata.json b/openstacklib/metadata.json index b82842ce3..6395246a0 100644 --- a/openstacklib/metadata.json +++ b/openstacklib/metadata.json @@ -34,6 +34,6 @@ { "name": "aimonb/aviator", "version_requirement": ">=0.4.2 <1.0.0" }, { "name": "puppetlabs/mysql", "version_requirement": ">=2.2.0 <3.0.0" }, { "name": "puppetlabs/stdlib", "version_requirement": ">=4.0.0 <5.0.0" }, - { "name": "puppetlabs/rabbitmq", "version_requirement": ">=4.0.0 <5.0.0" } + { "name": "puppetlabs/rabbitmq", "version_requirement": ">=2.0.2 <4.0.0" } ] } From 3873be9cfc58c084da7dc733789949b3157918d6 Mon Sep 17 00:00:00 2001 From: Lukas Bezdicka Date: Tue, 25 Nov 2014 13:50:11 +0100 Subject: [PATCH 9/9] Update swift to 68a9e8eecba4a280ea1ec18fba67069a8c7dfce4 commit 68a9e8eecba4a280ea1ec18fba67069a8c7dfce4 Author: Colleen Murphy Date: Sat Nov 22 16:01:55 2014 -0800 Release 5.0.0 - Juno Changes in this release: * Updated s3token.conf template for Juno * Added parameter log_name to swift::proxy and swift::storage::server * Bumped stdlib dependency to >=4.0.0 Change-Id: Ib62984c299b72b6aaeb6bd69e712f3e8cc4df109 commit 54fdb8474245deebc7f4a04cd74caf061a4e90f2 Author: Gael Chamoulaud Date: Mon Nov 17 19:00:33 2014 +0100 Fix fixtures.yml for puppetlab/concat Change-Id: Ieedfc17290aab8444f4e825203d6c983c237c4e5 Signed-off-by: Gael Chamoulaud --- Puppetfile | 2 +- swift/.fixtures.yml | 4 +--- swift/README.md | 20 +++++++++++++++++++- 3 files changed, 21 insertions(+), 5 deletions(-) diff --git a/Puppetfile b/Puppetfile index 5df1f514e..0a083694d 100644 --- a/Puppetfile +++ b/Puppetfile @@ -151,7 +151,7 @@ mod 'stdlib', :git => 'https://github.com/puppetlabs/puppetlabs-stdlib.git' mod 'swift', - :commit => '2193831dd787e9b24382c588dfa49917bcf47262', + :commit => '68a9e8eecba4a280ea1ec18fba67069a8c7dfce4', :git => 'https://github.com/stackforge/puppet-swift.git' mod 'sysctl', diff --git a/swift/.fixtures.yml b/swift/.fixtures.yml index 7963576f8..c4af4646b 100644 --- a/swift/.fixtures.yml +++ b/swift/.fixtures.yml @@ -1,9 +1,7 @@ fixtures: repositories: "apt": "git://github.com/puppetlabs/puppetlabs-apt.git" - "concat": - repo: "git://github.com/puppetlabs/puppetlabs-concat.git" - ref: '1.0.0' + "concat": "git://github.com/puppetlabs/puppetlabs-concat.git" "inifile": "git://github.com/puppetlabs/puppetlabs-inifile" "keystone": "git://github.com/stackforge/puppet-keystone.git" "memcached": "git://github.com/saz/puppet-memcached.git" diff --git a/swift/README.md b/swift/README.md index d09d50c7e..46ca59e42 100644 --- a/swift/README.md +++ b/swift/README.md @@ -1,7 +1,7 @@ swift ======= -4.0.0 - 2013.1.0 - Icehouse (Swift 1.13.1) +5.0.0 - 2014.2.0 - Juno #### Table of Contents @@ -250,6 +250,24 @@ Contributors Release Notes ------------- +**5.0.0** + +* Stable Juno release +* Updated s3token.conf template for Juno +* Added parameter log_name to swift::proxy and swift::storage::server +* Bumped stdlib dependency to >=4.0.0 + +**4.1.0** + +* Added swift-ring-builder multi-region support. +* Added swift::proxy::crossdomain class. +* Added support for RHEL 7. +* Fixed Swift quota filter names. +* Fixed config dependency bugs. +* Fixed resource conflict when ringserver and storage are on same node. +* Fixed selinux bugs. +* Pinned major gems. + **4.0.0** * Stable Icehouse release.