From 95525335bfdf8622c4b08d6918e03d4b81469d5c Mon Sep 17 00:00:00 2001 From: Emilien Macchi Date: Sat, 26 Apr 2014 20:17:59 +0200 Subject: [PATCH 01/16] telemetry: notification agent support --- manifests/telemetry/notification.pp | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 manifests/telemetry/notification.pp diff --git a/manifests/telemetry/notification.pp b/manifests/telemetry/notification.pp new file mode 100644 index 00000000..8321bd21 --- /dev/null +++ b/manifests/telemetry/notification.pp @@ -0,0 +1,26 @@ +# +# Copyright (C) 2014 eNovance SAS +# +# 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. +# +# Telemetry Notifications nodes +# + +class cloud::telemetry::notification( +){ + + include 'cloud::telemetry' + + class { 'ceilometer::agent::notification': } + +} From 765753969ca29edc16c2b329607772993aae930d Mon Sep 17 00:00:00 2001 From: Emilien Macchi Date: Sat, 26 Apr 2014 20:33:07 +0200 Subject: [PATCH 02/16] hypervisor: use nova::compute::rbd --- manifests/compute/hypervisor.pp | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/manifests/compute/hypervisor.pp b/manifests/compute/hypervisor.pp index 84ece3fd..bc439ee3 100644 --- a/manifests/compute/hypervisor.pp +++ b/manifests/compute/hypervisor.pp @@ -123,13 +123,13 @@ Host * $libvirt_disk_cachemodes_real = ['network=writeback'] include 'cloud::storage::rbd' - # TODO(EmilienM) Temporary, while https://review.openstack.org/#/c/72440 got merged + class { 'nova::compute::rbd': + libvirt_rbd_user => $cinder_rbd_user, + libvirt_images_rbd_pool => $nova_rbd_pool + } + # we don't want puppet-nova manages keyring nova_config { - 'DEFAULT/libvirt_images_type': value => 'rbd'; - 'DEFAULT/libvirt_images_rbd_pool': value => $nova_rbd_pool; - 'DEFAULT/libvirt_images_rbd_ceph_conf': value => '/etc/ceph/ceph.conf'; - 'DEFAULT/rbd_user': value => $cinder_rbd_user; - 'DEFAULT/rbd_secret_uuid': value => $nova_rbd_secret_uuid; + 'libvirt/rbd_secret_uuid': value => $nova_rbd_secret_uuid; } File <<| tag == 'ceph_compute_secret_file' |>> @@ -173,8 +173,8 @@ Host * # Extra config for nova-compute nova_config { - 'DEFAULT/libvirt_inject_key': value => false; - 'DEFAULT/libvirt_inject_partition': value => '-2'; + 'libvirt/inject_key': value => false; + 'libvirt/inject_partition': value => '-2'; 'DEFAULT/live_migration_flag': value => 'VIR_MIGRATE_UNDEFINE_SOURCE,VIR_MIGRATE_PEER2PEER,VIR_MIGRATE_LIVE,VIR_MIGRATE_PERSIST_DEST'; } From e99e5d0a6e750d88c0688cfa411d33390d8bd2da Mon Sep 17 00:00:00 2001 From: Emilien Macchi Date: Sat, 26 Apr 2014 20:34:41 +0200 Subject: [PATCH 03/16] image/api: update notifications driver for icehouse --- manifests/image/api.pp | 3 +-- spec/classes/cloud_image_spec.rb | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/manifests/image/api.pp b/manifests/image/api.pp index eadef089..21d93e47 100644 --- a/manifests/image/api.pp +++ b/manifests/image/api.pp @@ -131,8 +131,7 @@ class cloud::image::api( # rabbit_host => $rabbit_host, # } glance_api_config { - # TODO(EmilienM) Will be deprecated in Icehouse for notification_driver. - 'DEFAULT/notifier_strategy': value => 'noop'; + 'DEFAULT/notifier_driver': value => 'noop'; } class { 'glance::backend::rbd': diff --git a/spec/classes/cloud_image_spec.rb b/spec/classes/cloud_image_spec.rb index 0c3b06ea..9070283f 100644 --- a/spec/classes/cloud_image_spec.rb +++ b/spec/classes/cloud_image_spec.rb @@ -92,7 +92,7 @@ describe 'cloud::image' do # :rabbit_host => '10.0.0.1' # ) # end - it { should contain_glance_api_config('DEFAULT/notifier_strategy').with_value('noop') } + it { should contain_glance_api_config('DEFAULT/notifier_driver').with_value('noop') } it 'configure glance rbd backend' do should contain_class('glance::backend::rbd').with( From 7a931020161af25c7767bcf865c84e45862367f6 Mon Sep 17 00:00:00 2001 From: Emilien Macchi Date: Sun, 27 Apr 2014 00:35:22 +0200 Subject: [PATCH 04/16] compute/network: update to icehouse Tests do not pass until https://github.com/enovance/puppet-openstack-cloud/pull/438 --- .fixtures.yml | 14 +-- Puppetfile | 14 +-- manifests/network/controller.pp | 17 +++- spec/classes/cloud_compute_hypervisor_spec.rb | 89 ++++++++++++------- spec/classes/cloud_network_controller_spec.rb | 16 ++++ 5 files changed, 102 insertions(+), 48 deletions(-) diff --git a/.fixtures.yml b/.fixtures.yml index 61d5fa9a..e0ad2614 100644 --- a/.fixtures.yml +++ b/.fixtures.yml @@ -2,16 +2,16 @@ fixtures: repositories: 'cinder': repo: 'git://github.com/enovance/puppet-cinder' - ref: 'bd1536626f2b5d66f9ea77bcd69ba7d1f5f33961' + ref: '504a061918ac08297f6a9b9f64f1836643573447' 'keystone': repo: 'git://github.com/enovance/puppet-keystone.git' - ref: 'ce49f6b6d9bb0e89e3e1e63a88a1d63d5a930851' + ref: 'd9aac2f78240e0fd651a6dc0ac05db4ffcba885b' 'nova': repo: 'git://github.com/enovance/puppet-nova.git' - ref: 'b7811392062b649572f470f5f3ddca1882997210' + ref: '47d576d2e62b4c449309ef228cdbc17bcf3fdcf0' 'glance': repo: 'git://github.com/enovance/puppet-glance.git' - ref: '001f1b6a8ef6bd0fde8fbe0a4b3362f31e6bbcda' + ref: 'e61e47d664e4d18e849bc7c3d5f40f452397d0f4' 'horizon': repo: 'git://github.com/enovance/puppet-horizon' ref: 'da0cedce6f14f5c35e733ac345d8d862db11cd2b' @@ -20,13 +20,13 @@ fixtures: ref: '9b60581a1c8fd2c1a98adafc1bcdc53796859e23' 'neutron': repo: 'git://github.com/enovance/puppet-neutron' - ref: '39b7efdbc83c65966b7a961df98561c5550c2d23' + ref: '78428c844f73bf585a8f8a3bdf615ba2a0e8983b' 'ceilometer': repo: 'git://github.com/enovance/puppet-ceilometer' - ref: 'f71f935a3e41dcd11f8f5986a1fe0708b124e589' + ref: 'f444fc8937a6bc05d0257c1a935e742491e94b02' 'heat': repo: 'git://github.com/enovance/puppet-heat' - ref: 'bdf094da21161ec6f78530775a0c41fc76fd3339' + ref: '2847d4d42fdc413c0297b7aeedc9f29198e336c2' 'apt': repo: 'git://github.com/enovance/puppetlabs-apt.git' ref: '9b001af8775c7231ea2656b7eb43d6141b536f49' diff --git a/Puppetfile b/Puppetfile index 70f512e0..815fdf9e 100644 --- a/Puppetfile +++ b/Puppetfile @@ -19,28 +19,28 @@ forge 'http://forge.puppetlabs.com' # Core OpenStack projects mod 'ceilometer', :git => 'git://github.com/enovance/puppet-ceilometer.git', - :ref => 'f71f935a3e41dcd11f8f5986a1fe0708b124e589' + :ref => 'f444fc8937a6bc05d0257c1a935e742491e94b02' mod 'cinder', :git => 'git://github.com/enovance/puppet-cinder.git', - :ref => 'bd1536626f2b5d66f9ea77bcd69ba7d1f5f33961' + :ref => '504a061918ac08297f6a9b9f64f1836643573447' mod 'glance', :git => 'git://github.com/enovance/puppet-glance.git', - :ref => '001f1b6a8ef6bd0fde8fbe0a4b3362f31e6bbcda' + :ref => 'e61e47d664e4d18e849bc7c3d5f40f452397d0f4' mod 'heat', :git => 'git://github.com/enovance/puppet-heat.git', - :ref => 'bdf094da21161ec6f78530775a0c41fc76fd3339' + :ref => '2847d4d42fdc413c0297b7aeedc9f29198e336c2' mod 'horizon', :git => 'git://github.com/enovance/puppet-horizon.git', :ref => 'da0cedce6f14f5c35e733ac345d8d862db11cd2b' mod 'keystone', :git => 'git://github.com/enovance/puppet-keystone.git', - :ref => 'ce49f6b6d9bb0e89e3e1e63a88a1d63d5a930851' + :ref => 'd9aac2f78240e0fd651a6dc0ac05db4ffcba885b' mod 'neutron', :git => 'git://github.com/enovance/puppet-neutron.git', - :ref => '39b7efdbc83c65966b7a961df98561c5550c2d23' + :ref => '78428c844f73bf585a8f8a3bdf615ba2a0e8983b' mod 'nova', :git => 'git://github.com/enovance/puppet-nova.git', - :ref => 'b7811392062b649572f470f5f3ddca1882997210' + :ref => '47d576d2e62b4c449309ef228cdbc17bcf3fdcf0' mod 'swift', :git => 'git://github.com/enovance/puppet-swift.git', :ref => '9b60581a1c8fd2c1a98adafc1bcdc53796859e23' diff --git a/manifests/network/controller.pp b/manifests/network/controller.pp index 0c4900cc..5ad76b36 100644 --- a/manifests/network/controller.pp +++ b/manifests/network/controller.pp @@ -25,7 +25,13 @@ class cloud::network::controller( $ks_keystone_public_port = 5000, $ks_neutron_public_port = 9696, $api_eth = '127.0.0.1', - $ks_admin_tenant = 'admin' + $ks_admin_tenant = 'admin', + $nova_url = 'http://127.0.0.1:8774/v2', + $nova_admin_auth_url = 'http://127.0.0.1:35357/v2.0', + $nova_admin_username = 'nova', + $nova_admin_tenant_name = 'services', + $nova_admin_password = 'novapassword', + $nova_region_name = 'RegionOne' ) { include 'cloud::network' @@ -43,6 +49,15 @@ class cloud::network::controller( report_interval => '30', } + class { 'neutron::server::notifications': + nova_url => $nova_url, + nova_admin_auth_url => $nova_admin_auth_url, + nova_admin_username => $nova_admin_username, + nova_admin_tenant_name => $nova_admin_tenant_name, + nova_admin_password => $nova_admin_password, + nova_region_name => $nova_region_name + } + # Note(EmilienM): # We check if DB tables are created, if not we populate Neutron DB. # It's a hack to fit with our setup where we run MySQL/Galera diff --git a/spec/classes/cloud_compute_hypervisor_spec.rb b/spec/classes/cloud_compute_hypervisor_spec.rb index d56a05ad..84801fe8 100644 --- a/spec/classes/cloud_compute_hypervisor_spec.rb +++ b/spec/classes/cloud_compute_hypervisor_spec.rb @@ -70,10 +70,7 @@ describe 'cloud::compute::hypervisor' do { :libvirt_type => 'kvm', :server_proxyclient_address => '7.0.0.1', :spice_port => '6082', - :has_ceph => true, - :cinder_rbd_user => 'cinder', - :nova_rbd_pool => 'nova', - :nova_rbd_secret_uuid => 'secrete', + :has_ceph => false, :nova_ssh_private_key => 'secrete', :nova_ssh_public_key => 'public', :ks_nova_public_proto => 'http', @@ -213,15 +210,6 @@ describe 'cloud::compute::hypervisor' do ) end - it 'configure libvirt driver' do - should contain_class('nova::compute::libvirt').with( - :libvirt_type => 'kvm', - :vncserver_listen => '0.0.0.0', - :migration_support => true, - :libvirt_disk_cachemodes => ['network=writeback'] - ) - end - it 'configure nova compute with neutron' do should contain_class('nova::compute::neutron') end @@ -230,24 +218,23 @@ describe 'cloud::compute::hypervisor' do should contain_class('ceilometer::agent::compute') end - it 'configure nova-compute to support RBD backend' do - should contain_nova_config('DEFAULT/libvirt_images_type').with('value' => 'rbd') - should contain_nova_config('DEFAULT/libvirt_images_rbd_pool').with('value' => 'nova') - should contain_nova_config('DEFAULT/libvirt_images_rbd_ceph_conf').with('value' => '/etc/ceph/ceph.conf') - should contain_nova_config('DEFAULT/rbd_user').with('value' => 'cinder') - should contain_nova_config('DEFAULT/rbd_secret_uuid').with('value' => 'secrete') - should contain_group('cephkeyring').with(:ensure => 'present') - should contain_exec('add-nova-to-group').with( - :command => 'usermod -a -G cephkeyring nova', - :unless => 'groups nova | grep cephkeyring', - :path => ['/usr/sbin', '/usr/bin', '/bin', '/sbin'] - ) + it 'should not configure nova-compute for RBD backend' do + should_not contain_nova_config('libvirt/rbd_user').with('value' => 'cinder') + end + + it 'configure libvirt driver without disk cachemodes' do + should contain_class('nova::compute::libvirt').with( + :libvirt_type => 'kvm', + :vncserver_listen => '0.0.0.0', + :migration_support => true, + :libvirt_disk_cachemodes => [] + ) end it 'configure nova-compute with extra parameters' do should contain_nova_config('DEFAULT/default_availability_zone').with('value' => 'MyZone') - should contain_nova_config('DEFAULT/libvirt_inject_key').with('value' => false) - should contain_nova_config('DEFAULT/libvirt_inject_partition').with('value' => '-2') + should contain_nova_config('libvirt/inject_key').with('value' => false) + should contain_nova_config('libvirt/inject_partition').with('value' => '-2') should contain_nova_config('DEFAULT/live_migration_flag').with('value' => 'VIR_MIGRATE_UNDEFINE_SOURCE,VIR_MIGRATE_PEER2PEER,VIR_MIGRATE_LIVE,VIR_MIGRATE_PERSIST_DEST') end @@ -267,23 +254,59 @@ describe 'cloud::compute::hypervisor' do end end - context 'without RBD backend' do + context 'with RBD backend on Debian plaforms' do before :each do - params.merge!( :has_ceph => false ) + facts.merge!( :osfamily => 'Debian' ) + params.merge!( + :has_ceph => true, + :cinder_rbd_user => 'cinder', + :nova_rbd_pool => 'nova', + :nova_rbd_secret_uuid => 'secrete' ) end - it 'should not configure nova-compute for RBD backend' do - should_not contain_nova_config('DEFAULT/rbd_user').with('value' => 'cinder') + it 'configure nova-compute to support RBD backend' do + should contain_nova_config('libvirt/images_type').with('value' => 'rbd') + should contain_nova_config('libvirt/images_rbd_pool').with('value' => 'nova') + should contain_nova_config('libvirt/images_rbd_ceph_conf').with('value' => '/etc/ceph/ceph.conf') + should contain_nova_config('libvirt/rbd_user').with('value' => 'cinder') + should contain_nova_config('libvirt/rbd_secret_uuid').with('value' => 'secrete') + should contain_group('cephkeyring').with(:ensure => 'present') + should contain_exec('add-nova-to-group').with( + :command => 'usermod -a -G cephkeyring nova', + :unless => 'groups nova | grep cephkeyring' + ) end - it 'configure libvirt driver without disk cachemodes' do + + it 'configure libvirt driver' do should contain_class('nova::compute::libvirt').with( :libvirt_type => 'kvm', :vncserver_listen => '0.0.0.0', :migration_support => true, - :libvirt_disk_cachemodes => [] + :libvirt_disk_cachemodes => ['network=writeback'] ) end end + + context 'when trying to enable RBD backend on RedHat plaforms' do + before :each do + facts.merge!( :operatingsystem => 'RedHat' ) + params.merge!( + :has_ceph => true, + :cinder_rbd_user => 'cinder', + :nova_rbd_pool => 'nova', + :nova_rbd_secret_uuid => 'secrete' ) + end + + it 'configure libvirt driver without libvirt_disk_cachemodes' do + should contain_class('nova::compute::libvirt').with( + :libvirt_type => 'kvm', + :vncserver_listen => '0.0.0.0', + :migration_support => true, + :libvirt_disk_cachemodes => [] + ) + end + end + end context 'on Debian platforms' do diff --git a/spec/classes/cloud_network_controller_spec.rb b/spec/classes/cloud_network_controller_spec.rb index c87055ad..65dcf62a 100644 --- a/spec/classes/cloud_network_controller_spec.rb +++ b/spec/classes/cloud_network_controller_spec.rb @@ -43,6 +43,12 @@ describe 'cloud::network::controller' do :ks_neutron_password => 'secrete', :ks_keystone_admin_host => '10.0.0.1', :ks_keystone_public_port => '5000', + :nova_url => 'http://127.0.0.1:8774/v2', + :$nova_admin_auth_url => 'http://127.0.0.1:35357/v2.0', + :nova_admin_username => 'nova', + :nova_admin_tenant_name => 'services', + :nova_admin_password => 'novapassword', + :nova_region_name => 'RegionOne', :api_eth => '10.0.0.1' } end @@ -92,6 +98,16 @@ describe 'cloud::network::controller' do ) end + it 'configure neutron server notifications to nova' do + should contain_class('neutron::server::notifications').with( + :nova_url => 'http://127.0.0.1:8774/v2', + :nova_admin_auth_url => 'http://127.0.0.1:35357/v2.0', + :nova_admin_username => 'nova', + :nova_admin_tenant_name => 'services', + :nova_admin_password => 'novapassword', + :nova_region_name => 'RegionOne' + ) + end it 'checks if Neutron DB is populated' do should contain_exec('neutron_db_sync').with( :command => 'neutron-db-manage --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/ml2/ml2_conf.ini upgrade head', From f599edf4ad0e05bfd7bb2c1bbec088706d7c555a Mon Sep 17 00:00:00 2001 From: Emilien Macchi Date: Wed, 23 Apr 2014 21:24:43 +0200 Subject: [PATCH 05/16] hypervisor: ensure RBD can't be enabled on RHEL RHEL does not support RBD backend for VMs storage. We need to ensure that nova will never be configured with RBD parameters, even if has_ceph is true on Red Hat hypervisor nodes. Also add more unit tests. --- manifests/compute/hypervisor.pp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/manifests/compute/hypervisor.pp b/manifests/compute/hypervisor.pp index bc439ee3..0ad85483 100644 --- a/manifests/compute/hypervisor.pp +++ b/manifests/compute/hypervisor.pp @@ -102,6 +102,13 @@ Host * mode => '0644', notify => Service['libvirtd'] } + # Nova support for RBD backend is not supported in Red Hat packages + if $has_ceph { + warning('Red Hat does not support RBD backend for VMs.') + } + $has_ceph_real = false + } else { + $has_ceph_real = $has_ceph } if $::operatingsystem == 'Ubuntu' { @@ -118,7 +125,7 @@ Host * class { 'nova::compute::neutron': } - if $has_ceph { + if $has_ceph_real { $libvirt_disk_cachemodes_real = ['network=writeback'] include 'cloud::storage::rbd' From cffefff13fcb7a3b3540113f5a27ec81c3e3b8fc Mon Sep 17 00:00:00 2001 From: Emilien Macchi Date: Sun, 27 Apr 2014 00:40:18 +0200 Subject: [PATCH 06/16] CHANGELOG: Notes for 1.2.0 release --- CHANGELOG.md | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6fff4f77..eac84b08 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,17 @@ +##2014-04-22 - Features release 1.2.0 +###Summary +* Now supports Ubuntu 12.04 +* Now supports Now supports Red Hat OpenStack Platform 4 +* Can be deployed on 3 nodes +* Add cluster note type support for RabbitMQ configuration +* Block storage can now be backend by multiple RBD pools + +####Bugfixes +* Fix a bug in Horizon in HTTP/HTTPS binding + +####Known Bugs +* No known bugs + ##2014-04-01 - Features release 1.1.0 ###Summary * Updated puppetlabs-rabbitmq to 3.1.0 (RabbitMQ to 3.2.4) @@ -13,7 +27,7 @@ * neutron: increase agent polling interval ####Known Bugs -* No known bugs +* Bug in Horizon in HTTP/HTTPS binding (fixed in 1.2.0) ##2014-03-13 - First stable version 1.0.0 ###Summary From 77d0da8b8c19f13a27328dcd837d46c08d405ac5 Mon Sep 17 00:00:00 2001 From: Emilien Macchi Date: Mon, 5 May 2014 11:31:33 +0200 Subject: [PATCH 07/16] lb: fix lint --- manifests/loadbalancer.pp | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/manifests/loadbalancer.pp b/manifests/loadbalancer.pp index f9ecb5db..3095e222 100644 --- a/manifests/loadbalancer.pp +++ b/manifests/loadbalancer.pp @@ -207,10 +207,17 @@ class cloud::loadbalancer( listen_ip => $vip_public_ip; } } else { - cloud::loadbalancer::listen_http{ - 'horizon_cluster': - ports => $horizon_port, - listen_ip => $vip_public_ip; + # Horizon URL is not the same on Red Hat and Debian/Ubuntu + if $::operatingsystem == 'RedHat' { + $horizon_auth_url = 'dashboard' + } else { + $horizon_auth_url = 'horizon' + } + cloud::loadbalancer::listen_http{ 'horizon_cluster': + ports => $horizon_port, + httpchk => "httpchk GET \"/${horizon_auth_url} HTTP/1.0\r\nUser-Agent: HAProxy-${::hostname}\"", + options => { 'cookie' => 'sessionid prefix', 'balance' => 'leastconn' }, + listen_ip => $vip_public_ip; } } } From db4a12cb90db90749a9457a3ea9d1243629ee30b Mon Sep 17 00:00:00 2001 From: Emilien Macchi Date: Tue, 6 May 2014 06:43:12 +0200 Subject: [PATCH 08/16] telemetry: include notification agent in server class - Include Ceilometer Notification Agent in cloud::telemetry class - Add tests --- manifests/telemetry/server.pp | 1 + spec/classes/cloud_telemetry_server_spec.rb | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/manifests/telemetry/server.pp b/manifests/telemetry/server.pp index 962ac69f..c3487ef4 100644 --- a/manifests/telemetry/server.pp +++ b/manifests/telemetry/server.pp @@ -38,5 +38,6 @@ class cloud::telemetry::server( class { 'cloud::telemetry::alarmevaluator': } class { 'cloud::telemetry::alarmnotifier': } class { 'cloud::telemetry::collector': } + class { 'cloud::telemetry::agent::notification': } } diff --git a/spec/classes/cloud_telemetry_server_spec.rb b/spec/classes/cloud_telemetry_server_spec.rb index 535baf66..f1539868 100644 --- a/spec/classes/cloud_telemetry_server_spec.rb +++ b/spec/classes/cloud_telemetry_server_spec.rb @@ -70,6 +70,10 @@ describe 'cloud::telemetry::server' do should contain_class('ceilometer::collector') end + it 'configure ceilometer notification agent' do + should contain_class('ceilometer::agent::notification') + end + it 'configure ceilometer alarm evaluator' do should contain_class('ceilometer::alarm::evaluator') end From fbb89154a17ae2b08fa2be55e9ea9f201d31bcb3 Mon Sep 17 00:00:00 2001 From: Emilien Macchi Date: Tue, 6 May 2014 06:49:24 +0200 Subject: [PATCH 09/16] bring Heat APis multi workkers --- manifests/orchestration/api.pp | 10 +++++++--- spec/classes/cloud_orchestration_api_spec.rb | 15 ++++++++++----- 2 files changed, 17 insertions(+), 8 deletions(-) diff --git a/manifests/orchestration/api.pp b/manifests/orchestration/api.pp index 3a2a8718..a1f0c988 100644 --- a/manifests/orchestration/api.pp +++ b/manifests/orchestration/api.pp @@ -21,23 +21,27 @@ class cloud::orchestration::api( $ks_heat_cfn_internal_port = 8000, $ks_heat_cloudwatch_internal_port = 8003, $api_eth = '127.0.0.1', + $workers = $::processorcount, ) { include 'cloud::orchestration' class { 'heat::api': bind_host => $api_eth, - bind_port => $ks_heat_internal_port + bind_port => $ks_heat_internal_port, + workers => $workers } class { 'heat::api_cfn': bind_host => $api_eth, - bind_port => $ks_heat_cfn_internal_port + bind_port => $ks_heat_cfn_internal_port, + workers => $workers } class { 'heat::api_cloudwatch': bind_host => $api_eth, - bind_port => $ks_heat_cloudwatch_internal_port + bind_port => $ks_heat_cloudwatch_internal_port, + workers => $workers } @@haproxy::balancermember{"${::fqdn}-heat_api": diff --git a/spec/classes/cloud_orchestration_api_spec.rb b/spec/classes/cloud_orchestration_api_spec.rb index 093eb1a6..f4c332b8 100644 --- a/spec/classes/cloud_orchestration_api_spec.rb +++ b/spec/classes/cloud_orchestration_api_spec.rb @@ -73,15 +73,18 @@ describe 'cloud::orchestration::api' do it 'configure heat api' do should contain_class('heat::api').with( :bind_host => '10.0.0.1', - :bind_port => '8004' + :bind_port => '8004', + :workers => '8' ) should contain_class('heat::api_cfn').with( :bind_host => '10.0.0.1', - :bind_port => '8000' + :bind_port => '8000', + :workers => '8' ) should contain_class('heat::api_cloudwatch').with( :bind_host => '10.0.0.1', - :bind_port => '8003' + :bind_port => '8003', + :workers => '8' ) end @@ -98,7 +101,8 @@ describe 'cloud::orchestration::api' do context 'on Debian platforms' do let :facts do - { :osfamily => 'Debian' } + { :osfamily => 'Debian', + :processorcount => '8' } end it_configures 'openstack orchestration api' @@ -106,7 +110,8 @@ describe 'cloud::orchestration::api' do context 'on RedHat platforms' do let :facts do - { :osfamily => 'RedHat' } + { :osfamily => 'RedHat', + :processorcount => '8' } end it_configures 'openstack orchestration api' From 4b0e1cfcd1e77d5fe530e8188c3b59b37afd355e Mon Sep 17 00:00:00 2001 From: Emilien Macchi Date: Tue, 6 May 2014 07:06:57 +0200 Subject: [PATCH 10/16] neutron: fix report_interval report_interval should be configure on all neutron agents. --- manifests/network.pp | 1 + manifests/network/controller.pp | 1 - spec/classes/cloud_compute_hypervisor_spec.rb | 3 ++- spec/classes/cloud_network_controller_spec.rb | 6 +++--- spec/classes/cloud_network_dhcp_spec.rb | 3 ++- spec/classes/cloud_network_l3_spec.rb | 3 ++- spec/classes/cloud_network_lbaas_spec.rb | 3 ++- spec/classes/cloud_network_metadata_spec.rb | 3 ++- spec/classes/cloud_network_vpn_spec.rb | 3 ++- 9 files changed, 16 insertions(+), 10 deletions(-) diff --git a/manifests/network.pp b/manifests/network.pp index f4c5b381..9a3b83be 100644 --- a/manifests/network.pp +++ b/manifests/network.pp @@ -101,6 +101,7 @@ class cloud::network( service_plugins => ['neutron.services.loadbalancer.plugin.LoadBalancerPlugin','neutron.services.metering.metering_plugin.MeteringPlugin','neutron.services.l3_router.l3_router_plugin.L3RouterPlugin'], log_dir => $log_dir, dhcp_lease_duration => $dhcp_lease_duration, + report_interval => '30', } class { 'neutron::agents::ovs': diff --git a/manifests/network/controller.pp b/manifests/network/controller.pp index 5ad76b36..5616f982 100644 --- a/manifests/network/controller.pp +++ b/manifests/network/controller.pp @@ -46,7 +46,6 @@ class cloud::network::controller( database_connection => "mysql://${encoded_user}:${encoded_password}@${neutron_db_host}/neutron?charset=utf8", api_workers => $::processorcount, agent_down_time => '60', - report_interval => '30', } class { 'neutron::server::notifications': diff --git a/spec/classes/cloud_compute_hypervisor_spec.rb b/spec/classes/cloud_compute_hypervisor_spec.rb index 84801fe8..8f99c130 100644 --- a/spec/classes/cloud_compute_hypervisor_spec.rb +++ b/spec/classes/cloud_compute_hypervisor_spec.rb @@ -138,7 +138,8 @@ describe 'cloud::compute::hypervisor' do :bind_host => '10.0.0.1', :core_plugin => 'neutron.plugins.ml2.plugin.Ml2Plugin', :service_plugins => ['neutron.services.loadbalancer.plugin.LoadBalancerPlugin','neutron.services.metering.metering_plugin.MeteringPlugin','neutron.services.l3_router.l3_router_plugin.L3RouterPlugin'], - :log_dir => false + :log_dir => false, + :report_interval => '30' ) should contain_class('neutron::agents::ovs').with( :enable_tunneling => true, diff --git a/spec/classes/cloud_network_controller_spec.rb b/spec/classes/cloud_network_controller_spec.rb index 65dcf62a..ee232e4d 100644 --- a/spec/classes/cloud_network_controller_spec.rb +++ b/spec/classes/cloud_network_controller_spec.rb @@ -68,7 +68,8 @@ describe 'cloud::network::controller' do :core_plugin => 'neutron.plugins.ml2.plugin.Ml2Plugin', :service_plugins => ['neutron.services.loadbalancer.plugin.LoadBalancerPlugin','neutron.services.metering.metering_plugin.MeteringPlugin','neutron.services.l3_router.l3_router_plugin.L3RouterPlugin'], :log_dir => false, - :dhcp_lease_duration => '10' + :dhcp_lease_duration => '10', + :report_interval => '30' ) should contain_class('neutron::agents::ovs').with( :enable_tunneling => true, @@ -93,8 +94,7 @@ describe 'cloud::network::controller' do :auth_port => '5000', :database_connection => 'mysql://neutron:secrete@10.0.0.1/neutron?charset=utf8', :api_workers => '2', - :agent_down_time => '60', - :report_interval => '30' + :agent_down_time => '60' ) end diff --git a/spec/classes/cloud_network_dhcp_spec.rb b/spec/classes/cloud_network_dhcp_spec.rb index 5f863045..cfb8c5d6 100644 --- a/spec/classes/cloud_network_dhcp_spec.rb +++ b/spec/classes/cloud_network_dhcp_spec.rb @@ -57,7 +57,8 @@ describe 'cloud::network::dhcp' do :core_plugin => 'neutron.plugins.ml2.plugin.Ml2Plugin', :service_plugins => ['neutron.services.loadbalancer.plugin.LoadBalancerPlugin','neutron.services.metering.metering_plugin.MeteringPlugin','neutron.services.l3_router.l3_router_plugin.L3RouterPlugin'], :log_dir => false, - :dhcp_lease_duration => '10' + :dhcp_lease_duration => '10', + :report_interval => '30' ) should contain_class('neutron::agents::ovs').with( :enable_tunneling => true, diff --git a/spec/classes/cloud_network_l3_spec.rb b/spec/classes/cloud_network_l3_spec.rb index 69ea1270..998d89e6 100644 --- a/spec/classes/cloud_network_l3_spec.rb +++ b/spec/classes/cloud_network_l3_spec.rb @@ -57,7 +57,8 @@ describe 'cloud::network::l3' do :core_plugin => 'neutron.plugins.ml2.plugin.Ml2Plugin', :service_plugins => ['neutron.services.loadbalancer.plugin.LoadBalancerPlugin','neutron.services.metering.metering_plugin.MeteringPlugin','neutron.services.l3_router.l3_router_plugin.L3RouterPlugin'], :log_dir => false, - :dhcp_lease_duration => '10' + :dhcp_lease_duration => '10', + :report_interval => '30' ) should contain_class('neutron::agents::ovs').with( :enable_tunneling => true, diff --git a/spec/classes/cloud_network_lbaas_spec.rb b/spec/classes/cloud_network_lbaas_spec.rb index a83c5747..143e0047 100644 --- a/spec/classes/cloud_network_lbaas_spec.rb +++ b/spec/classes/cloud_network_lbaas_spec.rb @@ -57,7 +57,8 @@ describe 'cloud::network::lbaas' do :core_plugin => 'neutron.plugins.ml2.plugin.Ml2Plugin', :service_plugins => ['neutron.services.loadbalancer.plugin.LoadBalancerPlugin','neutron.services.metering.metering_plugin.MeteringPlugin','neutron.services.l3_router.l3_router_plugin.L3RouterPlugin'], :log_dir => false, - :dhcp_lease_duration => '10' + :dhcp_lease_duration => '10', + :report_interval => '30' ) should contain_class('neutron::agents::ovs').with( :enable_tunneling => true, diff --git a/spec/classes/cloud_network_metadata_spec.rb b/spec/classes/cloud_network_metadata_spec.rb index d090a2eb..5114597c 100644 --- a/spec/classes/cloud_network_metadata_spec.rb +++ b/spec/classes/cloud_network_metadata_spec.rb @@ -64,7 +64,8 @@ describe 'cloud::network::metadata' do :core_plugin => 'neutron.plugins.ml2.plugin.Ml2Plugin', :service_plugins => ['neutron.services.loadbalancer.plugin.LoadBalancerPlugin','neutron.services.metering.metering_plugin.MeteringPlugin','neutron.services.l3_router.l3_router_plugin.L3RouterPlugin'], :log_dir => false, - :dhcp_lease_duration => '10' + :dhcp_lease_duration => '10', + :report_interval => '30' ) should contain_class('neutron::agents::ovs').with( :enable_tunneling => true, diff --git a/spec/classes/cloud_network_vpn_spec.rb b/spec/classes/cloud_network_vpn_spec.rb index cc3362ca..ca033a72 100644 --- a/spec/classes/cloud_network_vpn_spec.rb +++ b/spec/classes/cloud_network_vpn_spec.rb @@ -52,7 +52,8 @@ describe 'cloud::network::vpn' do :core_plugin => 'neutron.plugins.ml2.plugin.Ml2Plugin', :service_plugins => ['neutron.services.loadbalancer.plugin.LoadBalancerPlugin','neutron.services.metering.metering_plugin.MeteringPlugin','neutron.services.l3_router.l3_router_plugin.L3RouterPlugin'], :log_dir => false, - :dhcp_lease_duration => '10' + :dhcp_lease_duration => '10', + :report_interval => '30' ) should contain_class('neutron::agents::ovs').with( :enable_tunneling => true, From f47731d3bdc7c5f81509fa167e84a857ce59517e Mon Sep 17 00:00:00 2001 From: Emilien Macchi Date: Tue, 6 May 2014 07:09:52 +0200 Subject: [PATCH 11/16] neutron: use new model for enabling security group API --- manifests/network.pp | 2 +- spec/classes/cloud_compute_hypervisor_spec.rb | 2 +- spec/classes/cloud_network_controller_spec.rb | 2 +- spec/classes/cloud_network_dhcp_spec.rb | 2 +- spec/classes/cloud_network_l3_spec.rb | 2 +- spec/classes/cloud_network_lbaas_spec.rb | 2 +- spec/classes/cloud_network_metadata_spec.rb | 2 +- spec/classes/cloud_network_vpn_spec.rb | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/manifests/network.pp b/manifests/network.pp index 9a3b83be..8d38b6be 100644 --- a/manifests/network.pp +++ b/manifests/network.pp @@ -117,7 +117,7 @@ class cloud::network( network_vlan_ranges => $provider_vlan_ranges, tunnel_id_ranges => ['1:10000'], mechanism_drivers => ['openvswitch','l2population'], - enable_security_group => 'neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver' + enable_security_group => true } # TODO(EmilienM) Temporary, need to be fixed upstream. diff --git a/spec/classes/cloud_compute_hypervisor_spec.rb b/spec/classes/cloud_compute_hypervisor_spec.rb index 8f99c130..81ebc5b3 100644 --- a/spec/classes/cloud_compute_hypervisor_spec.rb +++ b/spec/classes/cloud_compute_hypervisor_spec.rb @@ -153,7 +153,7 @@ describe 'cloud::compute::hypervisor' do :mechanism_drivers => ['openvswitch','l2population'], :tunnel_id_ranges => ['1:10000'], :network_vlan_ranges => ['physnet1:1000:2999'], - :enable_security_group => 'neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver' + :enable_security_group => true ) end diff --git a/spec/classes/cloud_network_controller_spec.rb b/spec/classes/cloud_network_controller_spec.rb index ee232e4d..f0d40a45 100644 --- a/spec/classes/cloud_network_controller_spec.rb +++ b/spec/classes/cloud_network_controller_spec.rb @@ -83,7 +83,7 @@ describe 'cloud::network::controller' do :mechanism_drivers => ['openvswitch','l2population'], :tunnel_id_ranges => ['1:10000'], :network_vlan_ranges => ['physnet1:1000:2999'], - :enable_security_group => 'neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver' + :enable_security_group => true ) end diff --git a/spec/classes/cloud_network_dhcp_spec.rb b/spec/classes/cloud_network_dhcp_spec.rb index cfb8c5d6..026d8e34 100644 --- a/spec/classes/cloud_network_dhcp_spec.rb +++ b/spec/classes/cloud_network_dhcp_spec.rb @@ -72,7 +72,7 @@ describe 'cloud::network::dhcp' do :mechanism_drivers => ['openvswitch','l2population'], :tunnel_id_ranges => ['1:10000'], :network_vlan_ranges => ['physnet1:1000:2999'], - :enable_security_group => 'neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver' + :enable_security_group => true ) end diff --git a/spec/classes/cloud_network_l3_spec.rb b/spec/classes/cloud_network_l3_spec.rb index 998d89e6..577f1c74 100644 --- a/spec/classes/cloud_network_l3_spec.rb +++ b/spec/classes/cloud_network_l3_spec.rb @@ -72,7 +72,7 @@ describe 'cloud::network::l3' do :mechanism_drivers => ['openvswitch','l2population'], :tunnel_id_ranges => ['1:10000'], :network_vlan_ranges => ['physnet1:1000:2999'], - :enable_security_group => 'neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver' + :enable_security_group => true ) end diff --git a/spec/classes/cloud_network_lbaas_spec.rb b/spec/classes/cloud_network_lbaas_spec.rb index 143e0047..e780cedb 100644 --- a/spec/classes/cloud_network_lbaas_spec.rb +++ b/spec/classes/cloud_network_lbaas_spec.rb @@ -72,7 +72,7 @@ describe 'cloud::network::lbaas' do :mechanism_drivers => ['openvswitch','l2population'], :tunnel_id_ranges => ['1:10000'], :network_vlan_ranges => ['physnet1:1000:2999'], - :enable_security_group => 'neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver' + :enable_security_group => true ) end diff --git a/spec/classes/cloud_network_metadata_spec.rb b/spec/classes/cloud_network_metadata_spec.rb index 5114597c..abee3f64 100644 --- a/spec/classes/cloud_network_metadata_spec.rb +++ b/spec/classes/cloud_network_metadata_spec.rb @@ -79,7 +79,7 @@ describe 'cloud::network::metadata' do :mechanism_drivers => ['openvswitch','l2population'], :tunnel_id_ranges => ['1:10000'], :network_vlan_ranges => ['physnet1:1000:2999'], - :enable_security_group => 'neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver' + :enable_security_group => true ) end diff --git a/spec/classes/cloud_network_vpn_spec.rb b/spec/classes/cloud_network_vpn_spec.rb index ca033a72..b2abe3b6 100644 --- a/spec/classes/cloud_network_vpn_spec.rb +++ b/spec/classes/cloud_network_vpn_spec.rb @@ -67,7 +67,7 @@ describe 'cloud::network::vpn' do :mechanism_drivers => ['openvswitch','l2population'], :tunnel_id_ranges => ['1:10000'], :network_vlan_ranges => ['physnet1:1000:2999'], - :enable_security_group => 'neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver' + :enable_security_group => true ) end From e04defc03e23f642d0ce2ffabfc61fe5165afc96 Mon Sep 17 00:00:00 2001 From: Emilien Macchi Date: Tue, 6 May 2014 09:25:27 +0200 Subject: [PATCH 12/16] Update all refs to official Puppetlabs Icehouse release --- .fixtures.yml | 20 ++++++++++---------- Puppetfile | 20 ++++++++++---------- 2 files changed, 20 insertions(+), 20 deletions(-) diff --git a/.fixtures.yml b/.fixtures.yml index e0ad2614..ee24992b 100644 --- a/.fixtures.yml +++ b/.fixtures.yml @@ -2,31 +2,31 @@ fixtures: repositories: 'cinder': repo: 'git://github.com/enovance/puppet-cinder' - ref: '504a061918ac08297f6a9b9f64f1836643573447' + ref: 'c55b95cb7edbaf0afa63e49c19d6d08bb80ab555' 'keystone': repo: 'git://github.com/enovance/puppet-keystone.git' - ref: 'd9aac2f78240e0fd651a6dc0ac05db4ffcba885b' + ref: '77dbc80de15b5ef02a5e89c8ef040e70df576a1d' 'nova': repo: 'git://github.com/enovance/puppet-nova.git' - ref: '47d576d2e62b4c449309ef228cdbc17bcf3fdcf0' + ref: '1e77a9d48a85a3ae6d30993b3c887f58e4a5973c' 'glance': repo: 'git://github.com/enovance/puppet-glance.git' - ref: 'e61e47d664e4d18e849bc7c3d5f40f452397d0f4' + ref: 'f3bbfd9efcc2436d6ed4beca87d62168bb109453' 'horizon': repo: 'git://github.com/enovance/puppet-horizon' - ref: 'da0cedce6f14f5c35e733ac345d8d862db11cd2b' + ref: '36383e90d1c4013d7989561b00ffcb08c76908de' 'swift': repo: 'git://github.com/enovance/puppet-swift' - ref: '9b60581a1c8fd2c1a98adafc1bcdc53796859e23' + ref: '9874edd2655e122bf8bd3eedc70e697bc5b83326' 'neutron': repo: 'git://github.com/enovance/puppet-neutron' - ref: '78428c844f73bf585a8f8a3bdf615ba2a0e8983b' + ref: '1be121ad94e875a98e99b6b707236c83ba993574' 'ceilometer': repo: 'git://github.com/enovance/puppet-ceilometer' - ref: 'f444fc8937a6bc05d0257c1a935e742491e94b02' + ref: 'a914270e284e050f0d1ce94b646c9e742f28c059' 'heat': repo: 'git://github.com/enovance/puppet-heat' - ref: '2847d4d42fdc413c0297b7aeedc9f29198e336c2' + ref: '17736b2fd726858cb83590f8a8b1d594a087ea44' 'apt': repo: 'git://github.com/enovance/puppetlabs-apt.git' ref: '9b001af8775c7231ea2656b7eb43d6141b536f49' @@ -68,7 +68,7 @@ fixtures: ref: 'ae23a4db97d2815ec305d0529912685f07746d3c' 'vswitch': repo: 'git://github.com/enovance/puppet-vswitch' - ref: '065fadb2d33857cd31f293677de56d18793e1412' + ref: '49dbaff15e8f017dbe365ebf08eb505472b695a1' 'stdlib': repo: 'git://github.com/enovance/puppetlabs-stdlib.git' ref: '224b8f9a191f635b03ee900a9bf87bfdb0f1a6ed' diff --git a/Puppetfile b/Puppetfile index 815fdf9e..10446975 100644 --- a/Puppetfile +++ b/Puppetfile @@ -19,31 +19,31 @@ forge 'http://forge.puppetlabs.com' # Core OpenStack projects mod 'ceilometer', :git => 'git://github.com/enovance/puppet-ceilometer.git', - :ref => 'f444fc8937a6bc05d0257c1a935e742491e94b02' + :ref => 'a914270e284e050f0d1ce94b646c9e742f28c059' mod 'cinder', :git => 'git://github.com/enovance/puppet-cinder.git', - :ref => '504a061918ac08297f6a9b9f64f1836643573447' + :ref => 'c55b95cb7edbaf0afa63e49c19d6d08bb80ab555' mod 'glance', :git => 'git://github.com/enovance/puppet-glance.git', - :ref => 'e61e47d664e4d18e849bc7c3d5f40f452397d0f4' + :ref => 'f3bbfd9efcc2436d6ed4beca87d62168bb109453' mod 'heat', :git => 'git://github.com/enovance/puppet-heat.git', - :ref => '2847d4d42fdc413c0297b7aeedc9f29198e336c2' + :ref => '17736b2fd726858cb83590f8a8b1d594a087ea44' mod 'horizon', :git => 'git://github.com/enovance/puppet-horizon.git', - :ref => 'da0cedce6f14f5c35e733ac345d8d862db11cd2b' + :ref => '36383e90d1c4013d7989561b00ffcb08c76908de' mod 'keystone', :git => 'git://github.com/enovance/puppet-keystone.git', - :ref => 'd9aac2f78240e0fd651a6dc0ac05db4ffcba885b' + :ref => '77dbc80de15b5ef02a5e89c8ef040e70df576a1d' mod 'neutron', :git => 'git://github.com/enovance/puppet-neutron.git', - :ref => '78428c844f73bf585a8f8a3bdf615ba2a0e8983b' + :ref => '1be121ad94e875a98e99b6b707236c83ba993574' mod 'nova', :git => 'git://github.com/enovance/puppet-nova.git', - :ref => '47d576d2e62b4c449309ef228cdbc17bcf3fdcf0' + :ref => '1e77a9d48a85a3ae6d30993b3c887f58e4a5973c' mod 'swift', :git => 'git://github.com/enovance/puppet-swift.git', - :ref => '9b60581a1c8fd2c1a98adafc1bcdc53796859e23' + :ref => '9874edd2655e122bf8bd3eedc70e697bc5b83326' # Dependency mod 'apache', @@ -122,7 +122,7 @@ mod 'sysctl', :ref => '4a463384e844f51b270428643a5b8beb3628e854' mod 'vswitch', :git => 'git://github.com/enovance/puppet-vswitch.git', - :ref => '065fadb2d33857cd31f293677de56d18793e1412' + :ref => '49dbaff15e8f017dbe365ebf08eb505472b695a1' mod 'xinetd', :git => 'git://github.com/enovance/puppetlabs-xinetd.git', :ref => '7557af0e418d1a587df04fe7d01322ff2473c32e' From 078c69370ee3482b9e4007aad69e60f58b5277c4 Mon Sep 17 00:00:00 2001 From: Emilien Macchi Date: Tue, 6 May 2014 17:37:56 +0200 Subject: [PATCH 13/16] Update refs for puppet-neutron Signed-off-by: Emilien Macchi --- .fixtures.yml | 2 +- Puppetfile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.fixtures.yml b/.fixtures.yml index 2fc20edc..d8fb3686 100644 --- a/.fixtures.yml +++ b/.fixtures.yml @@ -20,7 +20,7 @@ fixtures: ref: '9874edd2655e122bf8bd3eedc70e697bc5b83326' 'neutron': repo: 'git://github.com/enovance/puppet-neutron' - ref: '1be121ad94e875a98e99b6b707236c83ba993574' + ref: '66c436bc2f06c5a71d79c674697394a11ec227f9' 'ceilometer': repo: 'git://github.com/enovance/puppet-ceilometer' ref: 'a914270e284e050f0d1ce94b646c9e742f28c059' diff --git a/Puppetfile b/Puppetfile index bec818ea..c67ac4a0 100644 --- a/Puppetfile +++ b/Puppetfile @@ -37,7 +37,7 @@ mod 'keystone', :ref => '77dbc80de15b5ef02a5e89c8ef040e70df576a1d' mod 'neutron', :git => 'git://github.com/enovance/puppet-neutron.git', - :ref => '1be121ad94e875a98e99b6b707236c83ba993574' + :ref => '66c436bc2f06c5a71d79c674697394a11ec227f9' mod 'nova', :git => 'git://github.com/enovance/puppet-nova.git', :ref => '1e77a9d48a85a3ae6d30993b3c887f58e4a5973c' From c85d756ddbe8069d6656179d4499d3ba41f6da2d Mon Sep 17 00:00:00 2001 From: Emilien Macchi Date: Tue, 6 May 2014 18:51:38 +0200 Subject: [PATCH 14/16] Fix unit tests for Icehouse Signed-off-by: Emilien Macchi --- .fixtures.yml | 4 ++-- Puppetfile | 4 ++-- manifests/identity.pp | 1 - manifests/network/dhcp.pp | 8 +++----- manifests/telemetry/server.pp | 2 +- spec/classes/cloud_compute_controller_spec.rb | 3 +-- spec/classes/cloud_identity_spec.rb | 1 - spec/classes/cloud_network_controller_spec.rb | 2 +- spec/classes/cloud_network_dhcp_spec.rb | 6 +++--- 9 files changed, 13 insertions(+), 18 deletions(-) diff --git a/.fixtures.yml b/.fixtures.yml index d8fb3686..8a14fa97 100644 --- a/.fixtures.yml +++ b/.fixtures.yml @@ -2,7 +2,7 @@ fixtures: repositories: 'cinder': repo: 'git://github.com/enovance/puppet-cinder' - ref: 'c55b95cb7edbaf0afa63e49c19d6d08bb80ab555' + ref: 'eccaa59fb9635c62d108029e797388d456e8f6c2' 'keystone': repo: 'git://github.com/enovance/puppet-keystone.git' ref: '77dbc80de15b5ef02a5e89c8ef040e70df576a1d' @@ -23,7 +23,7 @@ fixtures: ref: '66c436bc2f06c5a71d79c674697394a11ec227f9' 'ceilometer': repo: 'git://github.com/enovance/puppet-ceilometer' - ref: 'a914270e284e050f0d1ce94b646c9e742f28c059' + ref: '615b6463ba04af34b810a358e106da25f208b080' 'heat': repo: 'git://github.com/enovance/puppet-heat' ref: '17736b2fd726858cb83590f8a8b1d594a087ea44' diff --git a/Puppetfile b/Puppetfile index c67ac4a0..63d120ef 100644 --- a/Puppetfile +++ b/Puppetfile @@ -19,10 +19,10 @@ forge 'http://forge.puppetlabs.com' # Core OpenStack projects mod 'ceilometer', :git => 'git://github.com/enovance/puppet-ceilometer.git', - :ref => 'a914270e284e050f0d1ce94b646c9e742f28c059' + :ref => '615b6463ba04af34b810a358e106da25f208b080' mod 'cinder', :git => 'git://github.com/enovance/puppet-cinder.git', - :ref => 'c55b95cb7edbaf0afa63e49c19d6d08bb80ab555' + :ref => 'eccaa59fb9635c62d108029e797388d456e8f6c2' mod 'glance', :git => 'git://github.com/enovance/puppet-glance.git', :ref => 'f3bbfd9efcc2436d6ed4beca87d62168bb109453' diff --git a/manifests/identity.pp b/manifests/identity.pp index 20c6773e..ae050720 100644 --- a/manifests/identity.pp +++ b/manifests/identity.pp @@ -462,7 +462,6 @@ class cloud::identity ( if $swift_enabled { class {'swift::keystone::auth': - address => $ks_swift_internal_host, password => $ks_swift_password, public_address => $ks_swift_public_host, public_port => $ks_swift_public_port, diff --git a/manifests/network/dhcp.pp b/manifests/network/dhcp.pp index db402130..ef63ff3f 100644 --- a/manifests/network/dhcp.pp +++ b/manifests/network/dhcp.pp @@ -25,13 +25,11 @@ class cloud::network::dhcp( include 'cloud::network' class { 'neutron::agents::dhcp': - debug => $debug + debug => $debug, + dnsmasq_config_file => '/etc/neutron/dnsmasq-neutron.conf', + enable_isolated_metadata => true } - neutron_dhcp_agent_config { - 'DEFAULT/dnsmasq_config_file': value => '/etc/neutron/dnsmasq-neutron.conf'; - 'DEFAULT/enable_isolated_metadata': value => true; - } if $dnsmasq_dns_server { neutron_dhcp_agent_config { 'DEFAULT/dnsmasq_dns_server': value => $dnsmasq_dns_server diff --git a/manifests/telemetry/server.pp b/manifests/telemetry/server.pp index c3487ef4..34175d56 100644 --- a/manifests/telemetry/server.pp +++ b/manifests/telemetry/server.pp @@ -38,6 +38,6 @@ class cloud::telemetry::server( class { 'cloud::telemetry::alarmevaluator': } class { 'cloud::telemetry::alarmnotifier': } class { 'cloud::telemetry::collector': } - class { 'cloud::telemetry::agent::notification': } + class { 'cloud::telemetry::notification': } } diff --git a/spec/classes/cloud_compute_controller_spec.rb b/spec/classes/cloud_compute_controller_spec.rb index eda30b44..5054e5c9 100644 --- a/spec/classes/cloud_compute_controller_spec.rb +++ b/spec/classes/cloud_compute_controller_spec.rb @@ -140,8 +140,7 @@ describe 'cloud::compute::controller' do let :facts do { :osfamily => 'RedHat' } end - #TODO(sbadia) Wait https://review.openstack.org/#/c/72449/ in stable/havana - #it_configures 'openstack compute controller' + it_configures 'openstack compute controller' end end diff --git a/spec/classes/cloud_identity_spec.rb b/spec/classes/cloud_identity_spec.rb index 23c946a3..04149229 100644 --- a/spec/classes/cloud_identity_spec.rb +++ b/spec/classes/cloud_identity_spec.rb @@ -161,7 +161,6 @@ describe 'cloud::identity' do it 'configure swift endpoints' do should contain_class('swift::keystone::auth').with( - :address => '10.0.0.1', :password => 'secrete', :public_address => '10.0.0.1', :public_port => '8080', diff --git a/spec/classes/cloud_network_controller_spec.rb b/spec/classes/cloud_network_controller_spec.rb index f0d40a45..7e1b6099 100644 --- a/spec/classes/cloud_network_controller_spec.rb +++ b/spec/classes/cloud_network_controller_spec.rb @@ -44,7 +44,7 @@ describe 'cloud::network::controller' do :ks_keystone_admin_host => '10.0.0.1', :ks_keystone_public_port => '5000', :nova_url => 'http://127.0.0.1:8774/v2', - :$nova_admin_auth_url => 'http://127.0.0.1:35357/v2.0', + :nova_admin_auth_url => 'http://127.0.0.1:35357/v2.0', :nova_admin_username => 'nova', :nova_admin_tenant_name => 'services', :nova_admin_password => 'novapassword', diff --git a/spec/classes/cloud_network_dhcp_spec.rb b/spec/classes/cloud_network_dhcp_spec.rb index effa3cf5..f0a4611a 100644 --- a/spec/classes/cloud_network_dhcp_spec.rb +++ b/spec/classes/cloud_network_dhcp_spec.rb @@ -78,11 +78,11 @@ describe 'cloud::network::dhcp' do it 'configure neutron dhcp' do should contain_class('neutron::agents::dhcp').with( - :debug => true + :debug => true, + :dnsmasq_config_file => '/etc/neutron/dnsmasq-neutron.conf', + :enable_isolated_metadata => true ) - should contain_neutron_dhcp_agent_config('DEFAULT/dnsmasq_config_file').with_value('/etc/neutron/dnsmasq-neutron.conf') - should contain_neutron_dhcp_agent_config('DEFAULT/enable_isolated_metadata').with_value(true) should contain_neutron_dhcp_agent_config('DEFAULT/dnsmasq_dns_server').with_ensure('absent') should contain_file('/etc/neutron/dnsmasq-neutron.conf').with( From baef95396f868569aa00d11e3706260f9488a8cc Mon Sep 17 00:00:00 2001 From: Emilien Macchi Date: Wed, 7 May 2014 21:38:59 +0200 Subject: [PATCH 15/16] hypervisor: move live_migration_flag to libvirt section New in Icehouse. --- manifests/compute/hypervisor.pp | 2 +- spec/classes/cloud_compute_hypervisor_spec.rb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/manifests/compute/hypervisor.pp b/manifests/compute/hypervisor.pp index 0ad85483..3b8b7f0d 100644 --- a/manifests/compute/hypervisor.pp +++ b/manifests/compute/hypervisor.pp @@ -182,7 +182,7 @@ Host * nova_config { 'libvirt/inject_key': value => false; 'libvirt/inject_partition': value => '-2'; - 'DEFAULT/live_migration_flag': value => 'VIR_MIGRATE_UNDEFINE_SOURCE,VIR_MIGRATE_PEER2PEER,VIR_MIGRATE_LIVE,VIR_MIGRATE_PERSIST_DEST'; + 'libvirt/live_migration_flag': value => 'VIR_MIGRATE_UNDEFINE_SOURCE,VIR_MIGRATE_PEER2PEER,VIR_MIGRATE_LIVE,VIR_MIGRATE_PERSIST_DEST'; } class { 'ceilometer::agent::compute': } diff --git a/spec/classes/cloud_compute_hypervisor_spec.rb b/spec/classes/cloud_compute_hypervisor_spec.rb index 81ebc5b3..26cbbf5c 100644 --- a/spec/classes/cloud_compute_hypervisor_spec.rb +++ b/spec/classes/cloud_compute_hypervisor_spec.rb @@ -236,7 +236,7 @@ describe 'cloud::compute::hypervisor' do should contain_nova_config('DEFAULT/default_availability_zone').with('value' => 'MyZone') should contain_nova_config('libvirt/inject_key').with('value' => false) should contain_nova_config('libvirt/inject_partition').with('value' => '-2') - should contain_nova_config('DEFAULT/live_migration_flag').with('value' => 'VIR_MIGRATE_UNDEFINE_SOURCE,VIR_MIGRATE_PEER2PEER,VIR_MIGRATE_LIVE,VIR_MIGRATE_PERSIST_DEST') + should contain_nova_config('libvirt/live_migration_flag').with('value' => 'VIR_MIGRATE_UNDEFINE_SOURCE,VIR_MIGRATE_PEER2PEER,VIR_MIGRATE_LIVE,VIR_MIGRATE_PERSIST_DEST') end context 'with dbus on Ubuntu' do From 17649ebbada13567f96f95bf6bf95e7744f1d751 Mon Sep 17 00:00:00 2001 From: Emilien Macchi Date: Wed, 7 May 2014 22:05:28 +0200 Subject: [PATCH 16/16] telemetry: little syntax fix --- manifests/telemetry/notification.pp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/manifests/telemetry/notification.pp b/manifests/telemetry/notification.pp index 8321bd21..64aef569 100644 --- a/manifests/telemetry/notification.pp +++ b/manifests/telemetry/notification.pp @@ -16,8 +16,7 @@ # Telemetry Notifications nodes # -class cloud::telemetry::notification( -){ +class cloud::telemetry::notification { include 'cloud::telemetry'