Fix for bug 1447 Grafana user not associated with team
Change-Id: I69aced0620b1bbf8d79f862ee9bf352d1ea9b4d5
Signed-off-by: palsus <subhankar.pal@aricent.com>
Signed-off-by: Atul Agarwal <Atul.Agarwal@Altran.com>
(cherry picked from commit 806fe459500347c2ed0b8c787aae2d94b709d836)
diff --git a/osm_mon/dashboarder/backends/grafana.py b/osm_mon/dashboarder/backends/grafana.py
index eeb5e75..a1cbcba 100644
--- a/osm_mon/dashboarder/backends/grafana.py
+++ b/osm_mon/dashboarder/backends/grafana.py
@@ -207,6 +207,7 @@
requests.request("POST", self.url + "/api/folders/{}/permissions".format(folder_name),
json=permission_data, headers=self.headers)
+ # delete user from grafana
def delete_grafana_users(self, user_name):
# Get user id
response_id = requests.request("GET", self.url + "/api/users/lookup?loginOrEmail={}".format(user_name),
@@ -220,6 +221,7 @@
log.info("User %s deleted in Grafana", user_name)
return response
+ # delete team from grafana
def delete_grafana_team(self, project_name):
# Delete Grafana folder
requests.request("DELETE", self.url + "/api/folders/{}".format(project_name),
@@ -232,6 +234,7 @@
log.info("Team %s deleted in Grafana", project_name)
return response
+ # update grafana team
def update_grafana_teams(self, project_new_name, project_old_name):
team_obj = requests.request("GET", self.url + "/api/teams/search?name={}".format(project_old_name),
headers=self.headers)
@@ -240,3 +243,18 @@
response = requests.request("PUT", self.url + "/api/teams/{}".format(team_id), json=data, headers=self.headers)
log.info("Grafana team updated %s", response.text)
return response
+
+ # remove member from grafana team
+ def remove_grafana_team_member(self, user_name, project_data):
+ # Get user id
+ response_id = requests.request("GET", self.url + "/api/users/lookup?loginOrEmail={}".format(user_name),
+ headers=self.headers)
+ user_id = json.loads(response_id.text)["id"]
+ for project in project_data:
+ # Get team id
+ team_obj = requests.request("GET", self.url + "/api/teams/search?name={}".format(project['project']),
+ headers=self.headers)
+ team_id = json.loads(team_obj.text)["teams"][0]["id"]
+ response = requests.request("DELETE", self.url + "/api/teams/{}/members/{}".format(team_id, user_id),
+ headers=self.headers)
+ return response