puppet-tripleo/spec/defines/tripleo_host_sriov_numvfs_persistence_spec.rb
Brent Eagles 9a79bdab86 Call VF configuration from udev rules
When a physical function that was allocated to a guest is released back
the system, it is not automatically brought "up" and the VF
configuration is not restored. This patch creates a file containing some
udev rules to force the VF configuration.

Note: we may find that the ifup-local script is no longer required but
this will require further testing.

Change-Id: Ie6e78730aa0a748b3b5100ab7c7bc007d8ab176d
Partial-Bug: #1639901
2016-11-11 10:02:42 -03:30

50 lines
1.5 KiB
Ruby

require 'spec_helper'
describe 'tripleo::host::sriov::numvfs_persistence' do
describe 'confugure numvfs for persistence' do
let :title do
'numvfs'
end
let :params do
{
:name => 'persistence',
:vf_defs => ['eth0:10','eth1:8'],
:content_string => "Hashbang\n",
:udev_rules => ""
}
end
it 'configures persistence' do
is_expected.to contain_file('/etc/sysconfig/allocate_vfs').with(
:ensure => 'file',
:content => "Hashbang\n[ \"eth0\" == \"\$1\" ] && echo 10 > /sys/class/net/eth0/device/sriov_numvfs\n[ \"eth1\" == \"\$1\" ] && echo 8 > /sys/class/net/eth1/device/sriov_numvfs\n",
:group => 'root',
:mode => '0755',
:owner => 'root',
)
is_expected.to contain_file('/sbin/ifup-local').with(
:group => 'root',
:mode => '0755',
:owner => 'root',
:content => '#!/bin/bash',
:replace => false,
)
is_expected.to contain_file('/etc/udev/rules.d/70-tripleo-reset-sriov.rules').with(
:ensure => 'file',
:content => "KERNEL==\"eth0\", RUN+=\"/etc/sysconfig/allocate_vfs %k\"\nKERNEL==\"eth1\", RUN+=\"/etc/sysconfig/allocate_vfs %k\"\n",
:group => 'root',
:mode => '0755',
:owner => 'root',
:replace => true
)
is_expected.to contain_file_line('call_ifup-local').with(
:path => '/sbin/ifup-local',
:line => '/etc/sysconfig/allocate_vfs $1',
)
end
end
end