fixinventory
fixinventory copied to clipboard
Digitalocean collector fails because of an unhandled error
Description
When running workflows run collect
, the collector for DigitalOcean fais with An unhandled error occurred while collecting team XXXXXX
(where XXXXX is the our team ID).
Version
2.4.1
Environment
Docker compose running on macOS 10.15
Steps to Reproduce
- Setup the worker as described here: https://resoto.com/docs/getting-started/configure-cloud-provider-access/digitalocean
- Run
workflows run collect
- Check the log to see the error
Logs
resoto-resotoworker-1 | {"timestamp": "2022-09-16T11:53:39", "level": "INFO", "message": "Collecting k8s_clusters in digitalocean_team XXXXXX", "pid": 136, "thread": "digitalocean", "process": "resotoworker"}
resoto-resotoworker-1 | {"timestamp": "2022-09-16T11:53:39", "level": "INFO", "message": "Collecting snapshots in digitalocean_team XXXXXX", "pid": 136, "thread": "digitalocean", "process": "resotoworker"}
resoto-resotoworker-1 | {"timestamp": "2022-09-16T11:53:45", "level": "ERROR", "message": "An unhandled error occurred while collecting team XXXXXXX", "pid": 136, "thread": "digitalocean", "process": "resotoworker", "exception": "Traceback (most recent call last):\n File \"/usr/local/resoto-venv-python3/lib/python3.10/site-packages/resoto_plugin_digitalocean/__init__.py\", line 66, in collect_team\n dopc.collect()\n File \"/usr/local/resoto-venv-python3/lib/python3.10/site-packages/resoto_plugin_digitalocean/collector.py\", line 243, in collect\n collector()\n File \"<decorator-gen-24>\", line 2, in collect_snapshots\n File \"/usr/local/resoto-venv-python3/lib/python3.10/site-packages/prometheus_client/context_managers.py\", line 81, in wrapped\n return func(*args, **kwargs)\n File \"/usr/local/resoto-venv-python3/lib/python3.10/site-packages/resoto_plugin_digitalocean/collector.py\", line 740, in collect_snapshots\n self.collect_resource(\n File \"/usr/local/resoto-venv-python3/lib/python3.10/site-packages/resoto_plugin_digitalocean/collector.py\", line 372, in collect_resource\n log.debug(f\"Parent resource for {resource_instance.rtdname} automatically set to {pr.rtdname}\")\nAttributeError: 'list' object has no attribute 'rtdname'"}
resoto-resotoworker-1 | {"timestamp": "2022-09-16T11:53:45", "level": "INFO", "message": "Collector of plugin digitalocean finished in 140.2884s", "pid": 136, "thread": "collector_digitalocean", "process": "resotoworker"}
Additional Context
No response
Thanks for the report @Mayeu. @meln1k can you take a look?
Hey @Mayeu, I'm currently trying to reproduce your issue. Could you give us more details about your setup? Which amd how many resources are you trying to collect?
Hello, thank you for your response.
I was trying resoto directly from my mac, following the documentation using a docker setup.
On the DO side, the team I'm trying to import has the following resources:
- Spaces (~4)
- Droplets (~10)
- Database (3 Pgsql + 1 Read only)
- Redis instance (1)
- Projects (3)
- Volumes (2)
- Snapshots (~50)
- VPC (4)
- Firewall rules (6)
- Monitoring rules (3)
Hey @Mayeu, I managed to reproduce the issue and merged the fix for it. We will release the new patched docker image soon.