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

[Enhancement] Sail Operator dualStack support #372

Closed
6 tasks done
sridhargaddam opened this issue Sep 29, 2024 · 0 comments
Closed
6 tasks done

[Enhancement] Sail Operator dualStack support #372

sridhargaddam opened this issue Sep 29, 2024 · 0 comments
Assignees
Labels
enhancement New feature or request test-needed
Milestone

Comments

@sridhargaddam
Copy link
Contributor

sridhargaddam commented Sep 29, 2024

Epic Description

Add necessary support in the Sail Operator to deploy Istio in dualStack mode and validate both control plane and dataplane tests.

@sridhargaddam sridhargaddam self-assigned this Sep 29, 2024
sridhargaddam added a commit to sridhargaddam/sail-operator that referenced this issue Sep 29, 2024
This PR includes the necessary support
1. to deploy dualStack/IPv6 KIND clusters
2. to deploy the supported Istio versions in a dualStack mode

and verifies that Istiod is properly configured to support dualStack use-cases.

To run e2e dualStack tests, use the following command.
$ export IP_FAMILY=dual
$ make test.e2e.kind

Related to: istio-ecosystem#372
Signed-off-by: Sridhar Gaddam <sgaddam@redhat.com>
@sridhargaddam sridhargaddam added enhancement New feature or request and removed epic labels Sep 29, 2024
@sridhargaddam sridhargaddam changed the title [EPIC] Implement e2e dualStack tests [Enhancement] Implement e2e dualStack tests Sep 29, 2024
sridhargaddam added a commit to sridhargaddam/sail-operator that referenced this issue Sep 29, 2024
This PR includes the necessary support
1. to deploy dualStack/IPv6 KIND clusters
2. to deploy the supported Istio versions in a dualStack mode

and verifies that Istiod is properly configured to support dualStack use-cases.

To run e2e dualStack tests, use the following command.
$ export IP_FAMILY=dual
$ make test.e2e.kind

Related to: istio-ecosystem#372
Signed-off-by: Sridhar Gaddam <sgaddam@redhat.com>
istio-testing pushed a commit that referenced this issue Sep 30, 2024
* Implement e2e dualStack control plane tests

This PR includes the necessary support
1. to deploy dualStack/IPv6 KIND clusters
2. to deploy the supported Istio versions in a dualStack mode

and verifies that Istiod is properly configured to support dualStack use-cases.

To run e2e dualStack tests, use the following command.
$ export IP_FAMILY=dual
$ make test.e2e.kind

Related to: #372
Signed-off-by: Sridhar Gaddam <sgaddam@redhat.com>

* Modify the text used in Describe and other blocks

Signed-off-by: Sridhar Gaddam <sgaddam@redhat.com>

---------

Signed-off-by: Sridhar Gaddam <sgaddam@redhat.com>
@dgn dgn added this to the v0.2 milestone Oct 2, 2024
sridhargaddam added a commit to sridhargaddam/sail-operator that referenced this issue Oct 4, 2024
This PR validates the following use-cases

It spawns a
1. dualStack service in dual-stack namespace which listens on both IPv4 and IPv6 addresses
2. ipv4 only service in ipv4 namespace which listens only on IPv4 address
3. ipv6 only service in ipv6 namespace which listens only on IPv6 address

After spawning the above pods, it uses a sleep pod and tries to connect to all
the three services to verify that connectivity is successful for all the services.

To run the tests, use the following command.
$ export IP_FAMILY=dual
$ make test.e2e.kind

Related to: istio-ecosystem#372
Signed-off-by: Sridhar Gaddam <sgaddam@redhat.com>
sridhargaddam added a commit to sridhargaddam/sail-operator that referenced this issue Oct 7, 2024
This PR validates the following use-cases

It spawns a
1. dualStack service in dual-stack namespace which listens on both IPv4 and IPv6 addresses
2. ipv4 only service in ipv4 namespace which listens only on IPv4 address
3. ipv6 only service in ipv6 namespace which listens only on IPv6 address

After spawning the above pods, it uses a sleep pod and tries to connect to all
the three services to verify that connectivity is successful for all the services.

To run the tests, use the following command.
$ export IP_FAMILY=dual
$ make test.e2e.kind

Related to: istio-ecosystem#372
Signed-off-by: Sridhar Gaddam <sgaddam@redhat.com>
istio-testing pushed a commit that referenced this issue Oct 7, 2024
* Implement e2e dualStack data plane tests

This PR validates the following use-cases

It spawns a
1. dualStack service in dual-stack namespace which listens on both IPv4 and IPv6 addresses
2. ipv4 only service in ipv4 namespace which listens only on IPv4 address
3. ipv6 only service in ipv6 namespace which listens only on IPv6 address

After spawning the above pods, it uses a sleep pod and tries to connect to all
the three services to verify that connectivity is successful for all the services.

To run the tests, use the following command.
$ export IP_FAMILY=dual
$ make test.e2e.kind

Related to: #372
Signed-off-by: Sridhar Gaddam <sgaddam@redhat.com>

* Rename getPodURL and couple of minor changes

Signed-off-by: Sridhar Gaddam <sgaddam@redhat.com>

* Move checkPodsReady to e2e_utils file

Signed-off-by: Sridhar Gaddam <sgaddam@redhat.com>

---------

Signed-off-by: Sridhar Gaddam <sgaddam@redhat.com>
sridhargaddam added a commit to sridhargaddam/test-infra that referenced this issue Oct 8, 2024
This PR adds a new job to run Sail Operator e2e ds tests on a
dualStack Kind cluster.

Related to: istio-ecosystem/sail-operator#372
Signed-off-by: Sridhar Gaddam <sgaddam@redhat.com>
sridhargaddam added a commit to sridhargaddam/test-infra that referenced this issue Oct 8, 2024
This PR adds a new job to run Sail Operator e2e ds tests on a
dualStack Kind cluster.

Related to: istio-ecosystem/sail-operator#372
Signed-off-by: Sridhar Gaddam <sgaddam@redhat.com>
istio-testing pushed a commit to istio/test-infra that referenced this issue Oct 8, 2024
This PR adds a new job to run Sail Operator e2e ds tests on a
dualStack Kind cluster.

Related to: istio-ecosystem/sail-operator#372
Signed-off-by: Sridhar Gaddam <sgaddam@redhat.com>
sridhargaddam added a commit to sridhargaddam/sail-operator that referenced this issue Oct 10, 2024
Related to: istio-ecosystem#372
Signed-off-by: Sridhar Gaddam <sgaddam@redhat.com>
istio-testing pushed a commit that referenced this issue Oct 11, 2024
* Documentation for dual-stack support

Related to: #372
Signed-off-by: Sridhar Gaddam <sgaddam@redhat.com>

* Update TOC

Signed-off-by: Sridhar Gaddam <sgaddam@redhat.com>

* Minor updates to doc

Signed-off-by: Sridhar Gaddam <sgaddam@redhat.com>

* Fix alignment

Signed-off-by: Sridhar Gaddam <sgaddam@redhat.com>

---------

Signed-off-by: Sridhar Gaddam <sgaddam@redhat.com>
sridhargaddam added a commit to sridhargaddam/test-infra that referenced this issue Oct 11, 2024
This PR expands "ds" in the dualStack job to make it clear that
the job is trying to validate dualStack clusters.

Related to: istio-ecosystem/sail-operator#372
Signed-off-by: Sridhar Gaddam <sgaddam@redhat.com>
istio-testing pushed a commit to istio/test-infra that referenced this issue Oct 11, 2024
This PR expands "ds" in the dualStack job to make it clear that
the job is trying to validate dualStack clusters.

Related to: istio-ecosystem/sail-operator#372
Signed-off-by: Sridhar Gaddam <sgaddam@redhat.com>
sridhargaddam added a commit to sridhargaddam/sail-operator that referenced this issue Oct 16, 2024
Currently, the metrics-bind-address param hardcodes the
ipaddress to IPv4 loopback address and is also not compatible
with IPv6 only deployments. This PR updates it to listen
on both v4 and v6 addresses.

Related to: istio-ecosystem#372
Signed-off-by: Sridhar Gaddam <sgaddam@redhat.com>
sridhargaddam added a commit to sridhargaddam/sail-operator that referenced this issue Oct 17, 2024
Sail Operator uses `kube-rbac-proxy` to serve metrics securely.
It is configured to listen on `secure-listen-address` with an
`upstream` that points to the actual metrics server in the Sail
Operator listening on the loopback interface. Currently, the
`secure-listen-address` is configured with "0.0.0.0:8443" and this
PR updates it to ":8443" so that it can listen on both IPv4 and
IPv6 interfaces.

This PR also modifies the spec.ipFamilyPolicy of
sail-operator-metrics-service to PreferDualStack, so that it can
support all types of clusters.

Related to: istio-ecosystem#372
Signed-off-by: Sridhar Gaddam <sgaddam@redhat.com>
sridhargaddam added a commit to sridhargaddam/sail-operator that referenced this issue Oct 17, 2024
Sail Operator uses `kube-rbac-proxy` to serve metrics securely.
It is configured to listen on `secure-listen-address` with an
`upstream` that points to the actual metrics server in the Sail
Operator listening on the loopback interface. Currently, the
`secure-listen-address` is configured with "0.0.0.0:8443" and this
PR updates it to ":8443" so that it can listen on both IPv4 and
IPv6 interfaces.

This PR also modifies the spec.ipFamilyPolicy of
sail-operator-metrics-service to PreferDualStack, so that it can
support all types of clusters.

Related to: istio-ecosystem#372
Signed-off-by: Sridhar Gaddam <sgaddam@redhat.com>
@sridhargaddam sridhargaddam changed the title [Enhancement] Implement e2e dualStack tests [Enhancement] Sail Operator dualStack support Oct 17, 2024
istio-testing pushed a commit that referenced this issue Oct 17, 2024
Sail Operator uses `kube-rbac-proxy` to serve metrics securely.
It is configured to listen on `secure-listen-address` with an
`upstream` that points to the actual metrics server in the Sail
Operator listening on the loopback interface. Currently, the
`secure-listen-address` is configured with "0.0.0.0:8443" and this
PR updates it to ":8443" so that it can listen on both IPv4 and
IPv6 interfaces.

This PR also modifies the spec.ipFamilyPolicy of
sail-operator-metrics-service to PreferDualStack, so that it can
support all types of clusters.

Related to: #372
Signed-off-by: Sridhar Gaddam <sgaddam@redhat.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request test-needed
Projects
None yet
Development

No branches or pull requests

3 participants