Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- UNHANDLED EXCEPTION (2012-09-17 12:36:03.852800)
- Working directory: /opt/noc
- <class 'django.db.utils.DatabaseError'>
- column reference "prefix" is ambiguous
- LINE 1: ...refix"."afi" = '4' AND T3."id" IS NOT NULL AND ((prefix >>=...
- ^
- START OF TRACEBACK
- ------------------------------------------------------------------------
- File: /opt/noc/contrib/lib/django/db/backends/postgresql_psycopg2/base.py (Line: 52)
- Function: execute
- 45 """
- 46
- 47 def __init__(self, cursor):
- 48 self.cursor = cursor
- 49
- 50 def execute(self, query, args=None):
- 51 try:
- 52 ==> return self.cursor.execute(query, args)
- 53 except Database.IntegrityError, e:
- 54 raise utils.IntegrityError, utils.IntegrityError(*tuple(e)), sys.exc_info()[2]
- 55 except Database.DatabaseError, e:
- 56 raise utils.DatabaseError, utils.DatabaseError(*tuple(e)), sys.exc_info()[2]
- 57
- 58 def executemany(self, query, args):
- Variables:
- query = u'SELECT "ip_prefix"."id", "ip_prefix"."parent_id", "ip_prefix"."vrf_id", "ip_prefix"."afi", "ip_prefix"."prefix", "ip_prefix"."asn_id", "ip_prefix"."vc_id", "ip_prefix"."description", "ip_prefix"."tags", "ip_prefix"."tt", "ip_prefix"."style_id", "ip_prefix"."state_id", "ip_prefix"."allocated_till", "ip_prefix"."ipv6_transition_id" FROM "ip_prefix" INNER JOIN "ip_prefix" T3 ON ("ip_prefix"."parent_id" = T3."id") WHERE ("ip_prefix"."vrf_id" IN (SELECT U0."id" FROM "ip_vrf" U0 WHERE (U0."vrf_group_id" = %s AND NOT (U0."id" = %s ))) AND "ip_prefix"."afi" = %s AND T3."id" IS NOT NULL AND ((prefix >>= \'10.0.0.0/25\') OR (prefix <<= \'10.0.0.0/25\')))'
- self = <django.db.backends.postgresql_psycopg2.base.CursorWrapper object at 0x5a74e50>
- args = (2, 2, u'4')
- e = ProgrammingError('column reference "prefix" is ambiguous\nLINE 1: ...refix"."afi" = \'4\' AND T3."id" IS NOT NULL AND ((prefix >>=...\n ^\n',)
- ------------------------------------------------------------------------
- File: /opt/noc/contrib/lib/django/db/backends/util.py (Line: 40)
- Function: execute
- 33
- 34 class CursorDebugWrapper(CursorWrapper):
- 35
- 36 def execute(self, sql, params=()):
- 37 self.set_dirty()
- 38 start = time()
- 39 try:
- 40 ==> return self.cursor.execute(sql, params)
- 41 finally:
- 42 stop = time()
- 43 duration = stop - start
- 44 sql = self.db.ops.last_executed_query(self.cursor, sql, params)
- 45 self.db.queries.append({
- 46 'sql': sql,
- Variables:
- self = <django.db.backends.util.CursorDebugWrapper object at 0x5a74810>
- stop = 1347870963.852708
- start = 1347870963.852099
- params = (2, 2, u'4')
- sql = 'SELECT "ip_prefix"."id", "ip_prefix"."parent_id", "ip_prefix"."vrf_id", "ip_prefix"."afi", "ip_prefix"."prefix", "ip_prefix"."asn_id", "ip_prefix"."vc_id", "ip_prefix"."description", "ip_prefix"."tags", "ip_prefix"."tt", "ip_prefix"."style_id", "ip_prefix"."state_id", "ip_prefix"."allocated_till", "ip_prefix"."ipv6_transition_id" FROM "ip_prefix" INNER JOIN "ip_prefix" T3 ON ("ip_prefix"."parent_id" = T3."id") WHERE ("ip_prefix"."vrf_id" IN (SELECT U0."id" FROM "ip_vrf" U0 WHERE (U0."vrf_group_id" = 2 AND NOT (U0."id" = 2 ))) AND "ip_prefix"."afi" = \'4\' AND T3."id" IS NOT NULL AND ((prefix >>= \'10.0.0.0/25\') OR (prefix <<= \'10.0.0.0/25\')))'
- duration = 0.0006091594696044922
- ------------------------------------------------------------------------
- File: /opt/noc/contrib/lib/django/db/models/sql/compiler.py (Line: 818)
- Function: execute_sql
- 811 except EmptyResultSet:
- 812 if result_type == MULTI:
- 813 return empty_iter()
- 814 else:
- 815 return
- 816
- 817 cursor = self.connection.cursor()
- 818 ==> cursor.execute(sql, params)
- 819
- 820 if not result_type:
- 821 return cursor
- 822 if result_type == SINGLE:
- 823 if self.query.ordering_aliases:
- 824 return cursor.fetchone()[:-len(self.query.ordering_aliases)]
- Variables:
- cursor = <django.db.backends.util.CursorDebugWrapper object at 0x5a74810>
- self = <django.db.models.sql.compiler.SQLCompiler object at 0x5a74b10>
- params = (2, 2, u'4')
- result_type = 'multi'
- sql = u'SELECT "ip_prefix"."id", "ip_prefix"."parent_id", "ip_prefix"."vrf_id", "ip_prefix"."afi", "ip_prefix"."prefix", "ip_prefix"."asn_id", "ip_prefix"."vc_id", "ip_prefix"."description", "ip_prefix"."tags", "ip_prefix"."tt", "ip_prefix"."style_id", "ip_prefix"."state_id", "ip_prefix"."allocated_till", "ip_prefix"."ipv6_transition_id" FROM "ip_prefix" INNER JOIN "ip_prefix" T3 ON ("ip_prefix"."parent_id" = T3."id") WHERE ("ip_prefix"."vrf_id" IN (SELECT U0."id" FROM "ip_vrf" U0 WHERE (U0."vrf_group_id" = %s AND NOT (U0."id" = %s ))) AND "ip_prefix"."afi" = %s AND T3."id" IS NOT NULL AND ((prefix >>= \'10.0.0.0/25\') OR (prefix <<= \'10.0.0.0/25\')))'
- ------------------------------------------------------------------------
- File: /opt/noc/contrib/lib/django/db/models/sql/compiler.py (Line: 763)
- Function: results_iter
- 756 fields = None
- 757 has_aggregate_select = bool(self.query.aggregate_select)
- 758 # Set transaction dirty if we're using SELECT FOR UPDATE to ensure
- 759 # a subsequent commit/rollback is executed, so any database locks
- 760 # are released.
- 761 if self.query.select_for_update and transaction.is_managed(self.using):
- 762 transaction.set_dirty(self.using)
- 763 ==> for rows in self.execute_sql(MULTI):
- 764 for row in rows:
- 765 if resolve_columns:
- 766 if fields is None:
- 767 # We only set this up here because
- 768 # related_select_fields isn't populated until
- 769 # execute_sql() has been called.
- Variables:
- fields = None
- self = <django.db.models.sql.compiler.SQLCompiler object at 0x5a74b10>
- has_aggregate_select = False
- resolve_columns = False
- ------------------------------------------------------------------------
- File: /opt/noc/contrib/lib/django/db/models/query.py (Line: 291)
- Function: iterator
- 284 # Cache db and model outside the loop
- 285 db = self.db
- 286 model = self.model
- 287 compiler = self.query.get_compiler(using=db)
- 288 if fill_cache:
- 289 klass_info = get_klass_info(model, max_depth=max_depth,
- 290 requested=requested, only_load=only_load)
- 291 ==> for row in compiler.results_iter():
- 292 if fill_cache:
- 293 obj, _ = get_cached_row(row, index_start, db, klass_info,
- 294 offset=len(aggregate_select))
- 295 else:
- 296 if skip:
- 297 row_data = row[index_start:aggregate_start]
- Variables:
- requested = None
- fill_cache = False
- aggregate_select = []
- fields = [<django.db.models.fields.AutoField: id>, <django.db.models.fields.related.ForeignKey: parent>, <django.db.models.fields.related.ForeignKey: vrf>, <django.db.models.fields.CharField: afi>, <noc.lib.fields.CIDRField: prefix>, <django.db.models.fields.related.ForeignKey: asn>, <django.db.models.fields.related.ForeignKey: vc>, <django.db.models.fields.TextField: description>, <noc.lib.fields.AutoCompleteTagsField: tags>, <django.db.models.fields.IntegerField: tt>, <django.db.models.fields.related.ForeignKey: style>, <django.db.models.fields.related.ForeignKey: state>, <django.db.models.fields.DateField: allocated_till>, <django.db.models.fields.related.OneToOneField: ipv6_transition>]
- skip = None
- self = []
- load_fields = []
- db = 'default'
- index_start = 0
- extra_select = []
- aggregate_start = 14
- model = <class 'noc.ip.models.prefix.Prefix'>
- only_load = {}
- max_depth = 5
- compiler = <django.db.models.sql.compiler.SQLCompiler object at 0x5a74b10>
- ------------------------------------------------------------------------
- File: /opt/noc/contrib/lib/django/db/models/query.py (Line: 875)
- Function: _fill_cache
- 868 """
- 869 Fills the result cache with 'num' more entries (or until the results
- 870 iterator is exhausted).
- 871 """
- 872 if self._iter:
- 873 try:
- 874 for i in range(num or ITER_CHUNK_SIZE):
- 875 ==> self._result_cache.append(self._iter.next())
- 876 except StopIteration:
- 877 self._iter = None
- 878
- 879 def _next_is_sticky(self):
- 880 """
- 881 Indicates that the next filter call and the one following that should
- Variables:
- i = 0
- self = []
- num = None
- ------------------------------------------------------------------------
- File: /opt/noc/contrib/lib/django/db/models/query.py (Line: 118)
- Function: _result_iter
- 111 upper = len(self._result_cache)
- 112 while pos < upper:
- 113 yield self._result_cache[pos]
- 114 pos = pos + 1
- 115 if not self._iter:
- 116 raise StopIteration
- 117 if len(self._result_cache) <= pos:
- 118 ==> self._fill_cache()
- 119
- 120 def __nonzero__(self):
- 121 if self._prefetch_related_lookups and not self._prefetch_done:
- 122 # We need all the results in order to be able to do the prefetch
- 123 # in one go. To minimize code duplication, we use the __len__
- 124 # code path which also forces this, and also does the prefetch
- Variables:
- upper = 0
- self = []
- pos = 0
- ------------------------------------------------------------------------
- File: /opt/noc/contrib/lib/django/db/models/query.py (Line: 130)
- Function: __nonzero__
- 123 # in one go. To minimize code duplication, we use the __len__
- 124 # code path which also forces this, and also does the prefetch
- 125 len(self)
- 126
- 127 if self._result_cache is not None:
- 128 return bool(self._result_cache)
- 129 try:
- 130 ==> iter(self).next()
- 131 except StopIteration:
- 132 return False
- 133 return True
- 134
- 135 def __contains__(self, val):
- 136 # The 'in' operator works without this method, due to __iter__. This
- Variables:
- self = []
- ------------------------------------------------------------------------
- File: /opt/noc/ip/apps/ipam/views.py (Line: 487)
- Function: clean_prefix
- 480 p = Prefix.objects.filter(
- 481 vrf__in=vrf.vrf_group.vrf_set.exclude(id=vrf.id),
- 482 afi=afi,
- 483 parent__isnull=False
- 484 ).filter(
- 485 SQL("prefix >>= '%s'" % prefix) |
- 486 SQL("prefix <<= '%s'" % prefix))
- 487 ==> if p:
- 488 raise ValidationError(_("Prefix %s is already exists in vrf %s") % (p[0].prefix, p[0].vrf))
- 489 return prefix
- 490
- 491 def clean_dual_stack_prefix(self):
- 492 ds_prefix = self.cleaned_data["dual_stack_prefix"]
- 493 ds_afi = "6" if afi == "4" else "4"
- Variables:
- afi = u'4'
- self = <noc.ip.apps.ipam.views.AddPrefixForm object at 0x5a7a610>
- request = <WSGIRequest
- path:/ip/ipam/2/4/10.0.0.0/24/add_prefix/,
- GET:<QueryDict: {}>,
- POST:<QueryDict: {u'style': [u''], u'description': [u'asd'], u'_save': [u'Save'], u'tags': [u''], u'tt': [u''], u'state': [u'1'], u'prefix': [u'10.0.0.0/25'], u'asn': [u'1'], u'dual_stack_prefix': [u'']}>,
- COOKIES:{'__utma': '184558463.131414743.1334561811.1336113233.1339049840.6',
- '__utmz': '184558463.1334561811.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none)',
- 'csrftoken': 'dc8ho5Gcgn2EP1xoXN8X3qngZEOibOnD',
- 'sessionid': 'ca32cb60307c56fa9d83a04f70df3441'},
- META:{'CONTENT_LENGTH': '97',
- 'CONTENT_TYPE': 'application/x-www-form-urlencoded',
- 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
- 'HTTP_ACCEPT_ENCODING': 'gzip, deflate',
- 'HTTP_ACCEPT_LANGUAGE': 'en-US,en;q=0.5',
- 'HTTP_CONNECTION': 'close',
- 'HTTP_COOKIE': '__utma=184558463.131414743.1334561811.1336113233.1339049840.6; __utmz=184558463.1334561811.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); sessionid=ca32cb60307c56fa9d83a04f70df3441; csrftoken=dc8ho5Gcgn2EP1xoXN8X3qngZEOibOnD',
- 'HTTP_DNT': '1',
- 'HTTP_HOST': '127.0.0.1:8000',
- 'HTTP_REFERER': 'http://noc.gnc.am/ip/ipam/2/4/10.0.0.0/24/add_prefix/',
- 'HTTP_USER_AGENT': 'Mozilla/5.0 (X11; Linux x86_64; rv:18.0) Gecko/18.0 Firefox/18.0 SeaMonkey/2.15a1 Lightning/2.0a1',
- 'PATH_INFO': u'/ip/ipam/2/4/10.0.0.0/24/add_prefix/',
- 'QUERY_STRING': '',
- 'REMOTE_ADDR': '127.0.0.1',
- 'REQUEST_METHOD': 'POST',
- '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 0x2ed0300>,
- 'wsgi.input': <_io.BytesIO object at 0x58b0f50>,
- 'wsgi.multiprocess': True,
- 'wsgi.multithread': False,
- 'wsgi.run_once': False,
- 'wsgi.url_scheme': 'http',
- 'wsgi.version': (1, 0)}>
- p = []
- prefix = u'10.0.0.0/25'
- vrf = <VRF: GNC-Management>
- ------------------------------------------------------------------------
- File: /opt/noc/contrib/lib/django/forms/forms.py (Line: 290)
- Function: _clean_fields
- 283 if isinstance(field, FileField):
- 284 initial = self.initial.get(name, field.initial)
- 285 value = field.clean(value, initial)
- 286 else:
- 287 value = field.clean(value)
- 288 self.cleaned_data[name] = value
- 289 if hasattr(self, 'clean_%s' % name):
- 290 ==> value = getattr(self, 'clean_%s' % name)()
- 291 self.cleaned_data[name] = value
- 292 except ValidationError, e:
- 293 self._errors[name] = self.error_class(e.messages)
- 294 if name in self.cleaned_data:
- 295 del self.cleaned_data[name]
- 296
- Variables:
- field = <django.forms.fields.CharField object at 0x5a6cb90>
- self = <noc.ip.apps.ipam.views.AddPrefixForm object at 0x5a7a610>
- name = 'prefix'
- value = u'10.0.0.0/25'
- ------------------------------------------------------------------------
- File: /opt/noc/contrib/lib/django/forms/forms.py (Line: 270)
- Function: full_clean
- 263 if not self.is_bound: # Stop further processing.
- 264 return
- 265 self.cleaned_data = {}
- 266 # If the form is permitted to be empty, and none of the form data has
- 267 # changed from the initial data, short circuit any validation.
- 268 if self.empty_permitted and not self.has_changed():
- 269 return
- 270 ==> self._clean_fields()
- 271 self._clean_form()
- 272 self._post_clean()
- 273 if self._errors:
- 274 del self.cleaned_data
- 275
- 276 def _clean_fields(self):
- Variables:
- self = <noc.ip.apps.ipam.views.AddPrefixForm object at 0x5a7a610>
- ------------------------------------------------------------------------
- File: /opt/noc/contrib/lib/django/forms/forms.py (Line: 115)
- Function: _get_errors
- 108 except KeyError:
- 109 raise KeyError('Key %r not found in Form' % name)
- 110 return BoundField(self, field, name)
- 111
- 112 def _get_errors(self):
- 113 "Returns an ErrorDict for the data provided for the form"
- 114 if self._errors is None:
- 115 ==> self.full_clean()
- 116 return self._errors
- 117 errors = property(_get_errors)
- 118
- 119 def is_valid(self):
- 120 """
- 121 Returns True if the form has no errors. Otherwise, False. If errors are
- Variables:
- self = <noc.ip.apps.ipam.views.AddPrefixForm object at 0x5a7a610>
- ------------------------------------------------------------------------
- File: /opt/noc/contrib/lib/django/forms/forms.py (Line: 124)
- Function: is_valid
- 117 errors = property(_get_errors)
- 118
- 119 def is_valid(self):
- 120 """
- 121 Returns True if the form has no errors. Otherwise, False. If errors are
- 122 being ignored, returns False.
- 123 """
- 124 ==> return self.is_bound and not bool(self.errors)
- 125
- 126 def add_prefix(self, field_name):
- 127 """
- 128 Returns the field name with a prefix appended, if this Form has a
- 129 prefix set.
- 130
- Variables:
- self = <noc.ip.apps.ipam.views.AddPrefixForm object at 0x5a7a610>
- ------------------------------------------------------------------------
- File: /opt/noc/ip/apps/ipam/views.py (Line: 520)
- Function: view_add_prefix
- 513 (afi == "6" and not vrf.afi_ipv6)):
- 514 return self.response_forbidden("Invalid AFI")
- 515 parent = self.get_object_or_404(Prefix, vrf=vrf, afi=afi, prefix=prefix)
- 516 # Process input
- 517 form_class = get_form_class()
- 518 if request.POST:
- 519 form = form_class(request.POST)
- 520 ==> if form.is_valid():
- 521 # Create prefix
- 522 p = Prefix(vrf=vrf, afi=afi,
- 523 prefix=form.cleaned_data["prefix"].strip(),
- 524 state=form.cleaned_data["state"],
- 525 asn=form.cleaned_data["asn"],
- 526 description=form.cleaned_data["description"],
- Variables:
- vrf = <VRF: GNC-Management>
- form = <noc.ip.apps.ipam.views.AddPrefixForm object at 0x5a7a610>
- parent = repr() failed
- get_form_class = <function get_form_class at 0x5a24c80>
- request = <WSGIRequest
- path:/ip/ipam/2/4/10.0.0.0/24/add_prefix/,
- GET:<QueryDict: {}>,
- POST:<QueryDict: {u'style': [u''], u'description': [u'asd'], u'_save': [u'Save'], u'tags': [u''], u'tt': [u''], u'state': [u'1'], u'prefix': [u'10.0.0.0/25'], u'asn': [u'1'], u'dual_stack_prefix': [u'']}>,
- COOKIES:{'__utma': '184558463.131414743.1334561811.1336113233.1339049840.6',
- '__utmz': '184558463.1334561811.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none)',
- 'csrftoken': 'dc8ho5Gcgn2EP1xoXN8X3qngZEOibOnD',
- 'sessionid': 'ca32cb60307c56fa9d83a04f70df3441'},
- META:{'CONTENT_LENGTH': '97',
- 'CONTENT_TYPE': 'application/x-www-form-urlencoded',
- 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
- 'HTTP_ACCEPT_ENCODING': 'gzip, deflate',
- 'HTTP_ACCEPT_LANGUAGE': 'en-US,en;q=0.5',
- 'HTTP_CONNECTION': 'close',
- 'HTTP_COOKIE': '__utma=184558463.131414743.1334561811.1336113233.1339049840.6; __utmz=184558463.1334561811.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); sessionid=ca32cb60307c56fa9d83a04f70df3441; csrftoken=dc8ho5Gcgn2EP1xoXN8X3qngZEOibOnD',
- 'HTTP_DNT': '1',
- 'HTTP_HOST': '127.0.0.1:8000',
- 'HTTP_REFERER': 'http://noc.gnc.am/ip/ipam/2/4/10.0.0.0/24/add_prefix/',
- 'HTTP_USER_AGENT': 'Mozilla/5.0 (X11; Linux x86_64; rv:18.0) Gecko/18.0 Firefox/18.0 SeaMonkey/2.15a1 Lightning/2.0a1',
- 'PATH_INFO': u'/ip/ipam/2/4/10.0.0.0/24/add_prefix/',
- 'QUERY_STRING': '',
- 'REMOTE_ADDR': '127.0.0.1',
- 'REQUEST_METHOD': 'POST',
- '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 0x2ed0300>,
- 'wsgi.input': <_io.BytesIO object at 0x58b0f50>,
- 'wsgi.multiprocess': True,
- 'wsgi.multithread': False,
- 'wsgi.run_once': False,
- 'wsgi.url_scheme': 'http',
- 'wsgi.version': (1, 0)}>
- prefix = u'10.0.0.0/24'
- form_class = <class 'noc.ip.apps.ipam.views.AddPrefixForm'>
- vrf_id = u'2'
- self = <noc.ip.apps.ipam.views.IPAMAppplication object at 0x573c710>
- afi = u'4'
- ------------------------------------------------------------------------
- File: /opt/noc/lib/app/site.py (Line: 231)
- Function: inner
- 224 for k, v in request.POST.lists())
- 225 elif request.method == "GET":
- 226 a = dict((k, v[0] if len(v) == 1 else v)
- 227 for k, v in request.GET.lists())
- 228 logging.debug("API %s %s %s" % (request.method,
- 229 request.path, a))
- 230 # Call handler
- 231 ==> r = v(request, *args, **kwargs)
- 232 # Dump SQL statements
- 233 if self.log_sql_statements:
- 234 from django.db import connections
- 235 tsc = 0
- 236 sc = defaultdict(int)
- 237 for conn in connections.all():
- Variables:
- args = ()
- view_map = {'PUT': <bound method IPAMAppplication.view_add_prefix of <noc.ip.apps.ipam.views.IPAMAppplication object at 0x573c710>>, 'POST': <bound method IPAMAppplication.view_add_prefix of <noc.ip.apps.ipam.views.IPAMAppplication object at 0x573c710>>, 'GET': <bound method IPAMAppplication.view_add_prefix of <noc.ip.apps.ipam.views.IPAMAppplication object at 0x573c710>>, 'DELETE': <bound method IPAMAppplication.view_add_prefix of <noc.ip.apps.ipam.views.IPAMAppplication object at 0x573c710>>}
- Form = <class 'django.forms.forms.Form'>
- DictParameter = <class 'noc.sa.interfaces.base.DictParameter'>
- self = <noc.lib.app.site.Site object at 0x3b7fbd0>
- v = <bound method IPAMAppplication.view_add_prefix of <noc.ip.apps.ipam.views.IPAMAppplication object at 0x573c710>>
- request = <WSGIRequest
- path:/ip/ipam/2/4/10.0.0.0/24/add_prefix/,
- GET:<QueryDict: {}>,
- POST:<QueryDict: {u'style': [u''], u'description': [u'asd'], u'_save': [u'Save'], u'tags': [u''], u'tt': [u''], u'state': [u'1'], u'prefix': [u'10.0.0.0/25'], u'asn': [u'1'], u'dual_stack_prefix': [u'']}>,
- COOKIES:{'__utma': '184558463.131414743.1334561811.1336113233.1339049840.6',
- '__utmz': '184558463.1334561811.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none)',
- 'csrftoken': 'dc8ho5Gcgn2EP1xoXN8X3qngZEOibOnD',
- 'sessionid': 'ca32cb60307c56fa9d83a04f70df3441'},
- META:{'CONTENT_LENGTH': '97',
- 'CONTENT_TYPE': 'application/x-www-form-urlencoded',
- 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
- 'HTTP_ACCEPT_ENCODING': 'gzip, deflate',
- 'HTTP_ACCEPT_LANGUAGE': 'en-US,en;q=0.5',
- 'HTTP_CONNECTION': 'close',
- 'HTTP_COOKIE': '__utma=184558463.131414743.1334561811.1336113233.1339049840.6; __utmz=184558463.1334561811.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); sessionid=ca32cb60307c56fa9d83a04f70df3441; csrftoken=dc8ho5Gcgn2EP1xoXN8X3qngZEOibOnD',
- 'HTTP_DNT': '1',
- 'HTTP_HOST': '127.0.0.1:8000',
- 'HTTP_REFERER': 'http://noc.gnc.am/ip/ipam/2/4/10.0.0.0/24/add_prefix/',
- 'HTTP_USER_AGENT': 'Mozilla/5.0 (X11; Linux x86_64; rv:18.0) Gecko/18.0 Firefox/18.0 SeaMonkey/2.15a1 Lightning/2.0a1',
- 'PATH_INFO': u'/ip/ipam/2/4/10.0.0.0/24/add_prefix/',
- 'QUERY_STRING': '',
- 'REMOTE_ADDR': '127.0.0.1',
- 'REQUEST_METHOD': 'POST',
- '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 0x2ed0300>,
- 'wsgi.input': <_io.BytesIO object at 0x58b0f50>,
- 'wsgi.multiprocess': True,
- 'wsgi.multithread': False,
- 'wsgi.run_once': False,
- 'wsgi.url_scheme': 'http',
- 'wsgi.version': (1, 0)}>
- to_log_api_call = False
- InterfaceTypeError = <class 'noc.sa.interfaces.base.InterfaceTypeError'>
- PermissionDenied = <class 'noc.lib.app.access.PermissionDenied'>
- kwargs = {'vrf_id': u'2', 'prefix': u'10.0.0.0/24', 'afi': u'4'}
- app = <noc.ip.apps.ipam.views.IPAMAppplication object at 0x573c710>
- ------------------------------------------------------------------------
- END OF TRACEBACK
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement