Advertisement
Guest User

nocproject offset problem

a guest
Jun 16th, 2014
216
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 14.06 KB | None | 0 0
  1. UNHANDLED EXCEPTION (2014-06-16 22:48:03.189261)
  2. <type 'exceptions.TypeError'>
  3. unsupported operand type(s) for %: 'float' and 'list'
  4. START OF TRACEBACK
  5. ------------------------------------------------------------------------
  6. File: /opt/noc/lib/scheduler/intervaljob.py (Line: 42)
  7. Function: submit
  8. 35 :param ts: Explicitly set start time
  9. 36 :return:
  10. 37 """
  11. 38 data = data or {}
  12. 39 if randomize:
  13. 40 offset = random.random()
  14. 41 elif keep_offset:
  15. 42 ==> offset = time.time() % interval / interval
  16. 43 else:
  17. 44 offset = 0
  18. 45 schedule = {
  19. 46 "interval": interval,
  20. 47 "offset": offset,
  21. 48 "randomize": randomize,
  22. Variables:
  23. scheduler =
  24. <noc.fm.correlator.scheduler.CorrelatorScheduler object at 0x7f57233c1b10>
  25. failed_interval = None
  26. data = {'interface': u'GigabitEthernet0/0/13'}
  27. interval = [(None, 60)]
  28. ts = None
  29. keep_offset = True
  30. key = ObjectId('539f1fc23fe772e40c6558fb')
  31. randomize = False
  32. cls = <class 'noc.fm.correlator.jobs.check_link.CheckLinkJob'>
  33. ------------------------------------------------------------------------
  34. File: /opt/noc/fm/correlator/joblauncher.py (Line: 49)
  35. Function: submit
  36. 42 "failed_interval": None,
  37. 43 "keep_offset": True
  38. 44 }
  39. 45 cfg.update(self.job.get_job_config(alarm, cfg))
  40. 46 self.job.submit(
  41. 47 self.scheduler,
  42. 48 key=alarm.id,
  43. 49 ==> **cfg
  44. 50 )
  45. Variables:
  46. cfg =
  47. {'data': {'interface': u'GigabitEthernet0/0/13'},
  48. 'failed_interval': None,
  49. 'interval': [(None, 60)],
  50. 'keep_offset': True}
  51. alarm = <ActiveAlarm: 539f1fc23fe772e40c6558fb>
  52. self = <noc.fm.correlator.joblauncher.JobLauncher object at 0x7f572273fa10>
  53. ------------------------------------------------------------------------
  54. File: /opt/noc/fm/correlator/daemon.py (Line: 312)
  55. Function: raise_alarm
  56. 305 # Silently drop alarm
  57. 306 logging.debug("Alarm severity is 0, dropping")
  58. 307 a.delete()
  59. 308 return
  60. 309 # Launch jobs when necessary
  61. 310 if a.alarm_class.id in self.alarm_jobs:
  62. 311 for job in self.alarm_jobs[r.alarm_class.id]:
  63. 312 ==> job.submit(a)
  64. 313 # Notify about new alarm
  65. 314 if not a.root:
  66. 315 a.managed_object.event(a.managed_object.EV_ALARM_RISEN, {
  67. 316 "alarm": a,
  68. 317 "subject": a.get_translated_subject("en"),
  69. 318 "body": a.get_translated_body("en"),
  70. Variables:
  71. aa = <ActiveAlarm: 539f1fc23fe772e40c6558fb>
  72. a = <ActiveAlarm: 539f1fc23fe772e40c6558fb>
  73. e = <ActiveEvent: 539f1fc13fe772e40947bb10>
  74. vars =
  75. {u'description': u'Gubkina 1 COD School 10.205.28.164',
  76. u'interface': u'GigabitEthernet0/0/13',
  77. u'link': '53957e733fe77206296b20df'}
  78. self = <noc.fm.correlator.daemon.Correlator object at 0x7f5724087d10>
  79. job = <noc.fm.correlator.joblauncher.JobLauncher object at 0x7f572273fa10>
  80. r = <noc.fm.correlator.rule.Rule object at 0x7f5722936a90>
  81. discriminator = '18cde8f34c7bc1f4fd9f1190f3e6c4475b2c70d5'
  82. ------------------------------------------------------------------------
  83. File: /opt/noc/fm/correlator/daemon.py (Line: 405)
  84. Function: dispose_event
  85. 398 # Process action
  86. 399 if r.action == "drop":
  87. 400 e.delete()
  88. 401 return
  89. 402 elif r.action == "ignore":
  90. 403 return
  91. 404 elif r.action == "raise" and r.combo_condition == "none":
  92. 405 ==> self.raise_alarm(r, e)
  93. 406 elif r.action == "clear" and r.combo_condition == "none":
  94. 407 self.clear_alarm(r, e)
  95. 408 if r.action in ("raise", "clear"):
  96. 409 # Write discriminator if can trigger delayed event
  97. 410 if r.unique and r.event_class.id in self.back_rules:
  98. 411 discriminator, vars = r.get_vars(e)
  99. Variables:
  100. e = <ActiveEvent: 539f1fc13fe772e40947bb10>
  101. self = <noc.fm.correlator.daemon.Correlator object at 0x7f5724087d10>
  102. r = <noc.fm.correlator.rule.Rule object at 0x7f5722936a90>
  103. cond = True
  104. env =
  105. {'NOC_ACTIVATORS': <PrefixTable: NOC::Activators>,
  106. 'event': <ActiveEvent: 539f1fc13fe772e40947bb10>,
  107. 're': <module 're' from '/opt/noc/lib/python2.7/re.pyc'>}
  108. drc = [<noc.fm.correlator.rule.Rule object at 0x7f5722936a90>]
  109. ------------------------------------------------------------------------
  110. File: /opt/noc/fm/correlator/jobs/dispose.py (Line: 19)
  111. Function: handler
  112. 12
  113. 13
  114. 14 class AlarmDispositionJob(Job):
  115. 15 name = "dispose"
  116. 16 model = ActiveEvent
  117. 17
  118. 18 def handler(self):
  119. 19 ==> self.scheduler.correlator.dispose_event(self.object)
  120. 20 self.scheduler.correlator.update_stats(success=True)
  121. 21 return True
  122. 22
  123. 23 def on_exception(self):
  124. 24 self.scheduler.correlator.mark_as_failed(self.object)
  125. 25 self.scheduler.correlator.update_stats(success=False)
  126. Variables:
  127. self =
  128. <noc.fm.correlator.jobs.dispose.AlarmDispositionJob object at 0x7f57227731d0>
  129. ------------------------------------------------------------------------
  130. File: /opt/noc/lib/scheduler/scheduler.py (Line: 283)
  131. Function: _job_wrapper
  132. 276 else:
  133. 277 return self._job_wrapper(job, **kwargs)
  134. 278
  135. 279 def _job_wrapper(self, job, **kwargs):
  136. 280 tb = None
  137. 281 t0 = time.time()
  138. 282 try:
  139. 283 ==> r = job.handler(**kwargs)
  140. 284 except Exception:
  141. 285 # error_report()
  142. 286 tb = get_traceback()
  143. 287 job.error(tb)
  144. 288 job.on_exception()
  145. 289 s = job.S_EXCEPTION
  146. Variables:
  147. job =
  148. <noc.fm.correlator.jobs.dispose.AlarmDispositionJob object at 0x7f57227731d0>
  149. tb =
  150. u'UNHANDLED EXCEPTION (2014-06-16 22:48:03.178539)\nWorking directory: /opt/noc\n<type \'exceptions.TypeError\'>\nunsupported operand type(s) for %: \'float\' and \'list\'\nSTART OF TRACEBACK\n------------------------------------------------------------------------\nFile: /opt/noc/lib/scheduler/intervaljob.py (Line: 42)\nFunction: submit\n 35 :param ts: Explicitly set start time\n 36 :return:\n 37 """\n 38 data = data or {}\n 39 if randomize:\n 40 offset = random.random()\n 41 elif keep_offset:\n 42 ==> offset = time.time() % interval / interval\n 43 else:\n 44 offset = 0\n 45 schedule = {\n 46 "interval": interval,\n 47 "offset": offset,\n 48 "randomize": randomize,\nVariables:\n scheduler = \n<noc.fm.correlator.scheduler.CorrelatorScheduler object at 0x7f57233c1b10>\n failed_interval = None\n data = {\'interface\': u\'GigabitEthernet0/0/13\'}\n interval = [(None, 60)]\n ts = None\n keep_offset = True\n key = ObjectId(\'539f1fc23fe772e40c6558fb\')\n randomize = False\n cls = <class \'noc.fm.correlator.jobs.check_link.CheckLinkJob\'>\n------------------------------------------------------------------------\nFile: /opt/noc/fm/correlator/joblauncher.py (Line: 49)\nFunction: submit\n 42 "failed_interval": None,\n 43 "keep_offset": True\n 44 }\n 45 cfg.update(self.job.get_job_config(alarm, cfg))\n 46 self.job.submit(\n 47 self.scheduler,\n 48 key=alarm.id,\n 49 ==> **cfg\n 50 )\nVariables:\n cfg = \n{\'data\': {\'interface\': u\'GigabitEthernet0/0/13\'},\n \'failed_interval\': None,\n \'interval\': [(None, 60)],\n \'keep_offset\': True}\n alarm = <ActiveAlarm: 539f1fc23fe772e40c6558fb>\n self = <noc.fm.correlator.joblauncher.JobLauncher object at 0x7f572273fa10>\n------------------------------------------------------------------------\nFile: /opt/noc/fm/correlator/daemon.py (Line: 312)\nFunction: raise_alarm\n 305 # Silently drop alarm\n 306 logging.debug("Alarm severity is 0, dropping")\n 307 a.delete()\n 308 return\n 309 # Launch jobs when necessary\n 310 if a.alarm_class.id in self.alarm_jobs:\n 311 for job in self.alarm_jobs[r.alarm_class.id]:\n 312 ==> job.submit(a)\n 313 # Notify about new alarm\n 314 if not a.root:\n 315 a.managed_object.event(a.managed_object.EV_ALARM_RISEN, {\n 316 "alarm": a,\n 317 "subject": a.get_translated_subject("en"),\n 318 "body": a.get_translated_body("en"),\nVariables:\n aa = <ActiveAlarm: 539f1fc23fe772e40c6558fb>\n a = <ActiveAlarm: 539f1fc23fe772e40c6558fb>\n e = <ActiveEvent: 539f1fc13fe772e40947bb10>\n vars = \n{u\'description\': u\'Gubkina 1 COD School 10.205.28.164\',\n u\'interface\': u\'GigabitEthernet0/0/13\',\n u\'link\': \'53957e733fe77206296b20df\'}\n self = <noc.fm.correlator.daemon.Correlator object at 0x7f5724087d10>\n job = <noc.fm.correlator.joblauncher.JobLauncher object at 0x7f572273fa10>\n r = <noc.fm.correlator.rule.Rule object at 0x7f5722936a90>\n discriminator = \'18cde8f34c7bc1f4fd9f1190f3e6c4475b2c70d5\'\n------------------------------------------------------------------------\nFile: /opt/noc/fm/correlator/daemon.py (Line: 405)\nFunction: dispose_event\n 398 # Process action\n 399 if r.action == "drop":\n 400 e.delete()\n 401 return\n 402 elif r.action == "ignore":\n 403 return\n 404 elif r.action == "raise" and r.combo_condition == "none":\n 405 ==> self.raise_alarm(r, e)\n 406 elif r.action == "clear" and r.combo_condition == "none":\n 407 self.clear_alarm(r, e)\n 408 if r.action in ("raise", "clear"):\n 409 # Write discriminator if can trigger delayed event\n 410 if r.unique and r.event_class.id in self.back_rules:\n 411 discriminator, vars = r.get_vars(e)\nVariables:\n e = <ActiveEvent: 539f1fc13fe772e40947bb10>\n self = <noc.fm.correlator.daemon.Correlator object at 0x7f5724087d10>\n r = <noc.fm.correlator.rule.Rule object at 0x7f5722936a90>\n cond = True\n env = \n{\'NOC_ACTIVATORS\': <PrefixTable: NOC::Activators>,\n \'event\': <ActiveEvent: 539f1fc13fe772e40947bb10>,\n \'re\': <module \'re\' from \'/opt/noc/lib/python2.7/re.pyc\'>}\n drc = [<noc.fm.correlator.rule.Rule object at 0x7f5722936a90>]\n------------------------------------------------------------------------\nFile: /opt/noc/fm/correlator/jobs/dispose.py (Line: 19)\nFunction: handler\n 12 \n 13 \n 14 class AlarmDispositionJob(Job):\n 15 name = "dispose"\n 16 model = ActiveEvent\n 17 \n 18 def handler(self):\n 19 ==> self.scheduler.correlator.dispose_event(self.object)\n 20 self.scheduler.correlator.update_stats(success=True)\n 21 return True\n 22 \n 23 def on_exception(self):\n 24 self.scheduler.correlator.mark_as_failed(self.object)\n 25 self.scheduler.correlator.update_stats(success=False)\nVariables:\n self = \n<noc.fm.correlator.jobs.dispose.AlarmDispositionJob object at 0x7f57227731d0>\n------------------------------------------------------------------------\nFile: /opt/noc/lib/scheduler/scheduler.py (Line: 283)\nFunction: _job_wrapper\n 276 else:\n 277 return self._job_wrapper(job, **kwargs)\n 278 \n 279 def _job_wrapper(self, job, **kwargs):\n 280 tb = None\n 281 t0 = time.time()\n 282 try:\n 283 ==> r = job.handler(**kwargs)\n 284 except Exception:\n 285 # error_report()\n 286 tb = get_traceback()\n 287 job.error(tb)\n 288 job.on_exception()\n 289 s = job.S_EXCEPTION\nVariables:\n job = \n<noc.fm.correlator.jobs.dispose.AlarmDispositionJob object at 0x7f57227731d0>\n tb = None\n self = \n<noc.fm.correlator.scheduler.CorrelatorScheduler object at 0x7f57233c1b10>\n t0 = 1402937282.349127\n kwargs = {}\n------------------------------------------------------------------------\nEND OF TRACEBACK'
  151. self =
  152. <noc.fm.correlator.scheduler.CorrelatorScheduler object at 0x7f57233c1b10>
  153. t0 = 1402937282.349127
  154. kwargs = {}
  155. ------------------------------------------------------------------------
  156. END OF TRACEBACK
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement