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

Full Update fails on advanced qemu_guest_agent options #210

Open
richardcyrus opened this issue Dec 1, 2024 · 2 comments
Open

Full Update fails on advanced qemu_guest_agent options #210

richardcyrus opened this issue Dec 1, 2024 · 2 comments
Assignees
Labels
bug Further discussion is needed to determine this issue's scope and/or implementation under review Further discussion is needed to determine this issue's scope and/or implementation

Comments

@richardcyrus
Copy link

When clickling the 'Proxmox Full Update' button, the update process does not complete. The log for the FastAPI process shows the following error:

Dec  1 17:44:15 sugar uvicorn[113539]: ERROR:    Exception in ASGI application
Dec  1 17:44:15 sugar uvicorn[113539]: Traceback (most recent call last):
Dec  1 17:44:15 sugar uvicorn[113539]:  File "/opt/netbox-4.1.6/venv/lib64/python3.12/site-packages/uvicorn/protocols/websockets/websockets_impl.py", line 242, in run_asgi
Dec  1 17:44:15 sugar uvicorn[113539]:    result = await self.app(self.scope, self.asgi_receive, self.asgi_send)  # type: ignore[func-returns-value]
Dec  1 17:44:15 sugar uvicorn[113539]:             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Dec  1 17:44:15 sugar uvicorn[113539]:  File "/opt/netbox-4.1.6/venv/lib64/python3.12/site-packages/uvicorn/middleware/proxy_headers.py", line 60, in __call__
Dec  1 17:44:15 sugar uvicorn[113539]:    return await self.app(scope, receive, send)
Dec  1 17:44:15 sugar uvicorn[113539]:           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Dec  1 17:44:15 sugar uvicorn[113539]:  File "/opt/netbox-4.1.6/venv/lib64/python3.12/site-packages/fastapi/applications.py", line 1054, in __call__
Dec  1 17:44:15 sugar uvicorn[113539]:    await super().__call__(scope, receive, send)
Dec  1 17:44:15 sugar uvicorn[113539]:  File "/opt/netbox-4.1.6/venv/lib64/python3.12/site-packages/starlette/applications.py", line 113, in __call__
Dec  1 17:44:15 sugar uvicorn[113539]:    await self.middleware_stack(scope, receive, send)
Dec  1 17:44:15 sugar uvicorn[113539]:  File "/opt/netbox-4.1.6/venv/lib64/python3.12/site-packages/starlette/middleware/errors.py", line 152, in __call__
Dec  1 17:44:15 sugar uvicorn[113539]:    await self.app(scope, receive, send)
Dec  1 17:44:15 sugar uvicorn[113539]:  File "/opt/netbox-4.1.6/venv/lib64/python3.12/site-packages/starlette/middleware/cors.py", line 77, in __call__
Dec  1 17:44:15 sugar uvicorn[113539]:    await self.app(scope, receive, send)
Dec  1 17:44:15 sugar uvicorn[113539]:  File "/opt/netbox-4.1.6/venv/lib64/python3.12/site-packages/starlette/middleware/exceptions.py", line 62, in __call__
Dec  1 17:44:15 sugar uvicorn[113539]:    await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
Dec  1 17:44:15 sugar uvicorn[113539]:  File "/opt/netbox-4.1.6/venv/lib64/python3.12/site-packages/starlette/_exception_handler.py", line 62, in wrapped_app
Dec  1 17:44:15 sugar uvicorn[113539]:    raise exc
Dec  1 17:44:15 sugar uvicorn[113539]:  File "/opt/netbox-4.1.6/venv/lib64/python3.12/site-packages/starlette/_exception_handler.py", line 51, in wrapped_app
Dec  1 17:44:15 sugar uvicorn[113539]:    await app(scope, receive, sender)
Dec  1 17:44:15 sugar uvicorn[113539]:  File "/opt/netbox-4.1.6/venv/lib64/python3.12/site-packages/starlette/routing.py", line 715, in __call__
Dec  1 17:44:15 sugar uvicorn[113539]:    await self.middleware_stack(scope, receive, send)
Dec  1 17:44:15 sugar uvicorn[113539]:  File "/opt/netbox-4.1.6/venv/lib64/python3.12/site-packages/starlette/routing.py", line 735, in app
Dec  1 17:44:15 sugar uvicorn[113539]:    await route.handle(scope, receive, send)
Dec  1 17:44:15 sugar uvicorn[113539]:  File "/opt/netbox-4.1.6/venv/lib64/python3.12/site-packages/starlette/routing.py", line 362, in handle
Dec  1 17:44:15 sugar uvicorn[113539]:    await self.app(scope, receive, send)
Dec  1 17:44:15 sugar uvicorn[113539]:  File "/opt/netbox-4.1.6/venv/lib64/python3.12/site-packages/starlette/routing.py", line 95, in app
Dec  1 17:44:15 sugar uvicorn[113539]:    await wrap_app_handling_exceptions(app, session)(scope, receive, send)
Dec  1 17:44:15 sugar uvicorn[113539]:  File "/opt/netbox-4.1.6/venv/lib64/python3.12/site-packages/starlette/_exception_handler.py", line 62, in wrapped_app
Dec  1 17:44:15 sugar uvicorn[113539]:    raise exc
Dec  1 17:44:15 sugar uvicorn[113539]:  File "/opt/netbox-4.1.6/venv/lib64/python3.12/site-packages/starlette/_exception_handler.py", line 51, in wrapped_app
Dec  1 17:44:15 sugar uvicorn[113539]:    await app(scope, receive, sender)
Dec  1 17:44:15 sugar uvicorn[113539]:  File "/opt/netbox-4.1.6/venv/lib64/python3.12/site-packages/starlette/routing.py", line 93, in app
Dec  1 17:44:15 sugar uvicorn[113539]:    await func(session)
Dec  1 17:44:15 sugar uvicorn[113539]:  File "/opt/netbox-4.1.6/venv/lib64/python3.12/site-packages/fastapi/routing.py", line 383, in app
Dec  1 17:44:15 sugar uvicorn[113539]:    await dependant.call(**solved_result.values)
Dec  1 17:44:15 sugar uvicorn[113539]:  File "/opt/netbox/netbox/netbox-proxbox/netbox_proxbox/main.py", line 174, in websocket_endpoint
Dec  1 17:44:15 sugar uvicorn[113539]:    await get_virtual_machines(nb=nb, pxs=pxs, websocket=websocket)
Dec  1 17:44:15 sugar uvicorn[113539]:  File "/opt/netbox-4.1.6/netbox/netbox-proxbox/netbox_proxbox/backend/routes/proxbox/clusters/__init__.py", line 730, in get_virtual_machines
Dec  1 17:44:15 sugar uvicorn[113539]:    agent: int = int(vm_config.get("agent", 0))
Dec  1 17:44:15 sugar uvicorn[113539]:                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Dec  1 17:44:15 sugar uvicorn[113539]: ValueError: invalid literal for int() with base 10: 'enabled=1,freeze-fs-on-backup=1,fstrim_cloned_disks=1'
Dec  1 17:44:15 sugar uvicorn[113539]: INFO:     connection closed

It appears that the code is looking for a single value for the agent status, however proxmox supports multiple sub-settings for the guest agent:
QEMU Guest Agent

image

Environment

Netbox Version 4.1.6
Python Version 3.12.6
Django Version 5.0.9
Netbox Proxbox Version 0.0.5 commmit 59bf4dd

Proxmox Cluster Mode Standalone
Proxmox Version 8.2.7

Configuration

PLUGINS_CONFIG = {
    'netbox_proxbox': {
        'proxmox': [{
            'domain': 'stargazer.<proxmox_host_fqdn>',
            'http_port': 8006,
            'user': 'root@pam',
            'password': '<REDACTED>',
            'ssl': False,
            'token': {
                'name': 'netbox',
                'value': '<REDACTED>',
            },
        }],
        'netbox': {
            'domain': 'sugar.<netbox_host_fqdn>',
            'http_port': 443,
            'token': '<REDACTED>',
            'ssl': False,
            'settings': {
                'virtualmachine_role_id': 11,
                'node_role_id': 10,
                'site_id': 3,
            }
        },
        'fastapi': {
            'uvicorn_host': 'sugar.<netbox_host_fqdn>',
            'uvicorn_port': 8800,
        }
    }
}
LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,
    'handlers': {
        'console': {
            'class': 'logging.StreamHandler',
        },
    },
    'root': {
        'handlers': ['console'],
        'level': 'INFO',
    },
}

Additional Info

The following is from the Plugin UI Log Messages

 Searching Cluster by kwargs {'name': 'stargazer'}.
 Creating Device stargazer related with the Virtual Machine(s)
Error trying to create Netbox Device object.
Error trying to create Netbox interface.
Error trying to create Netbox interface.
Error trying to create Netbox interface.
Error trying to create Netbox interface.
Error trying to create Netbox interface.
Error trying to create Netbox interface.
Error trying to create Netbox interface.
 Nodes: []
 Searching Device by kwargs {'name': 'stargazer'}.
 Searching Cluster by kwargs {'name': 'stargazer'}.
 Searching Device Types by kwargs {'slug': 'qemu'}.
 Creating Virtual Machine analyze-librenms on Netbox...
 Creating Virtual Machine object on Netbox.
 Checking if Virtual Machine exists on Netbox before creating it.
 (1) First attempt: Checking object making EXACT MATCH with the Payload provided...
 (1.5) Checking object using NAME and DEVICE provided by the Payload and also the PROXBOX TAG. If found, return it.
 (1.5.1) Checking duplicate using Device Object as parameter.
 (1.5.1.2) Device Object NOT found using Device ID as parameter. Trying to use Device NAME as parameter.
 Not abe to get Device Object using Device NAME neither Device ID as parameter.
 (2) Checking object using only NAME and SLUG provided by the Payload and also the PROXBOX TAG. If found, return it.
 (2.1) Searching object using GET method
 (3) Checking duplicate object using only NAME and SLUG
 Trying to create Virtual Machine object on Netbox.
 Error trying to create Virtual Machine object on Netbox. > The request failed with code 400 Bad Request: {'device': ['Related object not found using the provided numeric ID: 0']}
 Searching Device by kwargs {'name': 'stargazer'}.
 Searching Cluster by kwargs {'name': 'stargazer'}.
 Searching Device Types by kwargs {'slug': 'qemu'}.
 Creating Virtual Machine vyos-lab on Netbox...
 Creating Virtual Machine object on Netbox.
 Checking if Virtual Machine exists on Netbox before creating it.
 (1) First attempt: Checking object making EXACT MATCH with the Payload provided...
 (1.5) Checking object using NAME and DEVICE provided by the Payload and also the PROXBOX TAG. If found, return it.
 (1.5.1) Checking duplicate using Device Object as parameter.
 (1.5.1.2) Device Object NOT found using Device ID as parameter. Trying to use Device NAME as parameter.
 Not abe to get Device Object using Device NAME neither Device ID as parameter.
 (2) Checking object using only NAME and SLUG provided by the Payload and also the PROXBOX TAG. If found, return it.
 (2.1) Searching object using GET method
 (3) Checking duplicate object using only NAME and SLUG
 Trying to create Virtual Machine object on Netbox.
 Error trying to create Virtual Machine object on Netbox. > The request failed with code 400 Bad Request: {'device': ['Related object not found using the provided numeric ID: 0']}
 Searching Device by kwargs {'name': 'stargazer'}.
 Searching Cluster by kwargs {'name': 'stargazer'}.
 Searching Device Types by kwargs {'slug': 'qemu'}.
 Creating Virtual Machine cfg-net on Netbox...
 Creating Virtual Machine object on Netbox.
 Checking if Virtual Machine exists on Netbox before creating it.
 (1) First attempt: Checking object making EXACT MATCH with the Payload provided...
 (1.5) Checking object using NAME and DEVICE provided by the Payload and also the PROXBOX TAG. If found, return it.
 (1.5.1) Checking duplicate using Device Object as parameter.
 (1.5.1.2) Device Object NOT found using Device ID as parameter. Trying to use Device NAME as parameter.
 Not abe to get Device Object using Device NAME neither Device ID as parameter.
 (2) Checking object using only NAME and SLUG provided by the Payload and also the PROXBOX TAG. If found, return it.
 (2.1) Searching object using GET method
 (3) Checking duplicate object using only NAME and SLUG
 Trying to create Virtual Machine object on Netbox.
 Error trying to create Virtual Machine object on Netbox. > The request failed with code 400 Bad Request: {'device': ['Related object not found using the provided numeric ID: 0']}
 Searching Device by kwargs {'name': 'stargazer'}.
 Searching Cluster by kwargs {'name': 'stargazer'}.
 Searching Device Types by kwargs {'slug': 'qemu'}.
 Creating Virtual Machine intouch-net on Netbox...
 Creating Virtual Machine object on Netbox.
 Checking if Virtual Machine exists on Netbox before creating it.
 (1) First attempt: Checking object making EXACT MATCH with the Payload provided...
 (1.5) Checking object using NAME and DEVICE provided by the Payload and also the PROXBOX TAG. If found, return it.
 (1.5.1) Checking duplicate using Device Object as parameter.
 (1.5.1.2) Device Object NOT found using Device ID as parameter. Trying to use Device NAME as parameter.
 Not abe to get Device Object using Device NAME neither Device ID as parameter.
 (2) Checking object using only NAME and SLUG provided by the Payload and also the PROXBOX TAG. If found, return it.
 (2.1) Searching object using GET method
 (3) Checking duplicate object using only NAME and SLUG
 Trying to create Virtual Machine object on Netbox.
 Error trying to create Virtual Machine object on Netbox. > The request failed with code 400 Bad Request: {'device': ['Related object not found using the provided numeric ID: 0']}
 Searching Device by kwargs {'name': 'stargazer'}.
 Searching Cluster by kwargs {'name': 'stargazer'}.
 Searching Device Types by kwargs {'slug': 'qemu'}.
 Creating Virtual Machine guest-net on Netbox...
 Creating Virtual Machine object on Netbox.
 Checking if Virtual Machine exists on Netbox before creating it.
 (1) First attempt: Checking object making EXACT MATCH with the Payload provided...
 (1.5) Checking object using NAME and DEVICE provided by the Payload and also the PROXBOX TAG. If found, return it.
 (1.5.1) Checking duplicate using Device Object as parameter.
 (1.5.1.2) Device Object NOT found using Device ID as parameter. Trying to use Device NAME as parameter.
 Not abe to get Device Object using Device NAME neither Device ID as parameter.
 (2) Checking object using only NAME and SLUG provided by the Payload and also the PROXBOX TAG. If found, return it.
 (2.1) Searching object using GET method
 (3) Checking duplicate object using only NAME and SLUG
 Trying to create Virtual Machine object on Netbox.
 Error trying to create Virtual Machine object on Netbox. > The request failed with code 400 Bad Request: {'device': ['Related object not found using the provided numeric ID: 0']}
 Searching Device by kwargs {'name': 'stargazer'}.
 Searching Cluster by kwargs {'name': 'stargazer'}.
 Searching Device Types by kwargs {'slug': 'qemu'}.
 Creating Virtual Machine empl-net on Netbox...
 Creating Virtual Machine object on Netbox.
 Checking if Virtual Machine exists on Netbox before creating it.
 (1) First attempt: Checking object making EXACT MATCH with the Payload provided...
 (1.5) Checking object using NAME and DEVICE provided by the Payload and also the PROXBOX TAG. If found, return it.
 (1.5.1) Checking duplicate using Device Object as parameter.
 (1.5.1.2) Device Object NOT found using Device ID as parameter. Trying to use Device NAME as parameter.
 Not abe to get Device Object using Device NAME neither Device ID as parameter.
 (2) Checking object using only NAME and SLUG provided by the Payload and also the PROXBOX TAG. If found, return it.
 (2.1) Searching object using GET method
 (3) Checking duplicate object using only NAME and SLUG
 Trying to create Virtual Machine object on Netbox.
 Error trying to create Virtual Machine object on Netbox. > The request failed with code 400 Bad Request: {'device': ['Related object not found using the provided numeric ID: 0']}
 Searching Device by kwargs {'name': 'stargazer'}.
 Searching Cluster by kwargs {'name': 'stargazer'}.
 Searching Device Types by kwargs {'slug': 'qemu'}.
 Creating Virtual Machine voip-net on Netbox...
 Creating Virtual Machine object on Netbox.
 Checking if Virtual Machine exists on Netbox before creating it.
 (1) First attempt: Checking object making EXACT MATCH with the Payload provided...
 (1.5) Checking object using NAME and DEVICE provided by the Payload and also the PROXBOX TAG. If found, return it.
 (1.5.1) Checking duplicate using Device Object as parameter.
 (1.5.1.2) Device Object NOT found using Device ID as parameter. Trying to use Device NAME as parameter.
 Not abe to get Device Object using Device NAME neither Device ID as parameter.
 (2) Checking object using only NAME and SLUG provided by the Payload and also the PROXBOX TAG. If found, return it.
 (2.1) Searching object using GET method
 (3) Checking duplicate object using only NAME and SLUG
 Trying to create Virtual Machine object on Netbox.
 Error trying to create Virtual Machine object on Netbox. > The request failed with code 400 Bad Request: {'device': ['Related object not found using the provided numeric ID: 0']}
 Searching Device by kwargs {'name': 'stargazer'}.
 Searching Cluster by kwargs {'name': 'stargazer'}.
 Searching Device Types by kwargs {'slug': 'qemu'}.
 Creating Virtual Machine iot-net on Netbox...
 Creating Virtual Machine object on Netbox.
 Checking if Virtual Machine exists on Netbox before creating it.
 (1) First attempt: Checking object making EXACT MATCH with the Payload provided...
 (1.5) Checking object using NAME and DEVICE provided by the Payload and also the PROXBOX TAG. If found, return it.
 (1.5.1) Checking duplicate using Device Object as parameter.
 (1.5.1.2) Device Object NOT found using Device ID as parameter. Trying to use Device NAME as parameter.
 Not abe to get Device Object using Device NAME neither Device ID as parameter.
 (2) Checking object using only NAME and SLUG provided by the Payload and also the PROXBOX TAG. If found, return it.
 (2.1) Searching object using GET method
 (3) Checking duplicate object using only NAME and SLUG
 Trying to create Virtual Machine object on Netbox.
 Error trying to create Virtual Machine object on Netbox. > The request failed with code 400 Bad Request: {'device': ['Related object not found using the provided numeric ID: 0']}
 Searching Device by kwargs {'name': 'stargazer'}.
 Searching Cluster by kwargs {'name': 'stargazer'}.
 Searching Device Types by kwargs {'slug': 'qemu'}.
 Creating Virtual Machine ddi-net on Netbox...
 Creating Virtual Machine object on Netbox.
 Checking if Virtual Machine exists on Netbox before creating it.
 (1) First attempt: Checking object making EXACT MATCH with the Payload provided...
 (1.5) Checking object using NAME and DEVICE provided by the Payload and also the PROXBOX TAG. If found, return it.
 (1.5.1) Checking duplicate using Device Object as parameter.
 (1.5.1.2) Device Object NOT found using Device ID as parameter. Trying to use Device NAME as parameter.
 Not abe to get Device Object using Device NAME neither Device ID as parameter.
 (2) Checking object using only NAME and SLUG provided by the Payload and also the PROXBOX TAG. If found, return it.
 (2.1) Searching object using GET method
 (3) Checking duplicate object using only NAME and SLUG
 Trying to create Virtual Machine object on Netbox.
 Error trying to create Virtual Machine object on Netbox. > The request failed with code 400 Bad Request: {'device': ['Related object not found using the provided numeric ID: 0']}
 Searching Device by kwargs {'name': 'stargazer'}.
 Searching Cluster by kwargs {'name': 'stargazer'}.
 Searching Device Types by kwargs {'slug': 'qemu'}.
 Creating Virtual Machine container-net on Netbox...
 Creating Virtual Machine object on Netbox.
 Checking if Virtual Machine exists on Netbox before creating it.
 (1) First attempt: Checking object making EXACT MATCH with the Payload provided...
 (1.5) Checking object using NAME and DEVICE provided by the Payload and also the PROXBOX TAG. If found, return it.
 (1.5.1) Checking duplicate using Device Object as parameter.
 (1.5.1.2) Device Object NOT found using Device ID as parameter. Trying to use Device NAME as parameter.
 Not abe to get Device Object using Device NAME neither Device ID as parameter.
 (2) Checking object using only NAME and SLUG provided by the Payload and also the PROXBOX TAG. If found, return it.
 (2.1) Searching object using GET method
 (3) Checking duplicate object using only NAME and SLUG
 Trying to create Virtual Machine object on Netbox.
 Error trying to create Virtual Machine object on Netbox. > The request failed with code 400 Bad Request: {'device': ['Related object not found using the provided numeric ID: 0']}
 Searching Device by kwargs {'name': 'stargazer'}.
 Searching Cluster by kwargs {'name': 'stargazer'}.
 Searching Device Types by kwargs {'slug': 'qemu'}.
 Creating Virtual Machine vm-net on Netbox...
 Creating Virtual Machine object on Netbox.
 Checking if Virtual Machine exists on Netbox before creating it.
 (1) First attempt: Checking object making EXACT MATCH with the Payload provided...
 (1.5) Checking object using NAME and DEVICE provided by the Payload and also the PROXBOX TAG. If found, return it.
 (1.5.1) Checking duplicate using Device Object as parameter.
 (1.5.1.2) Device Object NOT found using Device ID as parameter. Trying to use Device NAME as parameter.
 Not abe to get Device Object using Device NAME neither Device ID as parameter.
 (2) Checking object using only NAME and SLUG provided by the Payload and also the PROXBOX TAG. If found, return it.
 (2.1) Searching object using GET method
 (3) Checking duplicate object using only NAME and SLUG
 Trying to create Virtual Machine object on Netbox.
 Error trying to create Virtual Machine object on Netbox. > The request failed with code 400 Bad Request: {'device': ['Related object not found using the provided numeric ID: 0']}
 Searching Device by kwargs {'name': 'stargazer'}.
 Searching Cluster by kwargs {'name': 'stargazer'}.
 Searching Device Types by kwargs {'slug': 'qemu'}.
@emersonfelipesp emersonfelipesp self-assigned this Dec 2, 2024
@emersonfelipesp emersonfelipesp added bug Further discussion is needed to determine this issue's scope and/or implementation under review Further discussion is needed to determine this issue's scope and/or implementation labels Dec 2, 2024
@LexPanov
Copy link

LexPanov commented Dec 3, 2024

Hi!
I've fixed this problem in such way

diff --git a/netbox_proxbox/backend/routes/proxbox/clusters/__init__.py b/netbox_proxbox/backend/routes/proxbox/clusters/__init__.py
index 53ed1d7..057d2cf 100755
--- a/netbox_proxbox/backend/routes/proxbox/clusters/__init__.py
+++ b/netbox_proxbox/backend/routes/proxbox/clusters/__init__.py
@@ -725,7 +725,7 @@ async def get_virtual_machines(
                 if onboot == 1:
                     start_at_boot = True
                 
-                agent: int = int(vm_config.get("agent", 0))
+                agent: int = 1 if "enabled=1" in vm_config.get("agent", "") else 0
                 
                 qemu_agent: bool = False

@richardcyrus
Copy link
Author

Hi! I've fixed this problem in such way

diff --git a/netbox_proxbox/backend/routes/proxbox/clusters/__init__.py b/netbox_proxbox/backend/routes/proxbox/clusters/__init__.py
index 53ed1d7..057d2cf 100755
--- a/netbox_proxbox/backend/routes/proxbox/clusters/__init__.py
+++ b/netbox_proxbox/backend/routes/proxbox/clusters/__init__.py
@@ -725,7 +725,7 @@ async def get_virtual_machines(
                 if onboot == 1:
                     start_at_boot = True
                 
-                agent: int = int(vm_config.get("agent", 0))
+                agent: int = 1 if "enabled=1" in vm_config.get("agent", "") else 0
                 
                 qemu_agent: bool = False

I've tested this change and the query of Proxmox no longer fails. However, no objects are created. For each creation attempt, the log has an entry similar to the following (also in the log output in the first post of this issue):

 Error trying to create Virtual Machine object on Netbox. > The request failed with code 400 Bad Request: {'device': ['Related object not found using the provided numeric ID: 0']}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Further discussion is needed to determine this issue's scope and/or implementation under review Further discussion is needed to determine this issue's scope and/or implementation
Projects
None yet
Development

No branches or pull requests

3 participants