Advertisement
Guest User

TSergey, 2014-09-12, lldp-discovery

a guest
Sep 11th, 2014
251
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 22.09 KB | None | 0 0
  1. get_neighbor(14:D6:4D:D2:17:B8, 4) -> s83-1-1.intt
  2. Link candidate found: 5 -> s83-1-1.intt:17
  3. get_neighbor(00:21:91:8D:6E:86, 4) -> s239-1-1.intt
  4. Link candidate found: 6 -> s239-1-1.intt:25
  5. get_neighbor(00:22:B0:57:1B:17, 4) -> s141-1-1.intt
  6. Link candidate found: 7 -> s141-1-1.intt:25
  7. get_neighbor(00:21:91:97:06:7C, 4) -> s50-2-1.intt
  8. Link candidate found: 9 -> s50-2-1.intt:25
  9. get_neighbor(C0:A0:BB:42:3E:E0, 4) -> s287-1-1.intt
  10. Link candidate found: 13 -> s287-1-1.intt:9
  11. get_neighbor(5C:D9:98:1A:34:04, 4) -> s50-4-1.intt
  12. Link candidate found: 14 -> s50-4-1.intt:17
  13. get_neighbor(70:62:B8:4F:C8:40, 4) -> s705-1-1.intt
  14. Link candidate found: 17 -> s705-1-1.intt:9
  15. get_neighbor(00:21:91:53:37:5E, 4) -> s520-1-1.intt
  16. Link candidate found: 20 -> s520-1-1.intt:25
  17. get_neighbor(AC:F1:DF:AD:F7:E0, 4) -> s144-1-3.intt
  18. Link candidate found: 26 -> s144-1-3.intt:24
  19. get_neighbor(84:C9:B2:8B:04:40, 4) -> s120-1-2.intt
  20. UNHANDLED EXCEPTION (2014-09-12 08:51:30.602307)
  21. Working directory: /opt/noc
  22. <class 'bson.errors.InvalidStringData'>
  23. strings in documents must be valid UTF-8: '\x84\xc9\xb2\x8bX'
  24. START OF TRACEBACK
  25. ------------------------------------------------------------------------
  26. File: /opt/noc/lib/python2.7/site-packages/pymongo/cursor.py (Line: 848)
  27. Function: _refresh
  28. 841 else:
  29. 842 ntoreturn = self.__limit
  30. 843 self.__send_message(
  31. 844 message.query(self.__query_options(),
  32. 845 self.__collection.full_name,
  33. 846 self.__skip, ntoreturn,
  34. 847 self.__query_spec(), self.__fields,
  35. 848 ==> self.__uuid_subtype))
  36. 849 if not self.__id:
  37. 850 self.__killed = True
  38. 851 elif self.__id: # Get More
  39. 852 if self.__limit:
  40. 853 limit = self.__limit - self.__retrieved
  41. 854 if self.__batch_size:
  42. Variables:
  43. self = <pymongo.cursor.Cursor object at 0x43c7990>
  44. ntoreturn = -1
  45. ------------------------------------------------------------------------
  46. File: /opt/noc/lib/python2.7/site-packages/pymongo/cursor.py (Line: 904)
  47. Function: next
  48. 897 def __iter__(self):
  49. 898 return self
  50. 899
  51. 900 def next(self):
  52. 901 if self.__empty:
  53. 902 raise StopIteration
  54. 903 db = self.__collection.database
  55. 904 ==> if len(self.__data) or self._refresh():
  56. 905 if self.__manipulate:
  57. 906 return db._fix_outgoing(self.__data.popleft(),
  58. 907 self.__collection)
  59. 908 else:
  60. 909 return self.__data.popleft()
  61. 910 else:
  62. Variables:
  63. self = <pymongo.cursor.Cursor object at 0x43c7990>
  64. db = Database(Connection('localhost', 27017), u'noc')
  65. ------------------------------------------------------------------------
  66. File: /opt/noc/lib/python2.7/site-packages/pymongo/cursor.py (Line: 538)
  67. Function: __getitem__
  68. 531 if isinstance(index, (int, long)):
  69. 532 if index < 0:
  70. 533 raise IndexError("Cursor instances do not support negative"
  71. 534 "indices")
  72. 535 clone = self.clone()
  73. 536 clone.skip(index + self.__skip)
  74. 537 clone.limit(-1) # use a hard limit
  75. 538 ==> for doc in clone:
  76. 539 return doc
  77. 540 raise IndexError("no such item for Cursor instance")
  78. 541 raise TypeError("index %r cannot be applied to Cursor "
  79. 542 "instances" % index)
  80. 543
  81. 544 def max_scan(self, max_scan):
  82. Variables:
  83. index = 0
  84. clone = <pymongo.cursor.Cursor object at 0x43c7990>
  85. self = <pymongo.cursor.Cursor object at 0x43c79d0>
  86. ------------------------------------------------------------------------
  87. File: /opt/noc/lib/python2.7/site-packages/mongoengine/queryset.py (Line: 1159)
  88. Function: __getitem__
  89. 1152 # Allow further QuerySet modifications to be performed
  90. 1153 return self
  91. 1154 # Integer index provided
  92. 1155 elif isinstance(key, int):
  93. 1156 if self._scalar:
  94. 1157 return self._get_scalar(self._document._from_son(
  95. 1158 self._cursor[key]))
  96. 1159 ==> return self._document._from_son(self._cursor[key])
  97. 1160 raise AttributeError
  98. 1161
  99. 1162 def distinct(self, field):
  100. 1163 """Return a list of distinct values for a given field.
  101. 1164
  102. 1165 :param field: the field to select distinct values from
  103. Variables:
  104. self = repr() failed
  105. key = 0
  106. ------------------------------------------------------------------------
  107. File: /opt/noc/lib/python2.7/site-packages/mongoengine/queryset.py (Line: 864)
  108. Function: first
  109. 857 doc.save()
  110. 858 return doc
  111. 859
  112. 860 def first(self):
  113. 861 """Retrieve the first object matching the query.
  114. 862 """
  115. 863 try:
  116. 864 ==> result = self[0]
  117. 865 except IndexError:
  118. 866 result = None
  119. 867 return result
  120. 868
  121. 869 def insert(self, doc_or_docs, load_bulk=True, safe=False, write_options=None):
  122. 870 """bulk insert documents
  123. Variables:
  124. self = .. queryset mid-iteration ..
  125. ------------------------------------------------------------------------
  126. File: /opt/noc/inv/discovery/jobs/lldp_discovery.py (Line: 157)
  127. Function: get_remote_port_by_mac
  128. 150 # Unable to decode
  129. 151 self.info("Unable to decode local subtype port id %s at %s" % (
  130. 152 port, object))
  131. 153 return port
  132. 154
  133. 155 def get_remote_port_by_mac(self, object, mac):
  134. 156 i = Interface.objects.filter(managed_object=object.id,
  135. 157 ==> mac=mac).first()
  136. 158 if i:
  137. 159 return i.name
  138. 160 else:
  139. 161 return None
  140. 162
  141. 163 def get_remote_port_unspecified(self, object, port):
  142. Variables:
  143. mac = '\x84\xc9\xb2\x8bX'
  144. object = <ManagedObject: s120-1-2.intt>
  145. self =
  146. <noc.inv.discovery.jobs.lldp_discovery.LLDPLinkDiscoveryJob object at 0x48621d0>
  147. ------------------------------------------------------------------------
  148. File: /opt/noc/inv/discovery/jobs/lldp_discovery.py (Line: 95)
  149. Function: get_remote_port
  150. 88 1: self.get_remote_port_by_description, # interfaceAlias(1)
  151. 89 3: self.get_remote_port_by_mac, # macAddress(3)
  152. 90 5: self.get_remote_port_by_name, # interfaceName(5)
  153. 91 7: self.get_remote_port_by_local, # local(7)
  154. 92 128: self.get_remote_port_unspecified # undetermined
  155. 93 }.get(remote_port_subtype)
  156. 94 if f:
  157. 95 ==> return f(object, remote_port)
  158. 96 else:
  159. 97 self.info(
  160. 98 "Unsupported remote port subtype "
  161. 99 "from %s. value=%s subtype=%s" % (
  162. 100 object, remote_port, remote_port_subtype))
  163. 101 return None
  164. Variables:
  165. remote_port_subtype = 3
  166. self =
  167. <noc.inv.discovery.jobs.lldp_discovery.LLDPLinkDiscoveryJob object at 0x48621d0>
  168. remote_port = '\x84\xc9\xb2\x8bX'
  169. object = <ManagedObject: s120-1-2.intt>
  170. f =
  171. <bound method LLDPLinkDiscoveryJob.get_remote_port_by_mac of <noc.inv.discovery.jobs.lldp_discovery.LLDPLinkDiscoveryJob object at 0x48621d0>>
  172. ------------------------------------------------------------------------
  173. File: /opt/noc/inv/discovery/jobs/lldp_discovery.py (Line: 48)
  174. Function: process_result
  175. 41 self.debug("get_neighbor(%s, %s) -> %s" % (ni["remote_chassis_id"],
  176. 42 ni["remote_chassis_id_subtype"], remote_object))
  177. 43 if not remote_object:
  178. 44 # Object not found
  179. 45 continue
  180. 46 # Resolve remote interface
  181. 47 remote_port = self.get_remote_port(remote_object,
  182. 48 ==> ni["remote_port"], ni["remote_port_subtype"])
  183. 49 self.submit_candidate(
  184. 50 n["local_interface"], remote_object, remote_port)
  185. 51
  186. 52 def get_neighbor(self, chassis_id, chassis_subtype):
  187. 53 """
  188. 54 Find neighbor by chassis id and chassis subtype
  189. Variables:
  190. ni =
  191. {'remote_capabilities': 0,
  192. 'remote_chassis_id': '84:C9:B2:8B:04:40',
  193. 'remote_chassis_id_subtype': 4,
  194. 'remote_port': '\x84\xc9\xb2\x8bX',
  195. 'remote_port_subtype': 3}
  196. remote_port = '24'
  197. self =
  198. <noc.inv.discovery.jobs.lldp_discovery.LLDPLinkDiscoveryJob object at 0x48621d0>
  199. object = <ManagedObject: s50-1-1.intt>
  200. n =
  201. {'local_interface': '28',
  202. 'neighbors': [{'remote_capabilities': 0,
  203. 'remote_chassis_id': '84:C9:B2:8B:04:40',
  204. 'remote_chassis_id_subtype': 4,
  205. 'remote_port': '\x84\xc9\xb2\x8bX',
  206. 'remote_port_subtype': 3}]}
  207. result =
  208. [{'local_interface': '5',
  209. 'neighbors': [{'remote_capabilities': 6,
  210. 'remote_chassis_id': '14:D6:4D:D2:17:B8',
  211. 'remote_chassis_id_subtype': 4,
  212. 'remote_port': '1/17',
  213. 'remote_port_subtype': 7,
  214. 'remote_system_name': 's83-1-1'}]},
  215. {'local_interface': '6',
  216. 'neighbors': [{'remote_capabilities': 6,
  217. 'remote_chassis_id': '00:21:91:8D:6E:86',
  218. 'remote_chassis_id_subtype': 4,
  219. 'remote_port': '1/25',
  220. 'remote_port_subtype': 7,
  221. 'remote_system_name': 's239-1-1'}]},
  222. {'local_interface': '7',
  223. 'neighbors': [{'remote_capabilities': 6,
  224. 'remote_chassis_id': '00:22:B0:57:1B:17',
  225. 'remote_chassis_id_subtype': 4,
  226. 'remote_port': '1/25',
  227. 'remote_port_subtype': 7,
  228. 'remote_system_name': 's141-1-1'}]},
  229. {'local_interface': '9',
  230. 'neighbors': [{'remote_capabilities': 6,
  231. 'remote_chassis_id': '00:21:91:97:06:7C',
  232. 'remote_chassis_id_subtype': 4,
  233. 'remote_port': '1/25',
  234. 'remote_port_subtype': 7,
  235. 'remote_system_name': 's50-2-1'}]},
  236. {'local_interface': '13',
  237. 'neighbors': [{'remote_capabilities': 6,
  238. 'remote_chassis_id': 'C0:A0:BB:42:3E:E0',
  239. 'remote_chassis_id_subtype': 4,
  240. 'remote_port': '9',
  241. 'remote_port_subtype': 5,
  242. 'remote_system_name': 's287-1-1'}]},
  243. {'local_interface': '14',
  244. 'neighbors': [{'remote_capabilities': 6,
  245. 'remote_chassis_id': '5C:D9:98:1A:34:04',
  246. 'remote_chassis_id_subtype': 4,
  247. 'remote_port': '1/17',
  248. 'remote_port_subtype': 7,
  249. 'remote_system_name': 's50-4-1'}]},
  250. {'local_interface': '17',
  251. 'neighbors': [{'remote_capabilities': 6,
  252. 'remote_chassis_id': '70:62:B8:4F:C8:40',
  253. 'remote_chassis_id_subtype': 4,
  254. 'remote_port': '9',
  255. 'remote_port_subtype': 5,
  256. 'remote_system_name': 's705-1-1'}]},
  257. {'local_interface': '20',
  258. 'neighbors': [{'remote_capabilities': 6,
  259. 'remote_chassis_id': '00:21:91:53:37:5E',
  260. 'remote_chassis_id_subtype': 4,
  261. 'remote_port': '1/25',
  262. 'remote_port_subtype': 7,
  263. 'remote_system_name': 's520-1-1'}]},
  264. {'local_interface': '26',
  265. 'neighbors': [{'remote_capabilities': 6,
  266. 'remote_chassis_id': 'AC:F1:DF:AD:F7:E0',
  267. 'remote_chassis_id_subtype': 4,
  268. 'remote_port': '24',
  269. 'remote_port_subtype': 5,
  270. 'remote_system_name': 's144-1-3'}]},
  271. {'local_interface': '28',
  272. 'neighbors': [{'remote_capabilities': 0,
  273. 'remote_chassis_id': '84:C9:B2:8B:04:40',
  274. 'remote_chassis_id_subtype': 4,
  275. 'remote_port': '\x84\xc9\xb2\x8bX',
  276. 'remote_port_subtype': 3}]}]
  277. remote_object = <ManagedObject: s120-1-2.intt>
  278. ------------------------------------------------------------------------
  279. File: /opt/noc/inv/discovery/jobs/link_discovery.py (Line: 225)
  280. Function: handler
  281. 218 self.own_macs = None # [(first_mac, last_mac), ...]
  282. 219 # Fetch existing links
  283. 220 self.submited = set() # (local_iface, remote_object, remote_iface)
  284. 221 self.load_existing_links(object)
  285. 222 # Process results
  286. 223 self.candidates = defaultdict(list) # remote -> [(local iface, remote_iface)]
  287. 224 # remote iface may be unknown
  288. 225 ==> self.process_result(object, result)
  289. 226 # Fetch pending link checks
  290. 227 self.p_candidates = defaultdict(list) # remote -> [(local iface, remote_iface)]
  291. 228 # local iface may be unknown
  292. 229 self.load_pending_checks(object)
  293. 230 # Resolve self links
  294. 231 self.resolve_self_links(object)
  295. Variables:
  296. self =
  297. <noc.inv.discovery.jobs.lldp_discovery.LLDPLinkDiscoveryJob object at 0x48621d0>
  298. object = <ManagedObject: s50-1-1.intt>
  299. result =
  300. [{'local_interface': '5',
  301. 'neighbors': [{'remote_capabilities': 6,
  302. 'remote_chassis_id': '14:D6:4D:D2:17:B8',
  303. 'remote_chassis_id_subtype': 4,
  304. 'remote_port': '1/17',
  305. 'remote_port_subtype': 7,
  306. 'remote_system_name': 's83-1-1'}]},
  307. {'local_interface': '6',
  308. 'neighbors': [{'remote_capabilities': 6,
  309. 'remote_chassis_id': '00:21:91:8D:6E:86',
  310. 'remote_chassis_id_subtype': 4,
  311. 'remote_port': '1/25',
  312. 'remote_port_subtype': 7,
  313. 'remote_system_name': 's239-1-1'}]},
  314. {'local_interface': '7',
  315. 'neighbors': [{'remote_capabilities': 6,
  316. 'remote_chassis_id': '00:22:B0:57:1B:17',
  317. 'remote_chassis_id_subtype': 4,
  318. 'remote_port': '1/25',
  319. 'remote_port_subtype': 7,
  320. 'remote_system_name': 's141-1-1'}]},
  321. {'local_interface': '9',
  322. 'neighbors': [{'remote_capabilities': 6,
  323. 'remote_chassis_id': '00:21:91:97:06:7C',
  324. 'remote_chassis_id_subtype': 4,
  325. 'remote_port': '1/25',
  326. 'remote_port_subtype': 7,
  327. 'remote_system_name': 's50-2-1'}]},
  328. {'local_interface': '13',
  329. 'neighbors': [{'remote_capabilities': 6,
  330. 'remote_chassis_id': 'C0:A0:BB:42:3E:E0',
  331. 'remote_chassis_id_subtype': 4,
  332. 'remote_port': '9',
  333. 'remote_port_subtype': 5,
  334. 'remote_system_name': 's287-1-1'}]},
  335. {'local_interface': '14',
  336. 'neighbors': [{'remote_capabilities': 6,
  337. 'remote_chassis_id': '5C:D9:98:1A:34:04',
  338. 'remote_chassis_id_subtype': 4,
  339. 'remote_port': '1/17',
  340. 'remote_port_subtype': 7,
  341. 'remote_system_name': 's50-4-1'}]},
  342. {'local_interface': '17',
  343. 'neighbors': [{'remote_capabilities': 6,
  344. 'remote_chassis_id': '70:62:B8:4F:C8:40',
  345. 'remote_chassis_id_subtype': 4,
  346. 'remote_port': '9',
  347. 'remote_port_subtype': 5,
  348. 'remote_system_name': 's705-1-1'}]},
  349. {'local_interface': '20',
  350. 'neighbors': [{'remote_capabilities': 6,
  351. 'remote_chassis_id': '00:21:91:53:37:5E',
  352. 'remote_chassis_id_subtype': 4,
  353. 'remote_port': '1/25',
  354. 'remote_port_subtype': 7,
  355. 'remote_system_name': 's520-1-1'}]},
  356. {'local_interface': '26',
  357. 'neighbors': [{'remote_capabilities': 6,
  358. 'remote_chassis_id': 'AC:F1:DF:AD:F7:E0',
  359. 'remote_chassis_id_subtype': 4,
  360. 'remote_port': '24',
  361. 'remote_port_subtype': 5,
  362. 'remote_system_name': 's144-1-3'}]},
  363. {'local_interface': '28',
  364. 'neighbors': [{'remote_capabilities': 0,
  365. 'remote_chassis_id': '84:C9:B2:8B:04:40',
  366. 'remote_chassis_id_subtype': 4,
  367. 'remote_port': '\x84\xc9\xb2\x8bX',
  368. 'remote_port_subtype': 3}]}]
  369. ------------------------------------------------------------------------
  370. File: /opt/noc/lib/scheduler/scheduler.py (Line: 283)
  371. Function: _job_wrapper
  372. 276 else:
  373. 277 return self._job_wrapper(job, **kwargs)
  374. 278
  375. 279 def _job_wrapper(self, job, **kwargs):
  376. 280 tb = None
  377. 281 t0 = time.time()
  378. 282 try:
  379. 283 ==> r = job.handler(**kwargs)
  380. 284 except Exception:
  381. 285 # error_report()
  382. 286 tb = get_traceback()
  383. 287 job.error(tb)
  384. 288 job.on_exception()
  385. 289 s = job.S_EXCEPTION
  386. Variables:
  387. job =
  388. <noc.inv.discovery.jobs.lldp_discovery.LLDPLinkDiscoveryJob object at 0x48621d0>
  389. tb = None
  390. self = <noc.inv.discovery.scheduler.DiscoveryScheduler object at 0x3481050>
  391. t0 = 1410497490.558681
  392. kwargs =
  393. {'object': <ManagedObject: s50-1-1.intt>,
  394. 'result': [{'local_interface': '5',
  395. 'neighbors': [{'remote_capabilities': 6,
  396. 'remote_chassis_id': '14:D6:4D:D2:17:B8',
  397. 'remote_chassis_id_subtype': 4,
  398. 'remote_port': '1/17',
  399. 'remote_port_subtype': 7,
  400. 'remote_system_name': 's83-1-1'}]},
  401. {'local_interface': '6',
  402. 'neighbors': [{'remote_capabilities': 6,
  403. 'remote_chassis_id': '00:21:91:8D:6E:86',
  404. 'remote_chassis_id_subtype': 4,
  405. 'remote_port': '1/25',
  406. 'remote_port_subtype': 7,
  407. 'remote_system_name': 's239-1-1'}]},
  408. {'local_interface': '7',
  409. 'neighbors': [{'remote_capabilities': 6,
  410. 'remote_chassis_id': '00:22:B0:57:1B:17',
  411. 'remote_chassis_id_subtype': 4,
  412. 'remote_port': '1/25',
  413. 'remote_port_subtype': 7,
  414. 'remote_system_name': 's141-1-1'}]},
  415. {'local_interface': '9',
  416. 'neighbors': [{'remote_capabilities': 6,
  417. 'remote_chassis_id': '00:21:91:97:06:7C',
  418. 'remote_chassis_id_subtype': 4,
  419. 'remote_port': '1/25',
  420. 'remote_port_subtype': 7,
  421. 'remote_system_name': 's50-2-1'}]},
  422. {'local_interface': '13',
  423. 'neighbors': [{'remote_capabilities': 6,
  424. 'remote_chassis_id': 'C0:A0:BB:42:3E:E0',
  425. 'remote_chassis_id_subtype': 4,
  426. 'remote_port': '9',
  427. 'remote_port_subtype': 5,
  428. 'remote_system_name': 's287-1-1'}]},
  429. {'local_interface': '14',
  430. 'neighbors': [{'remote_capabilities': 6,
  431. 'remote_chassis_id': '5C:D9:98:1A:34:04',
  432. 'remote_chassis_id_subtype': 4,
  433. 'remote_port': '1/17',
  434. 'remote_port_subtype': 7,
  435. 'remote_system_name': 's50-4-1'}]},
  436. {'local_interface': '17',
  437. 'neighbors': [{'remote_capabilities': 6,
  438. 'remote_chassis_id': '70:62:B8:4F:C8:40',
  439. 'remote_chassis_id_subtype': 4,
  440. 'remote_port': '9',
  441. 'remote_port_subtype': 5,
  442. 'remote_system_name': 's705-1-1'}]},
  443. {'local_interface': '20',
  444. 'neighbors': [{'remote_capabilities': 6,
  445. 'remote_chassis_id': '00:21:91:53:37:5E',
  446. 'remote_chassis_id_subtype': 4,
  447. 'remote_port': '1/25',
  448. 'remote_port_subtype': 7,
  449. 'remote_system_name': 's520-1-1'}]},
  450. {'local_interface': '26',
  451. 'neighbors': [{'remote_capabilities': 6,
  452. 'remote_chassis_id': 'AC:F1:DF:AD:F7:E0',
  453. 'remote_chassis_id_subtype': 4,
  454. 'remote_port': '24',
  455. 'remote_port_subtype': 5,
  456. 'remote_system_name': 's144-1-3'}]},
  457. {'local_interface': '28',
  458. 'neighbors': [{'remote_capabilities': 0,
  459. 'remote_chassis_id': '84:C9:B2:8B:04:40',
  460. 'remote_chassis_id_subtype': 4,
  461. 'remote_port': '\x84\xc9\xb2\x8bX',
  462. 'remote_port_subtype': 3}]}]}
  463. ------------------------------------------------------------------------
  464. END OF TRACEBACK
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement