Blame SOURCES/bz1845574-azure-events-2-import-urlerror-encode-postdata.patch

02ddf4
From f2bf1d8a07ea810099b03469883cb7f485ab9ac1 Mon Sep 17 00:00:00 2001
02ddf4
From: Oyvind Albrigtsen <oalbrigt@redhat.com>
02ddf4
Date: Mon, 27 Jul 2020 10:09:43 +0200
02ddf4
Subject: [PATCH 1/2] azure-events: import URLError and encode postData when
02ddf4
 necessary
02ddf4
02ddf4
---
02ddf4
 heartbeat/azure-events.in | 6 ++++++
02ddf4
 1 file changed, 6 insertions(+)
02ddf4
02ddf4
diff --git a/heartbeat/azure-events.in b/heartbeat/azure-events.in
02ddf4
index d4a166d9f..a7f359468 100644
02ddf4
--- a/heartbeat/azure-events.in
02ddf4
+++ b/heartbeat/azure-events.in
02ddf4
@@ -13,8 +13,10 @@ import subprocess
02ddf4
 import json
02ddf4
 try:
02ddf4
 		import urllib2
02ddf4
+		from urllib2 import URLError
02ddf4
 except ImportError:
02ddf4
 		import urllib.request as urllib2
02ddf4
+		from urllib.error import URLError
02ddf4
 import socket
02ddf4
 from collections import defaultdict
02ddf4
 
02ddf4
@@ -76,9 +78,13 @@ class azHelper:
02ddf4
 		Send a request to Azure's Azure Metadata Service API
02ddf4
 		"""
02ddf4
 		url = "%s/%s?api-version=%s" % (azHelper.metadata_host, endpoint, azHelper.api_version)
02ddf4
+		data = ""
02ddf4
 		ocf.logger.debug("_sendMetadataRequest: begin; endpoint = %s, postData = %s" % (endpoint, postData))
02ddf4
 		ocf.logger.debug("_sendMetadataRequest: url = %s" % url)
02ddf4
 
02ddf4
+		if postData and type(postData) != bytes:
02ddf4
+			postData = postData.encode()
02ddf4
+
02ddf4
 		req = urllib2.Request(url, postData)
02ddf4
 		req.add_header("Metadata", "true")
02ddf4
 		req.add_header("User-Agent", USER_AGENT)
02ddf4
02ddf4
From 1ab5d71bff95eb271f1e1bbc401961dc313219d9 Mon Sep 17 00:00:00 2001
02ddf4
From: Oyvind Albrigtsen <oalbrigt@redhat.com>
02ddf4
Date: Wed, 29 Jul 2020 21:25:43 +0200
02ddf4
Subject: [PATCH 2/2] azure-events: report error if jsondata not received
02ddf4
02ddf4
---
02ddf4
 heartbeat/azure-events.in | 8 ++++++--
02ddf4
 1 file changed, 6 insertions(+), 2 deletions(-)
02ddf4
02ddf4
diff --git a/heartbeat/azure-events.in b/heartbeat/azure-events.in
02ddf4
index a7f359468..3a24d6358 100644
02ddf4
--- a/heartbeat/azure-events.in
02ddf4
+++ b/heartbeat/azure-events.in
02ddf4
@@ -117,8 +117,12 @@ class azHelper:
02ddf4
 		jsondata = azHelper._sendMetadataRequest(azHelper.instance_api)
02ddf4
 		ocf.logger.debug("getInstanceInfo: json = %s" % jsondata)
02ddf4
 
02ddf4
-		ocf.logger.debug("getInstanceInfo: finished, returning {}".format(jsondata["compute"]))
02ddf4
-		return attrDict(jsondata["compute"])
02ddf4
+		if jsondata:
02ddf4
+			ocf.logger.debug("getInstanceInfo: finished, returning {}".format(jsondata["compute"]))
02ddf4
+			return attrDict(jsondata["compute"])
02ddf4
+		else:
02ddf4
+			ocf.ocf_exit_reason("getInstanceInfo: Unable to get instance info")
02ddf4
+			sys.exit(ocf.OCF_ERR_GENERIC)
02ddf4
 
02ddf4
 	@staticmethod
02ddf4
 	def pullScheduledEvents():