File 0002-Build-without-openwsman-installed.patch of Package fence-agents.7982

From 36fe441cda4f59400b18f558a668d025123b1129 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Kristoffer=20Gr=C3=B6nlund?= <krig@koru.se>
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
openSUSE Build Service is sponsored by