netbox-community / netbox

The premier source of truth powering network automation. Open source under Apache 2. Public demo: https://demo.netbox.dev
http://netboxlabs.com/oss/netbox/
Apache License 2.0
15.49k stars 2.52k forks source link

Query server error: cannot switch EUI versions using copy constructor #1388

Closed alesz closed 6 years ago

alesz commented 6 years ago

Issue type: bug report

Python version: 2.7.5 NetBox version: 2.1.1

Querying prefixes returns following server error:

<class 'django.core.exceptions.ValidationError'>
[u'cannot switch EUI versions using copy constructor!']

Example request

Request Headers
GET /search/?q=1.2.3.4 HTTP/1.1
Host: redacted
Connection: keep-alive
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
Accept-Encoding: gzip, deflate, br
Accept-Language: en-US,en;q=0.8
Cookie: sessionid=xxx; csrftoken=yyy
Query String Parameters
view parsed
q=1.2.3.4

Response Headers
HTTP/1.1 500 Internal Server Error
Server: nginx/1.10.2
Date: Thu, 03 Aug 2017 06:39:22 GMT
Content-Type: text/html; charset=utf-8
Content-Length: 1636
Connection: keep-alive
Vary: Cookie
X-Frame-Options: SAMEORIGIN

Debug trace

Internal Server Error: /search/

ValidationError at /search/
[u'cannot switch EUI versions using copy constructor!']

Request Method: GET
Request URL: https://netbox_redacted/search/?q=1.2.3.4
Django Version: 1.11.1
Python Executable: /usr/bin/python
Python Version: 2.7.5
Python Path: ['/opt/netbox-2.1.1/netbox', '/opt/netbox/netbox', '/usr/bin', '/usr/lib64/python27.zip', '/usr/lib64/python2.7', '/usr/lib64/python2.7/plat-linux2', '/usr/lib64/python2.7/lib-tk', '/usr/lib64/python2.7/lib-old', '/usr/lib64/python2.7/lib-dynload', '/usr/lib64/python2.7/site-packages', '/usr/lib64/python2.7/site-packages/gtk-2.0', '/usr/lib/python2.7/site-packages']
Server time: Thu, 3 Aug 2017 16:28:59 +1000 Installed Applications:
('django.contrib.admin',
 'django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.messages',
 'django.contrib.staticfiles',
 'django.contrib.humanize',
 'corsheaders',
 'debug_toolbar',
 'django_filters',
 'django_tables2',
 'mptt',
 'rest_framework',
 'rest_framework_swagger',
 'circuits',
 'dcim',
 'ipam',
 'extras',
 'secrets',
 'tenancy',
 'users',
 'utilities')
Installed Middleware:
('debug_toolbar.middleware.DebugToolbarMiddleware',
 'corsheaders.middleware.CorsMiddleware',
 'django.contrib.sessions.middleware.SessionMiddleware',
 'django.middleware.common.CommonMiddleware',
 'django.middleware.csrf.CsrfViewMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware',
 'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
 'django.contrib.messages.middleware.MessageMiddleware',
 'django.middleware.clickjacking.XFrameOptionsMiddleware',
 'django.middleware.security.SecurityMiddleware',
 'utilities.middleware.LoginRequiredMiddleware',
 'utilities.middleware.APIVersionMiddleware')

Traceback:  

File "/usr/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
  41.             response = get_response(request)

File "/usr/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
  187.                 response = self.process_exception_by_middleware(e, request)

File "/usr/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
  185.                 response = wrapped_callback(request, *callback_args, **callback_kwargs)

File "/usr/lib/python2.7/site-packages/django/views/generic/base.py" in view
  68.             return self.dispatch(request, *args, **kwargs)

File "/usr/lib/python2.7/site-packages/django/views/generic/base.py" in dispatch
  88.         return handler(request, *args, **kwargs)

File "/opt/netbox-2.1.1/netbox/netbox/views.py" in get
  193.                 filtered_queryset = filter_cls({'q': form.cleaned_data['q']}, queryset=queryset).qs

File "/usr/lib/python2.7/site-packages/django_filters/filterset.py" in qs
  214.                     qs = filter_.filter(qs, value)

File "/usr/lib/python2.7/site-packages/django_filters/filters.py" in __call__
  686.         return self.method(qs, self.f.name, value)

File "/opt/netbox-2.1.1/netbox/dcim/filters.py" in search
  464.         return queryset.filter(qs_filter).distinct()

File "/usr/lib/python2.7/site-packages/django/db/models/query.py" in filter
  782.         return self._filter_or_exclude(False, *args, **kwargs)

File "/usr/lib/python2.7/site-packages/django/db/models/query.py" in _filter_or_exclude
  800.             clone.query.add_q(Q(*args, **kwargs))

File "/usr/lib/python2.7/site-packages/django/db/models/sql/query.py" in add_q
  1261.         clause, _ = self._add_q(q_object, self.used_aliases)

File "/usr/lib/python2.7/site-packages/django/db/models/sql/query.py" in _add_q
  1281.                     current_negated, allow_joins, split_subq)

File "/usr/lib/python2.7/site-packages/django/db/models/sql/query.py" in _add_q
  1287.                     allow_joins=allow_joins, split_subq=split_subq,

File "/usr/lib/python2.7/site-packages/django/db/models/sql/query.py" in build_filter
  1221.             condition = self.build_lookup(lookups, col, value)

File "/usr/lib/python2.7/site-packages/django/db/models/sql/query.py" in build_lookup
  1115.                 return final_lookup(lhs, rhs)

File "/usr/lib/python2.7/site-packages/django/db/models/lookups.py" in __init__
  24.         self.rhs = self.get_prep_lookup()

File "/usr/lib/python2.7/site-packages/django/db/models/lookups.py" in get_prep_lookup
  74.             return self.lhs.output_field.get_prep_value(self.rhs)

File "/opt/netbox-2.1.1/netbox/dcim/fields.py" in get_prep_value
  47.         return str(self.to_python(value))

File "/opt/netbox-2.1.1/netbox/dcim/fields.py" in to_python
  39.             raise ValidationError(e)

Exception Type: ValidationError at /search/ Exception Value: [u'cannot switch EUI versions using copy constructor!'] Request information:
USER: 905097

GET:
q = u'1.2.3.4'

POST: No POST data

FILES: No FILES data

COOKIES:
csrftoken = 'tVubiHrFS0iRfRcIDtr1ra00sEFFBrlh30zHklWLXEWrLIajBRbH0BaYfLf1GesT'
sessionid = 'o1byom63trdkaccab6gsjkv1d11ez2zi'

META:
CSRF_COOKIE = 'tVubiHrFS0iRfRcIDtr1ra00sEFFBrlh30zHklWLXEWrLIajBRbH0BaYfLf1GesT'
HTTP_ACCEPT = 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8'
HTTP_ACCEPT_ENCODING = 'gzip, deflate, br'
HTTP_ACCEPT_LANGUAGE = 'en-US,en;q=0.8'
HTTP_CONNECTION = 'close'
HTTP_COOKIE = 'sessionid=o1byom63trdkaccab6gsjkv1d11ez2zi; csrftoken=tVubiHrFS0iRfRcIDtr1ra00sEFFBrlh30zHklWLXEWrLIajBRbH0BaYfLf1GesT'
HTTP_HOST = '127.0.0.1:8001'
HTTP_UPGRADE_INSECURE_REQUESTS = '1'
HTTP_USER_AGENT = 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36'
HTTP_X_FORWARDED_HOST = 'netbox_redacted'
HTTP_X_FORWARDED_PROTO = 'https'
HTTP_X_REAL_IP = 'source_ip_redacted'
PATH_INFO = u'/search/'
QUERY_STRING = 'q=1.2.3.4'
RAW_URI = '/search/?q=1.2.3.4'
REMOTE_ADDR = '127.0.0.1'
REMOTE_PORT = '49004'
REQUEST_METHOD = 'GET'
SCRIPT_NAME = u''
SERVER_NAME = '127.0.0.1'
SERVER_PORT = '8001'
SERVER_PROTOCOL = 'HTTP/1.0'
SERVER_SOFTWARE = 'gunicorn/18.0'
gunicorn.socket = <socket._socketobject object at 0x605a6e0> wsgi.errors = <open file '<stderr>', mode 'w' at 0x7f56017fa1e0> wsgi.file_wrapper = ''
wsgi.input = <gunicorn.http.body.Body object at 0x64a0990> wsgi.multiprocess = True wsgi.multithread = False wsgi.run_once = False wsgi.url_scheme = 'https'
wsgi.version = 

Settings:
Using settings module netbox.settings
ABSOLUTE_URL_OVERRIDES = {}
ADMINS = [['redacted', 'redacted@redacted']]
ALLOWED_HOSTS = ['netbox', 'netbox_redacted', 'netbox_redacted'] APPEND_SLASH = True AUTHENTICATION_BACKENDS = ['django_auth_ldap.backend.LDAPBackend', 'django.contrib.auth.backends.ModelBackend']
AUTH_LDAP_BIND_DN = 'CN=svc_netbox,OU=Service Accounts,redacted'
AUTH_LDAP_BIND_PASSWORD = u'********************'
AUTH_LDAP_CACHE_GROUPS = False
AUTH_LDAP_CONNECTION_OPTIONS = {8: 0}
AUTH_LDAP_FIND_GROUP_PERMS = True
AUTH_LDAP_GROUP_CACHE_TIMEOUT = 3600
AUTH_LDAP_GROUP_SEARCH = <django_auth_ldap.config.LDAPSearch object at 0x2d56f50> AUTH_LDAP_GROUP_TYPE = <django_auth_ldap.config.GroupOfNamesType object at 0x2d66050> AUTH_LDAP_SERVER_URI = 'ldap://redacted'
AUTH_LDAP_USER_ATTR_MAP = {'first_name': 'givenName', 'last_name': 'sn'} AUTH_LDAP_USER_FLAGS_BY_GROUP = {'is_superuser': 'CN=APP - NetBox Administrator,redacted', 'is_staff': 'CN=APP - IPAM User,redacted', 'is_active': 'CN=APP - IPAM User,redacted'}
AUTH_LDAP_USER_SEARCH = <django_auth_ldap.config.LDAPSearch object at 0x2d56d90> AUTH_PASSWORD_VALIDATORS = u'********************'
AUTH_USER_MODEL = u'auth.User'
BANNER_BOTTOM = ''
BANNER_TOP = ''
BASE_DIR = '/opt/netbox-2.1.1/netbox'
BASE_PATH = ''
CACHES = {u'default': {u'BACKEND': u'django.core.cache.backends.locmem.LocMemCache'}}
CACHE_MIDDLEWARE_ALIAS = u'default'
CACHE_MIDDLEWARE_KEY_PREFIX = u'********************'
CACHE_MIDDLEWARE_SECONDS = 600
CORS_ORIGIN_ALLOW_ALL = True
CORS_ORIGIN_REGEX_WHITELIST = []
CORS_ORIGIN_WHITELIST = []
CSRF_COOKIE_AGE = 31449600
CSRF_COOKIE_DOMAIN = None
CSRF_COOKIE_HTTPONLY = False
CSRF_COOKIE_NAME = u'csrftoken'
CSRF_COOKIE_PATH = u'/'
CSRF_COOKIE_SECURE = False
CSRF_FAILURE_VIEW = u'django.views.csrf.csrf_failure'
CSRF_HEADER_NAME = u'HTTP_X_CSRFTOKEN'
CSRF_TRUSTED_ORIGINS = ['netbox', 'netbox_redacted', 'netbox_redacted'] CSRF_USE_SESSIONS = False DATABASE = {'ENGINE': 'django.db.backends.postgresql', 'AUTOCOMMIT': True, 'ATOMIC_REQUESTS': False, 'NAME': 'netbox', 'CONN_MAX_AGE': 0, 'TIME_ZONE': None, 'PORT': '', 'HOST': 'pgsql-master-02', 'USER': 'netbox', 'TEST': {'COLLATION': None, 'CHARSET': None, 'NAME': None, 'MIRROR': None}, 'PASSWORD': u'********************', 'OPTIONS': {}} DATABASES = {'default': {'ENGINE': 'django.db.backends.postgresql', 'AUTOCOMMIT': True, 'ATOMIC_REQUESTS': False, 'NAME': 'netbox', 'CONN_MAX_AGE': 0, 'TIME_ZONE': None, 'PORT': '', 'HOST': 'pgsql-master-02', 'USER': 'netbox', 'TEST': {'COLLATION': None, 'CHARSET': None, 'NAME': None, 'MIRROR': None}, 'PASSWORD': u'********************', 'OPTIONS': {}}} DATABASE_ROUTERS = [] DATA_UPLOAD_MAX_MEMORY_SIZE = 2621440 DATA_UPLOAD_MAX_NUMBER_FIELDS = None DATETIME_FORMAT = 'N j, Y g:i a'
DATETIME_INPUT_FORMATS = [u'%Y-%m-%d %H:%M:%S', u'%Y-%m-%d %H:%M:%S.%f', u'%Y-%m-%d %H:%M', u'%Y-%m-%d', u'%m/%d/%Y %H:%M:%S', u'%m/%d/%Y %H:%M:%S.%f', u'%m/%d/%Y %H:%M', u'%m/%d/%Y', u'%m/%d/%y %H:%M:%S', u'%m/%d/%y %H:%M:%S.%f', u'%m/%d/%y %H:%M', u'%m/%d/%y'] DATE_FORMAT = 'N j, Y'
DATE_INPUT_FORMATS = [u'%Y-%m-%d', u'%m/%d/%Y', u'%m/%d/%y', u'%b %d %Y', u'%b %d, %Y', u'%d %b %Y', u'%d %b, %Y', u'%B %d %Y', u'%B %d, %Y', u'%d %B %Y', u'%d %B, %Y'] DEBUG = False DEBUG_PROPAGATE_EXCEPTIONS = False DEBUG_TOOLBAR_CONFIG = {'DISABLE_PANELS': ['debug_toolbar.panels.redirects.RedirectsPanel', 'debug_toolbar.panels.templates.TemplatesPanel']}
DECIMAL_SEPARATOR = u'.'
DEFAULT_CHARSET = u'utf-8'
DEFAULT_CONTENT_TYPE = u'text/html'
DEFAULT_EXCEPTION_REPORTER_FILTER = u'django.views.debug.SafeExceptionReporterFilter'
DEFAULT_FILE_STORAGE = u'django.core.files.storage.FileSystemStorage'
DEFAULT_FROM_EMAIL = u'webmaster@localhost'
DEFAULT_INDEX_TABLESPACE = u''
DEFAULT_TABLESPACE = u''
DISALLOWED_USER_AGENTS = []
EMAIL = {'USERNAME': '', 'SERVER': 'smtp', 'FROM_EMAIL': 'netbox@redacted', 'TIMEOUT': 10, 'PASSWORD': u'********************', 'PORT': 25} EMAIL_BACKEND = u'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtp'
EMAIL_HOST_PASSWORD = u'********************'
EMAIL_HOST_USER = ''
EMAIL_PORT = 25
EMAIL_SSL_CERTFILE = None
EMAIL_SSL_KEYFILE = u'********************'
EMAIL_SUBJECT_PREFIX = '[NetBox] '
EMAIL_TIMEOUT = 10
EMAIL_USE_LOCALTIME = False
EMAIL_USE_SSL = False
EMAIL_USE_TLS = False
ENFORCE_GLOBAL_UNIQUE = False
FILE_CHARSET = u'utf-8'
FILE_UPLOAD_DIRECTORY_PERMISSIONS = None FILE_UPLOAD_HANDLERS = [u'django.core.files.uploadhandler.MemoryFileUploadHandler', u'django.core.files.uploadhandler.TemporaryFileUploadHandler']
FILE_UPLOAD_MAX_MEMORY_SIZE = 2621440
FILE_UPLOAD_PERMISSIONS = None
FILE_UPLOAD_TEMP_DIR = None
FIRST_DAY_OF_WEEK = 0
FIXTURE_DIRS = []
FORCE_SCRIPT_NAME = None
FORMAT_MODULE_PATH = None
FORM_RENDERER = u'django.forms.renderers.DjangoTemplates'
HOSTNAME = 'netbox_redacted'
IGNORABLE_404_URLS = []
INSTALLED_APPS =
INTERNAL_IPS =
LANGUAGES = [(u'af', u'Afrikaans'), (u'ar', u'Arabic'), (u'ast', u'Asturian'), (u'az', u'Azerbaijani'), (u'bg', u'Bulgarian'), (u'be', u'Belarusian'), (u'bn', u'Bengali'), (u'br', u'Breton'), (u'bs', u'Bosnian'), (u'ca', u'Catalan'), (u'cs', u'Czech'), (u'cy', u'Welsh'), (u'da', u'Danish'), (u'de', u'German'), (u'dsb', u'Lower Sorbian'), (u'el', u'Greek'), (u'en', u'English'), (u'en-au', u'Australian English'), (u'en-gb', u'British English'), (u'eo', u'Esperanto'), (u'es', u'Spanish'), (u'es-ar', u'Argentinian Spanish'), (u'es-co', u'Colombian Spanish'), (u'es-mx', u'Mexican Spanish'), (u'es-ni', u'Nicaraguan Spanish'), (u'es-ve', u'Venezuelan Spanish'), (u'et', u'Estonian'), (u'eu', u'Basque'), (u'fa', u'Persian'), (u'fi', u'Finnish'), (u'fr', u'French'), (u'fy', u'Frisian'), (u'ga', u'Irish'), (u'gd', u'Scottish Gaelic'), (u'gl', u'Galician'), (u'he', u'Hebrew'), (u'hi', u'Hindi'), (u'hr', u'Croatian'), (u'hsb', u'Upper Sorbian'), (u'hu', u'Hungarian'), (u'ia', u'Interlingua'), (u'id', u'Indonesian'), (u'io', u'Ido'), (u'is', u'Icelandic'), (u'it', u'Italian'), (u'ja', u'Japanese'), (u'ka', u'Georgian'), (u'kk', u'Kazakh'), (u'km', u'Khmer'), (u'kn', u'Kannada'), (u'ko', u'Korean'), (u'lb', u'Luxembourgish'), (u'lt', u'Lithuanian'), (u'lv', u'Latvian'), (u'mk', u'Macedonian'), (u'ml', u'Malayalam'), (u'mn', u'Mongolian'), (u'mr', u'Marathi'), (u'my', u'Burmese'), (u'nb', u'Norwegian Bokm\xe5l'), (u'ne', u'Nepali'), (u'nl', u'Dutch'), (u'nn', u'Norwegian Nynorsk'), (u'os', u'Ossetic'), (u'pa', u'Punjabi'), (u'pl', u'Polish'), (u'pt', u'Portuguese'), (u'pt-br', u'Brazilian Portuguese'), (u'ro', u'Romanian'), (u'ru', u'Russian'), (u'sk', u'Slovak'), (u'sl', u'Slovenian'), (u'sq', u'Albanian'), (u'sr', u'Serbian'), (u'sr-latn', u'Serbian Latin'), (u'sv', u'Swedish'), (u'sw', u'Swahili'), (u'ta', u'Tamil'), (u'te', u'Telugu'), (u'th', u'Thai'), (u'tr', u'Turkish'), (u'tt', u'Tatar'), (u'udm', u'Udmurt'), (u'uk', u'Ukrainian'), (u'ur', u'Urdu'), (u'vi', u'Vietnamese'), (u'zh-hans', u'Simplified Chinese'), (u'zh-hant', u'Traditional Chinese')] LANGUAGES_BIDI = [u'he', u'ar', u'fa', u'ur'] LANGUAGE_CODE = 'en-us'
LANGUAGE_COOKIE_AGE = None
LANGUAGE_COOKIE_DOMAIN = None
LANGUAGE_COOKIE_NAME = u'django_language'
LANGUAGE_COOKIE_PATH = u'/'
LDAP_CONFIGURED = True
LDAP_IGNORE_CERT_ERRORS = True
LOCALE_PATHS = []
LOGGING = {}
LOGGING_CONFIG = u'logging.config.dictConfig'
LOGIN_REDIRECT_URL = u'/accounts/profile/'
LOGIN_REQUIRED = False
LOGIN_URL = '/login/'
LOGOUT_REDIRECT_URL = None
MAINTENANCE_MODE = False
MANAGERS = []
MAX_PAGE_SIZE = 1000
MEDIA_ROOT = '/opt/netbox-2.1.1/netbox/media'
MEDIA_URL = '/media/'
MESSAGE_STORAGE = u'django.contrib.messages.storage.fallback.FallbackStorage'
MESSAGE_TAGS = {40: 'danger'}
MIDDLEWARE =
MIDDLEWARE_CLASSES = [u'django.middleware.common.CommonMiddleware', u'django.middleware.csrf.CsrfViewMiddleware']
MIGRATION_MODULES = {}
MONTH_DAY_FORMAT = u'F j'
NAPALM_ARGS = {}
NAPALM_PASSWORD = u'********************'
NAPALM_TIMEOUT = 30
NAPALM_USERNAME = 'svc_netbox'
NETBOX_PASSWORD = u'********************'
NETBOX_USERNAME = ''
NUMBER_GROUPING = 0
PAGINATE_COUNT = 300
PASSWORD_HASHERS = u'********************'
PASSWORD_RESET_TIMEOUT_DAYS = u'********************'
PREFER_IPV4 = True
PREPEND_WWW = False
REST_FRAMEWORK = {'DEFAULT_AUTHENTICATION_CLASSES': ('rest_framework.authentication.SessionAuthentication', 'utilities.api.TokenAuthentication'), 'DEFAULT_FILTER_BACKENDS': ('rest_framework.filters.DjangoFilterBackend',), 'DEFAULT_VERSION': '2.1', 'DEFAULT_PERMISSION_CLASSES': ('utilities.api.TokenPermissions',), 'PAGE_SIZE': 300, 'DEFAULT_VERSIONING_CLASS': 'rest_framework.versioning.AcceptHeaderVersioning', 'ALLOWED_VERSIONS': ['2.1'], 'DEFAULT_PAGINATION_CLASS': 'utilities.api.OptionalLimitOffsetPagination'}
REST_FRAMEWORK_VERSION = '2.1'
ROOT_URLCONF = 'netbox.urls'
SECRETS_MIN_PUBKEY_SIZE = u'********************'
SECRET_KEY = u'********************'
SECURE_BROWSER_XSS_FILTER = False
SECURE_CONTENT_TYPE_NOSNIFF = False
SECURE_HSTS_INCLUDE_SUBDOMAINS = False
SECURE_HSTS_PRELOAD = False
SECURE_HSTS_SECONDS = 0
SECURE_PROXY_SSL_HEADER =
SECURE_REDIRECT_EXEMPT = []
SECURE_SSL_HOST = None
SECURE_SSL_REDIRECT = False
SERVER_EMAIL = 'netbox@redacted'
SESSION_CACHE_ALIAS = u'default'
SESSION_COOKIE_AGE = 1209600
SESSION_COOKIE_DOMAIN = None
SESSION_COOKIE_HTTPONLY = True
SESSION_COOKIE_NAME = u'sessionid'
SESSION_COOKIE_PATH = u'/'
SESSION_COOKIE_SECURE = False
SESSION_ENGINE = u'django.contrib.sessions.backends.db'
SESSION_EXPIRE_AT_BROWSER_CLOSE = False
SESSION_FILE_PATH = None
SESSION_SAVE_EVERY_REQUEST = False
SESSION_SERIALIZER = u'django.contrib.sessions.serializers.JSONSerializer'
SETTINGS_MODULE = 'netbox.settings'
SHORT_DATETIME_FORMAT = 'd/m/Y H:i'
SHORT_DATE_FORMAT = 'd/m/Y'
SHORT_TIME_FORMAT = 'H:i:s'
SIGNING_BACKEND = u'django.core.signing.TimestampSigner'
SILENCED_SYSTEM_CHECKS = []
STATICFILES_DIRS = '/opt/netbox-2.1.1/netbox/project-static'
STATICFILES_FINDERS = [u'django.contrib.staticfiles.finders.FileSystemFinder', u'django.contrib.staticfiles.finders.AppDirectoriesFinder']
STATICFILES_STORAGE = u'django.contrib.staticfiles.storage.StaticFilesStorage'
STATIC_ROOT = '/opt/netbox-2.1.1/netbox/static/'
STATIC_URL = '/static/'
TEMPLATES = [{'DIRS': ['/opt/netbox-2.1.1/netbox/templates/'], 'APP_DIRS': True, 'OPTIONS': {'context_processors': ['django.template.context_processors.debug', 'django.template.context_processors.request', 'django.template.context_processors.media', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages', 'utilities.context_processors.settings']}, 'BACKEND': 'django.template.backends.django.DjangoTemplates'}]
TEST_NON_SERIALIZED_APPS = []
TEST_RUNNER = u'django.test.runner.DiscoverRunner'
THOUSAND_SEPARATOR = u','
TIME_FORMAT = 'g:i a'
TIME_INPUT_FORMATS = [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M'] TIME_ZONE = 'Australia/Brisbane'
USE_ETAGS = False
USE_I18N = True
USE_L10N = False
USE_THOUSAND_SEPARATOR = False
USE_TZ = True
USE_X_FORWARDED_HOST = True
USE_X_FORWARDED_PORT = False
VERSION = '2.1.1'
WSGI_APPLICATION = 'netbox.wsgi.application'
X_FRAME_OPTIONS = u'SAMEORIGIN'
YEAR_MONTH_FORMAT = u'F Y'
jeremystretch commented 6 years ago

Looks like this bug was introduced in #1379. For some reason, netaddr accepts IPv4 addresses as valid values when forming an EUI.

Note: This occurs only when searching for devices (in the global search view). Regular IP/prefix search works normally.