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

[8.16](backport #6260) [k8s]: restructure kubernetes integration tests #6268

Merged
merged 4 commits into from
Dec 12, 2024

Conversation

mergify[bot]
Copy link
Contributor

@mergify mergify bot commented Dec 10, 2024

What does this PR do?

This PR lays the groundwork for Kubernetes hints integration tests. The related commits of the former will be included in a follow-up PR (6fa8ffb, 9a48d02) as I want to keep this PR around 500 lines (excluding go.mod and NOTICE files). These changes address the need to avoid duplicating code logic, as hints tests require deploying plain Kubernetes YAML files and checking the agent status independently. Key updates include:

  • Centralized Context: Introduced k8sContext to standardize Kubernetes test setup.
  • Refactored Helpers: Streamlined functions for Kubernetes operations (e.g., k8sCreateObjects, k8sDeleteObjects, k8sWaitForReady) with better error handling.
  • Agent Health Validation: Enhanced agent status checks with k8sCheckAgentStatus.
  • Readiness Checker: Leveraged Helm's ReadyChecker to validate readiness of Kubernetes objects (e.g., pods, deployments, daemonSets, statefulSets, etc.).

These updates improve code readability, modularity, and reusability, reducing the need for duplicate logic in k8s tests.

Why is it important?

  • Avoiding Duplication: Eliminates the need for repeated logic in k8s tests.
  • Improved Modularity: Encapsulates reusable functionality for easier maintenance and test extension.
  • Readiness Assurance: Ensures Kubernetes objects are fully ready before test execution, reducing test flakiness.

Checklist

  • My code follows the style guidelines of this project.
  • I have commented my code, particularly in hard-to-understand areas.
  • [ ] I have made corresponding changes to the documentation.
  • [ ] I have made corresponding changes to the default configuration files.
  • I have added tests that prove my fix is effective or that my feature works.
  • [ ] I have added an entry in ./changelog/fragments using the changelog tool.
  • I have added an integration test or an E2E test.

Disruptive User Impact

No disruptive changes. Enhancements are internal to Kubernetes integration tests.

How to test this PR locally

mage integration:auth
PLATFORMS=linux/arm64 EXTERNAL=true SNAPSHOT=true PACKAGES=docker mage -v package 
INSTANCE_PROVISIONER=kind STACK_PROVISIONER=stateful K8S_VERSION=v1.31.1 SNAPSHOT=true mage integration:kubernetes

Related issues

@mergify mergify bot requested a review from a team as a code owner December 10, 2024 17:39
@mergify mergify bot added backport conflicts There is a conflict in the backported pull request labels Dec 10, 2024
@mergify mergify bot requested review from andrzej-stencel and swiatekm and removed request for a team December 10, 2024 17:39
Copy link
Contributor Author

mergify bot commented Dec 10, 2024

Cherry-pick of 79caf55 has failed:

On branch mergify/bp/8.16/pr-6260
Your branch is up to date with 'origin/8.16'.

You are currently cherry-picking commit 79caf557d.
  (fix conflicts and run "git cherry-pick --continue")
  (use "git cherry-pick --skip" to skip this patch)
  (use "git cherry-pick --abort" to cancel the cherry-pick operation)

Changes to be committed:
	modified:   NOTICE.txt
	modified:   testing/integration/kubernetes_agent_service_test.go
	modified:   testing/integration/kubernetes_agent_standalone_test.go

Unmerged paths:
  (use "git add/rm <file>..." as appropriate to mark resolution)
	both modified:   go.mod
	deleted by us:   testing/integration/otel_helm_test.go

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

@pkoutsovasilis
Copy link
Contributor

requires this one to be merged first

@ycombinator ycombinator force-pushed the mergify/bp/8.16/pr-6260 branch from 2b44205 to 0415680 Compare December 12, 2024 00:06
* feat: restructure k8s integration tests

* feat: update helm edot test

(cherry picked from commit 79caf55)

# Conflicts:
#	go.mod
#	testing/integration/otel_helm_test.go
@pkoutsovasilis pkoutsovasilis force-pushed the mergify/bp/8.16/pr-6260 branch from 0415680 to 8effb57 Compare December 12, 2024 11:56
Copy link

@pkoutsovasilis pkoutsovasilis merged commit bb32f59 into 8.16 Dec 12, 2024
14 checks passed
@pkoutsovasilis pkoutsovasilis deleted the mergify/bp/8.16/pr-6260 branch December 12, 2024 18:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backport conflicts There is a conflict in the backported pull request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants