Module: check_mk
Branch: master
Commit: 7fd1a35c57a47b26edc1bf3d16f8669b5f5b2dd8
URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=7fd1a35c57a47b…
Author: Andreas Boesl <ab(a)mathias-kettner.de>
Date: Fri Sep 29 11:57:14 2017 +0200
5233 agent_ucs_bladecenter: Now uses python requests to fetch the data
Change-Id: I92cfb1517fe142b3080303086a88d5e5849226e8
---
.werks/5233 | 11 +++++++++++
agents/special/agent_ucs_bladecenter | 28 ++++++++++++++++------------
2 files changed, 27 insertions(+), 12 deletions(-)
diff --git a/.werks/5233 b/.werks/5233
new file mode 100644
index 0000000..73d7c81
--- /dev/null
+++ b/.werks/5233
@@ -0,0 +1,11 @@
+Title: agent_ucs_bladecenter: Now uses python requests to fetch the data
+Level: 1
+Component: checks
+Class: feature
+Compatible: compat
+Edition: cre
+State: unknown
+Version: 1.5.0i1
+Date: 1506678996
+
+
diff --git a/agents/special/agent_ucs_bladecenter b/agents/special/agent_ucs_bladecenter
index ca55b10..8bc678f 100755
--- a/agents/special/agent_ucs_bladecenter
+++ b/agents/special/agent_ucs_bladecenter
@@ -28,7 +28,8 @@
# about connection configuration and status.
-import sys, getopt, httplib, socket, pprint, re, ssl
+import sys, getopt, pprint, re, ssl
+import requests
def usage():
sys.stderr.write("""Check_MK UCS Bladecenter Agent
@@ -93,9 +94,9 @@ def get_pattern(pattern, line):
class Server:
def __init__(self, host_address):
- self.netloc = host_address
- self.conn_handle = httplib.HTTPSConnection(self.netloc, context =
ssl._create_unverified_context())
- self.cookie = None
+ self.netloc = host_address
+ self.session_handle = requests.Session()
+ self.cookie = None
if opt_debug:
sys.stderr.write("Connecting to %s...\n" % self.netloc)
@@ -105,18 +106,21 @@ class Server:
if params is None:
params = {}
- params.update({"cookie": self.cookie})
+ cookies = {}
+ if self.cookie:
+ cookies.update({"cookie": self.cookie})
+
payload = payload % params
if opt_debug:
sys.stderr.write("====> %s\n" % payload)
- self.conn_handle.putrequest("POST", "/nuova")
- self.conn_handle.putheader("Content-Length", "%d" %
len(payload))
- self.conn_handle.putheader("Content-Type", 'text/xml;
charset="utf-8"')
- self.conn_handle.endheaders()
- self.conn_handle.send(payload)
- response = self.conn_handle.getresponse()
- data = response.read()
+ headers = {
+ "Content-Length": "%d" % len(payload),
+ "Content-Type": 'text/xml; charset="utf-8"'
+ }
+
+ response = self.session_handle.post("https://%s/nuova" % self.netloc,
headers = headers, cookies = cookies)
+ data = response.text
if opt_debug:
sys.stderr.write("<==== %s\n" % data)
return data