projects
/
osm
/
MON.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Reformat MON to standardized format
[osm/MON.git]
/
osm_mon
/
dashboarder
/
dashboarder.py
diff --git
a/osm_mon/dashboarder/dashboarder.py
b/osm_mon/dashboarder/dashboarder.py
index
35364d6
..
bed157a
100644
(file)
--- a/
osm_mon/dashboarder/dashboarder.py
+++ b/
osm_mon/dashboarder/dashboarder.py
@@
-25,6
+25,7
@@
import logging
import time
import socket
import asyncio
import time
import socket
import asyncio
+from urllib.parse import urlparse
from osm_mon.dashboarder.service import DashboarderService
from osm_mon.core.config import Config
from osm_mon.dashboarder.service import DashboarderService
from osm_mon.core.config import Config
@@
-48,27
+49,39
@@
class Dashboarder:
async def start(self):
topics = ["users", "project"]
async def start(self):
topics = ["users", "project"]
- await self.msg_bus.aioread(topics, self._user_msg)
+ try:
+ await self.msg_bus.aioread(topics, self._user_msg)
+ except Exception as e:
+ # Failed to subscribe to kafka topics
+ log.error("Error when subscribing to topics %s", str(topics))
+ log.exception("Exception %s", str(e))
async def _user_msg(self, topic, key, values):
async def _user_msg(self, topic, key, values):
- log.debug("Message from kafka bus received: topic: %s and values: %s and key: %s", topic, values, key)
+ log.debug(
+ "Message from kafka bus received: topic: %s and values: %s and key: %s",
+ topic,
+ values,
+ key,
+ )
try:
if topic == "users" and key == "created":
log.debug("Received message from kafka for creating user")
try:
if topic == "users" and key == "created":
log.debug("Received message from kafka for creating user")
- if values.get(
'username'
):
- user = values[
'username'
]
+ if values.get(
"username"
):
+ user = values[
"username"
]
else:
else:
- user = values[
'changes']['username'
]
+ user = values[
"changes"]["username"
]
self.service.create_grafana_user(user)
# user-created and mapping is done with osm cli
self.service.create_grafana_user(user)
# user-created and mapping is done with osm cli
- if values.get(
'changes'
):
+ if values.get(
"changes"
):
# user-project-role mapping is included in change
# user-project-role mapping is included in change
- if values[
'changes'].get('project_role_mappings'
):
+ if values[
"changes"].get("project_role_mappings"
):
user_id = values["_id"]
project_data = values["changes"]["project_role_mappings"]
project_list = values["changes"].get("projects")
user_id = values["_id"]
project_data = values["changes"]["project_role_mappings"]
project_list = values["changes"].get("projects")
- self.service.create_grafana_team_member(project_data, user_id, project_list)
- elif values.get('project_role_mappings'):
+ self.service.create_grafana_team_member(
+ project_data, user_id, project_list
+ )
+ elif values.get("project_role_mappings"):
# for fresh project-role-mapping
user_id = values.get("_id")
project_data = values["project_role_mappings"]
# for fresh project-role-mapping
user_id = values.get("_id")
project_data = values["project_role_mappings"]
@@
-76,19
+89,23
@@
class Dashboarder:
self.service.create_grafana_team_member(project_data, user_id)
else:
# for keystone we will get username
self.service.create_grafana_team_member(project_data, user_id)
else:
# for keystone we will get username
- self.service.create_grafana_team_member(project_data, user=values['username'])
+ self.service.create_grafana_team_member(
+ project_data, user=values["username"]
+ )
elif topic == "users" and key == "deleted":
log.debug("Received message from kafka for deleting user")
elif topic == "users" and key == "deleted":
log.debug("Received message from kafka for deleting user")
- user = values[
'username'
]
+ user = values[
"username"
]
self.service.delete_grafana_user(user)
elif topic == "users" and key == "edited":
log.debug("Received message from kafka for associating user to team")
user_id = values["_id"]
self.service.delete_grafana_user(user)
elif topic == "users" and key == "edited":
log.debug("Received message from kafka for associating user to team")
user_id = values["_id"]
- if values["changes"].get("remove_project_role_mappings") and not \
- values["changes"].get("add_project_role_mappings"):
+ if values["changes"].get("remove_project_role_mappings") and not values[
+ "changes"
+ ].get("add_project_role_mappings"):
# Removing user-project role mapping
# Removing user-project role mapping
- self.service.remove_grafana_team_members(user_id,
- values["changes"].get("remove_project_role_mappings"))
+ self.service.remove_grafana_team_members(
+ user_id, values["changes"].get("remove_project_role_mappings")
+ )
else:
# Changing user project role mapping
if values["changes"].get("project_role_mappings"):
else:
# Changing user project role mapping
if values["changes"].get("project_role_mappings"):
@@
-113,21
+130,22
@@
class Dashboarder:
log.exception("Exception processing message: ")
def dashboard_forever(self):
log.exception("Exception processing message: ")
def dashboard_forever(self):
- log.debug('dashboard_forever')
+ log.debug("dashboard_forever")
+ grafana_parsed_uri = urlparse(self.conf.get("grafana", "url"))
while True:
try:
while True:
try:
- socket.gethostbyname(
"grafana"
)
+ socket.gethostbyname(
grafana_parsed_uri.hostname
)
log.debug("Dashboard backend is running")
except socket.error:
log.debug("Dashboard backend is not available")
log.debug("Dashboard backend is running")
except socket.error:
log.debug("Dashboard backend is not available")
- time.sleep(int(self.conf.get(
'dashboarder', 'interval'
)))
+ time.sleep(int(self.conf.get(
"dashboarder", "interval"
)))
continue
try:
self.create_dashboards()
continue
try:
self.create_dashboards()
- time.sleep(int(self.conf.get(
'dashboarder', 'interval'
)))
+ time.sleep(int(self.conf.get(
"dashboarder", "interval"
)))
except Exception:
log.exception("Error creating dashboards")
def create_dashboards(self):
self.service.create_dashboards()
except Exception:
log.exception("Error creating dashboards")
def create_dashboards(self):
self.service.create_dashboards()
- log.debug(
'Dashboarder Service > create_dashboards called!'
)
+ log.debug(
"Dashboarder Service > create_dashboards called!"
)