diff --git a/.fixtures.yml b/.fixtures.yml index 98b67b64..8a14fa97 100644 --- a/.fixtures.yml +++ b/.fixtures.yml @@ -2,31 +2,31 @@ fixtures: repositories: 'cinder': repo: 'git://github.com/enovance/puppet-cinder' - ref: 'bd1536626f2b5d66f9ea77bcd69ba7d1f5f33961' + ref: 'eccaa59fb9635c62d108029e797388d456e8f6c2' 'keystone': repo: 'git://github.com/enovance/puppet-keystone.git' - ref: 'ce49f6b6d9bb0e89e3e1e63a88a1d63d5a930851' + ref: '77dbc80de15b5ef02a5e89c8ef040e70df576a1d' 'nova': repo: 'git://github.com/enovance/puppet-nova.git' - ref: 'b7811392062b649572f470f5f3ddca1882997210' + ref: '1e77a9d48a85a3ae6d30993b3c887f58e4a5973c' 'glance': repo: 'git://github.com/enovance/puppet-glance.git' - ref: '001f1b6a8ef6bd0fde8fbe0a4b3362f31e6bbcda' + 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: '39b7efdbc83c65966b7a961df98561c5550c2d23' + ref: '66c436bc2f06c5a71d79c674697394a11ec227f9' 'ceilometer': repo: 'git://github.com/enovance/puppet-ceilometer' - ref: 'f71f935a3e41dcd11f8f5986a1fe0708b124e589' + ref: '615b6463ba04af34b810a358e106da25f208b080' 'heat': repo: 'git://github.com/enovance/puppet-heat' - ref: 'bdf094da21161ec6f78530775a0c41fc76fd3339' + 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 70fd5cc3..63d120ef 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 => 'f71f935a3e41dcd11f8f5986a1fe0708b124e589' + :ref => '615b6463ba04af34b810a358e106da25f208b080' mod 'cinder', :git => 'git://github.com/enovance/puppet-cinder.git', - :ref => 'bd1536626f2b5d66f9ea77bcd69ba7d1f5f33961' + :ref => 'eccaa59fb9635c62d108029e797388d456e8f6c2' mod 'glance', :git => 'git://github.com/enovance/puppet-glance.git', - :ref => '001f1b6a8ef6bd0fde8fbe0a4b3362f31e6bbcda' + :ref => 'f3bbfd9efcc2436d6ed4beca87d62168bb109453' mod 'heat', :git => 'git://github.com/enovance/puppet-heat.git', - :ref => 'bdf094da21161ec6f78530775a0c41fc76fd3339' + :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 => 'ce49f6b6d9bb0e89e3e1e63a88a1d63d5a930851' + :ref => '77dbc80de15b5ef02a5e89c8ef040e70df576a1d' mod 'neutron', :git => 'git://github.com/enovance/puppet-neutron.git', - :ref => '39b7efdbc83c65966b7a961df98561c5550c2d23' + :ref => '66c436bc2f06c5a71d79c674697394a11ec227f9' mod 'nova', :git => 'git://github.com/enovance/puppet-nova.git', - :ref => 'b7811392062b649572f470f5f3ddca1882997210' + :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' diff --git a/manifests/compute/hypervisor.pp b/manifests/compute/hypervisor.pp index cb7fa4ce..3b8b7f0d 100644 --- a/manifests/compute/hypervisor.pp +++ b/manifests/compute/hypervisor.pp @@ -130,13 +130,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' |>> @@ -180,9 +180,9 @@ Host * # Extra config for nova-compute nova_config { - 'DEFAULT/libvirt_inject_key': value => false; - 'DEFAULT/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/inject_key': value => false; + 'libvirt/inject_partition': value => '-2'; + '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/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/image/api.pp b/manifests/image/api.pp index 925d7e89..d1b31083 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/manifests/network.pp b/manifests/network.pp index f4c5b381..8d38b6be 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': @@ -116,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/manifests/network/controller.pp b/manifests/network/controller.pp index 0c4900cc..5616f982 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' @@ -40,7 +46,15 @@ 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': + 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): 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/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/manifests/telemetry/notification.pp b/manifests/telemetry/notification.pp new file mode 100644 index 00000000..64aef569 --- /dev/null +++ b/manifests/telemetry/notification.pp @@ -0,0 +1,25 @@ +# +# 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': } + +} diff --git a/manifests/telemetry/server.pp b/manifests/telemetry/server.pp index 962ac69f..34175d56 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::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_compute_hypervisor_spec.rb b/spec/classes/cloud_compute_hypervisor_spec.rb index c2d93704..26cbbf5c 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, @@ -152,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 @@ -219,7 +220,7 @@ describe 'cloud::compute::hypervisor' do end it 'should not configure nova-compute for RBD backend' do - should_not contain_nova_config('DEFAULT/rbd_user').with('value' => 'cinder') + should_not contain_nova_config('libvirt/rbd_user').with('value' => 'cinder') end it 'configure libvirt driver without disk cachemodes' do @@ -233,9 +234,9 @@ describe 'cloud::compute::hypervisor' do 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('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/inject_key').with('value' => false) + should contain_nova_config('libvirt/inject_partition').with('value' => '-2') + 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 @@ -265,11 +266,11 @@ describe 'cloud::compute::hypervisor' do 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_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', 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_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( diff --git a/spec/classes/cloud_network_controller_spec.rb b/spec/classes/cloud_network_controller_spec.rb index c87055ad..7e1b6099 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 @@ -62,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, @@ -76,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 @@ -87,11 +94,20 @@ 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 + 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', diff --git a/spec/classes/cloud_network_dhcp_spec.rb b/spec/classes/cloud_network_dhcp_spec.rb index da7ff382..f0a4611a 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, @@ -71,17 +72,17 @@ 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 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( diff --git a/spec/classes/cloud_network_l3_spec.rb b/spec/classes/cloud_network_l3_spec.rb index 69ea1270..577f1c74 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, @@ -71,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 a83c5747..e780cedb 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, @@ -71,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 d090a2eb..abee3f64 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, @@ -78,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 cc3362ca..b2abe3b6 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, @@ -66,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 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' 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