-
Notifications
You must be signed in to change notification settings - Fork 7.6k
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
Dual stack intra-mesh integ tests #38892
base: master
Are you sure you want to change the base?
Conversation
Skipping CI for Draft Pull Request. |
* Echo pods communicate directly * IPv4 and IPv6 single stack pods should not be able to communicate
1abd1c2
to
5b6728c
Compare
Step for #37533 |
@@ -302,6 +307,39 @@ func (s *suiteImpl) RequireMaxVersion(minorVersion uint) Suite { | |||
return s | |||
} | |||
|
|||
func (s *suiteImpl) RequireDualStackCluster() Suite { | |||
fn := func(ctx resource.Context) error { | |||
for _, c := range ctx.Clusters().Kube() { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
super nit: can do this in the Environment setup as we create kube clusters or cache this value on the Cluster
struct somehow, just to avoid adding warmup time to each suite, even though it's probably very minimal.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'll look into simplifying it. Thanks for the recommendation!
{Name: "dual-ipv6", Service: "echo-dual-ipv6", IPFamily: "IPv6, IPv4", IPFamilyPolicy: "RequireDualStack"}, | ||
} | ||
|
||
var EchoPorts = []echo.Port{ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we re-use (a portion) of common echo deployments from other suites?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'll do that here. We did have our own version for other tests that we haven't upstreamed yet but for this case it makes sense to delay adding this.
skip bool | ||
} | ||
|
||
func (c TrafficTestCase) Run(ctx framework.TestContext, namespace string) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For the most part, I think tests/integration/pilot/common/
can support this. If there is a reason we re-implement it here, can you add a comment explaining why?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For the most part it's the same. We do want to verify proxies are not sending http requests at the same time which is why I have a similar function: https://github.com/istio/istio/pull/38892/files#diff-8d1061ab02227bf02916079cac53e632843d46dcd82ce42a24e7ef20eeec6f89R75
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should this be on the IPv6 experimental branch? Or on master?
Yep, I'll move it over to experimental-dual-stack |
@Kmoneal: PR needs rebase. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
@Kmoneal: The following tests failed, say
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here. |
Please provide a description of this PR:
Integration tests to validate dual-stack intra-mesh communication. Mainly focusing on IPv4 to IPv6 and IPv6 to IPv4 traffic. These two tests are skipped for now but should not be in the future.