Use multiple GCP zones for integration tests
rdner opened this issue · comments
Describe the enhancement:
When running integration tests, we're currently creating VMs only in the us-central1-1a
zone.
According to this comment:
Lines 2570 to 2572 in 52be253
This was done to ensure that we can create ARM-based VMs for testing. The zone is configurable by TEST_INTEG_AUTH_GCP_DATACENTER
environment variable.
The limitations on ARM CPUs have changed and it's no longer just the us-central1-1a
zone.
According to this https://cloud.google.com/compute/docs/regions-zones/
We can choose among:
- asia-southeast1-b
- asia-southeast1-c
- europe-west4-a
- europe-west4-b
- europe-west4-c
- us-central1-a
- us-central1-b
- us-central1-f
However, only bottom 3 are relevant for us because of the buildkite region (to avoid multi-region networking).
We should change our test framework and/or our CI setup to use the list of zones for each architecture:
x86:
- us-central1-a
- us-central1-b
- us-central1-c
- us-central1-f
ARM:
- us-central1-a
- us-central1-b
- us-central1-f
We should rotate the list and run our test runners in all zones instead of concentrating resources in one zone.
Describe a specific use case for the enhancement or feature:
We've exceeded available resources in us-central1-1a
on multiple occasions, this will significantly increase our integration test stability.
What is the definition of done?
Our integration tests utilize all the GCP zones listed above (according to the CPU architecture).
Pinging @elastic/elastic-agent-control-plane (Team:Elastic-Agent-Control-Plane)
Pinging @elastic/elastic-agent (Team:Elastic-Agent)