Do not raise exception if Jenkins API is not available
Avoid the following exception if Jenkins is not installed yet:
[CRITICAL] Failed to load grains defined
...
JenkinsException: Error in request: [Errno 111] Connection refused
Change-Id: Id849375a14fd7a928b64979b92620aa37041dc9d
Closes-Bug: https://mirantis.jira.com/browse/PROD-17822
diff --git a/_grains/jenkins_plugins.py b/_grains/jenkins_plugins.py
index f5f90dc..1ece31e 100644
--- a/_grains/jenkins_plugins.py
+++ b/_grains/jenkins_plugins.py
@@ -25,8 +25,12 @@
user = None
password = None
- server = jenkins.Jenkins(url, username=user, password=password)
- plugins = server.get_plugins(depth=1)
+ try:
+ server = jenkins.Jenkins(url, username=user, password=password)
+ plugins = server.get_plugins(depth=1)
+ except jenkins.JenkinsException:
+ return {}
+
for plugin_name, plugin_dict in plugins.iteritems():
output["jenkins_plugins"][plugin_name[0]] = {"version" : (plugin_dict["version"] or 0)}
return output