Abstract cluster provider to add EKS (backport #169) - #191
Closed
mergify[bot] wants to merge 10 commits into
Closed
mergify[bot] wants to merge 10 commits into
mergify[bot] wants to merge 10 commits into
Conversation
The NodeProvider interface abstracts the actions for each provider and will help to introduce additional cluster providers for running the test suite. Examples are EKS in the near future, or Openshift in the long run, but it is opened to other k8s platform as well. Assisted-by: AI Signed-off-by: Alice Frosi <afrosi@redhat.com> (cherry picked from commit 2ec1980)
Move bink in its own provider implementation. If no provider is set, then we assume bink to be default one. Assisted-by: AI Signed-off-by: Alice Frosi <afrosi@redhat.com> (cherry picked from commit 001e9db)
Rename environment variables to decouple e2e tests from the bink provider: - BINK_NODE_IMAGE_DIGEST -> E2E_NODE_IMAGE_DIGEST - BINK_LOCAL_REGISTRY_NODE_IMAGE -> E2E_NODE_IMAGE_REGISTRY - BINK_NODE_IMAGE_UPDATE_DIGEST -> E2E_NODE_IMAGE_UPDATE_DIGEST - BINK_NODE_IMAGE_UPDATE2_DIGEST -> E2E_NODE_IMAGE_UPDATE2_DIGEST Add E2E_PROVIDER=bink to explicitly select the provider. Signed-off-by: Alice Frosi <afrosi@redhat.com> (cherry picked from commit 4095263)
For now, we are only targeting the TestPullSecretAuth for EKS since it requires a pull secret for pulling the container images. Once, this first work has been merged will tackle the rest of the test suite. Assisted-by: AI Signed-off-by: Alice Frosi <afrosi@redhat.com> (cherry picked from commit 124c07f) # Conflicts: # test/e2e/bootcnode_test.go
Implement EKSProvider that provisions e2e test nodes by launching standalone EC2 instances that join an existing EKS cluster. The provider discovers the Auto Scaling group for an eksctl node group via tags, extracts its launch template, and uses it to launch new instances. EKSProvider implements the NodeProvider interface with: - AddNode: launches an EC2 instance, waits for the k8s node to register (polling up to 10 min), and patches labels - RemoveNode: terminates the EC2 instance and deletes the k8s node Required env vars: EKS_CLUSTER_NAME, EKS_NODE_GROUP, AWS_REGION Unit tests cover AddNode and RemoveNode using mock EC2 interfaces and a fake k8s client. Assisted-by: AI Signed-off-by: Alice Frosi <afrosi@redhat.com> (cherry picked from commit 72d8e9a)
Assisted-by: AI Signed-off-by: Alice Frosi <afrosi@redhat.com> (cherry picked from commit 0023325)
Previously, gather-logs was using bink ssh, in order to make it compatible with EKS, let's use a more generic way and use the bootc-operator daemons to fetch the logs. This will work with each cluster provider. Assisted-by: AI Signed-off-by: Alice Frosi <afrosi@redhat.com> (cherry picked from commit f8374f1)
Assisted-by: AI Signed-off-by: Alice Frosi <afrosi@redhat.com> (cherry picked from commit bcc2c2f)
Use full digest-qualified image references per provider instead of separate registry and digest fields. Add AuthImageRef, RegistryHost, and extractRegistryHost helpers for pull secret test support. Assisted-by: AI Signed-off-by: Alice Frosi <afrosi@redhat.com> (cherry picked from commit 5e87ccc)
With remote registries the manifest digest and content digest can differ. Assert on the full image ref which carries the manifest digest rather than the locally resolved content digest. Assisted-by: AI Signed-off-by: Alice Frosi <afrosi@redhat.com> (cherry picked from commit e68672b)
Author
|
Cherry-pick of 124c07f has failed: To fix up this pull request, you can check it out locally. See documentation: https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/checking-out-pull-requests-locally |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Abstraction of the cluster provider in order to support simultaneously bink and other kubernetes platform like EKS.
This is an automatic backport of pull request #169 done by Mergify.