From 36fe441cda4f59400b18f558a668d025123b1129 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kristoffer=20Gr=C3=B6nlund?= Date: Mon, 25 Jun 2018 16:43:38 +0200 Subject: [PATCH] Build without openwsman installed --- agents/amt_ws/fence_amt_ws.py | 21 +++++++++++++-------- configure.ac | 14 +++++++------- 2 files changed, 20 insertions(+), 15 deletions(-) diff --git a/agents/amt_ws/fence_amt_ws.py b/agents/amt_ws/fence_amt_ws.py index b99f20ad..bb0f58f5 100755 --- a/agents/amt_ws/fence_amt_ws.py +++ b/agents/amt_ws/fence_amt_ws.py @@ -24,9 +24,14 @@ sys.path.append("@FENCEAGENTSLIBDIR@") from fencing import * from fencing import run_delay, fail_usage, fail, EC_STATUS -import pywsman from xml.etree import ElementTree + +def _pywsman(): + import pywsman + return pywsman + + POWER_ON='2' POWER_OFF='8' POWER_CYCLE='10' @@ -63,7 +68,7 @@ def _generate_power_action_input(action): wsman = 'http://schemas.dmtf.org/wbem/wsman/1/wsman.xsd' namespace = CIM_PowerManagementService - doc = pywsman.XmlDoc(method_input) + doc = _pywsman().XmlDoc(method_input) root = doc.root() root.set_ns(namespace) root.add(namespace, 'PowerState', action) @@ -80,10 +85,10 @@ def _generate_power_action_input(action): return doc def get_power_status(_, options): - client = pywsman.Client(options["--ip"], int(options["--ipport"]), \ + client = _pywsman().Client(options["--ip"], int(options["--ipport"]), \ '/wsman', 'http', 'admin', options["--password"]) namespace = CIM_AssociatedPowerManagementService - client_options = pywsman.ClientOptions() + client_options = _pywsman().ClientOptions() doc = client.get(client_options, namespace) _SOAP_ENVELOPE = 'http://www.w3.org/2003/05/soap-envelope' item = 'Fault' @@ -107,11 +112,11 @@ def get_power_status(_, options): fail(EC_STATUS) def set_power_status(_, options): - client = pywsman.Client(options["--ip"], int(options["--ipport"]), \ + client = _pywsman().Client(options["--ip"], int(options["--ipport"]), \ '/wsman', 'http', 'admin', options["--password"]) method = 'RequestPowerStateChange' - client_options = pywsman.ClientOptions() + client_options = _pywsman().ClientOptions() client_options.add_selector('Name', 'Intel(r) AMT Power Management Service') if options["--action"] == "on": @@ -156,11 +161,11 @@ def set_boot_order(_, client, options): return method = 'ChangeBootOrder' - client_options = pywsman.ClientOptions() + client_options = _pywsman().ClientOptions() client_options.add_selector('InstanceID', \ 'Intel(r) AMT: Boot Configuration 0') - doc = pywsman.XmlDoc(method_input) + doc = _pywsman().XmlDoc(method_input) root = doc.root() root.set_ns(namespace) diff --git a/configure.ac b/configure.ac index e8b24211..c4db8a47 100644 --- a/configure.ac +++ b/configure.ac @@ -208,13 +208,13 @@ AC_PYTHON_MODULE(pexpect, 1) AC_PYTHON_MODULE(pycurl, 1) AC_PYTHON_MODULE(requests, 1) -if echo "$AGENTS_LIST" | grep -q amt_ws; then - AC_PYTHON_MODULE(pywsman) - if test "x${HAVE_PYMOD_PYWSMAN}" != xyes; then - AGENTS_LIST=$(echo "$AGENTS_LIST" | sed -E "s#amt_ws/fence_amt_ws.py( |$)##") - AC_MSG_WARN("Not building fence_amt_ws") - fi -fi +#if echo "$AGENTS_LIST" | grep -q amt_ws; then +# AC_PYTHON_MODULE(pywsman) +# if test "x${HAVE_PYMOD_PYWSMAN}" != xyes; then +# AGENTS_LIST=$(echo "$AGENTS_LIST" | sed -E "s#amt_ws/fence_amt_ws.py( |$)##") +# AC_MSG_WARN("Not building fence_amt_ws") +# fi +#fi if echo "$AGENTS_LIST" | grep -q aws; then AC_PYTHON_MODULE(boto3) if test "x${HAVE_PYMOD_BOTO3}" != xyes; then -- 2.17.1