From ca1bdcfd7bf2888f4d7bfc57508079f96b9fb8d5 Mon Sep 17 00:00:00 2001 From: Alex Schultz Date: Tue, 1 Aug 2017 13:45:30 -0600 Subject: [PATCH] Fix resources for latest puppet Running the unit tests under the latest puppet fails because of undefined resources. This change updates the references to use collectors if they are optional or change the definitions in the files for resources that are defined in the existing class. Change-Id: Ic91a8d577675fd1f2fb21543320426bfe49b1a2e Closes-Bug: #1702964 --- manifests/compute/libvirt/services.pp | 27 +++++++++++++-------------- manifests/compute/rbd.pp | 3 ++- manifests/policy.pp | 2 ++ spec/classes/nova_compute_rbd_spec.rb | 4 ++-- 4 files changed, 19 insertions(+), 17 deletions(-) diff --git a/manifests/compute/libvirt/services.pp b/manifests/compute/libvirt/services.pp index 2c1b499d7..be82b4b69 100644 --- a/manifests/compute/libvirt/services.pp +++ b/manifests/compute/libvirt/services.pp @@ -31,18 +31,6 @@ class nova::compute::libvirt::services ( include ::nova::params if $libvirt_service_name { - # messagebus - if($::osfamily == 'RedHat' and $::operatingsystem != 'Fedora') { - service { 'messagebus': - ensure => running, - enable => true, - name => $::nova::params::messagebus_service_name, - provider => $::nova::params::special_service_provider, - - } - Package['libvirt'] -> Service['messagebus'] -> Service['libvirt'] - } - # libvirt-nwfilter if $::osfamily == 'RedHat' { package { 'libvirt-nwfilter': @@ -80,6 +68,17 @@ class nova::compute::libvirt::services ( require => Package['libvirt'], } + # messagebus + if($::osfamily == 'RedHat' and $::operatingsystem != 'Fedora') { + service { 'messagebus': + ensure => running, + enable => true, + name => $::nova::params::messagebus_service_name, + provider => $::nova::params::special_service_provider, + } + Package['libvirt'] -> Service['messagebus'] -> Service['libvirt'] + } + # when nova-compute & libvirt run together Service['libvirt'] -> Service<| title == 'nova-compute'|> } @@ -91,8 +90,8 @@ class nova::compute::libvirt::services ( enable => true, name => $virtlock_service_name, provider => $::nova::params::special_service_provider, - require => Package['libvirt'] } + Package<| name == 'libvirt' |> -> Service['virtlockd'] } if $virtlog_service_name { @@ -101,8 +100,8 @@ class nova::compute::libvirt::services ( enable => true, name => $virtlog_service_name, provider => $::nova::params::special_service_provider, - require => Package['libvirt'] } + Package<| name == 'libvirt' |> -> Service['virtlogd'] } } diff --git a/manifests/compute/rbd.pp b/manifests/compute/rbd.pp index 886309833..6ad99075c 100644 --- a/manifests/compute/rbd.pp +++ b/manifests/compute/rbd.pp @@ -108,8 +108,9 @@ class nova::compute::rbd ( exec { 'get-or-set virsh secret': command => $cm, unless => "/usr/bin/virsh secret-list | grep -i ${libvirt_rbd_secret_uuid}", - require => [File['/etc/nova/secret.xml'], Service['libvirt']], + require => File['/etc/nova/secret.xml'], } + Service<| title == 'libvirt' |> -> Exec['get-or-set virsh secret'] if $libvirt_rbd_secret_key { $libvirt_key = $libvirt_rbd_secret_key diff --git a/manifests/policy.pp b/manifests/policy.pp index 2362028f4..238ca04eb 100644 --- a/manifests/policy.pp +++ b/manifests/policy.pp @@ -28,6 +28,8 @@ class nova::policy ( $policy_path = '/etc/nova/policy.json', ) { + include ::nova::deps + validate_hash($policies) $policy_defaults = { diff --git a/spec/classes/nova_compute_rbd_spec.rb b/spec/classes/nova_compute_rbd_spec.rb index b4a41ee4d..dc1b1a2b4 100644 --- a/spec/classes/nova_compute_rbd_spec.rb +++ b/spec/classes/nova_compute_rbd_spec.rb @@ -90,7 +90,7 @@ describe 'nova::compute::rbd' do is_expected.to contain_exec('get-or-set virsh secret').with( :command => '/usr/bin/virsh secret-define --file /etc/nova/secret.xml | /usr/bin/awk \'{print $2}\' | sed \'/^$/d\' > /etc/nova/virsh.secret', :unless => '/usr/bin/virsh secret-list | grep -i UUID', - :require => ['File[/etc/nova/secret.xml]', 'Service[libvirt]'], + :require => 'File[/etc/nova/secret.xml]', ) is_expected.to contain_exec('set-secret-value virsh').with( :command => "/usr/bin/virsh secret-set-value --secret UUID --base64 $(ceph auth get-key client.rbd_test)" @@ -141,7 +141,7 @@ describe 'nova::compute::rbd' do is_expected.to contain_exec('get-or-set virsh secret').with( :command => '/usr/bin/virsh secret-define --file /etc/nova/secret.xml | /usr/bin/awk \'{print $2}\' | sed \'/^$/d\' > /etc/nova/virsh.secret', :unless => '/usr/bin/virsh secret-list | grep -i UUID', - :require => ['File[/etc/nova/secret.xml]', 'Service[libvirt]'], + :require => 'File[/etc/nova/secret.xml]', ) is_expected.to contain_exec('set-secret-value virsh').with( :command => "/usr/bin/virsh secret-set-value --secret UUID --base64 $(ceph auth get-key client.rbd_test)"