Guest User

Untitled

a guest
Oct 31st, 2020
43
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.60 KB | None | 0 0
  1. root@ZucchiniNode:/opt/noc# ./noc crashinfo view b384bc22-cc75-55b2-84e2-b14604815f8c
  2. UNHANDLED EXCEPTION (2020-10-31 10:30:32.576322)
  3. PROCESS: ./services/card/service.py
  4. VERSION: latest-20.3
  5. BRANCH: HEAD CHANGESET: 0d9729ba
  6. ERROR FINGERPRINT: b384bc22-cc75-55b2-84e2-b14604815f8c
  7. WORKING DIRECTORY: /opt/noc
  8. EXCEPTION: <class 'KeyError'> 'managed_object'
  9. START OF TRACEBACK
  10. ------------------------------------------------------------------------
  11. File: services/card/cards/monmap.py (Line: 264)
  12. Function: get_alarms_info
  13. 257 q["managed_object"] = {"$in": mo_ids}
  14. 258 coll = ActiveAlarm._get_collection().with_options(
  15. 259 read_preference=ReadPreference.SECONDARY_PREFERRED
  16. 260 )
  17. 261 r = {}
  18. 262 for o in coll.find(q, {"managed_object": 1, "severity": 1, "_id": 0}):
  19. 263 if (
  20. 264 ==> o["managed_object"] in r and r[o["managed_object"]] > o["severity"]
  21. 265 ): # Save alarm with max severity
  22. 266 continue
  23. 267 r[o["managed_object"]] = o["severity"]
  24. 268 return r
  25. 269
  26. 270 def f_glyph_summary(self, s, collapse=False):
  27. Variables:
  28. mo_ids = None
  29. alarms_all = True
  30. q = {'severity': {'$exists': True}}
  31. coll =
  32. 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')
  33. r =
  34. {1: 5000,
  35. 2: 5000,
  36. 4: 5000,
  37. 5: 5000,
  38. 6: 5000,
  39. 7: 5000,
  40. 8: 5000,
  41. 11: 5000,
  42. 13: 5000,
  43. 15: 5000,
  44. 16: 5000,
  45. 17: 5000,
  46. 18: 5000,
  47. 19: 5000,
  48. 20: 5000,
  49. 21: 5000,
  50. 22: 5000,
  51. 23: 5000,
  52. 24: 5000,
  53. 26: 5000,
  54. 27: 5000,
  55. 28: 5000,
  56. 29: 5000,
  57. 30: 5000,
  58. 31: 5000,
  59. 32: 5000,
  60. 33: 5000,
  61. 34: 5000,
  62. 35: 5000,
  63. 36: 5000,
  64. 37: 5000,
  65. 38: 5000,
  66. 39: 5000,
  67. 40: 5000,
  68. 41: 5000,
  69. 42: 5000,
  70. 43: 5000,
  71. 44: 5000,
  72. 45: 5000,
  73. 46: 5000,
  74. 47: 5000,
  75. 48: 5000,
  76. 49: 5000,
  77. 50: 5000,
  78. 51: 5000,
  79. 52: 5000,
  80. 53: 5000,
  81. 54: 5000,
  82. 55: 5000,
  83. 56: 5000,
  84. 57: 5000,
  85. 59: 5000,
  86. 60: 5000,
  87. 61: 5000,
  88. 62: 5000,
  89. 63: 5000,
  90. 64: 5000,
  91. 65: 5000,
  92. 66: 5000,
  93. 67: 5000,
  94. 68: 5000,
  95. 69: 5000,
  96. 71: 5000,
  97. 72: 5000,
  98. 73: 5000,
  99. 74: 5000,
  100. 75: 10000,
  101. 76: 5000,
  102. 77: 5000,
  103. 78: 5000,
  104. 79: 5000,
  105. 80: 5000,
  106. 81: 5000,
  107. 82: 10000,
  108. 84: 5000,
  109. 85: 5000,
  110. 86: 5000,
  111. 87: 5000,
  112. 88: 5000,
  113. 89: 5000,
  114. 95: 5000,
  115. 96: 5000,
  116. 98: 5000,
  117. 99: 5000,
  118. 101: 5000,
  119. 102: 5000,
  120. 104: 5000,
  121. 105: 5000,
  122. 108: 5000,
  123. 228: 10000}
  124. o = {'severity': 5000}
  125. ------------------------------------------------------------------------
  126. File: services/card/cards/monmap.py (Line: 125)
  127. Function: get_ajax_data
  128. 118 moss = moss.filter(container__in=con).order_by("container")
  129. 119 else:
  130. 120 moss = moss.exclude(container=None).order_by("container")
  131. 121 con = list(moss.values_list("container", flat=True))
  132. 122 mo_ids = list(moss.values_list("id", flat=True))
  133. 123 # Getting Alarms severity dict MO: Severity @todo List alarms
  134. 124 if not object_root:
  135. 125 ==> alarms = self.get_alarms_info(None, alarms_all=True)
  136. 126 else:
  137. 127 alarms = self.get_alarms_info(mo_ids)
  138. 128 # Get maintenance
  139. 129 maintenance = Maintenance.currently_affected()
  140. 130 # Getting services
  141. 131 if not object_root:
  142. Variables:
  143. self = <noc.services.card.cards.monmap.MonMapCard object at 0x7f8a04ede9d0>
  144. kwargs = {}
  145. update_dict =
  146. <function MonMapCard.get_ajax_data.<locals>.update_dict at 0x7f8a052399d0>
  147. object_id = '1'
  148. moss = <QuerySet []>
  149. objects = []
  150. objects_status = {'error': [], 'warning': [], 'good': [], 'maintenance': []}
  151. sss = {'error': {}, 'warning': {}, 'good': {}, 'maintenance': {}}
  152. services = defaultdict(<class 'list'>, {})
  153. object_root = None
  154. con = []
  155. mo_ids = []
  156. ------------------------------------------------------------------------
  157. File: services/card/card.py (Line: 69)
  158. Function: get
  159. 62 is_ajax = card_id == "ajax"
  160. 63 tpl = self.CARDS.get(card_type)
  161. 64 if not tpl:
  162. 65 raise tornado.web.HTTPError(404, "Card template not found")
  163. 66 try:
  164. 67 card = tpl(self, card_id)
  165. 68 if is_ajax:
  166. 69 ==> data = card.get_ajax_data()
  167. 70 else:
  168. 71 data = card.render()
  169. 72 except BaseCard.RedirectError as e:
  170. 73 return self.redirect(e.args[0])
  171. 74 except BaseCard.NotFoundError:
  172. 75 raise tornado.web.HTTPError(404, "Not found")
  173. Variables:
  174. self = <noc.services.card.card.CardRequestHandler object at 0x7f8a050c8f40>
  175. card_type = 'monmap'
  176. card_id = 'ajax'
  177. args = ()
  178. kwargs = {}
  179. is_ajax = True
  180. tpl = <class 'noc.services.card.cards.monmap.MonMapCard'>
  181. card = <noc.services.card.cards.monmap.MonMapCard object at 0x7f8a04ede9d0>
  182. ------------------------------------------------------------------------
  183. END OF TRACEBACK
  184.  
  185. root@ZucchiniNode:/opt/noc#
Add Comment
Please, Sign In to add comment