re-import sources as agreed with the maintainer
This commit is contained in:
parent
824ab21044
commit
90d168970c
12
.gitignore
vendored
12
.gitignore
vendored
@ -1,2 +1,12 @@
|
|||||||
SOURCES/ipmitool-1.8.18.tar.bz2
|
ipmitool-1.8.11.tar.bz2
|
||||||
|
/ipmitool-1.8.12.tar.bz2
|
||||||
|
/exchange-bmc-os-info
|
||||||
|
/exchange-bmc-os-info.service
|
||||||
|
/exchange-bmc-os-info.sysconf
|
||||||
|
/set-bmc-url.sh
|
||||||
|
/ipmitool-1.8.12-130731.tar.bz2
|
||||||
|
/ipmitool-1.8.13.tar.bz2
|
||||||
|
/ipmitool-1.8.15.tar.bz2
|
||||||
|
/ipmitool-1.8.16.tar.bz2
|
||||||
|
/ipmitool-1.8.17.tar.bz2
|
||||||
/ipmitool-1.8.18.tar.bz2
|
/ipmitool-1.8.18.tar.bz2
|
||||||
|
4759
cxoem-jb-cx6.patch
Normal file
4759
cxoem-jb-cx6.patch
Normal file
File diff suppressed because it is too large
Load Diff
@ -1,326 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
#############################################################################
|
|
||||||
#
|
|
||||||
# exchange-bmc-os-info: Set OS and BMC (Baseboard Management Controller)
|
|
||||||
# parameters during system startup.
|
|
||||||
#
|
|
||||||
# version: 0.72
|
|
||||||
#
|
|
||||||
# Authors: Charles Rose <charles_rose@dell.com>
|
|
||||||
# Jordan Hargrave <jordan_hargrave@dell.com>
|
|
||||||
#
|
|
||||||
# Description: Script to set OS information in the BMC; fetch BMC IP/URL
|
|
||||||
# and set in the OS for use by other scripts/user.
|
|
||||||
#
|
|
||||||
# BMC IP and URL are made available in /var/run/bmc-info
|
|
||||||
#
|
|
||||||
# Example to launch BMC web-interface:
|
|
||||||
# # . /var/run/bmc-info
|
|
||||||
# # xdg-open $BMC_URL
|
|
||||||
#
|
|
||||||
# See here for details:
|
|
||||||
# https://fedoraproject.org/wiki/Features/AgentFreeManagement
|
|
||||||
#
|
|
||||||
# OEM Specific: OEM specific ipmi commands go in:
|
|
||||||
# 'oem_set_os_version' and 'oem_get_bmc_url'
|
|
||||||
#############################################################################
|
|
||||||
#
|
|
||||||
# chkconfig: 345 99 00
|
|
||||||
# description: Set OS name, hostname in BMC; make BMC IP/URL available in OS
|
|
||||||
# processname: exchange-bmc-os-info
|
|
||||||
# config: /etc/sysconfig/exchange-bmc-os-info
|
|
||||||
#
|
|
||||||
### BEGIN INIT INFO
|
|
||||||
# Provides: exchange-bmc-os-info
|
|
||||||
# Required-Start: ipmi
|
|
||||||
# Default-Start: 3 4 5
|
|
||||||
# Default-Stop: 0 1 2 6
|
|
||||||
|
|
||||||
|
|
||||||
#############################################################################
|
|
||||||
# GLOBALS
|
|
||||||
#############################################################################
|
|
||||||
CONFIGFILE=/etc/sysconfig/exchange-bmc-os-info
|
|
||||||
IPMI_TOOL=/usr/bin/ipmitool
|
|
||||||
BMC_INFO=/var/run/bmc-info
|
|
||||||
|
|
||||||
# BMC Manufacturer ID used in 'oem_set_os_version' and 'oem_get_bmc_url'
|
|
||||||
DELL="674"
|
|
||||||
#OTHER_OEM="123"
|
|
||||||
|
|
||||||
# Defaults for ${CONFIGFILE}
|
|
||||||
SET_OS_INFO="yes"
|
|
||||||
RESET_OS_INFO="no"
|
|
||||||
SET_BMC_INFO="yes"
|
|
||||||
|
|
||||||
# getsysinfo and setsysinfo commands
|
|
||||||
IPMI_SET_SYSINFO="${IPMI_TOOL} mc setsysinfo"
|
|
||||||
IPMI_GET_SYSINFO="${IPMI_TOOL} mc getsysinfo"
|
|
||||||
#############################################################################
|
|
||||||
SCRIPT_NAME=$(basename $0)
|
|
||||||
|
|
||||||
# source config
|
|
||||||
[ -r ${CONFIGFILE} ] && . ${CONFIGFILE}
|
|
||||||
|
|
||||||
RETVAL=0
|
|
||||||
|
|
||||||
if [ -f /bin/gettext.sh ]; then
|
|
||||||
GETTEXT=1
|
|
||||||
. /bin/gettext.sh
|
|
||||||
OUTPUT="eval_gettext"
|
|
||||||
else
|
|
||||||
GETTEXT=0
|
|
||||||
OUTPUT="echo"
|
|
||||||
fi
|
|
||||||
|
|
||||||
#############################################################################
|
|
||||||
# Get Vendor ID of BMC for use in 'oem_set_os_version' and 'oem_get_bmc_url'
|
|
||||||
#
|
|
||||||
get_bmc_vendor_id()
|
|
||||||
{
|
|
||||||
BMC_VENDOR=$(${IPMI_TOOL} mc info 2>/dev/null | \
|
|
||||||
sed -n "s#^Manufacturer ID.*: ##p")
|
|
||||||
[ -z "${BMC_VENDOR}" ] && RETVAL=4
|
|
||||||
}
|
|
||||||
|
|
||||||
# set/getsysinfo support was added to ipmitool post v1.8.12 via this patch
|
|
||||||
# http://sourceforge.net/mailarchive/message.php?msg_id=29647222
|
|
||||||
check_ipmitool()
|
|
||||||
{
|
|
||||||
if [ -x ${IPMI_TOOL} ]; then
|
|
||||||
[ ! ${IPMI_GET_SYSINFO} >/dev/null 2>&1 ] && \
|
|
||||||
RETVAL=3
|
|
||||||
else
|
|
||||||
RETVAL=2
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
bmc_exists()
|
|
||||||
{
|
|
||||||
check_ipmitool
|
|
||||||
[ $RETVAL -eq 0 ] && get_bmc_vendor_id
|
|
||||||
return $RETVAL
|
|
||||||
}
|
|
||||||
#############################################################################
|
|
||||||
|
|
||||||
get_os_info()
|
|
||||||
{
|
|
||||||
OS_HOSTNAME=$(hostname)
|
|
||||||
KERNEL_VERSION=$(uname -r -m)
|
|
||||||
|
|
||||||
if [ -e /etc/lsb-release ] ; then
|
|
||||||
. /etc/lsb-release
|
|
||||||
NAME=${DISTRIB_ID}
|
|
||||||
VERSION="${DISTRIB_RELEASE} ${DISTRIB_CODENAME}"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# we prefer systemd's /etc/os-release over other sources
|
|
||||||
[ -e /etc/os-release ] && . /etc/os-release
|
|
||||||
|
|
||||||
OS_NAME=${NAME}
|
|
||||||
OS_VERSION="${VERSION} kernel ${KERNEL_VERSION}"
|
|
||||||
}
|
|
||||||
|
|
||||||
oem_set_os_version()
|
|
||||||
{
|
|
||||||
# OS Version setting is not standard yet
|
|
||||||
# we need per vendor oem commands
|
|
||||||
case "${BMC_VENDOR}" in
|
|
||||||
$DELL) ${IPMI_SET_SYSINFO} delloem_os_version \
|
|
||||||
"${OS_VERSION}" > /dev/null 2>&1
|
|
||||||
return $?
|
|
||||||
;;
|
|
||||||
# Add OEM specific commands.
|
|
||||||
# Example:
|
|
||||||
# $OTHER_OEM) ${IPMI_SET_SYSINFO} otheroem_os_version \
|
|
||||||
# "${OS_VERSION}" > /dev/null 2>&1
|
|
||||||
# return $?
|
|
||||||
# ;;
|
|
||||||
*) return 0
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
}
|
|
||||||
|
|
||||||
set_os_info()
|
|
||||||
{
|
|
||||||
# Set and reset OS info in the BMC
|
|
||||||
if [ "$1" = "reset" ]; then
|
|
||||||
OS_NAME=""
|
|
||||||
OS_HOSTNAME=""
|
|
||||||
OS_VERSION=""
|
|
||||||
fi
|
|
||||||
|
|
||||||
${IPMI_SET_SYSINFO} os_name "${OS_NAME}" >/dev/null 2>&1 \
|
|
||||||
|| RETVAL=6
|
|
||||||
${IPMI_SET_SYSINFO} primary_os_name "${OS_NAME}" >/dev/null 2>&1 \
|
|
||||||
|| RETVAL=6
|
|
||||||
${IPMI_SET_SYSINFO} system_name "${OS_HOSTNAME}" >/dev/null 2>&1 \
|
|
||||||
|| RETVAL=6
|
|
||||||
oem_set_os_version || RETVAL=6
|
|
||||||
}
|
|
||||||
|
|
||||||
#############################################################################
|
|
||||||
valid_url()
|
|
||||||
{
|
|
||||||
url="(https?|http)://[a-z0-9-]+(\.[a-z0-9-]+)+([/?].*)?"
|
|
||||||
printf -- "%s" "${TMP_URL}"| grep -Eq "^${url}"
|
|
||||||
return $?
|
|
||||||
}
|
|
||||||
|
|
||||||
oem_get_bmc_url()
|
|
||||||
{
|
|
||||||
# BMC URL is not standard yet
|
|
||||||
# we need per vendor oem commands
|
|
||||||
case "$BMC_VENDOR" in
|
|
||||||
$DELL) TMP_URL=$(${IPMI_GET_SYSINFO} delloem_url 2> /dev/null)
|
|
||||||
;;
|
|
||||||
# Add OEM specific commands
|
|
||||||
# Example:
|
|
||||||
# $OTHER_OEM)
|
|
||||||
# TMP_URL=$(${IPMI_GET_SYSINFO} otheroem_url 2> /dev/null)
|
|
||||||
# ;;
|
|
||||||
*) TMP_URL="" ;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
valid_url && BMC_URL=${TMP_URL} || BMC_URL=""
|
|
||||||
}
|
|
||||||
|
|
||||||
valid_ip()
|
|
||||||
{
|
|
||||||
#Thanks to mkyong.com
|
|
||||||
octet="([01]?[[:digit:]][[:digit:]]?|2[0-4][[:digit:]]|25[0-5])"
|
|
||||||
|
|
||||||
printf -- "%s" "${TMP_IPv4}"| grep -Eq "^${octet}\\.${octet}\\.${octet}\\.${octet}$"
|
|
||||||
return $?
|
|
||||||
}
|
|
||||||
|
|
||||||
get_bmc_ip()
|
|
||||||
{
|
|
||||||
#Thanks to http://ingvar.blog.redpill-linpro.com
|
|
||||||
for CHANNEL in `seq 1 14`
|
|
||||||
do
|
|
||||||
[ $(${IPMI_TOOL} lan print ${CHANNEL} 2>/dev/null \
|
|
||||||
| grep -q "^Set") ] || break
|
|
||||||
done
|
|
||||||
|
|
||||||
# Get BMC_IPv4 and BMC_URL from BMC
|
|
||||||
TMP_IPv4=$(${IPMI_TOOL} lan print ${CHANNEL} 2>/dev/null \
|
|
||||||
| sed -n "s#^IP Address .*: ##p")
|
|
||||||
|
|
||||||
valid_ip && BMC_IPv4=${TMP_IPv4} || BMC_IPv4=""
|
|
||||||
}
|
|
||||||
|
|
||||||
get_bmc_info()
|
|
||||||
{
|
|
||||||
get_bmc_ip
|
|
||||||
if [ -z "${BMC_IPv4}" ] || [ "${BMC_IPv4}" = "0.0.0.0" ]; then
|
|
||||||
BMC_IPv4=""
|
|
||||||
RETVAL=5
|
|
||||||
else
|
|
||||||
# URL makes sense only if there is an IP
|
|
||||||
oem_get_bmc_url
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
set_bmc_info()
|
|
||||||
{
|
|
||||||
if [ ! $(touch "${BMC_INFO}" && chmod 600 "${BMC_INFO}") ]; then
|
|
||||||
printf "BMC_IPv4=%s\n" "${BMC_IPv4}" > "${BMC_INFO}"
|
|
||||||
[ -n "${BMC_URL}" ] && \
|
|
||||||
printf "BMC_URL=%s\n" "${BMC_URL}" >> "${BMC_INFO}"
|
|
||||||
else
|
|
||||||
RETVAL=5
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
unset_bmc_info()
|
|
||||||
{
|
|
||||||
[ -f ${BMC_INFO} ] && rm -f ${BMC_INFO} > /dev/null 2>&1
|
|
||||||
}
|
|
||||||
|
|
||||||
#############################################################################
|
|
||||||
start()
|
|
||||||
{
|
|
||||||
if bmc_exists; then
|
|
||||||
[ "${SET_OS_INFO}" = "yes" ] && \
|
|
||||||
get_os_info && set_os_info
|
|
||||||
|
|
||||||
if [ "${SET_BMC_INFO}" = "yes" ]; then
|
|
||||||
get_bmc_info
|
|
||||||
if [ ${RETVAL} -eq 0 ]; then
|
|
||||||
set_bmc_info
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
#############################################################################
|
|
||||||
stop()
|
|
||||||
{
|
|
||||||
if bmc_exists; then
|
|
||||||
# reset OS info while system reboots
|
|
||||||
# aids with debugging OS boot-up issues
|
|
||||||
if [ "${RESET_OS_INFO}" = "yes" ]; then
|
|
||||||
set_os_info reset
|
|
||||||
fi
|
|
||||||
unset_bmc_info
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
#############################################################################
|
|
||||||
restart()
|
|
||||||
{
|
|
||||||
stop
|
|
||||||
[ $RETVAL -eq 0 ] && start
|
|
||||||
}
|
|
||||||
|
|
||||||
#############################################################################
|
|
||||||
status()
|
|
||||||
{
|
|
||||||
[ -r ${BMC_INFO} ] && \
|
|
||||||
grep -q "BMC_IPv4" "${BMC_INFO}" >/dev/null 1>&2 && \
|
|
||||||
BMC_STATUS="ok" || BMC_STATUS="inactive"
|
|
||||||
${OUTPUT} "${SCRIPT_NAME}: ${BMC_STATUS}" 1>&2
|
|
||||||
[ ${GETTEXT} -eq 1 ] && echo
|
|
||||||
}
|
|
||||||
|
|
||||||
#############################################################################
|
|
||||||
usage()
|
|
||||||
{
|
|
||||||
${OUTPUT} "Usage: ${SCRIPT_NAME} {start|stop|restart|status}" 1>&2
|
|
||||||
[ ${GETTEXT} -eq 1 ] && echo
|
|
||||||
RETVAL=1
|
|
||||||
}
|
|
||||||
|
|
||||||
#############################################################################
|
|
||||||
# MAIN
|
|
||||||
#############################################################################
|
|
||||||
case "$1" in
|
|
||||||
start) start ;;
|
|
||||||
stop) stop ;;
|
|
||||||
restart) restart ;;
|
|
||||||
status) status ;;
|
|
||||||
*) usage ;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
case "$RETVAL" in
|
|
||||||
0|1) ;;
|
|
||||||
2) ${OUTPUT} "${SCRIPT_NAME}: ipmitool(1) not found." 1>&2 ;;
|
|
||||||
3) ${OUTPUT} "${SCRIPT_NAME}: this version of ipmitool does not support getsysinfo." 1>&2 ;;
|
|
||||||
4) ${OUTPUT} "${SCRIPT_NAME}: failed to communicate with BMC." 1>&2 ;;
|
|
||||||
5) ${OUTPUT} "${SCRIPT_NAME}: failed to set OS information in BMC." 1>&2 ;;
|
|
||||||
6) ${OUTPUT} "${SCRIPT_NAME}: failed to get BMC information." 1>&2 ;;
|
|
||||||
*) ${OUTPUT} "${SCRIPT_NAME}: unexpected error." 1>&2 ;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
if [ ${RETVAL} -gt 1 ]; then
|
|
||||||
${OUTPUT} " Return code: ${RETVAL}" 1>&2
|
|
||||||
[ ${GETTEXT} -eq 1 ] && echo
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
exit ${RETVAL}
|
|
||||||
|
|
||||||
#############################################################################
|
|
||||||
# end of file
|
|
||||||
#############################################################################
|
|
@ -1,13 +0,0 @@
|
|||||||
[Unit]
|
|
||||||
Description=Exchange Information between BMC and OS
|
|
||||||
After=ipmi.service network.target
|
|
||||||
Requires=ipmi.service
|
|
||||||
|
|
||||||
[Service]
|
|
||||||
Type=oneshot
|
|
||||||
RemainAfterExit=yes
|
|
||||||
ExecStart=/usr/libexec/exchange-bmc-os-info start
|
|
||||||
ExecStop=/usr/libexec/exchange-bmc-os-info stop
|
|
||||||
|
|
||||||
[Install]
|
|
||||||
WantedBy=multi-user.target
|
|
@ -1,26 +0,0 @@
|
|||||||
# exchange-bmc-os-info
|
|
||||||
#
|
|
||||||
# Config file to control Exchange of information between
|
|
||||||
# the OS and Service Processor/Baseboard Management Controller (BMC)
|
|
||||||
#
|
|
||||||
# See here for details
|
|
||||||
# https://fedoraproject.org/wiki/Features/AgentFreeManagement
|
|
||||||
|
|
||||||
### Set OS Info in BMC/Service Processor ###
|
|
||||||
# Name: SET_OS_INFO
|
|
||||||
# Description: Set OS Name, Version and Hostname in the Service Processor (BMC)
|
|
||||||
# Default: yes
|
|
||||||
SET_OS_INFO="yes"
|
|
||||||
|
|
||||||
### Reset OS Info in BMC/Service Processor ###
|
|
||||||
# Name: RESET_OS_INFO
|
|
||||||
# Description: Reset OS Name, Version and Hostname in the Service Processor (BMC).
|
|
||||||
# Useful when the OS Name/Hostname should be empty on reboot
|
|
||||||
# Default: no
|
|
||||||
RESET_OS_INFO="no"
|
|
||||||
|
|
||||||
### Set BMC/Service Processor Info in OS ###
|
|
||||||
# Name; SET_BMC_INFO
|
|
||||||
# Description: Set IP Address and URL of Service Processor/BMC in /run/bmc-info
|
|
||||||
# Default: yes
|
|
||||||
SET_BMC_INFO="yes"
|
|
@ -1,11 +0,0 @@
|
|||||||
# Export BMC URL
|
|
||||||
#
|
|
||||||
|
|
||||||
BMC_INFO="/var/run/bmc-info"
|
|
||||||
|
|
||||||
if [ "$(id -u)" = "0" ]; then
|
|
||||||
[ -f ${BMC_INFO} ] && . ${BMC_INFO} && \
|
|
||||||
export "${BMC_URL}" "${BMC_IPv4}" >/dev/null 2>&1
|
|
||||||
fi
|
|
||||||
|
|
||||||
unset BMC_INFO
|
|
4
sources
4
sources
@ -1 +1,5 @@
|
|||||||
|
SHA512 (exchange-bmc-os-info) = 77aad6f132b0ab56dcf8f8a5d1efbba9196c2fbb5771e5106833455a071a5dc79109d945a7adc0022f9604cbfd4a01ea1ea54ce15a2409c85f5effbf6cfc4f09
|
||||||
|
SHA512 (exchange-bmc-os-info.service) = 4349e7be9879c55c64e6233f749db7d656a12b421ad53a41d612e8c891abbe108d0fabe57d5753b5c1367da4f34e2e3bb579ea4ba8bc39b81ec64b66d5f65f79
|
||||||
|
SHA512 (exchange-bmc-os-info.sysconf) = 475f5645eb6a7038efe5568950235fa43a081f26490b7e17de2279e022950144f197e1a545177447ce1ec345862e7fb8fb802eaa3728bc9e32868e34c081263a
|
||||||
|
SHA512 (set-bmc-url.sh) = 99bceee522b23e0c4bc55f9e4bdc08ece9ecbf8a50511fa8f8b90ecc94d8f9715e74bb15a5f1e7c2162e7ac2e1933aff0c78b464e1010f21c784d84c0b1bfe2a
|
||||||
SHA512 (ipmitool-1.8.18.tar.bz2) = b20a2791efff748af62ffca56266fd2d8c8003395a6a21ef7b0ff5f8b7be6d6b1fe52150cdb32d6a91cdd3edd197e0ca5709ead923065474852301246710ce02
|
SHA512 (ipmitool-1.8.18.tar.bz2) = b20a2791efff748af62ffca56266fd2d8c8003395a6a21ef7b0ff5f8b7be6d6b1fe52150cdb32d6a91cdd3edd197e0ca5709ead923065474852301246710ce02
|
||||||
|
Loading…
Reference in New Issue
Block a user