diff --git a/Puppetfile b/Puppetfile index 513d3480d..2eac9c879 100644 --- a/Puppetfile +++ b/Puppetfile @@ -1,5 +1,5 @@ mod 'aodh', - :commit => '8fb675a73302243140c268aeba9ce2b24d3abc2c', + :commit => '3f0e8910b2703ed7f23ec22a8ec86e575c5f922c', :git => 'https://github.com/openstack/puppet-aodh.git' mod 'apache', @@ -11,7 +11,7 @@ mod 'cassandra', :git => 'https://github.com/locp/cassandra.git' mod 'ceilometer', - :commit => '3bd3f99e640eae867bba93b53f811d3cfa0a51d6', + :commit => 'e174e213fb6df65477229acb43740edda2958285', :git => 'https://github.com/openstack/puppet-ceilometer.git' mod 'ceph', @@ -23,7 +23,7 @@ mod 'certmonger', :git => 'https://github.com/rcritten/puppet-certmonger.git' mod 'cinder', - :commit => 'a9912c88a5af2ba417c250e201d0f81c5a0ffb1f', + :commit => '564d8eb5ee224a4dcce3305abeaaf3d815de6f40', :git => 'https://github.com/openstack/puppet-cinder.git' mod 'concat', @@ -59,11 +59,11 @@ mod 'git', :git => 'https://github.com/puppetlabs/puppetlabs-git.git' mod 'glance', - :commit => 'da8a3aa022b5f44783589b3b1762dccba2610d87', + :commit => '71f426fcd8840e4d9cc82f1e62ad8dec72dccf0b', :git => 'https://github.com/openstack/puppet-glance.git' mod 'gnocchi', - :commit => 'a47c4fdda465ee48d3a1ca9532f28e03529eb171', + :commit => 'c9ea0cedd79513f94d0e9744ceead599cc7bdbb7', :git => 'https://github.com/openstack/puppet-gnocchi.git' mod 'haproxy', @@ -71,11 +71,11 @@ mod 'haproxy', :git => 'https://github.com/puppetlabs/puppetlabs-haproxy.git' mod 'heat', - :commit => 'bd2cd8997cde4dea9d2e5e66890b8a939b02430f', + :commit => 'f3b819fab0d45559c9aac9c0ad162114cbdedc24', :git => 'https://github.com/openstack/puppet-heat.git' mod 'horizon', - :commit => '3d92d5099a019880215e14281c26b2c5122b42d2', + :commit => '07de7af9ef72dd762eb6e4a44797b4955e38b831', :git => 'https://github.com/openstack/puppet-horizon.git' mod 'inifile', @@ -83,7 +83,7 @@ mod 'inifile', :git => 'https://github.com/puppetlabs/puppetlabs-inifile.git' mod 'ironic', - :commit => 'e76ff289fe6e99498d4fa20de2ba219e7fc43a68', + :commit => '63d2c6d4d8c1be36b59e5c33900c7f1fbdf33092', :git => 'https://github.com/openstack/puppet-ironic.git' mod 'java', @@ -99,7 +99,7 @@ mod 'keepalived', :git => 'https://github.com/Unyonsys/puppet-module-keepalived.git' mod 'keystone', - :commit => '46c8657bb07020dec65bdd2349e28605590c50a7', + :commit => 'a2bca8a8d2095f1760e5d68c18bdd83a11e333e2', :git => 'https://github.com/openstack/puppet-keystone.git' mod 'kibana3', @@ -111,7 +111,7 @@ mod 'kmod', :git => 'https://github.com/camptocamp/puppet-kmod.git' mod 'manila', - :commit => 'ad6d3257894013a88638d518ea2cce0337b4138e', + :commit => '6a56d8db75f8229b820c30782283fb4bb9fcd328', :git => 'https://github.com/openstack/puppet-manila.git' mod 'memcached', @@ -151,11 +151,11 @@ mod 'nagios', :git => 'https://github.com/gildub/puppet-nagios-openstack.git' mod 'neutron', - :commit => '7e55cac0248a8f8b349243cd718a84550dd7146f', + :commit => 'fdc01297cd0b4e4220e24705a01aea1c27a2d10d', :git => 'https://github.com/openstack/puppet-neutron.git' mod 'nova', - :commit => '8f0a3af97e318799d9979fcf73ebfe1f72c556c5', + :commit => '162b8f324bcf15db23252f5c0cc86ac2167d1f40', :git => 'https://github.com/openstack/puppet-nova.git' mod 'nssdb', @@ -171,11 +171,11 @@ mod 'opendaylight', :git => 'https://github.com/dfarrell07/puppet-opendaylight.git' mod 'openstack_extras', - :commit => 'fb1492ca64e9b42ffa7a35d7159c003c3a4d3f06', + :commit => '2c170d1b26bb18b3d5120b715e3b04963105fa03', :git => 'https://github.com/openstack/puppet-openstack_extras.git' mod 'openstacklib', - :commit => '1c2e64fc43c70afd3a25e837a9d1a9a66d01f442', + :commit => 'b6feabc0e37b5f9d965b76b4c0dba471ea6d4761', :git => 'https://github.com/openstack/puppet-openstacklib.git' mod 'pacemaker', @@ -203,7 +203,7 @@ mod 'rsync', :git => 'https://github.com/puppetlabs/puppetlabs-rsync.git' mod 'sahara', - :commit => '918ad4d87e116ac8d019a95ecd340d9ed8c1dd94', + :commit => '38c3394528d626300ac7ff9f1c523b98611eac60', :git => 'https://github.com/openstack/puppet-sahara.git' mod 'sensu', @@ -227,7 +227,7 @@ mod 'stdlib', :git => 'https://github.com/puppetlabs/puppetlabs-stdlib.git' mod 'swift', - :commit => 'ed6c23afc074d119027c73ceddf6090ccd02f4be', + :commit => 'd8020196738fa911d553c414dbf3c93158d6158f', :git => 'https://github.com/openstack/puppet-swift.git' mod 'sysctl', @@ -235,7 +235,7 @@ mod 'sysctl', :git => 'https://github.com/duritong/puppet-sysctl.git' mod 'tempest', - :commit => '55bd0910ca83f529e1e537b2f795a11bb1927bea', + :commit => '2c17a0e31b599560f011b6e30f1149767aaadcdb', :git => 'https://github.com/openstack/puppet-tempest.git' mod 'timezone', @@ -247,11 +247,11 @@ mod 'tomcat', :git => 'https://github.com/puppetlabs/puppetlabs-tomcat.git' mod 'tripleo', - :commit => '85e3c3e979be3dbfe98ce8a72b5a8cbf411102ed', + :commit => 'd876a555e25bb3f33a1b4121ba23d0ee400dabea', :git => 'https://github.com/openstack/puppet-tripleo.git' mod 'trove', - :commit => '35737af627966da7ffed9247fabbfe789acdec73', + :commit => 'b7981c33d7d6115457416c35bc41a42c3c567cfc', :git => 'https://github.com/openstack/puppet-trove' mod 'tuskar', @@ -271,7 +271,7 @@ mod 'vlan', :git => 'https://github.com/derekhiggins/puppet-vlan.git' mod 'vswitch', - :commit => 'b988c7684a97f7dd14862f089c5cb4e5e565e4a4', + :commit => '2059a77127590d13b88de051827efbb18307f995', :git => 'https://github.com/openstack/puppet-vswitch.git' mod 'xinetd', @@ -279,7 +279,7 @@ mod 'xinetd', :git => 'https://github.com/puppetlabs/puppetlabs-xinetd.git' mod 'zaqar', - :commit => '004138833b723fcf1404e764e7d8ff61dcb27960', + :commit => '2fbfc6b11f49da57af4b3852fc666fb36c5af584', :git => 'https://github.com/openstack/puppet-zaqar.git' mod 'zookeeper', diff --git a/aodh/.gitreview b/aodh/.gitreview index 5439f878d..39ca15281 100644 --- a/aodh/.gitreview +++ b/aodh/.gitreview @@ -2,3 +2,4 @@ host=review.openstack.org port=29418 project=openstack/puppet-aodh.git +defaultbranch=stable/mitaka diff --git a/aodh/Gemfile b/aodh/Gemfile index efeba2a44..c4761b8be 100644 --- a/aodh/Gemfile +++ b/aodh/Gemfile @@ -15,7 +15,8 @@ group :development, :test do gem 'puppet-lint-numericvariable', :require => 'false' gem 'json', :require => 'false' gem 'puppet-openstack_spec_helper', - :git => 'https://git.openstack.org/openstack/puppet-openstack_spec_helper', + :git => 'https://git.openstack.org/openstack/puppet-openstack_spec_helper', + :branch => 'stable/mitaka', :require => false end diff --git a/ceilometer/.gitreview b/ceilometer/.gitreview index 18185b186..e97254a18 100644 --- a/ceilometer/.gitreview +++ b/ceilometer/.gitreview @@ -2,3 +2,4 @@ host=review.openstack.org port=29418 project=openstack/puppet-ceilometer.git +defaultbranch=stable/mitaka diff --git a/ceilometer/CHANGELOG.md b/ceilometer/CHANGELOG.md index 461000390..1ae3a5b89 100644 --- a/ceilometer/CHANGELOG.md +++ b/ceilometer/CHANGELOG.md @@ -1,3 +1,8 @@ +## 8.0.0 and beyond + +From 8.0.0 release and beyond, release notes are published on +[docs.openstack.org](http://docs.openstack.org/releasenotes/puppet-ceilometer/). + ##2015-11-25 - 7.0.0 ###Summary diff --git a/ceilometer/Gemfile b/ceilometer/Gemfile index efeba2a44..c4761b8be 100644 --- a/ceilometer/Gemfile +++ b/ceilometer/Gemfile @@ -15,7 +15,8 @@ group :development, :test do gem 'puppet-lint-numericvariable', :require => 'false' gem 'json', :require => 'false' gem 'puppet-openstack_spec_helper', - :git => 'https://git.openstack.org/openstack/puppet-openstack_spec_helper', + :git => 'https://git.openstack.org/openstack/puppet-openstack_spec_helper', + :branch => 'stable/mitaka', :require => false end diff --git a/ceilometer/manifests/agent/notification.pp b/ceilometer/manifests/agent/notification.pp index ac8ccb785..d4c70e869 100644 --- a/ceilometer/manifests/agent/notification.pp +++ b/ceilometer/manifests/agent/notification.pp @@ -90,7 +90,8 @@ name => $::ceilometer::params::agent_notification_service_name, enable => $enabled, hasstatus => true, - hasrestart => true + hasrestart => true, + tag => 'ceilometer-service' } ceilometer_config { diff --git a/ceilometer/manifests/collector.pp b/ceilometer/manifests/collector.pp index 717dd21cf..10d3d8a90 100644 --- a/ceilometer/manifests/collector.pp +++ b/ceilometer/manifests/collector.pp @@ -87,6 +87,7 @@ name => $::ceilometer::params::collector_service_name, enable => $enabled, hasstatus => true, - hasrestart => true + hasrestart => true, + tag => 'ceilometer-service' } } diff --git a/ceilometer/metadata.json b/ceilometer/metadata.json index c7fc20a4b..aa257330e 100644 --- a/ceilometer/metadata.json +++ b/ceilometer/metadata.json @@ -1,6 +1,6 @@ { "name": "openstack-ceilometer", - "version": "7.0.0", + "version": "8.0.0", "author": "eNovance and OpenStack Contributors", "summary": "Puppet module for OpenStack Ceilometer", "license": "Apache-2.0", @@ -33,8 +33,8 @@ "dependencies": [ { "name": "puppetlabs/apache", "version_requirement": ">=1.0.0 <2.0.0" }, { "name": "puppetlabs/inifile", "version_requirement": ">=1.0.0 <2.0.0" }, - { "name": "openstack/keystone", "version_requirement": ">=7.0.0 <8.0.0" }, + { "name": "openstack/keystone", "version_requirement": ">=8.0.0 <9.0.0" }, { "name": "puppetlabs/stdlib", "version_requirement": ">=4.0.0 <5.0.0" }, - { "name": "openstack/openstacklib", "version_requirement": ">=7.0.0 <8.0.0" } + { "name": "openstack/openstacklib", "version_requirement": ">=8.0.0 <9.0.0" } ] } diff --git a/ceilometer/releasenotes/notes/mitaka-dece9d43a565e6cb.yaml b/ceilometer/releasenotes/notes/mitaka-dece9d43a565e6cb.yaml new file mode 100644 index 000000000..d36183fe1 --- /dev/null +++ b/ceilometer/releasenotes/notes/mitaka-dece9d43a565e6cb.yaml @@ -0,0 +1,3 @@ +--- +prelude: > + This is the first Mitaka release for puppet-ceilometer module. diff --git a/ceilometer/releasenotes/notes/use-reno-1caaec4ba5aa4285.yaml b/ceilometer/releasenotes/notes/use-reno-1caaec4ba5aa4285.yaml index 359b52a78..41cef2f11 100644 --- a/ceilometer/releasenotes/notes/use-reno-1caaec4ba5aa4285.yaml +++ b/ceilometer/releasenotes/notes/use-reno-1caaec4ba5aa4285.yaml @@ -1,6 +1,4 @@ --- -prelude: > - Release notes are generated by Reno. features: - Release notes are no longer maintained by hand, we now use the reno tool to manage them. diff --git a/ceilometer/releasenotes/source/index.rst b/ceilometer/releasenotes/source/index.rst index e1aa41562..54fddf731 100644 --- a/ceilometer/releasenotes/source/index.rst +++ b/ceilometer/releasenotes/source/index.rst @@ -1,8 +1,19 @@ -=============================== -puppet-ceilometer Release Notes -=============================== +=========================================== +Welcome to puppet-ceilometer Release Notes! +=========================================== + +Contents +======== .. toctree:: - :maxdepth: 1 + :maxdepth: 2 + mitaka unreleased + + +Indices and tables +================== + +* :ref:`genindex` +* :ref:`search` diff --git a/ceilometer/releasenotes/source/mitaka.rst b/ceilometer/releasenotes/source/mitaka.rst new file mode 100644 index 000000000..97ab8d1d3 --- /dev/null +++ b/ceilometer/releasenotes/source/mitaka.rst @@ -0,0 +1,6 @@ +============================ + Mitaka Series Release Notes +============================ + +.. release-notes:: + :branch: origin/stable/mitaka diff --git a/ceilometer/spec/classes/ceilometer_agent_notification_spec.rb b/ceilometer/spec/classes/ceilometer_agent_notification_spec.rb index 1a552a0ee..40a031aef 100644 --- a/ceilometer/spec/classes/ceilometer_agent_notification_spec.rb +++ b/ceilometer/spec/classes/ceilometer_agent_notification_spec.rb @@ -72,7 +72,8 @@ :name => platform_params[:agent_notification_service_name], :enable => params[:enabled], :hasstatus => true, - :hasrestart => true + :hasrestart => true, + :tag => 'ceilometer-service' ) end end @@ -91,7 +92,8 @@ :name => platform_params[:agent_notification_service_name], :enable => false, :hasstatus => true, - :hasrestart => true + :hasrestart => true, + :tag => 'ceilometer-service' ) end end diff --git a/ceilometer/spec/classes/ceilometer_collector_spec.rb b/ceilometer/spec/classes/ceilometer_collector_spec.rb index 38f393537..6c74e2ba0 100644 --- a/ceilometer/spec/classes/ceilometer_collector_spec.rb +++ b/ceilometer/spec/classes/ceilometer_collector_spec.rb @@ -68,7 +68,8 @@ :name => platform_params[:collector_service_name], :enable => true, :hasstatus => true, - :hasrestart => true + :hasrestart => true, + :tag => 'ceilometer-service' ) end @@ -87,7 +88,8 @@ :name => platform_params[:collector_service_name], :enable => false, :hasstatus => true, - :hasrestart => true + :hasrestart => true, + :tag => 'ceilometer-service' ) end end @@ -104,7 +106,8 @@ :name => platform_params[:collector_service_name], :enable => false, :hasstatus => true, - :hasrestart => true + :hasrestart => true, + :tag => 'ceilometer-service' ) end end diff --git a/cinder/.gitreview b/cinder/.gitreview index 86c09bfea..238ead17c 100644 --- a/cinder/.gitreview +++ b/cinder/.gitreview @@ -2,3 +2,4 @@ host=review.openstack.org port=29418 project=openstack/puppet-cinder.git +defaultbranch=stable/mitaka diff --git a/cinder/CHANGELOG.md b/cinder/CHANGELOG.md index da520ebbb..e3c4ebfe1 100644 --- a/cinder/CHANGELOG.md +++ b/cinder/CHANGELOG.md @@ -1,3 +1,8 @@ +## 8.0.0 and beyond + +From 8.0.0 release and beyond, release notes are published on +[docs.openstack.org](http://docs.openstack.org/releasenotes/puppet-cinder/). + ##2015-11-25 - 7.0.0 ###Summary diff --git a/cinder/Gemfile b/cinder/Gemfile index efeba2a44..c4761b8be 100644 --- a/cinder/Gemfile +++ b/cinder/Gemfile @@ -15,7 +15,8 @@ group :development, :test do gem 'puppet-lint-numericvariable', :require => 'false' gem 'json', :require => 'false' gem 'puppet-openstack_spec_helper', - :git => 'https://git.openstack.org/openstack/puppet-openstack_spec_helper', + :git => 'https://git.openstack.org/openstack/puppet-openstack_spec_helper', + :branch => 'stable/mitaka', :require => false end diff --git a/cinder/manifests/api.pp b/cinder/manifests/api.pp index ad2b3fc7e..776d8015c 100644 --- a/cinder/manifests/api.pp +++ b/cinder/manifests/api.pp @@ -136,6 +136,11 @@ # (Optional) Base URL that will be presented to users in links to the OpenStack Volume API. # Defaults to $::os_service_default # +# [*osapi_max_limit*] +# (Optional) The maximum number of items that a collection resource +# returns in a single response (integer value) +# Defaults to $::os_service_default +# class cinder::api ( $keystone_password, $keystone_enabled = true, @@ -165,6 +170,7 @@ $sync_db = true, $public_endpoint = $::os_service_default, $osapi_volume_base_url = $::os_service_default, + $osapi_max_limit = $::os_service_default, # DEPRECATED PARAMETERS $validation_options = {}, ) { @@ -217,6 +223,7 @@ 'DEFAULT/default_volume_type': value => $default_volume_type; 'DEFAULT/public_endpoint': value => $public_endpoint; 'DEFAULT/osapi_volume_base_URL': value => $osapi_volume_base_url; + 'DEFAULT/osapi_max_limit': value => $osapi_max_limit; } cinder_config { diff --git a/cinder/manifests/backend/bdd.pp b/cinder/manifests/backend/bdd.pp index 9faf7e121..3d2ae44d1 100644 --- a/cinder/manifests/backend/bdd.pp +++ b/cinder/manifests/backend/bdd.pp @@ -30,7 +30,7 @@ # # [*iscsi_helper*] # (Optional) iSCSI target user-land tool to use. -# Defaults to fake. +# Defaults to tgtadm. # # [*iscsi_protocol*] # (Optional) Protocol to use as iSCSI driver @@ -64,7 +64,7 @@ $volume_driver = 'cinder.volume.drivers.block_device.BlockDeviceDriver', $volume_group = $::os_service_default, $volumes_dir = '/var/lib/cinder/volumes', - $iscsi_helper = 'fake', + $iscsi_helper = 'tgtadm', $iscsi_protocol = $::os_service_default, $volume_clear = $::os_service_default, $extra_options = {}, @@ -86,4 +86,41 @@ create_resources('cinder_config', $extra_options) + case $iscsi_helper { + 'tgtadm': { + ensure_packages('tgt', { + ensure => present, + name => $::cinder::params::tgt_package_name}) + + ensure_resource('service', 'tgtd', { + ensure => present, + name => $::cinder::params::tgt_service_name, + require => Package['tgt']}) + + if($::osfamily == 'RedHat') { + ensure_resource('file_line', 'cinder include', { + path => '/etc/tgt/targets.conf', + line => "include ${volumes_dir}/*", + match => '#?include /', + require => Package['tgt'], + notify => Service['tgtd']}) + } + } + + 'lioadm': { + ensure_packages('targetcli', { + ensure => present, + name => $::cinder::params::lio_package_name}) + + ensure_resource('service', 'target', { + ensure => running, + enable => true, + require => Package['targetcli']}) + } + + default: { + fail("Unsupported iscsi helper: ${iscsi_helper}.") + } + } + } diff --git a/cinder/metadata.json b/cinder/metadata.json index 3253b2e3c..73f126176 100644 --- a/cinder/metadata.json +++ b/cinder/metadata.json @@ -1,6 +1,6 @@ { "name": "openstack-cinder", - "version": "7.0.0", + "version": "8.0.0", "author": "Puppet Labs and OpenStack Contributors", "summary": "Puppet module for OpenStack Cinder", "license": "Apache-2.0", @@ -33,9 +33,9 @@ "dependencies": [ { "name": "dprince/qpid", "version_requirement": ">=1.0.0 <2.0.0" }, { "name": "puppetlabs/inifile", "version_requirement": ">=1.0.0 <2.0.0" }, - { "name": "openstack/keystone", "version_requirement": ">=7.0.0 <8.0.0" }, + { "name": "openstack/keystone", "version_requirement": ">=8.0.0 <9.0.0" }, { "name": "puppetlabs/rabbitmq", "version_requirement": ">=2.0.2 <6.0.0" }, { "name": "puppetlabs/stdlib", "version_requirement": ">=4.0.0 <5.0.0" }, - { "name": "openstack/openstacklib", "version_requirement": ">=7.0.0 <8.0.0" } + { "name": "openstack/openstacklib", "version_requirement": ">=8.0.0 <9.0.0" } ] } diff --git a/cinder/releasenotes/notes/mitaka-dece9d43a565e6cb.yaml b/cinder/releasenotes/notes/mitaka-dece9d43a565e6cb.yaml new file mode 100644 index 000000000..1ffa2be02 --- /dev/null +++ b/cinder/releasenotes/notes/mitaka-dece9d43a565e6cb.yaml @@ -0,0 +1,3 @@ +--- +prelude: > + This is the first Mitaka release for puppet-cinder module. diff --git a/cinder/releasenotes/notes/use-reno-1caaec4ba5aa4285.yaml b/cinder/releasenotes/notes/use-reno-1caaec4ba5aa4285.yaml index 359b52a78..41cef2f11 100644 --- a/cinder/releasenotes/notes/use-reno-1caaec4ba5aa4285.yaml +++ b/cinder/releasenotes/notes/use-reno-1caaec4ba5aa4285.yaml @@ -1,6 +1,4 @@ --- -prelude: > - Release notes are generated by Reno. features: - Release notes are no longer maintained by hand, we now use the reno tool to manage them. diff --git a/cinder/releasenotes/source/index.rst b/cinder/releasenotes/source/index.rst index 88e8727d9..3206ab9e8 100644 --- a/cinder/releasenotes/source/index.rst +++ b/cinder/releasenotes/source/index.rst @@ -1,8 +1,19 @@ -=========================== -puppet-cinder Release Notes -=========================== +======================================= +Welcome to puppet-cinder Release Notes! +======================================= + +Contents +======== .. toctree:: - :maxdepth: 1 + :maxdepth: 2 + mitaka unreleased + + +Indices and tables +================== + +* :ref:`genindex` +* :ref:`search` diff --git a/cinder/releasenotes/source/mitaka.rst b/cinder/releasenotes/source/mitaka.rst new file mode 100644 index 000000000..97ab8d1d3 --- /dev/null +++ b/cinder/releasenotes/source/mitaka.rst @@ -0,0 +1,6 @@ +============================ + Mitaka Series Release Notes +============================ + +.. release-notes:: + :branch: origin/stable/mitaka diff --git a/cinder/spec/classes/cinder_api_spec.rb b/cinder/spec/classes/cinder_api_spec.rb index 3d1ee25ec..c0d13fe26 100644 --- a/cinder/spec/classes/cinder_api_spec.rb +++ b/cinder/spec/classes/cinder_api_spec.rb @@ -43,6 +43,9 @@ is_expected.to contain_cinder_config('DEFAULT/osapi_volume_base_URL').with( :value => '' ) + is_expected.to contain_cinder_config('DEFAULT/osapi_max_limit').with( + :value => '' + ) is_expected.to contain_cinder_config('DEFAULT/os_region_name').with( :value => '' ) @@ -289,6 +292,17 @@ is_expected.to contain_cinder_config('keystone_authtoken/auth_uri').with_value("https://localhost:5000/") end end + + describe 'with a custom osapi_max_limit' do + let :params do + req_params.merge({'osapi_max_limit' => '10000'}) + end + it 'should configure the osapi_max_limit to 10000' do + is_expected.to contain_cinder_config('DEFAULT/osapi_max_limit').with( + :value => '10000' + ) + end + end end on_supported_os({ diff --git a/cinder/spec/defines/cinder_backend_bdd_spec.rb b/cinder/spec/defines/cinder_backend_bdd_spec.rb index cbb6d5c46..842af3900 100644 --- a/cinder/spec/defines/cinder_backend_bdd_spec.rb +++ b/cinder/spec/defines/cinder_backend_bdd_spec.rb @@ -16,7 +16,7 @@ should contain_cinder_config('hippo/volume_backend_name').with_value('hippo') should contain_cinder_config('hippo/volume_driver').with_value('cinder.volume.drivers.block_device.BlockDeviceDriver') should contain_cinder_config('hippo/available_devices').with_value('/dev/sda') - should contain_cinder_config('hippo/iscsi_helper').with_value('fake') + should contain_cinder_config('hippo/iscsi_helper').with_value('tgtadm') should contain_cinder_config('hippo/volumes_dir').with_value('/var/lib/cinder/volumes') should contain_cinder_config('hippo/iscsi_ip_address').with_value('127.0.0.2') should contain_cinder_config('hippo/volume_group').with_value('') @@ -32,7 +32,8 @@ :available_devices => '/dev/sdb,/dev/sdc', :volumes_dir => '/var/lib/cinder/bdd-volumes', :volume_clear => 'zero', - :volume_group => 'cinder', + :volume_group => 'cinder', + :iscsi_helper => 'lioadm', }) end @@ -40,6 +41,7 @@ should contain_cinder_config('hippo/available_devices').with_value('/dev/sdb,/dev/sdc') should contain_cinder_config('hippo/volumes_dir').with_value('/var/lib/cinder/bdd-volumes') should contain_cinder_config('hippo/iscsi_ip_address').with_value('10.20.0.2') + should contain_cinder_config('hippo/iscsi_helper').with_value('lioadm') should contain_cinder_config('hippo/volume_group').with_value('cinder') should contain_cinder_config('hippo/volume_clear').with_value('zero') end diff --git a/glance/.gitreview b/glance/.gitreview index b2ae1d3b9..b47c67d64 100644 --- a/glance/.gitreview +++ b/glance/.gitreview @@ -2,3 +2,4 @@ host=review.openstack.org port=29418 project=openstack/puppet-glance.git +defaultbranch=stable/mitaka diff --git a/glance/CHANGELOG.md b/glance/CHANGELOG.md index 33d78f1c5..e003ab5fb 100644 --- a/glance/CHANGELOG.md +++ b/glance/CHANGELOG.md @@ -1,3 +1,8 @@ +## 8.0.0 and beyond + +From 8.0.0 release and beyond, release notes are published on +[docs.openstack.org](http://docs.openstack.org/releasenotes/puppet-glance/). + ##2015-11-25 - 7.0.0 ###Summary diff --git a/glance/Gemfile b/glance/Gemfile index efeba2a44..c4761b8be 100644 --- a/glance/Gemfile +++ b/glance/Gemfile @@ -15,7 +15,8 @@ group :development, :test do gem 'puppet-lint-numericvariable', :require => 'false' gem 'json', :require => 'false' gem 'puppet-openstack_spec_helper', - :git => 'https://git.openstack.org/openstack/puppet-openstack_spec_helper', + :git => 'https://git.openstack.org/openstack/puppet-openstack_spec_helper', + :branch => 'stable/mitaka', :require => false end diff --git a/glance/manifests/backend/cinder.pp b/glance/manifests/backend/cinder.pp index 1e43ee1a3..d2ed2f88f 100644 --- a/glance/manifests/backend/cinder.pp +++ b/glance/manifests/backend/cinder.pp @@ -56,7 +56,10 @@ # (optional) Boolean describing if multiple backends will be configured # Defaults to false # - +# [*glare_enabled*] +# (optional) Whether enabled Glance Glare API. +# Defaults to false +# class glance::backend::cinder( $os_region_name = undef, $cinder_ca_certificates_file = undef, @@ -65,7 +68,7 @@ $cinder_endpoint_template = undef, $cinder_http_retries = '3', $multi_store = false, - + $glare_enabled = false, ) { if $os_region_name { @@ -80,6 +83,9 @@ if !$multi_store { glance_api_config { 'glance_store/default_store': value => 'cinder'; } + if $glare_enabled { + glance_glare_config { 'glance_store/default_store': value => 'cinder'; } + } } glance_cache_config { @@ -88,20 +94,40 @@ 'glance_store/cinder_http_retries': value => $cinder_http_retries; } + if $glare_enabled { + glance_glare_config { + 'glance_store/cinder_api_insecure': value => $cinder_api_insecure; + 'glance_store/cinder_catalog_info': value => $cinder_catalog_info; + 'glance_store/cinder_http_retries': value => $cinder_http_retries; + } + } + if $cinder_endpoint_template { glance_api_config { 'glance_store/cinder_endpoint_template': value => $cinder_endpoint_template; } glance_cache_config { 'glance_store/cinder_endpoint_template': value => $cinder_endpoint_template; } + if $glare_enabled { + glance_glare_config { 'glance_store/cinder_endpoint_template': value => $cinder_endpoint_template; } + } } else { glance_api_config { 'glance_store/cinder_endpoint_template': ensure => absent; } glance_cache_config { 'glance_store/cinder_endpoint_template': ensure => absent; } + if $glare_enabled { + glance_glare_config { 'glance_store/cinder_endpoint_template': ensure => absent; } + } } if $cinder_ca_certificates_file { glance_api_config { 'glance_store/cinder_ca_certificates_file': value => $cinder_ca_certificates_file; } glance_cache_config { 'glance_store/cinder_ca_certificates_file': value => $cinder_ca_certificates_file; } + if $glare_enabled { + glance_glare_config { 'glance_store/cinder_ca_certificates_file': value => $cinder_ca_certificates_file; } + } } else { glance_api_config { 'glance_store/cinder_ca_certificates_file': ensure => absent; } glance_cache_config { 'glance_store/cinder_ca_certificates_file': ensure => absent; } + if $glare_enabled { + glance_glare_config { 'glance_store/cinder_ca_certificates_file': ensure => absent; } + } } } diff --git a/glance/manifests/backend/file.pp b/glance/manifests/backend/file.pp index fd9876b18..a251666e4 100644 --- a/glance/manifests/backend/file.pp +++ b/glance/manifests/backend/file.pp @@ -13,18 +13,33 @@ # === class: glance::backend::file # (optional) Boolean describing if multiple backends will be configured # Defaults to false # - +# [*glare_enabled*] +# (optional) Whether enabled Glance Glare API. +# Defaults to false +# class glance::backend::file( $filesystem_store_datadir = '/var/lib/glance/images/', $multi_store = false, + $glare_enabled = false, ) { glance_api_config { 'glance_store/filesystem_store_datadir': value => $filesystem_store_datadir; } + if $glare_enabled { + glance_glare_config { + 'glance_store/filesystem_store_datadir': value => $filesystem_store_datadir; + } + } + if !$multi_store { glance_api_config { 'glance_store/default_store': value => 'file'; } + if $glare_enabled { + glance_glare_config { + 'glance_store/default_store': value => 'file'; + } + } } glance_cache_config { diff --git a/glance/manifests/backend/rbd.pp b/glance/manifests/backend/rbd.pp index bd1daa5f0..1f6e13f98 100644 --- a/glance/manifests/backend/rbd.pp +++ b/glance/manifests/backend/rbd.pp @@ -35,7 +35,10 @@ # == class: glance::backend::rbd # (optional) Boolean describing if multiple backends will be configured # Defaults to false # - +# [*glare_enabled*] +# (optional) Whether enabled Glance Glare API. +# Defaults to false +# class glance::backend::rbd( $rbd_store_user = undef, $rbd_store_ceph_conf = '/etc/ceph/ceph.conf', @@ -45,6 +48,7 @@ # == class: glance::backend::rbd $package_ensure = 'present', $rados_connect_timeout = '0', $multi_store = false, + $glare_enabled = false, ) { include ::glance::params @@ -60,8 +64,21 @@ # == class: glance::backend::rbd 'glance_store/rados_connect_timeout': value => $rados_connect_timeout; } + if $glare_enabled { + glance_glare_config { + 'glance_store/rbd_store_ceph_conf': value => $rbd_store_ceph_conf; + 'glance_store/rbd_store_user': value => $rbd_store_user; + 'glance_store/rbd_store_pool': value => $rbd_store_pool; + 'glance_store/rbd_store_chunk_size': value => $rbd_store_chunk_size; + 'glance_store/rados_connect_timeout': value => $rados_connect_timeout; + } + } + if !$multi_store { glance_api_config { 'glance_store/default_store': value => 'rbd'; } + if $glare_enabled { + glance_glare_config { 'glance_store/default_store': value => 'rbd'; } + } } package { 'python-ceph': diff --git a/glance/manifests/backend/s3.pp b/glance/manifests/backend/s3.pp index 6ffd49ac8..2a175ca39 100644 --- a/glance/manifests/backend/s3.pp +++ b/glance/manifests/backend/s3.pp @@ -50,6 +50,10 @@ # == class: glance::backend::s3 # (optional) Boolean describing if multiple backends will be configured # Defaults to false # +# [*glare_enabled*] +# (optional) Whether enabled Glance Glare API. +# Defaults to false +# # === deprecated parameters: # # [*default_store*] @@ -68,6 +72,7 @@ # == class: glance::backend::s3 $object_buffer_dir = undef, $thread_pools = 10, $multi_store = false, + $glare_enabled = false, # deprecated parameters $default_store = undef, ) { @@ -96,14 +101,37 @@ # == class: glance::backend::s3 'glance_store/s3_store_thread_pools': value => $thread_pools; } + if $glare_enabled { + glance_glare_config { + 'glance_store/s3_store_access_key': value => $access_key; + 'glance_store/s3_store_secret_key': value => $secret_key; + 'glance_store/s3_store_host': value => $host; + 'glance_store/s3_store_bucket': value => $bucket; + 'glance_store/s3_store_bucket_url_format': value => $bucket_url_format; + 'glance_store/s3_store_create_bucket_on_put': value => $create_bucket_on_put; + 'glance_store/s3_store_large_object_size': value => $large_object_size; + 'glance_store/s3_store_large_object_chunk_size': value => $large_object_chunk_size; + 'glance_store/s3_store_thread_pools': value => $thread_pools; + } + } + if !$multi_store { glance_api_config { 'glance_store/default_store': value => 's3'; } + if $glare_enabled { + glance_glare_config { 'glance_store/default_store': value => 's3'; } + } } if $object_buffer_dir { - glance_api_config { 'glance_store/s3_store_object_buffer_dir': value => $object_buffer_dir; } + glance_api_config { 'glance_store/s3_store_object_buffer_dir': value => $object_buffer_dir; } + if $glare_enabled { + glance_glare_config { 'glance_store/s3_store_object_buffer_dir': value => $object_buffer_dir; } + } } else { - glance_api_config { 'glance_store/s3_store_object_buffer_dir': ensure => absent; } + glance_api_config { 'glance_store/s3_store_object_buffer_dir': ensure => absent; } + if $glare_enabled { + glance_glare_config { 'glance_store/s3_store_object_buffer_dir': ensure => absent; } + } } } diff --git a/glance/manifests/backend/swift.pp b/glance/manifests/backend/swift.pp index 7fdfff82d..d1b7406e5 100644 --- a/glance/manifests/backend/swift.pp +++ b/glance/manifests/backend/swift.pp @@ -42,7 +42,10 @@ # == class: glance::backend::swift # (optional) Boolean describing if multiple backends will be configured # Defaults to false # - +# [*glare_enabled*] +# (optional) Whether enabled Glance Glare API. +# Defaults to false +# class glance::backend::swift( $swift_store_user, $swift_store_key, @@ -55,6 +58,7 @@ # == class: glance::backend::swift $swift_store_region = undef, $default_swift_reference = 'ref1', $multi_store = false, + $glare_enabled = false, ) { glance_api_config { @@ -71,8 +75,27 @@ # == class: glance::backend::swift 'glance_store/default_swift_reference': value => $default_swift_reference; } + if $glare_enabled { + glance_glare_config { + 'glance_store/swift_store_region': value => $swift_store_region; + 'glance_store/swift_store_container': value => $swift_store_container; + 'glance_store/swift_store_create_container_on_put': + value => $swift_store_create_container_on_put; + 'glance_store/swift_store_large_object_size': + value => $swift_store_large_object_size; + 'glance_store/swift_store_endpoint_type': + value => $swift_store_endpoint_type; + + 'glance_store/swift_store_config_file': value => '/etc/glance/glance-swift.conf'; + 'glance_store/default_swift_reference': value => $default_swift_reference; + } + } + if !$multi_store { glance_api_config { 'glance_store/default_store': value => 'swift'; } + if $glare_enabled { + glance_glare_config { 'glance_store/default_store': value => 'swift'; } + } } glance_swift_config { diff --git a/glance/manifests/backend/vsphere.pp b/glance/manifests/backend/vsphere.pp index b73ea8736..5e1f0b2a8 100644 --- a/glance/manifests/backend/vsphere.pp +++ b/glance/manifests/backend/vsphere.pp @@ -61,7 +61,10 @@ # (optional) Boolean describing if multiple backends will be configured # Defaults to false # - +# [*glare_enabled*] +# (optional) Whether enabled Glance Glare API. +# Defaults to false +# class glance::backend::vsphere( $vcenter_host, $vcenter_user, @@ -73,6 +76,7 @@ $vcenter_task_poll_interval = '5', $vcenter_api_retry_count = '10', $multi_store = false, + $glare_enabled = false, ) { glance_api_config { @@ -87,7 +91,24 @@ 'glance_store/vmware_datacenter_path': value => $vcenter_datacenter; } + if $glare_enabled { + glance_glare_config { + 'glance_store/vmware_api_insecure': value => $vcenter_api_insecure; + 'glance_store/vmware_server_host': value => $vcenter_host; + 'glance_store/vmware_server_username': value => $vcenter_user; + 'glance_store/vmware_server_password': value => $vcenter_password; + 'glance_store/vmware_datastore_name': value => $vcenter_datastore; + 'glance_store/vmware_store_image_dir': value => $vcenter_image_dir; + 'glance_store/vmware_task_poll_interval': value => $vcenter_task_poll_interval; + 'glance_store/vmware_api_retry_count': value => $vcenter_api_retry_count; + 'glance_store/vmware_datacenter_path': value => $vcenter_datacenter; + } + } + if !$multi_store { glance_api_config { 'glance_store/default_store': value => 'vsphere'; } + if $glare_enabled { + glance_glare_config { 'glance_store/default_store': value => 'vsphere'; } + } } } diff --git a/glance/manifests/config.pp b/glance/manifests/config.pp index dccb29a67..96f719568 100644 --- a/glance/manifests/config.pp +++ b/glance/manifests/config.pp @@ -29,6 +29,12 @@ # [*registry_paste_ini_config*] # (optional) Allow configuration of glance-registry-paste.ini configurations. # +# [*glare_config*] +# (optional) Allow configuration of glance-glare.conf configurations. +# +# [*glare_paste_ini_config*] +# (optional) Allow configuration of glance-glare-paste.ini configurations. +# # [*cache_config*] # (optional) Allow configuration of glance-cache.conf configurations. # @@ -40,6 +46,8 @@ $api_paste_ini_config = {}, $registry_config = {}, $registry_paste_ini_config = {}, + $glare_config = {}, + $glare_paste_ini_config = {}, $cache_config = {}, ) { validate_hash($api_config) @@ -47,10 +55,14 @@ validate_hash($registry_config) validate_hash($registry_paste_ini_config) validate_hash($cache_config) + validate_hash($glare_config) + validate_hash($glare_paste_ini_config) create_resources('glance_api_config', $api_config) create_resources('glance_api_paste_ini', $api_paste_ini_config) create_resources('glance_registry_config', $registry_config) create_resources('glance_registry_paste_ini', $registry_paste_ini_config) create_resources('glance_cache_config', $cache_config) + create_resources('glance_glare_config', $glare_config) + create_resources('glance_glare_paste_ini', $glare_paste_ini_config) } diff --git a/glance/manifests/keystone/glare_auth.pp b/glance/manifests/keystone/glare_auth.pp new file mode 100644 index 000000000..a5e2432bb --- /dev/null +++ b/glance/manifests/keystone/glare_auth.pp @@ -0,0 +1,104 @@ +# == Class: glance::keystone::glare_auth +# +# Sets up glare users, service and endpoint for Glance Glare +# +# == Parameters: +# +# [*password*] +# Password for glare user. Required. +# +# [*email*] +# Email for glance user. Optional. Defaults to 'glare@localhost'. +# +# [*auth_name*] +# Username for glare service. Optional. Defaults to 'glare'. +# +# [*configure_endpoint*] +# Should glare endpoint be configured? Optional. Defaults to 'true'. +# +# [*configure_user*] +# Should the service user be configured? Optional. Defaults to 'true'. +# +# [*configure_user_role*] +# Should the admin role be configured for the service user? +# Optional. Defaults to 'true'. +# +# [*service_name*] +# Name of the service. Optional. +# Defaults to 'Glance Artifacts'. +# +# [*service_type*] +# Type of service. Optional. Defaults to 'artifact'. +# +# [*service_description*] +# Description for keystone service. Optional. Defaults to 'Glance Artifact Service'. +# +# [*region*] +# Region for endpoint. Optional. Defaults to 'RegionOne'. +# +# [*tenant*] +# Tenant for glare user. Optional. Defaults to 'services'. +# +# [*public_url*] +# (optional) The endpoint's public url. (Defaults to 'http://127.0.0.1:9494') +# This url should *not* contain any trailing '/'. +# +# [*admin_url*] +# (optional) The endpoint's admin url. (Defaults to 'http://127.0.0.1:9494') +# This url should *not* contain any trailing '/'. +# +# [*internal_url*] +# (optional) The endpoint's internal url. (Defaults to 'http://127.0.0.1:9494') +# This url should *not* contain any trailing '/'. +# +# === Examples +# +# class { 'glance::keystone::glare_auth': +# public_url => 'https://10.0.0.10:9494', +# internal_url => 'https://10.0.0.11:9494', +# admin_url => 'https://10.0.0.11:9494', +# } +# +class glance::keystone::glare_auth( + $password, + $email = 'glare@localhost', + $auth_name = 'glare', + $configure_endpoint = true, + $configure_user = true, + $configure_user_role = true, + $service_name = 'Glance Artifacts', + $service_type = 'artifact', + $region = 'RegionOne', + $tenant = 'services', + $service_description = 'Glance Artifact Service', + $public_url = 'http://127.0.0.1:9494', + $admin_url = 'http://127.0.0.1:9494', + $internal_url = 'http://127.0.0.1:9494', +) { + + $real_service_name = pick($service_name, $auth_name) + + if $configure_endpoint { + Keystone_endpoint["${region}/${real_service_name}::${service_type}"] ~> Service<| title == 'glance-glare' |> + } + + keystone::resource::service_identity { $auth_name: + configure_user => $configure_user, + configure_user_role => $configure_user_role, + configure_endpoint => $configure_endpoint, + service_type => $service_type, + service_description => $service_description, + service_name => $real_service_name, + region => $region, + password => $password, + email => $email, + tenant => $tenant, + public_url => $public_url, + admin_url => $admin_url, + internal_url => $internal_url, + } + + if $configure_user_role { + Keystone_user_role["${auth_name}@${tenant}"] ~> Service<| title == 'glance-glare' |> + } +} diff --git a/glance/metadata.json b/glance/metadata.json index 28e073b62..393d513e7 100644 --- a/glance/metadata.json +++ b/glance/metadata.json @@ -1,6 +1,6 @@ { "name": "openstack-glance", - "version": "7.0.0", + "version": "8.0.0", "author": "Puppet Labs and OpenStack Contributors", "summary": "Puppet module for OpenStack Glance", "license": "Apache-2.0", @@ -32,8 +32,8 @@ "description": "Installs and configures OpenStack Glance (Image Service).", "dependencies": [ { "name": "puppetlabs/inifile", "version_requirement": ">=1.0.0 <2.0.0" }, - { "name": "openstack/keystone", "version_requirement": ">=7.0.0 <8.0.0" }, + { "name": "openstack/keystone", "version_requirement": ">=8.0.0 <9.0.0" }, { "name": "puppetlabs/stdlib", "version_requirement": ">=4.2.0 <5.0.0" }, - { "name": "openstack/openstacklib", "version_requirement": ">=7.0.0 <8.0.0" } + { "name": "openstack/openstacklib", "version_requirement": ">=8.0.0 <9.0.0" } ] } diff --git a/glance/releasenotes/notes/mitaka-dece9d43a565e6cb.yaml b/glance/releasenotes/notes/mitaka-dece9d43a565e6cb.yaml new file mode 100644 index 000000000..ce9ca2de2 --- /dev/null +++ b/glance/releasenotes/notes/mitaka-dece9d43a565e6cb.yaml @@ -0,0 +1,3 @@ +--- +prelude: > + This is the first Mitaka release for puppet-glance module. diff --git a/glance/releasenotes/notes/use-reno-1caaec4ba5aa4285.yaml b/glance/releasenotes/notes/use-reno-1caaec4ba5aa4285.yaml index 359b52a78..41cef2f11 100644 --- a/glance/releasenotes/notes/use-reno-1caaec4ba5aa4285.yaml +++ b/glance/releasenotes/notes/use-reno-1caaec4ba5aa4285.yaml @@ -1,6 +1,4 @@ --- -prelude: > - Release notes are generated by Reno. features: - Release notes are no longer maintained by hand, we now use the reno tool to manage them. diff --git a/glance/releasenotes/source/index.rst b/glance/releasenotes/source/index.rst index d11ae8dea..6ae57cf91 100644 --- a/glance/releasenotes/source/index.rst +++ b/glance/releasenotes/source/index.rst @@ -1,8 +1,19 @@ -=========================== -puppet-glance Release Notes -=========================== +======================================= +Welcome to puppet-glance Release Notes! +======================================= + +Contents +======== .. toctree:: - :maxdepth: 1 + :maxdepth: 2 + mitaka unreleased + + +Indices and tables +================== + +* :ref:`genindex` +* :ref:`search` diff --git a/glance/releasenotes/source/mitaka.rst b/glance/releasenotes/source/mitaka.rst new file mode 100644 index 000000000..97ab8d1d3 --- /dev/null +++ b/glance/releasenotes/source/mitaka.rst @@ -0,0 +1,6 @@ +============================ + Mitaka Series Release Notes +============================ + +.. release-notes:: + :branch: origin/stable/mitaka diff --git a/glance/spec/acceptance/basic_glance_spec.rb b/glance/spec/acceptance/basic_glance_spec.rb index eb3f620ce..a327006ae 100644 --- a/glance/spec/acceptance/basic_glance_spec.rb +++ b/glance/spec/acceptance/basic_glance_spec.rb @@ -21,6 +21,9 @@ class { '::glance::db::mysql': class { '::glance::keystone::auth': password => 'a_big_secret', } + class { '::glance::keystone::glare_auth': + password => 'a_big_secret', + } class { '::glance::api': database_connection => 'mysql+pymysql://glance:a_big_secret@127.0.0.1/glance?charset=utf8', verbose => false, diff --git a/glance/spec/acceptance/glance_config_spec.rb b/glance/spec/acceptance/glance_config_spec.rb index 8910394f7..6074cfe5c 100644 --- a/glance/spec/acceptance/glance_config_spec.rb +++ b/glance/spec/acceptance/glance_config_spec.rb @@ -11,6 +11,7 @@ File <||> -> Glance_api_config <||> File <||> -> Glance_registry_config <||> File <||> -> Glance_cache_config <||> + File <||> -> Glance_glare_config <||> file { '/etc/glance' : ensure => directory, @@ -24,6 +25,9 @@ file { '/etc/glance/glance-cache.conf' : ensure => file, } + file { '/etc/glance/glance-glare.conf' : + ensure => file, + } glance_api_config { 'DEFAULT/thisshouldexist' : value => 'foo', @@ -78,6 +82,24 @@ value => 'toto', ensure_absent_val => 'toto', } + + glance_glare_config { 'DEFAULT/thisshouldexist' : + value => 'foo', + } + + glance_glare_config { 'DEFAULT/thisshouldnotexist' : + value => '', + } + + glance_glare_config { 'DEFAULT/thisshouldexist2' : + value => '', + ensure_absent_val => 'toto', + } + + glance_glare_config { 'DEFAULT/thisshouldnotexist2' : + value => 'toto', + ensure_absent_val => 'toto', + } EOS @@ -118,5 +140,16 @@ it { is_expected.not_to match /thisshouldnotexist/ } end end + + describe file('/etc/glance/glance-glare.conf') do + it { is_expected.to exist } + it { is_expected.to contain('thisshouldexist=foo') } + it { is_expected.to contain('thisshouldexist2=') } + + describe '#content' do + subject { super().content } + it { is_expected.not_to match /thisshouldnotexist/ } + end + end end end diff --git a/glance/spec/classes/glance_backend_cinder_spec.rb b/glance/spec/classes/glance_backend_cinder_spec.rb index 454cca94d..b8ccbf260 100644 --- a/glance/spec/classes/glance_backend_cinder_spec.rb +++ b/glance/spec/classes/glance_backend_cinder_spec.rb @@ -46,6 +46,13 @@ is_expected.to contain_glance_cache_config('glance_store/cinder_ca_certificates_file').with(:ensure => 'absent') is_expected.to contain_glance_cache_config('glance_store/cinder_endpoint_template').with(:ensure => 'absent') end + it 'not configures glance-glare.conf' do + is_expected.to_not contain_glance_glare_config('glance_store/cinder_api_insecure').with_value(false) + is_expected.to_not contain_glance_glare_config('glance_store/cinder_catalog_info').with_value('volume:cinder:publicURL') + is_expected.to_not contain_glance_glare_config('glance_store/cinder_http_retries').with_value('3') + is_expected.to_not contain_glance_glare_config('glance_store/cinder_ca_certificates_file').with(:ensure => 'absent') + is_expected.to_not contain_glance_glare_config('glance_store/cinder_endpoint_template').with(:ensure => 'absent') + end end context 'when overriding parameters' do @@ -56,6 +63,7 @@ :cinder_catalog_info => 'volume:cinder:internalURL', :cinder_endpoint_template => 'http://srv-foo:8776/v1/%(project_id)s', :cinder_http_retries => '10', + :glare_enabled => true, } end it 'configures glance-api.conf' do @@ -72,8 +80,14 @@ is_expected.to contain_glance_cache_config('glance_store/cinder_endpoint_template').with_value('http://srv-foo:8776/v1/%(project_id)s') is_expected.to contain_glance_cache_config('glance_store/cinder_http_retries').with_value('10') end + it 'configures glance-glare.conf' do + is_expected.to contain_glance_glare_config('glance_store/cinder_api_insecure').with_value(true) + is_expected.to contain_glance_glare_config('glance_store/cinder_ca_certificates_file').with_value('/etc/ssh/ca.crt') + is_expected.to contain_glance_glare_config('glance_store/cinder_catalog_info').with_value('volume:cinder:internalURL') + is_expected.to contain_glance_glare_config('glance_store/cinder_endpoint_template').with_value('http://srv-foo:8776/v1/%(project_id)s') + is_expected.to contain_glance_glare_config('glance_store/cinder_http_retries').with_value('10') + end end - end diff --git a/glance/spec/classes/glance_backend_file_spec.rb b/glance/spec/classes/glance_backend_file_spec.rb index a71b130cf..d5d46a3d6 100644 --- a/glance/spec/classes/glance_backend_file_spec.rb +++ b/glance/spec/classes/glance_backend_file_spec.rb @@ -12,9 +12,14 @@ is_expected.to contain_glance_cache_config('glance_store/filesystem_store_datadir').with_value('/var/lib/glance/images/') end + it 'configures glance-glare.conf' do + is_expected.to_not contain_glance_glare_config('glance_store/filesystem_store_datadir').with_value('/tmp/') + end + describe 'when overriding datadir' do let :params do - {:filesystem_store_datadir => '/tmp/'} + {:filesystem_store_datadir => '/tmp/', + :glare_enabled => true,} end it 'configures glance-api.conf' do @@ -24,6 +29,10 @@ it 'configures glance-cache.conf' do is_expected.to contain_glance_cache_config('glance_store/filesystem_store_datadir').with_value('/tmp/') end + + it 'configures glance-glare.conf' do + is_expected.to contain_glance_glare_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 eba29fad1..508fc94d8 100644 --- a/glance/spec/classes/glance_backend_rbd_spec.rb +++ b/glance/spec/classes/glance_backend_rbd_spec.rb @@ -20,6 +20,11 @@ it { is_expected.to contain_glance_api_config('glance_store/rbd_store_chunk_size').with_value('8') } it { is_expected.to contain_glance_api_config('glance_store/rados_connect_timeout').with_value('0')} + it { is_expected.to_not contain_glance_glare_config('glance_store/default_store').with_value('rbd') } + it { is_expected.to_not contain_glance_glare_config('glance_store/rbd_store_pool').with_value('images') } + it { is_expected.to_not contain_glance_glare_config('glance_store/rbd_store_ceph_conf').with_value('/etc/ceph/ceph.conf') } + it { is_expected.to_not contain_glance_glare_config('glance_store/rbd_store_chunk_size').with_value('8') } + it { is_expected.to_not contain_glance_glare_config('glance_store/rados_connect_timeout').with_value('0')} it { is_expected.to contain_package('python-ceph').with( :name => 'python-ceph', :ensure => 'present' @@ -34,11 +39,15 @@ :rbd_store_chunk_size => '2', :package_ensure => 'latest', :rados_connect_timeout => '30', + :glare_enabled => true, } end it { is_expected.to contain_glance_api_config('glance_store/rbd_store_user').with_value('user') } it { is_expected.to contain_glance_api_config('glance_store/rbd_store_chunk_size').with_value('2') } it { is_expected.to contain_glance_api_config('glance_store/rados_connect_timeout').with_value('30')} + it { is_expected.to contain_glance_glare_config('glance_store/rbd_store_user').with_value('user') } + it { is_expected.to contain_glance_glare_config('glance_store/rbd_store_chunk_size').with_value('2') } + it { is_expected.to contain_glance_glare_config('glance_store/rados_connect_timeout').with_value('30')} it { is_expected.to contain_package('python-ceph').with( :name => 'python-ceph', :ensure => 'latest' diff --git a/glance/spec/classes/glance_backend_s3_spec.rb b/glance/spec/classes/glance_backend_s3_spec.rb index 570232ce7..b042463ce 100644 --- a/glance/spec/classes/glance_backend_s3_spec.rb +++ b/glance/spec/classes/glance_backend_s3_spec.rb @@ -26,6 +26,19 @@ is_expected.to contain_glance_api_config('glance_store/s3_store_object_buffer_dir').with_value(nil) is_expected.to contain_glance_api_config('glance_store/s3_store_thread_pools').with_value('10') end + it 'not configures glance-glare.conf' do + is_expected.to_not contain_glance_glare_config('glance_store/default_store').with_value('s3') + is_expected.to_not contain_glance_glare_config('glance_store/s3_store_access_key').with_value('access') + is_expected.to_not contain_glance_glare_config('glance_store/s3_store_secret_key').with_value('secret') + is_expected.to_not contain_glance_glare_config('glance_store/s3_store_host').with_value('host') + is_expected.to_not contain_glance_glare_config('glance_store/s3_store_bucket').with_value('bucket') + is_expected.to_not contain_glance_glare_config('glance_store/s3_store_bucket_url_format').with_value('subdomain') + is_expected.to_not contain_glance_glare_config('glance_store/s3_store_create_bucket_on_put').with_value('false') + is_expected.to_not contain_glance_glare_config('glance_store/s3_store_large_object_size').with_value('100') + is_expected.to_not contain_glance_glare_config('glance_store/s3_store_large_object_chunk_size').with_value('10') + is_expected.to_not contain_glance_glare_config('glance_store/s3_store_object_buffer_dir').with_value(nil) + is_expected.to_not contain_glance_glare_config('glance_store/s3_store_thread_pools').with_value('10') + end end @@ -42,6 +55,7 @@ :large_object_chunk_size => 20, :object_buffer_dir => '/tmp', :thread_pools => 20, + :glare_enabled => true, } end @@ -58,6 +72,18 @@ is_expected.to contain_glance_api_config('glance_store/s3_store_thread_pools').with_value('20') end + it 'configures glance-glare.conf' do + is_expected.to contain_glance_glare_config('glance_store/s3_store_access_key').with_value('access2') + is_expected.to contain_glance_glare_config('glance_store/s3_store_secret_key').with_value('secret2') + is_expected.to contain_glance_glare_config('glance_store/s3_store_host').with_value('host2') + is_expected.to contain_glance_glare_config('glance_store/s3_store_bucket').with_value('bucket2') + is_expected.to contain_glance_glare_config('glance_store/s3_store_bucket_url_format').with_value('path') + is_expected.to contain_glance_glare_config('glance_store/s3_store_create_bucket_on_put').with_value('true') + is_expected.to contain_glance_glare_config('glance_store/s3_store_large_object_size').with_value('200') + is_expected.to contain_glance_glare_config('glance_store/s3_store_large_object_chunk_size').with_value('20') + is_expected.to contain_glance_glare_config('glance_store/s3_store_object_buffer_dir').with_value('/tmp') + is_expected.to contain_glance_glare_config('glance_store/s3_store_thread_pools').with_value('20') + end end describe 'with invalid bucket_url_format' do diff --git a/glance/spec/classes/glance_backend_swift_spec.rb b/glance/spec/classes/glance_backend_swift_spec.rb index a89910e26..e9ddd69fe 100644 --- a/glance/spec/classes/glance_backend_swift_spec.rb +++ b/glance/spec/classes/glance_backend_swift_spec.rb @@ -30,6 +30,16 @@ is_expected.to contain_glance_swift_config('ref1/auth_address').with_value('http://127.0.0.1:5000/v2.0/') end + it 'not configures glance-glare.conf' do + is_expected.to_not contain_glance_glare_config('glance_store/default_store').with_value('swift') + is_expected.to_not contain_glance_glare_config('glance_store/swift_store_large_object_size').with_value('5120') + is_expected.to_not contain_glance_glare_config('glance_store/swift_store_container').with_value('glance') + is_expected.to_not contain_glance_glare_config('glance_store/swift_store_create_container_on_put').with_value(false) + is_expected.to_not contain_glance_glare_config('glance_store/swift_store_endpoint_type').with_value('internalURL') + is_expected.to_not contain_glance_glare_config('glance_store/swift_store_region').with_value(nil) + is_expected.to_not contain_glance_glare_config('glance_store/swift_store_config_file').with_value('/etc/glance/glance-swift.conf') + is_expected.to_not contain_glance_glare_config('glance_store/default_swift_reference').with_value('ref1') + end end describe 'when overriding parameters' do @@ -45,6 +55,7 @@ :swift_store_endpoint_type => 'publicURL', :swift_store_region => 'RegionTwo', :default_swift_reference => 'swift_creds', + :glare_enabled => true, } end @@ -60,6 +71,15 @@ is_expected.to contain_glance_swift_config('swift_creds/auth_version').with_value('1') is_expected.to contain_glance_swift_config('swift_creds/auth_address').with_value('127.0.0.2:8080/v1.0/') end + + it 'configures glance-glare.conf' do + is_expected.to contain_glance_glare_config('glance_store/swift_store_container').with_value('swift') + is_expected.to contain_glance_glare_config('glance_store/swift_store_create_container_on_put').with_value(true) + is_expected.to contain_glance_glare_config('glance_store/swift_store_large_object_size').with_value('100') + is_expected.to contain_glance_glare_config('glance_store/swift_store_endpoint_type').with_value('publicURL') + is_expected.to contain_glance_glare_config('glance_store/swift_store_region').with_value('RegionTwo') + is_expected.to contain_glance_glare_config('glance_store/default_swift_reference').with_value('swift_creds') + end end end diff --git a/glance/spec/classes/glance_backend_vsphere_spec.rb b/glance/spec/classes/glance_backend_vsphere_spec.rb index 1ae9bebc8..2b8f9b485 100644 --- a/glance/spec/classes/glance_backend_vsphere_spec.rb +++ b/glance/spec/classes/glance_backend_vsphere_spec.rb @@ -51,6 +51,18 @@ is_expected.to contain_glance_api_config('glance_store/vmware_api_retry_count').with_value('10') is_expected.to contain_glance_api_config('glance_store/vmware_datacenter_path').with_value('Datacenter') end + it 'not configures glance-glare.conf' do + is_expected.to_not contain_glance_glare_config('glance_store/default_store').with_value('vsphere') + is_expected.to_not contain_glance_glare_config('glance_store/vmware_api_insecure').with_value('False') + is_expected.to_not contain_glance_glare_config('glance_store/vmware_server_host').with_value('10.0.0.1') + is_expected.to_not contain_glance_glare_config('glance_store/vmware_server_username').with_value('root') + is_expected.to_not contain_glance_glare_config('glance_store/vmware_server_password').with_value('123456') + is_expected.to_not contain_glance_glare_config('glance_store/vmware_datastore_name').with_value('Datastore') + is_expected.to_not contain_glance_glare_config('glance_store/vmware_store_image_dir').with_value('/openstack_glance') + is_expected.to_not contain_glance_glare_config('glance_store/vmware_task_poll_interval').with_value('5') + is_expected.to_not contain_glance_glare_config('glance_store/vmware_api_retry_count').with_value('10') + is_expected.to_not contain_glance_glare_config('glance_store/vmware_datacenter_path').with_value('Datacenter') + end end context 'when overriding parameters' do @@ -65,6 +77,7 @@ :vcenter_api_insecure => 'True', :vcenter_task_poll_interval => '6', :vcenter_api_retry_count => '11', + :glare_enabled => true, } end it 'configures glance-api.conf' do @@ -72,6 +85,12 @@ is_expected.to contain_glance_api_config('glance_store/vmware_task_poll_interval').with_value('6') is_expected.to contain_glance_api_config('glance_store/vmware_api_retry_count').with_value('11') end + + it 'configures glance-glare.conf' do + is_expected.to contain_glance_glare_config('glance_store/vmware_api_insecure').with_value('True') + is_expected.to contain_glance_glare_config('glance_store/vmware_task_poll_interval').with_value('6') + is_expected.to contain_glance_glare_config('glance_store/vmware_api_retry_count').with_value('11') + end end end diff --git a/glance/spec/classes/glance_config_spec.rb b/glance/spec/classes/glance_config_spec.rb new file mode 100644 index 000000000..4245bed41 --- /dev/null +++ b/glance/spec/classes/glance_config_spec.rb @@ -0,0 +1,95 @@ +require 'spec_helper' + +describe 'glance::config' do + + let(:config_hash) do { + 'DEFAULT/foo' => { 'value' => 'fooValue' }, + 'DEFAULT/bar' => { 'value' => 'barValue' }, + 'DEFAULT/baz' => { 'ensure' => 'absent' } + } + end + + shared_examples_for 'glance_api_config' do + let :params do + { :api_config => config_hash, + :api_paste_ini_config => config_hash } + end + + it 'configures arbitrary glance-api configurations' do + is_expected.to contain_glance_api_config('DEFAULT/foo').with_value('fooValue') + is_expected.to contain_glance_api_config('DEFAULT/bar').with_value('barValue') + is_expected.to contain_glance_api_config('DEFAULT/baz').with_ensure('absent') + end + + it 'configures arbitrary glance-api-paste configurations' do + is_expected.to contain_glance_api_paste_ini('DEFAULT/foo').with_value('fooValue') + is_expected.to contain_glance_api_paste_ini('DEFAULT/bar').with_value('barValue') + is_expected.to contain_glance_api_paste_ini('DEFAULT/baz').with_ensure('absent') + end + end + + shared_examples_for 'glance_registry_config' do + let :params do + { :registry_config => config_hash, + :registry_paste_ini_config => config_hash } + end + + it 'configures arbitrary glance-registry configurations' do + is_expected.to contain_glance_registry_config('DEFAULT/foo').with_value('fooValue') + is_expected.to contain_glance_registry_config('DEFAULT/bar').with_value('barValue') + is_expected.to contain_glance_registry_config('DEFAULT/baz').with_ensure('absent') + end + + it 'configures arbitrary glance-registry-paste configurations' do + is_expected.to contain_glance_registry_paste_ini('DEFAULT/foo').with_value('fooValue') + is_expected.to contain_glance_registry_paste_ini('DEFAULT/bar').with_value('barValue') + is_expected.to contain_glance_registry_paste_ini('DEFAULT/baz').with_ensure('absent') + end + end + + shared_examples_for 'glance_glare_config' do + let :params do + { :glare_config => config_hash, + :glare_paste_ini_config => config_hash } + end + + it 'configures arbitrary glance-glare configurations' do + is_expected.to contain_glance_glare_config('DEFAULT/foo').with_value('fooValue') + is_expected.to contain_glance_glare_config('DEFAULT/bar').with_value('barValue') + is_expected.to contain_glance_glare_config('DEFAULT/baz').with_ensure('absent') + end + + it 'configures arbitrary glance-glare-paste configurations' do + is_expected.to contain_glance_glare_paste_ini('DEFAULT/foo').with_value('fooValue') + is_expected.to contain_glance_glare_paste_ini('DEFAULT/bar').with_value('barValue') + is_expected.to contain_glance_glare_paste_ini('DEFAULT/baz').with_ensure('absent') + end + end + + shared_examples_for 'glance_cache_config' do + let :params do + { :cache_config => config_hash } + end + + it 'configures arbitrary glance-cache configurations' do + is_expected.to contain_glance_cache_config('DEFAULT/foo').with_value('fooValue') + is_expected.to contain_glance_cache_config('DEFAULT/bar').with_value('barValue') + is_expected.to contain_glance_cache_config('DEFAULT/baz').with_ensure('absent') + end + end + + on_supported_os({ + :supported_os => OSDefaults.get_supported_os + }).each do |os,facts| + context "on #{os}" do + let (:facts) do + facts.merge!(OSDefaults.get_facts()) + end + + it_configures 'glance_api_config' + it_configures 'glance_registry_config' + it_configures 'glance_glare_config' + it_configures 'glance_cache_config' + end + end +end diff --git a/glance/spec/classes/glance_keystone_glare_auth_spec.rb b/glance/spec/classes/glance_keystone_glare_auth_spec.rb new file mode 100644 index 000000000..2e3381041 --- /dev/null +++ b/glance/spec/classes/glance_keystone_glare_auth_spec.rb @@ -0,0 +1,172 @@ +require 'spec_helper' + +describe 'glance::keystone::glare_auth' do + + shared_examples_for 'glance::keystone::glare_auth' do + describe 'with defaults' do + + let :params do + {:password => 'pass'} + end + + it { is_expected.to contain_keystone_user('glare').with( + :ensure => 'present', + :password => 'pass' + )} + + it { is_expected.to contain_keystone_user_role('glare@services').with( + :ensure => 'present', + :roles => ['admin'] + ) } + + it { is_expected.to contain_keystone_service('Glance Artifacts::artifact').with( + :ensure => 'present', + :description => 'Glance Artifact Service' + ) } + + it { is_expected.to contain_keystone_endpoint('RegionOne/Glance Artifacts::artifact').with( + :ensure => 'present', + :public_url => 'http://127.0.0.1:9494', + :admin_url => 'http://127.0.0.1:9494', + :internal_url => 'http://127.0.0.1:9494' + )} + + end + + describe 'when auth_type, password, and service_type are overridden' do + + let :params do + { + :auth_name => 'glarey', + :password => 'password', + :service_type => 'glarey' + } + end + + it { is_expected.to contain_keystone_user('glarey').with( + :ensure => 'present', + :password => 'password' + )} + + it { is_expected.to contain_keystone_user_role('glarey@services').with( + :ensure => 'present', + :roles => ['admin'] + ) } + + it { is_expected.to contain_keystone_service('Glance Artifacts::glarey').with( + :ensure => 'present', + :description => 'Glance Artifact Service' + ) } + + end + + describe 'when overriding endpoint URLs' do + let :params do + { :password => 'passw0rd', + :region => 'RegionTwo', + :public_url => 'https://10.10.10.10:82/v2', + :internal_url => 'https://10.10.10.11:82/v2', + :admin_url => 'https://10.10.10.12:82/v2' } + end + + it { is_expected.to contain_keystone_endpoint('RegionTwo/Glance Artifacts::artifact').with( + :ensure => 'present', + :public_url => 'https://10.10.10.10:82/v2', + :internal_url => 'https://10.10.10.11:82/v2', + :admin_url => 'https://10.10.10.12:82/v2' + ) } + end + + describe 'when endpoint is not set' do + + let :params do + { + :configure_endpoint => false, + :password => 'pass', + } + end + + it { is_expected.to_not contain_keystone_endpoint('RegionOne/Glance Artifacts::artifact') } + end + + describe 'when disabling user configuration' do + let :params do + { + :configure_user => false, + :password => 'pass', + } + end + + it { is_expected.to_not contain_keystone_user('glare') } + + it { is_expected.to contain_keystone_user_role('glare@services') } + + it { is_expected.to contain_keystone_service('Glance Artifacts::artifact').with( + :ensure => 'present', + :description => 'Glance Artifact Service' + ) } + end + + describe 'when disabling user and user role configuration' do + let :params do + { + :configure_user => false, + :configure_user_role => false, + :password => 'pass', + } + end + + it { is_expected.to_not contain_keystone_user('glare') } + + it { is_expected.to_not contain_keystone_user_role('glare@services') } + + it { is_expected.to contain_keystone_service('Glance Artifacts::artifact').with( + :ensure => 'present', + :description => 'Glance Artifact Service' + ) } + end + + describe 'when configuring glance-glare and the keystone endpoint' do + let :pre_condition do + "class { 'glance::glare': keystone_password => 'test' }" + end + + let :params do + { + :password => 'test', + :configure_endpoint => true + } + end + + it { is_expected.to contain_keystone_endpoint('RegionOne/Glance Artifacts::artifact').with_notify(["Service[glance-glare]"]) } + end + + describe 'when overriding service name' do + + let :params do + { + :service_name => 'glance_service', + :password => 'pass' + } + end + + it { is_expected.to contain_keystone_user('glare') } + it { is_expected.to contain_keystone_user_role('glare@services') } + it { is_expected.to contain_keystone_service('glance_service::artifact') } + it { is_expected.to contain_keystone_endpoint('RegionOne/glance_service::artifact') } + + end + end + + on_supported_os({ + :supported_os => OSDefaults.get_supported_os + }).each do |os,facts| + context "on #{os}" do + let (:facts) do + facts.merge!(OSDefaults.get_facts()) + end + + it_configures 'glance::keystone::glare_auth' + end + end +end diff --git a/gnocchi/.gitreview b/gnocchi/.gitreview index 40f91b618..975930ab7 100644 --- a/gnocchi/.gitreview +++ b/gnocchi/.gitreview @@ -2,3 +2,4 @@ host=review.openstack.org port=29418 project=openstack/puppet-gnocchi.git +defaultbranch=stable/mitaka diff --git a/gnocchi/CHANGELOG.md b/gnocchi/CHANGELOG.md index 9db850184..e5477cca6 100644 --- a/gnocchi/CHANGELOG.md +++ b/gnocchi/CHANGELOG.md @@ -1,3 +1,8 @@ +## 8.0.0 and beyond + +From 8.0.0 release and beyond, release notes are published on +[docs.openstack.org](http://docs.openstack.org/releasenotes/puppet-gnocchi/). + ##2015-11-25 - 7.0.0 ###Summary diff --git a/gnocchi/Gemfile b/gnocchi/Gemfile index efeba2a44..c4761b8be 100644 --- a/gnocchi/Gemfile +++ b/gnocchi/Gemfile @@ -15,7 +15,8 @@ group :development, :test do gem 'puppet-lint-numericvariable', :require => 'false' gem 'json', :require => 'false' gem 'puppet-openstack_spec_helper', - :git => 'https://git.openstack.org/openstack/puppet-openstack_spec_helper', + :git => 'https://git.openstack.org/openstack/puppet-openstack_spec_helper', + :branch => 'stable/mitaka', :require => false end diff --git a/gnocchi/metadata.json b/gnocchi/metadata.json index 69bfb42b0..191aee8cd 100644 --- a/gnocchi/metadata.json +++ b/gnocchi/metadata.json @@ -1,6 +1,6 @@ { "name": "openstack-gnocchi", - "version": "7.0.0", + "version": "8.0.0", "author": "OpenStack Contributors", "summary": "Puppet module for OpenStack Gnocchi", "license": "Apache-2.0", @@ -32,8 +32,8 @@ ], "dependencies": [ { "name": "puppetlabs/inifile", "version_requirement": ">=1.0.0 <2.0.0" }, - { "name": "openstack/keystone", "version_requirement": ">=7.0.0 <8.0.0" }, + { "name": "openstack/keystone", "version_requirement": ">=8.0.0 <9.0.0" }, { "name": "puppetlabs/stdlib", "version_requirement": ">=4.0.0 <5.0.0" }, - { "name": "openstack/openstacklib", "version_requirement": ">=7.0.0 <8.0.0" } + { "name": "openstack/openstacklib", "version_requirement": ">=8.0.0 <9.0.0" } ] } diff --git a/gnocchi/releasenotes/notes/mitaka-dece9d43a565e6cb.yaml b/gnocchi/releasenotes/notes/mitaka-dece9d43a565e6cb.yaml new file mode 100644 index 000000000..c2e3ae900 --- /dev/null +++ b/gnocchi/releasenotes/notes/mitaka-dece9d43a565e6cb.yaml @@ -0,0 +1,3 @@ +--- +prelude: > + This is the first Mitaka release for puppet-gnocchi module. diff --git a/gnocchi/releasenotes/notes/use-reno-1caaec4ba5aa4285.yaml b/gnocchi/releasenotes/notes/use-reno-1caaec4ba5aa4285.yaml index 359b52a78..41cef2f11 100644 --- a/gnocchi/releasenotes/notes/use-reno-1caaec4ba5aa4285.yaml +++ b/gnocchi/releasenotes/notes/use-reno-1caaec4ba5aa4285.yaml @@ -1,6 +1,4 @@ --- -prelude: > - Release notes are generated by Reno. features: - Release notes are no longer maintained by hand, we now use the reno tool to manage them. diff --git a/gnocchi/releasenotes/source/index.rst b/gnocchi/releasenotes/source/index.rst index 67b476e44..17ef9afb7 100644 --- a/gnocchi/releasenotes/source/index.rst +++ b/gnocchi/releasenotes/source/index.rst @@ -1,8 +1,19 @@ -============================ -puppet-gnocchi Release Notes -============================ +======================================== +Welcome to puppet-gnocchi Release Notes! +======================================== + +Contents +======== .. toctree:: - :maxdepth: 1 + :maxdepth: 2 + mitaka unreleased + + +Indices and tables +================== + +* :ref:`genindex` +* :ref:`search` diff --git a/gnocchi/releasenotes/source/mitaka.rst b/gnocchi/releasenotes/source/mitaka.rst new file mode 100644 index 000000000..97ab8d1d3 --- /dev/null +++ b/gnocchi/releasenotes/source/mitaka.rst @@ -0,0 +1,6 @@ +============================ + Mitaka Series Release Notes +============================ + +.. release-notes:: + :branch: origin/stable/mitaka diff --git a/heat/.gitreview b/heat/.gitreview index 3818248b0..b32bd5e19 100644 --- a/heat/.gitreview +++ b/heat/.gitreview @@ -2,3 +2,4 @@ host=review.openstack.org port=29418 project=openstack/puppet-heat.git +defaultbranch=stable/mitaka diff --git a/heat/CHANGELOG.md b/heat/CHANGELOG.md index 5fc6ac95a..73a59296f 100644 --- a/heat/CHANGELOG.md +++ b/heat/CHANGELOG.md @@ -1,3 +1,8 @@ +## 8.0.0 and beyond + +From 8.0.0 release and beyond, release notes are published on +[docs.openstack.org](http://docs.openstack.org/releasenotes/puppet-heat/). + ##2015-11-25 - 7.0.0 ###Summary diff --git a/heat/Gemfile b/heat/Gemfile index efeba2a44..c4761b8be 100644 --- a/heat/Gemfile +++ b/heat/Gemfile @@ -15,7 +15,8 @@ group :development, :test do gem 'puppet-lint-numericvariable', :require => 'false' gem 'json', :require => 'false' gem 'puppet-openstack_spec_helper', - :git => 'https://git.openstack.org/openstack/puppet-openstack_spec_helper', + :git => 'https://git.openstack.org/openstack/puppet-openstack_spec_helper', + :branch => 'stable/mitaka', :require => false end diff --git a/heat/manifests/init.pp b/heat/manifests/init.pp index 3310a3275..067b9972a 100644 --- a/heat/manifests/init.pp +++ b/heat/manifests/init.pp @@ -118,19 +118,40 @@ # [*auth_uri*] # (Optional) Specifies the public Identity URI for Heat to use. # Located in heat.conf. -# Defaults to: false +# Defaults to: 'http://127.0.0.1:5000/'. # # [*identity_uri*] # (Optional) Specifies the admin Identity URI for Heat to use. # Located in heat.conf. -# Defaults to: false +# Defaults to: 'http://127.0.0.1:35357/'. +# +# [*auth_plugin*] +# Specifies the plugin used for authentication. +# Defaults to undef. # # [*keystone_user*] +# Defaults to 'heat'. # # [*keystone_tenant*] +# Defaults to 'services'. # # [*keystone_password*] # +# [*keystone_project_domain_name*] +# Specifies the project domain of Keystone account for "password" auth_plugin. +# Defaults to 'Default'. +# +# [*keystone_user_domain_id*] +# (Optional) Domain ID of the principal if the principal has a domain. +# Defaults to: 'Default'. +# +# [*keystone_user_domain_name*] +# Defaults to 'Default'. +# +# [*keystone_project_domain_id*] +# (Optional) Domain ID of the scoped project if auth is project-scoped. +# Defaults to: 'Default'. +# # [*keystone_ec2_uri*] # # [*database_connection*] @@ -211,18 +232,6 @@ # [*sql_connection*] # Deprecated. Use database_connection instead. # -# [*keystone_host*] -# (Optional) DEPRECATED The keystone host. -# Defaults to localhost. -# -# [*keystone_port*] -# (Optional) DEPRECATED The port used to access the keystone host. -# Defaults to 35357. -# -# [*keystone_protocol*] -# (Optional) DEPRECATED. The protocol used to access the keystone host -# Defaults to http. -# # [*qpid_hostname*] # # [*qpid_port*] @@ -250,16 +259,21 @@ # [*qpid_reconnect_interval_max*] # class heat( - $auth_uri = false, - $identity_uri = false, + $auth_uri = 'http://127.0.0.1:5000/', + $identity_uri = 'http://127.0.0.1:35357/', $package_ensure = 'present', $verbose = undef, $debug = undef, $log_dir = undef, + $auth_plugin = undef, $keystone_user = 'heat', $keystone_tenant = 'services', $keystone_password = false, $keystone_ec2_uri = 'http://127.0.0.1:5000/v2.0/ec2tokens', + $keystone_project_domain_id = 'Default', + $keystone_project_domain_name = 'Default', + $keystone_user_domain_id = 'Default', + $keystone_user_domain_name = 'Default', $rpc_backend = $::os_service_default, $rpc_response_timeout = $::os_service_default, $rabbit_host = $::os_service_default, @@ -298,9 +312,6 @@ # Deprecated parameters $mysql_module = undef, $sql_connection = undef, - $keystone_host = '127.0.0.1', - $keystone_port = '35357', - $keystone_protocol = 'http', $instance_user = undef, $qpid_hostname = undef, $qpid_port = undef, @@ -395,62 +406,40 @@ warning('Qpid driver is removed from Oslo.messaging in the Mitaka release') } - # if both auth_uri and identity_uri are set we skip these deprecated settings entirely - if !$auth_uri or !$identity_uri { - if $keystone_host { - warning('The keystone_host parameter is deprecated. Please use auth_uri and identity_uri instead.') + if $auth_plugin { + if $auth_plugin == 'password' { heat_config { - 'keystone_authtoken/auth_host': value => $keystone_host; + 'keystone_authtoken/auth_url': value => $identity_uri; + 'keystone_authtoken/auth_plugin': value => $auth_plugin; + 'keystone_authtoken/username': value => $keystone_user; + 'keystone_authtoken/password': value => $keystone_password, secret => true; + 'keystone_authtoken/user_domain_id': value => $keystone_user_domain_id; + 'keystone_authtoken/project_name': value => $keystone_tenant; + 'keystone_authtoken/project_domain_id': value => $keystone_project_domain_id; } } else { - heat_config { - 'keystone_authtoken/auth_host': ensure => absent; - } - } - - if $keystone_port { - warning('The keystone_port parameter is deprecated. Please use auth_uri and identity_uri instead.') - heat_config { - 'keystone_authtoken/auth_port': value => $keystone_port; - } - } else { - heat_config { - 'keystone_authtoken/auth_port': ensure => absent; - } - } - - if $keystone_protocol { - warning('The keystone_protocol parameter is deprecated. Please use auth_uri and identity_uri instead.') - heat_config { - 'keystone_authtoken/auth_protocol': value => $keystone_protocol; - } - } else { - heat_config { - 'keystone_authtoken/auth_protocol': ensure => absent; - } + fail('Currently only "password" auth_plugin is supported.') } } else { + warning('"admin_user", "admin_password", "admin_tenant_name" configuration options are deprecated in favor of auth_plugin and related options') heat_config { - 'keystone_authtoken/auth_host': ensure => absent; - 'keystone_authtoken/auth_port': ensure => absent; - 'keystone_authtoken/auth_protocol': ensure => absent; + 'keystone_authtoken/auth_uri': value => $auth_uri; + 'keystone_authtoken/identity_uri': value => $identity_uri; + 'keystone_authtoken/admin_tenant_name': value => $keystone_tenant; + 'keystone_authtoken/admin_user': value => $keystone_user; + 'keystone_authtoken/admin_password': value => $keystone_password, secret => true; } } - if $auth_uri { - heat_config { 'keystone_authtoken/auth_uri': value => $auth_uri; } - } else { - heat_config { 'keystone_authtoken/auth_uri': value => "${keystone_protocol}://${keystone_host}:5000/v2.0"; } - } + heat_config { + 'trustee/auth_plugin': value => 'password'; + 'trustee/auth_url': value => $identity_uri; + 'trustee/username': value => $keystone_user; + 'trustee/password': value => $keystone_password, secret => true; + 'trustee/project_domain_id': value => $keystone_project_domain_id; + 'trustee/user_domain_id': value => $keystone_user_domain_id; - if $identity_uri { - heat_config { - 'keystone_authtoken/identity_uri': value => $identity_uri; - } - } else { - heat_config { - 'keystone_authtoken/identity_uri': ensure => absent; - } + 'clients_keystone/auth_uri': value => $identity_uri; } if (!is_service_default($enable_stack_adopt)) { @@ -471,10 +460,6 @@ 'DEFAULT/enable_stack_abandon': value => $enable_stack_abandon; 'DEFAULT/enable_stack_adopt': value => $enable_stack_adopt; 'ec2authtoken/auth_uri': value => $keystone_ec2_uri; - 'keystone_authtoken/region_name': value => $region_name; - 'keystone_authtoken/admin_tenant_name': value => $keystone_tenant; - 'keystone_authtoken/admin_user': value => $keystone_user; - 'keystone_authtoken/admin_password': value => $keystone_password, secret => true; 'paste_deploy/flavor': value => $flavor; } diff --git a/heat/metadata.json b/heat/metadata.json index 0fba24bdc..62caa19d4 100644 --- a/heat/metadata.json +++ b/heat/metadata.json @@ -1,6 +1,6 @@ { "name": "openstack-heat", - "version": "7.0.0", + "version": "8.0.0", "author": "eNovance and OpenStack Contributors", "summary": "Puppet module for OpenStack Heat", "license": "Apache-2.0", @@ -32,8 +32,8 @@ "description": "Installs and configures OpenStack Heat (Orchestration).", "dependencies": [ { "name": "puppetlabs/inifile", "version_requirement": ">=1.0.0 <2.0.0" }, - { "name": "openstack/keystone", "version_requirement": ">=7.0.0 <8.0.0" }, + { "name": "openstack/keystone", "version_requirement": ">=8.0.0 <9.0.0" }, { "name": "puppetlabs/stdlib", "version_requirement": ">=4.0.0 <5.0.0" }, - { "name": "openstack/openstacklib", "version_requirement": ">=7.0.0 <8.0.0" } + { "name": "openstack/openstacklib", "version_requirement": ">=8.0.0 <9.0.0" } ] } diff --git a/heat/releasenotes/notes/mitaka-dece9d43a565e6cb.yaml b/heat/releasenotes/notes/mitaka-dece9d43a565e6cb.yaml new file mode 100644 index 000000000..387bcb79c --- /dev/null +++ b/heat/releasenotes/notes/mitaka-dece9d43a565e6cb.yaml @@ -0,0 +1,3 @@ +--- +prelude: > + This is the first Mitaka release for puppet-heat module. diff --git a/heat/releasenotes/notes/use-reno-1caaec4ba5aa4285.yaml b/heat/releasenotes/notes/use-reno-1caaec4ba5aa4285.yaml index 359b52a78..41cef2f11 100644 --- a/heat/releasenotes/notes/use-reno-1caaec4ba5aa4285.yaml +++ b/heat/releasenotes/notes/use-reno-1caaec4ba5aa4285.yaml @@ -1,6 +1,4 @@ --- -prelude: > - Release notes are generated by Reno. features: - Release notes are no longer maintained by hand, we now use the reno tool to manage them. diff --git a/heat/releasenotes/notes/versionless-auth-urls-08c741084b9a9040.yaml b/heat/releasenotes/notes/versionless-auth-urls-08c741084b9a9040.yaml new file mode 100644 index 000000000..1e0851794 --- /dev/null +++ b/heat/releasenotes/notes/versionless-auth-urls-08c741084b9a9040.yaml @@ -0,0 +1,11 @@ +--- +features: + - Configure "trustee" and "clients_keystone" sections. + Support auth_plugin and versionless auth urls. +upgrade: + - Removed deprecated options "keystone_host", + "keystone_port", "keystone_protocol". +deprecations: + - Deprecated "admin_user", "admin_password" and + "admin_tenant_name" options in favour of auth_plugin + auth method. diff --git a/heat/releasenotes/source/index.rst b/heat/releasenotes/source/index.rst index 204c8b810..a63d2439e 100644 --- a/heat/releasenotes/source/index.rst +++ b/heat/releasenotes/source/index.rst @@ -1,8 +1,19 @@ -========================= -puppet-heat Release Notes -========================= +===================================== +Welcome to puppet-heat Release Notes! +===================================== + +Contents +======== .. toctree:: - :maxdepth: 1 + :maxdepth: 2 + mitaka unreleased + + +Indices and tables +================== + +* :ref:`genindex` +* :ref:`search` diff --git a/heat/releasenotes/source/mitaka.rst b/heat/releasenotes/source/mitaka.rst new file mode 100644 index 000000000..97ab8d1d3 --- /dev/null +++ b/heat/releasenotes/source/mitaka.rst @@ -0,0 +1,6 @@ +============================ + Mitaka Series Release Notes +============================ + +.. release-notes:: + :branch: origin/stable/mitaka diff --git a/heat/spec/classes/heat_init_spec.rb b/heat/spec/classes/heat_init_spec.rb index ccb3bc954..6c264de47 100644 --- a/heat/spec/classes/heat_init_spec.rb +++ b/heat/spec/classes/heat_init_spec.rb @@ -16,7 +16,6 @@ :rabbit_virtual_host => '', :database_connection => 'mysql+pymysql://user@host/database', :database_idle_timeout => 3600, - :auth_uri => 'http://127.0.0.1:5000/v2.0', :keystone_ec2_uri => 'http://127.0.0.1:5000/v2.0/ec2tokens', :flavor => 'keystone', :keystone_password => 'secretpassword', @@ -58,8 +57,7 @@ it_configures 'with SSL enabled without kombu' it_configures 'with SSL disabled' it_configures 'with SSL wrongly configured' - it_configures "with custom keystone identity_uri" - it_configures "with custom keystone identity_uri and auth_uri" + it_configures "with auth_plugin" it_configures 'with enable_stack_adopt and enable_stack_abandon set' it_configures 'with notification_driver set to a string' end @@ -89,8 +87,32 @@ is_expected.to contain_heat_config('DEFAULT/max_json_body_size').with_value('') end - it 'configures auth_uri' do - is_expected.to contain_heat_config('keystone_authtoken/auth_uri').with_value( params[:auth_uri] ) + it 'configures project_domain_id' do + is_expected.to contain_heat_config('trustee/project_domain_id').with_value( 'Default' ) + end + + it 'configures user_domain_id' do + is_expected.to contain_heat_config('trustee/user_domain_id').with_value( 'Default' ) + end + + it 'configures auth_plugin' do + is_expected.to contain_heat_config('trustee/auth_plugin').with_value( 'password' ) + end + + it 'configures auth_url' do + is_expected.to contain_heat_config('trustee/auth_url').with_value( 'http://127.0.0.1:35357/' ) + end + + it 'configures username' do + is_expected.to contain_heat_config('trustee/username').with_value( 'heat' ) + end + + it 'configures ' do + is_expected.to contain_heat_config('trustee/password').with_secret( true ) + end + + it 'configures auth_uri for clients_keystone' do + is_expected.to contain_heat_config('clients_keystone/auth_uri').with_value( 'http://127.0.0.1:35357/' ) end it 'configures keystone_ec2_uri' do @@ -99,14 +121,11 @@ it { is_expected.to contain_heat_config('paste_deploy/flavor').with_value('keystone') } - it 'keeps keystone secrets secret' do - is_expected.to contain_heat_config('keystone_authtoken/admin_password').with_secret(true) - end - it 'configures notification_driver' do is_expected.to contain_heat_config('DEFAULT/notification_driver').with_value('') end + it_configures "with default auth method" end shared_examples_for 'rabbit without HA support (with backward compatibility)' do @@ -304,18 +323,6 @@ end end - shared_examples_for 'with auth uri set' do - before do - params.merge!( - :auth_uri => 'http://1.2.3.4:35357/v2.0' - ) - end - - it do - is_expected.to contain_heat_config('keystone_authtoken/auth_uri').with_value('http://1.2.3.4:35357/v2.0') - end - end - shared_examples_for 'with region_name set' do before do params.merge!( @@ -325,41 +332,52 @@ it 'has region_name set when specified' do is_expected.to contain_heat_config('DEFAULT/region_name_for_services').with_value('East') - is_expected.to contain_heat_config('keystone_authtoken/region_name').with_value('East') end end shared_examples_for 'without region_name set' do it 'doesnt have region_name set by default' do is_expected.to contain_heat_config('DEFAULT/region_name_for_services').with_value('') - is_expected.to contain_heat_config('keystone_authtoken/region_name').with_value('') end end - shared_examples_for "with custom keystone identity_uri" do + shared_examples_for "with default auth method" do + it 'configures auth_uri, identity_uri, admin_tenant_name, admin_user, admin_password' do + is_expected.to contain_heat_config('keystone_authtoken/auth_uri').with_value("http://127.0.0.1:5000/") + is_expected.to contain_heat_config('keystone_authtoken/identity_uri').with_value("http://127.0.0.1:35357/") + is_expected.to contain_heat_config('keystone_authtoken/admin_tenant_name').with_value("services") + is_expected.to contain_heat_config('keystone_authtoken/admin_user').with_value("heat") + is_expected.to contain_heat_config('keystone_authtoken/admin_password').with_secret( true ) + end + end + + shared_examples_for "with auth_plugin" do before do params.merge!({ - :identity_uri => 'https://foo.bar:1234/', + :auth_plugin => 'password', }) end - it 'configures identity_uri' do - is_expected.to contain_heat_config('keystone_authtoken/identity_uri').with_value("https://foo.bar:1234/"); + it 'configures ' do + is_expected.to contain_heat_config('keystone_authtoken/auth_plugin').with_value("password") + is_expected.to contain_heat_config('keystone_authtoken/auth_url').with_value("http://127.0.0.1:35357/") + is_expected.to contain_heat_config('keystone_authtoken/username').with_value("heat") + is_expected.to contain_heat_config('keystone_authtoken/password').with_secret( true ) + is_expected.to contain_heat_config('keystone_authtoken/project_name').with_value("services") + is_expected.to contain_heat_config('keystone_authtoken/user_domain_id').with_value('Default') + is_expected.to contain_heat_config('keystone_authtoken/project_domain_id').with_value('Default') end end - shared_examples_for "with custom keystone identity_uri and auth_uri" do + shared_examples_for "with custom keystone project_domain_id and user_domain_id" do before do params.merge!({ - :identity_uri => 'https://foo.bar:35357/', - :auth_uri => 'https://foo.bar:5000/v2.0/', + :keystone_project_domain_id => 'domain1', + :keystone_user_domain_id => 'domain1', }) end - it 'configures identity_uri and auth_uri but deprecates old auth settings' do - is_expected.to contain_heat_config('keystone_authtoken/identity_uri').with_value("https://foo.bar:35357/"); - is_expected.to contain_heat_config('keystone_authtoken/auth_uri').with_value("https://foo.bar:5000/v2.0/"); - is_expected.to contain_heat_config('keystone_authtoken/auth_port').with(:ensure => 'absent') - is_expected.to contain_heat_config('keystone_authtoken/auth_protocol').with(:ensure => 'absent') - is_expected.to contain_heat_config('keystone_authtoken/auth_host').with(:ensure => 'absent') + it 'configures project_domain_id and user_domain_id' do + is_expected.to contain_heat_config('trustee/project_domain_id').with_value("domain1"); + is_expected.to contain_heat_config('trustee/user_domain_id').with_value("domain1"); end end diff --git a/horizon/.gitreview b/horizon/.gitreview index 765382400..b5f52ac1a 100644 --- a/horizon/.gitreview +++ b/horizon/.gitreview @@ -2,3 +2,4 @@ host=review.openstack.org port=29418 project=openstack/puppet-horizon.git +defaultbranch=stable/mitaka diff --git a/horizon/CHANGELOG.md b/horizon/CHANGELOG.md index 8966ea145..0dea6570a 100644 --- a/horizon/CHANGELOG.md +++ b/horizon/CHANGELOG.md @@ -1,3 +1,8 @@ +## 8.0.0 and beyond + +From 8.0.0 release and beyond, release notes are published on +[docs.openstack.org](http://docs.openstack.org/releasenotes/puppet-horizon/). + ##2015-11-25 - 7.0.0 ###Summary diff --git a/horizon/Gemfile b/horizon/Gemfile index efeba2a44..c4761b8be 100644 --- a/horizon/Gemfile +++ b/horizon/Gemfile @@ -15,7 +15,8 @@ group :development, :test do gem 'puppet-lint-numericvariable', :require => 'false' gem 'json', :require => 'false' gem 'puppet-openstack_spec_helper', - :git => 'https://git.openstack.org/openstack/puppet-openstack_spec_helper', + :git => 'https://git.openstack.org/openstack/puppet-openstack_spec_helper', + :branch => 'stable/mitaka', :require => false end diff --git a/horizon/metadata.json b/horizon/metadata.json index 8db0311d9..d946e9cf4 100644 --- a/horizon/metadata.json +++ b/horizon/metadata.json @@ -1,6 +1,6 @@ { "name": "openstack-horizon", - "version": "7.0.0", + "version": "8.0.0", "author": "Puppet Labs and OpenStack Contributors", "summary": "Puppet module for OpenStack Horizon", "license": "Apache-2.0", diff --git a/horizon/releasenotes/notes/mitaka-dece9d43a565e6cb.yaml b/horizon/releasenotes/notes/mitaka-dece9d43a565e6cb.yaml new file mode 100644 index 000000000..4b52a1ccd --- /dev/null +++ b/horizon/releasenotes/notes/mitaka-dece9d43a565e6cb.yaml @@ -0,0 +1,3 @@ +--- +prelude: > + This is the first Mitaka release for puppet-horizon module. diff --git a/horizon/releasenotes/notes/use-reno-1caaec4ba5aa4285.yaml b/horizon/releasenotes/notes/use-reno-1caaec4ba5aa4285.yaml index 359b52a78..41cef2f11 100644 --- a/horizon/releasenotes/notes/use-reno-1caaec4ba5aa4285.yaml +++ b/horizon/releasenotes/notes/use-reno-1caaec4ba5aa4285.yaml @@ -1,6 +1,4 @@ --- -prelude: > - Release notes are generated by Reno. features: - Release notes are no longer maintained by hand, we now use the reno tool to manage them. diff --git a/horizon/releasenotes/source/index.rst b/horizon/releasenotes/source/index.rst index 7b93df644..b7b4e6206 100644 --- a/horizon/releasenotes/source/index.rst +++ b/horizon/releasenotes/source/index.rst @@ -1,8 +1,19 @@ -============================ -puppet-horizon Release Notes -============================ +======================================== +Welcome to puppet-horizon Release Notes! +======================================== + +Contents +======== .. toctree:: - :maxdepth: 1 + :maxdepth: 2 + mitaka unreleased + + +Indices and tables +================== + +* :ref:`genindex` +* :ref:`search` diff --git a/horizon/releasenotes/source/mitaka.rst b/horizon/releasenotes/source/mitaka.rst new file mode 100644 index 000000000..97ab8d1d3 --- /dev/null +++ b/horizon/releasenotes/source/mitaka.rst @@ -0,0 +1,6 @@ +============================ + Mitaka Series Release Notes +============================ + +.. release-notes:: + :branch: origin/stable/mitaka diff --git a/ironic/.gitreview b/ironic/.gitreview index 98fe90f15..0cd003682 100644 --- a/ironic/.gitreview +++ b/ironic/.gitreview @@ -2,3 +2,4 @@ host=review.openstack.org port=29418 project=openstack/puppet-ironic.git +defaultbranch=stable/mitaka diff --git a/ironic/CHANGELOG.md b/ironic/CHANGELOG.md index b7a8df480..14f5e47ab 100644 --- a/ironic/CHANGELOG.md +++ b/ironic/CHANGELOG.md @@ -1,3 +1,8 @@ +## 8.0.0 and beyond + +From 8.0.0 release and beyond, release notes are published on +[docs.openstack.org](http://docs.openstack.org/releasenotes/puppet-ironic/). + ##2015-11-25 - 7.0.0 ###Summary diff --git a/ironic/Gemfile b/ironic/Gemfile index efeba2a44..c4761b8be 100644 --- a/ironic/Gemfile +++ b/ironic/Gemfile @@ -15,7 +15,8 @@ group :development, :test do gem 'puppet-lint-numericvariable', :require => 'false' gem 'json', :require => 'false' gem 'puppet-openstack_spec_helper', - :git => 'https://git.openstack.org/openstack/puppet-openstack_spec_helper', + :git => 'https://git.openstack.org/openstack/puppet-openstack_spec_helper', + :branch => 'stable/mitaka', :require => false end diff --git a/ironic/metadata.json b/ironic/metadata.json index b3fc4f31e..5916c3678 100644 --- a/ironic/metadata.json +++ b/ironic/metadata.json @@ -1,6 +1,6 @@ { "name": "openstack-ironic", - "version": "7.0.0", + "version": "8.0.0", "author": "eNovance and OpenStack Contributors", "summary": "Puppet module for OpenStack Ironic", "license": "Apache-2.0", @@ -32,9 +32,9 @@ "description": "Installs and configures OpenStack Ironic (Bare metal).", "dependencies": [ { "name": "puppetlabs/inifile", "version_requirement": ">=1.0.0 <2.0.0" }, - { "name": "openstack/keystone", "version_requirement": ">=7.0.0 <8.0.0" }, + { "name": "openstack/keystone", "version_requirement": ">=8.0.0 <9.0.0" }, { "name": "puppetlabs/stdlib", "version_requirement": ">=4.0.0 <5.0.0" }, - { "name": "openstack/openstacklib", "version_requirement": ">=7.0.0 <8.0.0" }, + { "name": "openstack/openstacklib", "version_requirement": ">=8.0.0 <9.0.0" }, { "name": "puppetlabs/vcsrepo", "version_requirement": ">=1.3.0 <2.0.0"} ] } diff --git a/ironic/releasenotes/notes/mitaka-dece9d43a565e6cb.yaml b/ironic/releasenotes/notes/mitaka-dece9d43a565e6cb.yaml new file mode 100644 index 000000000..f029fee4d --- /dev/null +++ b/ironic/releasenotes/notes/mitaka-dece9d43a565e6cb.yaml @@ -0,0 +1,3 @@ +--- +prelude: > + This is the first Mitaka release for puppet-ironic module. diff --git a/ironic/releasenotes/notes/use-reno-1caaec4ba5aa4285.yaml b/ironic/releasenotes/notes/use-reno-1caaec4ba5aa4285.yaml index 359b52a78..41cef2f11 100644 --- a/ironic/releasenotes/notes/use-reno-1caaec4ba5aa4285.yaml +++ b/ironic/releasenotes/notes/use-reno-1caaec4ba5aa4285.yaml @@ -1,6 +1,4 @@ --- -prelude: > - Release notes are generated by Reno. features: - Release notes are no longer maintained by hand, we now use the reno tool to manage them. diff --git a/ironic/releasenotes/source/index.rst b/ironic/releasenotes/source/index.rst index 597f8ad9b..80457632a 100644 --- a/ironic/releasenotes/source/index.rst +++ b/ironic/releasenotes/source/index.rst @@ -1,8 +1,19 @@ -=========================== -puppet-ironic Release Notes -=========================== +======================================= +Welcome to puppet-ironic Release Notes! +======================================= + +Contents +======== .. toctree:: - :maxdepth: 1 + :maxdepth: 2 + mitaka unreleased + + +Indices and tables +================== + +* :ref:`genindex` +* :ref:`search` diff --git a/ironic/releasenotes/source/mitaka.rst b/ironic/releasenotes/source/mitaka.rst new file mode 100644 index 000000000..97ab8d1d3 --- /dev/null +++ b/ironic/releasenotes/source/mitaka.rst @@ -0,0 +1,6 @@ +============================ + Mitaka Series Release Notes +============================ + +.. release-notes:: + :branch: origin/stable/mitaka diff --git a/keystone/CHANGELOG.md b/keystone/CHANGELOG.md index ab4f56f59..f2425b764 100644 --- a/keystone/CHANGELOG.md +++ b/keystone/CHANGELOG.md @@ -3,6 +3,11 @@ From 8.0.0 release and beyond, release notes are published on [docs.openstack.org](http://docs.openstack.org/releasenotes/puppet-keystone/). +## 8.0.0 and beyond + +From 8.0.0 release and beyond, release notes are published on +[docs.openstack.org](http://docs.openstack.org/releasenotes/puppet-keystone/). + ##2015-11-24 - 7.0.0 ###Summary diff --git a/keystone/manifests/init.pp b/keystone/manifests/init.pp index f1852b436..d5195bd10 100644 --- a/keystone/manifests/init.pp +++ b/keystone/manifests/init.pp @@ -794,6 +794,7 @@ } exec { 'keystone-manage pki_setup': + command => "keystone-manage pki_setup --keystone-user ${keystone_user} --keystone-group ${keystone_group}", path => '/usr/bin', refreshonly => true, creates => $signing_keyfile, diff --git a/keystone/metadata.json b/keystone/metadata.json index 3d6219bca..cdd636a95 100644 --- a/keystone/metadata.json +++ b/keystone/metadata.json @@ -1,6 +1,6 @@ { "name": "openstack-keystone", - "version": "7.0.0", + "version": "8.0.0", "author": "Puppet Labs and OpenStack Contributors", "summary": "Puppet module for OpenStack Keystone", "license": "Apache-2.0", @@ -34,6 +34,6 @@ { "name": "puppetlabs/apache", "version_requirement": ">=1.2.0 <2.0.0" }, { "name": "puppetlabs/inifile", "version_requirement": ">=1.0.0 <2.0.0" }, { "name": "puppetlabs/stdlib", "version_requirement": ">=4.0.0 <5.0.0" }, - { "name": "openstack/openstacklib", "version_requirement": ">=7.0.0 <8.0.0" } + { "name": "openstack/openstacklib", "version_requirement": ">=8.0.0 <9.0.0 " } ] } diff --git a/keystone/releasenotes/notes/mitaka-dece9d43a565e6cb.yaml b/keystone/releasenotes/notes/mitaka-dece9d43a565e6cb.yaml new file mode 100644 index 000000000..0058470ba --- /dev/null +++ b/keystone/releasenotes/notes/mitaka-dece9d43a565e6cb.yaml @@ -0,0 +1,3 @@ +--- +prelude: > + This is the first Mitaka release for puppet-keystone module. diff --git a/keystone/releasenotes/notes/use-reno-1caaec4ba5aa4285.yaml b/keystone/releasenotes/notes/use-reno-1caaec4ba5aa4285.yaml index 359b52a78..41cef2f11 100644 --- a/keystone/releasenotes/notes/use-reno-1caaec4ba5aa4285.yaml +++ b/keystone/releasenotes/notes/use-reno-1caaec4ba5aa4285.yaml @@ -1,6 +1,4 @@ --- -prelude: > - Release notes are generated by Reno. features: - Release notes are no longer maintained by hand, we now use the reno tool to manage them. diff --git a/keystone/releasenotes/source/index.rst b/keystone/releasenotes/source/index.rst index 7f22eabe4..e9095b29c 100644 --- a/keystone/releasenotes/source/index.rst +++ b/keystone/releasenotes/source/index.rst @@ -1,8 +1,18 @@ -============================= -puppet-keystone Release Notes -============================= +========================================= +Welcome to puppet-keystone Release Notes! +========================================= + +Contents +======== .. toctree:: - :maxdepth: 1 + :maxdepth: 2 unreleased + + +Indices and tables +================== + +* :ref:`genindex` +* :ref:`search` diff --git a/keystone/spec/classes/keystone_spec.rb b/keystone/spec/classes/keystone_spec.rb index a83440c5e..c9afc5e74 100644 --- a/keystone/spec/classes/keystone_spec.rb +++ b/keystone/spec/classes/keystone_spec.rb @@ -356,6 +356,7 @@ end it { is_expected.to contain_exec('keystone-manage pki_setup').with( + :command => 'keystone-manage pki_setup --keystone-user keystone --keystone-group keystone', :creates => '/etc/keystone/ssl/private/signing_key.pem' ) } it { is_expected.to contain_file('/var/cache/keystone').with_ensure('directory') } diff --git a/manila/.gitreview b/manila/.gitreview index b0a267847..c60fb000a 100644 --- a/manila/.gitreview +++ b/manila/.gitreview @@ -2,3 +2,4 @@ host=review.openstack.org port=29418 project=openstack/puppet-manila.git +defaultbranch=stable/mitaka diff --git a/manila/CHANGELOG.md b/manila/CHANGELOG.md index 5d7165874..74d76efac 100644 --- a/manila/CHANGELOG.md +++ b/manila/CHANGELOG.md @@ -1,3 +1,8 @@ +## 8.0.0 and beyond + +From 8.0.0 release and beyond, release notes are published on +[docs.openstack.org](http://docs.openstack.org/releasenotes/puppet-manila/). + ##2015-11-25 - 7.0.0 ###Summary diff --git a/manila/Gemfile b/manila/Gemfile index efeba2a44..5728ff7e7 100644 --- a/manila/Gemfile +++ b/manila/Gemfile @@ -1,30 +1,12 @@ source ENV['GEM_SOURCE'] || "https://rubygems.org" -group :development, :test do - gem 'puppetlabs_spec_helper', :require => 'false' - gem 'rspec-puppet', '~> 2.2.0', :require => 'false' - gem 'rspec-puppet-facts', :require => 'false' - gem 'metadata-json-lint', :require => 'false' - gem 'puppet-lint-param-docs', :require => 'false' - gem 'puppet-lint-absolute_classname-check', :require => 'false' - gem 'puppet-lint-absolute_template_path', :require => 'false' - gem 'puppet-lint-trailing_newline-check', :require => 'false' - gem 'puppet-lint-unquoted_string-check', :require => 'false' - gem 'puppet-lint-leading_zero-check', :require => 'false' - gem 'puppet-lint-variable_contains_upcase', :require => 'false' - gem 'puppet-lint-numericvariable', :require => 'false' - gem 'json', :require => 'false' +group :development, :test, :system_tests do gem 'puppet-openstack_spec_helper', - :git => 'https://git.openstack.org/openstack/puppet-openstack_spec_helper', + :git => 'https://git.openstack.org/openstack/puppet-openstack_spec_helper', + :branch => 'stable/mitaka', :require => false end -group :system_tests do - gem 'beaker-rspec', :require => 'false' - gem 'beaker-puppet_install_helper', :require => 'false' - gem 'r10k', :require => 'false' -end - if facterversion = ENV['FACTER_GEM_VERSION'] gem 'facter', facterversion, :require => false else diff --git a/manila/metadata.json b/manila/metadata.json index 38b340dda..d5b319399 100644 --- a/manila/metadata.json +++ b/manila/metadata.json @@ -1,6 +1,6 @@ { "name": "openstack-manila", - "version": "7.0.0", + "version": "8.0.0", "author": "NetApp and OpenStack Contributors", "summary": "Puppet module for OpenStack Manila", "license": "Apache-2.0", @@ -33,10 +33,10 @@ "dependencies": [ { "name": "dprince/qpid", "version_requirement": ">=1.0.0 <2.0.0" }, { "name": "puppetlabs/inifile", "version_requirement": ">=1.0.0 <2.0.0" }, - { "name": "openstack/keystone", "version_requirement": ">=7.0.0 <8.0.0" }, - { "name": "openstack/glance", "version_requirement": ">=7.0.0 <8.0.0" }, + { "name": "openstack/keystone", "version_requirement": ">=8.0.0 <9.0.0" }, + { "name": "openstack/glance", "version_requirement": ">=8.0.0 <9.0.0" }, { "name": "puppetlabs/rabbitmq", "version_requirement": ">=2.0.2 <6.0.0" }, { "name": "puppetlabs/stdlib", "version_requirement": ">=4.0.0 <5.0.0" }, - { "name": "openstack/openstacklib", "version_requirement": ">=7.0.0 <8.0.0" } + { "name": "openstack/openstacklib", "version_requirement": ">=8.0.0 <9.0.0" } ] } diff --git a/manila/releasenotes/notes/mitaka-dece9d43a565e6cb.yaml b/manila/releasenotes/notes/mitaka-dece9d43a565e6cb.yaml new file mode 100644 index 000000000..734845b23 --- /dev/null +++ b/manila/releasenotes/notes/mitaka-dece9d43a565e6cb.yaml @@ -0,0 +1,3 @@ +--- +prelude: > + This is the first Mitaka release for puppet-manila module. diff --git a/manila/releasenotes/notes/use-reno-1caaec4ba5aa4285.yaml b/manila/releasenotes/notes/use-reno-1caaec4ba5aa4285.yaml index 359b52a78..41cef2f11 100644 --- a/manila/releasenotes/notes/use-reno-1caaec4ba5aa4285.yaml +++ b/manila/releasenotes/notes/use-reno-1caaec4ba5aa4285.yaml @@ -1,6 +1,4 @@ --- -prelude: > - Release notes are generated by Reno. features: - Release notes are no longer maintained by hand, we now use the reno tool to manage them. diff --git a/manila/releasenotes/source/index.rst b/manila/releasenotes/source/index.rst index 0ae22911d..86d7fe310 100644 --- a/manila/releasenotes/source/index.rst +++ b/manila/releasenotes/source/index.rst @@ -1,8 +1,19 @@ -=========================== -puppet-manila Release Notes -=========================== +======================================= +Welcome to puppet-manila Release Notes! +======================================= + +Contents +======== .. toctree:: - :maxdepth: 1 + :maxdepth: 2 + mitaka unreleased + + +Indices and tables +================== + +* :ref:`genindex` +* :ref:`search` diff --git a/manila/releasenotes/source/mitaka.rst b/manila/releasenotes/source/mitaka.rst new file mode 100644 index 000000000..97ab8d1d3 --- /dev/null +++ b/manila/releasenotes/source/mitaka.rst @@ -0,0 +1,6 @@ +============================ + Mitaka Series Release Notes +============================ + +.. release-notes:: + :branch: origin/stable/mitaka diff --git a/neutron/.gitreview b/neutron/.gitreview index 31ff42142..7a7506d5f 100644 --- a/neutron/.gitreview +++ b/neutron/.gitreview @@ -2,3 +2,4 @@ host=review.openstack.org port=29418 project=openstack/puppet-neutron.git +defaultbranch=stable/mitaka diff --git a/neutron/CHANGELOG.md b/neutron/CHANGELOG.md index 1f9add36f..ba314f5f0 100644 --- a/neutron/CHANGELOG.md +++ b/neutron/CHANGELOG.md @@ -1,3 +1,8 @@ +## 8.0.0 and beyond + +From 8.0.0 release and beyond, release notes are published on +[docs.openstack.org](http://docs.openstack.org/releasenotes/puppet-neutron/). + ##2015-11-25 - 7.0.0 ###Summary diff --git a/neutron/Gemfile b/neutron/Gemfile index efeba2a44..c4761b8be 100644 --- a/neutron/Gemfile +++ b/neutron/Gemfile @@ -15,7 +15,8 @@ group :development, :test do gem 'puppet-lint-numericvariable', :require => 'false' gem 'json', :require => 'false' gem 'puppet-openstack_spec_helper', - :git => 'https://git.openstack.org/openstack/puppet-openstack_spec_helper', + :git => 'https://git.openstack.org/openstack/puppet-openstack_spec_helper', + :branch => 'stable/mitaka', :require => false end diff --git a/neutron/metadata.json b/neutron/metadata.json index ffac354ad..71adc153e 100644 --- a/neutron/metadata.json +++ b/neutron/metadata.json @@ -1,6 +1,6 @@ { "name": "openstack-neutron", - "version": "7.0.0", + "version": "8.0.0", "author": "OpenStack Contributors", "summary": "Puppet module for OpenStack Neutron", "license": "Apache-2.0", @@ -32,11 +32,11 @@ "description": "Installs and configures OpenStack Neutron (Networking).", "dependencies": [ { "name": "puppetlabs/inifile", "version_requirement": ">=1.0.0 <2.0.0" }, - { "name": "openstack/keystone", "version_requirement": ">=7.0.0 <8.0.0" }, - { "name": "openstack/nova", "version_requirement": ">=7.0.0 <8.0.0" }, + { "name": "openstack/keystone", "version_requirement": ">=8.0.0 <9.0.0" }, + { "name": "openstack/nova", "version_requirement": ">=8.0.0 <9.0.0" }, { "name": "puppetlabs/stdlib", "version_requirement": ">=4.0.0 <5.0.0" }, - { "name": "openstack/vswitch", "version_requirement": ">=3.0.0 <4.0.0" }, + { "name": "openstack/vswitch", "version_requirement": ">=4.0.0 <5.0.0" }, { "name": "duritong/sysctl", "version_requirement": ">=0.0.1 <1.0.0" }, - { "name": "openstack/openstacklib", "version_requirement": ">=7.0.0 <8.0.0" } + { "name": "openstack/openstacklib", "version_requirement": ">=8.0.0 <9.0.0" } ] } diff --git a/neutron/releasenotes/notes/mitaka-dece9d43a565e6cb.yaml b/neutron/releasenotes/notes/mitaka-dece9d43a565e6cb.yaml new file mode 100644 index 000000000..64e7ac9b2 --- /dev/null +++ b/neutron/releasenotes/notes/mitaka-dece9d43a565e6cb.yaml @@ -0,0 +1,3 @@ +--- +prelude: > + This is the first Mitaka release for puppet-neutron module. diff --git a/neutron/releasenotes/notes/use-reno-1caaec4ba5aa4285.yaml b/neutron/releasenotes/notes/use-reno-1caaec4ba5aa4285.yaml index 359b52a78..41cef2f11 100644 --- a/neutron/releasenotes/notes/use-reno-1caaec4ba5aa4285.yaml +++ b/neutron/releasenotes/notes/use-reno-1caaec4ba5aa4285.yaml @@ -1,6 +1,4 @@ --- -prelude: > - Release notes are generated by Reno. features: - Release notes are no longer maintained by hand, we now use the reno tool to manage them. diff --git a/neutron/releasenotes/source/index.rst b/neutron/releasenotes/source/index.rst index 55f44c7ce..f684cee3d 100644 --- a/neutron/releasenotes/source/index.rst +++ b/neutron/releasenotes/source/index.rst @@ -1,8 +1,19 @@ -============================ -puppet-neutron Release Notes -============================ +======================================== +Welcome to puppet-neutron Release Notes! +======================================== + +Contents +======== .. toctree:: - :maxdepth: 1 + :maxdepth: 2 + mitaka unreleased + + +Indices and tables +================== + +* :ref:`genindex` +* :ref:`search` diff --git a/neutron/releasenotes/source/mitaka.rst b/neutron/releasenotes/source/mitaka.rst new file mode 100644 index 000000000..97ab8d1d3 --- /dev/null +++ b/neutron/releasenotes/source/mitaka.rst @@ -0,0 +1,6 @@ +============================ + Mitaka Series Release Notes +============================ + +.. release-notes:: + :branch: origin/stable/mitaka diff --git a/nova/.gitreview b/nova/.gitreview index cd6f9d1e7..7f94a51f1 100644 --- a/nova/.gitreview +++ b/nova/.gitreview @@ -2,3 +2,4 @@ host=review.openstack.org port=29418 project=openstack/puppet-nova.git +defaultbranch=stable/mitaka diff --git a/nova/CHANGELOG.md b/nova/CHANGELOG.md index 70592cd14..9dcb45a8b 100644 --- a/nova/CHANGELOG.md +++ b/nova/CHANGELOG.md @@ -1,3 +1,8 @@ +## 8.0.0 and beyond + +From 8.0.0 release and beyond, release notes are published on +[docs.openstack.org](http://docs.openstack.org/releasenotes/puppet-nova/). + ##2015-11-25 - 7.0.0 ###Summary diff --git a/nova/Gemfile b/nova/Gemfile index 15b898ed3..f5d0deddb 100644 --- a/nova/Gemfile +++ b/nova/Gemfile @@ -16,7 +16,8 @@ group :development, :test do gem 'json', :require => 'false' gem 'netaddr', :require => 'false' gem 'puppet-openstack_spec_helper', - :git => 'https://git.openstack.org/openstack/puppet-openstack_spec_helper', + :git => 'https://git.openstack.org/openstack/puppet-openstack_spec_helper', + :branch => 'stable/mitaka', :require => false end diff --git a/nova/metadata.json b/nova/metadata.json index 420f652ab..eaf568703 100644 --- a/nova/metadata.json +++ b/nova/metadata.json @@ -1,6 +1,6 @@ { "name": "openstack-nova", - "version": "7.0.0", + "version": "8.0.0", "author": "Puppet Labs and OpenStack Contributors", "summary": "Puppet module for OpenStack Nova", "license": "Apache-2.0", @@ -34,12 +34,12 @@ { "name": "puppetlabs/apache", "version_requirement": ">=1.0.0 <2.0.0" }, { "name": "dprince/qpid", "version_requirement": ">=1.0.0 <2.0.0" }, { "name": "duritong/sysctl", "version_requirement": ">=0.0.1 <1.0.0" }, - { "name": "openstack/cinder", "version_requirement": ">=7.0.0 <8.0.0" }, - { "name": "openstack/glance", "version_requirement": ">=7.0.0 <8.0.0" }, + { "name": "openstack/cinder", "version_requirement": ">=8.0.0 <9.0.0" }, + { "name": "openstack/glance", "version_requirement": ">=8.0.0 <9.0.0" }, { "name": "puppetlabs/inifile", "version_requirement": ">=1.0.0 <2.0.0" }, - { "name": "openstack/keystone", "version_requirement": ">=7.0.0 <8.0.0" }, + { "name": "openstack/keystone", "version_requirement": ">=8.0.0 <9.0.0" }, { "name": "puppetlabs/rabbitmq", "version_requirement": ">=2.0.2 <6.0.0" }, { "name": "puppetlabs/stdlib", "version_requirement": ">=4.0.0 <5.0.0" }, - { "name": "openstack/openstacklib", "version_requirement": ">=7.0.0 <8.0.0" } + { "name": "openstack/openstacklib", "version_requirement": ">=8.0.0 <9.0.0" } ] } diff --git a/nova/releasenotes/notes/mitaka-dece9d43a565e6cb.yaml b/nova/releasenotes/notes/mitaka-dece9d43a565e6cb.yaml new file mode 100644 index 000000000..e66778dac --- /dev/null +++ b/nova/releasenotes/notes/mitaka-dece9d43a565e6cb.yaml @@ -0,0 +1,3 @@ +--- +prelude: > + This is the first Mitaka release for puppet-nova module. diff --git a/nova/releasenotes/notes/use-reno-1caaec4ba5aa4285.yaml b/nova/releasenotes/notes/use-reno-1caaec4ba5aa4285.yaml index 359b52a78..41cef2f11 100644 --- a/nova/releasenotes/notes/use-reno-1caaec4ba5aa4285.yaml +++ b/nova/releasenotes/notes/use-reno-1caaec4ba5aa4285.yaml @@ -1,6 +1,4 @@ --- -prelude: > - Release notes are generated by Reno. features: - Release notes are no longer maintained by hand, we now use the reno tool to manage them. diff --git a/nova/releasenotes/source/index.rst b/nova/releasenotes/source/index.rst index 940f49f8f..c00dab09b 100644 --- a/nova/releasenotes/source/index.rst +++ b/nova/releasenotes/source/index.rst @@ -1,8 +1,19 @@ -========================= -puppet-nova Release Notes -========================= +===================================== +Welcome to puppet-nova Release Notes! +===================================== + +Contents +======== .. toctree:: - :maxdepth: 1 + :maxdepth: 2 + mitaka unreleased + + +Indices and tables +================== + +* :ref:`genindex` +* :ref:`search` diff --git a/nova/releasenotes/source/mitaka.rst b/nova/releasenotes/source/mitaka.rst new file mode 100644 index 000000000..97ab8d1d3 --- /dev/null +++ b/nova/releasenotes/source/mitaka.rst @@ -0,0 +1,6 @@ +============================ + Mitaka Series Release Notes +============================ + +.. release-notes:: + :branch: origin/stable/mitaka diff --git a/openstack_extras/.gitreview b/openstack_extras/.gitreview index 14d9f666e..2e5a447ab 100644 --- a/openstack_extras/.gitreview +++ b/openstack_extras/.gitreview @@ -2,3 +2,4 @@ host=review.openstack.org port=29418 project=openstack/puppet-openstack_extras.git +defaultbranch=stable/mitaka diff --git a/openstack_extras/CHANGELOG.md b/openstack_extras/CHANGELOG.md index 6c0a4b710..2fff38591 100644 --- a/openstack_extras/CHANGELOG.md +++ b/openstack_extras/CHANGELOG.md @@ -1,3 +1,8 @@ +## 8.0.0 and beyond + +From 8.0.0 release and beyond, release notes are published on +[docs.openstack.org](http://docs.openstack.org/releasenotes/puppet-openstack_extras/). + ##2015-11-24 - 7.0.0 ###Summary diff --git a/openstack_extras/Gemfile b/openstack_extras/Gemfile index efeba2a44..c4761b8be 100644 --- a/openstack_extras/Gemfile +++ b/openstack_extras/Gemfile @@ -15,7 +15,8 @@ group :development, :test do gem 'puppet-lint-numericvariable', :require => 'false' gem 'json', :require => 'false' gem 'puppet-openstack_spec_helper', - :git => 'https://git.openstack.org/openstack/puppet-openstack_spec_helper', + :git => 'https://git.openstack.org/openstack/puppet-openstack_spec_helper', + :branch => 'stable/mitaka', :require => false end diff --git a/openstack_extras/metadata.json b/openstack_extras/metadata.json index 8d18f496f..af69255f5 100644 --- a/openstack_extras/metadata.json +++ b/openstack_extras/metadata.json @@ -1,6 +1,6 @@ { "name": "openstack-openstack_extras", - "version": "7.0.0", + "version": "8.0.0", "author": "OpenStack Contributors", "summary": "Puppet OpenStack Extras Module", "license": "Apache-2.0", diff --git a/openstack_extras/releasenotes/notes/mitaka-dece9d43a565e6cb.yaml b/openstack_extras/releasenotes/notes/mitaka-dece9d43a565e6cb.yaml new file mode 100644 index 000000000..6c376ff8b --- /dev/null +++ b/openstack_extras/releasenotes/notes/mitaka-dece9d43a565e6cb.yaml @@ -0,0 +1,3 @@ +--- +prelude: > + This is the first Mitaka release for puppet-openstack_extras module. diff --git a/openstack_extras/releasenotes/notes/use-reno-1caaec4ba5aa4285.yaml b/openstack_extras/releasenotes/notes/use-reno-1caaec4ba5aa4285.yaml index 359b52a78..41cef2f11 100644 --- a/openstack_extras/releasenotes/notes/use-reno-1caaec4ba5aa4285.yaml +++ b/openstack_extras/releasenotes/notes/use-reno-1caaec4ba5aa4285.yaml @@ -1,6 +1,4 @@ --- -prelude: > - Release notes are generated by Reno. features: - Release notes are no longer maintained by hand, we now use the reno tool to manage them. diff --git a/openstack_extras/releasenotes/source/index.rst b/openstack_extras/releasenotes/source/index.rst index 96d103998..3d80bf0fd 100644 --- a/openstack_extras/releasenotes/source/index.rst +++ b/openstack_extras/releasenotes/source/index.rst @@ -1,8 +1,19 @@ -===================================== -puppet-openstack_extras Release Notes -===================================== +================================================= +Welcome to puppet-openstack-extras Release Notes! +================================================= + +Contents +======== .. toctree:: - :maxdepth: 1 + :maxdepth: 2 + mitaka unreleased + + +Indices and tables +================== + +* :ref:`genindex` +* :ref:`search` diff --git a/openstack_extras/releasenotes/source/mitaka.rst b/openstack_extras/releasenotes/source/mitaka.rst new file mode 100644 index 000000000..97ab8d1d3 --- /dev/null +++ b/openstack_extras/releasenotes/source/mitaka.rst @@ -0,0 +1,6 @@ +============================ + Mitaka Series Release Notes +============================ + +.. release-notes:: + :branch: origin/stable/mitaka diff --git a/openstacklib/.gitreview b/openstacklib/.gitreview index aa396d062..a0dd2c400 100644 --- a/openstacklib/.gitreview +++ b/openstacklib/.gitreview @@ -2,3 +2,4 @@ host=review.openstack.org port=29418 project=openstack/puppet-openstacklib.git +defaultbranch=stable/mitaka diff --git a/openstacklib/CHANGELOG.md b/openstacklib/CHANGELOG.md index 73561e79e..7937993e0 100644 --- a/openstacklib/CHANGELOG.md +++ b/openstacklib/CHANGELOG.md @@ -1,3 +1,8 @@ +## 8.0.0 and beyond + +From 8.0.0 release and beyond, release notes are published on +[docs.openstack.org](http://docs.openstack.org/releasenotes/puppet-openstacklib/). + ##2015-11-24 - 7.0.0 ###Summary diff --git a/openstacklib/Gemfile b/openstacklib/Gemfile index efeba2a44..c4761b8be 100644 --- a/openstacklib/Gemfile +++ b/openstacklib/Gemfile @@ -15,7 +15,8 @@ group :development, :test do gem 'puppet-lint-numericvariable', :require => 'false' gem 'json', :require => 'false' gem 'puppet-openstack_spec_helper', - :git => 'https://git.openstack.org/openstack/puppet-openstack_spec_helper', + :git => 'https://git.openstack.org/openstack/puppet-openstack_spec_helper', + :branch => 'stable/mitaka', :require => false end diff --git a/openstacklib/metadata.json b/openstacklib/metadata.json index d4a79c6f1..965a49fcb 100644 --- a/openstacklib/metadata.json +++ b/openstacklib/metadata.json @@ -1,6 +1,6 @@ { "name": "openstack-openstacklib", - "version": "7.0.0", + "version": "8.0.0", "author": "Puppet Labs and OpenStack Contributors", "summary": "Puppet OpenStack Libraries", "license": "Apache-2.0", diff --git a/openstacklib/releasenotes/notes/mitaka-dece9d43a565e6cb.yaml b/openstacklib/releasenotes/notes/mitaka-dece9d43a565e6cb.yaml new file mode 100644 index 000000000..a75004fb4 --- /dev/null +++ b/openstacklib/releasenotes/notes/mitaka-dece9d43a565e6cb.yaml @@ -0,0 +1,3 @@ +--- +prelude: > + This is the first Mitaka release for puppet-openstacklib module. diff --git a/openstacklib/releasenotes/notes/use-reno-1caaec4ba5aa4285.yaml b/openstacklib/releasenotes/notes/use-reno-1caaec4ba5aa4285.yaml index 359b52a78..41cef2f11 100644 --- a/openstacklib/releasenotes/notes/use-reno-1caaec4ba5aa4285.yaml +++ b/openstacklib/releasenotes/notes/use-reno-1caaec4ba5aa4285.yaml @@ -1,6 +1,4 @@ --- -prelude: > - Release notes are generated by Reno. features: - Release notes are no longer maintained by hand, we now use the reno tool to manage them. diff --git a/openstacklib/releasenotes/source/index.rst b/openstacklib/releasenotes/source/index.rst index dfffec3c1..25c9e4492 100644 --- a/openstacklib/releasenotes/source/index.rst +++ b/openstacklib/releasenotes/source/index.rst @@ -1,8 +1,19 @@ -================================= -puppet-openstacklib Release Notes -================================= +============================================= +Welcome to puppet-openstacklib Release Notes! +============================================= + +Contents +======== .. toctree:: - :maxdepth: 1 + :maxdepth: 2 + mitaka unreleased + + +Indices and tables +================== + +* :ref:`genindex` +* :ref:`search` diff --git a/openstacklib/releasenotes/source/mitaka.rst b/openstacklib/releasenotes/source/mitaka.rst new file mode 100644 index 000000000..97ab8d1d3 --- /dev/null +++ b/openstacklib/releasenotes/source/mitaka.rst @@ -0,0 +1,6 @@ +============================ + Mitaka Series Release Notes +============================ + +.. release-notes:: + :branch: origin/stable/mitaka diff --git a/sahara/CHANGELOG.md b/sahara/CHANGELOG.md index 79fe88816..b9b8c7814 100644 --- a/sahara/CHANGELOG.md +++ b/sahara/CHANGELOG.md @@ -1,3 +1,8 @@ +## 8.0.0 and beyond + +From 8.0.0 release and beyond, release notes are published on +[docs.openstack.org](http://docs.openstack.org/releasenotes/puppet-sahara/). + ##2015-11-25 - 7.0.0 ###Summary diff --git a/sahara/metadata.json b/sahara/metadata.json index bb878f28a..dfbc59350 100644 --- a/sahara/metadata.json +++ b/sahara/metadata.json @@ -1,6 +1,6 @@ { "name": "openstack-sahara", - "version": "7.0.0", + "version": "8.0.0", "author": "Red Hat and OpenStack Contributors", "summary": "Puppet module for OpenStack Sahara", "license": "Apache-2.0", @@ -28,10 +28,10 @@ "description": "Installs and configures OpenStack Sahara (Data Processing).", "dependencies": [ { "name": "duritong/sysctl", "version_requirement": ">=0.0.1 <1.0.0" }, - { "name": "openstack/keystone", "version_requirement": ">=7.0.0 <8.0.0" }, + { "name": "openstack/keystone", "version_requirement": ">=8.0.0 <9.0.0" }, { "name": "puppetlabs/inifile", "version_requirement": ">=1.0.0 <2.0.0" }, { "name": "puppetlabs/stdlib", "version_requirement": ">=4.0.0 <5.0.0" }, { "name": "puppetlabs/postgresql", "version_requirement": ">=3.0.0" }, - { "name": "openstack/openstacklib", "version_requirement": ">=7.0.0 <8.0.0" } + { "name": "openstack/openstacklib", "version_requirement": ">=8.0.0 <9.0.0" } ] } diff --git a/sahara/releasenotes/notes/mitaka-dece9d43a565e6cb.yaml b/sahara/releasenotes/notes/mitaka-dece9d43a565e6cb.yaml new file mode 100644 index 000000000..c2b88364d --- /dev/null +++ b/sahara/releasenotes/notes/mitaka-dece9d43a565e6cb.yaml @@ -0,0 +1,3 @@ +--- +prelude: > + This is the first Mitaka release for puppet-sahara module. diff --git a/sahara/releasenotes/notes/use-reno-1caaec4ba5aa4285.yaml b/sahara/releasenotes/notes/use-reno-1caaec4ba5aa4285.yaml index 359b52a78..41cef2f11 100644 --- a/sahara/releasenotes/notes/use-reno-1caaec4ba5aa4285.yaml +++ b/sahara/releasenotes/notes/use-reno-1caaec4ba5aa4285.yaml @@ -1,6 +1,4 @@ --- -prelude: > - Release notes are generated by Reno. features: - Release notes are no longer maintained by hand, we now use the reno tool to manage them. diff --git a/sahara/releasenotes/source/index.rst b/sahara/releasenotes/source/index.rst index fd24e8cab..51a4fad07 100644 --- a/sahara/releasenotes/source/index.rst +++ b/sahara/releasenotes/source/index.rst @@ -1,8 +1,18 @@ -=========================== -puppet-sahara Release Notes -=========================== +======================================= +Welcome to puppet-sahara Release Notes! +======================================= + +Contents +======== .. toctree:: - :maxdepth: 1 + :maxdepth: 2 unreleased + + +Indices and tables +================== + +* :ref:`genindex` +* :ref:`search` diff --git a/swift/.gitreview b/swift/.gitreview index 7f8f985c2..586393bd9 100644 --- a/swift/.gitreview +++ b/swift/.gitreview @@ -2,3 +2,4 @@ host=review.openstack.org port=29418 project=openstack/puppet-swift.git +defaultbranch=stable/mitaka diff --git a/swift/CHANGELOG.md b/swift/CHANGELOG.md index b3bad2a0e..fba70e7d7 100644 --- a/swift/CHANGELOG.md +++ b/swift/CHANGELOG.md @@ -1,3 +1,8 @@ +## 8.0.0 and beyond + +From 8.0.0 release and beyond, release notes are published on +[docs.openstack.org](http://docs.openstack.org/releasenotes/puppet-swift/). + ##2015-11-25 - 7.0.0 ###Summary diff --git a/swift/Gemfile b/swift/Gemfile index 5ad0760ce..bd0306975 100644 --- a/swift/Gemfile +++ b/swift/Gemfile @@ -16,7 +16,8 @@ group :development, :test do gem 'json', :require => 'false' gem 'webmock', :require => 'false' gem 'puppet-openstack_spec_helper', - :git => 'https://git.openstack.org/openstack/puppet-openstack_spec_helper', + :git => 'https://git.openstack.org/openstack/puppet-openstack_spec_helper', + :branch => 'stable/mitaka', :require => false end diff --git a/swift/manifests/proxy/ceilometer.pp b/swift/manifests/proxy/ceilometer.pp index bdcba47d7..c21b1a1f7 100644 --- a/swift/manifests/proxy/ceilometer.pp +++ b/swift/manifests/proxy/ceilometer.pp @@ -78,6 +78,10 @@ $group = 'ceilometer', ) inherits swift { + if(is_array($rabbit_hosts)) { + $rabbit_hosts_with_creds = prefix($rabbit_hosts, "${rabbit_user}:${rabbit_password}@") + } + User['swift'] { groups +> $group, } diff --git a/swift/metadata.json b/swift/metadata.json index 1cb32028c..01dacdb68 100644 --- a/swift/metadata.json +++ b/swift/metadata.json @@ -1,6 +1,6 @@ { "name": "openstack-swift", - "version": "7.0.0", + "version": "8.0.0", "author": "Puppet Labs and OpenStack Contributors", "summary": "Puppet module for OpenStack Swift", "license": "Apache-2.0", @@ -32,7 +32,7 @@ "description": "Installs and configures OpenStack Swift (Object Storage).", "dependencies": [ { "name": "puppetlabs/inifile", "version_requirement": ">=1.0.0 <2.0.0" }, - { "name": "openstack/keystone", "version_requirement": ">=7.0.0 <8.0.0" }, + { "name": "openstack/keystone", "version_requirement": ">=8.0.0 <9.0.0" }, { "name": "puppetlabs/rsync", "version_requirement": ">=0.2.0 <1.0.0" }, { "name": "puppetlabs/stdlib", "version_requirement": ">=4.0.0 <5.0.0" }, { "name": "puppetlabs/xinetd", "version_requirement": ">=1.0.1 <2.0.0" }, diff --git a/swift/releasenotes/notes/mitaka-dece9d43a565e6cb.yaml b/swift/releasenotes/notes/mitaka-dece9d43a565e6cb.yaml new file mode 100644 index 000000000..78ba4395d --- /dev/null +++ b/swift/releasenotes/notes/mitaka-dece9d43a565e6cb.yaml @@ -0,0 +1,3 @@ +--- +prelude: > + This is the first Mitaka release for puppet-swift module. diff --git a/swift/releasenotes/notes/use-reno-1caaec4ba5aa4285.yaml b/swift/releasenotes/notes/use-reno-1caaec4ba5aa4285.yaml index 359b52a78..41cef2f11 100644 --- a/swift/releasenotes/notes/use-reno-1caaec4ba5aa4285.yaml +++ b/swift/releasenotes/notes/use-reno-1caaec4ba5aa4285.yaml @@ -1,6 +1,4 @@ --- -prelude: > - Release notes are generated by Reno. features: - Release notes are no longer maintained by hand, we now use the reno tool to manage them. diff --git a/swift/releasenotes/source/index.rst b/swift/releasenotes/source/index.rst index 5e250cbc5..39781c763 100644 --- a/swift/releasenotes/source/index.rst +++ b/swift/releasenotes/source/index.rst @@ -1,8 +1,19 @@ -========================== -puppet-swift Release Notes -========================== +====================================== +Welcome to puppet-swift Release Notes! +====================================== + +Contents +======== .. toctree:: - :maxdepth: 1 + :maxdepth: 2 + mitaka unreleased + + +Indices and tables +================== + +* :ref:`genindex` +* :ref:`search` diff --git a/swift/releasenotes/source/mitaka.rst b/swift/releasenotes/source/mitaka.rst new file mode 100644 index 000000000..97ab8d1d3 --- /dev/null +++ b/swift/releasenotes/source/mitaka.rst @@ -0,0 +1,6 @@ +============================ + Mitaka Series Release Notes +============================ + +.. release-notes:: + :branch: origin/stable/mitaka diff --git a/swift/spec/classes/swift_proxy_ceilometer_spec.rb b/swift/spec/classes/swift_proxy_ceilometer_spec.rb index acfd89eae..edc0f68c0 100644 --- a/swift/spec/classes/swift_proxy_ceilometer_spec.rb +++ b/swift/spec/classes/swift_proxy_ceilometer_spec.rb @@ -64,7 +64,7 @@ class { "swift": it { is_expected.to contain_user('swift').with_groups('www-data') } it { is_expected.to contain_file(fragment_file).with_content(/[filter:ceilometer]/) } it { is_expected.to contain_file(fragment_file).with_content(/paste.filter_factory = ceilometermiddleware.swift:filter_factory/) } - it { is_expected.to contain_file(fragment_file).with_content(/url = rabbit:\/\/user_1:user_1_passw@127.0.0.1:5672,127.0.0.2:5672\/rabbit/) } + it { is_expected.to contain_file(fragment_file).with_content(/url = rabbit:\/\/user_1:user_1_passw@127.0.0.1:5672,user_1:user_1_passw@127.0.0.2:5672\/rabbit/) } it { is_expected.to contain_file(fragment_file).with_content(/driver = messagingv2/) } it { is_expected.to contain_file(fragment_file).with_content(/topic = notifications/) } it { is_expected.to contain_file(fragment_file).with_content(/control_exchange = swift/) } diff --git a/swift/templates/proxy/ceilometer.conf.erb b/swift/templates/proxy/ceilometer.conf.erb index 28fca3e5e..503ec2bc4 100644 --- a/swift/templates/proxy/ceilometer.conf.erb +++ b/swift/templates/proxy/ceilometer.conf.erb @@ -4,8 +4,8 @@ paste.filter_factory = ceilometermiddleware.swift:filter_factory <% if @rabbit_hosts.nil? %> url = rabbit://<%= @rabbit_user %>:<%= @rabbit_password %>@<%= @rabbit_host %>:<%= @rabbit_port %>/<%= @rabbit_virtual_host %> <% else %> -<% hosts=Array(@rabbit_hosts).join(",") -%> -url = rabbit://<%= @rabbit_user %>:<%= @rabbit_password %>@<%= hosts %>/<%= @rabbit_virtual_host %> +<% hosts=Array(@rabbit_hosts_with_creds).join(",") -%> +url = rabbit://<%= hosts %>/<%= @rabbit_virtual_host %> <% end %> <% if @driver %> driver = <%= @driver %> diff --git a/tempest/.gitreview b/tempest/.gitreview index 6db1d88c6..607f821ac 100644 --- a/tempest/.gitreview +++ b/tempest/.gitreview @@ -2,3 +2,4 @@ host=review.openstack.org port=29418 project=openstack/puppet-tempest.git +defaultbranch=stable/mitaka diff --git a/tempest/CHANGELOG.md b/tempest/CHANGELOG.md index 2cfb78a69..29009479c 100644 --- a/tempest/CHANGELOG.md +++ b/tempest/CHANGELOG.md @@ -1,3 +1,8 @@ +## 8.0.0 and beyond + +From 8.0.0 release and beyond, release notes are published on +[docs.openstack.org](http://docs.openstack.org/releasenotes/puppet-tempest/). + ##2015-11-25 - 7.0.0 ###Summary diff --git a/tempest/Gemfile b/tempest/Gemfile index efeba2a44..c4761b8be 100644 --- a/tempest/Gemfile +++ b/tempest/Gemfile @@ -15,7 +15,8 @@ group :development, :test do gem 'puppet-lint-numericvariable', :require => 'false' gem 'json', :require => 'false' gem 'puppet-openstack_spec_helper', - :git => 'https://git.openstack.org/openstack/puppet-openstack_spec_helper', + :git => 'https://git.openstack.org/openstack/puppet-openstack_spec_helper', + :branch => 'stable/mitaka', :require => false end diff --git a/tempest/metadata.json b/tempest/metadata.json index 54f518936..f35d8e0e1 100644 --- a/tempest/metadata.json +++ b/tempest/metadata.json @@ -1,6 +1,6 @@ { "name": "openstack-tempest", - "version": "7.0.0", + "version": "8.0.0", "author": "OpenStack Contributors", "summary": "Puppet module for OpenStack Tempest", "license": "Apache-2.0", @@ -34,6 +34,6 @@ { "name": "puppetlabs/inifile", "version_requirement": ">=1.0.0 <2.0.0" }, { "name": "puppetlabs/stdlib", "version_requirement": ">=4.0.0 <5.0.0" }, { "name": "puppetlabs/vcsrepo", "version_requirement": ">=0.1.2 <2.0.0"}, - { "name": "openstack/openstacklib", "version_requirement": ">= 7.0.0 <8.0.0" } + { "name": "openstack/openstacklib", "version_requirement": ">= 8.0.0 <9.0.0" } ] } diff --git a/tempest/releasenotes/notes/mitaka-dece9d43a565e6cb.yaml b/tempest/releasenotes/notes/mitaka-dece9d43a565e6cb.yaml new file mode 100644 index 000000000..764146eed --- /dev/null +++ b/tempest/releasenotes/notes/mitaka-dece9d43a565e6cb.yaml @@ -0,0 +1,3 @@ +--- +prelude: > + This is the first Mitaka release for puppet-tempest module. diff --git a/tempest/releasenotes/notes/use-reno-1caaec4ba5aa4285.yaml b/tempest/releasenotes/notes/use-reno-1caaec4ba5aa4285.yaml index 359b52a78..41cef2f11 100644 --- a/tempest/releasenotes/notes/use-reno-1caaec4ba5aa4285.yaml +++ b/tempest/releasenotes/notes/use-reno-1caaec4ba5aa4285.yaml @@ -1,6 +1,4 @@ --- -prelude: > - Release notes are generated by Reno. features: - Release notes are no longer maintained by hand, we now use the reno tool to manage them. diff --git a/tempest/releasenotes/source/index.rst b/tempest/releasenotes/source/index.rst index 0a9202310..9506e9c41 100644 --- a/tempest/releasenotes/source/index.rst +++ b/tempest/releasenotes/source/index.rst @@ -1,8 +1,19 @@ -============================ -puppet-tempest Release Notes -============================ +======================================== +Welcome to puppet-tempest Release Notes! +======================================== + +Contents +======== .. toctree:: - :maxdepth: 1 + :maxdepth: 2 + mitaka unreleased + + +Indices and tables +================== + +* :ref:`genindex` +* :ref:`search` diff --git a/tempest/releasenotes/source/mitaka.rst b/tempest/releasenotes/source/mitaka.rst new file mode 100644 index 000000000..97ab8d1d3 --- /dev/null +++ b/tempest/releasenotes/source/mitaka.rst @@ -0,0 +1,6 @@ +============================ + Mitaka Series Release Notes +============================ + +.. release-notes:: + :branch: origin/stable/mitaka diff --git a/tripleo/manifests/loadbalancer.pp b/tripleo/manifests/loadbalancer.pp index 0d70f326b..4264c2275 100644 --- a/tripleo/manifests/loadbalancer.pp +++ b/tripleo/manifests/loadbalancer.pp @@ -303,6 +303,11 @@ # (optional) Enable or not Redis binding # Defaults to false # +# [*redis_password*] +# (optional) Password for Redis authentication, eventually needed by the +# specific monitoring we do from HAProxy for Redis +# Defaults to undef +# # [*midonet_api*] # (optional) Enable or not MidoNet API binding # Defaults to false @@ -408,6 +413,7 @@ $mysql_clustercheck = false, $rabbitmq = false, $redis = false, + $redis_password = undef, $midonet_api = false, $service_ports = {} ) { @@ -855,13 +861,25 @@ $horizon_vip = hiera('horizon_vip', $controller_virtual_ip) if $horizon_bind_certificate { + # NOTE(jaosorior): If the horizon_vip and the public_virtual_ip are the + # same, the first option takes precedence. Which is the case when network + # isolation is not enabled. This is not a problem as both options are + # identical. If network isolation is enabled, this works correctly and + # will add a TLS binding to both the horizon_vip and the + # public_virtual_ip. + # Even though for the public_virtual_ip the port 80 is listening, we + # redirect to https in the horizon_options below. $horizon_bind_opts = { - "${horizon_vip}:80" => $haproxy_listen_bind_param, + "${horizon_vip}:80" => $haproxy_listen_bind_param, + "${horizon_vip}:443" => union($haproxy_listen_bind_param, ['ssl', 'crt', $horizon_bind_certificate]), + "${public_virtual_ip}:80" => $haproxy_listen_bind_param, "${public_virtual_ip}:443" => union($haproxy_listen_bind_param, ['ssl', 'crt', $horizon_bind_certificate]), } $horizon_options = { - 'cookie' => 'SERVERID insert indirect nocache', - 'rsprep' => '^Location:\ http://(.*) Location:\ https://\1', + 'cookie' => 'SERVERID insert indirect nocache', + 'rsprep' => '^Location:\ http://(.*) Location:\ https://\1', + # NOTE(jaosorior): We always redirect to https for the public_virtual_ip. + 'redirect' => "scheme https code 301 if { hdr(host) -i ${public_virtual_ip} } !{ ssl_fc }", } } else { $horizon_bind_opts = { @@ -1344,12 +1362,17 @@ } if $redis { + if $redis_password { + $redis_tcp_check_options = ["send AUTH\\ ${redis_password}\\r\\n"] + } else { + $redis_tcp_check_options = [] + } haproxy::listen { 'redis': bind => $redis_bind_opts, options => { 'balance' => 'first', 'option' => ['tcp-check',], - 'tcp-check' => ['send info\ replication\r\n','expect string role:master'], + 'tcp-check' => union($redis_tcp_check_options, ['send PING\r\n','expect string +PONG','send info\ replication\r\n','expect string role:master','send QUIT\r\n','expect string +OK']), }, collect_exported => false, } diff --git a/tripleo/manifests/profile/base/database/schemas.pp b/tripleo/manifests/profile/base/database/schemas.pp new file mode 100644 index 000000000..0821ae893 --- /dev/null +++ b/tripleo/manifests/profile/base/database/schemas.pp @@ -0,0 +1,101 @@ +# Copyright 2016 Red Hat, Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. +# +# == Class: tripleo::profile::base::database::schemas +# +# OpenStack Database Schema profile for tripleo +# +# === Parameters +# +# [*ceilometer_backend*] +# (Optional) Name of the backend for ceilometer storage +# Defaults to hiera('ceilometer_backend') +# +# [*enable_ceilometer*] +# (Optional) Whether to create schemas for Ceilometer +# Defaults to true +# +# [*enable_cinder*] +# (Optional) Whether to create schemas for Cinder +# Defaults to true +# +# [*enable_heat*] +# (Optional) Whether to create schemas for Heat +# Defaults to true +# +# [*enable_keystone*] +# (Optional) Whether to create schemas for Keystone +# Defaults to true +# +# [*enable_glance*] +# (Optional) Whether to create schemas for Glance +# Defaults to true +# +# [*enable_nova*] +# (Optional) Whether to create schemas for Nova +# Defaults to true +# +# [*enable_neutron*] +# (Optional) Whether to create schemas for Neutron +# Defaults to true +# +# [*enable_sahara*] +# (Optional) Whether to create schemas for Sahara +# Defaults to true +# +class tripleo::profile::base::database::schemas ( + $ceilometer_backend = hiera('ceilometer_backend'), + $enable_ceilometer = true, + $enable_cinder = true, + $enable_heat = true, + $enable_keystone = true, + $enable_glance = true, + $enable_nova = true, + $enable_neutron = true, + $enable_sahara = true +) { + if $enable_ceilometer and downcase($ceilometer_backend) == 'mysql' { + include ::ceilometer::db::mysql + } + + if $enable_cinder { + include ::cinder::db::mysql + } + + if $enable_keystone { + include ::keystone::db::mysql + } + + if $enable_glance { + include ::glance::db::mysql + } + + if $enable_nova { + include ::nova::db::mysql + include ::nova::db::mysql_api + } + + if $enable_neutron { + include ::neutron::db::mysql + } + + if $enable_heat { + include ::heat::db::mysql + } + + if $enable_sahara { + include ::sahara::db::mysql + } + +} diff --git a/tripleo/manifests/profile/base/keystone.pp b/tripleo/manifests/profile/base/keystone.pp new file mode 100644 index 000000000..f17bf3046 --- /dev/null +++ b/tripleo/manifests/profile/base/keystone.pp @@ -0,0 +1,118 @@ +# Copyright 2016 Red Hat, Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. +# +# == Class: tripleo::profile::base::keystone +# +# Keystone profile for tripleo +# +# === Parameters +# +# [*sync_db*] +# (Optional) Whether to run db sync +# Defaults to undef +# +# [*manage_service*] +# (Optional) Whether to manage the keystone service +# Defaults to undef +# +# [*enabled*] +# (Optional) Whether to enable the keystone service +# Defaults to undef +# +# [*bootstrap_master*] +# (Optional) The hostname of the node responsible for bootstrapping +# Defaults to hiera('bootstrap_nodeid') +# +# [*manage_roles*] +# (Optional) whether to create keystone admin role +# Defaults to true +# +# [*manage_endpoint*] +# (Optional) Whether to create keystone endpoints +# Defaults to true +# +# [*manage_db_purge*] +# (Optional) Whether keystone token flushing should be enabled +# Defaults to hiera('keystone_enable_db_purge', true) +# +# [*step*] +# (Optional) The current step in deployment. See tripleo-heat-templates +# for more details. +# Defaults to hiera('step') +# +class tripleo::profile::base::keystone ( + $sync_db = undef, + $manage_service = undef, + $enabled = undef, + $bootstrap_master = undef, + $manage_roles = true, + $manage_endpoint = true, + $manage_db_purge = hiera('keystone_enable_db_purge', true), + $step = hiera('step'), +) { + + if $step >= 4 { + class { '::keystone': + sync_db => $sync_db, + manage_service => $manage_service, + enabled => $enabled, + enable_bootstrap => $bootstrap_master, + } + + include ::keystone::config + include ::keystone::wsgi::apache + + if $manage_roles { + include ::keystone::roles::admin + } + + if $manage_endpoint { + include ::keystone::endpoint + } + + #TODO: need a cleanup-keystone-tokens.sh solution here + file { [ '/etc/keystone/ssl', '/etc/keystone/ssl/certs', '/etc/keystone/ssl/private' ]: + ensure => 'directory', + owner => 'keystone', + group => 'keystone', + require => Package['keystone'], + } + file { '/etc/keystone/ssl/certs/signing_cert.pem': + content => hiera('keystone_signing_certificate'), + owner => 'keystone', + group => 'keystone', + notify => Service['keystone'], + require => File['/etc/keystone/ssl/certs'], + } + file { '/etc/keystone/ssl/private/signing_key.pem': + content => hiera('keystone_signing_key'), + owner => 'keystone', + group => 'keystone', + notify => Service['keystone'], + require => File['/etc/keystone/ssl/private'], + } + file { '/etc/keystone/ssl/certs/ca.pem': + content => hiera('keystone_ca_certificate'), + owner => 'keystone', + group => 'keystone', + notify => Service['keystone'], + require => File['/etc/keystone/ssl/certs'], + } + } + + if $step >= 5 and $manage_db_purge { + include ::keystone::cron::token_flush + } +} + diff --git a/tripleo/manifests/profile/pacemaker/database/schemas.pp b/tripleo/manifests/profile/pacemaker/database/schemas.pp new file mode 100644 index 000000000..6aa590668 --- /dev/null +++ b/tripleo/manifests/profile/pacemaker/database/schemas.pp @@ -0,0 +1,50 @@ +# Copyright 2016 Red Hat, Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. +# +# == Class: tripleo::profile::base::pacemaker::schemas +# +# OpenStack Database Schema Pacemaker HA profile for tripleo +# +# === Parameters +# +# [*ceilometer_backend*] +# (Optional) The backend used by ceilometer, usually either 'mysql' +# or 'mongodb' +# Defaults to hiera('ceilometer_backend') +# +# [*pacemaker_master*] +# (Optional) The hostname of the pacemaker master in this cluster +# Defaults to hiera('bootstrap_nodeid') +# +class tripleo::profile::pacemaker::database::schemas ( + $ceilometer_backend = hiera('ceilometer_backend'), + $pacemaker_master = hiera('bootstrap_nodeid') +) { + if downcase($pacemaker_master) == $::hostname { + include ::tripleo::profile::base::database::schemas + + if downcase($ceilometer_backend) == 'mysql' { + Exec['galera-ready'] -> Class['::ceilometer::db::mysql'] + } + + Exec['galera-ready'] -> Class['::cinder::db::mysql'] + Exec['galera-ready'] -> Class['::glance::db::mysql'] + Exec['galera-ready'] -> Class['::keystone::db::mysql'] + Exec['galera-ready'] -> Class['::nova::db::mysql'] + Exec['galera-ready'] -> Class['::nova::db::mysql_api'] + Exec['galera-ready'] -> Class['::neutron::db::mysql'] + Exec['galera-ready'] -> Class['::heat::db::mysql'] + Exec['galera-ready'] -> Class['::sahara::db::mysql'] + } +} diff --git a/tripleo/manifests/profile/pacemaker/keystone.pp b/tripleo/manifests/profile/pacemaker/keystone.pp new file mode 100644 index 000000000..0f007a51a --- /dev/null +++ b/tripleo/manifests/profile/pacemaker/keystone.pp @@ -0,0 +1,88 @@ +# Copyright 2016 Red Hat, Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. +# +# == Class: tripleo::profile::pacemaker::keystone +# +# Keystone Pacemaker HA profile for tripleo +# +# === Parameters +# +# [*bootstrap_node*] +# (Optional) The hostname of the node responsible for bootstrapping tasks +# Defaults to hiera('bootstrap_nodeid') +# +# [*step*] +# (Optional) The current step in deployment. See tripleo-heat-templates +# for more details. +# Defaults to hiera('step') +# +# [*enable_load_balancer*] +# (Optional) Whether load balancing is enabled for this cluster +# Defaults to hiera('enable_load_balancer', true) +# +class tripleo::profile::pacemaker::keystone ( + $bootstrap_node = hiera('bootstrap_nodeid'), + $step = hiera('step'), + $enable_load_balancer = hiera('enable_load_balancer', true) +) { + + if $::hostname == downcase($bootstrap_node) { + $pacemaker_master = true + } else { + $pacemaker_master = false + } + + if $step >= 6 and $pacemaker_master { + $manage_roles = true + Pacemaker::Resource::Service[$::apache::params::service_name] -> Class['::keystone::roles::admin'] + Pacemaker::Resource::Service[$::apache::params::service_name] -> Class['::keystone::endpoint'] + } else { + $manage_roles = false + } + + if $step >= 4 { + class { '::tripleo::profile::base::keystone': + sync_db => $pacemaker_master, + manage_service => false, + enabled => false, + bootstrap_master => $pacemaker_master, + manage_roles => $manage_roles, + manage_endpoint => $manage_roles + } + } + + if $step >= 5 and $pacemaker_master and $enable_load_balancer { + pacemaker::constraint::base { 'haproxy-then-keystone-constraint': + constraint_type => 'order', + first_resource => 'haproxy-clone', + second_resource => 'openstack-core-clone', + first_action => 'start', + second_action => 'start', + require => [Pacemaker::Resource::Service['haproxy'], + Pacemaker::Resource::Ocf['openstack-core']], + } + } + + if $step >= 5 and $pacemaker_master { + pacemaker::constraint::base { 'rabbitmq-then-keystone-constraint': + constraint_type => 'order', + first_resource => 'rabbitmq-clone', + second_resource => 'openstack-core-clone', + first_action => 'start', + second_action => 'start', + require => [Pacemaker::Resource::Ocf['rabbitmq'], + Pacemaker::Resource::Ocf['openstack-core']], + } + } +} diff --git a/trove/.gitreview b/trove/.gitreview index 1887f9883..9f9927c3a 100644 --- a/trove/.gitreview +++ b/trove/.gitreview @@ -2,3 +2,4 @@ host=review.openstack.org port=29418 project=openstack/puppet-trove.git +defaultbranch=stable/mitaka diff --git a/trove/CHANGELOG.md b/trove/CHANGELOG.md index ab8713226..df9dcce0e 100644 --- a/trove/CHANGELOG.md +++ b/trove/CHANGELOG.md @@ -1,3 +1,8 @@ +## 8.0.0 and beyond + +From 8.0.0 release and beyond, release notes are published on +[docs.openstack.org](http://docs.openstack.org/releasenotes/puppet-trove/). + ##2015-11-25 - 7.0.0 ###Summary diff --git a/trove/Gemfile b/trove/Gemfile index efeba2a44..c4761b8be 100644 --- a/trove/Gemfile +++ b/trove/Gemfile @@ -15,7 +15,8 @@ group :development, :test do gem 'puppet-lint-numericvariable', :require => 'false' gem 'json', :require => 'false' gem 'puppet-openstack_spec_helper', - :git => 'https://git.openstack.org/openstack/puppet-openstack_spec_helper', + :git => 'https://git.openstack.org/openstack/puppet-openstack_spec_helper', + :branch => 'stable/mitaka', :require => false end diff --git a/trove/manifests/taskmanager.pp b/trove/manifests/taskmanager.pp index a4f18803a..9069552f7 100644 --- a/trove/manifests/taskmanager.pp +++ b/trove/manifests/taskmanager.pp @@ -172,12 +172,12 @@ if $::trove::rabbit_ha_queues == undef { if size($::trove::rabbit_hosts) > 1 { - trove_taskmanager_config { 'oslo_messaging_rabbit/rabbit_ha_queues': value => true } + $rabbit_ha_queues_real = true } else { - trove_taskmanager_config { 'oslo_messaging_rabbit/rabbit_ha_queues': value => false } + $rabbit_ha_queues_real = false } } else { - trove_taskmanager_config { 'oslo_messaging_rabbit/rabbit_ha_queues': value => $::trove::rabbit_ha_queues } + $rabbit_ha_queues_real = $::trove::rabbit_ha_queues } trove_taskmanager_config { @@ -187,6 +187,7 @@ 'oslo_messaging_rabbit/rabbit_use_ssl': value => $::trove::rabbit_use_ssl; 'oslo_messaging_rabbit/kombu_reconnect_delay': value => $::trove::kombu_reconnect_delay; 'oslo_messaging_rabbit/amqp_durable_queues': value => $::trove::amqp_durable_queues; + 'oslo_messaging_rabbit/rabbit_ha_queues': value => $rabbit_ha_queues_real } if $::trove::rabbit_use_ssl { diff --git a/trove/metadata.json b/trove/metadata.json index a728fd3df..f60e53476 100644 --- a/trove/metadata.json +++ b/trove/metadata.json @@ -1,6 +1,6 @@ { "name": "openstack-trove", - "version": "7.0.0", + "version": "8.0.0", "author": "eNovance and OpenStack Contributors", "summary": "Puppet module for OpenStack Trove", "license": "Apache-2.0", @@ -32,8 +32,8 @@ "description": "Installs and configures OpenStack Trove (Database service).", "dependencies": [ { "name": "puppetlabs/inifile", "version_requirement": ">=1.0.0 <2.0.0" }, - { "name": "openstack/keystone", "version_requirement": ">=7.0.0 <8.0.0" }, + { "name": "openstack/keystone", "version_requirement": ">=8.0.0 <9.0.0" }, { "name": "puppetlabs/stdlib", "version_requirement": ">=4.0.0 <5.0.0" }, - { "name": "openstack/openstacklib", "version_requirement": ">=7.0.0 <8.0.0" } + { "name": "openstack/openstacklib", "version_requirement": ">=8.0.0 <9.0.0" } ] } diff --git a/trove/releasenotes/notes/mitaka-dece9d43a565e6cb.yaml b/trove/releasenotes/notes/mitaka-dece9d43a565e6cb.yaml new file mode 100644 index 000000000..4fdf83bca --- /dev/null +++ b/trove/releasenotes/notes/mitaka-dece9d43a565e6cb.yaml @@ -0,0 +1,3 @@ +--- +prelude: > + This is the first Mitaka release for puppet-trove module. diff --git a/trove/releasenotes/notes/rabbit_hosts_in_guestagent_template-00c3a03cf1f2be39.yaml b/trove/releasenotes/notes/rabbit_hosts_in_guestagent_template-00c3a03cf1f2be39.yaml new file mode 100644 index 000000000..f6f565500 --- /dev/null +++ b/trove/releasenotes/notes/rabbit_hosts_in_guestagent_template-00c3a03cf1f2be39.yaml @@ -0,0 +1,8 @@ +--- +fixes: + - when guestagent.conf is configured via template, + it did not use the rabbit_hosts settings. This is + now enabled. This change also moves the templated + guestagent.conf rabbit config into the correct + section. Finally this properly sets the ha_queues + setting when the template is used. diff --git a/trove/releasenotes/notes/use-reno-1caaec4ba5aa4285.yaml b/trove/releasenotes/notes/use-reno-1caaec4ba5aa4285.yaml index 359b52a78..41cef2f11 100644 --- a/trove/releasenotes/notes/use-reno-1caaec4ba5aa4285.yaml +++ b/trove/releasenotes/notes/use-reno-1caaec4ba5aa4285.yaml @@ -1,6 +1,4 @@ --- -prelude: > - Release notes are generated by Reno. features: - Release notes are no longer maintained by hand, we now use the reno tool to manage them. diff --git a/trove/releasenotes/source/index.rst b/trove/releasenotes/source/index.rst index 54d8e39e6..8bab7298e 100644 --- a/trove/releasenotes/source/index.rst +++ b/trove/releasenotes/source/index.rst @@ -1,8 +1,19 @@ -========================== -puppet-trove Release Notes -========================== +====================================== +Welcome to puppet-trove Release Notes! +====================================== + +Contents +======== .. toctree:: - :maxdepth: 1 + :maxdepth: 2 + mitaka unreleased + + +Indices and tables +================== + +* :ref:`genindex` +* :ref:`search` diff --git a/trove/releasenotes/source/mitaka.rst b/trove/releasenotes/source/mitaka.rst new file mode 100644 index 000000000..97ab8d1d3 --- /dev/null +++ b/trove/releasenotes/source/mitaka.rst @@ -0,0 +1,6 @@ +============================ + Mitaka Series Release Notes +============================ + +.. release-notes:: + :branch: origin/stable/mitaka diff --git a/trove/spec/classes/trove_taskmanager_spec.rb b/trove/spec/classes/trove_taskmanager_spec.rb index 272f222af..2508b49f1 100644 --- a/trove/spec/classes/trove_taskmanager_spec.rb +++ b/trove/spec/classes/trove_taskmanager_spec.rb @@ -100,6 +100,11 @@ class { 'trove::taskmanager': is_expected.to contain_trove_taskmanager_config('oslo_messaging_rabbit/rabbit_host').with_value('10.0.0.1') is_expected.to contain_trove_taskmanager_config('oslo_messaging_rabbit/rabbit_ha_queues').with_value('false') is_expected.to contain_trove_taskmanager_config('oslo_messaging_rabbit/amqp_durable_queues').with_value('false') + + # trove taskmanager also configures trove_guestagent.conf by default, ensure rabbit is right there + is_expected.to contain_file('/etc/trove/trove-guestagent.conf').with_content(/^rabbit_host=10.0.0.1$/) + is_expected.to contain_file('/etc/trove/trove-guestagent.conf').with_content(/^rabbit_port=5672$/) + is_expected.to contain_file('/etc/trove/trove-guestagent.conf').with_content(/^rabbit_ha_queues=false$/) end end @@ -115,6 +120,11 @@ class { 'trove::taskmanager': is_expected.to contain_trove_taskmanager_config('oslo_messaging_rabbit/rabbit_host').with_value('10.0.0.1') is_expected.to contain_trove_taskmanager_config('oslo_messaging_rabbit/rabbit_ha_queues').with_value('true') is_expected.to contain_trove_taskmanager_config('oslo_messaging_rabbit/amqp_durable_queues').with_value('true') + + # trove taskmanager also configures trove_guestagent.conf by default, ensure rabbit is right there + is_expected.to contain_file('/etc/trove/trove-guestagent.conf').with_content(/^rabbit_host=10.0.0.1$/) + is_expected.to contain_file('/etc/trove/trove-guestagent.conf').with_content(/^rabbit_port=5672$/) + is_expected.to contain_file('/etc/trove/trove-guestagent.conf').with_content(/^rabbit_ha_queues=true$/) end end @@ -127,6 +137,10 @@ class { 'trove::taskmanager': it 'configures trove-taskmanager with RabbitMQ' do is_expected.to contain_trove_taskmanager_config('oslo_messaging_rabbit/rabbit_hosts').with_value(['10.0.0.1,10.0.0.2']) is_expected.to contain_trove_taskmanager_config('oslo_messaging_rabbit/rabbit_ha_queues').with_value('true') + + # trove taskmanager also configures trove_guestagent.conf by default, ensure rabbit is right there + is_expected.to contain_file('/etc/trove/trove-guestagent.conf').with_content(/^rabbit_hosts=10.0.0.1,10.0.0.2$/) + is_expected.to contain_file('/etc/trove/trove-guestagent.conf').with_content(/^rabbit_ha_queues=true$/) end end diff --git a/trove/templates/trove-guestagent.conf.erb b/trove/templates/trove-guestagent.conf.erb index 1c3d04fd3..f0b50e723 100644 --- a/trove/templates/trove-guestagent.conf.erb +++ b/trove/templates/trove-guestagent.conf.erb @@ -27,25 +27,6 @@ debug = <%= @debug %> log_dir = <%= @log_dir %> log_file = <%= @log_file %> -# ============ RabbitMQ connection options ======================== - -# The RabbitMQ broker address where a single node is used. -# (string value) -rabbit_host=<%= @rabbit_host %> - -# The RabbitMQ broker port where a single node is used. -# (integer value) -rabbit_port=<%= @rabbit_port %> - -# The RabbitMQ userid. (string value) -rabbit_userid=<%= @rabbit_userid %> - -# The RabbitMQ password. (string value) -rabbit_password=<%= @rabbit_password %> - -# The RabbitMQ virtual host. (string value) -rabbit_virtual_host=<%= @rabbit_virtual_host %> - # Path to the extensions api_extensions_path = trove/extensions/routes @@ -98,6 +79,41 @@ backup_use_snet = False backup_chunk_size = 65536 backup_segment_max_size = 2147483648 +[oslo_messaging_rabbit] +# ============ RabbitMQ connection options ======================== +<%- if @rabbit_hosts -%> +# RabbitMQ HA cluster host:port pairs. (list value) +rabbit_hosts=<%= @rabbit_hosts.join(',') %> + +# The RabbitMQ broker address where a single node is used. +# (string value) +#rabbit_host=localhost + +# The RabbitMQ broker port where a single node is used. +# (integer value) +#rabbit_port=5672 +<%- else -%> +# The RabbitMQ broker address where a single node is used. +# (string value) +rabbit_host=<%= @rabbit_host %> + +# The RabbitMQ broker port where a single node is used. +# (integer value) +rabbit_port=<%= @rabbit_port %> +<%- end -%> + +# The RabbitMQ userid. (string value) +rabbit_userid=<%= @rabbit_userid %> + +# The RabbitMQ password. (string value) +rabbit_password=<%= @rabbit_password %> + +# The RabbitMQ virtual host. (string value) +rabbit_virtual_host=<%= @rabbit_virtual_host %> + +rabbit_ha_queues=<%= @rabbit_ha_queues_real %> + + # ========== Datastore Specific Configuration Options ========== [mysql] diff --git a/vswitch/CHANGELOG.md b/vswitch/CHANGELOG.md index be1eb0881..900caa984 100644 --- a/vswitch/CHANGELOG.md +++ b/vswitch/CHANGELOG.md @@ -1,3 +1,8 @@ +## 4.0.0 and beyond + +From 4.0.0 release and beyond, release notes are published on +[docs.openstack.org](http://docs.openstack.org/releasenotes/puppet-vswitch/). + ##2015-11-25 - 3.0.0 ###Summary diff --git a/vswitch/README.md b/vswitch/README.md index 709862dc9..c50b9e773 100644 --- a/vswitch/README.md +++ b/vswitch/README.md @@ -1,7 +1,7 @@ VSwitch ======= -3.0.0 - 2015.2 - Liberty +4.0.0 - 2016.1 - Mitaka A Puppet module providing things for vSwitches. At the moment OVS is the only one I've added but please feel free to contribute new providers through diff --git a/vswitch/metadata.json b/vswitch/metadata.json index 0fb9b264e..50c6d8754 100644 --- a/vswitch/metadata.json +++ b/vswitch/metadata.json @@ -1,6 +1,6 @@ { "name": "openstack-vswitch", - "version": "3.0.0", + "version": "4.0.0", "author": "Endre Karlson, Dan Bode and OpenStack Contributors", "license": "Apache-2.0", "source": "git://github.com/openstack/puppet-vswitch.git", diff --git a/vswitch/releasenotes/notes/mitaka-dece9d43a565e6cb.yaml b/vswitch/releasenotes/notes/mitaka-dece9d43a565e6cb.yaml new file mode 100644 index 000000000..f580ea6e7 --- /dev/null +++ b/vswitch/releasenotes/notes/mitaka-dece9d43a565e6cb.yaml @@ -0,0 +1,3 @@ +--- +prelude: > + This is the first Mitaka release for puppet-vswitch module. diff --git a/vswitch/releasenotes/notes/use-reno-1caaec4ba5aa4285.yaml b/vswitch/releasenotes/notes/use-reno-1caaec4ba5aa4285.yaml index 359b52a78..41cef2f11 100644 --- a/vswitch/releasenotes/notes/use-reno-1caaec4ba5aa4285.yaml +++ b/vswitch/releasenotes/notes/use-reno-1caaec4ba5aa4285.yaml @@ -1,6 +1,4 @@ --- -prelude: > - Release notes are generated by Reno. features: - Release notes are no longer maintained by hand, we now use the reno tool to manage them. diff --git a/vswitch/releasenotes/source/conf.py b/vswitch/releasenotes/source/conf.py index 0f427e4fe..a80ea9e52 100644 --- a/vswitch/releasenotes/source/conf.py +++ b/vswitch/releasenotes/source/conf.py @@ -52,9 +52,9 @@ # built documents. # # The short X.Y version. -version = '8.0.0' +version = '4.0.0' # The full version, including alpha/beta/rc tags. -release = '8.0.0' +release = '4.0.0' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. diff --git a/vswitch/releasenotes/source/index.rst b/vswitch/releasenotes/source/index.rst index 492d091fa..45b7830f7 100644 --- a/vswitch/releasenotes/source/index.rst +++ b/vswitch/releasenotes/source/index.rst @@ -1,8 +1,18 @@ -============================ -puppet-vswitch Release Notes -============================ +======================================== +Welcome to puppet-vswitch Release Notes! +======================================== + +Contents +======== .. toctree:: - :maxdepth: 1 + :maxdepth: 2 unreleased + + +Indices and tables +================== + +* :ref:`genindex` +* :ref:`search` diff --git a/zaqar/.gitreview b/zaqar/.gitreview index 5f0707e4b..ea7001930 100644 --- a/zaqar/.gitreview +++ b/zaqar/.gitreview @@ -2,3 +2,4 @@ host=review.openstack.org port=29418 project=openstack/puppet-zaqar.git +defaultbranch=stable/mitaka diff --git a/zaqar/CHANGELOG.md b/zaqar/CHANGELOG.md new file mode 100644 index 000000000..dad41da5b --- /dev/null +++ b/zaqar/CHANGELOG.md @@ -0,0 +1,5 @@ +## 8.0.0 and beyond + +From 8.0.0 release and beyond, release notes are published on +[docs.openstack.org](http://docs.openstack.org/releasenotes/puppet-zaqar/). + diff --git a/zaqar/Gemfile b/zaqar/Gemfile index efeba2a44..c4761b8be 100644 --- a/zaqar/Gemfile +++ b/zaqar/Gemfile @@ -15,7 +15,8 @@ group :development, :test do gem 'puppet-lint-numericvariable', :require => 'false' gem 'json', :require => 'false' gem 'puppet-openstack_spec_helper', - :git => 'https://git.openstack.org/openstack/puppet-openstack_spec_helper', + :git => 'https://git.openstack.org/openstack/puppet-openstack_spec_helper', + :branch => 'stable/mitaka', :require => false end diff --git a/zaqar/metadata.json b/zaqar/metadata.json index 49c87c6fb..06facda06 100644 --- a/zaqar/metadata.json +++ b/zaqar/metadata.json @@ -29,6 +29,6 @@ "dependencies": [ { "name": "puppetlabs/inifile", "version_requirement": ">=1.0.0 <2.0.0" }, { "name": "puppetlabs/stdlib", "version_requirement": ">= 4.0.0 <5.0.0" }, - { "name": "openstack/openstacklib", "version_requirement": ">=7.0.0 <8.0.0" } + { "name": "openstack/openstacklib", "version_requirement": ">=8.0.0 <9.0.0" } ] } diff --git a/zaqar/releasenotes/notes/mitaka-dece9d43a565e6cb.yaml b/zaqar/releasenotes/notes/mitaka-dece9d43a565e6cb.yaml new file mode 100644 index 000000000..7cc09daea --- /dev/null +++ b/zaqar/releasenotes/notes/mitaka-dece9d43a565e6cb.yaml @@ -0,0 +1,3 @@ +--- +prelude: > + This is the first Mitaka release for puppet-zaqar module. diff --git a/zaqar/releasenotes/notes/use-reno-1caaec4ba5aa4285.yaml b/zaqar/releasenotes/notes/use-reno-1caaec4ba5aa4285.yaml new file mode 100644 index 000000000..41cef2f11 --- /dev/null +++ b/zaqar/releasenotes/notes/use-reno-1caaec4ba5aa4285.yaml @@ -0,0 +1,4 @@ +--- +features: + - Release notes are no longer maintained by hand, we now use the reno tool to + manage them. diff --git a/zaqar/releasenotes/source/index.rst b/zaqar/releasenotes/source/index.rst index be43dc9cd..a636e68ba 100644 --- a/zaqar/releasenotes/source/index.rst +++ b/zaqar/releasenotes/source/index.rst @@ -1,8 +1,19 @@ -========================== -puppet-zaqar Release Notes -========================== +====================================== +Welcome to puppet-zaqar Release Notes! +====================================== + +Contents +======== .. toctree:: - :maxdepth: 1 + :maxdepth: 2 + mitaka unreleased + + +Indices and tables +================== + +* :ref:`genindex` +* :ref:`search` diff --git a/zaqar/releasenotes/source/mitaka.rst b/zaqar/releasenotes/source/mitaka.rst new file mode 100644 index 000000000..97ab8d1d3 --- /dev/null +++ b/zaqar/releasenotes/source/mitaka.rst @@ -0,0 +1,6 @@ +============================ + Mitaka Series Release Notes +============================ + +.. release-notes:: + :branch: origin/stable/mitaka