meta-quanta: gbs: populated the JSON according to the installed drives
Add the @nvmeList@ template and dynamically detect for which
drives we should have and populated the JSON accordingly
Signed-off-by: George Hung <george.hung@quantatw.com>
Change-Id: Id0f6cefe80ae72dc8d3601d0a03dd1039341175c
diff --git a/meta-quanta/meta-gbs/recipes-quanta/fans/read-margin-temp/config-margin.json.in b/meta-quanta/meta-gbs/recipes-quanta/fans/read-margin-temp/config-margin.json.in
index f152db9..a5ff497 100644
--- a/meta-quanta/meta-gbs/recipes-quanta/fans/read-margin-temp/config-margin.json.in
+++ b/meta-quanta/meta-gbs/recipes-quanta/fans/read-margin-temp/config-margin.json.in
@@ -391,22 +391,7 @@
"zoneSetpoint": 10000,
"target": "/xyz/openbmc_project/extsensors/margin/nvme",
"components": [
- "nvme0",
- "nvme1",
- "nvme2",
- "nvme3",
- "nvme4",
- "nvme5",
- "nvme6",
- "nvme7",
- "nvme8",
- "nvme9",
- "nvme10",
- "nvme11",
- "nvme12",
- "nvme13",
- "nvme14",
- "nvme15"
+ @nvmeList@
]
},
{
diff --git a/meta-quanta/meta-gbs/recipes-quanta/fans/read-margin-temp/read-margin-temp-wait.sh b/meta-quanta/meta-gbs/recipes-quanta/fans/read-margin-temp/read-margin-temp-wait.sh
index 23742a6..992e40a 100644
--- a/meta-quanta/meta-gbs/recipes-quanta/fans/read-margin-temp/read-margin-temp-wait.sh
+++ b/meta-quanta/meta-gbs/recipes-quanta/fans/read-margin-temp/read-margin-temp-wait.sh
@@ -15,29 +15,37 @@
nvmePath="/xyz/openbmc_project/sensors/temperature/nvme"
nvmeInventoryPath="/xyz/openbmc_project/inventory/system/chassis/motherboard/nvme"
+nvmeList=""
# Get and Set WCTEMP
for ((i = 0; i < 16; i++)); do
name="@WCTemp$(printf "%02d" $i)@"
wcTemp=72000
- presentState=$(busctl get-property \
+ presentState="$(busctl get-property \
xyz.openbmc_project.Inventory.Manager \
${nvmeInventoryPath}${i} \
xyz.openbmc_project.Inventory.Item \
- Present | awk '{print $2}')
+ Present | awk '{print $2}')"
- if [[ $presentState == "true" ]]; then
- wcTemp=$(
+ if [[ "$presentState" == "true" ]]; then
+ wcTemp="$(
busctl get-property xyz.openbmc_project.nvme.manager \
${nvmePath}${i} \
xyz.openbmc_project.Sensor.Threshold.Critical \
CriticalHigh | awk '{print $2}'
- )
- wcTemp=$((wcTemp * 1000))
+ )"
+ wcTemp="$((wcTemp * 1000))"
+ if [[ -z "$nvmeList" ]]; then
+ nvmeList="\"nvme"${i}"\""
+ else
+ nvmeList="${nvmeList}"", \"nvme"${i}"\""
+ fi
fi
- sed -i "s/$name/${wcTemp}/g" $TEMP_FILE
+ sed -i "s/$name/${wcTemp}/g" "$TEMP_FILE"
done
+sed -i "s/@nvmeList@/${nvmeList}/g" "$TEMP_FILE"
+
# Use shell parameter expansion to trim the ".in" suffix
mv "$TEMP_FILE" "${MARGIN_TABLE_FILE_IN%".in"}"