Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- root@Node1:/opt/noc# ./noc script --debug --pretty get_version "K12-SW"
- 2018-04-28 15:14:30,760 [noc.core.dcs.base] Resolve near service postgres
- 2018-04-28 15:14:30,760 [noc.core.http.client] HTTP GET http://consul:8500/v1/health/service/postgres?passing=1&near=_agent
- 2018-04-28 15:14:30,762 [noc.core.http.client] HTTP Response 200
- 2018-04-28 15:14:30,763 [noc.core.dcs.base] Resolved near service postgres to ['10.220.21.122:5432']
- 2018-04-28 15:14:31,610 [noc.core.dcs.base] Running resolver for service mongo
- 2018-04-28 15:14:31,611 [noc.core.dcs.base] [mongo] Starting resolver
- 2018-04-28 15:14:31,611 [noc.core.http.client] HTTP GET http://consul:8500/v1/health/service/mongo?passing=1
- 2018-04-28 15:14:31,612 [noc.core.http.client] HTTP Response 200
- 2018-04-28 15:14:31,612 [noc.core.dcs.base] [mongo] Set active services to: mongo: 10.220.21.122:27017
- 2018-04-28 15:14:31,612 [noc.core.http.client] HTTP GET http://consul:8500/v1/health/service/mongo?index=2186065&passing=1
- 2018-04-28 15:14:31,613 [noc.lib.nosql] Connecting to MongoDB {'username': 'noc', 'authentication_source': 'noc', 'readPreference': 'secondaryPreferred', 'replicaSet': 'noc', 'db': 'noc', 'socketKeepAlive': True, 'host': 'mongodb://noc:********@10.220.21.122:27017/noc', 'password': '********'}
- 2018-04-28 15:14:31,672 [noc.core.cache.base] Using cache backend: noc.core.cache.mongo.MongoCache
- 2018-04-28 15:14:31,734 [noc.main.models.doccategory] Registering Capability
- 2018-04-28 15:14:31,735 [noc.main.models.doccategory] Registering MetricType
- 2018-04-28 15:14:31,768 [noc.main.models.doccategory] Registering ConnectionType
- 2018-04-28 15:14:31,772 [noc.main.models.doccategory] Registering ObjectModel
- 2018-04-28 15:14:31,781 [noc.main.models.textindex] Adding FTS index for sa.managedobject
- 2018-04-28 15:14:31,796 [noc.main.models.textindex] Adding FTS index for ip.vrf
- 2018-04-28 15:14:31,799 [noc.main.models.textindex] Adding FTS index for vc.vc
- 2018-04-28 15:14:31,801 [noc.main.models.textindex] Adding FTS index for ip.prefix
- 2018-04-28 15:14:31,805 [noc.main.models.textindex] Adding FTS index for ip.address
- 2018-04-28 15:14:31,852 [noc.core.script.loader] Loading script Nateks.NetXpert.get_version
- 2018-04-28 15:14:31,866 [noc.core.profile.loader] Loading profile Nateks.NetXpert
- 2018-04-28 15:14:31,867 [script] [Nateks.NetXpert.get_version|10.20.52.113] Running. Input arguments: {}, timeout 3600
- 2018-04-28 15:14:31,867 [script] [Nateks.NetXpert.get_version|10.20.52.113] Open telnet CLI
- 2018-04-28 15:14:31,869 [script] [Nateks.NetXpert.get_version|10.20.52.113] [telnet] Creating IOLoop
- 2018-04-28 15:14:31,869 [script] [Nateks.NetXpert.get_version|10.20.52.113] [telnet] Connecting (u'10.20.52.113', 23)
- 2018-04-28 15:14:31,930 [script] [Nateks.NetXpert.get_version|10.20.52.113] [telnet] Connected
- 2018-04-28 15:14:31,930 [script] [Nateks.NetXpert.get_version|10.20.52.113] [telnet] State: <START>
- 2018-04-28 15:14:31,930 [script] [Nateks.NetXpert.get_version|10.20.52.113] [telnet] Setting timeout: 60s
- 2018-04-28 15:14:31,962 [script] [Nateks.NetXpert.get_version|10.20.52.113] [telnet] Received WILL ECHO
- 2018-04-28 15:14:31,962 [script] [Nateks.NetXpert.get_version|10.20.52.113] [telnet] Send DO ECHO
- 2018-04-28 15:14:31,998 [script] [Nateks.NetXpert.get_version|10.20.52.113] [telnet] Received WILL SGA
- 2018-04-28 15:14:31,998 [script] [Nateks.NetXpert.get_version|10.20.52.113] [telnet] Send DO SGA
- 2018-04-28 15:14:31,998 [script] [Nateks.NetXpert.get_version|10.20.52.113] [telnet] Received DO TTYPE
- 2018-04-28 15:14:31,998 [script] [Nateks.NetXpert.get_version|10.20.52.113] [telnet] Send WILL TTYPE
- 2018-04-28 15:14:31,998 [script] [Nateks.NetXpert.get_version|10.20.52.113] [telnet] Received DO NAWS
- 2018-04-28 15:14:31,998 [script] [Nateks.NetXpert.get_version|10.20.52.113] [telnet] Send WILL NAWS
- 2018-04-28 15:14:31,998 [script] [Nateks.NetXpert.get_version|10.20.52.113] [telnet] Send IAC SB '\x1f' '\x00\x80\x00\x80' IAC SE
- 2018-04-28 15:14:31,999 [script] [Nateks.NetXpert.get_version|10.20.52.113] [telnet] Received: 'User Access Verification\r\n\r\nUsername: '
- 2018-04-28 15:14:31,999 [script] [Nateks.NetXpert.get_version|10.20.52.113] [telnet] Match: ([Uu]ser ?[Nn]ame|[Ll]ogin): ?
- 2018-04-28 15:14:31,999 [script] [Nateks.NetXpert.get_version|10.20.52.113] [telnet] State: <USERNAME>
- 2018-04-28 15:14:31,999 [script] [Nateks.NetXpert.get_version|10.20.52.113] [telnet] Send: 'admin\n'
- 2018-04-28 15:14:31,999 [script] [Nateks.NetXpert.get_version|10.20.52.113] [telnet] Setting timeout: 30s
- 2018-04-28 15:14:32,034 [script] [Nateks.NetXpert.get_version|10.20.52.113] [telnet] Received IAC SB 1801 SE
- 2018-04-28 15:14:32,034 [script] [Nateks.NetXpert.get_version|10.20.52.113] [telnet] Received: '\xf0'
- 2018-04-28 15:14:32,066 [script] [Nateks.NetXpert.get_version|10.20.52.113] [telnet] Received: 'admin\r\n'
- 2018-04-28 15:14:32,162 [script] [Nateks.NetXpert.get_version|10.20.52.113] [telnet] Received: 'Password: '
- 2018-04-28 15:14:32,162 [script] [Nateks.NetXpert.get_version|10.20.52.113] [telnet] Match: [Pp]ass[Ww]ord: ?
- 2018-04-28 15:14:32,162 [script] [Nateks.NetXpert.get_version|10.20.52.113] [telnet] State: <PASSWORD>
- 2018-04-28 15:14:32,162 [script] [Nateks.NetXpert.get_version|10.20.52.113] [telnet] Send: 'admin\n'
- 2018-04-28 15:14:32,162 [script] [Nateks.NetXpert.get_version|10.20.52.113] [telnet] Setting timeout: 30s
- 2018-04-28 15:14:32,362 [script] [Nateks.NetXpert.get_version|10.20.52.113] [telnet] Received: '\r\n'
- 2018-04-28 15:14:32,432 [script] [Nateks.NetXpert.get_version|10.20.52.113] [telnet] Received: '\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n Welcome to Nateks NetXpert NX-3408 V1 Ethernet Switch\r\n\r\n\r\n\r\n\r\n\r\nK12-SW>'
- 2018-04-28 15:14:32,432 [script] [Nateks.NetXpert.get_version|10.20.52.113] [telnet] Match: ^\S+?>
- 2018-04-28 15:14:32,433 [script] [Nateks.NetXpert.get_version|10.20.52.113] [telnet] State: <UNPRIVILEGED_PROMPT>
- 2018-04-28 15:14:32,433 [script] [Nateks.NetXpert.get_version|10.20.52.113] [telnet] Send: 'enable\n'
- 2018-04-28 15:14:32,433 [script] [Nateks.NetXpert.get_version|10.20.52.113] [telnet] Setting timeout: 10s
- 2018-04-28 15:14:32,465 [script] [Nateks.NetXpert.get_version|10.20.52.113] [telnet] Received: 'e'
- 2018-04-28 15:14:32,551 [script] [Nateks.NetXpert.get_version|10.20.52.113] [telnet] Received: 'nable\r\nK12-SW#'
- 2018-04-28 15:14:32,551 [script] [Nateks.NetXpert.get_version|10.20.52.113] [telnet] Match: ^(?P<hostname>[a-zA-Z0-9/.]\S{0,35})(?:[-_\d\w]+)?(?:\(_config[^\)]*\))?#
- 2018-04-28 15:14:32,551 [script] [Nateks.NetXpert.get_version|10.20.52.113] [telnet] State: <PROMT>
- 2018-04-28 15:14:32,551 [script] [Nateks.NetXpert.get_version|10.20.52.113] [telnet] Refining pattern prompt to '^K12\\-SW(?:[-_\\d\\w]+)?(?:\\(_config[^\\)]*\\))?#'
- 2018-04-28 15:14:32,552 [script] [Nateks.NetXpert.get_version|10.20.52.113] [telnet] Resetting timeouts
- 2018-04-28 15:14:32,552 [script] [Nateks.NetXpert.get_version|10.20.52.113] [telnet] Send: 'show version\n'
- 2018-04-28 15:14:32,584 [script] [Nateks.NetXpert.get_version|10.20.52.113] [telnet] Received: 's'
- 2018-04-28 15:14:32,584 [script] [Nateks.NetXpert.get_version|10.20.52.113] [telnet] Received: 'how version\r\nNateks Networks Co.Ltd Internetwork Operating System Software\r\nNetXpert NX-3408 V1 Series Software, Version 2.2.0C Build 41423, RELEASE SOFTWARE\r\nCopyright (c) 2017 by Nateks Networks Co.Ltd\r\nCompiled: 2017-3-13 12:8:26 by SYS, Image text-base: 0x80008000\r\nROM: System Bootstrap, Version 0.3.8,hardware version:V1.0\r\nSerial num:20013217069, ID num:20013217069\r\nSystem image file is "Switch.bin"\r\nNateks NetXpert NX-3408 V1 RISC\r\n131072K bytes of memory,8192K bytes of flash\r\nBase ethernet MAC Addres'
- 2018-04-28 15:14:32,614 [script] [Nateks.NetXpert.get_version|10.20.52.113] [telnet] Received: 's: 00:0f:d9:0a:85:a6\r\nsnmp info:\r\n vend_ID:4249 product_ID:146 system_ID:1.3.6.1.4.1.4249.21.146\r\nK12-SW uptime is 1:01:32:58, The current time: 1970-1-2 1:32:58\r\nK12-SW#'
- 2018-04-28 15:14:32,615 [script] [Nateks.NetXpert.get_version|10.20.52.113] [telnet] Match: ^K12\-SW(?:[-_\d\w]+)?(?:\(_config[^\)]*\))?#
- 2018-04-28 15:14:32,615 [script] [Nateks.NetXpert.get_version|10.20.52.113] [telnet] State: <PROMT>
- 2018-04-28 15:14:32,615 [script] [Nateks.NetXpert.get_version|10.20.52.113] [telnet] Command: show version
- show version
- Nateks Networks Co.Ltd Internetwork Operating System Software
- NetXpert NX-3408 V1 Series Software, Version 2.2.0C Build 41423, RELEASE SOFTWARE
- Copyright (c) 2017 by Nateks Networks Co.Ltd
- Compiled: 2017-3-13 12:8:26 by SYS, Image text-base: 0x80008000
- ROM: System Bootstrap, Version 0.3.8,hardware version:V1.0
- Serial num:20013217069, ID num:20013217069
- System image file is "Switch.bin"
- Nateks NetXpert NX-3408 V1 RISC
- 131072K bytes of memory,8192K bytes of flash
- Base ethernet MAC Address: 00:0f:d9:0a:85:a6
- snmp info:
- vend_ID:4249 product_ID:146 system_ID:1.3.6.1.4.1.4249.21.146
- K12-SW uptime is 1:01:32:58, The current time: 1970-1-2 1:32:58
- 2018-04-28 15:14:32,621 [script] [Nateks.NetXpert.get_version|10.20.52.113] [telnet] Closing IOLoop
- 2018-04-28 15:14:32,789 [noc.core.debug] UNHANDLED EXCEPTION (2018-04-28 15:14:32.632184)
- PROCESS: ./commands/script.py
- VERSION: 15.05.1+microservices.9559.0ce3c50f
- BRANCH: microservices CHANGESET: 0ce3c50f
- ERROR FINGERPRINT: 2d8e17a7-7a24-5ea7-9808-8b6f6d78da59
- WORKING DIRECTORY: /opt/noc
- EXCEPTION: <class 'noc.core.script.error.UnexpectedResultError'> Unexpected result
- START OF TRACEBACK
- ------------------------------------------------------------------------
- File: core/script/base.py (Line: 643)
- Function: re_search
- 636 Returns match object.
- 637 rx can be string or compiled regular expression
- 638 """
- 639 if isinstance(rx, six.string_types):
- 640 rx = re.compile(rx, flags)
- 641 match = rx.search(s)
- 642 if match is None:
- 643 ==> raise UnexpectedResultError()
- 644 return match
- 645
- 646 def re_match(self, rx, s, flags=0):
- 647 """
- 648 Match s against regular expression rx using re.match
- 649 Raise UnexpectedResultError if regular expression is not matched.
- Variables:
- rx = <_sre.SRE_Pattern object at 0x19d3a80>
- s =
- 'Nateks Networks Co.Ltd Internetwork Operating System Software\nNetXpert NX-3408 V1 Series Software, Version 2.2.0C Build 41423, RELEASE SOFTWARE\nCopyright (c) 2017 by Nateks Networks Co.Ltd\nCompiled: 2017-3-13 12:8:26 by SYS, Image text-base: 0x80008000\nROM: System Bootstrap, Version 0.3.8,hardware version:V1.0\nSerial num:20013217069, ID num:20013217069\nSystem image file is "Switch.bin"\nNateks NetXpert NX-3408 V1 RISC\n131072K bytes of memory,8192K bytes of flash\nBase ethernet MAC Address: 00:0f:d9:0a:85:a6\nsnmp info:\n vend_ID:4249 product_ID:146 system_ID:1.3.6.1.4.1.4249.21.146\nK12-SW uptime is 1:01:32:58, The current time: 1970-1-2 1:32:58\n'
- flags = 0
- self =
- <noc.sa.profiles.Nateks.NetXpert.get_version.Script object at 0x7f2ea0840f10>
- match = None
- ------------------------------------------------------------------------
- File: sa/profiles/Nateks/NetXpert/get_version.py (Line: 32)
- Function: execute
- 25 r".*ROM: System Bootstrap, Version (?P<bootrom>[^ ,]+)"
- 26 r"Serial num:(?P<sn>[^ ,]+),.*\n"
- 27 r"Nateks (?P<platform>.*) RISC",
- 28 re.MULTILINE | re.DOTALL | re.IGNORECASE)
- 29
- 30 def execute(self):
- 31 v = self.cli("show version", cached=True)
- 32 ==> match = self.re_search(self.rx_ver, v)
- 33
- 34 return {
- 35 "vendor": "Nateks",
- 36 "platform": match.group("platform"),
- 37 "version": match.group("version"),
- 38 "attributes": {
- Variables:
- self =
- <noc.sa.profiles.Nateks.NetXpert.get_version.Script object at 0x7f2ea0840f10>
- v =
- 'Nateks Networks Co.Ltd Internetwork Operating System Software\nNetXpert NX-3408 V1 Series Software, Version 2.2.0C Build 41423, RELEASE SOFTWARE\nCopyright (c) 2017 by Nateks Networks Co.Ltd\nCompiled: 2017-3-13 12:8:26 by SYS, Image text-base: 0x80008000\nROM: System Bootstrap, Version 0.3.8,hardware version:V1.0\nSerial num:20013217069, ID num:20013217069\nSystem image file is "Switch.bin"\nNateks NetXpert NX-3408 V1 RISC\n131072K bytes of memory,8192K bytes of flash\nBase ethernet MAC Address: 00:0f:d9:0a:85:a6\nsnmp info:\n vend_ID:4249 product_ID:146 system_ID:1.3.6.1.4.1.4249.21.146\nK12-SW uptime is 1:01:32:58, The current time: 1970-1-2 1:32:58\n'
- ------------------------------------------------------------------------
- File: core/script/base.py (Line: 247)
- Function: run
- 240 self.logger.info("Using cached result")
- 241 cache_hit = True
- 242 except KeyError:
- 243 pass
- 244 # Execute script
- 245 if not cache_hit:
- 246 try:
- 247 ==> result = self.execute(**self.args)
- 248 if self.cache and self.parent and result:
- 249 self.logger.info("Caching result")
- 250 self.set_cache(self.name, self.args, result)
- 251 finally:
- 252 if not self.parent:
- 253 # Close SNMP socket when necessary
- Variables:
- cache_hit = False
- self =
- <noc.sa.profiles.Nateks.NetXpert.get_version.Script object at 0x7f2ea0840f10>
- ------------------------------------------------------------------------
- File: commands/script.py (Line: 118)
- Function: handle
- 111 capabilities=caps,
- 112 args=args,
- 113 version=version,
- 114 timeout=3600,
- 115 name=script,
- 116 collect_beef=bool(beef)
- 117 )
- 118 ==> result = scr.run()
- 119 if pretty:
- 120 pprint.pprint(result)
- 121 elif yaml:
- 122 import yaml
- 123 import sys
- 124 yaml.dump(result, sys.stdout)
- Variables:
- obj = <ManagedObject: K12-SW>
- beef = None
- service = <__main__.ServiceStub object at 0x7f2ea0840ed0>
- script = u'Nateks.NetXpert.get_version'
- script_class = <class 'noc.sa.profiles.Nateks.NetXpert.get_version.Script'>
- self = <__main__.Command object at 0x7f2ea91a23d0>
- args = {}
- use_snmp = True
- caps =
- {u'DB | Interfaces': 12,
- u'SNMP': True,
- u'SNMP | Bulk': True,
- u'SNMP | IF-MIB': True,
- u'SNMP | IF-MIB | HC': True,
- u'SNMP | v1': True,
- u'SNMP | v2c': True,
- u'SNMP | v3': False}
- yaml = False
- object_name = ['K12-SW']
- version = None
- arguments = []
- pretty = True
- credentials =
- {'access_preference': u'CS',
- 'address': u'10.20.52.113',
- 'cli_protocol': 'telnet',
- 'password': u'admin',
- 'path': None,
- 'raise_privileges': True,
- 'snmp_ro': u'kondaro',
- 'snmp_version': 'v2c',
- 'super_password': None,
- 'user': u'admin'}
- access_preference = None
- options = {}
- scr =
- <noc.sa.profiles.Nateks.NetXpert.get_version.Script object at 0x7f2ea0840f10>
- ------------------------------------------------------------------------
- File: core/management/base.py (Line: 76)
- Function: run_from_argv
- 69 enable_profiling = cmd_options.pop("enable_profiling", False)
- 70 show_metrics = cmd_options.pop("show_metrics", False)
- 71 if enable_profiling:
- 72 # Start profiler
- 73 import yappi
- 74 yappi.start()
- 75 try:
- 76 ==> return self.handle(*args, **cmd_options) or 0
- 77 except CommandError as e:
- 78 self.print(str(e))
- 79 return 1
- 80 except KeyboardInterrupt:
- 81 self.print("Ctrl+C")
- 82 return 3
- Variables:
- parser =
- ArgumentParser(prog='script.py', usage=None, description=None, version=None, formatter_class=<class 'argparse.HelpFormatter'>, conflict_handler='error', add_help=True)
- loglevel = 'debug'
- enable_profiling = False
- args = ()
- cmd_options =
- {'access_preference': None,
- 'arguments': [],
- 'beef': None,
- 'object_name': ['K12-SW'],
- 'pretty': True,
- 'script': ['get_version'],
- 'use_snmp': True,
- 'yaml': False}
- argv = ['--debug', '--pretty', 'get_version', 'K12-SW']
- self = <__main__.Command object at 0x7f2ea91a23d0>
- show_metrics = False
- options =
- Namespace(access_preference=None, arguments=[], beef=None, object_name=['K12-SW'], pretty=True, script=['get_version'], use_snmp=True, yaml=False)
- ------------------------------------------------------------------------
- END OF TRACEBACK
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement