nautobot-app-circuit-maintenance
nautobot-app-circuit-maintenance copied to clipboard
Store email body instead of headers in RawNotification.raw
Environment
- nautobot-circuit-maintenance version: 0.4.3
Proposed Functionality
When storing raw data from an email notification, we could prioritize the body instead of the headers (size is limited to 16KB)
Use Case
Storing the body instead of the headers (that are a lot in some cases), would help to troubleshoot why a notification parser failed.
Looks like a case we missed in #113.
I'm seeing the below traceback that looks to be the same issue.
Something has changed an OrderedDefaultRouter's APIRootView attribute to a custom class. Please verify that class GoldenConfigRootView implements appropriate authentication controls.
Operations to perform:
Apply all migrations: admin, auth, circuits, contenttypes, database, dcim, django_celery_beat, django_celery_results, extras, ipam, nautobot_device_lifecycle_mgmt, nautobot_device_onboarding, nautobot_golden_config, nautobot_ui_plugin, sessions, silk, social_django, taggit, tenancy, users, virtualization
Running migrations:
Applying nautobot_device_onboarding.0008_alter_onboardingtask_options...Traceback (most recent call last):
File "/opt/nautobot/lib/python3.8/site-packages/django/db/backends/utils.py", line 84, in _execute
return self.cursor.execute(sql, params)
psycopg2.errors.DuplicateTable: relation "nautobot_device_onboardi_label_ip_address_664cc5be_uniq" already exists
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/opt/nautobot/bin/nautobot-server", line 8, in <module>
sys.exit(main())
File "/opt/nautobot/lib/python3.8/site-packages/nautobot/core/cli/__init__.py", line 293, in main
execute_from_command_line([sys.argv[0], *unparsed_args])
File "/opt/nautobot/lib/python3.8/site-packages/django/core/management/__init__.py", line 419, in execute_from_command_line
utility.execute()
File "/opt/nautobot/lib/python3.8/site-packages/django/core/management/__init__.py", line 413, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/opt/nautobot/lib/python3.8/site-packages/django/core/management/base.py", line 354, in run_from_argv
self.execute(*args, **cmd_options)
File "/opt/nautobot/lib/python3.8/site-packages/django/core/management/base.py", line 398, in execute
output = self.handle(*args, **options)
File "/opt/nautobot/lib/python3.8/site-packages/django/core/management/base.py", line 89, in wrapped
res = handle_func(*args, **kwargs)
File "/opt/nautobot/lib/python3.8/site-packages/django/core/management/commands/migrate.py", line 244, in handle
post_migrate_state = executor.migrate(
File "/opt/nautobot/lib/python3.8/site-packages/django/db/migrations/executor.py", line 117, in migrate
state = self._migrate_all_forwards(state, plan, full_plan, fake=fake, fake_initial=fake_initial)
File "/opt/nautobot/lib/python3.8/site-packages/django/db/migrations/executor.py", line 147, in _migrate_all_forwards
state = self.apply_migration(state, migration, fake=fake, fake_initial=fake_initial)
File "/opt/nautobot/lib/python3.8/site-packages/django/db/migrations/executor.py", line 227, in apply_migration
state = migration.apply(state, schema_editor)
File "/opt/nautobot/lib/python3.8/site-packages/django/db/migrations/migration.py", line 126, in apply
operation.database_forwards(self.app_label, schema_editor, old_state, project_state)
File "/opt/nautobot/lib/python3.8/site-packages/django/db/migrations/operations/models.py", line 528, in database_forwards
alter_together(
File "/opt/nautobot/lib/python3.8/site-packages/django/db/backends/base/schema.py", line 419, in alter_unique_together
self.execute(self._create_unique_sql(model, columns))
File "/opt/nautobot/lib/python3.8/site-packages/django/db/backends/base/schema.py", line 145, in execute
cursor.execute(sql, params)
File "/opt/nautobot/lib/python3.8/site-packages/django/db/backends/utils.py", line 66, in execute
return self._execute_with_wrappers(sql, params, many=False, executor=self._execute)
File "/opt/nautobot/lib/python3.8/site-packages/django/db/backends/utils.py", line 75, in _execute_with_wrappers
return executor(sql, params, many, context)
File "/opt/nautobot/lib/python3.8/site-packages/django/db/backends/utils.py", line 84, in _execute
return self.cursor.execute(sql, params)
File "/opt/nautobot/lib/python3.8/site-packages/django/db/utils.py", line 90, in __exit__
raise dj_exc_value.with_traceback(traceback) from exc_value
File "/opt/nautobot/lib/python3.8/site-packages/django/db/backends/utils.py", line 84, in _execute
return self.cursor.execute(sql, params)
django.db.utils.ProgrammingError: relation "nautobot_device_onboardi_label_ip_address_664cc5be_uniq" already exists
pip list returns:
pip list
Package Version
------------------------------ ------------
amqp 5.1.1
aniso8601 7.0.0
ansible 6.7.0
ansible-core 2.13.13
anyio 4.0.0
asgiref 3.6.0
async-timeout 4.0.2
attrs 22.2.0
autopep8 2.3.1
backports.zoneinfo 0.2.1
bcrypt 4.0.1
billiard 4.1.0
celery 5.3.4
certifi 2022.12.7
cffi 1.15.1
charset-normalizer 2.1.1
ciscoconfparse 1.6.52
click 8.1.3
click-didyoumean 0.3.0
click-plugins 1.1.1
click-repl 0.2.0
colorama 0.4.6
contourpy 1.0.6
coreapi 2.3.3
coreschema 0.0.4
cron-descriptor 1.4.0
cryptography 39.0.0
cycler 0.11.0
deepdiff 5.8.1
defusedxml 0.7.1
Django 3.2.25
django-ajax-tables 1.1.1
django-appconf 1.0.5
django-cacheops 6.2
django-celery-beat 2.6.0
django-celery-results 2.5.1
django-constance 2.9.1
django-cors-headers 4.3.1
django-cryptography 1.1
django-db-file-storage 0.5.5
django-extensions 3.2.3
django-filter 23.5
django-health-check 3.18.3
django-jinja 2.11.0
django-js-asset 2.0.0
django-mptt 0.14.0
django-picklefield 3.1
django-pivot 1.8.1
django-prometheus 2.3.1
django-redis 5.4.0
django-rq 2.8.1
django-silk 5.1.0
django-tables2 2.7.0
django-taggit 4.0.0
django-timezone-field 5.1
django-tree-queries 0.17.0
django-webserver 1.2.0
djangorestframework 3.15.1
dnspython 2.2.1
drf-react-template-framework 0.0.17
drf-spectacular 0.27.2
drf-spectacular-sidecar 2022.12.1
drf-yasg 1.21.4
emoji 2.11.1
exceptiongroup 1.1.3
fonttools 4.38.0
funcy 1.17
future 0.18.2
gitdb 4.0.10
GitPython 3.1.43
gprof2dot 2024.6.6
graphene 2.1.9
graphene-django 2.16.0
graphene-django-optimizer 0.8.0
graphql-core 2.3.2
graphql-relay 2.0.1
h11 0.14.0
hier-config 2.2.2
httpcore 0.17.3
httpx 0.24.1
idna 3.4
importlib-metadata 4.13.0
importlib-resources 5.10.2
inflection 0.5.1
itypes 1.2.0
Jinja2 3.1.4
jsonschema 4.7.2
junos-eznc 2.6.6
kiwisolver 1.4.4
kombu 5.3.2
loguru 0.6.0
lxml 4.9.2
Markdown 3.5.2
MarkupSafe 2.1.5
matplotlib 3.6.2
mypy-extensions 0.4.3
napalm 4.1.0
nautobot 2.2.7
nautobot-capacity-metrics 3.0.1
nautobot-device-lifecycle-mgmt 2.1.1
nautobot-device-onboarding 3.0.1
nautobot-golden-config 2.1.0
nautobot-plugin-nornir 2.0.0
nautobot-ui-plugin 1.0.0
ncclient 0.6.13
netaddr 0.10.1
netmiko 4.1.2
netutils 1.6.0
nh3 0.2.15
nornir 3.3.0
nornir-jinja2 0.2.0
nornir-napalm 0.4.0
nornir-nautobot 3.0.0
nornir-netmiko 1.0.0
nornir-utils 0.2.0
ntc-templates 3.2.0
numpy 1.24.1
oauthlib 3.2.2
ordered-set 4.1.0
packaging 23.1
paramiko 2.12.0
passlib 1.7.4
pillow 10.3.0
pip 24.1.2
pkg_resources 0.0.0
prometheus_client 0.20.0
promise 2.3
prompt-toolkit 3.0.36
psycopg2-binary 2.9.9
pycodestyle 2.12.0
pycountry 22.3.5
pycparser 2.21
pycryptodome 3.13.0
pyeapi 0.8.4
PyJWT 2.6.0
PyNaCl 1.5.0
pynautobot 2.0.0
pyparsing 3.0.9
pyrsistent 0.19.3
pyserial 3.5
python-crontab 2.7.1
python-dateutil 2.8.2
python-slugify 8.0.4
python3-openid 3.2.0
pytz 2022.7
pyuwsgi 2.0.23.post0
PyYAML 6.0
redis 4.4.0
requests 2.31.0
requests-oauthlib 1.3.1
resolvelib 0.8.1
rq 1.15.1
ruamel.yaml 0.17.21
ruamel.yaml.clib 0.2.7
Rx 1.6.3
scp 0.14.4
setuptools 44.0.0
singledispatch 4.0.0
six 1.16.0
smmap 5.0.0
sniffio 1.3.0
social-auth-app-django 5.4.2
social-auth-core 4.4.2
sqlparse 0.4.3
svgwrite 1.4.3
swagger-spec-validator 3.0.3
tenacity 8.1.0
text-unidecode 1.3
textfsm 1.1.2
toml 0.10.2
tomli 2.0.1
transitions 0.9.0
ttp 0.9.2
ttp-templates 0.3.2
typing_extensions 4.4.0
tzdata 2023.3
uritemplate 4.1.1
urllib3 1.26.13
vine 5.0.0
wcwidth 0.2.5
wheel 0.38.4
xmldiff 2.7.0
yamlordereddictloader 0.4.0
zipp 3.11.0```