Do not fail if PCI device is missing
Fixes a problem where SR-IOV VF count configuration will fail if a physical function is in use by a guest when 'puppet apply' is executed. This change substitutes warnings for failures and skips complaints if a PCI device is unavailable. Note: this patch has the side-effect of allowing the same configuration data on hosts that may *not* or *ever* have PCI SR-IOV devices on the hardware. Time will tell how evil this is in practice. Closes-Bug: #1701284 Change-Id: I71edc135432ab2193741c37ce977dd11172401e6
This commit is contained in:
parent
3fcafacc1e
commit
d71697a419
@ -12,7 +12,7 @@ Puppet::Type.type(:sriov_vf_config).provide(:numvfs) do
|
|||||||
if File.file?(sriov_numvfs_path)
|
if File.file?(sriov_numvfs_path)
|
||||||
_set_numvfs
|
_set_numvfs
|
||||||
else
|
else
|
||||||
fail("#{sriov_numvfs_path} doesn't exist. Check if #{sriov_get_interface} is a valid network interface supporting SR-IOV")
|
warning("#{sriov_numvfs_path} doesn't exist. Check if #{sriov_get_interface} is a valid network interface supporting SR-IOV")
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -16,7 +16,7 @@ class tripleo::host::sriov (
|
|||||||
) {
|
) {
|
||||||
|
|
||||||
if !empty($number_of_vfs) {
|
if !empty($number_of_vfs) {
|
||||||
sriov_vf_config { $number_of_vfs: ensure => present }
|
sriov_vf_config { $number_of_vfs: }
|
||||||
|
|
||||||
# the numvfs configuration needs to be persisted for every boot
|
# the numvfs configuration needs to be persisted for every boot
|
||||||
tripleo::host::sriov::numvfs_persistence {'persistent_numvfs':
|
tripleo::host::sriov::numvfs_persistence {'persistent_numvfs':
|
||||||
|
@ -0,0 +1,5 @@
|
|||||||
|
---
|
||||||
|
fixes:
|
||||||
|
- |
|
||||||
|
Allow VF configuration files to be written for non-existent PCI devices to
|
||||||
|
allow updates while physical functions are currently in use by a guest.
|
@ -17,8 +17,8 @@ describe 'tripleo::host::sriov' do
|
|||||||
end
|
end
|
||||||
|
|
||||||
it 'configures numvfs' do
|
it 'configures numvfs' do
|
||||||
is_expected.to contain_sriov_vf_config('eth0:4').with( :ensure => 'present' )
|
is_expected.to contain_sriov_vf_config('eth0:4')
|
||||||
is_expected.to contain_sriov_vf_config('eth1:5').with( :ensure => 'present')
|
is_expected.to contain_sriov_vf_config('eth1:5')
|
||||||
is_expected.to contain_tripleo__host__sriov__numvfs_persistence('persistent_numvfs').with(
|
is_expected.to contain_tripleo__host__sriov__numvfs_persistence('persistent_numvfs').with(
|
||||||
:vf_defs => ['eth0:4','eth1:5'],
|
:vf_defs => ['eth0:4','eth1:5'],
|
||||||
:content_string => "#!/bin/bash\n"
|
:content_string => "#!/bin/bash\n"
|
||||||
|
Loading…
Reference in New Issue
Block a user