netdevopsbr / netbox-proxbox

Netbox Plugin for integration between Proxmox and Netbox
Apache License 2.0
321 stars 45 forks source link

im getting this error whentrying to run the migrate command part of install #138

Closed pzhitnikov closed 11 months ago

pzhitnikov commented 11 months ago

(venv) root@netbox:/opt/netbox/netbox# python3 manage.py collectstatic --no-input Traceback (most recent call last): File "/opt/netbox/netbox/manage.py", line 10, in execute_from_command_line(sys.argv) File "/opt/netbox/venv/lib/python3.10/site-packages/django/core/management/init.py", line 446, in execute_from_command_line utility.execute() File "/opt/netbox/venv/lib/python3.10/site-packages/django/core/management/init.py", line 386, in execute settings.INSTALLED_APPS File "/opt/netbox/venv/lib/python3.10/site-packages/django/conf/init.py", line 92, in getattr self._setup(name) File "/opt/netbox/venv/lib/python3.10/site-packages/django/conf/init.py", line 79, in _setup self._wrapped = Settings(settings_module) File "/opt/netbox/venv/lib/python3.10/site-packages/django/conf/init.py", line 190, in init mod = importlib.import_module(self.SETTINGS_MODULE) File "/usr/lib/python3.10/importlib/init.py", line 126, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "", line 1050, in _gcd_import File "", line 1027, in _find_and_load File "", line 1006, in _find_and_load_unlocked File "", line 688, in _load_unlocked File "", line 883, in exec_module File "", line 241, in _call_with_frames_removed File "/opt/netbox/netbox/netbox/settings.py", line 687, in plugin = importlib.import_module(plugin_name) File "/usr/lib/python3.10/importlib/init.py", line 126, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "", line 1050, in _gcd_import File "", line 1027, in _find_and_load File "", line 1006, in _find_and_load_unlocked File "", line 688, in _load_unlocked File "", line 883, in exec_module File "", line 241, in _call_with_frames_removed File "/opt/netbox/venv/lib/python3.10/site-packages/netbox_proxbox/init.py", line 40, in from . import proxbox_api File "/opt/netbox/venv/lib/python3.10/site-packages/netbox_proxbox/proxbox_api/init.py", line 1, in from . import ( File "/opt/netbox/venv/lib/python3.10/site-packages/netbox_proxbox/proxbox_api/update.py", line 2, in from .plugins_config import ( File "/opt/netbox/venv/lib/python3.10/site-packages/netbox_proxbox/proxbox_api/plugins_config.py", line 73, in PROXMOX = PROXMOX_SETTING.get("domain", DEFAULT_PROXMOX) AttributeError: 'list' object has no attribute 'get'

lug-gh commented 11 months ago

For me the same, but already one step before yours. (venv) root@netbox:/opt/netbox/netbox# python3 manage.py migrate

lug-gh commented 11 months ago

It seems like the plugins_config.py is not working with multi-cluster. In like 73 you can see it want's to load a value rom a list, but it's not defined which object in the list.

So if you don't use multi-cluster you can remove the brackets [ ] from /opt/netbox/netbox/netbox/configuration.py in the PLUGINS_CONFIG section, or the script has to be fixed to be able to read a multi-cluster.

Multi-cluster does not mean multiple servers in a cluster, but actually multiple proxmox clusters that you want to have in netbox. So if you have only one cluster of x servers, you can safely remove the square brackets for now.

pzhitnikov commented 11 months ago

If I have 1 host instead of a cluster, then the integration in this way does not make sense? Yes you are right. Removing [] solves the problem in python3 manage.py migrate

lug-gh commented 11 months ago

If I have 1 host instead of a cluster, then the integration in this way does not make sense?`

Right, it's just wrong or insufficient documentation if you can't read and debug source code. But that's how it is with open-source, the code is free, but you have no claims to be taught by the maintainer. The knowledge transfer happens in the community.

pzhitnikov commented 11 months ago

Thank you

lug-gh commented 11 months ago

Can you reopen the issue? It's not solved, you just did a workaround, but the root cause is still there :)