ValueError after connecting a Power port to the feed on a PDU #2543

Closed
opened 2025-12-29 18:19:50 +01:00 by adam · 1 comment
Owner

Originally created by @phurrelmann on GitHub (Apr 23, 2019).

Environment

  • Python version: 3.7.3
  • NetBox version: 2.6-dev

Steps to Reproduce

  1. Create a device (PDU) with power outlets
  2. Connect a device with its power ports to the PDU power outlets and define max. and allocated power on the device power ports
  3. Create a power port on the PDU
  4. On the PDU connect the Power Outlet to its Power port (input/leg)
  5. Connect the PDU power port to a feed

Expected Behavior

The PDU power port is connected to the feed and the power consumption is shown on the PDU.

Observed Behavior

After connecting the input power port the following traceback is seen in log and the device (PDU) can no longer be shown/used. Everytime the following error is shown:

<class 'ValueError'>

The annotation 'maximum_draw' conflicts with a field on the model.

Stacktrace in log:

Internal Server Error: /dcim/devices/939/
Traceback (most recent call last):
  File "/opt/netbox/venv/lib/python3.7/site-packages/django/core/handlers/exception.py", line 34, in inner
    response = get_response(request)
  File "/opt/netbox/venv/lib/python3.7/site-packages/django/core/handlers/base.py", line 115, in _get_response
    response = self.process_exception_by_middleware(e, request)
  File "/opt/netbox/venv/lib/python3.7/site-packages/django/core/handlers/base.py", line 113, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "/opt/netbox/venv/lib/python3.7/site-packages/django/views/generic/base.py", line 71, in view
    return self.dispatch(request, *args, **kwargs)
  File "/opt/netbox/venv/lib/python3.7/site-packages/django/contrib/auth/mixins.py", line 85, in dispatch
    return super().dispatch(request, *args, **kwargs)
  File "/opt/netbox/venv/lib/python3.7/site-packages/django/views/generic/base.py", line 97, in dispatch
    return handler(request, *args, **kwargs)
  File "/opt/netbox/netbox/dcim/views.py", line 987, in get
    'show_graphs': show_graphs,
  File "/opt/netbox/venv/lib/python3.7/site-packages/django/shortcuts.py", line 36, in render
    content = loader.render_to_string(template_name, context, request, using=using)
  File "/opt/netbox/venv/lib/python3.7/site-packages/django/template/loader.py", line 62, in render_to_string
    return template.render(context, request)
  File "/opt/netbox/venv/lib/python3.7/site-packages/django/template/backends/django.py", line 61, in render
    return self.template.render(context)
  File "/opt/netbox/venv/lib/python3.7/site-packages/django/template/base.py", line 171, in render
    return self._render(context)
  File "/opt/netbox/venv/lib/python3.7/site-packages/django/test/utils.py", line 96, in instrumented_test_render
    return self.nodelist.render(context)
  File "/opt/netbox/venv/lib/python3.7/site-packages/django/template/base.py", line 937, in render
    bit = node.render_annotated(context)
  File "/opt/netbox/venv/lib/python3.7/site-packages/django/template/base.py", line 904, in render_annotated
    return self.render(context)
  File "/opt/netbox/venv/lib/python3.7/site-packages/django/template/loader_tags.py", line 150, in render
    return compiled_parent._render(context)
  File "/opt/netbox/venv/lib/python3.7/site-packages/django/test/utils.py", line 96, in instrumented_test_render
    return self.nodelist.render(context)
  File "/opt/netbox/venv/lib/python3.7/site-packages/django/template/base.py", line 937, in render
    bit = node.render_annotated(context)
  File "/opt/netbox/venv/lib/python3.7/site-packages/django/template/base.py", line 904, in render_annotated
    return self.render(context)
  File "/opt/netbox/venv/lib/python3.7/site-packages/django/template/loader_tags.py", line 62, in render
    result = block.nodelist.render(context)
  File "/opt/netbox/venv/lib/python3.7/site-packages/django/template/base.py", line 937, in render
    bit = node.render_annotated(context)
  File "/opt/netbox/venv/lib/python3.7/site-packages/django/template/base.py", line 904, in render_annotated
    return self.render(context)
  File "/opt/netbox/venv/lib/python3.7/site-packages/django/template/defaulttags.py", line 309, in render
    return nodelist.render(context)
  File "/opt/netbox/venv/lib/python3.7/site-packages/django/template/base.py", line 937, in render
    bit = node.render_annotated(context)
  File "/opt/netbox/venv/lib/python3.7/site-packages/django/template/base.py", line 904, in render_annotated
    return self.render(context)
  File "/opt/netbox/venv/lib/python3.7/site-packages/django/template/defaulttags.py", line 209, in render
    nodelist.append(node.render_annotated(context))
  File "/opt/netbox/venv/lib/python3.7/site-packages/django/template/base.py", line 904, in render_annotated
    return self.render(context)
  File "/opt/netbox/venv/lib/python3.7/site-packages/django/template/defaulttags.py", line 161, in render
    values = self.sequence.resolve(context, ignore_failures=True)
  File "/opt/netbox/venv/lib/python3.7/site-packages/django/template/base.py", line 671, in resolve
    obj = self.var.resolve(context)
  File "/opt/netbox/venv/lib/python3.7/site-packages/django/template/base.py", line 796, in resolve
    value = self._resolve_lookup(context)
  File "/opt/netbox/venv/lib/python3.7/site-packages/django/template/base.py", line 858, in _resolve_lookup
    current = current()
  File "/opt/netbox/netbox/dcim/models.py", line 1945, in get_power_stats
    allocated_draw=Sum('allocated_draw'),
  File "/opt/netbox/venv/lib/python3.7/site-packages/cacheops/query.py", line 312, in aggregate
    qs = self.clone().annotate(*args, **kwargs)
  File "/opt/netbox/venv/lib/python3.7/site-packages/django/db/models/query.py", line 1052, in annotate
    "the model." % alias)
ValueError: The annotation 'maximum_draw' conflicts with a field on the model.
"GET /dcim/devices/939/ HTTP/1.1" 500 1782
Originally created by @phurrelmann on GitHub (Apr 23, 2019). <!-- NOTE: This form is only for reproducible bugs. If you need assistance with NetBox installation, or if you have a general question, DO NOT open an issue. Instead, post to our mailing list: https://groups.google.com/forum/#!forum/netbox-discuss Please describe the environment in which you are running NetBox. Be sure that you are running an unmodified instance of the latest stable release before submitting a bug report. --> ### Environment * Python version: 3.7.3 * NetBox version: 2.6-dev <!-- Describe in detail the exact steps that someone else can take to reproduce this bug using the current stable release of NetBox (or the current beta release where applicable). Begin with the creation of any necessary database objects and call out every operation being performed explicitly. If reporting a bug in the REST API, be sure to reconstruct the raw HTTP request(s) being made: Don't rely on a wrapper like pynetbox. --> ### Steps to Reproduce 1. Create a device (PDU) with power outlets 2. Connect a device with its power ports to the PDU power outlets and define max. and allocated power on the device power ports 3. Create a power port on the PDU 4. On the PDU connect the Power Outlet to its Power port (input/leg) 5. Connect the PDU power port to a feed <!-- What did you expect to happen? --> ### Expected Behavior The PDU power port is connected to the feed and the power consumption is shown on the PDU. <!-- What happened instead? --> ### Observed Behavior After connecting the input power port the following traceback is seen in log and the device (PDU) can no longer be shown/used. Everytime the following error is shown: ```python <class 'ValueError'> The annotation 'maximum_draw' conflicts with a field on the model. ``` Stacktrace in log: ```python Internal Server Error: /dcim/devices/939/ Traceback (most recent call last): File "/opt/netbox/venv/lib/python3.7/site-packages/django/core/handlers/exception.py", line 34, in inner response = get_response(request) File "/opt/netbox/venv/lib/python3.7/site-packages/django/core/handlers/base.py", line 115, in _get_response response = self.process_exception_by_middleware(e, request) File "/opt/netbox/venv/lib/python3.7/site-packages/django/core/handlers/base.py", line 113, in _get_response response = wrapped_callback(request, *callback_args, **callback_kwargs) File "/opt/netbox/venv/lib/python3.7/site-packages/django/views/generic/base.py", line 71, in view return self.dispatch(request, *args, **kwargs) File "/opt/netbox/venv/lib/python3.7/site-packages/django/contrib/auth/mixins.py", line 85, in dispatch return super().dispatch(request, *args, **kwargs) File "/opt/netbox/venv/lib/python3.7/site-packages/django/views/generic/base.py", line 97, in dispatch return handler(request, *args, **kwargs) File "/opt/netbox/netbox/dcim/views.py", line 987, in get 'show_graphs': show_graphs, File "/opt/netbox/venv/lib/python3.7/site-packages/django/shortcuts.py", line 36, in render content = loader.render_to_string(template_name, context, request, using=using) File "/opt/netbox/venv/lib/python3.7/site-packages/django/template/loader.py", line 62, in render_to_string return template.render(context, request) File "/opt/netbox/venv/lib/python3.7/site-packages/django/template/backends/django.py", line 61, in render return self.template.render(context) File "/opt/netbox/venv/lib/python3.7/site-packages/django/template/base.py", line 171, in render return self._render(context) File "/opt/netbox/venv/lib/python3.7/site-packages/django/test/utils.py", line 96, in instrumented_test_render return self.nodelist.render(context) File "/opt/netbox/venv/lib/python3.7/site-packages/django/template/base.py", line 937, in render bit = node.render_annotated(context) File "/opt/netbox/venv/lib/python3.7/site-packages/django/template/base.py", line 904, in render_annotated return self.render(context) File "/opt/netbox/venv/lib/python3.7/site-packages/django/template/loader_tags.py", line 150, in render return compiled_parent._render(context) File "/opt/netbox/venv/lib/python3.7/site-packages/django/test/utils.py", line 96, in instrumented_test_render return self.nodelist.render(context) File "/opt/netbox/venv/lib/python3.7/site-packages/django/template/base.py", line 937, in render bit = node.render_annotated(context) File "/opt/netbox/venv/lib/python3.7/site-packages/django/template/base.py", line 904, in render_annotated return self.render(context) File "/opt/netbox/venv/lib/python3.7/site-packages/django/template/loader_tags.py", line 62, in render result = block.nodelist.render(context) File "/opt/netbox/venv/lib/python3.7/site-packages/django/template/base.py", line 937, in render bit = node.render_annotated(context) File "/opt/netbox/venv/lib/python3.7/site-packages/django/template/base.py", line 904, in render_annotated return self.render(context) File "/opt/netbox/venv/lib/python3.7/site-packages/django/template/defaulttags.py", line 309, in render return nodelist.render(context) File "/opt/netbox/venv/lib/python3.7/site-packages/django/template/base.py", line 937, in render bit = node.render_annotated(context) File "/opt/netbox/venv/lib/python3.7/site-packages/django/template/base.py", line 904, in render_annotated return self.render(context) File "/opt/netbox/venv/lib/python3.7/site-packages/django/template/defaulttags.py", line 209, in render nodelist.append(node.render_annotated(context)) File "/opt/netbox/venv/lib/python3.7/site-packages/django/template/base.py", line 904, in render_annotated return self.render(context) File "/opt/netbox/venv/lib/python3.7/site-packages/django/template/defaulttags.py", line 161, in render values = self.sequence.resolve(context, ignore_failures=True) File "/opt/netbox/venv/lib/python3.7/site-packages/django/template/base.py", line 671, in resolve obj = self.var.resolve(context) File "/opt/netbox/venv/lib/python3.7/site-packages/django/template/base.py", line 796, in resolve value = self._resolve_lookup(context) File "/opt/netbox/venv/lib/python3.7/site-packages/django/template/base.py", line 858, in _resolve_lookup current = current() File "/opt/netbox/netbox/dcim/models.py", line 1945, in get_power_stats allocated_draw=Sum('allocated_draw'), File "/opt/netbox/venv/lib/python3.7/site-packages/cacheops/query.py", line 312, in aggregate qs = self.clone().annotate(*args, **kwargs) File "/opt/netbox/venv/lib/python3.7/site-packages/django/db/models/query.py", line 1052, in annotate "the model." % alias) ValueError: The annotation 'maximum_draw' conflicts with a field on the model. "GET /dcim/devices/939/ HTTP/1.1" 500 1782 ```
adam closed this issue 2025-12-29 18:19:50 +01:00
Author
Owner

@jeremystretch commented on GitHub (Apr 23, 2019):

Please don't open bugs against the develop-2.6 branch. It is still in active development.

@jeremystretch commented on GitHub (Apr 23, 2019): Please don't open bugs against the `develop-2.6` branch. It is still in active development.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/netbox#2543