aboutsummaryrefslogtreecommitdiffstats
path: root/patches/fuel-nailgun-agent
diff options
context:
space:
mode:
Diffstat (limited to 'patches/fuel-nailgun-agent')
-rw-r--r--patches/fuel-nailgun-agent/0001-ohai-Support-reading-L1-info-from-ethtool.patch73
-rw-r--r--patches/fuel-nailgun-agent/0002-Temporary-SR-IOV-Fix-VNICs-broken-filter.patch43
-rw-r--r--patches/fuel-nailgun-agent/0003-AArch64-Add-CPU-details-detection.patch138
-rw-r--r--patches/fuel-nailgun-agent/0004-AArch64-Read-hugepage-size-from-proc-meminfo.patch38
4 files changed, 0 insertions, 292 deletions
diff --git a/patches/fuel-nailgun-agent/0001-ohai-Support-reading-L1-info-from-ethtool.patch b/patches/fuel-nailgun-agent/0001-ohai-Support-reading-L1-info-from-ethtool.patch
deleted file mode 100644
index 7067a977..00000000
--- a/patches/fuel-nailgun-agent/0001-ohai-Support-reading-L1-info-from-ethtool.patch
+++ /dev/null
@@ -1,73 +0,0 @@
-::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
-: Copyright (c) 2017 Enea AB and others.
-:
-: All rights reserved. This program and the accompanying materials
-: are made available under the terms of the Apache License, Version 2.0
-: which accompanies this distribution, and is available at
-: http://www.apache.org/licenses/LICENSE-2.0
-::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
-From: Enea Armband Devops Team <armband@enea.com>
-Date: Sat, 2 Apr 2016 22:57:59 +0200
-Subject: [PATCH] ohai: Support reading L1 info from ethtool.
-
-Traditional methods of reading the ethernet card speed rely on the
-drivers populating the advertised and/or supported link speed lists.
-
-This is not true for all drivers, especially for some Fibers
-that only report the speed via ethtool when the link is up.
-
-This patch adds support for reading L1 info from ohai, which
-supports parsing ethtool speed starting with version amos2 [1].
-
-[1] https://linux.enea.com/mos-repos/ubuntu/8.0/pool/main/o/
- ohai/ohai_6.14.0-2~u14.04+mos1+mos8.0+amos2_all.deb
----
- ...ohai-Support-reading-L1-info-from-ethtool.patch | 30 ++++++++++++++++++++++
- debian/patches/series | 1 +
- 2 files changed, 31 insertions(+)
- create mode 100644 debian/patches/0001-ohai-Support-reading-L1-info-from-ethtool.patch
- create mode 100644 debian/patches/series
-
-diff --git a/debian/patches/0001-ohai-Support-reading-L1-info-from-ethtool.patch b/debian/patches/0001-ohai-Support-reading-L1-info-from-ethtool.patch
-new file mode 100644
-index 0000000..8ae8c49
---- /dev/null
-+++ b/debian/patches/0001-ohai-Support-reading-L1-info-from-ethtool.patch
-@@ -0,0 +1,30 @@
-+From: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
-+Date: Sat, 2 Apr 2016 22:54:27 +0200
-+Subject: [PATCH] ohai: Support reading L1 info from ethtool.
-+
-+Upstream ohai [1] introduces support for reading layer one information
-+from ethtool. Allow nailgun-agent to use that info if present.
-+
-+[1] https://github.com/chef/ohai/commit/
-+ afd42e9122f057ab00dd24357c28dc2ad6806434
-+---
-+ agent | 6 +++++-
-+ 1 file changed, 5 insertions(+), 1 deletion(-)
-+
-+diff --git a/agent b/agent
-+index c764a68..978131f 100755
-+--- a/agent
-++++ b/agent
-+@@ -316,7 +316,11 @@ class NodeAgent
-+ int_meta[:current_speed] = int_info.current_mode.speed
-+ end
-+ rescue
-+- int_meta[:current_speed] = nil
-++ if intinfo.has_key?(:link_speed) && 0 < intinfo[:link_speed]
-++ int_meta[:current_speed] = intinfo[:link_speed]
-++ else
-++ int_meta[:current_speed] = nil
-++ end
-+ end
-+ elsif (addrinfo[:family] rescue nil) =~ /^inet$/
-+ int_meta[:ip] = addr
-diff --git a/debian/patches/series b/debian/patches/series
-new file mode 100644
-index 0000000..b221a98
---- /dev/null
-+++ b/debian/patches/series
-@@ -0,0 +1 @@
-+0001-ohai-Support-reading-L1-info-from-ethtool.patch
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
deleted file mode 100644
index e2ab3f61..00000000
--- a/patches/fuel-nailgun-agent/0002-Temporary-SR-IOV-Fix-VNICs-broken-filter.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
-: Copyright (c) 2017 Enea AB and others.
-:
-: All rights reserved. This program and the accompanying materials
-: are made available under the terms of the Apache License, Version 2.0
-: which accompanies this distribution, and is available at
-: http://www.apache.org/licenses/LICENSE-2.0
-::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
-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 "physfn/net" subdir 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/physfn/net")
- int_meta = {:name => int}
- int_meta[:interface_properties] = {}
- int_meta[:state] = intinfo[:state]
diff --git a/patches/fuel-nailgun-agent/0003-AArch64-Add-CPU-details-detection.patch b/patches/fuel-nailgun-agent/0003-AArch64-Add-CPU-details-detection.patch
deleted file mode 100644
index 0463023f..00000000
--- a/patches/fuel-nailgun-agent/0003-AArch64-Add-CPU-details-detection.patch
+++ /dev/null
@@ -1,138 +0,0 @@
-::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
-: Copyright (c) 2017 Enea AB, Cavium and others.
-:
-: All rights reserved. This program and the accompanying materials
-: are made available under the terms of the Apache License, Version 2.0
-: which accompanies this distribution, and is available at
-: http://www.apache.org/licenses/LICENSE-2.0
-::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
-From: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
-Date: Sun, 15 Jan 2017 08:09:10 +0100
-Subject: [PATCH] AArch64: Add CPU details detection
-
-[ Alexandru Avadanii ]
-Based on Stan's previous patch for ohai, extend fuel-nailgun-agent
-to properly support AArch64 CPUs.
-
-[ Stanislaw Kardach ]
-There is currently little human readable detail in /proc/cpuinfo on
-arm64 so this patch tries to enchance this information by parsing the
-DMI data (using `dmidecode`) and fail gracefully to empty strings
-if no information could not be read from there. By no means this
-parsing is to be taken as a standardised way of discovering an
-arm64 CPU, it is just a suggestion.
-
-Signed-off-by: Stanislaw Kardach <stanislaw.kardach@cavium.com>
-Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
----
- agent | 90 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 90 insertions(+)
-
-diff --git a/agent b/agent
-index 0c56264..eeb4d26 100755
---- a/agent
-+++ b/agent
-@@ -340,6 +340,15 @@ class NodeAgent
- end
-
- def _get_detailed_cpuinfo
-+ case `uname -m`
-+ when /aarch64.*/
-+ _get_detailed_cpuinfo_for_arm64
-+ else # default to x86
-+ _get_detailed_cpuinfo_for_x86
-+ end
-+ end
-+
-+ def _get_detailed_cpuinfo_for_x86
- real = {}
- info = {}
- info[:total] = 0
-@@ -371,6 +380,87 @@ class NodeAgent
- info
- end
-
-+ def _get_detailed_cpuinfo_for_arm64
-+ cpu_implementers = {
-+ "0x41" => "ARM",
-+ "0x53" => "Samsung",
-+ "0x51" => "Qualcom",
-+ "0x43" => "Cavium",
-+ "0x50" => "APM"
-+ }
-+ core_models = {
-+ "0xd04" => "cortex-a35",
-+ "0xd03" => "cortex-a53",
-+ "0xd07" => "cortex-a57",
-+ "0xd08" => "cortex-a72",
-+ "0x001" => "exynos-m1",
-+ "0x800" => "qdf24xx",
-+ "0x0a1" => "thunderx",
-+ "0x000" => "xgene1",
-+ "0xd07.0xd03" => "cortex-a57.cortex-a53",
-+ "0xd08.0xd03" => "cortex-a72.cortex-a53"
-+ }
-+ cpuinfo = {}
-+ real_cpus = {}
-+ cpu_number = -1
-+ current_cpu = nil
-+ `dmidecode -t 4 -q`.each_line do |line|
-+ case line
-+ when /Processor Information/
-+ cpu_number +=1
-+ real_cpus[cpu_number] = {}
-+ when /\s*Manufacturer:\s(.+)/
-+ real_cpus[cpu_number][:vendor_id] = $1
-+ when /\s*Family:\s(.+)/
-+ real_cpus[cpu_number][:family] = $1
-+ when /\s*Max Speed:\s(.+)\s*MHz/
-+ real_cpus[cpu_number][:mhz] = $1.strip
-+ when /\s*Core Enabled:\s(.+)/
-+ real_cpus[cpu_number][:cores] = $1
-+ end
-+ end
-+
-+ cpu_number = 0
-+ File.open("/proc/cpuinfo").each do |line|
-+ case line
-+ when /processor\s+:\s(.+)/
-+ cpuinfo[$1] = {}
-+ current_cpu = $1
-+ cpu_number += 1
-+ phys_id = File.read(
-+ "/sys/devices/system/cpu/cpu%d/topology/physical_package_id" %
-+ $1).strip
-+ i = phys_id.to_i
-+ cpuinfo[$1][:core_id] =
-+ File.read("/sys/devices/system/cpu/cpu%d/topology/core_id" %
-+ $1).strip rescue ""
-+ cpuinfo[$1][:physical_id] = phys_id if not phys_id.empty?
-+ if real_cpus[i].nil?
-+ i = 0
-+ end
-+ if not real_cpus[i].nil?
-+ cpuinfo[$1][:family] = real_cpus[i][:family] rescue ""
-+ cpuinfo[$1][:cores] = real_cpus[i][:cores] rescue ""
-+ cpuinfo[$1][:mhz] = real_cpus[i][:mhz] rescue ""
-+ end
-+ when /CPU implementer\s+:\s(.+)/
-+ cpuinfo[current_cpu][:vendor_id] = cpu_implementers[$1]
-+ cpuinfo[current_cpu][:vendor_id] ||= real_cpus[cpuinfo[current_cpu][:physical_id].to_i][:vendor_id] rescue nil
-+ cpuinfo[current_cpu][:vendor_id] ||= real_cpus[0][:vendor_id] rescue nil
-+ cpuinfo[current_cpu][:vendor_id] ||= $1
-+ when /CPU part\s+:\s(.+)/
-+ cpuinfo[current_cpu][:model] = $1
-+ cpuinfo[current_cpu][:model_name] = core_models[$1]
-+ cpuinfo[current_cpu][:model_name] ||= ""
-+ when /Features\s+:\s(.+)/
-+ cpuinfo[current_cpu][:flags] = $1.split(' ')
-+ end
-+ end
-+ cpuinfo[:total] = cpu_number
-+ cpuinfo[:real] = real_cpus.keys.length
-+ cpuinfo
-+ end
-+
- def _get_blkdev_info
- info = {}
- if File.directory?('/sys/block/')
diff --git a/patches/fuel-nailgun-agent/0004-AArch64-Read-hugepage-size-from-proc-meminfo.patch b/patches/fuel-nailgun-agent/0004-AArch64-Read-hugepage-size-from-proc-meminfo.patch
deleted file mode 100644
index 384dafca..00000000
--- a/patches/fuel-nailgun-agent/0004-AArch64-Read-hugepage-size-from-proc-meminfo.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
-: Copyright (c) 2017 Enea AB and others.
-:
-: All rights reserved. This program and the accompanying materials
-: are made available under the terms of the Apache License, Version 2.0
-: which accompanies this distribution, and is available at
-: http://www.apache.org/licenses/LICENSE-2.0
-::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
-From: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
-Date: Sun, 15 Jan 2017 08:14:12 +0100
-Subject: [PATCH] AArch64: Read hugepage size from /proc/meminfo
-
-This method should be arch-indepedent, provided /proc/meminfo
-reports the correct information.
-
-Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
----
- agent | 7 +++++++
- 1 file changed, 7 insertions(+)
-
-diff --git a/agent b/agent
-index eeb4d26..d514de6 100755
---- a/agent
-+++ b/agent
-@@ -1399,6 +1399,13 @@ class NodeAgent
- def supported_hugepages
- return [2048, 1048576] if _get_detailed_cpuinfo['0'][:flags].include?('pdpe1gb')
- return [2048] if _get_detailed_cpuinfo['0'][:flags].include?('pse')
-+ # AArch64 does not expose CPU flags, but we can rely on /proc/meminfo
-+ File.open('/proc/meminfo').each do |l|
-+ case l.strip
-+ when /Hugepagesize:\s+(\d+)\s+kB/
-+ return [$1.to_i()]
-+ end
-+ end
- []
- end
-