diff --git a/deployment/puppet/openstack_tasks/manifests/roles/compute.pp b/deployment/puppet/openstack_tasks/manifests/roles/compute.pp index 7a052ae94c..d16165fdf0 100644 --- a/deployment/puppet/openstack_tasks/manifests/roles/compute.pp +++ b/deployment/puppet/openstack_tasks/manifests/roles/compute.pp @@ -448,8 +448,13 @@ class openstack_tasks::roles::compute { } } 'Debian': { + package { 'apparmor': + ensure => installed, + } + service { 'apparmor': - ensure => running, + ensure => running, + require => Package['apparmor'], } file_line { 'qemu_apparmor': @@ -460,14 +465,16 @@ class openstack_tasks::roles::compute { } file_line { 'apparmor_libvirtd': - path => '/etc/apparmor.d/usr.sbin.libvirtd', - line => "# unix, # shouldn't be used for libvirt/qemu", - match => '^[#[:space:]]*unix', + path => '/etc/apparmor.d/usr.sbin.libvirtd', + line => "# unix, # shouldn't be used for libvirt/qemu", + match => '^[#[:space:]]*unix', + require => Package['libvirt'], } exec { 'refresh_apparmor': refreshonly => true, command => '/sbin/apparmor_parser -r /etc/apparmor.d/usr.sbin.libvirtd', + require => Package['apparmor'], subscribe => File_line['apparmor_libvirtd'], } } diff --git a/tests/noop/spec/hosts/roles/compute_spec.rb b/tests/noop/spec/hosts/roles/compute_spec.rb index 537e76197a..7ab30f0776 100644 --- a/tests/noop/spec/hosts/roles/compute_spec.rb +++ b/tests/noop/spec/hosts/roles/compute_spec.rb @@ -260,6 +260,9 @@ describe manifest do ).that_notifies('Service[libvirt]') end elsif facts[:osfamily] == 'Debian' + should contain_package('apparmor').with( + 'ensure' => 'installed', + ) should contain_service('apparmor').with( 'ensure' => 'running', ) @@ -269,10 +272,14 @@ describe manifest do 'require' => ['Package[libvirt]', 'Service[apparmor]'], ).that_notifies('Service[libvirt]') should contain_file_line('apparmor_libvirtd').with( - 'path' => '/etc/apparmor.d/usr.sbin.libvirtd', - 'line' => "# unix, # shouldn't be used for libvirt/qemu", + 'path' => '/etc/apparmor.d/usr.sbin.libvirtd', + 'line' => "# unix, # shouldn't be used for libvirt/qemu", + 'require' => 'Package[libvirt]', ) - should contain_exec('refresh_apparmor').that_subscribes_to('File_line[apparmor_libvirtd]') + should contain_exec('refresh_apparmor').with( + 'command' => '/sbin/apparmor_parser -r /etc/apparmor.d/usr.sbin.libvirtd', + 'require' => 'Package[apparmor]', + ).that_subscribes_to('File_line[apparmor_libvirtd]') end end