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

Use multiple GCP zones for integration tests #4704

Closed
rdner opened this issue May 8, 2024 · 3 comments
Closed

Use multiple GCP zones for integration tests #4704

rdner opened this issue May 8, 2024 · 3 comments
Assignees
Labels
Team:Elastic-Agent Label for the Agent team Team:Elastic-Agent-Control-Plane Label for the Agent Control Plane team

Comments

@rdner
Copy link
Member

rdner commented May 8, 2024

Describe the enhancement:

When running integration tests, we're currently creating VMs only in the us-central1-1a zone.

According to this comment:

elastic-agent/magefile.go

Lines 2570 to 2572 in 52be253

// us-central1-a is used because T2A instances required for ARM64 testing are only
// available in the central regions
datacenter = "us-central1-a"

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).

@rdner rdner added Team:Elastic-Agent-Control-Plane Label for the Agent Control Plane team Team:Elastic-Agent Label for the Agent team labels May 8, 2024
@elasticmachine
Copy link
Collaborator

Pinging @elastic/elastic-agent-control-plane (Team:Elastic-Agent-Control-Plane)

@elasticmachine
Copy link
Collaborator

Pinging @elastic/elastic-agent (Team:Elastic-Agent)

@rdner
Copy link
Member Author

rdner commented May 22, 2024

#4782 should improve the situation, will re-open if have more issues with GCP.

@rdner rdner closed this as completed May 22, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Team:Elastic-Agent Label for the Agent team Team:Elastic-Agent-Control-Plane Label for the Agent Control Plane team
Projects
None yet
Development

No branches or pull requests

2 participants