Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Misleading error message printed when using manage.py runscript #17700

Open
iii-arch opened this issue Oct 8, 2024 · 3 comments
Open

Misleading error message printed when using manage.py runscript #17700

iii-arch opened this issue Oct 8, 2024 · 3 comments
Labels
pending closure Requires immediate attention to avoid being closed for inactivity status: revisions needed This issue requires additional information to be actionable type: bug A confirmed report of unexpected behavior in the application

Comments

@iii-arch
Copy link

iii-arch commented Oct 8, 2024

Deployment Type

Self-hosted

NetBox Version

v4.1.1

Python Version

3.12

Steps to Reproduce

This was happening because I was trying to import a python lib that wasn't installed.

Expected Behavior

In the UI there should be some kind of error message, not just the removal of "Run Script" button, also in the error message printed by the CLI version, at least the name of the script should be mentioned.

Observed Behavior

In GUI there is no error message, only "Run Script" button was removed, while in CLI the error message displayed is:

Traceback (most recent call last):
  File "/opt/netbox/netbox/manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/opt/netbox/venv/lib/python3.12/site-packages/django/core/management/__init__.py", line 442, in execute_from_command_line
    utility.execute()
  File "/opt/netbox/venv/lib/python3.12/site-packages/django/core/management/__init__.py", line 436, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/opt/netbox/venv/lib/python3.12/site-packages/django/core/management/base.py", line 413, in run_from_argv
    self.execute(*args, **cmd_options)
  File "/opt/netbox/venv/lib/python3.12/site-packages/django/core/management/base.py", line 459, in execute
    output = self.handle(*args, **options)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/netbox/netbox/extras/management/commands/runscript.py", line 41, in handle
    module, script_obj = get_module_and_script(module_name, script_name)
                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/netbox/netbox/extras/scripts.py", line 604, in get_module_and_script
    script = module.scripts.get(name=script_name)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/netbox/venv/lib/python3.12/site-packages/django/db/models/manager.py", line 87, in manager_method
    return getattr(self.get_queryset(), name)(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/netbox/venv/lib/python3.12/site-packages/django/db/models/query.py", line 649, in get
    raise self.model.DoesNotExist(
extras.models.scripts.Script.DoesNotExist: Script matching query does not exist.
@iii-arch iii-arch added status: needs triage This issue is awaiting triage by a maintainer type: bug A confirmed report of unexpected behavior in the application labels Oct 8, 2024
@arthanson
Copy link
Collaborator

@iii-arch I'm getting a different error message, can you please provide a simple sample script to make sure this is the same issue.

@arthanson arthanson added status: revisions needed This issue requires additional information to be actionable and removed status: needs triage This issue is awaiting triage by a maintainer labels Oct 9, 2024
@iii-arch
Copy link
Author

Sure, here is the sample:

from netaddr import IPNetwork

from extras.scripts import Script
from ipam.models import IPAddress
from objexplore import explore

name = "Test Script"

class Test(Script):
    class Meta:
        name="Test"
        description="Test Script"
    def run(self, data, commit):
        address = IPAddress(
            address = IPNetwork("10.1.1.1/24")
        )
        address.save()

Copy link
Contributor

This is a reminder that additional information is needed in order to further triage this issue. If the requested details are not provided, the issue will soon be closed automatically.

@github-actions github-actions bot added the pending closure Requires immediate attention to avoid being closed for inactivity label Oct 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
pending closure Requires immediate attention to avoid being closed for inactivity status: revisions needed This issue requires additional information to be actionable type: bug A confirmed report of unexpected behavior in the application
Projects
None yet
Development

No branches or pull requests

2 participants