diff --git a/xCAT-genesis-base/oe/meta-xcat-genesis/recipes-core/xcat-genesis-common/xcat-genesis-common_1.0.bb b/xCAT-genesis-base/oe/meta-xcat-genesis/recipes-core/xcat-genesis-common/xcat-genesis-common_1.0.bb new file mode 100644 index 000000000..a6d647a0d --- /dev/null +++ b/xCAT-genesis-base/oe/meta-xcat-genesis/recipes-core/xcat-genesis-common/xcat-genesis-common_1.0.bb @@ -0,0 +1,17 @@ +SUMMARY = "xCAT Genesis runtime functions" +LICENSE = "EPL-1.0" +LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/EPL-1.0;md5=57f8d5e2b3e98ac6e088986c12bf94e6" + +FILESEXTRAPATHS:prepend := "${THISDIR}/../xcat-genesis-init/files:" +SRC_URI = "file://genesis-functions" +S = "${UNPACKDIR}" + +RDEPENDS:${PN} = "bash util-linux-logger" + +do_install() { + install -d ${D}${libexecdir}/xcat + install -m 0644 ${UNPACKDIR}/genesis-functions \ + ${D}${libexecdir}/xcat/genesis-functions +} + +FILES:${PN} = "${libexecdir}/xcat/genesis-functions" diff --git a/xCAT-genesis-base/oe/meta-xcat-genesis/recipes-core/xcat-genesis-init/files/genesis-action b/xCAT-genesis-base/oe/meta-xcat-genesis/recipes-core/xcat-genesis-init/files/genesis-action index f82e6d3ee..64b5acf85 100755 --- a/xCAT-genesis-base/oe/meta-xcat-genesis/recipes-core/xcat-genesis-init/files/genesis-action +++ b/xCAT-genesis-base/oe/meta-xcat-genesis/recipes-core/xcat-genesis-init/files/genesis-action @@ -43,6 +43,7 @@ publish_status() { [[ -z $last_verified_seconds ]] \ || fields+=("VERIFIED_SECONDS=$last_verified_seconds") genesis_publish_status "$status_command" action xcat-genesis-action \ + 'unable to publish action status' \ "$state" "$detail" "${fields[@]}" "$@" } diff --git a/xCAT-genesis-base/oe/meta-xcat-genesis/recipes-core/xcat-genesis-init/files/genesis-functions b/xCAT-genesis-base/oe/meta-xcat-genesis/recipes-core/xcat-genesis-init/files/genesis-functions index e62db52d3..2c805202c 100644 --- a/xCAT-genesis-base/oe/meta-xcat-genesis/recipes-core/xcat-genesis-init/files/genesis-functions +++ b/xCAT-genesis-base/oe/meta-xcat-genesis/recipes-core/xcat-genesis-init/files/genesis-functions @@ -1,9 +1,9 @@ genesis_publish_status() { - local status_command=$1 component=$2 log_tag=$3 - shift 3 + local status_command=$1 component=$2 log_tag=$3 log_message=$4 + shift 4 "$status_command" "$component" "$@" \ - || logger -t "$log_tag" -- "unable to publish $component status" + || logger -t "$log_tag" -- "$log_message" } genesis_uptime_seconds() { diff --git a/xCAT-genesis-base/oe/meta-xcat-genesis/recipes-core/xcat-genesis-init/files/genesis-network-state b/xCAT-genesis-base/oe/meta-xcat-genesis/recipes-core/xcat-genesis-init/files/genesis-network-state index c9b342246..706213a0c 100644 --- a/xCAT-genesis-base/oe/meta-xcat-genesis/recipes-core/xcat-genesis-init/files/genesis-network-state +++ b/xCAT-genesis-base/oe/meta-xcat-genesis/recipes-core/xcat-genesis-init/files/genesis-network-state @@ -16,7 +16,7 @@ failure_recovery='Check the management network and boot parameters' publish_status() { genesis_publish_status "$status_command" network \ - xcat-genesis-network-state "$@" + xcat-genesis-network-state 'unable to publish network status' "$@" } finish_status() { diff --git a/xCAT-genesis-base/oe/meta-xcat-genesis/recipes-core/xcat-genesis-init/files/genesis-register b/xCAT-genesis-base/oe/meta-xcat-genesis/recipes-core/xcat-genesis-init/files/genesis-register index ec01820d7..831f27f97 100644 --- a/xCAT-genesis-base/oe/meta-xcat-genesis/recipes-core/xcat-genesis-init/files/genesis-register +++ b/xCAT-genesis-base/oe/meta-xcat-genesis/recipes-core/xcat-genesis-init/files/genesis-register @@ -27,7 +27,7 @@ declare -a cmdline_arguments publish_status() { genesis_publish_status "$status_command" registration \ - xcat-genesis-register "$@" + xcat-genesis-register 'unable to publish registration status' "$@" } finish_status() { diff --git a/xCAT-genesis-base/oe/meta-xcat-genesis/recipes-core/xcat-genesis-init/xcat-genesis-init_1.0.bb b/xCAT-genesis-base/oe/meta-xcat-genesis/recipes-core/xcat-genesis-init/xcat-genesis-init_1.0.bb index 29cdb1289..6848f9c69 100644 --- a/xCAT-genesis-base/oe/meta-xcat-genesis/recipes-core/xcat-genesis-init/xcat-genesis-init_1.0.bb +++ b/xCAT-genesis-base/oe/meta-xcat-genesis/recipes-core/xcat-genesis-init/xcat-genesis-init_1.0.bb @@ -3,7 +3,6 @@ LICENSE = "EPL-1.0" LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/EPL-1.0;md5=57f8d5e2b3e98ac6e088986c12bf94e6" SRC_URI = "file://00-xcat-genesis.preset \ - file://genesis-functions \ file://genesis-maintenance-shell \ file://genesis-action \ file://genesis-metrics \ @@ -21,7 +20,7 @@ S = "${UNPACKDIR}" inherit systemd -RDEPENDS:${PN} = "bash coreutils ipmitool iproute2 networkmanager-nmcli util-linux-logger xcat-genesis-discovery xcat-genesis-protocol" +RDEPENDS:${PN} = "bash coreutils ipmitool iproute2 networkmanager-nmcli util-linux-logger xcat-genesis-common xcat-genesis-discovery xcat-genesis-protocol" SYSTEMD_SERVICE:${PN} = "xcat-genesis-action.service \ xcat-genesis-metrics.service \ @@ -32,8 +31,6 @@ SYSTEMD_AUTO_ENABLE = "enable" do_install() { install -d ${D}${libexecdir}/xcat - install -m 0644 ${UNPACKDIR}/genesis-functions \ - ${D}${libexecdir}/xcat/genesis-functions install -m 0755 ${UNPACKDIR}/genesis-maintenance-shell \ ${D}${libexecdir}/xcat/genesis-maintenance-shell install -m 0755 ${UNPACKDIR}/genesis-action \ @@ -67,7 +64,6 @@ do_install() { } FILES:${PN} = "${libexecdir}/xcat/genesis-maintenance-shell \ - ${libexecdir}/xcat/genesis-functions \ ${libexecdir}/xcat/genesis-action \ ${libexecdir}/xcat/genesis-metrics \ ${libexecdir}/xcat/genesis-network-refresh \ diff --git a/xCAT-genesis-base/oe/meta-xcat-genesis/recipes-xcat/xcat-genesis-discovery/files/genesis-discover b/xCAT-genesis-base/oe/meta-xcat-genesis/recipes-xcat/xcat-genesis-discovery/files/genesis-discover index 392078604..cb0b4b3d4 100755 --- a/xCAT-genesis-base/oe/meta-xcat-genesis/recipes-xcat/xcat-genesis-discovery/files/genesis-discover +++ b/xCAT-genesis-base/oe/meta-xcat-genesis/recipes-xcat/xcat-genesis-discovery/files/genesis-discover @@ -1,6 +1,9 @@ #!/bin/bash set -euo pipefail +functions_file=${XCAT_GENESIS_FUNCTIONS:-/usr/libexec/xcat/genesis-functions} +source "$functions_file" + state_dir=${XCAT_STATE_DIR:-/run/xcat} status_command=${XCAT_STATUS_COMMAND:-/usr/libexec/xcat/genesis-status} network_file=${XCAT_NETWORK_FILE:-$state_dir/genesis.env} @@ -22,8 +25,8 @@ temporary_dir= [[ "$retry_seconds" =~ ^[0-9]+$ ]] || retry_seconds=5 publish_status() { - "$status_command" discovery "$@" \ - || logger -t xcat-genesis-discover -- 'unable to publish discovery status' + genesis_publish_status "$status_command" discovery \ + xcat-genesis-discover 'unable to publish discovery status' "$@" } # shellcheck disable=SC2317,SC2329 diff --git a/xCAT-genesis-base/oe/meta-xcat-genesis/recipes-xcat/xcat-genesis-discovery/files/genesis-getcert b/xCAT-genesis-base/oe/meta-xcat-genesis/recipes-xcat/xcat-genesis-discovery/files/genesis-getcert index a8f7d8cdc..787cddef6 100755 --- a/xCAT-genesis-base/oe/meta-xcat-genesis/recipes-xcat/xcat-genesis-discovery/files/genesis-getcert +++ b/xCAT-genesis-base/oe/meta-xcat-genesis/recipes-xcat/xcat-genesis-discovery/files/genesis-getcert @@ -1,6 +1,9 @@ #!/bin/bash set -euo pipefail +functions_file=${XCAT_GENESIS_FUNCTIONS:-/usr/libexec/xcat/genesis-functions} +source "$functions_file" + state_dir=${XCAT_STATE_DIR:-/run/xcat} status_command=${XCAT_STATUS_COMMAND:-/usr/libexec/xcat/genesis-status} network_file=${XCAT_NETWORK_FILE:-$state_dir/genesis.env} @@ -15,8 +18,8 @@ temporary_dir= [[ "$request_timeout" =~ ^[1-9][0-9]*$ ]] || request_timeout=20 publish_status() { - "$status_command" credentials "$@" \ - || logger -t xcat-genesis-getcert -- 'unable to publish credential status' + genesis_publish_status "$status_command" credentials \ + xcat-genesis-getcert 'unable to publish credential status' "$@" } # shellcheck disable=SC2329 diff --git a/xCAT-genesis-base/oe/meta-xcat-genesis/recipes-xcat/xcat-genesis-discovery/xcat-genesis-discovery_1.0.bb b/xCAT-genesis-base/oe/meta-xcat-genesis/recipes-xcat/xcat-genesis-discovery/xcat-genesis-discovery_1.0.bb index 47d307cec..5b4e31752 100644 --- a/xCAT-genesis-base/oe/meta-xcat-genesis/recipes-xcat/xcat-genesis-discovery/xcat-genesis-discovery_1.0.bb +++ b/xCAT-genesis-base/oe/meta-xcat-genesis/recipes-xcat/xcat-genesis-discovery/xcat-genesis-discovery_1.0.bb @@ -22,7 +22,7 @@ do_compile() { -o genesis-udp-send } -RDEPENDS:${PN} = "bash coreutils gzip iproute2 openssl-bin util-linux-logger util-linux-lsblk" +RDEPENDS:${PN} = "bash coreutils gzip iproute2 openssl-bin util-linux-logger util-linux-lsblk xcat-genesis-common" SYSTEMD_SERVICE:${PN} = "xcat-genesis-discovery.socket \ xcat-genesis-credential.socket \