{"body":"\n2016-02-03 20:37:36.786914  [box] Starting\n2016-02-03 20:37:36.791304 [discovery|box|pmo-ar01|profile]  Checking profile\n2016-02-03 20:37:36.791371 [discovery|box|pmo-ar01|profile]  Compiling rules\n2016-02-03 20:37:56.827376 [discovery|box|pmo-ar01|profile]  Cannot find profile\n2016-02-03 20:37:56.827502 [discovery|box|pmo-ar01|version]  Checking version\n2016-02-03 20:38:07.002955 [discovery|box|pmo-ar01|version]  UNHANDLED EXCEPTION (2016-02-03 20:38:06.992019)\nBRANCH: feature/microservices TIP: 3032694d798a\nPROCESS: ./services/discovery/service.py\nERROR FINGERPRINT: 1ee46bb5-0acf-5977-b094-6ac3fe13dcb2\nWORKING DIRECTORY: /opt/noc\nEXCEPTION: <class 'noc.core.service.client.RPCRemoteError'> Failed: RPC Error: RPC call failed: Failed: Stream is closed\nSTART OF TRACEBACK\n------------------------------------------------------------------------\nFile: core/service/client.py (Line: 130)\nFunction: __call__\n  123                         raise RPCException(why)\n  124                 if not response:\n  125                     raise RPCNoService(\n  126                         \"No active service %s found\" % service\n  127                     )\n  128                 data = json.loads(response.body)\n  129                 if data.get(\"error\"):\n  130 ==>                 raise RPCRemoteError(data[\"error\"])\n  131                 t = time.time() - t0\n  132                 logger.debug(\"[<CALL] %s (%.2fms)\", self.method, t * 1000)\n  133                 return data[\"result\"]\n  134     \n  135         def __init__(self, service, calling_service=None):\n  136             self._service = service\nVariables:\n                body = '{\"params\": [3, \"get_version\", {}, null], \"id\": 21, \"method\": \"script\"}'\n     calling_service = 'MTManager'\n                args = (3, 'get_version', {}, None)\n                last = '10.50.64.73:19010'\n             service = 'sae'\n                self = <noc.core.service.client.CallProxy object at 0x7f54f5469c90>\n                 req = {'params': [3, 'get_version', {}, None], 'id': 21, 'method': 'script'}\n                   l = '10.50.64.73:19010'\n                  t0 = 1454521076.827538\n                  st = 1.0\n             headers = {'X-NOC-Calling-Service': 'MTManager'}\n              client = <tornado.httpclient.HTTPClient object at 0x7f54f5469150>\n            services = \n['10.50.64.73:19010',\n '10.50.64.73:19010',\n '10.50.64.73:19010',\n '10.50.64.73:19010',\n '10.50.64.73:19010']\n              logger = <logging.Logger object at 0x7f54f5a159d0>\n                data = \n{u'error': u'Failed: RPC Error: RPC call failed: Failed: Stream is closed',\n u'id': 21}\n            response = \nHTTPResponse(_body='{\"id\": 21, \"error\": \"Failed: RPC Error: RPC call failed: Failed: Stream is closed\"}',buffer=<_io.BytesIO object at 0x7f54f5434590>,code=200,effective_url='http://10.50.64.73:19010/api/sae/',error=None,headers=<tornado.httputil.HTTPHeaders object at 0x7f54f4df5ed0>,reason='OK',request=<tornado.httpclient.HTTPRequest object at 0x7f54f4c698d0>,request_time=10.163822889328003,time_info={})\n------------------------------------------------------------------------\nFile: sa/mtmanager.py (Line: 30)\nFunction: run\n   23             \"\"\"\n   24             Run SA script and wait for result\n   25             \"\"\"\n   26             if \".\" in script:\n   27                 # Leave only script name\n   28                 script = script.split(\".\")[-1]\n   29             return RPCClient(\"sae\", calling_service=\"MTManager\").script(\n   30 ==>             object.id, script, params, timeout\n   31             )\n   32     \n   33     \n   34     # Run single instance\n   35     MTManager = MTManagerImplementation()\nVariables:\n                self = <noc.sa.mtmanager.MTManagerImplementation object at 0x7f54fc0ee810>\n              object = <ManagedObject: pmo-ar01>\n              params = {}\n             timeout = None\n              script = 'get_version'\n------------------------------------------------------------------------\nFile: sa/models/managedobject.py (Line: 252)\nFunction: __call__\n  245         class ScriptsProxy(object):\n  246             class CallWrapper(object):\n  247                 def __init__(self, obj, name):\n  248                     self.name = name\n  249                     self.object = obj\n  250     \n  251                 def __call__(self, **kwargs):\n  252 ==>                 return MTManager.run(self.object, self.name, kwargs)\n  253     \n  254             def __init__(self, obj):\n  255                 self._object = obj\n  256                 self._cache = {}\n  257     \n  258             def __getattr__(self, name):\nVariables:\n                self = <noc.sa.models.managedobject.CallWrapper object at 0x7f54f5a695d0>\n              kwargs = {}\n------------------------------------------------------------------------\nFile: services/discovery/jobs/box/version.py (Line: 22)\nFunction: handler\n   15         Version discovery\n   16         \"\"\"\n   17         name = \"version\"\n   18         required_script = \"get_version\"\n   19     \n   20         def handler(self):\n   21             self.logger.info(\"Checking version\")\n   22 ==>         result = self.object.scripts.get_version()\n   23             r = {}\n   24             for k in result:\n   25                 v = result[k]\n   26                 if k == \"attributes\":\n   27                     for kk in v:\n   28                         r[kk] = v[kk]\nVariables:\n                self = \n<noc.services.discovery.jobs.box.version.VersionCheck object at 0x7f54f4e94090>\n------------------------------------------------------------------------\nFile: services/discovery/jobs/base.py (Line: 102)\nFunction: run\n   95                         self.logger.info(\n   96                             \"Capability '%s' is disabled. Skipping\",\n   97                             cn\n   98                         )\n   99                         return\n  100             # Run check\n  101             try:\n  102 ==>             self.handler()\n  103             except Exception:\n  104                 error_report(logger=self.logger)\n  105     \n  106         def handler(self):\n  107             pass\n  108     \nVariables:\n                self = \n<noc.services.discovery.jobs.box.version.VersionCheck object at 0x7f54f4e94090>\n------------------------------------------------------------------------\nEND OF TRACEBACK\n2016-02-03 20:38:07.003350 [discovery|box|pmo-ar01|caps]  Checking capabilities\n2016-02-03 20:38:17.070891 [discovery|box|pmo-ar01|caps]  UNHANDLED EXCEPTION (2016-02-03 20:38:17.055453)\nBRANCH: feature/microservices TIP: 3032694d798a\nPROCESS: ./services/discovery/service.py\nERROR FINGERPRINT: 1ee46bb5-0acf-5977-b094-6ac3fe13dcb2\nWORKING DIRECTORY: /opt/noc\nEXCEPTION: <class 'noc.core.service.client.RPCRemoteError'> Failed: RPC Error: RPC call failed: Failed: Stream is closed\nSTART OF TRACEBACK\n------------------------------------------------------------------------\nFile: core/service/client.py (Line: 130)\nFunction: __call__\n  123                         raise RPCException(why)\n  124                 if not response:\n  125                     raise RPCNoService(\n  126                         \"No active service %s found\" % service\n  127                     )\n  128                 data = json.loads(response.body)\n  129                 if data.get(\"error\"):\n  130 ==>                 raise RPCRemoteError(data[\"error\"])\n  131                 t = time.time() - t0\n  132                 logger.debug(\"[<CALL] %s (%.2fms)\", self.method, t * 1000)\n  133                 return data[\"result\"]\n  134     \n  135         def __init__(self, service, calling_service=None):\n  136             self._service = service\nVariables:\n                body = \n'{\"params\": [3, \"get_capabilities\", {}, null], \"id\": 22, \"method\": \"script\"}'\n     calling_service = 'MTManager'\n                args = (3, 'get_capabilities', {}, None)\n                last = '10.50.64.73:19010'\n             service = 'sae'\n                self = <noc.core.service.client.CallProxy object at 0x7f54f4ec0650>\n                 req = \n{'id': 22, 'method': 'script', 'params': [3, 'get_capabilities', {}, None]}\n                   l = '10.50.64.73:19010'\n                  t0 = 1454521087.003396\n                  st = 1.0\n             headers = {'X-NOC-Calling-Service': 'MTManager'}\n              client = <tornado.httpclient.HTTPClient object at 0x7f54f4cd3b10>\n            services = \n['10.50.64.73:19010',\n '10.50.64.73:19010',\n '10.50.64.73:19010',\n '10.50.64.73:19010',\n '10.50.64.73:19010']\n              logger = <logging.Logger object at 0x7f54f5a159d0>\n                data = \n{u'error': u'Failed: RPC Error: RPC call failed: Failed: Stream is closed',\n u'id': 22}\n            response = \nHTTPResponse(_body='{\"id\": 22, \"error\": \"Failed: RPC Error: RPC call failed: Failed: Stream is closed\"}',buffer=<_io.BytesIO object at 0x7f54f5434590>,code=200,effective_url='http://10.50.64.73:19010/api/sae/',error=None,headers=<tornado.httputil.HTTPHeaders object at 0x7f54f4c698d0>,reason='OK',request=<tornado.httpclient.HTTPRequest object at 0x7f54f4c69410>,request_time=10.051349878311157,time_info={})\n------------------------------------------------------------------------\nFile: sa/mtmanager.py (Line: 30)\nFunction: run\n   23             \"\"\"\n   24             Run SA script and wait for result\n   25             \"\"\"\n   26             if \".\" in script:\n   27                 # Leave only script name\n   28                 script = script.split(\".\")[-1]\n   29             return RPCClient(\"sae\", calling_service=\"MTManager\").script(\n   30 ==>             object.id, script, params, timeout\n   31             )\n   32     \n   33     \n   34     # Run single instance\n   35     MTManager = MTManagerImplementation()\nVariables:\n                self = <noc.sa.mtmanager.MTManagerImplementation object at 0x7f54fc0ee810>\n              object = <ManagedObject: pmo-ar01>\n              params = {}\n             timeout = None\n              script = 'get_capabilities'\n------------------------------------------------------------------------\nFile: sa/models/managedobject.py (Line: 252)\nFunction: __call__\n  245         class ScriptsProxy(object):\n  246             class CallWrapper(object):\n  247                 def __init__(self, obj, name):\n  248                     self.name = name\n  249                     self.object = obj\n  250     \n  251                 def __call__(self, **kwargs):\n  252 ==>                 return MTManager.run(self.object, self.name, kwargs)\n  253     \n  254             def __init__(self, obj):\n  255                 self._object = obj\n  256                 self._cache = {}\n  257     \n  258             def __getattr__(self, name):\nVariables:\n                self = <noc.sa.models.managedobject.CallWrapper object at 0x7f54fccea910>\n              kwargs = {}\n------------------------------------------------------------------------\nFile: services/discovery/jobs/box/caps.py (Line: 22)\nFunction: handler\n   15         Version discovery\n   16         \"\"\"\n   17         name = \"caps\"\n   18         required_script = \"get_capabilities\"\n   19     \n   20         def handler(self):\n   21             self.logger.info(\"Checking capabilities\")\n   22 ==>         result = self.object.scripts.get_capabilities()\n   23             self.logger.info(\"Received capabilities: %s\", result)\n   24             self.object.update_caps(result)\nVariables:\n                self = \n<noc.services.discovery.jobs.box.caps.CapsCheck object at 0x7f54f4e94090>\n------------------------------------------------------------------------\nFile: services/discovery/jobs/base.py (Line: 102)\nFunction: run\n   95                         self.logger.info(\n   96                             \"Capability '%s' is disabled. Skipping\",\n   97                             cn\n   98                         )\n   99                         return\n  100             # Run check\n  101             try:\n  102 ==>             self.handler()\n  103             except Exception:\n  104                 error_report(logger=self.logger)\n  105     \n  106         def handler(self):\n  107             pass\n  108     \nVariables:\n                self = \n<noc.services.discovery.jobs.box.caps.CapsCheck object at 0x7f54f4e94090>\n------------------------------------------------------------------------\nEND OF TRACEBACK\n2016-02-03 20:38:17.071289 [discovery|box|pmo-ar01|interface]  Using noc.solutions.noc.default.discovery.interface.get_interface_profile for interface classification\n2016-02-03 20:38:17.071397 [discovery|box|pmo-ar01|interface]  Checking interfaces\n2016-02-03 20:38:27.140863 [discovery|box|pmo-ar01|interface]  UNHANDLED EXCEPTION (2016-02-03 20:38:27.138791)\nBRANCH: feature/microservices TIP: 3032694d798a\nPROCESS: ./services/discovery/service.py\nERROR FINGERPRINT: 1ee46bb5-0acf-5977-b094-6ac3fe13dcb2\nWORKING DIRECTORY: /opt/noc\nEXCEPTION: <class 'noc.core.service.client.RPCRemoteError'> Failed: RPC Error: RPC call failed: Failed: Stream is closed\nSTART OF TRACEBACK\n------------------------------------------------------------------------\nFile: core/service/client.py (Line: 130)\nFunction: __call__\n  123                         raise RPCException(why)\n  124                 if not response:\n  125                     raise RPCNoService(\n  126                         \"No active service %s found\" % service\n  127                     )\n  128                 data = json.loads(response.body)\n  129                 if data.get(\"error\"):\n  130 ==>                 raise RPCRemoteError(data[\"error\"])\n  131                 t = time.time() - t0\n  132                 logger.debug(\"[<CALL] %s (%.2fms)\", self.method, t * 1000)\n  133                 return data[\"result\"]\n  134     \n  135         def __init__(self, service, calling_service=None):\n  136             self._service = service\nVariables:\n                body = \n'{\"params\": [3, \"get_interfaces\", {}, null], \"id\": 23, \"method\": \"script\"}'\n     calling_service = 'MTManager'\n                args = (3, 'get_interfaces', {}, None)\n                last = '10.50.64.73:19010'\n             service = 'sae'\n                self = <noc.core.service.client.CallProxy object at 0x7f54f5469c90>\n                 req = \n{'id': 23, 'method': 'script', 'params': [3, 'get_interfaces', {}, None]}\n                   l = '10.50.64.73:19010'\n                  t0 = 1454521097.07143\n                  st = 1.0\n             headers = {'X-NOC-Calling-Service': 'MTManager'}\n              client = <tornado.httpclient.HTTPClient object at 0x7f54f4d7da90>\n            services = \n['10.50.64.73:19010',\n '10.50.64.73:19010',\n '10.50.64.73:19010',\n '10.50.64.73:19010',\n '10.50.64.73:19010']\n              logger = <logging.Logger object at 0x7f54f5a159d0>\n                data = \n{u'error': u'Failed: RPC Error: RPC call failed: Failed: Stream is closed',\n u'id': 23}\n            response = \nHTTPResponse(_body='{\"id\": 23, \"error\": \"Failed: RPC Error: RPC call failed: Failed: Stream is closed\"}',buffer=<_io.BytesIO object at 0x7f54f5434590>,code=200,effective_url='http://10.50.64.73:19010/api/sae/',error=None,headers=<tornado.httputil.HTTPHeaders object at 0x7f54f4d89c10>,reason='OK',request=<tornado.httpclient.HTTPRequest object at 0x7f54f4c69d50>,request_time=10.066700220108032,time_info={})\n------------------------------------------------------------------------\nFile: sa/mtmanager.py (Line: 30)\nFunction: run\n   23             \"\"\"\n   24             Run SA script and wait for result\n   25             \"\"\"\n   26             if \".\" in script:\n   27                 # Leave only script name\n   28                 script = script.split(\".\")[-1]\n   29             return RPCClient(\"sae\", calling_service=\"MTManager\").script(\n   30 ==>             object.id, script, params, timeout\n   31             )\n   32     \n   33     \n   34     # Run single instance\n   35     MTManager = MTManagerImplementation()\nVariables:\n                self = <noc.sa.mtmanager.MTManagerImplementation object at 0x7f54fc0ee810>\n              object = <ManagedObject: pmo-ar01>\n              params = {}\n             timeout = None\n              script = 'get_interfaces'\n------------------------------------------------------------------------\nFile: sa/models/managedobject.py (Line: 252)\nFunction: __call__\n  245         class ScriptsProxy(object):\n  246             class CallWrapper(object):\n  247                 def __init__(self, obj, name):\n  248                     self.name = name\n  249                     self.object = obj\n  250     \n  251                 def __call__(self, **kwargs):\n  252 ==>                 return MTManager.run(self.object, self.name, kwargs)\n  253     \n  254             def __init__(self, obj):\n  255                 self._object = obj\n  256                 self._cache = {}\n  257     \n  258             def __getattr__(self, name):\nVariables:\n                self = <noc.sa.models.managedobject.CallWrapper object at 0x7f54f4cd3950>\n              kwargs = {}\n------------------------------------------------------------------------\nFile: services/discovery/jobs/box/interface.py (Line: 43)\nFunction: handler\n   36                 self.interface_profile_cache = cachetools.LRUCache(\n   37                     1000,\n   38                     missing=lambda x: InterfaceProfile.objects.filter(name=x).first()\n   39                 )\n   40     \n   41         def handler(self):\n   42             self.logger.info(\"Checking interfaces\")\n   43 ==>         result = self.object.scripts.get_interfaces()\n   44             self.seen_interfaces = []\n   45             # Process forwarding instances\n   46             for fi in result:\n   47                 # Apply forwarding instance\n   48                 forwarding_instance = self.submit_forwarding_instance(\n   49                     name=fi[\"forwarding_instance\"],\nVariables:\n                self = \n<noc.services.discovery.jobs.box.interface.InterfaceCheck object at 0x7f54f4e94090>\n------------------------------------------------------------------------\nFile: services/discovery/jobs/base.py (Line: 102)\nFunction: run\n   95                         self.logger.info(\n   96                             \"Capability '%s' is disabled. Skipping\",\n   97                             cn\n   98                         )\n   99                         return\n  100             # Run check\n  101             try:\n  102 ==>             self.handler()\n  103             except Exception:\n  104                 error_report(logger=self.logger)\n  105     \n  106         def handler(self):\n  107             pass\n  108     \nVariables:\n                self = \n<noc.services.discovery.jobs.box.interface.InterfaceCheck object at 0x7f54f4e94090>\n------------------------------------------------------------------------\nEND OF TRACEBACK\n2016-02-03 20:38:27.141219 [discovery|box|pmo-ar01|id]  Checking chassis id\n2016-02-03 20:38:37.223961 [discovery|box|pmo-ar01|id]  UNHANDLED EXCEPTION (2016-02-03 20:38:37.185460)\nBRANCH: feature/microservices TIP: 3032694d798a\nPROCESS: ./services/discovery/service.py\nERROR FINGERPRINT: 1ee46bb5-0acf-5977-b094-6ac3fe13dcb2\nWORKING DIRECTORY: /opt/noc\nEXCEPTION: <class 'noc.core.service.client.RPCRemoteError'> Failed: RPC Error: RPC call failed: Failed: Stream is closed\nSTART OF TRACEBACK\n------------------------------------------------------------------------\nFile: core/service/client.py (Line: 130)\nFunction: __call__\n  123                         raise RPCException(why)\n  124                 if not response:\n  125                     raise RPCNoService(\n  126                         \"No active service %s found\" % service\n  127                     )\n  128                 data = json.loads(response.body)\n  129                 if data.get(\"error\"):\n  130 ==>                 raise RPCRemoteError(data[\"error\"])\n  131                 t = time.time() - t0\n  132                 logger.debug(\"[<CALL] %s (%.2fms)\", self.method, t * 1000)\n  133                 return data[\"result\"]\n  134     \n  135         def __init__(self, service, calling_service=None):\n  136             self._service = service\nVariables:\n                body = \n'{\"params\": [3, \"get_discovery_id\", {}, null], \"id\": 25, \"method\": \"script\"}'\n     calling_service = 'MTManager'\n                args = (3, 'get_discovery_id', {}, None)\n                last = '10.50.64.73:19010'\n             service = 'sae'\n                self = <noc.core.service.client.CallProxy object at 0x7f54f4d7da90>\n                 req = \n{'id': 25, 'method': 'script', 'params': [3, 'get_discovery_id', {}, None]}\n                   l = '10.50.64.73:19010'\n                  t0 = 1454521107.141255\n                  st = 1.0\n             headers = {'X-NOC-Calling-Service': 'MTManager'}\n              client = <tornado.httpclient.HTTPClient object at 0x7f54f4e23a10>\n            services = \n['10.50.64.73:19010',\n '10.50.64.73:19010',\n '10.50.64.73:19010',\n '10.50.64.73:19010',\n '10.50.64.73:19010']\n              logger = <logging.Logger object at 0x7f54f5a159d0>\n                data = \n{u'error': u'Failed: RPC Error: RPC call failed: Failed: Stream is closed',\n u'id': 25}\n            response = \nHTTPResponse(_body='{\"id\": 25, \"error\": \"Failed: RPC Error: RPC call failed: Failed: Stream is closed\"}',buffer=<_io.BytesIO object at 0x7f54f5434590>,code=200,effective_url='http://10.50.64.73:19010/api/sae/',error=None,headers=<tornado.httputil.HTTPHeaders object at 0x7f54f4d18610>,reason='OK',request=<tornado.httpclient.HTTPRequest object at 0x7f54f4c698d0>,request_time=10.04353404045105,time_info={})\n------------------------------------------------------------------------\nFile: sa/mtmanager.py (Line: 30)\nFunction: run\n   23             \"\"\"\n   24             Run SA script and wait for result\n   25             \"\"\"\n   26             if \".\" in script:\n   27                 # Leave only script name\n   28                 script = script.split(\".\")[-1]\n   29             return RPCClient(\"sae\", calling_service=\"MTManager\").script(\n   30 ==>             object.id, script, params, timeout\n   31             )\n   32     \n   33     \n   34     # Run single instance\n   35     MTManager = MTManagerImplementation()\nVariables:\n                self = <noc.sa.mtmanager.MTManagerImplementation object at 0x7f54fc0ee810>\n              object = <ManagedObject: pmo-ar01>\n              params = {}\n             timeout = None\n              script = 'get_discovery_id'\n------------------------------------------------------------------------\nFile: sa/models/managedobject.py (Line: 252)\nFunction: __call__\n  245         class ScriptsProxy(object):\n  246             class CallWrapper(object):\n  247                 def __init__(self, obj, name):\n  248                     self.name = name\n  249                     self.object = obj\n  250     \n  251                 def __call__(self, **kwargs):\n  252 ==>                 return MTManager.run(self.object, self.name, kwargs)\n  253     \n  254             def __init__(self, obj):\n  255                 self._object = obj\n  256                 self._cache = {}\n  257     \n  258             def __getattr__(self, name):\nVariables:\n                self = <noc.sa.models.managedobject.CallWrapper object at 0x7f54f4e946d0>\n              kwargs = {}\n------------------------------------------------------------------------\nFile: services/discovery/jobs/box/id.py (Line: 23)\nFunction: handler\n   16         Version discovery\n   17         \"\"\"\n   18         name = \"id\"\n   19         required_script = \"get_discovery_id\"\n   20     \n   21         def handler(self):\n   22             self.logger.info(\"Checking chassis id\")\n   23 ==>         result = self.object.scripts.get_discovery_id()\n   24             cm = result.get(\"chassis_mac\")\n   25             if cm:\n   26                 cm = \", \".join(\n   27                     \"%s - %s\" % (m[\"first_chassis_mac\"], m[\"last_chassis_mac\"])\n   28                     for m in cm\n   29                 )\nVariables:\n                self = <noc.services.discovery.jobs.box.id.IDCheck object at 0x7f54f4e94090>\n------------------------------------------------------------------------\nFile: services/discovery/jobs/base.py (Line: 102)\nFunction: run\n   95                         self.logger.info(\n   96                             \"Capability '%s' is disabled. Skipping\",\n   97                             cn\n   98                         )\n   99                         return\n  100             # Run check\n  101             try:\n  102 ==>             self.handler()\n  103             except Exception:\n  104                 error_report(logger=self.logger)\n  105     \n  106         def handler(self):\n  107             pass\n  108     \nVariables:\n                self = <noc.services.discovery.jobs.box.id.IDCheck object at 0x7f54f4e94090>\n------------------------------------------------------------------------\nEND OF TRACEBACK\n2016-02-03 20:38:37.224347 [discovery|box|pmo-ar01|caps]  Checking config\n2016-02-03 20:38:37.290379 [discovery|box|pmo-ar01|caps]  UNHANDLED EXCEPTION (2016-02-03 20:38:37.274186)\nBRANCH: feature/microservices TIP: 3032694d798a\nPROCESS: ./services/discovery/service.py\nERROR FINGERPRINT: 1ee46bb5-0acf-5977-b094-6ac3fe13dcb2\nWORKING DIRECTORY: /opt/noc\nEXCEPTION: <class 'noc.core.service.client.RPCRemoteError'> Failed: RPC Error: RPC call failed: Failed: Stream is closed\nSTART OF TRACEBACK\n------------------------------------------------------------------------\nFile: core/service/client.py (Line: 130)\nFunction: __call__\n  123                         raise RPCException(why)\n  124                 if not response:\n  125                     raise RPCNoService(\n  126                         \"No active service %s found\" % service\n  127                     )\n  128                 data = json.loads(response.body)\n  129                 if data.get(\"error\"):\n  130 ==>                 raise RPCRemoteError(data[\"error\"])\n  131                 t = time.time() - t0\n  132                 logger.debug(\"[<CALL] %s (%.2fms)\", self.method, t * 1000)\n  133                 return data[\"result\"]\n  134     \n  135         def __init__(self, service, calling_service=None):\n  136             self._service = service\nVariables:\n                body = '{\"params\": [3, \"get_config\", {}, null], \"id\": 28, \"method\": \"script\"}'\n     calling_service = 'MTManager'\n                args = (3, 'get_config', {}, None)\n                last = '10.50.64.73:19010'\n             service = 'sae'\n                self = <noc.core.service.client.CallProxy object at 0x7f54f5469c90>\n                 req = {'params': [3, 'get_config', {}, None], 'id': 28, 'method': 'script'}\n                   l = '10.50.64.73:19010'\n                  t0 = 1454521117.224387\n                  st = 1.0\n             headers = {'X-NOC-Calling-Service': 'MTManager'}\n              client = <tornado.httpclient.HTTPClient object at 0x7f54f4df5ed0>\n            services = \n['10.50.64.73:19010',\n '10.50.64.73:19010',\n '10.50.64.73:19010',\n '10.50.64.73:19010',\n '10.50.64.73:19010']\n              logger = <logging.Logger object at 0x7f54f5a159d0>\n                data = \n{u'error': u'Failed: RPC Error: RPC call failed: Failed: Stream is closed',\n u'id': 28}\n            response = \nHTTPResponse(_body='{\"id\": 28, \"error\": \"Failed: RPC Error: RPC call failed: Failed: Stream is closed\"}',buffer=<_io.BytesIO object at 0x7f54f5434590>,code=200,effective_url='http://10.50.64.73:19010/api/sae/',error=None,headers=<tornado.httputil.HTTPHeaders object at 0x7f54f4c69510>,reason='OK',request=<tornado.httpclient.HTTPRequest object at 0x7f54f4c69250>,request_time=0.049067020416259766,time_info={})\n------------------------------------------------------------------------\nFile: sa/mtmanager.py (Line: 30)\nFunction: run\n   23             \"\"\"\n   24             Run SA script and wait for result\n   25             \"\"\"\n   26             if \".\" in script:\n   27                 # Leave only script name\n   28                 script = script.split(\".\")[-1]\n   29             return RPCClient(\"sae\", calling_service=\"MTManager\").script(\n   30 ==>             object.id, script, params, timeout\n   31             )\n   32     \n   33     \n   34     # Run single instance\n   35     MTManager = MTManagerImplementation()\nVariables:\n                self = <noc.sa.mtmanager.MTManagerImplementation object at 0x7f54fc0ee810>\n              object = <ManagedObject: pmo-ar01>\n              params = {}\n             timeout = None\n              script = 'get_config'\n------------------------------------------------------------------------\nFile: sa/models/managedobject.py (Line: 252)\nFunction: __call__\n  245         class ScriptsProxy(object):\n  246             class CallWrapper(object):\n  247                 def __init__(self, obj, name):\n  248                     self.name = name\n  249                     self.object = obj\n  250     \n  251                 def __call__(self, **kwargs):\n  252 ==>                 return MTManager.run(self.object, self.name, kwargs)\n  253     \n  254             def __init__(self, obj):\n  255                 self._object = obj\n  256                 self._cache = {}\n  257     \n  258             def __getattr__(self, name):\nVariables:\n                self = <noc.sa.models.managedobject.CallWrapper object at 0x7f54f4e23a10>\n              kwargs = {}\n------------------------------------------------------------------------\nFile: services/discovery/jobs/box/config.py (Line: 22)\nFunction: handler\n   15         Version discovery\n   16         \"\"\"\n   17         name = \"caps\"\n   18         required_script = \"get_config\"\n   19     \n   20         def handler(self):\n   21             self.logger.info(\"Checking config\")\n   22 ==>         result = self.object.scripts.get_config()\n   23             self.object.save_config(result)\nVariables:\n                self = \n<noc.services.discovery.jobs.box.config.ConfigCheck object at 0x7f54f4e94090>\n------------------------------------------------------------------------\nFile: services/discovery/jobs/base.py (Line: 102)\nFunction: run\n   95                         self.logger.info(\n   96                             \"Capability '%s' is disabled. Skipping\",\n   97                             cn\n   98                         )\n   99                         return\n  100             # Run check\n  101             try:\n  102 ==>             self.handler()\n  103             except Exception:\n  104                 error_report(logger=self.logger)\n  105     \n  106         def handler(self):\n  107             pass\n  108     \nVariables:\n                self = \n<noc.services.discovery.jobs.box.config.ConfigCheck object at 0x7f54f4e94090>\n------------------------------------------------------------------------\nEND OF TRACEBACK\n2016-02-03 20:38:37.292858 [discovery|box|pmo-ar01|asset]  Checking assets\n2016-02-03 20:38:47.345830 [discovery|box|pmo-ar01|asset]  UNHANDLED EXCEPTION (2016-02-03 20:38:47.325772)\nBRANCH: feature/microservices TIP: 3032694d798a\nPROCESS: ./services/discovery/service.py\nERROR FINGERPRINT: 1ee46bb5-0acf-5977-b094-6ac3fe13dcb2\nWORKING DIRECTORY: /opt/noc\nEXCEPTION: <class 'noc.core.service.client.RPCRemoteError'> Failed: RPC Error: RPC call failed: Failed: Stream is closed\nSTART OF TRACEBACK\n------------------------------------------------------------------------\nFile: core/service/client.py (Line: 130)\nFunction: __call__\n  123                         raise RPCException(why)\n  124                 if not response:\n  125                     raise RPCNoService(\n  126                         \"No active service %s found\" % service\n  127                     )\n  128                 data = json.loads(response.body)\n  129                 if data.get(\"error\"):\n  130 ==>                 raise RPCRemoteError(data[\"error\"])\n  131                 t = time.time() - t0\n  132                 logger.debug(\"[<CALL] %s (%.2fms)\", self.method, t * 1000)\n  133                 return data[\"result\"]\n  134     \n  135         def __init__(self, service, calling_service=None):\n  136             self._service = service\nVariables:\n                body = \n'{\"params\": [3, \"get_inventory\", {}, null], \"id\": 29, \"method\": \"script\"}'\n     calling_service = 'MTManager'\n                args = (3, 'get_inventory', {}, None)\n                last = '10.50.64.73:19010'\n             service = 'sae'\n                self = <noc.core.service.client.CallProxy object at 0x7f54f5469150>\n                 req = {'params': [3, 'get_inventory', {}, None], 'id': 29, 'method': 'script'}\n                   l = '10.50.64.73:19010'\n                  t0 = 1454521117.292903\n                  st = 1.0\n             headers = {'X-NOC-Calling-Service': 'MTManager'}\n              client = <tornado.httpclient.HTTPClient object at 0x7f54f4df5cd0>\n            services = \n['10.50.64.73:19010',\n '10.50.64.73:19010',\n '10.50.64.73:19010',\n '10.50.64.73:19010',\n '10.50.64.73:19010']\n              logger = <logging.Logger object at 0x7f54f5a159d0>\n                data = \n{u'error': u'Failed: RPC Error: RPC call failed: Failed: Stream is closed',\n u'id': 29}\n            response = \nHTTPResponse(_body='{\"id\": 29, \"error\": \"Failed: RPC Error: RPC call failed: Failed: Stream is closed\"}',buffer=<_io.BytesIO object at 0x7f54f5434590>,code=200,effective_url='http://10.50.64.73:19010/api/sae/',error=None,headers=<tornado.httputil.HTTPHeaders object at 0x7f54f4c69a90>,reason='OK',request=<tornado.httpclient.HTTPRequest object at 0x7f54f4c69250>,request_time=10.032157182693481,time_info={})\n------------------------------------------------------------------------\nFile: sa/mtmanager.py (Line: 30)\nFunction: run\n   23             \"\"\"\n   24             Run SA script and wait for result\n   25             \"\"\"\n   26             if \".\" in script:\n   27                 # Leave only script name\n   28                 script = script.split(\".\")[-1]\n   29             return RPCClient(\"sae\", calling_service=\"MTManager\").script(\n   30 ==>             object.id, script, params, timeout\n   31             )\n   32     \n   33     \n   34     # Run single instance\n   35     MTManager = MTManagerImplementation()\nVariables:\n                self = <noc.sa.mtmanager.MTManagerImplementation object at 0x7f54fc0ee810>\n              object = <ManagedObject: pmo-ar01>\n              params = {}\n             timeout = None\n              script = 'get_inventory'\n------------------------------------------------------------------------\nFile: sa/models/managedobject.py (Line: 252)\nFunction: __call__\n  245         class ScriptsProxy(object):\n  246             class CallWrapper(object):\n  247                 def __init__(self, obj, name):\n  248                     self.name = name\n  249                     self.object = obj\n  250     \n  251                 def __call__(self, **kwargs):\n  252 ==>                 return MTManager.run(self.object, self.name, kwargs)\n  253     \n  254             def __init__(self, obj):\n  255                 self._object = obj\n  256                 self._cache = {}\n  257     \n  258             def __getattr__(self, name):\nVariables:\n                self = <noc.sa.models.managedobject.CallWrapper object at 0x7f54f4ec0650>\n              kwargs = {}\n------------------------------------------------------------------------\nFile: services/discovery/jobs/box/asset.py (Line: 49)\nFunction: handler\n   42             self.managed = set()  # Object ids\n   43             self.unk_model = {}  # name -> model\n   44             self.lost_and_found = self.get_lost_and_found(self.object)\n   45             self.get_name = get_solution_from_config(\"asset_discovery\", \"get_name\")\n   46     \n   47         def handler(self):\n   48             self.logger.info(\"Checking assets\")\n   49 ==>         result = self.object.scripts.get_inventory()\n   50             self.find_managed()\n   51             # Submit objects\n   52             for o in result:\n   53                 self.logger.debug(\"Submit %s\", str_dict(o))\n   54                 self.submit(\n   55                     type=o[\"type\"], number=o.get(\"number\"),\nVariables:\n                self = \n<noc.services.discovery.jobs.box.asset.AssetCheck object at 0x7f54f4e94090>\n------------------------------------------------------------------------\nFile: services/discovery/jobs/base.py (Line: 102)\nFunction: run\n   95                         self.logger.info(\n   96                             \"Capability '%s' is disabled. Skipping\",\n   97                             cn\n   98                         )\n   99                         return\n  100             # Run check\n  101             try:\n  102 ==>             self.handler()\n  103             except Exception:\n  104                 error_report(logger=self.logger)\n  105     \n  106         def handler(self):\n  107             pass\n  108     \nVariables:\n                self = \n<noc.services.discovery.jobs.box.asset.AssetCheck object at 0x7f54f4e94090>\n------------------------------------------------------------------------\nEND OF TRACEBACK\n2016-02-03 20:38:47.346203 [discovery|box|pmo-ar01|vlan]  Checking vlans\n2016-02-03 20:38:47.346282 [discovery|box|pmo-ar01|vlan]  No vc domain. Skipping\n2016-02-03 20:38:47.347633 [discovery|box|pmo-ar01|oam]  Object hasn't required capability 'Network | OAM'. Skipping\n2016-02-03 20:38:47.348472 [discovery|box|pmo-ar01|lldp]  Object hasn't required capability 'Network | LLDP'. Skipping\n2016-02-03 20:38:47.349329 [discovery|box|pmo-ar01|cdp]  Object hasn't required capability 'Network | CDP'. Skipping\n2016-02-03 20:38:47.350142 [discovery|box|pmo-ar01|stp]  Object hasn't required capability 'Network | STP'. Skipping","name":"","extension":"txt","url":"https://www.irccloud.com/pastebin/c2UXodpc","modified":1454521265,"id":"c2UXodpc","size":37464,"lines":812,"own_paste":false,"theme":"","date":1454521183}