From d835b2cae8abc71958b69362162e6a70c3d7ef63 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Wed, 17 Apr 2024 08:48:59 +0200 Subject: Adding upstream version 4.6.0. Signed-off-by: Daniel Baumann --- scripts/check-uptime/fetch.py | 7 +++++++ scripts/check-uptime/main.yml | 19 +++++++++++++++++++ scripts/check-uptime/report.py | 11 +++++++++++ 3 files changed, 37 insertions(+) create mode 100755 scripts/check-uptime/fetch.py create mode 100644 scripts/check-uptime/main.yml create mode 100755 scripts/check-uptime/report.py (limited to 'scripts/check-uptime') diff --git a/scripts/check-uptime/fetch.py b/scripts/check-uptime/fetch.py new file mode 100755 index 0000000..c1cceff --- /dev/null +++ b/scripts/check-uptime/fetch.py @@ -0,0 +1,7 @@ +#!/usr/bin/python3 +import crm_script +try: + uptime = open('/proc/uptime').read().split()[0] + crm_script.exit_ok(uptime) +except Exception as e: + crm_script.exit_fail("Couldn't open /proc/uptime: %s" % (e)) diff --git a/scripts/check-uptime/main.yml b/scripts/check-uptime/main.yml new file mode 100644 index 0000000..d37f712 --- /dev/null +++ b/scripts/check-uptime/main.yml @@ -0,0 +1,19 @@ +version: 2.2 +category: Script +shortdesc: Check uptime of nodes +longdesc: > + Fetches the uptime of all nodes and reports which + node has lived longest. + +parameters: + - name: show_all + shortdesc: Show all uptimes + type: boolean + value: false + +actions: + - shortdesc: Fetch uptimes + collect: fetch.py + + - shortdesc: Report uptime + report: report.py diff --git a/scripts/check-uptime/report.py b/scripts/check-uptime/report.py new file mode 100755 index 0000000..81710c8 --- /dev/null +++ b/scripts/check-uptime/report.py @@ -0,0 +1,11 @@ +#!/usr/bin/python3 +import crm_script +show_all = crm_script.is_true(crm_script.param('show_all')) +uptimes = list(crm_script.output(1).items()) +max_uptime = '', 0.0 +for host, uptime in uptimes: + if float(uptime) > max_uptime[1]: + max_uptime = host, float(uptime) +if show_all: + print("Uptimes: %s" % (', '.join("%s: %s" % v for v in uptimes))) +print("Longest uptime is %s seconds on host %s" % (max_uptime[1], max_uptime[0])) -- cgit v1.2.3