Merge pull request #624 from enovance/tso-flexibility
Allow to manage or not TSO issue
This commit is contained in:
commit
33bb370d61
@ -19,16 +19,20 @@
|
||||
#
|
||||
# === Parameters:
|
||||
#
|
||||
# [*vm_rbd]
|
||||
# [*vm_rbd*]
|
||||
# (optional) Enable or not ceph capabilities on compute node to store
|
||||
# nova instances on ceph storage.
|
||||
# Default to false.
|
||||
#
|
||||
# [*volume_rbd]
|
||||
# [*volume_rbd*]
|
||||
# (optional) Enable or not ceph capabilities on compute node to attach
|
||||
# cinder volumes backend by ceph on nova instances.
|
||||
# Default to false.
|
||||
#
|
||||
# [*manage_tso*]
|
||||
# (optional) Allow to manage or not TSO issue.
|
||||
# Default to true.
|
||||
#
|
||||
|
||||
class cloud::compute::hypervisor(
|
||||
$server_proxyclient_address = '127.0.0.1',
|
||||
@ -43,6 +47,7 @@ class cloud::compute::hypervisor(
|
||||
$nova_rbd_secret_uuid = undef,
|
||||
$vm_rbd = false,
|
||||
$volume_rbd = false,
|
||||
$manage_tso = true,
|
||||
# set to false to keep backward compatibility
|
||||
$ks_spice_public_proto = false,
|
||||
$ks_spice_public_host = false,
|
||||
@ -145,25 +150,26 @@ Host *
|
||||
}
|
||||
|
||||
# Disabling TSO/GSO/GRO
|
||||
if $::osfamily == 'Debian' {
|
||||
ensure_resource ('exec','enable-tso-script', {
|
||||
'command' => '/usr/sbin/update-rc.d disable-tso defaults',
|
||||
'unless' => '/bin/ls /etc/rc*.d | /bin/grep disable-tso',
|
||||
'onlyif' => '/usr/bin/test -f /etc/init.d/disable-tso'
|
||||
})
|
||||
} elsif $::osfamily == 'RedHat' {
|
||||
ensure_resource ('exec','enable-tso-script', {
|
||||
'command' => '/usr/sbin/chkconfig disable-tso on',
|
||||
'unless' => '/bin/ls /etc/rc*.d | /bin/grep disable-tso',
|
||||
if $manage_tso {
|
||||
if $::osfamily == 'Debian' {
|
||||
ensure_resource ('exec','enable-tso-script', {
|
||||
'command' => '/usr/sbin/update-rc.d disable-tso defaults',
|
||||
'unless' => '/bin/ls /etc/rc*.d | /bin/grep disable-tso',
|
||||
'onlyif' => '/usr/bin/test -f /etc/init.d/disable-tso'
|
||||
})
|
||||
} elsif $::osfamily == 'RedHat' {
|
||||
ensure_resource ('exec','enable-tso-script', {
|
||||
'command' => '/usr/sbin/chkconfig disable-tso on',
|
||||
'unless' => '/bin/ls /etc/rc*.d | /bin/grep disable-tso',
|
||||
'onlyif' => '/usr/bin/test -f /etc/init.d/disable-tso'
|
||||
})
|
||||
}
|
||||
ensure_resource ('exec','start-tso-script', {
|
||||
'command' => '/etc/init.d/disable-tso start',
|
||||
'unless' => '/usr/bin/test -f /tmp/disable-tso-lock',
|
||||
'onlyif' => '/usr/bin/test -f /etc/init.d/disable-tso'
|
||||
})
|
||||
}
|
||||
ensure_resource ('exec','start-tso-script', {
|
||||
'command' => '/etc/init.d/disable-tso start',
|
||||
'unless' => '/usr/bin/test -f /tmp/disable-tso-lock',
|
||||
'onlyif' => '/usr/bin/test -f /etc/init.d/disable-tso'
|
||||
})
|
||||
|
||||
|
||||
if $::operatingsystem == 'Ubuntu' {
|
||||
service { 'dbus':
|
||||
|
@ -20,6 +20,7 @@ class cloud::network::l3(
|
||||
$external_int = 'eth1',
|
||||
$ext_provider_net = false,
|
||||
$debug = true,
|
||||
$manage_tso = true,
|
||||
) {
|
||||
|
||||
include 'cloud::network'
|
||||
@ -48,23 +49,25 @@ class cloud::network::l3(
|
||||
}
|
||||
|
||||
# Disabling TSO/GSO/GRO
|
||||
if $::osfamily == 'Debian' {
|
||||
ensure_resource ('exec','enable-tso-script', {
|
||||
'command' => '/usr/sbin/update-rc.d disable-tso defaults',
|
||||
'unless' => '/bin/ls /etc/rc*.d | /bin/grep disable-tso',
|
||||
'onlyif' => '/usr/bin/test -f /etc/init.d/disable-tso'
|
||||
})
|
||||
} elsif $::osfamily == 'RedHat' {
|
||||
ensure_resource ('exec','enable-tso-script', {
|
||||
'command' => '/usr/sbin/chkconfig disable-tso on',
|
||||
'unless' => '/bin/ls /etc/rc*.d | /bin/grep disable-tso',
|
||||
if $manage_tso {
|
||||
if $::osfamily == 'Debian' {
|
||||
ensure_resource ('exec','enable-tso-script', {
|
||||
'command' => '/usr/sbin/update-rc.d disable-tso defaults',
|
||||
'unless' => '/bin/ls /etc/rc*.d | /bin/grep disable-tso',
|
||||
'onlyif' => '/usr/bin/test -f /etc/init.d/disable-tso'
|
||||
})
|
||||
} elsif $::osfamily == 'RedHat' {
|
||||
ensure_resource ('exec','enable-tso-script', {
|
||||
'command' => '/usr/sbin/chkconfig disable-tso on',
|
||||
'unless' => '/bin/ls /etc/rc*.d | /bin/grep disable-tso',
|
||||
'onlyif' => '/usr/bin/test -f /etc/init.d/disable-tso'
|
||||
})
|
||||
}
|
||||
ensure_resource ('exec','start-tso-script', {
|
||||
'command' => '/etc/init.d/disable-tso start',
|
||||
'unless' => '/usr/bin/test -f /tmp/disable-tso-lock',
|
||||
'onlyif' => '/usr/bin/test -f /etc/init.d/disable-tso'
|
||||
})
|
||||
}
|
||||
ensure_resource ('exec','start-tso-script', {
|
||||
'command' => '/etc/init.d/disable-tso start',
|
||||
'unless' => '/usr/bin/test -f /tmp/disable-tso-lock',
|
||||
'onlyif' => '/usr/bin/test -f /etc/init.d/disable-tso'
|
||||
})
|
||||
|
||||
}
|
||||
|
@ -308,6 +308,18 @@ describe 'cloud::compute::hypervisor' do
|
||||
end
|
||||
end
|
||||
|
||||
context 'when not managing TSO/GSO/GRO' do
|
||||
before :each do
|
||||
params.merge!( :manage_tso => false)
|
||||
end
|
||||
it 'ensure TSO script is not managed at boot' do
|
||||
should_not contain_exec('enable-tso-script')
|
||||
end
|
||||
it 'do not start TSO script' do
|
||||
should_not contain_exec('start-tso-script')
|
||||
end
|
||||
end
|
||||
|
||||
context 'with RBD backend for instances and volumes on Debian plaforms' do
|
||||
before :each do
|
||||
facts.merge!( :osfamily => 'Debian',
|
||||
|
@ -131,6 +131,18 @@ describe 'cloud::network::l3' do
|
||||
)
|
||||
end
|
||||
end
|
||||
|
||||
context 'when not managing TSO/GSO/GRO' do
|
||||
before :each do
|
||||
params.merge!( :manage_tso => false)
|
||||
end
|
||||
it 'ensure TSO script is not enabled at boot' do
|
||||
should_not contain_exec('enable-tso-script')
|
||||
end
|
||||
it 'do not start TSO script' do
|
||||
should_not contain_exec('start-tso-script')
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
context 'on Debian platforms' do
|
||||
|
Loading…
x
Reference in New Issue
Block a user