aboutsummaryrefslogtreecommitdiffstats
path: root/udev
diff options
context:
space:
mode:
authorLukas Nykryn <lnykryn@redhat.com>2013-10-10 15:43:13 +0200
committerLukas Nykryn <lnykryn@redhat.com>2013-10-10 16:46:37 +0200
commitb541d3f3a9c2248c28413da14dfee4eae97fd86d (patch)
tree7836856009fe96e1f20265aa504d6cf12039d6c6 /udev
parent34479bfa02d664b207fbe745fa76d20c31961cd0 (diff)
downloadinitscripts-b541d3f3a9c2248c28413da14dfee4eae97fd86d.tar
initscripts-b541d3f3a9c2248c28413da14dfee4eae97fd86d.tar.gz
initscripts-b541d3f3a9c2248c28413da14dfee4eae97fd86d.tar.bz2
initscripts-b541d3f3a9c2248c28413da14dfee4eae97fd86d.tar.xz
initscripts-b541d3f3a9c2248c28413da14dfee4eae97fd86d.zip
provide KVM guest count and limit info message (#1014731)
Diffstat (limited to 'udev')
-rw-r--r--udev/rules.d/81-kvm-rhel.rules1
-rwxr-xr-xudev/udev-kvm-check49
2 files changed, 50 insertions, 0 deletions
diff --git a/udev/rules.d/81-kvm-rhel.rules b/udev/rules.d/81-kvm-rhel.rules
new file mode 100644
index 00000000..787cad62
--- /dev/null
+++ b/udev/rules.d/81-kvm-rhel.rules
@@ -0,0 +1 @@
+DEVPATH=="*/kvm", ACTION=="change", RUN+="/lib/udev/udev-kvm-check $env{COUNT} $env{EVENT}"
diff --git a/udev/udev-kvm-check b/udev/udev-kvm-check
new file mode 100755
index 00000000..f8a9921e
--- /dev/null
+++ b/udev/udev-kvm-check
@@ -0,0 +1,49 @@
+#! /bin/sh
+
+if test -f /etc/sysconfig/kvm; then
+ . /etc/sysconfig/kvm
+fi
+
+: ${THRESHOLD:=0}
+COUNT=$1
+EVENT=$2
+
+if [ "$THRESHOLD" -eq 0 ]; then
+ level=user.debug
+else
+ level=user.info
+fi
+
+subscr_msg="your Red Hat Enterprise Linux subscription limit is $THRESHOLD"
+subscr_msg="$subscr_msg guests. Please review your Red Hat Enterprise Linux"
+subscr_msg="$subscr_msg subscription agreement or contact your Red Hat"
+subscr_msg="$subscr_msg support representative for more information. You"
+subscr_msg="$subscr_msg may review the Red Hat Enterprise subscription"
+subscr_msg="$subscr_msg limits at http://www.redhat.com/rhel-virt-limits"
+
+case $COUNT in
+ 1) guests=guest ;;
+ *) guests=guests ;;
+esac
+
+case $EVENT in
+ create)
+ if [ "$THRESHOLD" -eq 0 ]; then
+ msg="$COUNT $guests now active"
+ elif [ $COUNT -gt "$THRESHOLD" ]; then
+ level=user.warning
+ msg="$COUNT $guests are currently active; $subscr_msg"
+ fi
+ ;;
+ terminate)
+ if [ $COUNT -ge "$THRESHOLD" ]; then
+ msg="$COUNT $guests now active"
+ fi
+ ;;
+esac
+
+if [ -n "$msg" ]; then
+ logger -p $level "KVM: $msg"
+fi
+exit 0
+