From 94a9e3966e1147109526a963eeba0210b6b78a03 Mon Sep 17 00:00:00 2001 From: Saravanan KR Date: Tue, 26 Jul 2016 21:26:33 +0530 Subject: [PATCH] Add DPDK driver modprobe for loading modules on reboot driverctl will be used to bind the pci with the DPDK driver, but the DPDK driver modules has to be loaded for it. Adding sysconfig modules files to load driver module on reboot. Implements: blueprint tripleo-ovs-dpdk Depends-On: I79308ac5949a47a707d42bb2566407b9e8adfb9c Change-Id: I46331a882eca97d8b2ea0229ff768ce629971a6d --- manifests/dpdk.pp | 2 ++ metadata.json | 4 +++- releasenotes/notes/dpdk-module-678cecf0f8ff78a5.yaml | 3 +++ spec/classes/vswitch_dpdk_spec.rb | 8 ++++++++ 4 files changed, 16 insertions(+), 1 deletion(-) create mode 100644 releasenotes/notes/dpdk-module-678cecf0f8ff78a5.yaml diff --git a/manifests/dpdk.pp b/manifests/dpdk.pp index 713403a0..41a769bb 100644 --- a/manifests/dpdk.pp +++ b/manifests/dpdk.pp @@ -35,6 +35,8 @@ class vswitch::dpdk ( include ::vswitch::params + kmod::load { 'vfio-pci': } + package { $::vswitch::params::ovs_dpdk_package_name: ensure => $package_ensure, before => Service['openvswitch'], diff --git a/metadata.json b/metadata.json index f9e1fea3..396c0ffd 100644 --- a/metadata.json +++ b/metadata.json @@ -41,5 +41,7 @@ { "name": "pe","version_requirement": "3.x" }, { "name": "puppet","version_requirement": "3.x" } ], - "dependencies": [] + "dependencies": [ + { "name": "camptocamp/puppet-kmod" } + ] } diff --git a/releasenotes/notes/dpdk-module-678cecf0f8ff78a5.yaml b/releasenotes/notes/dpdk-module-678cecf0f8ff78a5.yaml new file mode 100644 index 00000000..69f6be61 --- /dev/null +++ b/releasenotes/notes/dpdk-module-678cecf0f8ff78a5.yaml @@ -0,0 +1,3 @@ +--- +features: + - DPDK driver kernel module is loaded persistently. diff --git a/spec/classes/vswitch_dpdk_spec.rb b/spec/classes/vswitch_dpdk_spec.rb index 248fbf2e..0f933f0f 100644 --- a/spec/classes/vswitch_dpdk_spec.rb +++ b/spec/classes/vswitch_dpdk_spec.rb @@ -82,6 +82,13 @@ describe 'vswitch::dpdk' do end end + shared_examples_for 'vswitch dpdk for modprobe' do + it 'should have dpdk driver modules file' do + is_expected.to contain_kmod__load('vfio-pci') + end + end + + context 'on redhat with only mandatory parameters' do let :params do default_params end @@ -113,6 +120,7 @@ describe 'vswitch::dpdk' do it_configures 'vswitch dpdk' it_configures 'vswitch dpdk additional params' + it_configures 'vswitch dpdk for modprobe' end end \ No newline at end of file