diff --git a/Berksfile b/Berksfile index 6ee299f..76191f5 100644 --- a/Berksfile +++ b/Berksfile @@ -4,3 +4,9 @@ cookbook "openstack-common", git: "git://github.com/stackforge/cookbook-openstack-common.git" cookbook "openstack-identity", git: "git://github.com/stackforge/cookbook-openstack-identity.git" +cookbook "openstack-compute", + git: "git://github.com/stackforge/cookbook-openstack-compute.git" +cookbook "openstack-image", + git: "git://github.com/stackforge/cookbook-openstack-image.git" +cookbook "openstack-network", + git: "git://github.com/stackforge/cookbook-openstack-network.git" diff --git a/Gemfile b/Gemfile index ccfa456..58934c6 100644 --- a/Gemfile +++ b/Gemfile @@ -7,3 +7,4 @@ gem 'chefspec', '~> 3.4.0' gem 'foodcritic', '~> 3.0.3' gem 'strainer' gem 'rubocop', '~> 0.18.1' +gem 'fauxhai', '>= 2.1.0' diff --git a/Gemfile.lock b/Gemfile.lock index 2954927..bbe41ab 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -231,6 +231,7 @@ DEPENDENCIES berkshelf (~> 2.0.10) chef (~> 11.8) chefspec (~> 3.4.0) + fauxhai (>= 2.1.0) foodcritic (~> 3.0.3) json (<= 1.7.7) rubocop (~> 0.18.1) diff --git a/attributes/default.rb b/attributes/default.rb index 8c39d30..31dfd82 100644 --- a/attributes/default.rb +++ b/attributes/default.rb @@ -42,6 +42,13 @@ default['openstack']['telemetry']['service_user'] = 'ceilometer' default['openstack']['telemetry']['service_tenant_name'] = 'service' default['openstack']['telemetry']['service_role'] = 'admin' +case node['openstack']['compute']['driver'] +when 'libvirt.LibvirtDriver' + default['openstack']['telemetry']['hypervisor_inspector'] = 'libvirt' +else + default['openstack']['telemetry']['hypervisor_inspector'] = nil +end + case platform when 'suse' # :pragma-foodcritic: ~FC024 - won't fix this default['openstack']['telemetry']['platform'] = { diff --git a/metadata.rb b/metadata.rb index 2d7e0b4..203b29e 100644 --- a/metadata.rb +++ b/metadata.rb @@ -20,3 +20,4 @@ end depends 'openstack-common', '~> 9.0' depends 'openstack-identity', '~> 9.0' +depends 'openstack-compute', '~> 9.0' diff --git a/spec/common_spec.rb b/spec/common_spec.rb index 9d0209b..c3cac0a 100644 --- a/spec/common_spec.rb +++ b/spec/common_spec.rb @@ -150,6 +150,11 @@ describe 'openstack-telemetry::common' do r = /^metering_secret = metering_secret$/ expect(chef_run).to render_file(file.name).with_content(r) end + + it 'has hypervisor inspector' do + r = /^hypervisor_inspector = libvirt$/ + expect(chef_run).to render_file(file.name).with_content(r) + end end describe 'policy.json' do diff --git a/templates/default/ceilometer.conf.erb b/templates/default/ceilometer.conf.erb index e773b38..85a94ce 100644 --- a/templates/default/ceilometer.conf.erb +++ b/templates/default/ceilometer.conf.erb @@ -10,6 +10,9 @@ policy_file = /etc/ceilometer/policy.json database_connection = <%= @database_connection %> verbose = <%= node["openstack"]["telemetry"]["verbose"] %> debug = <%= node["openstack"]["telemetry"]["debug"] %> +<% if node["openstack"]["telemetry"]["hypervisor_inspector"] %> +hypervisor_inspector = <%= node["openstack"]["telemetry"]["hypervisor_inspector"] %> +<% end %> <% if node["openstack"]["telemetry"]["syslog"]["use"] %> log_config = /etc/openstack/logging.conf <% end %>