summaryrefslogtreecommitdiffstats
path: root/examples/test_power.py
diff options
context:
space:
mode:
authorRadek Novacek <rnovacek@redhat.com>2012-07-23 14:33:48 +0200
committerRadek Novacek <rnovacek@redhat.com>2012-07-23 14:35:13 +0200
commit78357ae1f43f7bf84b3386f6cd97c166040319cd (patch)
treef32d88fef165cc9cf5ac88328713a7e5744ce0cc /examples/test_power.py
parentce3f2520c5046c7b7703742dd5c7481b5f98c52e (diff)
downloadopenlmi-providers-78357ae1f43f7bf84b3386f6cd97c166040319cd.tar.gz
openlmi-providers-78357ae1f43f7bf84b3386f6cd97c166040319cd.tar.xz
openlmi-providers-78357ae1f43f7bf84b3386f6cd97c166040319cd.zip
Move power example script to examples/ directory
Diffstat (limited to 'examples/test_power.py')
-rwxr-xr-xexamples/test_power.py52
1 files changed, 52 insertions, 0 deletions
diff --git a/examples/test_power.py b/examples/test_power.py
new file mode 100755
index 0000000..43d32f2
--- /dev/null
+++ b/examples/test_power.py
@@ -0,0 +1,52 @@
+#!/usr/bin/python
+
+import sys
+import pywbem
+
+if len(sys.argv) < 4:
+ print """Usage: %s <address> <state> [username] [password]
+ Connect to CIM server at address and change the power state of the machine.
+
+Available states:
+ 4 - sleep
+ 5 - force reboot
+ 7 - hibernate
+ 8 - force poweroff
+ 12 - poweroff
+ 15 - reboot
+
+Example: %s https://127.0.0.1:5989 4 root redhat""" % (sys.argv[0], sys.argv[0])
+ sys.exit(1)
+
+url = sys.argv[1]
+try:
+ state = int(sys.argv[2])
+except ValueError:
+ print >>sys.stderr, "Unknown state: %s" % sys.argv[2]
+ sys.exit(4)
+
+username = None
+password = None
+if len(sys.argv) > 3:
+ username = sys.argv[3]
+if len(sys.argv) > 4:
+ password = sys.argv[4]
+
+cliconn = pywbem.WBEMConnection(url, (username, password))
+
+computerSystems = cliconn.ExecQuery('WQL', 'select * from Linux_ComputerSystem')
+
+if len(computerSystems) == 0:
+ print >>sys.stderr, "No usable Linux_ComputerSystem instance found."
+ sys.exit(2)
+
+if len(computerSystems) > 1:
+ print >>sys.stderr, "More than one Linux_ComputerSystem instance found, don't know which to use."
+ sys.exit(3)
+
+print cliconn.InvokeMethod("RequestPowerStateChange", "Linux_PowerManagementService",
+ ManagedElement=computerSystems[0].path,
+ TimeoutPeriod=pywbem.datetime.now(),
+ PowerState=pywbem.Uint16(state),
+ Time=pywbem.datetime.now()
+ )