Use asyncio for provisioning

  • Use asyncio for provisioning. Concurrency is achieved using TaskGroups which automatically collects and raises errors. Any pending tasks are cancelled.
  • Use httpx instead of requests
    • httpx has slightly different errors, so we need slightly different error handling
    • use pytest-httpx instead of responses. The provided httpx_mock fixture has similar but slightly different api. By default all mocked requests must be called exactly once. The is_optional and is_reusable parameters can be used to tweak this
  • Circumvents a bug in Grafana where a service account may exist, but does not show up in search
  • Number of concurrent connections to Grafana are limited, both for performance reasons and to not have the database choke on too many connections from Grafana
Edited by Pelle Koster

Merge request reports

Loading