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

test(e2e-cilium): add e2e test for cilium event observer plugin #665

Open
wants to merge 5 commits into
base: main
Choose a base branch
from

Conversation

snguyen64
Copy link
Contributor

@snguyen64 snguyen64 commented Aug 26, 2024

Description

E2e tests for ciliumeventobserver. This runs on hubble helm install of retina on a cilium dataplane.

Related Issue

If this pull request is related to any issue, please mention it here. Additionally, make sure that the issue is assigned to you before submitting this pull request.

Checklist

  • I have read the contributing documentation.
  • I signed and signed-off the commits (git commit -S -s ...). See this documentation on signing commits.
  • I have correctly attributed the author(s) of the code.
  • I have tested the changes locally.
  • I have followed the project's style guidelines.
  • I have updated the documentation, if necessary.
  • I have added tests, if applicable.

Screenshots (if applicable) or Testing Completed

Please add any relevant screenshots or GIFs to showcase the changes made.

Additional Notes

Add any additional notes or context about the pull request here.


Please refer to the CONTRIBUTING.md file for more information on how to contribute to this project.

@snguyen64 snguyen64 marked this pull request as ready for review August 26, 2024 19:47
@snguyen64 snguyen64 requested a review from a team as a code owner August 26, 2024 19:47
promAddress := fmt.Sprintf("http://localhost:%s/metrics", v.PortForwardedHubblePort)

metric := map[string]string{
directionKey: v.Direction, reasonKey: PolicyDenied,
Copy link
Contributor

Choose a reason for hiding this comment

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

should this be v.Reason instead

Copy link
Contributor

Choose a reason for hiding this comment

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

sicne this is advanced, we want to check the full metric presence, including source or destination

Copy link
Contributor Author

Choose a reason for hiding this comment

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

hubble dataplane has bug with enrichement so source and destination will be empty unless we change the flow egress context in values.yaml from pod to IP. This will not fix the underlying issue though, so we should probably wait until that is fixed and then update the e2e tests.

@@ -0,0 +1,3 @@
enabledPlugin_linux: '["dns", "ciliumeventobserver"]'
Copy link
Member

Choose a reason for hiding this comment

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

for non go code, would it be possible to add a go-esque registry using embed fs that we can determine if these files exist at runtime? check this out:

https://github.com/Azure/azure-container-networking/blob/master/test/e2e/manifests/manifests_test.go

that way we know values.yaml exists in the path we expect, and less prone for e2e's failing 20 minutes in because a yaml/manifest is missing or in a wrong directory

Copy link
Contributor

Choose a reason for hiding this comment

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

Looks like this will run sequentially, can we make it run in parallel, preferably in another gh workflow stage so we can see output separately for both clusters.

You might want to add anoher one of this

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.

3 participants