Skip to content

Conversation

yushoyamaguchi
Copy link
Member

@yushoyamaguchi yushoyamaguchi commented Aug 22, 2024

Introduces Multicast connectivity test, working with netshoot container.
Using socat for IGMP and UDP communication test.
Receivers are running as Daemonset and a sender is running as a Deployment which has 1 replicaset.

Operation was confirmed on the kind and kubeadm clusters.

This if follow up of cilium/cilium-cli#2615 .

In addtion, this PR is related to cilium/cilium-cli#2620 .
I want to implement a test scenario using multicast-subcommand after this is merged.

In addition, I'd like to put this test into GitHub CI.

related part of this command output (when 3 nodes)
[=] [cilium-test-1] Test [multicast] [100/103]
  [.] Action [multicast/multicast/socat multicast]
  🐛 Executing command [timeout 1 socat STDIO UDP4-RECVFROM:6666,ip-add-membership=239.255.9.9:10.244.0.10]
.  [.] Action [multicast/multicast/socat multicast]
  🐛 Executing command [timeout 1 socat STDIO UDP4-RECVFROM:6666,ip-add-membership=239.255.9.9:10.244.2.142]
.  [.] Action [multicast/multicast/socat multicast]
  🐛 Executing command [timeout 1 socat STDIO UDP4-RECVFROM:6666,ip-add-membership=239.255.9.9:10.244.1.88]
.  🐛 Finalizing Test multicast
  🐛 Finalizing Test host-firewall-ingress
  🐛 Finalizing Test host-firewall-egress
  🐛 Finalizing Test check-log-errors

✅ [cilium-test-1] All 1 tests (3 actions) successful, 102 tests skipped, 0 scenarios skipped.

@yushoyamaguchi yushoyamaguchi requested a review from a team as a code owner August 22, 2024 14:17
@maintainer-s-little-helper maintainer-s-little-helper bot added the dont-merge/needs-release-note-label The author needs to describe the release impact of these changes. label Aug 22, 2024
@github-actions github-actions bot added cilium-cli This PR contains changes related with cilium-cli kind/community-contribution This was a contribution made by a community member. labels Aug 22, 2024
@yushoyamaguchi
Copy link
Member Author

yushoyamaguchi commented Aug 22, 2024

@christarazi @tommyp1ckles @ldelossa
The contents of this PR is the same as cilium/cilium-cli#2724 .

Due to my operational error, the contents of the previous PR commit were erased.
I'm sorry.

Some questions mentioned in previous PR were resolved at the last APAC Dev Meeting.
Thank you.

cc. @fujitatomoya

@yushoyamaguchi yushoyamaguchi force-pushed the cli/mcast-connectivity-test branch 3 times, most recently from 55f6ab0 to e2cc9d1 Compare August 23, 2024 03:20
@yushoyamaguchi
Copy link
Member Author

@christarazi @tommyp1ckles @ldelossa

I'm sorry for repeatedly mentioning.
Should I do something else for merging?
Currently, dont-merge/needs-release-note-label label is set.
Is this related?

@dylandreimerink dylandreimerink added the release-note/misc This PR makes changes that have no direct user impact. label Sep 10, 2024
@maintainer-s-little-helper maintainer-s-little-helper bot removed the dont-merge/needs-release-note-label The author needs to describe the release impact of these changes. label Sep 10, 2024
@dylandreimerink dylandreimerink added the dont-merge/needs-rebase This PR needs to be rebased because it has merge conflicts. label Sep 10, 2024
@yushoyamaguchi yushoyamaguchi force-pushed the cli/mcast-connectivity-test branch from e2cc9d1 to 624fd7f Compare September 12, 2024 02:33
@yushoyamaguchi yushoyamaguchi requested a review from a team as a code owner September 12, 2024 02:33
@dylandreimerink
Copy link
Member

/test

@yushoyamaguchi
Copy link
Member Author

yushoyamaguchi commented Sep 12, 2024

@dylandreimerink
Thank you for permitting the integrated test execution.

I've done git rebase

@yushoyamaguchi
Copy link
Member Author

@christarazi @asauber @dylandreimerink @tommyp1ckles @ldelossa

I'm sorry for mentioning.
Is it difficult to review the PR for merging?

@dylandreimerink dylandreimerink removed the dont-merge/needs-rebase This PR needs to be rebased because it has merge conflicts. label Sep 30, 2024
@dylandreimerink
Copy link
Member

I can't review it since I am not part of the codeowners for this PR, I am merely doing the admin like setting labels and triggering tests for which you need some privileges. I hope @christarazi and @asauber can find some time to review it, otherwise we can request alternative reviewers from the respective teams.

Copy link
Member

@asauber asauber left a comment

Choose a reason for hiding this comment

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

The implementation here looks fine to me. It's mostly in line with our other connectivity tests, in particular the BGP tests.

Would you be able to do some interactive testing and confirm that we can use the alpine/socat container image rather than the nicolaka/netshoot container for these tests?

$ docker save docker.io/nicolaka/netshoot:v0.13@sha256:a20c2531bf35436ed3766cd6cfe89d352b050ccc4d7005ce6400adf97503da1b -o netshoot.tar

$ docker save docker.io/alpine/socat:1.7.4.4@sha256:93efcf633c5489b170404df25e289f811cabeea728a5367f0c9b1560982edf14 -o alpinesocat.tar

$ ls -la
total 551860
drwxrwxr-x  2 ubuntu ubuntu      4096 Oct  7 16:50 .
drwxr-x--x 17 ubuntu ubuntu      4096 Oct  7 16:49 ..
-rw-------  1 ubuntu ubuntu   8908288 Oct  7 16:50 alpinesocat.tar
-rw-------  1 ubuntu ubuntu 556183552 Oct  7 16:49 netshoot.tar

The container image size for netshoot is 62x larger, which can significantly affect the speed of the test.

@yushoyamaguchi yushoyamaguchi force-pushed the cli/mcast-connectivity-test branch from 1138208 to e43509f Compare October 8, 2024 02:26
@yushoyamaguchi yushoyamaguchi force-pushed the cli/mcast-connectivity-test branch 2 times, most recently from 18ecaa4 to ccd74e7 Compare October 8, 2024 09:44
@yushoyamaguchi
Copy link
Member Author

yushoyamaguchi commented Oct 8, 2024

@asauber

Thank you so much for reviewing.

I've changed the timeout duration and container image.
Also, I've confirmed the test case is passed using changed code.

Screenshot from 2024-10-08 18-57-56

cc. @christarazi

@yushoyamaguchi yushoyamaguchi requested a review from asauber October 8, 2024 09:57
@yushoyamaguchi yushoyamaguchi force-pushed the cli/mcast-connectivity-test branch from ccd74e7 to 2a3aefb Compare October 8, 2024 10:02
@yushoyamaguchi
Copy link
Member Author

yushoyamaguchi commented Oct 9, 2024

@christarazi
I'm sorry for mentioning.
Could you review?
Maybe, your reviewing is required to merge.

Copy link
Member

@christarazi christarazi left a comment

Choose a reason for hiding this comment

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

Apologies for the delay.

This LGTM assuming that the multicast code only has a command-line level access to manipulate state. Ideally, moving forward the Cilium CLI connectivity tests are meant not to manipulate state of Cilium or run subsequent commands to retrieve state in the middle of the test, as it could be an additional source of flakes. For now, this is ok though.

@yushoyamaguchi yushoyamaguchi force-pushed the cli/mcast-connectivity-test branch 3 times, most recently from a74d391 to 88110c2 Compare October 10, 2024 09:09
Introduces Multicast connectivity test, working with netshoot container.
Using socat for IGMP and UDP communication test.
Receivers are running as Daemonset and a sender is running as a Deployment which has 1 replicaset.

Signed-off-by: Yusho Yamaguchi <yusho.yamaguchi@sony.com>
@yushoyamaguchi
Copy link
Member Author

@christarazi
Thank you for approval.

I understand that while I have separated the namespaces, it would be better to increase the level of isolation. However, at this point, I couldn't come up with a way to create a more isolated environment. I apologize

Could you allow the remaining tests?

@asauber
Copy link
Member

asauber commented Oct 10, 2024

/test

@yushoyamaguchi
Copy link
Member Author

yushoyamaguchi commented Oct 10, 2024

@asauber
Thank you.
It seems that the tests are still pending.
rebasing is required?

I'm sorry.
The tests have been done.
Thank you.

@maintainer-s-little-helper maintainer-s-little-helper bot added the ready-to-merge This PR has passed all tests and received consensus from code owners to merge. label Oct 10, 2024
@julianwiedmann julianwiedmann added the area/multicast Impacts the Multicast feature. label Oct 10, 2024
@julianwiedmann julianwiedmann added this pull request to the merge queue Oct 10, 2024
Merged via the queue into cilium:main with commit 88ebd10 Oct 10, 2024
62 checks passed
@yushoyamaguchi yushoyamaguchi deleted the cli/mcast-connectivity-test branch April 29, 2025 15:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/multicast Impacts the Multicast feature. cilium-cli This PR contains changes related with cilium-cli kind/community-contribution This was a contribution made by a community member. ready-to-merge This PR has passed all tests and received consensus from code owners to merge. release-note/misc This PR makes changes that have no direct user impact.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants