Unmanage SELinux within puppet
Since [1] we manage SELinux state with ansible, at an earlier stage. [1] https://review.openstack.org/645238 Depends-On: https://review.openstack.org/645238 Change-Id: I1b4cc5c510793d5fc908c8369a2f6a06c4ccd886 Related-Bug: #1821178 Related-Bug: #1821025
This commit is contained in:
parent
23a7b058e8
commit
f4e5f1c89f
@ -41,12 +41,17 @@
|
|||||||
# Note: Those module should be in the $directory path
|
# Note: Those module should be in the $directory path
|
||||||
#
|
#
|
||||||
class tripleo::selinux (
|
class tripleo::selinux (
|
||||||
$mode = 'enforcing',
|
|
||||||
$directory = '/usr/share/selinux/',
|
$directory = '/usr/share/selinux/',
|
||||||
$booleans = [],
|
$booleans = [],
|
||||||
$modules = [],
|
$modules = [],
|
||||||
|
# Deprecated
|
||||||
|
$mode = undef,
|
||||||
) {
|
) {
|
||||||
|
|
||||||
|
if $mode {
|
||||||
|
warning('The "mode" parameter is deprecated.')
|
||||||
|
}
|
||||||
|
|
||||||
if $::osfamily != 'RedHat' {
|
if $::osfamily != 'RedHat' {
|
||||||
fail("OS family unsuppored yet (${::osfamily}), SELinux support is only limited to RedHat family OS")
|
fail("OS family unsuppored yet (${::osfamily}), SELinux support is only limited to RedHat family OS")
|
||||||
}
|
}
|
||||||
@ -61,33 +66,6 @@ class tripleo::selinux (
|
|||||||
selmoduledir => $directory,
|
selmoduledir => $directory,
|
||||||
}
|
}
|
||||||
|
|
||||||
file { '/etc/selinux/config':
|
|
||||||
ensure => present,
|
|
||||||
mode => '0444',
|
|
||||||
content => template('tripleo/selinux/sysconfig_selinux.erb')
|
|
||||||
}
|
|
||||||
|
|
||||||
$current_mode = $::selinux? {
|
|
||||||
false => 'disabled',
|
|
||||||
default => $::selinux_current_mode,
|
|
||||||
}
|
|
||||||
|
|
||||||
if $current_mode != $mode {
|
|
||||||
case $mode {
|
|
||||||
/^(disabled|permissive)$/: {
|
|
||||||
if $current_mode == 'enforcing' {
|
|
||||||
exec { '/sbin/setenforce 0': }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
'enforcing': {
|
|
||||||
exec { '/sbin/setenforce 1': }
|
|
||||||
}
|
|
||||||
default: {
|
|
||||||
fail('You must specify a mode (enforcing, permissive, or disabled)')
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
selboolean { $booleans :
|
selboolean { $booleans :
|
||||||
persistent => true,
|
persistent => true,
|
||||||
}
|
}
|
||||||
|
@ -21,7 +21,7 @@ describe 'tripleo::selinux' do
|
|||||||
|
|
||||||
shared_examples_for 'tripleo::selinux' do
|
shared_examples_for 'tripleo::selinux' do
|
||||||
|
|
||||||
context 'with selinux enforcing' do
|
context 'sebool and semodule management' do
|
||||||
before :each do
|
before :each do
|
||||||
facts.merge!({
|
facts.merge!({
|
||||||
:selinux => true,
|
:selinux => true,
|
||||||
@ -30,48 +30,11 @@ describe 'tripleo::selinux' do
|
|||||||
end
|
end
|
||||||
|
|
||||||
let :params do
|
let :params do
|
||||||
{ :mode => 'disabled',
|
{ :booleans => ['foo', 'bar'],
|
||||||
:booleans => ['foo', 'bar'],
|
|
||||||
:modules => ['module1', 'module2'],
|
:modules => ['module1', 'module2'],
|
||||||
:directory => '/path/to/modules'}
|
:directory => '/path/to/modules'}
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'runs setenforce 0' do
|
|
||||||
is_expected.to contain_exec('/sbin/setenforce 0')
|
|
||||||
end
|
|
||||||
|
|
||||||
it 'enables the SELinux boolean' do
|
|
||||||
is_expected.to contain_selboolean('foo').with(
|
|
||||||
:persistent => true,
|
|
||||||
:value => 'on',
|
|
||||||
)
|
|
||||||
end
|
|
||||||
|
|
||||||
it 'enables the SELinux modules' do
|
|
||||||
is_expected.to contain_selmodule('module1').with(
|
|
||||||
:ensure => 'present',
|
|
||||||
:selmoduledir => '/path/to/modules',
|
|
||||||
)
|
|
||||||
end
|
|
||||||
|
|
||||||
end
|
|
||||||
|
|
||||||
context 'with selinux disabled' do
|
|
||||||
before :each do
|
|
||||||
facts.merge!({ :selinux => false })
|
|
||||||
end
|
|
||||||
|
|
||||||
let :params do
|
|
||||||
{ :mode => 'enforcing',
|
|
||||||
:booleans => ['foo', 'bar'],
|
|
||||||
:modules => ['module1', 'module2'],
|
|
||||||
:directory => '/path/to/modules'}
|
|
||||||
end
|
|
||||||
|
|
||||||
it 'runs setenforce 1' do
|
|
||||||
is_expected.to contain_exec('/sbin/setenforce 1')
|
|
||||||
end
|
|
||||||
|
|
||||||
it 'enables the SELinux boolean' do
|
it 'enables the SELinux boolean' do
|
||||||
is_expected.to contain_selboolean('foo').with(
|
is_expected.to contain_selboolean('foo').with(
|
||||||
:persistent => true,
|
:persistent => true,
|
||||||
|
Loading…
Reference in New Issue
Block a user