Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- UNHANDLED EXCEPTION (2014-11-20 11:11:02.838257)
- Working directory: /opt/noc
- <type 'exceptions.ValueError'>
- Invalid FQDN: strabag-09-49
- START OF TRACEBACK
- ------------------------------------------------------------------------
- File: /opt/noc/sa/models/managedobjectprofile.py (Line: 203)
- Function: get_fqdn
- 196 f = Template(self.fqdn_template).render(ctx)
- 197 # Remove spaces
- 198 f = "".join(f.split())
- 199 else:
- 200 f = object.name
- 201 # Check resulting fqdn
- 202 if not is_fqdn(f):
- 203 ==> raise ValueError("Invalid FQDN: %s" % f)
- 204 return f
- Variables:
- self = <ManagedObjectProfile: Avaya>
- object = <ManagedObject: strabag-09-49>
- f = 'strabag-09-49'
- ------------------------------------------------------------------------
- File: /opt/noc/sa/models/managedobject.py (Line: 311)
- Function: sync_ipam
- 304 def sync_ipam(self):
- 305 """
- 306 Synchronize FQDN and address with IPAM
- 307 """
- 308 from noc.ip.models.address import Address
- 309 from noc.ip.models.vrf import VRF
- 310 # Generate FQDN from template
- 311 ==> fqdn = self.object_profile.get_fqdn(self)
- 312 # Get existing IPAM record
- 313 vrf = self.vrf if self.vrf else VRF.get_global()
- 314 try:
- 315 a = Address.objects.get(vrf=vrf, address=self.address)
- 316 except Address.DoesNotExist:
- 317 # Create new address
- Variables:
- self = <ManagedObject: strabag-09-49>
- VRF = <class 'noc.ip.models.vrf.VRF'>
- Address = <class 'noc.ip.models.address.Address'>
- ------------------------------------------------------------------------
- File: /opt/noc/sa/models/managedobject.py (Line: 280)
- Function: save
- 273 old = ManagedObject.objects.get(id=self.id)
- 274 else:
- 275 old = None
- 276 # Save
- 277 super(ManagedObject, self).save()
- 278 # IPAM sync
- 279 if self.object_profile.sync_ipam:
- 280 ==> self.sync_ipam()
- 281 # Notify changes
- 282 if ((old is None and self.trap_source_ip) or
- 283 (old and self.trap_source_ip != old.trap_source_ip) or
- 284 (old and self.activator.id != old.activator.id)):
- 285 self.sae_refresh_event_filter()
- 286 # Notify new object
- Variables:
- self = <ManagedObject: strabag-09-49>
- old = <ManagedObject: strabag-09-49>
- ------------------------------------------------------------------------
- File: /opt/noc/lib/app/extmodelapplication.py (Line: 437)
- Function: _update_object
- 430
- 431 @view(method=["PUT"], url="^(?P<id>\d+)/?$", access="update", api=True)
- 432 def api_update(self, request, id):
- 433 def _update_object(o, attrs, m2m_attrs):
- 434 for k, v in attrs.items():
- 435 setattr(o, k, v)
- 436 try:
- 437 ==> o.save()
- 438 if m2m_attrs:
- 439 self.update_m2ms(o, m2m_attrs)
- 440 except IntegrityError:
- 441 return self.render_json(
- 442 {
- 443 "success": False,
- Variables:
- self =
- <noc.sa.apps.managedobject.views.ManagedObjectApplication object at 0x7fac1fdec0d0>
- request =
- <WSGIRequest
- path:/sa/managedobject/8/,
- GET:<QueryDict: {}>,
- POST:<QueryDict: {}>,
- COOKIES:{'sessionid': 'f9cc92aed4e766575555d25eb6b24a48'},
- META:{'CONTENT_LENGTH': '594',
- 'CONTENT_TYPE': 'application/json',
- 'HTTP_ACCEPT': '*/*',
- 'HTTP_ACCEPT_ENCODING': 'gzip,deflate,sdch',
- 'HTTP_ACCEPT_LANGUAGE': 'en,ru;q=0.8,en-US;q=0.6',
- 'HTTP_CONNECTION': 'close',
- 'HTTP_COOKIE': 'sessionid=f9cc92aed4e766575555d25eb6b24a48',
- 'HTTP_HOST': '127.0.0.1:8000',
- 'HTTP_ORIGIN': 'http://10.15.3.44',
- 'HTTP_REFERER': 'http://10.15.3.44/main/desktop/',
- 'HTTP_USER_AGENT': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.111 Safari/537.36',
- 'HTTP_X_REQUESTED_WITH': 'XMLHttpRequest',
- 'PATH_INFO': u'/sa/managedobject/8/',
- 'QUERY_STRING': '',
- 'REMOTE_ADDR': '127.0.0.1',
- 'REQUEST_METHOD': 'PUT',
- 'SCRIPT_NAME': u'',
- 'SERVER_NAME': '127.0.0.1',
- 'SERVER_PORT': '8000',
- 'SERVER_PROTOCOL': 'HTTP/1.0',
- 'wsgi.errors': <open file '/dev/null', mode 'a+' at 0x7fac3141fa50>,
- 'wsgi.input': <_io.BytesIO object at 0x7fac1d7d1890>,
- 'wsgi.multiprocess': True,
- 'wsgi.multithread': False,
- 'wsgi.run_once': False,
- 'wsgi.url_scheme': 'http',
- 'wsgi.version': (1, 0)}>
- o = <ManagedObject: strabag-09-49>
- m2m_attrs = {}
- attrs =
- {'activator': <Activator: default>,
- 'address': '10.15.10.107',
- 'administrative_domain': <AdministrativeDomain: default>,
- 'auth_profile': None,
- 'collector': None,
- 'config_diff_filter_rule': None,
- 'config_filter_rule': <PyRule: Avaya_cfg_filter>,
- 'config_validation_rule': None,
- 'description': 'strabag-09-49',
- 'is_managed': True,
- 'max_scripts': 0,
- 'name': 'strabag-09-49',
- 'object_profile': <ManagedObjectProfile: Avaya>,
- 'password': 'Frt23131$(G',
- 'port': 0,
- 'profile_name': 'Avaya.ERS',
- 'remote_path': None,
- 'scheme': 0,
- 'service_terminator': None,
- 'shape': None,
- 'snmp_ro': 'C2yKh{laHak8Azi',
- 'snmp_rw': None,
- 'super_password': None,
- 'tags': [],
- 'termination_group': None,
- 'trap_community': None,
- 'trap_source_ip': '10.15.10.107',
- 'user': 'rsa',
- 'vc_domain': <VCDomain: default>,
- 'vrf': <VRF: global>}
- v = <VRF: global>
- k = 'vrf'
- ------------------------------------------------------------------------
- File: /opt/noc/lib/python2.7/site-packages/concurrent/futures/thread.py (Line: 61)
- Function: run
- 54 self.kwargs = kwargs
- 55
- 56 def run(self):
- 57 if not self.future.set_running_or_notify_cancel():
- 58 return
- 59
- 60 try:
- 61 ==> result = self.fn(*self.args, **self.kwargs)
- 62 except BaseException:
- 63 e, tb = sys.exc_info()[1:]
- 64 self.future.set_exception_info(e, tb)
- 65 else:
- 66 self.future.set_result(result)
- 67
- Variables:
- e = ValueError('Invalid FQDN: strabag-09-49',)
- self = <concurrent.futures.thread._WorkItem object at 0x7fac1d7b9790>
- tb = <traceback object at 0x7fac1d7ef0e0>
- ------------------------------------------------------------------------
- File: /opt/noc/lib/python2.7/site-packages/concurrent/futures/_compat.py (Line: 107)
- Function: reraise
- 100
- 101 return result
- 102
- 103
- 104 if _sys.version_info[0] < 3:
- 105 def reraise(exc, traceback):
- 106 locals_ = {'exc_type': type(exc), 'exc_value': exc, 'traceback': traceback}
- 107 ==> exec('raise exc_type, exc_value, traceback', {}, locals_)
- 108 else:
- 109 def reraise(exc, traceback):
- 110 # Tracebacks are embedded in exceptions in Python 3
- 111 raise exc
- Variables:
- locals_ =
- {'exc_type': <type 'exceptions.ValueError'>,
- 'exc_value': ValueError('Invalid FQDN: strabag-09-49',),
- 'traceback': <traceback object at 0x7fac1d7ef0e0>}
- traceback = <traceback object at 0x7fac1d7ef0e0>
- exc = ValueError('Invalid FQDN: strabag-09-49',)
- ------------------------------------------------------------------------
- File: /opt/noc/lib/python2.7/site-packages/concurrent/futures/_base.py (Line: 359)
- Function: __get_result
- 352 def done(self):
- 353 """Return True of the future was cancelled or finished executing."""
- 354 with self._condition:
- 355 return self._state in [CANCELLED, CANCELLED_AND_NOTIFIED, FINISHED]
- 356
- 357 def __get_result(self):
- 358 if self._exception:
- 359 ==> reraise(self._exception, self._traceback)
- 360 else:
- 361 return self._result
- 362
- 363 def add_done_callback(self, fn):
- 364 """Attaches a callable that will be called when the future finishes.
- 365
- Variables:
- self = <Future at 0x7fac1d7b9350 state=finished raised ValueError>
- ------------------------------------------------------------------------
- File: /opt/noc/lib/python2.7/site-packages/concurrent/futures/_base.py (Line: 407)
- Function: result
- 400 return self.__get_result()
- 401
- 402 self._condition.wait(timeout)
- 403
- 404 if self._state in [CANCELLED, CANCELLED_AND_NOTIFIED]:
- 405 raise CancelledError()
- 406 elif self._state == FINISHED:
- 407 ==> return self.__get_result()
- 408 else:
- 409 raise TimeoutError()
- 410
- 411 def exception_info(self, timeout=None):
- 412 """Return a tuple of (exception, traceback) raised by the call that the
- 413 future represents.
- Variables:
- self = <Future at 0x7fac1d7b9350 state=finished raised ValueError>
- timeout = 5.0
- ------------------------------------------------------------------------
- File: /opt/noc/main/models/slowop.py (Line: 73)
- Function: submit
- 66 so.duration = time.time() - t0
- 67 so.save()
- 68
- 69 so = None
- 70 t0 = time.time()
- 71 future = cls.pool.submit(fn, *args, **kwargs)
- 72 try:
- 73 ==> future.result(cls.SLOW_TIMEOUT)
- 74 except concurrent.futures.TimeoutError:
- 75 logger.debug("Continuing slow operation %s (app=%s, user=%s)",
- 76 fn, app_id, user)
- 77 # Save slow op
- 78 now = datetime.datetime.now()
- 79 so = SlowOp(
- Variables:
- args =
- (<ManagedObject: strabag-09-49>,
- {'activator': <Activator: default>,
- 'address': '10.15.10.107',
- 'administrative_domain': <AdministrativeDomain: default>,
- 'auth_profile': None,
- 'collector': None,
- 'config_diff_filter_rule': None,
- 'config_filter_rule': <PyRule: Avaya_cfg_filter>,
- 'config_validation_rule': None,
- 'description': 'strabag-09-49',
- 'is_managed': True,
- 'max_scripts': 0,
- 'name': 'strabag-09-49',
- 'object_profile': <ManagedObjectProfile: Avaya>,
- 'password': 'Frt21$(G',
- 'port': 0,
- 'profile_name': 'Avaya.ERS',
- 'remote_path': None,
- 'scheme': 0,
- 'service_terminator': None,
- 'shape': None,
- 'snmp_ro': 'C2yKh{laHzi',
- 'snmp_rw': None,
- 'super_password': None,
- 'tags': [],
- 'termination_group': None,
- 'trap_community': None,
- 'trap_source_ip': '10.15.10.107',
- 'user': 'rsa',
- 'vc_domain': <VCDomain: default>,
- 'vrf': <VRF: global>},
- {})
- app_id = 'sa.managedobject'
- t0 = 1416471062.828998
- future = <Future at 0x7fac1d7b9350 state=finished raised ValueError>
- so = None
- user = u'admin'
- kwargs = {}
- on_complete = <function on_complete at 0x7fac1cf37b18>
- fn = <function _update_object at 0x7fac1cf37398>
- cls = <class 'noc.main.models.slowop.SlowOp'>
- ------------------------------------------------------------------------
- File: /opt/noc/lib/app/extapplication.py (Line: 258)
- Function: submit_slow_op
- 251 else:
- 252 return self.response_accepted(request.path)
- 253
- 254 def submit_slow_op(self, request, fn, *args, **kwargs):
- 255 f = SlowOp.submit(
- 256 fn,
- 257 self.get_app_id(), request.user.username,
- 258 ==> *args, **kwargs
- 259 )
- 260 if f.done():
- 261 return f.result()
- 262 else:
- 263 return self.response_accepted(
- 264 location="%sfutures/%s/" % (self.base_url, f.slow_op.id)
- Variables:
- self =
- <noc.sa.apps.managedobject.views.ManagedObjectApplication object at 0x7fac1fdec0d0>
- args =
- (<ManagedObject: strabag-09-49>,
- {'activator': <Activator: default>,
- 'address': '10.15.10.107',
- 'administrative_domain': <AdministrativeDomain: default>,
- 'auth_profile': None,
- 'collector': None,
- 'config_diff_filter_rule': None,
- 'config_filter_rule': <PyRule: Avaya_cfg_filter>,
- 'config_validation_rule': None,
- 'description': 'strabag-09-49',
- 'is_managed': True,
- 'max_scripts': 0,
- 'name': 'strabag-09-49',
- 'object_profile': <ManagedObjectProfile: Avaya>,
- 'password': 'Frt23$(G',
- 'port': 0,
- 'profile_name': 'Avaya.ERS',
- 'remote_path': None,
- 'scheme': 0,
- 'service_terminator': None,
- 'shape': None,
- 'snmp_ro': 'C2yKh{laHAzi',
- 'snmp_rw': None,
- 'super_password': None,
- 'tags': [],
- 'termination_group': None,
- 'trap_community': None,
- 'trap_source_ip': '10.15.10.107',
- 'user': 'rsa',
- 'vc_domain': <VCDomain: default>,
- 'vrf': <VRF: global>},
- {})
- request =
- <WSGIRequest
- path:/sa/managedobject/8/,
- GET:<QueryDict: {}>,
- POST:<QueryDict: {}>,
- COOKIES:{'sessionid': 'f9cc92aed4e766575555d25eb6b24a48'},
- META:{'CONTENT_LENGTH': '594',
- 'CONTENT_TYPE': 'application/json',
- 'HTTP_ACCEPT': '*/*',
- 'HTTP_ACCEPT_ENCODING': 'gzip,deflate,sdch',
- 'HTTP_ACCEPT_LANGUAGE': 'en,ru;q=0.8,en-US;q=0.6',
- 'HTTP_CONNECTION': 'close',
- 'HTTP_COOKIE': 'sessionid=f9cc92aed4e766575555d25eb6b24a48',
- 'HTTP_HOST': '127.0.0.1:8000',
- 'HTTP_ORIGIN': 'http://10.15.3.44',
- 'HTTP_REFERER': 'http://10.15.3.44/main/desktop/',
- 'HTTP_USER_AGENT': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.111 Safari/537.36',
- 'HTTP_X_REQUESTED_WITH': 'XMLHttpRequest',
- 'PATH_INFO': u'/sa/managedobject/8/',
- 'QUERY_STRING': '',
- 'REMOTE_ADDR': '127.0.0.1',
- 'REQUEST_METHOD': 'PUT',
- 'SCRIPT_NAME': u'',
- 'SERVER_NAME': '127.0.0.1',
- 'SERVER_PORT': '8000',
- 'SERVER_PROTOCOL': 'HTTP/1.0',
- 'wsgi.errors': <open file '/dev/null', mode 'a+' at 0x7fac3141fa50>,
- 'wsgi.input': <_io.BytesIO object at 0x7fac1d7d1890>,
- 'wsgi.multiprocess': True,
- 'wsgi.multithread': False,
- 'wsgi.run_once': False,
- 'wsgi.url_scheme': 'http',
- 'wsgi.version': (1, 0)}>
- fn = <function _update_object at 0x7fac1cf37398>
- kwargs = {}
- ------------------------------------------------------------------------
- File: /opt/noc/lib/app/extmodelapplication.py (Line: 478)
- Function: api_update
- 471 "traceback": str(why)
- 472 }, status=self.BAD_REQUEST)
- 473 try:
- 474 o = self.queryset(request).get(**{self.pk: int(id)})
- 475 except self.model.DoesNotExist:
- 476 return HttpResponse("", status=self.NOT_FOUND)
- 477 return self.submit_slow_op(request, _update_object,
- 478 ==> o, attrs, m2m_attrs)
- 479
- 480 @view(method=["DELETE"], url="^(?P<id>\d+)/?$", access="delete", api=True)
- 481 def api_delete(self, request, id):
- 482 def _delete_object(o):
- 483 o.delete() # @todo: Detect errors
- 484 return HttpResponse(status=self.DELETED)
- Variables:
- _update_object = <function _update_object at 0x7fac1cf37398>
- self =
- <noc.sa.apps.managedobject.views.ManagedObjectApplication object at 0x7fac1fdec0d0>
- request =
- <WSGIRequest
- path:/sa/managedobject/8/,
- GET:<QueryDict: {}>,
- POST:<QueryDict: {}>,
- COOKIES:{'sessionid': 'f9cc92aed4e766575555d25eb6b24a48'},
- META:{'CONTENT_LENGTH': '594',
- 'CONTENT_TYPE': 'application/json',
- 'HTTP_ACCEPT': '*/*',
- 'HTTP_ACCEPT_ENCODING': 'gzip,deflate,sdch',
- 'HTTP_ACCEPT_LANGUAGE': 'en,ru;q=0.8,en-US;q=0.6',
- 'HTTP_CONNECTION': 'close',
- 'HTTP_COOKIE': 'sessionid=f9cc92aed4e766575555d25eb6b24a48',
- 'HTTP_HOST': '127.0.0.1:8000',
- 'HTTP_ORIGIN': 'http://10.15.3.44',
- 'HTTP_REFERER': 'http://10.15.3.44/main/desktop/',
- 'HTTP_USER_AGENT': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.111 Safari/537.36',
- 'HTTP_X_REQUESTED_WITH': 'XMLHttpRequest',
- 'PATH_INFO': u'/sa/managedobject/8/',
- 'QUERY_STRING': '',
- 'REMOTE_ADDR': '127.0.0.1',
- 'REQUEST_METHOD': 'PUT',
- 'SCRIPT_NAME': u'',
- 'SERVER_NAME': '127.0.0.1',
- 'SERVER_PORT': '8000',
- 'SERVER_PROTOCOL': 'HTTP/1.0',
- 'wsgi.errors': <open file '/dev/null', mode 'a+' at 0x7fac3141fa50>,
- 'wsgi.input': <_io.BytesIO object at 0x7fac1d7d1890>,
- 'wsgi.multiprocess': True,
- 'wsgi.multithread': False,
- 'wsgi.run_once': False,
- 'wsgi.url_scheme': 'http',
- 'wsgi.version': (1, 0)}>
- m2m_attrs = {}
- o = <ManagedObject: strabag-09-49>
- id = u'8'
- attrs =
- {'activator': <Activator: default>,
- 'address': '10.15.10.107',
- 'administrative_domain': <AdministrativeDomain: default>,
- 'auth_profile': None,
- 'collector': None,
- 'config_diff_filter_rule': None,
- 'config_filter_rule': <PyRule: Avaya_cfg_filter>,
- 'config_validation_rule': None,
- 'description': 'strabag-09-49',
- 'is_managed': True,
- 'max_scripts': 0,
- 'name': 'strabag-09-49',
- 'object_profile': <ManagedObjectProfile: Avaya>,
- 'password': 'Frt23131$(G',
- 'port': 0,
- 'profile_name': 'Avaya.ERS',
- 'remote_path': None,
- 'scheme': 0,
- 'service_terminator': None,
- 'shape': None,
- 'snmp_ro': 'C2yKh{laHak8Azi',
- 'snmp_rw': None,
- 'super_password': None,
- 'tags': [],
- 'termination_group': None,
- 'trap_community': None,
- 'trap_source_ip': '10.15.10.107',
- 'user': 'rsa',
- 'vc_domain': <VCDomain: default>,
- 'vrf': <VRF: global>}
- ------------------------------------------------------------------------
- File: /opt/noc/lib/app/site.py (Line: 248)
- Function: inner
- 241 a = dict((k, v[0] if len(v) == 1 else v)
- 242 for k, v in request.GET.lists())
- 243 app_logger.debug("API %s %s %s",
- 244 request.method, request.path, a)
- 245 # Call handler
- 246 v.__dict__["hits_metric"] += 1
- 247 with v.__dict__["time_metric"].timer():
- 248 ==> r = v(request, *args, **kwargs)
- 249 # Dump SQL statements
- 250 if self.log_sql_statements:
- 251 from django.db import connections
- 252 tsc = 0
- 253 sc = defaultdict(int)
- 254 for conn in connections.all():
- Variables:
- args = ()
- view_map =
- {'DELETE': <bound method ManagedObjectApplication.api_delete of <noc.sa.apps.managedobject.views.ManagedObjectApplication object at 0x7fac1fdec0d0>>,
- 'GET': <bound method ManagedObjectApplication.api_read of <noc.sa.apps.managedobject.views.ManagedObjectApplication object at 0x7fac1fdec0d0>>,
- 'PUT': <bound method ManagedObjectApplication.api_update of <noc.sa.apps.managedobject.views.ManagedObjectApplication object at 0x7fac1fdec0d0>>}
- Form = <class 'django.forms.forms.Form'>
- PermissionDenied = <class 'noc.lib.app.access.PermissionDenied'>
- DictParameter = <class 'noc.sa.interfaces.base.DictParameter'>
- self = <noc.lib.app.site.Site object at 0x7fac224fdf10>
- v =
- <bound method ManagedObjectApplication.api_update of <noc.sa.apps.managedobject.views.ManagedObjectApplication object at 0x7fac1fdec0d0>>
- request =
- <WSGIRequest
- path:/sa/managedobject/8/,
- GET:<QueryDict: {}>,
- POST:<QueryDict: {}>,
- COOKIES:{'sessionid': 'f9cc92aed4e766575555d25eb6b24a48'},
- META:{'CONTENT_LENGTH': '594',
- 'CONTENT_TYPE': 'application/json',
- 'HTTP_ACCEPT': '*/*',
- 'HTTP_ACCEPT_ENCODING': 'gzip,deflate,sdch',
- 'HTTP_ACCEPT_LANGUAGE': 'en,ru;q=0.8,en-US;q=0.6',
- 'HTTP_CONNECTION': 'close',
- 'HTTP_COOKIE': 'sessionid=f9cc92aed4e766575555d25eb6b24a48',
- 'HTTP_HOST': '127.0.0.1:8000',
- 'HTTP_ORIGIN': 'http://10.15.3.44',
- 'HTTP_REFERER': 'http://10.15.3.44/main/desktop/',
- 'HTTP_USER_AGENT': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.111 Safari/537.36',
- 'HTTP_X_REQUESTED_WITH': 'XMLHttpRequest',
- 'PATH_INFO': u'/sa/managedobject/8/',
- 'QUERY_STRING': '',
- 'REMOTE_ADDR': '127.0.0.1',
- 'REQUEST_METHOD': 'PUT',
- 'SCRIPT_NAME': u'',
- 'SERVER_NAME': '127.0.0.1',
- 'SERVER_PORT': '8000',
- 'SERVER_PROTOCOL': 'HTTP/1.0',
- 'wsgi.errors': <open file '/dev/null', mode 'a+' at 0x7fac3141fa50>,
- 'wsgi.input': <_io.BytesIO object at 0x7fac1d7d1890>,
- 'wsgi.multiprocess': True,
- 'wsgi.multithread': False,
- 'wsgi.run_once': False,
- 'wsgi.url_scheme': 'http',
- 'wsgi.version': (1, 0)}>
- app_logger = <logging.Logger object at 0x7fac1fdec110>
- InterfaceTypeError = <class 'noc.sa.interfaces.base.InterfaceTypeError'>
- to_log_api_call = False
- kwargs = {'id': u'8'}
- nq = <function nq at 0x7fac1cf37668>
- app =
- <noc.sa.apps.managedobject.views.ManagedObjectApplication object at 0x7fac1fdec0d0>
- ------------------------------------------------------------------------
- END OF TRACEBACK
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement