Accepting request 618996 from network:ha-clustering:Factory
- 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/request/show/618996 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/fence-agents?expand=0&rev=41
This commit is contained in:
commit
a1c5ce041e
108
0002-Build-without-openwsman-installed.patch
Normal file
108
0002-Build-without-openwsman-installed.patch
Normal file
@ -0,0 +1,108 @@
|
|||||||
|
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
|
||||||
|
|
@ -1,3 +1,10 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Jun 25 14:44:46 UTC 2018 - kgronlund@suse.com
|
||||||
|
|
||||||
|
- Unify spec file for python 2 and 3
|
||||||
|
- Enable build for python 2
|
||||||
|
* Add 0002-Build-without-openwsman-installed.patch
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Wed Jun 20 09:06:43 UTC 2018 - kgronlund@suse.com
|
Wed Jun 20 09:06:43 UTC 2018 - kgronlund@suse.com
|
||||||
|
|
||||||
|
@ -16,6 +16,12 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
|
|
||||||
|
%if 0%{?suse_version} == 1315
|
||||||
|
%define python_version python2
|
||||||
|
%else
|
||||||
|
%define python_version python3
|
||||||
|
%endif
|
||||||
|
|
||||||
%global plugin_dir %{_libdir}/stonith/plugins/rhcs
|
%global plugin_dir %{_libdir}/stonith/plugins/rhcs
|
||||||
%define agent_list alom amt amt_ws apc apc_snmp azure_arm bladecenter brocade cisco_mds cisco_ucs compute docker drac5 dummy eaton_snmp emerson eps evacuate gce hds_cb hpblade ibmblade ifmib ilo ilo_moonshot ilo_mp ilo_ssh intelmodular ipdu ipmilan ironic kdump ldom lpar mpath netio openstack powerman pve raritan rcd_serial rhevm rsa rsb sanbox2 sbd scsi vbox virsh vmware vmware_rest wti xenapi zvm
|
%define agent_list alom amt amt_ws apc apc_snmp azure_arm bladecenter brocade cisco_mds cisco_ucs compute docker drac5 dummy eaton_snmp emerson eps evacuate gce hds_cb hpblade ibmblade ifmib ilo ilo_moonshot ilo_mp ilo_ssh intelmodular ipdu ipmilan ironic kdump ldom lpar mpath netio openstack powerman pve raritan rcd_serial rhevm rsa rsb sanbox2 sbd scsi vbox virsh vmware vmware_rest wti xenapi zvm
|
||||||
|
|
||||||
@ -28,8 +34,30 @@ Release: 0
|
|||||||
Url: https://github.com/ClusterLabs/fence-agents
|
Url: https://github.com/ClusterLabs/fence-agents
|
||||||
Source0: %{name}-%{version}.tar.xz
|
Source0: %{name}-%{version}.tar.xz
|
||||||
Patch1: 0001-Use-Python-3-for-all-scripts-bsc-1065966.patch
|
Patch1: 0001-Use-Python-3-for-all-scripts-bsc-1065966.patch
|
||||||
|
Patch2: 0002-Build-without-openwsman-installed.patch
|
||||||
|
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||||
|
BuildRequires: %{python_version}
|
||||||
|
%if %{python_version} == "python3"
|
||||||
|
BuildRequires: python3-google-api-python-client
|
||||||
|
BuildRequires: python3-keystoneclient
|
||||||
|
BuildRequires: python3-novaclient
|
||||||
|
BuildRequires: python3-oauth2client
|
||||||
|
BuildRequires: python3-openwsman
|
||||||
|
BuildRequires: python3-pexpect
|
||||||
|
BuildRequires: python3-pycurl
|
||||||
|
BuildRequires: python3-requests
|
||||||
|
BuildRequires: python3-xml
|
||||||
|
%else
|
||||||
|
BuildRequires: python-google-api-python-client
|
||||||
|
BuildRequires: python-keystoneclient
|
||||||
|
BuildRequires: python-novaclient
|
||||||
|
BuildRequires: python-oauth2client
|
||||||
|
BuildRequires: python-pexpect
|
||||||
|
BuildRequires: python-pycurl
|
||||||
|
BuildRequires: python-requests
|
||||||
|
BuildRequires: python-xml
|
||||||
|
%endif
|
||||||
BuildRequires: autoconf
|
BuildRequires: autoconf
|
||||||
BuildRequires: automake
|
BuildRequires: automake
|
||||||
BuildRequires: fdupes
|
BuildRequires: fdupes
|
||||||
@ -42,24 +70,20 @@ BuildRequires: mozilla-nss-devel
|
|||||||
BuildRequires: perl
|
BuildRequires: perl
|
||||||
BuildRequires: perl-Net-Telnet
|
BuildRequires: perl-Net-Telnet
|
||||||
BuildRequires: pkg-config
|
BuildRequires: pkg-config
|
||||||
BuildRequires: python3
|
|
||||||
BuildRequires: python3-google-api-python-client
|
|
||||||
BuildRequires: python3-keystoneclient
|
|
||||||
BuildRequires: python3-novaclient
|
|
||||||
BuildRequires: python3-oauth2client
|
|
||||||
BuildRequires: python3-openwsman
|
|
||||||
BuildRequires: python3-pexpect
|
|
||||||
BuildRequires: python3-pycurl
|
|
||||||
BuildRequires: python3-requests
|
|
||||||
BuildRequires: python3-xml
|
|
||||||
BuildRequires: xz
|
BuildRequires: xz
|
||||||
|
|
||||||
Requires: net-snmp
|
%if %{python_version} == "python3"
|
||||||
Requires: openssh
|
|
||||||
Requires: perl-Net-Telnet
|
|
||||||
Requires: python3-pexpect
|
Requires: python3-pexpect
|
||||||
Requires: python3-pycurl
|
Requires: python3-pycurl
|
||||||
Requires: python3-requests
|
Requires: python3-requests
|
||||||
|
%else
|
||||||
|
Requires: python-pexpect
|
||||||
|
Requires: python-pycurl
|
||||||
|
Requires: python-requests
|
||||||
|
%endif
|
||||||
|
Requires: net-snmp
|
||||||
|
Requires: openssh
|
||||||
|
Requires: perl-Net-Telnet
|
||||||
Requires: sg3_utils
|
Requires: sg3_utils
|
||||||
Requires: telnet
|
Requires: telnet
|
||||||
|
|
||||||
@ -71,7 +95,9 @@ Recommends: /usr/bin/virsh
|
|||||||
# have changed Requires around. Make sure to get the right one.
|
# have changed Requires around. Make sure to get the right one.
|
||||||
Recommends: /usr/bin/ipmitool
|
Recommends: /usr/bin/ipmitool
|
||||||
|
|
||||||
|
%if %{python_version} == "python3"
|
||||||
Recommends: python3-openwsman
|
Recommends: python3-openwsman
|
||||||
|
%endif
|
||||||
|
|
||||||
%if 0%{?with_regression_tests}
|
%if 0%{?with_regression_tests}
|
||||||
BuildRequires: time
|
BuildRequires: time
|
||||||
@ -98,12 +124,20 @@ development.
|
|||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q -n %{name}-%{version}
|
%setup -q -n %{name}-%{version}
|
||||||
|
%if %{python_version} == "python3"
|
||||||
%patch1 -p1
|
%patch1 -p1
|
||||||
|
%else
|
||||||
|
%patch2 -p1
|
||||||
|
%endif
|
||||||
|
|
||||||
%build
|
%build
|
||||||
CFLAGS="${CFLAGS} ${RPM_OPT_FLAGS}"
|
CFLAGS="${CFLAGS} ${RPM_OPT_FLAGS}"
|
||||||
export CFLAGS
|
export CFLAGS
|
||||||
|
%if %{python_version} == "python3"
|
||||||
PYTHON="%{_bindir}/python3"
|
PYTHON="%{_bindir}/python3"
|
||||||
|
%else
|
||||||
|
PYTHON="%{_bindir}/python2"
|
||||||
|
%endif
|
||||||
export PYTHON
|
export PYTHON
|
||||||
./autogen.sh
|
./autogen.sh
|
||||||
%{configure} --with-agents='%{agent_list}'
|
%{configure} --with-agents='%{agent_list}'
|
||||||
@ -126,7 +160,7 @@ ln -s %{_sbindir}/fence_cisco_ucs %{buildroot}%{plugin_dir}
|
|||||||
%if 0%{?with_regression_tests}
|
%if 0%{?with_regression_tests}
|
||||||
%check
|
%check
|
||||||
make check
|
make check
|
||||||
PYTHONPATH=fence/agents/lib python fence/agents/lib/tests/test_fencing.py
|
PYTHONPATH=fence/agents/lib %{python_version} fence/agents/lib/tests/test_fencing.py
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%files
|
%files
|
||||||
|
Loading…
Reference in New Issue
Block a user