summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexandru Avadanii <Alexandru.Avadanii@enea.com>2016-07-07 14:03:20 +0200
committerAlexandru Avadanii <Alexandru.Avadanii@enea.com>2016-07-07 14:08:29 +0200
commit3663b059c85cfa4961120731d76a6bef188f32be (patch)
treebb34b89421a7470bb8f2eaf95ac8da15f422ea92
parentf25c5d960c3daf5dd78a492c125821d7e597c017 (diff)
Temporary: HACK: SR-IOV: Fix VNIC filtering.
FIXME: Revert this when upstream Fuel 9.1 closes bug [1]. [1] https://bugs.launchpad.net/fuel/+bug/1597775 Change-Id: I692b0ef63ee3e035deadef9d4e47b43f4c53e4aa Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
-rw-r--r--patches/fuel-nailgun-agent/0002-Temporary-SR-IOV-Fix-VNICs-broken-filter.patch35
1 files changed, 35 insertions, 0 deletions
diff --git a/patches/fuel-nailgun-agent/0002-Temporary-SR-IOV-Fix-VNICs-broken-filter.patch b/patches/fuel-nailgun-agent/0002-Temporary-SR-IOV-Fix-VNICs-broken-filter.patch
new file mode 100644
index 00000000..a3cb1ea5
--- /dev/null
+++ b/patches/fuel-nailgun-agent/0002-Temporary-SR-IOV-Fix-VNICs-broken-filter.patch
@@ -0,0 +1,35 @@
+From: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
+Date: Thu, 7 Jul 2016 13:58:34 +0200
+Subject: [PATCH] Temporary: SR-IOV: Fix VNICs broken filter.
+
+Some blades have VNICs (VFs on a PCI device), which are not
+SR-IOV VFs.
+
+Bug report: "VNICs ignored due to SR-IOV filtering" [1]
+
+HACK: Instead of checking for "physfn", we now rely on testing
+for "sriov_totalvfs" file to determine whether current eth is
+a SR-IOV VF or something else (thus keeping VNICs).
+
+FIXME: Revert this patch once upstream closes bug [1].
+
+[1] https://bugs.launchpad.net/fuel/+bug/1597775
+
+Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
+---
+ agent | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/agent b/agent
+index 89ab60f..eb2bfb4 100755
+--- a/agent
++++ b/agent
+@@ -406,7 +406,7 @@ class NodeAgent
+ next if File.exist?("/sys/class/net/#{int}/phy80211") ||
+ File.exist?("/sys/class/net/#{int}/wireless")
+ # Skip virtual functions
+- next if File.exists?("/sys/class/net/#{int}/device/physfn")
++ next if File.exists?("/sys/class/net/#{int}/device/sriov_totalvfs")
+ int_meta = {:name => int}
+ int_meta[:interface_properties] = {}
+ int_meta[:state] = intinfo[:state]