Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 2021-03-05 11:25:34,355 [py.warnings] /opt/noc/core/profile/base.py:72: UserWarning: None: 'pattern_more' '^---MORE---' pattern must be of binary type. Support for text values will be removed in NOC 20.2
- warnings.warn(
- 2021-03-05 11:25:34,678 [noc.core.ioloop.util] Setting up asyncio event loop policy
- 2021-03-05 11:25:34,678 [noc.core.ioloop.util] Setting up default event loop
- 2021-03-05 11:25:34,753 [noc.core.dcs.base] Resolve near service postgres
- 2021-03-05 11:25:34,758 [noc.core.dcs.base] Resolved near service postgres to ['10.250.51.41:5432']
- 2021-03-05 09:25:34,800 [noc.core.cache.base] Using cache backend: noc.core.cache.mongo.MongoCache
- 2021-03-05 09:25:34,936 [asyncio] Using selector: EpollSelector
- 2021-03-05 09:25:34,937 [noc.core.dcs.base] [mongo] Starting resolver (near=False)
- 2021-03-05 09:25:34,937 [noc.core.dcs.base] [mongo] Requesting changes from index 0
- 2021-03-05 09:25:34,937 [noc.core.http.client] HTTP GET http://consul:8500/v1/health/service/mongo?passing=1
- 2021-03-05 09:25:34,938 [noc.core.http.client] HTTP Response 200
- 2021-03-05 09:25:34,939 [noc.core.dcs.base] [mongo] Index changed 0 -> 10066. Applying changes
- 2021-03-05 09:25:34,939 [noc.core.dcs.base] [mongo] Set active services to: mongo: 10.250.51.41:27017
- 2021-03-05 09:25:34,939 [noc.core.dcs.base] [mongo] Stopping resolver
- 2021-03-05 09:25:34,940 [noc.core.mongo.connection] Connecting to MongoDB {'db': 'noc', 'username': 'noc', 'password': '********', 'authentication_source': 'noc', 'replicaSet': 'noc', 'readPreference': 'secondaryPreferred', 'maxIdleTimeMS': 60000, 'host': 'mongodb://noc:********@10.250.51.41:27017/noc'}
- 2021-03-05 09:25:34,964 [noc.main.models.doccategory] Registering ConnectionType
- 2021-03-05 09:25:34,969 [noc.main.models.doccategory] Registering ObjectModel
- 2021-03-05 09:25:34,993 [noc.main.models.textindex] Adding FTS index for sa.managedobject
- 2021-03-05 09:25:35,129 [noc.core.debug] UNHANDLED EXCEPTION (2021-03-05 09:25:35.033013)
- PROCESS: ./commands/discovery.py
- VERSION: 20.4.3
- BRANCH: HEAD CHANGESET: c86766dc
- ERROR FINGERPRINT: d93a2e4d-7af4-52b2-8772-179b4ded6dd9
- WORKING DIRECTORY: /opt/noc
- EXCEPTION: <class 'noc.sa.models.managedobject.ManagedObject.DoesNotExist'> ManagedObject matching query does not exist.
- START OF TRACEBACK
- ------------------------------------------------------------------------
- File: lib/python3.8/site-packages/django/db/models/query.py (Line: 415)
- Function: get
- 408 if not clone.query.select_for_update or connections[clone.db].features.supports_select_for_update_with_limit:
- 409 limit = MAX_GET_RESULTS
- 410 clone.query.set_limits(high=limit)
- 411 num = len(clone)
- 412 if num == 1:
- 413 return clone._result_cache[0]
- 414 if not num:
- 415 ==> raise self.model.DoesNotExist(
- 416 "%s matching query does not exist." %
- 417 self.model._meta.object_name
- 418 )
- 419 raise self.model.MultipleObjectsReturned(
- 420 'get() returned more than one %s -- it returned %s!' % (
- 421 self.model._meta.object_name,
- Variables:
- self =
- <QuerySet [<ManagedObject: SAE>, <ManagedObject: C2960S>, <ManagedObject: C3560X>]>
- args = (<Q: (AND: ('name', '*id'))>,)
- kwargs = {}
- clone = <QuerySet []>
- limit = 21
- num = 0
- ------------------------------------------------------------------------
- File: lib/python3.8/site-packages/django/db/models/manager.py (Line: 82)
- Function: manager_method
- 75 def check(self, **kwargs):
- 76 return []
- 77
- 78 @classmethod
- 79 def _get_queryset_methods(cls, queryset_class):
- 80 def create_method(name, method):
- 81 def manager_method(self, *args, **kwargs):
- 82 ==> return getattr(self.get_queryset(), name)(*args, **kwargs)
- 83 manager_method.__name__ = method.__name__
- 84 manager_method.__doc__ = method.__doc__
- 85 return manager_method
- 86
- 87 new_methods = {}
- 88 for name, method in inspect.getmembers(queryset_class, predicate=inspect.isfunction):
- Variables:
- self = <django.db.models.manager.Manager object at 0x7fb460283520>
- args = (<Q: (AND: ('name', '*id'))>,)
- kwargs = {}
- name = 'get'
- ------------------------------------------------------------------------
- File: sa/models/managedobjectselector.py (Line: 421)
- Function: get_objects_from_expression
- 414 # Search by name
- 415 q = Q(name=so)
- 416 if is_int(so):
- 417 # Search by id
- 418 q |= Q(id=int(so))
- 419 if is_ipv4(so) or is_ipv6(so):
- 420 q |= Q(address=so)
- 421 ==> o = ManagedObject.objects.get(q)
- 422 objects.add(o)
- 423 return list(objects)
- 424
- 425 @property
- 426 def get_confdb_query(self) -> str:
- 427 query = []
- Variables:
- cls = <class 'noc.sa.models.managedobjectselector.ManagedObjectSelector'>
- s = ['*id']
- ManagedObject = <class 'noc.sa.models.managedobject.ManagedObject'>
- objects = set()
- so = '*id'
- q = <Q: (AND: ('name', '*id'))>
- ------------------------------------------------------------------------
- File: commands/discovery.py (Line: 96)
- Function: handle_run
- 89 self.trace = trace
- 90 job = job[0]
- 91 mos = []
- 92 for x in managed_objects:
- 93 if job == "segment":
- 94 mos += [NetworkSegment.objects.get(name=x)]
- 95 else:
- 96 ==> for mo in ManagedObjectSelector.get_objects_from_expression(x):
- 97 if mo not in mos:
- 98 mos += [mo]
- 99 checks = set()
- 100 for c in check:
- 101 checks.update(c.split(","))
- 102 for c in checks:
- Variables:
- self = <__main__.Command object at 0x7fb48361fe80>
- job = 'box'
- managed_objects = ['*id', 'models.py']
- check = []
- trace = False
- args = ()
- options = {}
- mos = []
- x = '*id'
- ------------------------------------------------------------------------
- File: commands/discovery.py (Line: 86)
- Function: handle
- 79 )
- 80 run_parser.add_argument("--trace", action="store_true", default=False, help="Trace process")
- 81 run_parser.add_argument("job", nargs=1, choices=list(self.jcls), help="Job name")
- 82 run_parser.add_argument("managed_objects", nargs=argparse.REMAINDER, help="Managed objects")
- 83
- 84 def handle(self, cmd, *args, **options):
- 85 connect()
- 86 ==> return getattr(self, "handle_%s" % cmd)(*args, **options)
- 87
- 88 def handle_run(self, job, managed_objects, check=None, trace=False, *args, **options):
- 89 self.trace = trace
- 90 job = job[0]
- 91 mos = []
- 92 for x in managed_objects:
- Variables:
- self = <__main__.Command object at 0x7fb48361fe80>
- cmd = 'run'
- args = ()
- options =
- {'check': [],
- 'job': ['box'],
- 'managed_objects': ['*id', 'models.py'],
- 'trace': False}
- ------------------------------------------------------------------------
- File: core/management/base.py (Line: 78)
- Function: run_from_argv
- 71 self.no_progressbar = cmd_options.pop("no_progressbar", False)
- 72 if enable_profiling:
- 73 # Start profiler
- 74 import yappi
- 75
- 76 yappi.start()
- 77 try:
- 78 ==> return self.handle(*args, **cmd_options) or 0
- 79 except CommandError as e:
- 80 self.print(str(e))
- 81 return 1
- 82 except KeyboardInterrupt:
- 83 self.print("Ctrl+C")
- 84 return 3
- Variables:
- self = <__main__.Command object at 0x7fb48361fe80>
- argv = ['--debug', 'run', 'box', '*id', 'models.py']
- parser =
- ArgumentParser(prog='noc discovery', usage=None, description=None, formatter_class=<class 'argparse.HelpFormatter'>, conflict_handler='error', add_help=True)
- options =
- Namespace(check=[], cmd='run', job=['box'], managed_objects=['*id', 'models.py'], trace=False)
- cmd_options =
- {'check': [],
- 'cmd': 'run',
- 'job': ['box'],
- 'managed_objects': ['*id', 'models.py'],
- 'trace': False}
- args = ()
- loglevel = 'debug'
- enable_profiling = False
- show_metrics = False
- error_report = <function error_report at 0x7fb4652b8280>
- ------------------------------------------------------------------------
- END OF TRACEBACK
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement