Skip to content

Commit

Permalink
grafana_folder: Return better message if version cannot be retrieved
Browse files Browse the repository at this point in the history
Ref: #147
  • Loading branch information
Rémi REY committed Feb 7, 2021
1 parent 07cad2f commit cf26729
Showing 1 changed file with 11 additions and 3 deletions.
14 changes: 11 additions & 3 deletions plugins/modules/grafana_folder.py
Original file line number Diff line number Diff line change
Expand Up @@ -162,6 +162,9 @@

__metaclass__ = type

class GrafanaError(Exception):
pass


class GrafanaFolderInterface(object):

Expand All @@ -175,7 +178,10 @@ def __init__(self, module):
self.headers["Authorization"] = basic_auth_header(module.params['url_username'], module.params['url_password'])
# }}}
self.grafana_url = module.params.get("url")
grafana_version = self.get_version()
try:
grafana_version = self.get_version()
except GrafanaError as e:
self._module.fail_json(failed=True, msg=to_text(e))
if grafana_version["major"] < 5:
self._module.fail_json(failed=True, msg="Folders API is available starting Grafana v5")

Expand Down Expand Up @@ -205,8 +211,10 @@ def get_version(self):
url = "/api/health"
response = self._send_request(url, data=None, headers=self.headers, method="GET")
version = response.get("version")
major, minor, rev = version.split(".")
return {"major": int(major), "minor": int(minor), "rev": int(rev)}
if version is not None:
major, minor, rev = version.split(".")
return {"major": int(major), "minor": int(minor), "rev": int(rev)}
raise GrafanaError("Failed to retrieve version from '%s'" % url)

def create_folder(self, title):
url = "/api/folders"
Expand Down

0 comments on commit cf26729

Please sign in to comment.