From 240d0107754f71cd06e00babb0a58b245603e782 Mon Sep 17 00:00:00 2001 From: "Andrey V.Kosteltsev" Date: Sat, 11 Jun 2022 11:37:29 +0300 Subject: WEBUI: Trim serialNumber and assetTag for global store; set-asset-tag utility --- .../firmware-watchdog/firmware-watchdog.bb | 2 ++ .../firmware-watchdog/set-asset-tag | 32 ++++++++++++++++++ .../firmware-watchdog/virtual-asset-tag | 13 ++++---- ...lobalStore-Trim-assetTag-and-serialNumber.patch | 38 ++++++++++++++++++++++ .../recipes-phosphor/webui/webui-vue_%.bbappend | 1 + 5 files changed, 80 insertions(+), 6 deletions(-) create mode 100644 meta-ibs/meta-common/recipes-ibs/firmware-watchdog/firmware-watchdog/set-asset-tag create mode 100644 meta-ibs/meta-cp2-5422/recipes-phosphor/webui/webui-vue/0003-GlobalStore-Trim-assetTag-and-serialNumber.patch diff --git a/meta-ibs/meta-common/recipes-ibs/firmware-watchdog/firmware-watchdog.bb b/meta-ibs/meta-common/recipes-ibs/firmware-watchdog/firmware-watchdog.bb index 330508956b..0a45caea9a 100644 --- a/meta-ibs/meta-common/recipes-ibs/firmware-watchdog/firmware-watchdog.bb +++ b/meta-ibs/meta-common/recipes-ibs/firmware-watchdog/firmware-watchdog.bb @@ -21,11 +21,13 @@ SRC_URI += "file://firmware-watchdog \ file://logrotate \ file://post-install \ file://post-upgrade \ + file://set-asset-tag \ file://virtual-asset-tag \ " do_install:append(){ install -d ${D}${bindir} + install -m 0755 ${WORKDIR}/set-asset-tag ${D}${bindir} install -m 0755 ${WORKDIR}/virtual-asset-tag ${D}${bindir} install -d ${D}${sbindir} diff --git a/meta-ibs/meta-common/recipes-ibs/firmware-watchdog/firmware-watchdog/set-asset-tag b/meta-ibs/meta-common/recipes-ibs/firmware-watchdog/firmware-watchdog/set-asset-tag new file mode 100644 index 0000000000..7e7d96d130 --- /dev/null +++ b/meta-ibs/meta-common/recipes-ibs/firmware-watchdog/firmware-watchdog/set-asset-tag @@ -0,0 +1,32 @@ +#!/bin/bash +# +# Set AssetTag: +# ============ +# + +model="CP2.*" +interface=xyz.openbmc_project.FruDevice +asset_tag_var=PRODUCT_ASSET_TAG + +tag="${1}" + +if [ "x${tag}" = "x" ] ; then + tag="...................." +fi + +# exactly 20 chars: +# ---------------- +asset_tag=$(printf "'%*s'" 20 "${tag}") +asset_tag=$(echo "${asset_tag}" | sed 's, ,\.,g') + +run_cmd() { + local cmd="${*}" + eval $cmd +} + +get_model_path() { + local path=$(/usr/bin/busctl tree ${interface} | grep "/FruDevice/${model}" | sed 's,^[ \t`-]*,,' | sed 's,[ \t]*$,,') + echo "${path}" +} + +run_cmd /usr/bin/busctl set-property ${interface} $(get_model_path) ${interface} ${asset_tag_var} s "${asset_tag}" diff --git a/meta-ibs/meta-common/recipes-ibs/firmware-watchdog/firmware-watchdog/virtual-asset-tag b/meta-ibs/meta-common/recipes-ibs/firmware-watchdog/firmware-watchdog/virtual-asset-tag index 3df85785ce..a911e551c1 100644 --- a/meta-ibs/meta-common/recipes-ibs/firmware-watchdog/firmware-watchdog/virtual-asset-tag +++ b/meta-ibs/meta-common/recipes-ibs/firmware-watchdog/firmware-watchdog/virtual-asset-tag @@ -8,10 +8,11 @@ spi_flash_model="mx25l25635e" interface=xyz.openbmc_project.FruDevice asset_tag_var=PRODUCT_ASSET_TAG -# no more than 20 chars: -# --------------------- -asset_tag_vm='"Virtual BMC"' -asset_tag_hw='"BMC"' +# exactly 20 chars: +# ---------------- +asset_tag_vm=$(printf "'%*s'" 20 ".........Virtual.BMC") +asset_tag_hw=$(printf "'%*s'" 20 ".................BMC") + run_cmd() { local cmd="${*}"; @@ -29,9 +30,9 @@ get_asset_tag() { } if `dmesg | grep -q "aspeed-smc 1e620000.spi: ${spi_flash_model}"` ; then - run_cmd /usr/bin/busctl set-property ${interface} $(get_model_path) ${interface} ${asset_tag_var} s ${asset_tag_vm} + run_cmd /usr/bin/busctl set-property ${interface} $(get_model_path) ${interface} ${asset_tag_var} s "${asset_tag_vm}" else if [ "$(get_asset_tag)" = "...................." ] ; then - run_cmd /usr/bin/busctl set-property ${interface} $(get_model_path) ${interface} ${asset_tag_var} s ${asset_tag_hw} + run_cmd /usr/bin/busctl set-property ${interface} $(get_model_path) ${interface} ${asset_tag_var} s "${asset_tag_hw}" fi fi diff --git a/meta-ibs/meta-cp2-5422/recipes-phosphor/webui/webui-vue/0003-GlobalStore-Trim-assetTag-and-serialNumber.patch b/meta-ibs/meta-cp2-5422/recipes-phosphor/webui/webui-vue/0003-GlobalStore-Trim-assetTag-and-serialNumber.patch new file mode 100644 index 0000000000..59ff3c8976 --- /dev/null +++ b/meta-ibs/meta-cp2-5422/recipes-phosphor/webui/webui-vue/0003-GlobalStore-Trim-assetTag-and-serialNumber.patch @@ -0,0 +1,38 @@ +From f52609d851d02a55f2791d7faf822672bcaf445d Mon Sep 17 00:00:00 2001 +From: "Andrey V.Kosteltsev" +Date: Sat, 11 Jun 2022 11:19:26 +0300 +Subject: [PATCH] GlobalStore: Trim assetTag and serialNumber + +--- + src/store/modules/GlobalStore.js | 15 +++++++++++++-- + 1 file changed, 13 insertions(+), 2 deletions(-) + +diff --git a/src/store/modules/GlobalStore.js b/src/store/modules/GlobalStore.js +index 95d7a083..49283b03 100644 +--- a/src/store/modules/GlobalStore.js ++++ b/src/store/modules/GlobalStore.js +@@ -95,8 +95,19 @@ const GlobalStore = { + Status: { State } = {}, + }, + } = {}) => { +- commit('setAssetTag', AssetTag); +- commit('setSerialNumber', SerialNumber); ++ /* ++ Trim AssetTag and SerialNumber ++ */ ++ var s, tag, srn; ++ ++ s = AssetTag; ++ tag = s.replace(/\./g, ' ').trim(); ++ ++ s = SerialNumber; ++ srn = s.replace(/\./g, ' ').trim(); ++ ++ commit('setAssetTag', tag); ++ commit('setSerialNumber', srn); + commit('setModelType', Model); + if (State === 'Quiesced' || State === 'InTest') { + // OpenBMC's host state interface is mapped to 2 Redfish +-- +2.35.1 + diff --git a/meta-ibs/meta-cp2-5422/recipes-phosphor/webui/webui-vue_%.bbappend b/meta-ibs/meta-cp2-5422/recipes-phosphor/webui/webui-vue_%.bbappend index 69535f4f71..b8cbdbd151 100644 --- a/meta-ibs/meta-cp2-5422/recipes-phosphor/webui/webui-vue_%.bbappend +++ b/meta-ibs/meta-cp2-5422/recipes-phosphor/webui/webui-vue_%.bbappend @@ -17,6 +17,7 @@ SRC_URI += "\ file://logo-header.svg \ file://0001-Set-login-brand.patch \ file://0002-Login-languages-list.patch \ + file://0003-GlobalStore-Trim-assetTag-and-serialNumber.patch \ " do_update_logo () { -- cgit v1.2.3