From 802f14862cf46553c5ca5ce08d6ac8731aa01188 Mon Sep 17 00:00:00 2001 From: Joey D Date: Wed, 16 Dec 2015 20:05:29 -0600 Subject: [PATCH] Fix discoverd bug when dmidecode reports GB This fix uses dmidecode and awk to simply multiply by 1024 when the value is represented in GB, otherwise it returns the given value. I should note that I've only observered this occurence on "some" SuperMicro Hardware Closes-Bug: #1486689 Change-Id: I352b1891326f72af3a56c7bbe8b7f3c422169404 --- .../ironic-discoverd-ramdisk/init.d/80-ironic-discoverd-ramdisk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/elements/ironic-discoverd-ramdisk/init.d/80-ironic-discoverd-ramdisk b/elements/ironic-discoverd-ramdisk/init.d/80-ironic-discoverd-ramdisk index 2e98d181..ab9bca3d 100644 --- a/elements/ironic-discoverd-ramdisk/init.d/80-ironic-discoverd-ramdisk +++ b/elements/ironic-discoverd-ramdisk/init.d/80-ironic-discoverd-ramdisk @@ -44,7 +44,7 @@ CPU_ARCH=$(lscpu | grep Architecture | awk '{ print $2 }') update ".cpu_arch = \"$CPU_ARCH\"" RAM=0 -for i in $(dmidecode --type memory | grep Size | awk '{ print $2; }' | grep -E '[0-9]+'); +for i in $(dmidecode --type memory | awk '($0~/Size/ && $2~/[0-9]/) {($3~/GB/) ? size=$2*1024 : size=$2; {print size;}}') do RAM=$(( RAM + $i )); done