diff --git a/setup.py b/setup.py index 66dc9e0..628e8f1 100644 --- a/setup.py +++ b/setup.py @@ -114,8 +114,6 @@ def run(self): 'console_scripts': [ 'tendrl-monitoring-integration = \ tendrl.monitoring_integration.manager:main', - 'tendrl-upgrade = \ - tendrl.monitoring_integration.upgrades.delete_dashboards:main', ], }, url="http://www.redhat.com", diff --git a/tendrl/monitoring_integration/grafana/dashboard.py b/tendrl/monitoring_integration/grafana/dashboard.py index b506a1c..723d003 100644 --- a/tendrl/monitoring_integration/grafana/dashboard.py +++ b/tendrl/monitoring_integration/grafana/dashboard.py @@ -30,15 +30,21 @@ def upload_default_dashboards(): datasource.create() dashboards = dashboard_utils.get_all_dashboards() for dashboard_json in dashboards: - title.append(dashboard_json["uri"].split('/')[1]) - - for dashboard_json in NS.config.data["dashboards"]: - if dashboard_json in title: - msg = '\n' + "Dashboard " + str(dashboard_json) + \ - " already exists" + '\n' + dashboard = dashboard_json["uri"].split('/')[1] + title.append(dashboard) + # Deleting already existing dashboards if present + response = dashboard_utils.delete_dashboard(dashboard) + if 'title' in response: + msg = "\n Already existing %s deleted. \n" % dashboard + logger.log("debug", NS.get("publisher_id", None), + {'message': msg}) + else: + msg = "\n%s delete failed with error: %s \n" % (dashboard, + str(response)) logger.log("debug", NS.get("publisher_id", None), {'message': msg}) - continue + + for dashboard_json in NS.config.data["dashboards"]: response = dashboard_utils.create_dashboard(dashboard_json) if response.status_code == 200: diff --git a/tendrl/monitoring_integration/upgrades/__init__.py b/tendrl/monitoring_integration/upgrades/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/tendrl/monitoring_integration/upgrades/delete_dashboards.py b/tendrl/monitoring_integration/upgrades/delete_dashboards.py deleted file mode 100644 index b46c740..0000000 --- a/tendrl/monitoring_integration/upgrades/delete_dashboards.py +++ /dev/null @@ -1,82 +0,0 @@ -#!/usr/bin/python - -import argparse -import ConfigParser -import requests - -from requests.auth import HTTPBasicAuth - - -def delete_dashboards(server_ip, user, password): - - dashboards = ["cluster-dashboard", "brick-dashboard", "host-dashboard", - "volume-dashboard"] - - headers = {'content-type': 'application/json'} - - for dashboard in dashboards: - url = "http://%s:3000/api/dashboards/db/%s" % (server_ip, dashboard) - print (url) - response = requests.delete(url, headers=headers, - auth=HTTPBasicAuth(user, password)) - if response.status_code == 200: - print "Deleted", dashboard, "\n " - else: - print "Failed to delete", dashboard, response.json(), "\n" - - - # Deleting the alerts dashboards - url = "http://%s:3000/api/orgs/name/Alert_dashboard" \ - % server_ip - print "Getting alerts organization id\n",url,"\n" - response = requests.get(url, headers=headers, - auth=HTTPBasicAuth(user, password)) - resp = response.json() - - if 'id' in resp: - id = resp['id'] - url = "http://%s:3000/api/orgs/%s" % (server_ip, id) - print "Deleting alerts organization\n", url - response = requests.delete(url, headers=headers, - auth=HTTPBasicAuth(user, password)) - resp = response.json() - if resp == {u'message': u'Organization deleted'}: - print "Deleted Alert dashboards" - else: - print "Failed to delete Alert dashboards ", resp - - else: - print "Failed to delete Alert dashboards." - print "Organization id not found", resp - - -def main(): - try: - parser = argparse.ArgumentParser() - parser.add_argument("--username", help="grafana admin_user username") - parser.add_argument("--password", help="grafana admin_user password") - - # getting grafana admin_username and password - config = ConfigParser.ConfigParser() - config.read('/etc/tendrl/monitoring-integration/grafana/grafana.ini') - username = config.get('security', 'admin_user') - password = config.get('security', 'admin_password') - default_ip = "127.0.0.1" - - args = parser.parse_args() - if args.username: - username = args.username - if args.password: - password = args.password - - print "\n Clearing grafana dashboards \n" - delete_dashboards(server_ip=default_ip, user=username, - password=password) - print "\n Complete -- Please start tendrl-monitoring-integration service" - - except Exception as e: - print "Failed in deleting dashboards with error: %s" % e - - -if __name__ == '__main__': - main()