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

Run Integration tests on EKS #2481

Merged
merged 6 commits into from
Feb 13, 2024
Merged

Conversation

mauriciovasquezbernal
Copy link
Member

@mauriciovasquezbernal mauriciovasquezbernal commented Feb 8, 2024

This PR enables integration tests running on EKS. It also includes some fixes to make them work, specially on arm64.

OpenID Connect is used to authenticate Github Actions with AWS, hence no secrets are needed to be configured in the repository.

Sample runs can be found in:

Fixes #783

Copy link
Member

@eiffel-fl eiffel-fl left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi.

I have some comments for the EKS part.
If you want, you can extract the first commits in a dedicated PR and I will approve them.

Best regards.

shell: bash
run: |
echo "CLUSTER_NAME=${{ env.AWS_EKS_CLUSTER_PREFIX }}${{ matrix.arch }}-${RANDOM}" >> $GITHUB_ENV
- name: Install eksctl
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It does not exist a GitHub action to do so?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I see there is https://github.com/moia-oss/setup-eksctl, but I prefer to do this here rather than introducing a dependency on a non very popular action.

.github/workflows/inspektor-gadget.yml Outdated Show resolved Hide resolved
.github/workflows/inspektor-gadget.yml Outdated Show resolved Hide resolved
if: always()
shell: bash
run: |
eksctl delete cluster --name ${{ env.CLUSTER_NAME }} --region ${{ env.AWS_REGION }}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For AKS, we use --no-wait to run it async.
Is this possible on EKS?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice, they have --wait=false, let me try it.

Copy link
Member

@mqasimsarfraz mqasimsarfraz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overall looking great. Just some minor comments for understanding!

.github/workflows/inspektor-gadget.yml Show resolved Hide resolved
.github/workflows/inspektor-gadget.yml Outdated Show resolved Hide resolved
Copy link
Member

@mqasimsarfraz mqasimsarfraz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, great to have Inspektor Gadget tested on AWS! 🥳

.github/workflows/inspektor-gadget.yml Show resolved Hide resolved
Check another possible error message returned by wget.

Fixes: 29bede7 ("integration: Add test for sched cls programs")

Signed-off-by: Mauricio Vásquez <mauriciov@microsoft.com>
Signed-off-by: Mauricio Vásquez <mauriciov@microsoft.com>
Same as 65f0d30 ("remove arm64 workaround in exec tracer") for
this tracer.

It was causing the container hook to fail loading in EKS on arm64. It
made the integration test fail because new containers weren't detected
fast enough.

Signed-off-by: Mauricio Vásquez <mauriciov@microsoft.com>
Introduce a new constant for this case and skip a couple of tests
when it's detected.

Signed-off-by: Mauricio Vásquez <mauriciov@microsoft.com>
ig is not strictly needed by those jobs, so remove it as a dependency.

Signed-off-by: Mauricio Vásquez <mauriciov@microsoft.com>
Signed-off-by: Mauricio Vásquez <mauriciov@microsoft.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Run integration tests on EKS
4 participants