fence-agents/0002-Build-without-openwsman-installed.patch
Kristoffer Gronlund 18074bc665 - Unify spec file for python 2 and 3
- Enable build for python 2
  * Add 0002-Build-without-openwsman-installed.patch

OBS-URL: https://build.opensuse.org/package/show/network:ha-clustering:Factory/fence-agents?expand=0&rev=93
2018-06-25 14:47:35 +00:00

109 lines
3.7 KiB
Diff

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