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_mockfixture has similar but slightly different api. By default all mocked requests must be called exactly once. Theis_optionalandis_reusableparameters 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