ralph
ralph copied to clipboard
Server Error 500 when trying to delete an IP address
Steps to reproduce
- Open Data Center / All hosts and Open a host or datacenter asset (alternative: search for an object)
- Switch to Network tab (/data_center/datacenterasset/52/network/)
- Delete IP Address
Expected behavior
IP Address is removed from field
Actual behavior
Server Error 500
/var/log/ralph/ralph.log shows:
[07.12.2021 16:45:26,663] ERROR [MainProcess 3374] base - Internal Server Error: /data_center/datacenterasset/52/network/
Traceback (most recent call last):
File "/opt/ralph/ralph-core/lib/python3.6/site-packages/django/core/handlers/base.py", line 132, in get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/usr/lib/python3.6/contextlib.py", line 52, in inner
return func(*args, **kwds)
File "/opt/ralph/ralph-core/lib/python3.6/site-packages/django/views/generic/base.py", line 71, in view
return self.dispatch(request, *args, **kwargs)
File "/opt/ralph/ralph-core/lib/python3.6/site-packages/ralph/lib/permissions/views.py", line 38, in wraps
return func(self, request, *args, **kwargs)
File "/opt/ralph/ralph-core/lib/python3.6/site-packages/ralph/lib/permissions/views.py", line 38, in wraps
return func(self, request, *args, **kwargs)
File "/opt/ralph/ralph-core/lib/python3.6/site-packages/ralph/lib/permissions/views.py", line 38, in wraps
return func(self, request, *args, **kwargs)
[Previous line repeated 1 more time]
File "/opt/ralph/ralph-core/lib/python3.6/site-packages/ralph/admin/views/extra.py", line 191, in dispatch
extra_context=extra_context
File "/opt/ralph/ralph-core/lib/python3.6/site-packages/reversion/revisions.py", line 297, in do_revision_context
return func(*args, **kwargs)
File "/opt/ralph/ralph-core/lib/python3.6/site-packages/django/contrib/admin/options.py", line 1521, in change_view
return self.changeform_view(request, object_id, form_url, extra_context)
File "/opt/ralph/ralph-core/lib/python3.6/site-packages/ralph/admin/mixins.py", line 343, in changeform_view
request, object_id, form_url, extra_context
File "/opt/ralph/ralph-core/lib/python3.6/site-packages/django/utils/decorators.py", line 34, in _wrapper
return bound_func(*args, **kwargs)
File "/opt/ralph/ralph-core/lib/python3.6/site-packages/django/utils/decorators.py", line 110, in _wrapped_view
response = view_func(request, *args, **kwargs)
File "/opt/ralph/ralph-core/lib/python3.6/site-packages/django/utils/decorators.py", line 30, in bound_func
return func.__get__(self, type(self))(*args2, **kwargs2)
File "/usr/lib/python3.6/contextlib.py", line 52, in inner
return func(*args, **kwds)
File "/opt/ralph/ralph-core/lib/python3.6/site-packages/django/contrib/admin/options.py", line 1470, in changeform_view
self.save_related(request, form, formsets, not add)
File "/opt/ralph/ralph-core/lib/python3.6/site-packages/django/contrib/admin/options.py", line 1104, in save_related
self.save_formset(request, form, formset, change=change)
File "/opt/ralph/ralph-core/lib/python3.6/site-packages/django/contrib/admin/options.py", line 1092, in save_formset
formset.save()
File "/opt/ralph/ralph-core/lib/python3.6/site-packages/django/forms/models.py", line 636, in save
return self.save_existing_objects(commit) + self.save_new_objects(commit)
File "/opt/ralph/ralph-core/lib/python3.6/site-packages/django/forms/models.py", line 753, in save_existing_objects
saved_instances.append(self.save_existing(form, obj, commit=commit))
File "/opt/ralph/ralph-core/lib/python3.6/site-packages/django/forms/models.py", line 623, in save_existing
return form.save(commit=commit)
File "/opt/ralph/ralph-core/lib/python3.6/site-packages/ralph/networks/forms.py", line 220, in save
self.ip.save()
File "/opt/ralph/ralph-core/lib/python3.6/site-packages/ralph/networks/models/networks.py", line 766, in save
super(IPAddress, self).save(*args, **kwargs)
File "/opt/ralph/ralph-core/lib/python3.6/site-packages/ralph/lib/mixins/models.py", line 66, in save
super(LastSeenMixin, self).save(*args, **kwargs)
File "/opt/ralph/ralph-core/lib/python3.6/site-packages/django/db/models/base.py", line 734, in save
force_update=force_update, update_fields=update_fields)
File "/opt/ralph/ralph-core/lib/python3.6/site-packages/django/db/models/base.py", line 762, in save_base
updated = self._save_table(raw, cls, force_insert, force_update, using, update_fields)
File "/opt/ralph/ralph-core/lib/python3.6/site-packages/django/db/models/base.py", line 827, in _save_table
forced_update)
File "/opt/ralph/ralph-core/lib/python3.6/site-packages/django/db/models/base.py", line 877, in _do_update
return filtered._update(values) > 0
File "/opt/ralph/ralph-core/lib/python3.6/site-packages/django/db/models/query.py", line 580, in _update
return query.get_compiler(self.db).execute_sql(CURSOR)
File "/opt/ralph/ralph-core/lib/python3.6/site-packages/django/db/models/sql/compiler.py", line 1062, in execute_sql
cursor = super(SQLUpdateCompiler, self).execute_sql(result_type)
File "/opt/ralph/ralph-core/lib/python3.6/site-packages/django/db/models/sql/compiler.py", line 829, in execute_sql
sql, params = self.as_sql()
File "/opt/ralph/ralph-core/lib/python3.6/site-packages/django/db/models/sql/compiler.py", line 1030, in as_sql
val = field.get_db_prep_save(val, connection=self.connection)
File "/opt/ralph/ralph-core/lib/python3.6/site-packages/django/db/models/fields/__init__.py", line 710, in get_db_prep_save
prepared=False)
File "/opt/ralph/ralph-core/lib/python3.6/site-packages/django/db/models/fields/__init__.py", line 2004, in get_db_prep_value
value = self.get_prep_value(value)
File "/opt/ralph/ralph-core/lib/python3.6/site-packages/django/db/models/fields/__init__.py", line 2011, in get_prep_value
if value and ':' in value:
TypeError: argument of type 'IPv4Address' is not iterable
Environment
- Ralph version: 20211123.1
- Operating system: Ubuntu 18.04.6 LTS
- Method of installation: Deb package? Manual installation? Docker? DEB via APT repo