Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- root@ZucchiniNode:/opt/noc# ./noc crashinfo view b384bc22-cc75-55b2-84e2-b14604815f8c
- UNHANDLED EXCEPTION (2020-10-31 10:30:32.576322)
- PROCESS: ./services/card/service.py
- VERSION: latest-20.3
- BRANCH: HEAD CHANGESET: 0d9729ba
- ERROR FINGERPRINT: b384bc22-cc75-55b2-84e2-b14604815f8c
- WORKING DIRECTORY: /opt/noc
- EXCEPTION: <class 'KeyError'> 'managed_object'
- START OF TRACEBACK
- ------------------------------------------------------------------------
- File: services/card/cards/monmap.py (Line: 264)
- Function: get_alarms_info
- 257 q["managed_object"] = {"$in": mo_ids}
- 258 coll = ActiveAlarm._get_collection().with_options(
- 259 read_preference=ReadPreference.SECONDARY_PREFERRED
- 260 )
- 261 r = {}
- 262 for o in coll.find(q, {"managed_object": 1, "severity": 1, "_id": 0}):
- 263 if (
- 264 ==> o["managed_object"] in r and r[o["managed_object"]] > o["severity"]
- 265 ): # Save alarm with max severity
- 266 continue
- 267 r[o["managed_object"]] = o["severity"]
- 268 return r
- 269
- 270 def f_glyph_summary(self, s, collapse=False):
- Variables:
- mo_ids = None
- alarms_all = True
- q = {'severity': {'$exists': True}}
- coll =
- Collection(Database(MongoClient(host=['10.5.10.45:27017'], document_class=dict, tz_aware=False, connect=True, read_preference=Primary(), replicaset='noc', readpreference='secondaryPreferred', maxidletimems=60000), 'noc'), 'noc.alarms.active')
- r =
- {1: 5000,
- 2: 5000,
- 4: 5000,
- 5: 5000,
- 6: 5000,
- 7: 5000,
- 8: 5000,
- 11: 5000,
- 13: 5000,
- 15: 5000,
- 16: 5000,
- 17: 5000,
- 18: 5000,
- 19: 5000,
- 20: 5000,
- 21: 5000,
- 22: 5000,
- 23: 5000,
- 24: 5000,
- 26: 5000,
- 27: 5000,
- 28: 5000,
- 29: 5000,
- 30: 5000,
- 31: 5000,
- 32: 5000,
- 33: 5000,
- 34: 5000,
- 35: 5000,
- 36: 5000,
- 37: 5000,
- 38: 5000,
- 39: 5000,
- 40: 5000,
- 41: 5000,
- 42: 5000,
- 43: 5000,
- 44: 5000,
- 45: 5000,
- 46: 5000,
- 47: 5000,
- 48: 5000,
- 49: 5000,
- 50: 5000,
- 51: 5000,
- 52: 5000,
- 53: 5000,
- 54: 5000,
- 55: 5000,
- 56: 5000,
- 57: 5000,
- 59: 5000,
- 60: 5000,
- 61: 5000,
- 62: 5000,
- 63: 5000,
- 64: 5000,
- 65: 5000,
- 66: 5000,
- 67: 5000,
- 68: 5000,
- 69: 5000,
- 71: 5000,
- 72: 5000,
- 73: 5000,
- 74: 5000,
- 75: 10000,
- 76: 5000,
- 77: 5000,
- 78: 5000,
- 79: 5000,
- 80: 5000,
- 81: 5000,
- 82: 10000,
- 84: 5000,
- 85: 5000,
- 86: 5000,
- 87: 5000,
- 88: 5000,
- 89: 5000,
- 95: 5000,
- 96: 5000,
- 98: 5000,
- 99: 5000,
- 101: 5000,
- 102: 5000,
- 104: 5000,
- 105: 5000,
- 108: 5000,
- 228: 10000}
- o = {'severity': 5000}
- ------------------------------------------------------------------------
- File: services/card/cards/monmap.py (Line: 125)
- Function: get_ajax_data
- 118 moss = moss.filter(container__in=con).order_by("container")
- 119 else:
- 120 moss = moss.exclude(container=None).order_by("container")
- 121 con = list(moss.values_list("container", flat=True))
- 122 mo_ids = list(moss.values_list("id", flat=True))
- 123 # Getting Alarms severity dict MO: Severity @todo List alarms
- 124 if not object_root:
- 125 ==> alarms = self.get_alarms_info(None, alarms_all=True)
- 126 else:
- 127 alarms = self.get_alarms_info(mo_ids)
- 128 # Get maintenance
- 129 maintenance = Maintenance.currently_affected()
- 130 # Getting services
- 131 if not object_root:
- Variables:
- self = <noc.services.card.cards.monmap.MonMapCard object at 0x7f8a04ede9d0>
- kwargs = {}
- update_dict =
- <function MonMapCard.get_ajax_data.<locals>.update_dict at 0x7f8a052399d0>
- object_id = '1'
- moss = <QuerySet []>
- objects = []
- objects_status = {'error': [], 'warning': [], 'good': [], 'maintenance': []}
- sss = {'error': {}, 'warning': {}, 'good': {}, 'maintenance': {}}
- services = defaultdict(<class 'list'>, {})
- object_root = None
- con = []
- mo_ids = []
- ------------------------------------------------------------------------
- File: services/card/card.py (Line: 69)
- Function: get
- 62 is_ajax = card_id == "ajax"
- 63 tpl = self.CARDS.get(card_type)
- 64 if not tpl:
- 65 raise tornado.web.HTTPError(404, "Card template not found")
- 66 try:
- 67 card = tpl(self, card_id)
- 68 if is_ajax:
- 69 ==> data = card.get_ajax_data()
- 70 else:
- 71 data = card.render()
- 72 except BaseCard.RedirectError as e:
- 73 return self.redirect(e.args[0])
- 74 except BaseCard.NotFoundError:
- 75 raise tornado.web.HTTPError(404, "Not found")
- Variables:
- self = <noc.services.card.card.CardRequestHandler object at 0x7f8a050c8f40>
- card_type = 'monmap'
- card_id = 'ajax'
- args = ()
- kwargs = {}
- is_ajax = True
- tpl = <class 'noc.services.card.cards.monmap.MonMapCard'>
- card = <noc.services.card.cards.monmap.MonMapCard object at 0x7f8a04ede9d0>
- ------------------------------------------------------------------------
- END OF TRACEBACK
- root@ZucchiniNode:/opt/noc#
Add Comment
Please, Sign In to add comment