Server Error on object change #4110

Closed
opened 2025-12-29 18:33:10 +01:00 by adam · 16 comments
Owner

Originally created by @Dimaqa on GitHub (Sep 17, 2020).

Environment

  • Python version: 3.8.2
  • NetBox version: 2.9.3

Steps to Reproduce

After update to 2.9 i have the same issues described in #2621 but also on creating\updating objects.
And on top of that there can be WRONG user in change log for object change.

This is pretty hard reproduce intentionally. It happens in less than 1% of requests but still happens.

Expected Behavior

The operation should not produce a internal server error.

Observed Behavior

Stack trace

Internal Server Error: /api/ipam/ip-addresses/39360/
Traceback (most recent call last):
  File "/opt/netbox/venv/lib64/python3.6/site-packages/django/core/handlers/exception.py", line 47, in inner
    response = get_response(request)
  File "/opt/netbox/venv/lib64/python3.6/site-packages/django/core/handlers/base.py", line 179, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "/opt/netbox/venv/lib64/python3.6/site-packages/django/views/decorators/csrf.py", line 54, in wrapped_view
    return view_func(*args, **kwargs)
  File "/opt/netbox/venv/lib64/python3.6/site-packages/rest_framework/viewsets.py", line 114, in view
    return self.dispatch(request, *args, **kwargs)
  File "/opt/netbox/netbox/utilities/api.py", line 344, in dispatch
    return super().dispatch(request, *args, **kwargs)
  File "/opt/netbox/venv/lib64/python3.6/site-packages/rest_framework/views.py", line 505, in dispatch
    response = self.handle_exception(exc)
  File "/opt/netbox/venv/lib64/python3.6/site-packages/rest_framework/views.py", line 465, in handle_exception
    self.raise_uncaught_exception(exc)
  File "/opt/netbox/venv/lib64/python3.6/site-packages/rest_framework/views.py", line 476, in raise_uncaught_exception
    raise exc
  File "/opt/netbox/venv/lib64/python3.6/site-packages/rest_framework/views.py", line 502, in dispatch
    response = handler(request, *args, **kwargs)
  File "/opt/netbox/venv/lib64/python3.6/site-packages/rest_framework/mixins.py", line 82, in partial_update
    return self.update(request, *args, **kwargs)
  File "/opt/netbox/venv/lib64/python3.6/site-packages/rest_framework/mixins.py", line 68, in update
    self.perform_update(serializer)
  File "/opt/netbox/netbox/utilities/api.py", line 392, in perform_update
    instance = serializer.save()
  File "/opt/netbox/venv/lib64/python3.6/site-packages/rest_framework/serializers.py", line 207, in save
    self.instance = self.update(self.instance, validated_data)
  File "/opt/netbox/netbox/extras/api/serializers.py", line 115, in update
    instance = super().update(instance, validated_data)
  File "/opt/netbox/netbox/extras/api/customfields.py", line 198, in update
    instance = super().update(instance, validated_data)
  File "/opt/netbox/venv/lib64/python3.6/site-packages/rest_framework/serializers.py", line 992, in update
    instance.save()
  File "/opt/netbox/netbox/ipam/models.py", line 766, in save
    super().save(*args, **kwargs)
  File "/opt/netbox/venv/lib64/python3.6/site-packages/django/db/models/base.py", line 751, in save
    force_update=force_update, update_fields=update_fields)
  File "/opt/netbox/venv/lib64/python3.6/site-packages/django/db/models/base.py", line 800, in save_base
    update_fields=update_fields, raw=raw, using=using,
  File "/opt/netbox/venv/lib64/python3.6/site-packages/django/dispatch/dispatcher.py", line 179, in send
    for receiver in self._live_receivers(sender)
  File "/opt/netbox/venv/lib64/python3.6/site-packages/django/dispatch/dispatcher.py", line 179, in <listcomp>
    for receiver in self._live_receivers(sender)
  File "/opt/netbox/netbox/utilities/utils.py", line 283, in _curried
    return _curried_func(*args, *moreargs, **{**kwargs, **morekwargs})
  File "/opt/netbox/netbox/extras/signals.py", line 37, in _handle_changed_object
    objectchange.user = request.user
  File "/opt/netbox/venv/lib64/python3.6/site-packages/django/db/models/fields/related_descriptors.py", line 220, in __set__
    self.field.remote_field.model._meta.object_name,
ValueError: Cannot assign "<SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7fd227d6f630>>": "ObjectChange.user" must be a "User" instance.
Originally created by @Dimaqa on GitHub (Sep 17, 2020). ### Environment * Python version: 3.8.2 * NetBox version: 2.9.3 ### Steps to Reproduce After update to 2.9 i have the same issues described in #2621 but also on creating\updating objects. And on top of that there can be WRONG user in change log for object change. This is pretty hard reproduce intentionally. It happens in less than 1% of requests but still happens. ### Expected Behavior The operation should not produce a internal server error. ### Observed Behavior Stack trace ``` Internal Server Error: /api/ipam/ip-addresses/39360/ Traceback (most recent call last): File "/opt/netbox/venv/lib64/python3.6/site-packages/django/core/handlers/exception.py", line 47, in inner response = get_response(request) File "/opt/netbox/venv/lib64/python3.6/site-packages/django/core/handlers/base.py", line 179, in _get_response response = wrapped_callback(request, *callback_args, **callback_kwargs) File "/opt/netbox/venv/lib64/python3.6/site-packages/django/views/decorators/csrf.py", line 54, in wrapped_view return view_func(*args, **kwargs) File "/opt/netbox/venv/lib64/python3.6/site-packages/rest_framework/viewsets.py", line 114, in view return self.dispatch(request, *args, **kwargs) File "/opt/netbox/netbox/utilities/api.py", line 344, in dispatch return super().dispatch(request, *args, **kwargs) File "/opt/netbox/venv/lib64/python3.6/site-packages/rest_framework/views.py", line 505, in dispatch response = self.handle_exception(exc) File "/opt/netbox/venv/lib64/python3.6/site-packages/rest_framework/views.py", line 465, in handle_exception self.raise_uncaught_exception(exc) File "/opt/netbox/venv/lib64/python3.6/site-packages/rest_framework/views.py", line 476, in raise_uncaught_exception raise exc File "/opt/netbox/venv/lib64/python3.6/site-packages/rest_framework/views.py", line 502, in dispatch response = handler(request, *args, **kwargs) File "/opt/netbox/venv/lib64/python3.6/site-packages/rest_framework/mixins.py", line 82, in partial_update return self.update(request, *args, **kwargs) File "/opt/netbox/venv/lib64/python3.6/site-packages/rest_framework/mixins.py", line 68, in update self.perform_update(serializer) File "/opt/netbox/netbox/utilities/api.py", line 392, in perform_update instance = serializer.save() File "/opt/netbox/venv/lib64/python3.6/site-packages/rest_framework/serializers.py", line 207, in save self.instance = self.update(self.instance, validated_data) File "/opt/netbox/netbox/extras/api/serializers.py", line 115, in update instance = super().update(instance, validated_data) File "/opt/netbox/netbox/extras/api/customfields.py", line 198, in update instance = super().update(instance, validated_data) File "/opt/netbox/venv/lib64/python3.6/site-packages/rest_framework/serializers.py", line 992, in update instance.save() File "/opt/netbox/netbox/ipam/models.py", line 766, in save super().save(*args, **kwargs) File "/opt/netbox/venv/lib64/python3.6/site-packages/django/db/models/base.py", line 751, in save force_update=force_update, update_fields=update_fields) File "/opt/netbox/venv/lib64/python3.6/site-packages/django/db/models/base.py", line 800, in save_base update_fields=update_fields, raw=raw, using=using, File "/opt/netbox/venv/lib64/python3.6/site-packages/django/dispatch/dispatcher.py", line 179, in send for receiver in self._live_receivers(sender) File "/opt/netbox/venv/lib64/python3.6/site-packages/django/dispatch/dispatcher.py", line 179, in <listcomp> for receiver in self._live_receivers(sender) File "/opt/netbox/netbox/utilities/utils.py", line 283, in _curried return _curried_func(*args, *moreargs, **{**kwargs, **morekwargs}) File "/opt/netbox/netbox/extras/signals.py", line 37, in _handle_changed_object objectchange.user = request.user File "/opt/netbox/venv/lib64/python3.6/site-packages/django/db/models/fields/related_descriptors.py", line 220, in __set__ self.field.remote_field.model._meta.object_name, ValueError: Cannot assign "<SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7fd227d6f630>>": "ObjectChange.user" must be a "User" instance. ```
adam added the type: bugpending closurestatus: under review labels 2025-12-29 18:33:10 +01:00
adam closed this issue 2025-12-29 18:33:10 +01:00
Author
Owner

@jeremystretch commented on GitHub (Sep 17, 2020):

This issue is pending closure as it does not conform to one of the provided templates as required by the contributing guide. If you'd like to request that your issue be re-opened, please first update the content so that it matches the appropriate template (this may require rewriting your issue entirely).

@jeremystretch commented on GitHub (Sep 17, 2020): This issue is pending closure as it does not conform to one of the [provided templates](https://github.com/netbox-community/netbox/issues/new/choose) as required by the [contributing guide](https://github.com/netbox-community/netbox/blob/master/CONTRIBUTING.md). If you'd like to request that your issue be re-opened, please first update the content so that it matches the appropriate template (this may require rewriting your issue entirely).
Author
Owner

@jeremystretch commented on GitHub (Sep 21, 2020):

Thank you for opening a bug report. I was unable to reproduce the reported behavior on NetBox v2.9.3. Please re-confirm the reported behavior on the current stable release and adjust your post above as necessary. Remember to provide detailed steps that someone else can follow using a clean installation of NetBox to reproduce the issue. Remember to include the steps taken to create any initial objects or other data.

@jeremystretch commented on GitHub (Sep 21, 2020): Thank you for opening a bug report. I was unable to reproduce the reported behavior on NetBox v2.9.3. Please re-confirm the reported behavior on the current stable release and adjust your post above as necessary. Remember to provide detailed steps that someone else can follow using a clean installation of NetBox to reproduce the issue. Remember to include the steps taken to create any initial objects or other data.
Author
Owner

@Dimaqa commented on GitHub (Sep 22, 2020):

It happens with a big amount of requests, I've managed to reproduce it by running this code in parrallel for multiple /22 subnets

import pynetbox
import urllib3
import ipaddress
urllib3.disable_warnings()

network = ipaddress.IPv4Network('7.0.0.0/22')
nb = pynetbox.api(url='url', token='token')
nb.http_session.verify = False

for ip in network:
    nb.ipam.ip_addresses.create(address=str(ip), status='active')
    ad = nb.ipam.ip_addresses.get(address=str(ip), status='active')
    ad.update({'description':'test_desc'})

I've tested it on postgres 9.6 and 12 with local and remote installation

@Dimaqa commented on GitHub (Sep 22, 2020): It happens with a big amount of requests, I've managed to reproduce it by running this code in parrallel for multiple /22 subnets ``` import pynetbox import urllib3 import ipaddress urllib3.disable_warnings() network = ipaddress.IPv4Network('7.0.0.0/22') nb = pynetbox.api(url='url', token='token') nb.http_session.verify = False for ip in network: nb.ipam.ip_addresses.create(address=str(ip), status='active') ad = nb.ipam.ip_addresses.get(address=str(ip), status='active') ad.update({'description':'test_desc'}) ``` I've tested it on postgres 9.6 and 12 with local and remote installation
Author
Owner

@Dimaqa commented on GitHub (Sep 22, 2020):

Also i've managed to get this error on bulk edition with 2000+ objects via netbox gui. That happened 2 times in a row, then completed succesfully.
Netbox exception was shown with the same stack trace in logs:

<class 'ValueError'>

Cannot assign "<SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7f7c79030ba8>>": "ObjectChange.user" must be a "User" instance.

Python version: 3.8.2
NetBox version: 2.9.3
@Dimaqa commented on GitHub (Sep 22, 2020): Also i've managed to get this error on bulk edition with 2000+ objects via netbox gui. That happened 2 times in a row, then completed succesfully. Netbox exception was shown with the same stack trace in logs: ``` <class 'ValueError'> Cannot assign "<SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7f7c79030ba8>>": "ObjectChange.user" must be a "User" instance. Python version: 3.8.2 NetBox version: 2.9.3 ```
Author
Owner

@Dimaqa commented on GitHub (Sep 23, 2020):

Sometimes this erros happens on creation with 502 permission denied

ValueError: Cannot assign "<SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7f7c78901240>>": "ObjectChange.user" must be a "User" instance.
Forbidden (Permission denied): /admin/users/adminuser/
Traceback (most recent call last):
  File "/opt/netbox/venv/lib64/python3.6/site-packages/django/core/handlers/exception.py", line 47, in inner
    response = get_response(request)
  File "/opt/netbox/venv/lib64/python3.6/site-packages/django/core/handlers/base.py", line 179, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "/opt/netbox/venv/lib64/python3.6/site-packages/django/contrib/admin/options.py", line 614, in wrapper
    return self.admin_site.admin_view(view)(*args, **kwargs)
  File "/opt/netbox/venv/lib64/python3.6/site-packages/django/utils/decorators.py", line 130, in _wrapped_view
    response = view_func(request, *args, **kwargs)
  File "/opt/netbox/venv/lib64/python3.6/site-packages/django/views/decorators/cache.py", line 44, in _wrapped_view_func
    response = view_func(request, *args, **kwargs)
  File "/opt/netbox/venv/lib64/python3.6/site-packages/django/contrib/admin/sites.py", line 233, in inner
    return view(request, *args, **kwargs)
  File "/opt/netbox/venv/lib64/python3.6/site-packages/django/utils/decorators.py", line 43, in _wrapper
    return bound_method(*args, **kwargs)
  File "/opt/netbox/venv/lib64/python3.6/site-packages/django/utils/decorators.py", line 130, in _wrapped_view
    response = view_func(request, *args, **kwargs)
  File "/opt/netbox/venv/lib64/python3.6/site-packages/django/contrib/admin/options.py", line 1690, in changelist_view
    raise PermissionDenied
django.core.exceptions.PermissionDenied
@Dimaqa commented on GitHub (Sep 23, 2020): Sometimes this erros happens on creation with 502 permission denied ``` ValueError: Cannot assign "<SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7f7c78901240>>": "ObjectChange.user" must be a "User" instance. Forbidden (Permission denied): /admin/users/adminuser/ Traceback (most recent call last): File "/opt/netbox/venv/lib64/python3.6/site-packages/django/core/handlers/exception.py", line 47, in inner response = get_response(request) File "/opt/netbox/venv/lib64/python3.6/site-packages/django/core/handlers/base.py", line 179, in _get_response response = wrapped_callback(request, *callback_args, **callback_kwargs) File "/opt/netbox/venv/lib64/python3.6/site-packages/django/contrib/admin/options.py", line 614, in wrapper return self.admin_site.admin_view(view)(*args, **kwargs) File "/opt/netbox/venv/lib64/python3.6/site-packages/django/utils/decorators.py", line 130, in _wrapped_view response = view_func(request, *args, **kwargs) File "/opt/netbox/venv/lib64/python3.6/site-packages/django/views/decorators/cache.py", line 44, in _wrapped_view_func response = view_func(request, *args, **kwargs) File "/opt/netbox/venv/lib64/python3.6/site-packages/django/contrib/admin/sites.py", line 233, in inner return view(request, *args, **kwargs) File "/opt/netbox/venv/lib64/python3.6/site-packages/django/utils/decorators.py", line 43, in _wrapper return bound_method(*args, **kwargs) File "/opt/netbox/venv/lib64/python3.6/site-packages/django/utils/decorators.py", line 130, in _wrapped_view response = view_func(request, *args, **kwargs) File "/opt/netbox/venv/lib64/python3.6/site-packages/django/contrib/admin/options.py", line 1690, in changelist_view raise PermissionDenied django.core.exceptions.PermissionDenied ```
Author
Owner

@arjenvri commented on GitHub (Oct 9, 2020):

Just like to backup this request, we are seeing the same issues with 2.9.3 and multiple API requests processed shortly after eachother.

@arjenvri commented on GitHub (Oct 9, 2020): Just like to backup this request, we are seeing the same issues with 2.9.3 and multiple API requests processed shortly after eachother.
Author
Owner

@jeremystretch commented on GitHub (Oct 9, 2020):

@a-d-v just to clarify, you are also using LDAP authentication, correct?

@jeremystretch commented on GitHub (Oct 9, 2020): @a-d-v just to clarify, you are also using LDAP authentication, correct?
Author
Owner

@arjenvri commented on GitHub (Oct 9, 2020):

You are onto something! Yes indeed, also using LDAP authentication. Let me know if you need anything else.

@arjenvri commented on GitHub (Oct 9, 2020): You are onto something! Yes indeed, also using LDAP authentication. Let me know if you need anything else.
Author
Owner

@Dimaqa commented on GitHub (Oct 9, 2020):

Just FYI this error also happens for local users, but i can try to reproduce it with LDAP turned off

@Dimaqa commented on GitHub (Oct 9, 2020): Just FYI this error also happens for local users, but i can try to reproduce it with LDAP turned off
Author
Owner

@Dimaqa commented on GitHub (Oct 9, 2020):

For now i've monkey patched netbox/extras/signals.py with
if hasattr(instance, 'to_objectchange') and request.user.is_authenticated:
This ignores object changes, but at least i don't loose any data

@Dimaqa commented on GitHub (Oct 9, 2020): For now i've monkey patched netbox/extras/signals.py with `if hasattr(instance, 'to_objectchange') and request.user.is_authenticated:` This ignores object changes, but at least i don't loose any data
Author
Owner

@proudbro commented on GitHub (Nov 2, 2020):

I've catched the same bug and we are using LDAP authentication as well. Netbox v2.9.7

@proudbro commented on GitHub (Nov 2, 2020): I've catched the same bug and we are using LDAP authentication as well. Netbox v2.9.7
Author
Owner

@mtbutler07 commented on GitHub (Nov 10, 2020):

Running into the same bug as well when updating multiple interfaces attributes on v2.9.9
Also using LDAP for authentication.

This was the response I received

HTTP 500 - {'error': 'Cannot assign "<SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7f4cbc4b46d8>>": "ObjectChange.user" must be a "User" instance.', 'exception': 'ValueError', 'netbox_version': '2.9.9', 'python_version': '3.6.8'}

A second request with the same data was successful.

@mtbutler07 commented on GitHub (Nov 10, 2020): Running into the same bug as well when updating multiple interfaces attributes on v2.9.9 Also using LDAP for authentication. This was the response I received ``` HTTP 500 - {'error': 'Cannot assign "<SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7f4cbc4b46d8>>": "ObjectChange.user" must be a "User" instance.', 'exception': 'ValueError', 'netbox_version': '2.9.9', 'python_version': '3.6.8'} ``` A second request with the same data was successful.
Author
Owner

@jeremystretch commented on GitHub (Nov 10, 2020):

Can we get someone who's experiencing the issue to volunteer to tackle this bug? It's going to be very difficult and time-consuming for someone else to reproduce and troubleshoot.

@jeremystretch commented on GitHub (Nov 10, 2020): Can we get someone who's experiencing the issue to volunteer to tackle this bug? It's going to be very difficult and time-consuming for someone else to reproduce and troubleshoot.
Author
Owner

@mtbutler07 commented on GitHub (Nov 12, 2020):

I've been digging into this the past few days and wrote a quick script that can mostly reproduce the issue.

This script will create a device, assign multiple interfaces concurrently using httpx, delete the device, and print the response.

#!/usr/bin/env python3.8
import asyncio
import httpx
import os
from pprint import pprint

TOKEN = os.environ.get("NETBOX_API_TOKEN")
DEVICE_NAME = "TEST-SWITCH"
DEVICE_MODEL = "WS-C2960-24PC-L"
DEVICE_ROLE = "Switch"
SITE = "TEST"


async def main():

    # setup session to NetBox
    async with httpx.AsyncClient(
        base_url="https://netbox",
        headers={
            "Authorization": f"Token {TOKEN}",
            "Accept": "application/json",
        },
    ) as nb_session:

        # create a test device
        create_device_response = await nb_session.post(
            url="/api/dcim/devices/",
            json=dict(
                name=DEVICE_NAME,
                device_type=dict(model=DEVICE_MODEL),
                device_role=dict(name=DEVICE_ROLE),
                site=dict(name=SITE),
                status="active",
            ),
        )

        device_id = create_device_response.json()["id"]

        # create tasks for multiple interfaces
        interface_tasks = [
            nb_session.post(
                url="/api/dcim/interfaces/",
                json=dict(name=intf, device=device_id, type="100base-tx"),
            )
            for intf in [f"Ethernet0/{n}" for n in range(0, 100)]
        ]

        # schedule interface tasks to run concurrently on async event loop
        interface_responses = await asyncio.gather(*interface_tasks)

        # delete test device
        await nb_session.delete(
            url=f"/api/dcim/devices/{device_id}/",
        )

    good_responses = [r.json() for r in interface_responses if r.status_code == 201]
    bad_responses = [r.json() for r in interface_responses if r.status_code == 500]

    return good_responses, bad_responses


good, bad = asyncio.run(main())

pprint(bad)
print(f"Successful Requests {len(good)}")
print(f"Failed Requests {len(bad)}")

Output

I'm seeing about 1-3 failed requests in batches of 100.

[{'error': 'Cannot assign "<SimpleLazyObject: '
           '<django.contrib.auth.models.AnonymousUser object at '
           '0x7fa2f89bf438>>": "ObjectChange.user" must be a "User" instance.',
  'exception': 'ValueError',
  'netbox_version': '2.9.9',
  'python_version': '3.6.8'},
 {'error': 'Cannot assign "<SimpleLazyObject: '
           '<django.contrib.auth.models.AnonymousUser object at '
           '0x7fa2ebc55f98>>": "ObjectChange.user" must be a "User" instance.',
  'exception': 'ValueError',
  'netbox_version': '2.9.9',
  'python_version': '3.6.8'}]

Successful Requests 98
Failed Requests 2

I'm not exactly sure how to troubleshoot this on the NetBox side but hopefully this script can be useful to someone with that knowledge so they can recreate the problem at least .

@mtbutler07 commented on GitHub (Nov 12, 2020): I've been digging into this the past few days and wrote a quick script that can _mostly_ reproduce the issue. This script will create a device, assign multiple interfaces concurrently using [httpx](https://www.python-httpx.org/), delete the device, and print the response. ```python3 #!/usr/bin/env python3.8 import asyncio import httpx import os from pprint import pprint TOKEN = os.environ.get("NETBOX_API_TOKEN") DEVICE_NAME = "TEST-SWITCH" DEVICE_MODEL = "WS-C2960-24PC-L" DEVICE_ROLE = "Switch" SITE = "TEST" async def main(): # setup session to NetBox async with httpx.AsyncClient( base_url="https://netbox", headers={ "Authorization": f"Token {TOKEN}", "Accept": "application/json", }, ) as nb_session: # create a test device create_device_response = await nb_session.post( url="/api/dcim/devices/", json=dict( name=DEVICE_NAME, device_type=dict(model=DEVICE_MODEL), device_role=dict(name=DEVICE_ROLE), site=dict(name=SITE), status="active", ), ) device_id = create_device_response.json()["id"] # create tasks for multiple interfaces interface_tasks = [ nb_session.post( url="/api/dcim/interfaces/", json=dict(name=intf, device=device_id, type="100base-tx"), ) for intf in [f"Ethernet0/{n}" for n in range(0, 100)] ] # schedule interface tasks to run concurrently on async event loop interface_responses = await asyncio.gather(*interface_tasks) # delete test device await nb_session.delete( url=f"/api/dcim/devices/{device_id}/", ) good_responses = [r.json() for r in interface_responses if r.status_code == 201] bad_responses = [r.json() for r in interface_responses if r.status_code == 500] return good_responses, bad_responses good, bad = asyncio.run(main()) pprint(bad) print(f"Successful Requests {len(good)}") print(f"Failed Requests {len(bad)}") ``` **Output** I'm seeing about 1-3 failed requests in batches of 100. ```console [{'error': 'Cannot assign "<SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x7fa2f89bf438>>": "ObjectChange.user" must be a "User" instance.', 'exception': 'ValueError', 'netbox_version': '2.9.9', 'python_version': '3.6.8'}, {'error': 'Cannot assign "<SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x7fa2ebc55f98>>": "ObjectChange.user" must be a "User" instance.', 'exception': 'ValueError', 'netbox_version': '2.9.9', 'python_version': '3.6.8'}] Successful Requests 98 Failed Requests 2 ``` I'm not exactly sure how to troubleshoot this on the NetBox side but hopefully this script can be useful to someone with that knowledge so they can recreate the problem at least .
Author
Owner

@stale[bot] commented on GitHub (Dec 28, 2020):

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. NetBox is governed by a small group of core maintainers which means not all opened issues may receive direct feedback. Please see our contributing guide.

@stale[bot] commented on GitHub (Dec 28, 2020): This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. NetBox is governed by a small group of core maintainers which means not all opened issues may receive direct feedback. Please see our [contributing guide](https://github.com/netbox-community/netbox/blob/develop/CONTRIBUTING.md).
Author
Owner

@stale[bot] commented on GitHub (Jan 12, 2021):

This issue has been automatically closed due to lack of activity. In an effort to reduce noise, please do not comment any further. Note that the core maintainers may elect to reopen this issue at a later date if deemed necessary.

@stale[bot] commented on GitHub (Jan 12, 2021): This issue has been automatically closed due to lack of activity. In an effort to reduce noise, please do not comment any further. Note that the core maintainers may elect to reopen this issue at a later date if deemed necessary.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/netbox#4110