From 7d274b0060732ebda21c4df6c3065a727a63a710 Mon Sep 17 00:00:00 2001 From: Emilien Macchi Date: Tue, 11 Feb 2014 16:02:35 +0100 Subject: [PATCH 1/9] compute/hypervisor: Add Ceilometer Agent Compute support Fix close #217 Signed-off-by: Emilien Macchi --- manifests/compute/hypervisor.pp | 3 ++ spec/classes/cloud_compute_hypervisor_spec.rb | 35 ++++++++++++++++++- 2 files changed, 37 insertions(+), 1 deletion(-) diff --git a/manifests/compute/hypervisor.pp b/manifests/compute/hypervisor.pp index abfe1bd6..fa8fd05c 100644 --- a/manifests/compute/hypervisor.pp +++ b/manifests/compute/hypervisor.pp @@ -38,6 +38,7 @@ class cloud::compute::hypervisor( ) { include 'cloud::compute' + include 'cloud::telemetry' exec { 'insert_module_nbd': command => '/bin/echo "nbd" > /etc/modules', @@ -128,4 +129,6 @@ Host * Exec <<| tag == 'set_secret_value_virsh' |>> } + class { 'ceilometer::agent::compute': } + } diff --git a/spec/classes/cloud_compute_hypervisor_spec.rb b/spec/classes/cloud_compute_hypervisor_spec.rb index 5616bb29..ff79b87c 100644 --- a/spec/classes/cloud_compute_hypervisor_spec.rb +++ b/spec/classes/cloud_compute_hypervisor_spec.rb @@ -34,7 +34,19 @@ describe 'cloud::compute::hypervisor' do verbose => true, debug => true, use_syslog => true, - log_facility => 'LOG_LOCAL0' }" + log_facility => 'LOG_LOCAL0' } + class { 'cloud::telemetry': + ceilometer_secret => 'secrete', + rabbit_hosts => ['10.0.0.1'], + rabbit_password => 'secrete', + ks_keystone_internal_host => '10.0.0.1', + ks_keystone_internal_port => '5000', + ks_keystone_internal_proto => 'http', + ks_ceilometer_password => 'secrete', + log_facility => 'LOG_LOCAL0', + use_syslog => true, + verbose => true, + debug => true }" end let :params do @@ -64,6 +76,23 @@ describe 'cloud::compute::hypervisor' do should contain_nova_config('DEFAULT/resume_guests_state_on_host_boot').with('value' => true) end + it 'configure ceilometer common' do + should contain_class('ceilometer').with( + :verbose => true, + :debug => true, + :rabbit_userid => 'ceilometer', + :rabbit_hosts => ['10.0.0.1'], + :rabbit_password => 'secrete', + :metering_secret => 'secrete', + :use_syslog => true, + :log_facility => 'LOG_LOCAL0' + ) + should contain_class('ceilometer::agent::auth').with( + :auth_password => 'secrete', + :auth_url => 'http://10.0.0.1:5000/v2.0' + ) + end + it 'checks if Nova DB is populated' do should contain_exec('nova_db_sync').with( :command => '/usr/bin/nova-manage db sync', @@ -107,6 +136,10 @@ describe 'cloud::compute::hypervisor' do should contain_class('nova::compute::neutron') end + it 'configure ceilometer agent compute' do + should contain_class('ceilometer::agent::compute') + end + it 'configure nova-conpute 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') From f0f45e1c9e3f8449c9ef19acc872608ca77abcb5 Mon Sep 17 00:00:00 2001 From: Emilien Macchi Date: Tue, 11 Feb 2014 16:18:03 +0100 Subject: [PATCH 2/9] telemetry: honour region name Close bug #219 Signed-off-by: Emilien Macchi --- manifests/telemetry.pp | 7 +++++++ spec/classes/cloud_telemetry_centralagent_spec.rb | 4 +++- spec/classes/cloud_telemetry_server_spec.rb | 4 +++- 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/manifests/telemetry.pp b/manifests/telemetry.pp index a3f300a4..cbe9cd3f 100644 --- a/manifests/telemetry.pp +++ b/manifests/telemetry.pp @@ -64,6 +64,11 @@ # (optional) Syslog facility to receive log lines # Defaults value in params # +# [*region*] +# (optional) the keystone region of this node +# Defaults value in params +# + class cloud::telemetry( $ceilometer_secret = $os_params::ceilometer_secret, $rabbit_hosts = $os_params::rabbit_hosts, @@ -72,6 +77,7 @@ class cloud::telemetry( $ks_keystone_internal_port = $os_params::ks_keystone_internal_port, $ks_keystone_internal_proto = $os_params::ks_keystone_internal_proto, $ks_ceilometer_password = $os_params::ks_ceilometer_password, + $region = $os_params::region, $verbose = $os_params::verbose, $debug = $os_params::debug, $log_facility = $os_params::log_facility, @@ -92,6 +98,7 @@ class cloud::telemetry( class { 'ceilometer::agent::auth': auth_url => "${ks_keystone_internal_proto}://${ks_keystone_internal_host}:${ks_keystone_internal_port}/v2.0", auth_password => $ks_ceilometer_password, + auth_region => $region } } diff --git a/spec/classes/cloud_telemetry_centralagent_spec.rb b/spec/classes/cloud_telemetry_centralagent_spec.rb index c9018d95..7ecf7131 100644 --- a/spec/classes/cloud_telemetry_centralagent_spec.rb +++ b/spec/classes/cloud_telemetry_centralagent_spec.rb @@ -31,6 +31,7 @@ describe 'cloud::telemetry::centralagent' do ks_keystone_internal_port => '5000', ks_keystone_internal_proto => 'http', ks_ceilometer_password => 'secrete', + region => 'MyRegion', log_facility => 'LOG_LOCAL0', use_syslog => true, verbose => true, @@ -54,7 +55,8 @@ describe 'cloud::telemetry::centralagent' do ) should contain_class('ceilometer::agent::auth').with( :auth_password => 'secrete', - :auth_url => 'http://10.0.0.1:5000/v2.0' + :auth_url => 'http://10.0.0.1:5000/v2.0', + :auth_region => 'MyRegion' ) end diff --git a/spec/classes/cloud_telemetry_server_spec.rb b/spec/classes/cloud_telemetry_server_spec.rb index 8db20d96..41d3a8ff 100644 --- a/spec/classes/cloud_telemetry_server_spec.rb +++ b/spec/classes/cloud_telemetry_server_spec.rb @@ -31,6 +31,7 @@ describe 'cloud::telemetry::server' do ks_keystone_internal_port => '5000', ks_keystone_internal_proto => 'http', ks_ceilometer_password => 'secrete', + region => 'MyRegion', log_facility => 'LOG_LOCAL0', use_syslog => true, verbose => true, @@ -59,7 +60,8 @@ describe 'cloud::telemetry::server' do ) should contain_class('ceilometer::agent::auth').with( :auth_password => 'secrete', - :auth_url => 'http://10.0.0.1:5000/v2.0' + :auth_url => 'http://10.0.0.1:5000/v2.0', + :auth_region => 'MyRegion' ) end From b4c47a598d11810ddfc2bf59a1e956b84e1ad242 Mon Sep 17 00:00:00 2001 From: Emilien Macchi Date: Tue, 11 Feb 2014 17:07:03 +0100 Subject: [PATCH 3/9] compute/hypervisor: Fix Ceph configuration Close bug #87 Signed-off-by: Emilien Macchi --- manifests/compute/hypervisor.pp | 9 ++++++--- spec/classes/cloud_compute_hypervisor_spec.rb | 7 +++++-- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/manifests/compute/hypervisor.pp b/manifests/compute/hypervisor.pp index fa8fd05c..004756e3 100644 --- a/manifests/compute/hypervisor.pp +++ b/manifests/compute/hypervisor.pp @@ -34,6 +34,9 @@ class cloud::compute::hypervisor( $nova_ssh_private_key = $os_params::nova_ssh_private_key, $nova_ssh_public_key = $os_params::nova_ssh_public_key, $spice_port = $os_params::spice_port, + $rbd_user = $os_params::cinder_rbd_user, + $rbd_pool = $os_params::cinder_rbd_pool, + $rbd_secret_uuid = $os_params::cinder_rbd_secret_uuid, $has_ceph = false ) { @@ -111,10 +114,10 @@ Host * # TODO(EmilienM) Temporary, while https://review.openstack.org/#/c/72440 got merged nova_config { 'DEFAULT/libvirt_images_type': value => 'rbd'; - 'DEFAULT/libvirt_images_rbd_pool': value => 'nova'; + 'DEFAULT/libvirt_images_rbd_pool': value => $rbd_pool; 'DEFAULT/libvirt_images_rbd_ceph_conf': value => '/etc/ceph/ceph.conf'; - 'DEFAULT/rbd_user': value => 'nova'; - 'DEFAULT/rbd_secret_uuid': value => 'secrete'; + 'DEFAULT/rbd_user': value => $rbd_user; + 'DEFAULT/rbd_secret_uuid': value => $rbd_secret_uuid; } # Extra config for nova-compute diff --git a/spec/classes/cloud_compute_hypervisor_spec.rb b/spec/classes/cloud_compute_hypervisor_spec.rb index ff79b87c..db4088f0 100644 --- a/spec/classes/cloud_compute_hypervisor_spec.rb +++ b/spec/classes/cloud_compute_hypervisor_spec.rb @@ -54,6 +54,9 @@ describe 'cloud::compute::hypervisor' do :server_proxyclient_address => '7.0.0.1', :spice_port => '6082', :has_ceph => true, + :rbd_user => 'cinder', + :rbd_pool => 'cinder', + :rbd_secret_uuid => 'secrete', :nova_ssh_private_key => 'secrete', :nova_ssh_public_key => 'public', :ks_nova_internal_proto => 'http', @@ -142,9 +145,9 @@ describe 'cloud::compute::hypervisor' do it 'configure nova-conpute 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_pool').with('value' => 'cinder') 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' => 'nova') + 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('DEFAULT/libvirt_inject_key').with('value' => false) should contain_nova_config('DEFAULT/libvirt_inject_partition').with('value' => '-2') From 82c1194352ec41e088b7ac013d7400034649f4e5 Mon Sep 17 00:00:00 2001 From: Emilien Macchi Date: Tue, 11 Feb 2014 17:30:17 +0100 Subject: [PATCH 4/9] compute: move neutron config in compute instead of network Close bug #222 Signed-off-by: Emilien Macchi --- manifests/compute.pp | 13 ++- manifests/network/compute.pp | 35 ------ spec/classes/cloud_compute_controller_spec.rb | 13 +++ spec/classes/cloud_compute_hypervisor_spec.rb | 13 +++ spec/classes/cloud_network_compute_spec.rb | 104 ------------------ 5 files changed, 38 insertions(+), 140 deletions(-) delete mode 100644 manifests/network/compute.pp delete mode 100644 spec/classes/cloud_network_compute_spec.rb diff --git a/manifests/compute.pp b/manifests/compute.pp index abe61a98..83a44074 100644 --- a/manifests/compute.pp +++ b/manifests/compute.pp @@ -74,7 +74,11 @@ class cloud::compute( $verbose = $os_params::verbose, $debug = $os_params::debug, $use_syslog = $os_params::use_syslog, - $log_facility = $os_params::log_facility + $log_facility = $os_params::log_facility, + $neutron_endpoint = $os_params::ks_neutron_admin_host, + $neutron_protocol = $os_params::ks_neutron_public_proto, + $neutron_password = $os_params::ks_neutron_password, + $neutron_region_name = $os_params::region ) { if !defined(Resource['nova_config']) { @@ -98,6 +102,13 @@ class cloud::compute( use_syslog => $use_syslog } + class { 'nova::network::neutron': + neutron_admin_password => $neutron_password, + neutron_admin_auth_url => "${neutron_protocol}://${neutron_endpoint}:35357/v2.0", + neutron_url => "${neutron_protocol}://${neutron_endpoint}:9696", + neutron_region_name => $neutron_region_name + } + nova_config { 'DEFAULT/resume_guests_state_on_host_boot': value => true; } diff --git a/manifests/network/compute.pp b/manifests/network/compute.pp deleted file mode 100644 index e10beee3..00000000 --- a/manifests/network/compute.pp +++ /dev/null @@ -1,35 +0,0 @@ -# -# 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. -# -# Network Compute node (Agent) -# - -class cloud::network::compute( - $neutron_endpoint = $os_params::ks_neutron_admin_host, - $neutron_protocol = $os_params::ks_neutron_public_proto, - $neutron_password = $os_params::ks_neutron_password, - $neutron_region_name = $os_params::region -) { - - include 'cloud::network' - - class { 'nova::network::neutron': - neutron_admin_password => $neutron_password, - neutron_admin_auth_url => "${neutron_protocol}://${neutron_endpoint}:35357/v2.0", - neutron_url => "${neutron_protocol}://${neutron_endpoint}:9696", - neutron_region_name => $neutron_region_name - } - -} diff --git a/spec/classes/cloud_compute_controller_spec.rb b/spec/classes/cloud_compute_controller_spec.rb index fb8d6c25..ab69d983 100644 --- a/spec/classes/cloud_compute_controller_spec.rb +++ b/spec/classes/cloud_compute_controller_spec.rb @@ -34,6 +34,10 @@ describe 'cloud::compute::controller' do verbose => true, debug => true, use_syslog => true, + neutron_protocol => 'http', + neutron_endpoint => '10.0.0.1', + neutron_region_name => 'MyRegion', + neutron_password => 'secrete', log_facility => 'LOG_LOCAL0' }" end @@ -64,6 +68,15 @@ describe 'cloud::compute::controller' do should contain_nova_config('DEFAULT/resume_guests_state_on_host_boot').with('value' => true) end + it 'configure neutron on compute node' do + should contain_class('nova::network::neutron').with( + :neutron_admin_password => 'secrete', + :neutron_admin_auth_url => 'http://10.0.0.1:35357/v2.0', + :neutron_region_name => 'MyRegion', + :neutron_url => 'http://10.0.0.1:9696' + ) + end + it 'checks if Nova DB is populated' do should contain_exec('nova_db_sync').with( :command => '/usr/bin/nova-manage db sync', diff --git a/spec/classes/cloud_compute_hypervisor_spec.rb b/spec/classes/cloud_compute_hypervisor_spec.rb index db4088f0..a671e6d9 100644 --- a/spec/classes/cloud_compute_hypervisor_spec.rb +++ b/spec/classes/cloud_compute_hypervisor_spec.rb @@ -34,6 +34,10 @@ describe 'cloud::compute::hypervisor' do verbose => true, debug => true, use_syslog => true, + neutron_protocol => 'http', + neutron_endpoint => '10.0.0.1', + neutron_region_name => 'MyRegion', + neutron_password => 'secrete', log_facility => 'LOG_LOCAL0' } class { 'cloud::telemetry': ceilometer_secret => 'secrete', @@ -93,6 +97,15 @@ describe 'cloud::compute::hypervisor' do should contain_class('ceilometer::agent::auth').with( :auth_password => 'secrete', :auth_url => 'http://10.0.0.1:5000/v2.0' + ) + end + + it 'configure neutron on compute node' do + should contain_class('nova::network::neutron').with( + :neutron_admin_password => 'secrete', + :neutron_admin_auth_url => 'http://10.0.0.1:35357/v2.0', + :neutron_region_name => 'MyRegion', + :neutron_url => 'http://10.0.0.1:9696' ) end diff --git a/spec/classes/cloud_network_compute_spec.rb b/spec/classes/cloud_network_compute_spec.rb deleted file mode 100644 index 0d4d2eb9..00000000 --- a/spec/classes/cloud_network_compute_spec.rb +++ /dev/null @@ -1,104 +0,0 @@ -# -# 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. -# -# Unit tests for cloud::network::compute class -# -require 'spec_helper' - -describe 'cloud::network::compute' do - - shared_examples_for 'openstack network compute' do - - let :pre_condition do - "class { 'cloud::network': - rabbit_hosts => ['10.0.0.1'], - rabbit_password => 'secrete', - tunnel_eth => '10.0.1.1', - api_eth => '10.0.0.1', - provider_vlan_ranges => ['physnet1:1000:2999'], - provider_bridge_mappings => ['physnet1:br-eth1'], - verbose => true, - debug => true, - use_syslog => true, - log_facility => 'LOG_LOCAL0' }" - end - - let :params do - { :neutron_protocol => 'http', - :neutron_endpoint => '10.0.0.1', - :neutron_region_name => 'MyRegion', - :neutron_password => 'secrete' } - end - - it 'configure neutron common' do - should contain_class('neutron').with( - :allow_overlapping_ips => true, - :dhcp_agents_per_network => '2', - :verbose => true, - :debug => true, - :log_facility => 'LOG_LOCAL0', - :use_syslog => true, - :rabbit_user => 'neutron', - :rabbit_hosts => ['10.0.0.1'], - :rabbit_password => 'secrete', - :rabbit_virtual_host => '/', - :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'] - - ) - should contain_class('neutron::agents::ovs').with( - :enable_tunneling => true, - :tunnel_types => ['gre'], - :bridge_mappings => ['physnet1:br-eth1'], - :local_ip => '10.0.1.1' - ) - should contain_class('neutron::plugins::ml2').with( - :type_drivers => ['gre','vlan'], - :tenant_network_types => ['gre'], - :mechanism_drivers => ['openvswitch','l2population'], - :tunnel_id_ranges => ['1:10000'], - :network_vlan_ranges => ['physnet1:1000:2999'], - :enable_security_group => 'neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver' - ) - end - - it 'configure neutron on compute node' do - should contain_class('nova::network::neutron').with( - :neutron_admin_password => 'secrete', - :neutron_admin_auth_url => 'http://10.0.0.1:35357/v2.0', - :neutron_region_name => 'MyRegion', - :neutron_url => 'http://10.0.0.1:9696' - ) - end - end - - context 'on Debian platforms' do - let :facts do - { :osfamily => 'Debian' } - end - - it_configures 'openstack network compute' - end - - context 'on RedHat platforms' do - let :facts do - { :osfamily => 'RedHat' } - end - - it_configures 'openstack network compute' - end - -end From d43ef051ed1fc29f8d0f1cdce65e8a533e3c6ce4 Mon Sep 17 00:00:00 2001 From: Sebastien Badia Date: Tue, 11 Feb 2014 17:54:29 +0100 Subject: [PATCH 5/9] [fixtures] Add puppet-ceph fixture (closes: #224) --- .fixtures.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.fixtures.yml b/.fixtures.yml index 76f284c2..98b5a1f6 100644 --- a/.fixtures.yml +++ b/.fixtures.yml @@ -29,6 +29,7 @@ fixtures: ref: 'origin/stable/havana' 'apt': 'git://github.com/enovance/puppetlabs-apt.git' 'apache': 'git://github.com/enovance/puppetlabs-apache.git' + 'ceph': 'git://github.com/enovance/puppet-ceph.git' 'concat': 'git://github.com/enovance/puppet-concat.git' 'haproxy': 'git://github.com/enovance/puppetlabs-haproxy.git' 'keepalived': 'git://github.com/enovance/puppet-module-keepalived.git' From 1fb892a9ffcdbba1207b894b6b2f69ea11de3520 Mon Sep 17 00:00:00 2001 From: Emilien Macchi Date: Tue, 11 Feb 2014 16:02:35 +0100 Subject: [PATCH 6/9] compute/hypervisor: Add Ceilometer Agent Compute support Fix close #217 Signed-off-by: Emilien Macchi --- spec/classes/cloud_compute_hypervisor_spec.rb | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/spec/classes/cloud_compute_hypervisor_spec.rb b/spec/classes/cloud_compute_hypervisor_spec.rb index a671e6d9..5d17afd4 100644 --- a/spec/classes/cloud_compute_hypervisor_spec.rb +++ b/spec/classes/cloud_compute_hypervisor_spec.rb @@ -106,6 +106,23 @@ describe 'cloud::compute::hypervisor' do :neutron_admin_auth_url => 'http://10.0.0.1:35357/v2.0', :neutron_region_name => 'MyRegion', :neutron_url => 'http://10.0.0.1:9696' + ) + end + + it 'configure ceilometer common' do + should contain_class('ceilometer').with( + :verbose => true, + :debug => true, + :rabbit_userid => 'ceilometer', + :rabbit_hosts => ['10.0.0.1'], + :rabbit_password => 'secrete', + :metering_secret => 'secrete', + :use_syslog => true, + :log_facility => 'LOG_LOCAL0' + ) + should contain_class('ceilometer::agent::auth').with( + :auth_password => 'secrete', + :auth_url => 'http://10.0.0.1:5000/v2.0' ) end From 880e132b12c489f7be34cf0bb244f8b9c6adf2c1 Mon Sep 17 00:00:00 2001 From: Emilien Macchi Date: Tue, 11 Feb 2014 16:02:35 +0100 Subject: [PATCH 7/9] compute/hypervisor: Add Ceilometer Agent Compute support Fix close #217 Signed-off-by: Emilien Macchi --- manifests/compute/hypervisor.pp | 3 ++ spec/classes/cloud_compute_hypervisor_spec.rb | 35 ++++++++++++++++++- 2 files changed, 37 insertions(+), 1 deletion(-) diff --git a/manifests/compute/hypervisor.pp b/manifests/compute/hypervisor.pp index 34b37375..004756e3 100644 --- a/manifests/compute/hypervisor.pp +++ b/manifests/compute/hypervisor.pp @@ -41,6 +41,7 @@ class cloud::compute::hypervisor( ) { include 'cloud::compute' + include 'cloud::telemetry' exec { 'insert_module_nbd': command => '/bin/echo "nbd" > /etc/modules', @@ -131,4 +132,6 @@ Host * Exec <<| tag == 'set_secret_value_virsh' |>> } + class { 'ceilometer::agent::compute': } + } diff --git a/spec/classes/cloud_compute_hypervisor_spec.rb b/spec/classes/cloud_compute_hypervisor_spec.rb index 5a0045d1..e7e0680a 100644 --- a/spec/classes/cloud_compute_hypervisor_spec.rb +++ b/spec/classes/cloud_compute_hypervisor_spec.rb @@ -38,7 +38,19 @@ describe 'cloud::compute::hypervisor' do neutron_endpoint => '10.0.0.1', neutron_region_name => 'MyRegion', neutron_password => 'secrete', - log_facility => 'LOG_LOCAL0' }" + log_facility => 'LOG_LOCAL0' } + class { 'cloud::telemetry': + ceilometer_secret => 'secrete', + rabbit_hosts => ['10.0.0.1'], + rabbit_password => 'secrete', + ks_keystone_internal_host => '10.0.0.1', + ks_keystone_internal_port => '5000', + ks_keystone_internal_proto => 'http', + ks_ceilometer_password => 'secrete', + log_facility => 'LOG_LOCAL0', + use_syslog => true, + verbose => true, + debug => true }" end let :params do @@ -77,6 +89,23 @@ describe 'cloud::compute::hypervisor' do :neutron_admin_auth_url => 'http://10.0.0.1:35357/v2.0', :neutron_region_name => 'MyRegion', :neutron_url => 'http://10.0.0.1:9696' + ) + end + + it 'configure ceilometer common' do + should contain_class('ceilometer').with( + :verbose => true, + :debug => true, + :rabbit_userid => 'ceilometer', + :rabbit_hosts => ['10.0.0.1'], + :rabbit_password => 'secrete', + :metering_secret => 'secrete', + :use_syslog => true, + :log_facility => 'LOG_LOCAL0' + ) + should contain_class('ceilometer::agent::auth').with( + :auth_password => 'secrete', + :auth_url => 'http://10.0.0.1:5000/v2.0' ) end @@ -123,6 +152,10 @@ describe 'cloud::compute::hypervisor' do should contain_class('nova::compute::neutron') end + it 'configure ceilometer agent compute' do + should contain_class('ceilometer::agent::compute') + end + it 'configure nova-conpute 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' => 'cinder') From 8dbab0952a95fb1a3b0cacd72f1102edf951d1cf Mon Sep 17 00:00:00 2001 From: Emilien Macchi Date: Tue, 11 Feb 2014 17:30:17 +0100 Subject: [PATCH 8/9] compute: move neutron config in compute instead of network Close bug #222 Signed-off-by: Emilien Macchi --- spec/classes/cloud_compute_hypervisor_spec.rb | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/spec/classes/cloud_compute_hypervisor_spec.rb b/spec/classes/cloud_compute_hypervisor_spec.rb index e7e0680a..f93ad6c5 100644 --- a/spec/classes/cloud_compute_hypervisor_spec.rb +++ b/spec/classes/cloud_compute_hypervisor_spec.rb @@ -106,6 +106,15 @@ describe 'cloud::compute::hypervisor' do should contain_class('ceilometer::agent::auth').with( :auth_password => 'secrete', :auth_url => 'http://10.0.0.1:5000/v2.0' + ) + end + + it 'configure neutron on compute node' do + should contain_class('nova::network::neutron').with( + :neutron_admin_password => 'secrete', + :neutron_admin_auth_url => 'http://10.0.0.1:35357/v2.0', + :neutron_region_name => 'MyRegion', + :neutron_url => 'http://10.0.0.1:9696' ) end From fdbf342b53e70974a837635e2b3397ce2a91933c Mon Sep 17 00:00:00 2001 From: Emilien Macchi Date: Tue, 11 Feb 2014 16:02:35 +0100 Subject: [PATCH 9/9] compute/hypervisor: Add Ceilometer Agent Compute support Fix close #217 Signed-off-by: Emilien Macchi --- spec/classes/cloud_compute_hypervisor_spec.rb | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/spec/classes/cloud_compute_hypervisor_spec.rb b/spec/classes/cloud_compute_hypervisor_spec.rb index f93ad6c5..5bf6264e 100644 --- a/spec/classes/cloud_compute_hypervisor_spec.rb +++ b/spec/classes/cloud_compute_hypervisor_spec.rb @@ -115,6 +115,23 @@ describe 'cloud::compute::hypervisor' do :neutron_admin_auth_url => 'http://10.0.0.1:35357/v2.0', :neutron_region_name => 'MyRegion', :neutron_url => 'http://10.0.0.1:9696' + ) + end + + it 'configure ceilometer common' do + should contain_class('ceilometer').with( + :verbose => true, + :debug => true, + :rabbit_userid => 'ceilometer', + :rabbit_hosts => ['10.0.0.1'], + :rabbit_password => 'secrete', + :metering_secret => 'secrete', + :use_syslog => true, + :log_facility => 'LOG_LOCAL0' + ) + should contain_class('ceilometer::agent::auth').with( + :auth_password => 'secrete', + :auth_url => 'http://10.0.0.1:5000/v2.0' ) end