From b422fd8de263ccb26ff3da47e56959ce47fa3ea7 Mon Sep 17 00:00:00 2001 From: Christian Goll Date: Wed, 6 Dec 2023 12:12:15 +0100 Subject: [PATCH] added template for nodes without bmc Signed-off-by: Christian Goll --- CHANGELOG.md | 1 + lib/warewulf/bmc/nobmc.tmpl | 12 ++++++++++++ 2 files changed, 13 insertions(+) create mode 100644 lib/warewulf/bmc/nobmc.tmpl diff --git a/CHANGELOG.md b/CHANGELOG.md index 8b2165e8..7d2868a0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -166,6 +166,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). ### Changed - `wwctl container list` only lists names by default. (`--long` shows all attributes.) #1117 +- use templating mechanism for power commands ## v4.5.5, 2024-07-05 diff --git a/lib/warewulf/bmc/nobmc.tmpl b/lib/warewulf/bmc/nobmc.tmpl new file mode 100644 index 00000000..75239ce6 --- /dev/null +++ b/lib/warewulf/bmc/nobmc.tmpl @@ -0,0 +1,12 @@ +{{/* used command to access nodes without bmc*/}} +{{- $cmd := "echo command not found" }} +{{- if eq .Cmd "PowerOn" }} {{ $cmd = printf "wol %s" .Interface }} {{ end }} +{{- if eq .Cmd "PowerOff" }} {{ $cmd = printf "ssh %s echo o > /proc/sysrq-trigger" .Ipaddr }} {{ end }} +{{- if eq .Cmd "PowerCycle" }} {{ $cmd = printf "ssh %s echo r > /proc/sysrq-trigger" .Ipaddr }} {{ end }} +{{- if eq .Cmd "PowerRest" }} {{ $cmd = printf "ssh %s echo r > /proc/sysrq-trigger" .Ipaddr }} {{ end }} +{{- if eq .Cmd "PowerSoft" }} {{ $cmd = print "ssh %s reboot" .Ipaddr }} {{ end }} +{{- if eq .Cmd "PowerStatus" }} {{ $args = "ping -c 1 %s &> /dev/null %s && echo ON || echo OFF" .Ipaddr }} {{ end }} +{{- if eq .Cmd "SDRList" }} {{ $cmd = print "ssh %s sensors" .Ipaddr }} {{ end }} +{{- if eq .Cmd "SensorList" }} {{ $cmd = print "ssh %s sensors" .Ipaddr }} {{ end }} +{{- if eq .Cmd "Console" }} {{ $args = "echo node sol" }} {{ end }} +{{ $cmd }} \ No newline at end of file