Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 2013-06-03 15:26:49,378 [fm.correlator] Running job dispose(51ac7d767e85c92bfcff93b5)
- 2013-06-03 15:26:49,457 UNHANDLED EXCEPTION (2013-06-03 15:26:49.404499)
- Working directory: /opt/noc
- <class 'django.core.exceptions.FieldError'>
- Cannot resolve keyword 'selector' into field. Choices are: description, enable_provisioning, enable_vc_bind_filter, id, managedobject, managedobjectselector, name, style, type, vc, vcbindfilter, vcdomainprovisioningconfig
- START OF TRACEBACK
- ------------------------------------------------------------------------
- File: /opt/noc/lib/python2.6/site-packages/django/db/models/sql/query.py (Line: 1316)
- Function: setup_joins
- 1309 # backwards compatibility purposes. If we dropped that
- 1310 # feature, this could be removed.
- 1311 field, model, direct, m2m = opts.get_field_by_name(f.name)
- 1312 break
- 1313 else:
- 1314 names = opts.get_all_field_names() + self.aggregate_select.keys()
- 1315 raise FieldError("Cannot resolve keyword %r into field. "
- 1316 ==> "Choices are: %s" % (name, ", ".join(names)))
- 1317
- 1318 if not allow_many and (m2m or not direct):
- 1319 for alias in joins:
- 1320 self.unref_alias(alias)
- 1321 raise MultiJoin(pos + 1)
- 1322 if model:
- Variables:
- last = [0, 1]
- name = 'selector'
- dupe_multis = True
- f = <django.db.models.fields.related.ForeignKey: style>
- self = <django.db.models.sql.query.Query object at 0x31f7290>
- int_alias = None
- pos = 0
- dupe_set = set([])
- process_extras = True
- allow_many = True
- alias = 'vc_vcdomain'
- names =
- ['description',
- 'enable_provisioning',
- 'enable_vc_bind_filter',
- 'id',
- 'managedobject',
- 'managedobjectselector',
- 'name',
- 'style',
- 'type',
- 'vc',
- 'vcbindfilter',
- 'vcdomainprovisioningconfig']
- joins = ['vc_vcdomain']
- negate = False
- allow_explicit_fk = True
- can_reuse = set([])
- extra_filters = []
- exclusions = set(['vc_vcdomain'])
- opts = <Options for VCDomain>
- ------------------------------------------------------------------------
- File: /opt/noc/lib/python2.6/site-packages/django/db/models/sql/query.py (Line: 1122)
- Function: add_filter
- 1115 alias = self.get_initial_alias()
- 1116 allow_many = trim or not negate
- 1117
- 1118 try:
- 1119 field, target, opts, join_list, last, extra_filters = self.setup_joins(
- 1120 parts, opts, alias, True, allow_many, allow_explicit_fk=True,
- 1121 can_reuse=can_reuse, negate=negate,
- 1122 ==> process_extras=process_extras)
- 1123 except MultiJoin, e:
- 1124 self.split_exclude(filter_expr, LOOKUP_SEP.join(parts[:e.level]),
- 1125 can_reuse)
- 1126 return
- 1127
- 1128 table_promote = False
- Variables:
- having_clause = False
- trim = False
- force_having = False
- lookup_model = <class 'noc.vc.models.vcdomain.VCDomain'>
- filter_expr = ('selector__isnull', False)
- process_extras = True
- lookup_type = 'isnull'
- counter = 0
- value = False
- self = <django.db.models.sql.query.Query object at 0x31f7290>
- connector = 'AND'
- alias = 'vc_vcdomain'
- parts = ['selector']
- num_parts = 2
- arg = 'selector__isnull'
- negate = False
- can_reuse = set([])
- field_name = 'selector'
- allow_many = True
- opts = <Options for VCDomain>
- ------------------------------------------------------------------------
- File: /opt/noc/lib/python2.6/site-packages/django/db/models/sql/query.py (Line: 1250)
- Function: add_q
- 1243 self.having.start_subtree(connector)
- 1244 else:
- 1245 self.where.start_subtree(connector)
- 1246 if isinstance(child, Node):
- 1247 self.add_q(child, used_aliases, force_having=force_having)
- 1248 else:
- 1249 self.add_filter(child, connector, q_object.negated,
- 1250 ==> can_reuse=used_aliases, force_having=force_having)
- 1251 if force_having:
- 1252 self.having.end_subtree()
- 1253 else:
- 1254 self.where.end_subtree()
- 1255
- 1256 if connector == OR:
- Variables:
- used_aliases = set([])
- force_having = False
- q_object = <django.db.models.query_utils.Q object at 0x31f7950>
- self = <django.db.models.sql.query.Query object at 0x31f7290>
- subtree = False
- connector = 'AND'
- child = ('selector__isnull', False)
- ------------------------------------------------------------------------
- File: /opt/noc/lib/python2.6/site-packages/django/db/models/query.py (Line: 639)
- Function: _filter_or_exclude
- 632 assert self.query.can_filter(), \
- 633 "Cannot filter a query once a slice has been taken."
- 634
- 635 clone = self._clone()
- 636 if negate:
- 637 clone.query.add_q(~Q(*args, **kwargs))
- 638 else:
- 639 ==> clone.query.add_q(Q(*args, **kwargs))
- 640 return clone
- 641
- 642 def complex_filter(self, filter_obj):
- 643 """
- 644 Returns a new QuerySet instance with filter_obj added to the filters.
- 645
- Variables:
- negate = False
- clone = [<VCDomain: default>]
- args = ()
- self = [<VCDomain: default>]
- kwargs = {'selector__isnull': False}
- ------------------------------------------------------------------------
- File: /opt/noc/lib/python2.6/site-packages/django/db/models/query.py (Line: 621)
- Function: filter
- 614 return self._clone()
- 615
- 616 def filter(self, *args, **kwargs):
- 617 """
- 618 Returns a new QuerySet instance with the args ANDed to the existing
- 619 set.
- 620 """
- 621 ==> return self._filter_or_exclude(False, *args, **kwargs)
- 622
- 623 def exclude(self, *args, **kwargs):
- 624 """
- 625 Returns a new QuerySet instance with NOT (args) ANDed to the existing
- 626 set.
- 627 """
- Variables:
- self = [<VCDomain: default>]
- args = ()
- kwargs = {'selector__isnull': False}
- ------------------------------------------------------------------------
- File: /opt/noc/lib/python2.6/site-packages/django/db/models/manager.py (Line: 143)
- Function: filter
- 136 def create(self, **kwargs):
- 137 return self.get_query_set().create(**kwargs)
- 138
- 139 def bulk_create(self, *args, **kwargs):
- 140 return self.get_query_set().bulk_create(*args, **kwargs)
- 141
- 142 def filter(self, *args, **kwargs):
- 143 ==> return self.get_query_set().filter(*args, **kwargs)
- 144
- 145 def aggregate(self, *args, **kwargs):
- 146 return self.get_query_set().aggregate(*args, **kwargs)
- 147
- 148 def annotate(self, *args, **kwargs):
- 149 return self.get_query_set().annotate(*args, **kwargs)
- Variables:
- self = <django.db.models.manager.Manager object at 0x96aad0>
- args = ()
- kwargs = {'selector__isnull': False}
- ------------------------------------------------------------------------
- File: /opt/noc/vc/datasources.py (Line: 33)
- Function: find_vc_domain
- 26 def find_vc_domain(self, managed_object):
- 27 """
- 28 Find VCDomain belonging to managed objects
- 29 @todo: Speed optimization
- 30 :param managed_object:
- 31 :return:
- 32 """
- 33 ==> for d in VCDomain.objects.filter(selector__isnull=False):
- 34 if managed_object in d.selector:
- 35 return d
- 36 return None
- 37
- 38 @property
- 39 def vc_domain(self):
- Variables:
- self = <noc.vc.datasources.VCDS object at 0x3190c50>
- managed_object = <ManagedObject: cct01-ors-shulka >
- ------------------------------------------------------------------------
- File: /opt/noc/vc/datasources.py (Line: 19)
- Function: __init__
- 12
- 13
- 14 class VCDS(DataSource):
- 15 _name = "vc.VCDS"
- 16
- 17 def __init__(self, managed_object, l1, l2=0):
- 18 self._vc = None
- 19 ==> self._vc_domain = self.find_vc_domain(managed_object)
- 20 if self._vc_domain:
- 21 r = list(VC.objects.filter(
- 22 vc_domain=self._vc_domain, l1=l1, l2=l2))
- 23 if r:
- 24 self._vc = r[0]
- 25
- Variables:
- self = <noc.vc.datasources.VCDS object at 0x3190c50>
- l2 = 0
- managed_object = <ManagedObject: cct01-ors-shulka >
- l1 = 235
- ------------------------------------------------------------------------
- File: /opt/noc/fm/correlator/rule.py (Line: 88)
- Function: <genexpr>
- 81 vars[v] = e.vars[k]
- 82 except KeyError:
- 83 pass
- 84 # Calculate dynamic defaults
- 85 ds_vars = vars.copy()
- 86 ds_vars["managed_object"] = e.managed_object
- 87 context = dict((k, v(ds_vars))
- 88 ==> for k, v in self.datasources.items())
- 89 context.update(vars)
- 90 for k, v in self.d_defaults.items():
- 91 x = eval(v, {}, context)
- 92 if x:
- 93 vars[k] = x
- 94 # Calculate discriminator
- Variables:
- .0 = <listiterator object at 0x3165710>
- k = u'VCDS'
- ds_vars =
- {u'from_interface': u'Gi 1/0/4',
- u'mac': u'4C:00:10:74:55:22',
- 'managed_object': <ManagedObject: cct01-ors-shulka >,
- u'to_interface': u'Gi 1/0/1',
- u'vlan': 235}
- v = <function <lambda> at 0x303a230>
- ------------------------------------------------------------------------
- File: /opt/noc/fm/correlator/rule.py (Line: 88)
- Function: get_vars
- 81 vars[v] = e.vars[k]
- 82 except KeyError:
- 83 pass
- 84 # Calculate dynamic defaults
- 85 ds_vars = vars.copy()
- 86 ds_vars["managed_object"] = e.managed_object
- 87 context = dict((k, v(ds_vars))
- 88 ==> for k, v in self.datasources.items())
- 89 context.update(vars)
- 90 for k, v in self.d_defaults.items():
- 91 x = eval(v, {}, context)
- 92 if x:
- 93 vars[k] = x
- 94 # Calculate discriminator
- Variables:
- e = <ActiveEvent: 51ac7d767e85c92bfcff93b5>
- vars =
- {u'from_interface': u'Gi 1/0/4',
- u'mac': u'4C:00:10:74:55:22',
- u'to_interface': u'Gi 1/0/1',
- u'vlan': 235}
- k = u'to_interface'
- v = u'to_interface'
- ds_vars =
- {u'from_interface': u'Gi 1/0/4',
- u'mac': u'4C:00:10:74:55:22',
- 'managed_object': <ManagedObject: cct01-ors-shulka >,
- u'to_interface': u'Gi 1/0/1',
- u'vlan': 235}
- self = <noc.fm.correlator.rule.Rule object at 0x2ed1d50>
- ------------------------------------------------------------------------
- File: /opt/noc/fm/correlator/daemon.py (Line: 188)
- Function: raise_alarm
- 181 logging.debug("%s is root cause for %s (Rule: %s)" % (
- 182 root.id, a.id, rc.name))
- 183 a.set_root(root)
- 184 return True
- 185 return False
- 186
- 187 def raise_alarm(self, r, e):
- 188 ==> discriminator, vars = r.get_vars(e)
- 189 if r.unique:
- 190 assert discriminator is not None
- 191 # @todo: unneeded SQL lookup here
- 192 a = ActiveAlarm.objects.filter(
- 193 managed_object=e.managed_object_id,
- 194 discriminator=discriminator).first()
- Variables:
- self = <noc.fm.correlator.daemon.Correlator object at 0x2635250>
- r = <noc.fm.correlator.rule.Rule object at 0x2ed1d50>
- e = <ActiveEvent: 51ac7d767e85c92bfcff93b5>
- ------------------------------------------------------------------------
- File: /opt/noc/fm/correlator/daemon.py (Line: 328)
- Function: dispose_event
- 321 # Process action
- 322 if r.action == "drop":
- 323 e.delete()
- 324 return
- 325 elif r.action == "ignore":
- 326 return
- 327 elif r.action == "raise" and r.combo_condition == "none":
- 328 ==> self.raise_alarm(r, e)
- 329 elif r.action == "clear" and r.combo_condition == "none":
- 330 self.clear_alarm(r, e)
- 331 if r.action in ("raise", "clear"):
- 332 # Write discriminator if can trigger delayed event
- 333 if r.unique and r.event_class.id in self.back_rules:
- 334 discriminator, vars = r.get_vars(e)
- Variables:
- e = <ActiveEvent: 51ac7d767e85c92bfcff93b5>
- self = <noc.fm.correlator.daemon.Correlator object at 0x2635250>
- r = <noc.fm.correlator.rule.Rule object at 0x2ed1d50>
- cond = True
- env =
- {'NOC_ACTIVATORS': <PrefixTable: NOC::Activators>,
- 'event': <ActiveEvent: 51ac7d767e85c92bfcff93b5>,
- 're': <module 're' from '/opt/noc/lib64/python2.6/re.pyc'>}
- drc = [<noc.fm.correlator.rule.Rule object at 0x2ed1d50>]
- ------------------------------------------------------------------------
- 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 0x31ca050>
- ------------------------------------------------------------------------
- File: /opt/noc/lib/scheduler/scheduler.py (Line: 253)
- Function: _job_wrapper
- 246 t.start()
- 247 else:
- 248 return self._job_wrapper(job, **kwargs)
- 249
- 250 def _job_wrapper(self, job, **kwargs):
- 251 tb = None
- 252 try:
- 253 ==> r = job.handler(**kwargs)
- 254 except Exception:
- 255 error_report()
- 256 job.on_exception()
- 257 s = job.S_EXCEPTION
- 258 tb = get_traceback()
- 259 else:
- Variables:
- job = <noc.fm.correlator.jobs.dispose.AlarmDispositionJob object at 0x31ca050>
- tb = None
- self = <noc.fm.correlator.scheduler.CorrelatorScheduler object at 0x29a6250>
- kwargs = {}
- ------------------------------------------------------------------------
- END OF TRACEBACK
- 2013-06-03 15:26:49,459 Failed to process event 51ac7d767e85c92bfcff93b5
- 2013-06-03 15:26:49,567 [fm.correlator] Removing job dispose(51ac7d767e85c92bfcff93b5)
- 2013-06-03 15:27:00,891 [fm.correlator] Running job performance_report(report)
- 2013-06-03 15:27:00,892 8 events has been disposed (success: 2, failed: 6). 60.8303530216 seconds elapsed. 0.13 events/sec
- 2013-06-03 15:27:00,892 [fm.correlator] Job performance_report(report) is completed successfully
- 2013-06-03 15:27:00,892 [fm.correlator] Rescheduling job performance_report(report) to 2013-06-03 15:28:00 status=W
- 2013-06-03 15:27:00,897 [fm.correlator] Running job dispose(51ac7d817e85c92bfcff93bd)
- 2013-06-03 15:27:00,974 UNHANDLED EXCEPTION (2013-06-03 15:27:00.920333)
- Working directory: /opt/noc
- <class 'django.core.exceptions.FieldError'>
- Cannot resolve keyword 'selector' into field. Choices are: description, enable_provisioning, enable_vc_bind_filter, id, managedobject, managedobjectselector, name, style, type, vc, vcbindfilter, vcdomainprovisioningconfig
- START OF TRACEBACK
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement