Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- UNHANDLED EXCEPTION (2014-06-18 14:09:52.068355)
- <type 'exceptions.TypeError'>
- unsupported operand type(s) for //: 'int' and 'NoneType'
- START OF TRACEBACK
- ------------------------------------------------------------------------
- File: /opt/noc/lib/scheduler/intervaljob.py (Line: 73)
- Function: get_next_aligned
- 66 def get_next_aligned(cls, interval, next=False, offset=0):
- 67 """
- 68 Get next time in future aligned to interval
- 69 :param interval:
- 70 :return:
- 71 """
- 72 t = int(time.time())
- 73 ==> ts = (t // interval) * interval
- 74 if next or ts < t:
- 75 ts += interval
- 76 if offset:
- 77 ts += offset * interval
- 78 return datetime.datetime.fromtimestamp(ts)
- 79
- Variables:
- cls = <class 'noc.fm.correlator.jobs.check_link.CheckLinkJob'>
- next = False
- t = 1403078992
- interval = None
- offset = 0
- ------------------------------------------------------------------------
- File: /opt/noc/lib/scheduler/intervaljob.py (Line: 61)
- Function: submit
- 54 "offset": offset,
- 55 "randomize": randomize,
- 56 "scheduled": datetime.datetime.now()
- 57 }
- 58 if failed_interval:
- 59 schedule["failed_interval"] = failed_interval
- 60 if not ts:
- 61 ==> ts = cls.get_next_aligned(effective_interval, offset=offset)
- 62 scheduler.submit(cls.name, key=key, data=data,
- 63 schedule=schedule, ts=ts)
- 64
- 65 @classmethod
- 66 def get_next_aligned(cls, interval, next=False, offset=0):
- 67 """
- Variables:
- effective_interval = None
- scheduler =
- <noc.fm.correlator.scheduler.CorrelatorScheduler object at 0x7f3c03985b90>
- failed_interval = None
- schedule =
- {'interval': [(None, 60)],
- 'offset': 0,
- 'randomize': False,
- 'scheduled': datetime.datetime(2014, 6, 18, 14, 9, 52, 60774)}
- data = {'interface': u'Ethernet0/0/2'}
- interval = [(None, 60)]
- ts = None
- keep_offset = True
- key = ObjectId('53a149503fe77285a6d763e2')
- offset = 0
- randomize = False
- cls = <class 'noc.fm.correlator.jobs.check_link.CheckLinkJob'>
- ------------------------------------------------------------------------
- File: /opt/noc/fm/correlator/joblauncher.py (Line: 49)
- Function: submit
- 42 "failed_interval": None,
- 43 "keep_offset": True
- 44 }
- 45 cfg.update(self.job.get_job_config(alarm, cfg))
- 46 self.job.submit(
- 47 self.scheduler,
- 48 key=alarm.id,
- 49 ==> **cfg
- 50 )
- Variables:
- cfg =
- {'data': {'interface': u'Ethernet0/0/2'},
- 'failed_interval': None,
- 'interval': [(None, 60)],
- 'keep_offset': True}
- alarm = <ActiveAlarm: 53a149503fe77285a6d763e2>
- self = <noc.fm.correlator.joblauncher.JobLauncher object at 0x7f3c02d0ea50>
- ------------------------------------------------------------------------
- File: /opt/noc/fm/correlator/daemon.py (Line: 312)
- Function: raise_alarm
- 305 # Silently drop alarm
- 306 logging.debug("Alarm severity is 0, dropping")
- 307 a.delete()
- 308 return
- 309 # Launch jobs when necessary
- 310 if a.alarm_class.id in self.alarm_jobs:
- 311 for job in self.alarm_jobs[r.alarm_class.id]:
- 312 ==> job.submit(a)
- 313 # Notify about new alarm
- 314 if not a.root:
- 315 a.managed_object.event(a.managed_object.EV_ALARM_RISEN, {
- 316 "alarm": a,
- 317 "subject": a.get_translated_subject("en"),
- 318 "body": a.get_translated_body("en"),
- Variables:
- aa = <ActiveAlarm: 53a149503fe77285a6d763e2>
- a = <ActiveAlarm: 53a149503fe77285a6d763e2>
- e = <ActiveEvent: 53a1494e3fe77285a3960c29>
- vars =
- {u'description': u'pppoe for skoraya 77892239191',
- u'interface': u'Ethernet0/0/2'}
- self = <noc.fm.correlator.daemon.Correlator object at 0x7f3c0464bc90>
- job = <noc.fm.correlator.joblauncher.JobLauncher object at 0x7f3c02d0ea50>
- r = <noc.fm.correlator.rule.Rule object at 0x7f3c02efbad0>
- discriminator = '492337b97792b14e9b0924cf2ec0e7d738287bb3'
- ------------------------------------------------------------------------
- File: /opt/noc/fm/correlator/daemon.py (Line: 405)
- Function: dispose_event
- 398 # Process action
- 399 if r.action == "drop":
- 400 e.delete()
- 401 return
- 402 elif r.action == "ignore":
- 403 return
- 404 elif r.action == "raise" and r.combo_condition == "none":
- 405 ==> self.raise_alarm(r, e)
- 406 elif r.action == "clear" and r.combo_condition == "none":
- 407 self.clear_alarm(r, e)
- 408 if r.action in ("raise", "clear"):
- 409 # Write discriminator if can trigger delayed event
- 410 if r.unique and r.event_class.id in self.back_rules:
- 411 discriminator, vars = r.get_vars(e)
- Variables:
- e = <ActiveEvent: 53a1494e3fe77285a3960c29>
- self = <noc.fm.correlator.daemon.Correlator object at 0x7f3c0464bc90>
- r = <noc.fm.correlator.rule.Rule object at 0x7f3c02efbad0>
- cond = True
- env =
- {'NOC_ACTIVATORS': <PrefixTable: NOC::Activators>,
- 'event': <ActiveEvent: 53a1494e3fe77285a3960c29>,
- 're': <module 're' from '/opt/noc/lib/python2.7/re.pyc'>}
- drc = [<noc.fm.correlator.rule.Rule object at 0x7f3c02efbad0>]
- ------------------------------------------------------------------------
- File: /opt/noc/fm/correlator/jobs/dispose.py (Line: 19)
- Function: handler
- 12
- 13
- 14 class AlarmDispositionJob(Job):
- 15 name = "dispose"
- 16 model = ActiveEvent
- 17
- 18 def handler(self):
- 19 ==> self.scheduler.correlator.dispose_event(self.object)
- 20 self.scheduler.correlator.update_stats(success=True)
- 21 return True
- 22
- 23 def on_exception(self):
- 24 self.scheduler.correlator.mark_as_failed(self.object)
- 25 self.scheduler.correlator.update_stats(success=False)
- Variables:
- self =
- <noc.fm.correlator.jobs.dispose.AlarmDispositionJob object at 0x7f3c070fb3d0>
- ------------------------------------------------------------------------
- File: /opt/noc/lib/scheduler/scheduler.py (Line: 283)
- Function: _job_wrapper
- 276 else:
- 277 return self._job_wrapper(job, **kwargs)
- 278
- 279 def _job_wrapper(self, job, **kwargs):
- 280 tb = None
- 281 t0 = time.time()
- 282 try:
- 283 ==> r = job.handler(**kwargs)
- 284 except Exception:
- 285 # error_report()
- 286 tb = get_traceback()
- 287 job.error(tb)
- 288 job.on_exception()
- 289 s = job.S_EXCEPTION
- Variables:
- job =
- <noc.fm.correlator.jobs.dispose.AlarmDispositionJob object at 0x7f3c070fb3d0>
- tb =
- u'UNHANDLED EXCEPTION (2014-06-18 14:09:52.060845)\nWorking directory: /opt/noc\n<type \'exceptions.TypeError\'>\nunsupported operand type(s) for //: \'int\' and \'NoneType\'\nSTART OF TRACEBACK\n------------------------------------------------------------------------\nFile: /opt/noc/lib/scheduler/intervaljob.py (Line: 73)\nFunction: get_next_aligned\n 66 def get_next_aligned(cls, interval, next=False, offset=0):\n 67 """\n 68 Get next time in future aligned to interval\n 69 :param interval:\n 70 :return:\n 71 """\n 72 t = int(time.time())\n 73 ==> ts = (t // interval) * interval\n 74 if next or ts < t:\n 75 ts += interval\n 76 if offset:\n 77 ts += offset * interval\n 78 return datetime.datetime.fromtimestamp(ts)\n 79 \nVariables:\n cls = <class \'noc.fm.correlator.jobs.check_link.CheckLinkJob\'>\n next = False\n t = 1403078992\n interval = None\n offset = 0\n------------------------------------------------------------------------\nFile: /opt/noc/lib/scheduler/intervaljob.py (Line: 61)\nFunction: submit\n 54 "offset": offset,\n 55 "randomize": randomize,\n 56 "scheduled": datetime.datetime.now()\n 57 }\n 58 if failed_interval:\n 59 schedule["failed_interval"] = failed_interval\n 60 if not ts:\n 61 ==> ts = cls.get_next_aligned(effective_interval, offset=offset)\n 62 scheduler.submit(cls.name, key=key, data=data,\n 63 schedule=schedule, ts=ts)\n 64 \n 65 @classmethod\n 66 def get_next_aligned(cls, interval, next=False, offset=0):\n 67 """\nVariables:\n effective_interval = None\n scheduler = \n<noc.fm.correlator.scheduler.CorrelatorScheduler object at 0x7f3c03985b90>\n failed_interval = None\n schedule = \n{\'interval\': [(None, 60)],\n \'offset\': 0,\n \'randomize\': False,\n \'scheduled\': datetime.datetime(2014, 6, 18, 14, 9, 52, 60774)}\n data = {\'interface\': u\'Ethernet0/0/2\'}\n interval = [(None, 60)]\n ts = None\n keep_offset = True\n key = ObjectId(\'53a149503fe77285a6d763e2\')\n offset = 0\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\'Ethernet0/0/2\'},\n \'failed_interval\': None,\n \'interval\': [(None, 60)],\n \'keep_offset\': True}\n alarm = <ActiveAlarm: 53a149503fe77285a6d763e2>\n self = <noc.fm.correlator.joblauncher.JobLauncher object at 0x7f3c02d0ea50>\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: 53a149503fe77285a6d763e2>\n a = <ActiveAlarm: 53a149503fe77285a6d763e2>\n e = <ActiveEvent: 53a1494e3fe77285a3960c29>\n vars = \n{u\'description\': u\'pppoe for skoraya 77892239191\',\n u\'interface\': u\'Ethernet0/0/2\'}\n self = <noc.fm.correlator.daemon.Correlator object at 0x7f3c0464bc90>\n job = <noc.fm.correlator.joblauncher.JobLauncher object at 0x7f3c02d0ea50>\n r = <noc.fm.correlator.rule.Rule object at 0x7f3c02efbad0>\n discriminator = \'492337b97792b14e9b0924cf2ec0e7d738287bb3\'\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: 53a1494e3fe77285a3960c29>\n self = <noc.fm.correlator.daemon.Correlator object at 0x7f3c0464bc90>\n r = <noc.fm.correlator.rule.Rule object at 0x7f3c02efbad0>\n cond = True\n env = \n{\'NOC_ACTIVATORS\': <PrefixTable: NOC::Activators>,\n \'event\': <ActiveEvent: 53a1494e3fe77285a3960c29>,\n \'re\': <module \'re\' from \'/opt/noc/lib/python2.7/re.pyc\'>}\n drc = [<noc.fm.correlator.rule.Rule object at 0x7f3c02efbad0>]\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 0x7f3c070fb3d0>\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 0x7f3c070fb3d0>\n tb = None\n self = \n<noc.fm.correlator.scheduler.CorrelatorScheduler object at 0x7f3c03985b90>\n t0 = 1403078992.01735\n kwargs = {}\n------------------------------------------------------------------------\nEND OF TRACEBACK'
- self =
- <noc.fm.correlator.scheduler.CorrelatorScheduler object at 0x7f3c03985b90>
- t0 = 1403078992.01735
- kwargs = {}
- ------------------------------------------------------------------------
- END OF TRACEBACK
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement