Advertisement
Guest User

Untitled

a guest
Apr 14th, 2014
31
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 10.30 KB | None | 0 0
  1. 2014-04-14 13:31:57,232 [inv.discovery: lldp_discovery(fsw-8-bolshajasadov-56-560-sar)] UNHANDLED EXCEPTION (2014-04-14 13:31:57.212720)
  2. Working directory: /opt/noc
  3. <class 'mongoengine.base.ValidationError'>
  4. Unable to dereference <class 'noc.inv.models.interface.Interface'>:52b0874b989fcf2ba5b34a99
  5. START OF TRACEBACK
  6. ------------------------------------------------------------------------
  7. File: /opt/noc/lib/nosql.py (Line: 103)
  8. Function: __get__
  9.    96             # Dereference DBRefs
  10.    97             if isinstance(value, ObjectId):
  11.    98                 v = self.document_type.objects(id=value).first()
  12.    99                 if v is not None:
  13.   100                     instance._data[self.name] = v
  14.   101                 else:
  15.   102                     raise ValidationError("Unable to dereference %s:%s" % (
  16.   103 ==>                     self.document_type, value))
  17.   104             return super(PlainReferenceField, self).__get__(instance, owner)
  18.   105    
  19.   106         def to_mongo(self, document):
  20.   107             if isinstance(document, Document):
  21.   108                 # We need the id from the saved object to create the DBRef
  22.   109                 id_ = document.id
  23. Variables:
  24.                owner = <class 'noc.inv.models.subinterface.SubInterface'>
  25.             instance = repr() failed
  26.                 self = <noc.lib.nosql.PlainReferenceField object at 0x395ddd0>
  27.                value = ObjectId('52b0874b989fcf2ba5b34a99')
  28.                    v = None
  29. ------------------------------------------------------------------------
  30. File: /opt/noc/inv/discovery/jobs/link_discovery.py (Line: 53)
  31. Function: get_interface_by_name
  32.    46             i = Interface.objects.filter(
  33.    47                 managed_object=object.id, name=name).first()
  34.    48             if not i:
  35.    49                 # JUNOS names fixup
  36.    50                 si = list(SubInterface.objects.filter(
  37.    51                     managed_object=object.id, name=name))
  38.    52                 if len(si) == 1:
  39.    53 ==>                 i = si[0].interface
  40.    54             return i
  41.    55    
  42.    56         def submit_candidate(self, local_interface,
  43.    57                              remote_object, remote_interface=None):
  44.    58             """
  45.   59             Submit link candidate
  46. Variables:
  47.                   i = None
  48.                  si = repr() failed
  49.              object = <ManagedObject: fsw-8-bolshajasadov-56-560-sar>
  50.                name = 'GigabitEthernet0/0/1'
  51.                self =
  52. <noc.inv.discovery.jobs.lldp_discovery.LLDPLinkDiscoveryJob object at 0x3fb8350>
  53. ------------------------------------------------------------------------
  54. File: /opt/noc/inv/discovery/jobs/link_discovery.py (Line: 72)
  55. Function: submit_candidate
  56.   65             if (remote_interface and
  57.   66                 self.is_submitted(local_interface, remote_object,
  58.   67                     remote_interface)):
  59.   68                 return  # Already submitted as link
  60.   69             if (remote_object in self.candidates and
  61.   70                 (local_interface, remote_interface) in self.candidates[remote_object]):
  62.   71                 return  # Already submitted as candidate
  63.   72 ==>         i = self.get_interface_by_name(self.object, local_interface)
  64.   73             if i:
  65.   74                 if i.is_linked:
  66.   75                     return  # Already linked
  67.   76             else:
  68.   77                 return  # Interface not found
  69.   78             self.debug("Link candidate found: %s -> %s:%s" % (
  70. Variables:
  71.     local_interface = 'GigabitEthernet0/0/1'
  72.       remote_object = <ManagedObject: fsw-1-bolshajasadov-56-560-sar>
  73.    remote_interface = 'GigabitEthernet0/0/2'
  74.                self =
  75. <noc.inv.discovery.jobs.lldp_discovery.LLDPLinkDiscoveryJob object at 0x3fb8350>
  76. ------------------------------------------------------------------------
  77. File: /opt/noc/inv/discovery/jobs/lldp_discovery.py (Line: 49)
  78. Function: process_result
  79.   42                 if not remote_object:
  80.   43                     # Object not found
  81.   44                     continue
  82.   45                 # Resolve remote interface
  83.   46                 remote_port = self.get_remote_port(remote_object,
  84.   47                     ni["remote_port"], ni["remote_port_subtype"])
  85.   48                 self.submit_candidate(
  86.   49 ==>                 n["local_interface"], remote_object, remote_port)
  87.   50    
  88.   51         def get_neighbor(self, chassis_id, chassis_subtype):
  89.   52             """
  90.    53             Find neighbor by chassis id and chassis subtype
  91.    54             :param chassis_id:
  92.    55             :param chassis_subtype:
  93. Variables:
  94.                   ni =
  95. {'remote_capabilities': 4,
  96.  'remote_chassis_id': '00:25:9E:9B:F5:4D',
  97.  'remote_chassis_id_subtype': 4,
  98.  'remote_port': 'GigabitEthernet0/0/2',
  99.  'remote_port_subtype': 5,
  100.  'remote_system_name': 'fsw-1-bolshajasadov-56-560-sar'}
  101.          remote_port = 'GigabitEthernet0/0/2'
  102.                 self =
  103. <noc.inv.discovery.jobs.lldp_discovery.LLDPLinkDiscoveryJob object at 0x3fb8350>
  104.               object = <ManagedObject: fsw-8-bolshajasadov-56-560-sar>
  105.                    n =
  106. {'local_interface': 'GigabitEthernet0/0/1',
  107.  'neighbors': [{'remote_capabilities': 4,
  108.                 'remote_chassis_id': '00:25:9E:9B:F5:4D',
  109.                 'remote_chassis_id_subtype': 4,
  110.                 'remote_port': 'GigabitEthernet0/0/2',
  111.                 'remote_port_subtype': 5,
  112.                 'remote_system_name': 'fsw-1-bolshajasadov-56-560-sar'}]}
  113.               result =
  114. [{'local_interface': 'GigabitEthernet0/0/1',
  115.   'neighbors': [{'remote_capabilities': 4,
  116.                  'remote_chassis_id': '00:25:9E:9B:F5:4D',
  117.                  'remote_chassis_id_subtype': 4,
  118.                  'remote_port': 'GigabitEthernet0/0/2',
  119.                  'remote_port_subtype': 5,
  120.                  'remote_system_name': 'fsw-1-bolshajasadov-56-560-sar'}]},
  121.  {'local_interface': 'GigabitEthernet0/0/2',
  122.   'neighbors': [{'remote_capabilities': 4,
  123.                  'remote_chassis_id': '00:25:9E:EE:26:01',
  124.                  'remote_chassis_id_subtype': 4,
  125.                  'remote_port': 'GigabitEthernet0/0/1',
  126.                  'remote_port_subtype': 5,
  127.                  'remote_system_name': 'fsw-2-1begovaja-15-560-sar'}]}]
  128.        remote_object = <ManagedObject: fsw-1-bolshajasadov-56-560-sar>
  129. ------------------------------------------------------------------------
  130. File: /opt/noc/inv/discovery/jobs/link_discovery.py (Line: 218)
  131. Function: handler
  132.   211             self.own_macs = None  # [(first_mac, last_mac), ...]
  133.   212             # Fetch existing links
  134.   213             self.submited = set()  # (local_iface, remote_object, remote_iface)
  135.   214             self.load_existing_links(object)
  136.   215             # Process results
  137.   216             self.candidates = defaultdict(list)  # remote -> [(local iface, remote_iface)]
  138.   217                                                  # remote iface may be unknown
  139.   218 ==>         self.process_result(object, result)
  140.   219             # Fetch pending link checks
  141.   220             self.p_candidates = defaultdict(list)  # remote -> [(local iface, remote_iface)]
  142.   221                                                    # local iface may be unknown
  143.   222             self.load_pending_checks(object)
  144.   223             # Resolve self links
  145.   224             self.resolve_self_links(object)
  146. Variables:
  147.                 self =
  148. <noc.inv.discovery.jobs.lldp_discovery.LLDPLinkDiscoveryJob object at 0x3fb8350>
  149.               object = <ManagedObject: fsw-8-bolshajasadov-56-560-sar>
  150.               result =
  151. [{'local_interface': 'GigabitEthernet0/0/1',
  152.   'neighbors': [{'remote_capabilities': 4,
  153.                  'remote_chassis_id': '00:25:9E:9B:F5:4D',
  154.                  'remote_chassis_id_subtype': 4,
  155.                  'remote_port': 'GigabitEthernet0/0/2',
  156.                  'remote_port_subtype': 5,
  157.                  'remote_system_name': 'fsw-1-bolshajasadov-56-560-sar'}]},
  158.  {'local_interface': 'GigabitEthernet0/0/2',
  159.   'neighbors': [{'remote_capabilities': 4,
  160.                  'remote_chassis_id': '00:25:9E:EE:26:01',
  161.                  'remote_chassis_id_subtype': 4,
  162.                  'remote_port': 'GigabitEthernet0/0/1',
  163.                  'remote_port_subtype': 5,
  164.                  'remote_system_name': 'fsw-2-1begovaja-15-560-sar'}]}]
  165. ------------------------------------------------------------------------
  166. File: /opt/noc/lib/scheduler/scheduler.py (Line: 280)
  167. Function: _job_wrapper
  168.   273             else:
  169.   274                 return self._job_wrapper(job, **kwargs)
  170.   275    
  171.   276         def _job_wrapper(self, job, **kwargs):
  172.   277             tb = None
  173.   278             t0 = time.time()
  174.   279             try:
  175.   280 ==>             r = job.handler(**kwargs)
  176.   281             except Exception:
  177.   282                 # error_report()
  178.   283                 tb = get_traceback()
  179.   284                 job.error(tb)
  180.   285                 job.on_exception()
  181.   286                 s = job.S_EXCEPTION
  182. Variables:
  183.                  job =
  184. <noc.inv.discovery.jobs.lldp_discovery.LLDPLinkDiscoveryJob object at 0x3fb8350>
  185.                   tb = None
  186.                 self = <noc.inv.discovery.scheduler.DiscoveryScheduler object at 0x3653410>
  187.                   t0 = 1397467917.1932969
  188.               kwargs =
  189. {'object': <ManagedObject: fsw-8-bolshajasadov-56-560-sar>,
  190.  'result': [{'local_interface': 'GigabitEthernet0/0/1',
  191.              'neighbors': [{'remote_capabilities': 4,
  192.                             'remote_chassis_id': '00:25:9E:9B:F5:4D',
  193.                             'remote_chassis_id_subtype': 4,
  194.                             'remote_port': 'GigabitEthernet0/0/2',
  195.                             'remote_port_subtype': 5,
  196.                             'remote_system_name': 'fsw-1-bolshajasadov-56-560-sar'}]},
  197.             {'local_interface': 'GigabitEthernet0/0/2',
  198.              'neighbors': [{'remote_capabilities': 4,
  199.                             'remote_chassis_id': '00:25:9E:EE:26:01',
  200.                             'remote_chassis_id_subtype': 4,
  201.                             'remote_port': 'GigabitEthernet0/0/1',
  202.                             'remote_port_subtype': 5,
  203.                             'remote_system_name': 'fsw-2-1begovaja-15-560-sar'}]}]}
  204. ------------------------------------------------------------------------
  205. END OF TRACEBACK
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement