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

Support DualStack(IPv4+IPv6) #848

Open
wants to merge 57 commits into
base: master
Choose a base branch
from

Conversation

mohamed-rafraf
Copy link

@mohamed-rafraf mohamed-rafraf commented Sep 16, 2024

How to categorize this PR?

/area networking
/kind api-change
/platform gcp

What this PR does / why we need it:
This PR introduces DualStack support for infrastructure objects. A new field DualStack { enabled: bool} has been added. When enabled, the controller will create a VPC and Subnet in GCP with IPv6 access type set to external, supporting both external and internal IPv6 communication.

The controller can provision dual-stack infrastructure using the InfraFlow approach (via GCP SDK).

apiVersion: extensions.gardener.cloud/v1alpha1
kind: Infrastructure
metadata:
  name: gcp-infra
  namespace: shoot--med--gcp
    annotations:
      provider.extensions.gardener.cloud/use-flow: "true"
spec:
  type: gcp
  region: europe-west1
  secretRef:
    namespace: shoot--med--gcp
    name: core-gcp
  providerConfig:
    apiVersion: gcp.provider.extensions.gardener.cloud/v1alpha1
    kind: InfrastructureConfig
    networks:
      dualStack: 
        enabled: true
      workers: 10.250.0.0/16

Which issue(s) this PR fixes:
Fixes #829

Special notes for your reviewer:

Release note:

NONE

@mohamed-rafraf mohamed-rafraf requested review from a team as code owners September 16, 2024 13:32
@gardener-robot gardener-robot added the needs/review Needs review label Sep 16, 2024
@CLAassistant
Copy link

CLAassistant commented Sep 16, 2024

CLA assistant check
All committers have signed the CLA.

@gardener-robot gardener-robot added kind/api-change API change with impact on API users needs/second-opinion Needs second review by someone else area/networking Networking related platform/gcp Google cloud platform/infrastructure labels Sep 16, 2024
@gardener-robot
Copy link

@mohamed-rafraf Thank you for your contribution.

@gardener-robot gardener-robot added the size/m Size of pull request is medium (see gardener-robot robot/bots/size.py) label Sep 16, 2024
@gardener-robot-ci-2
Copy link
Contributor

Thank you @mohamed-rafraf for your contribution. Before I can start building your PR, a member of the organization must set the required label(s) {'reviewed/ok-to-test'}. Once started, you can check the build status in the PR checks section below.

@ScheererJ
Copy link
Member

Please remove the ULA part from the PR description and sign the contributors agreement.

After internal discussion, we would like the machine-controller-manager change (if required) in this PR as well. This pull should provide dual-stack VPC/subnet and enable VMs to also have IPv6 addresses if necessary.

@ScheererJ
Copy link
Member

/ok-to-test

@gardener-robot gardener-robot added the reviewed/ok-to-test Has approval for testing (check PR in detail before setting this label because PR is run on CI/CD) label Sep 19, 2024
@gardener-robot-ci-1 gardener-robot-ci-1 added needs/ok-to-test Needs approval for testing (check PR in detail before setting this label because PR is run on CI/CD) and removed reviewed/ok-to-test Has approval for testing (check PR in detail before setting this label because PR is run on CI/CD) labels Sep 19, 2024
@gardener-robot gardener-robot added size/l Size of pull request is large (see gardener-robot robot/bots/size.py) and removed size/m Size of pull request is medium (see gardener-robot robot/bots/size.py) labels Sep 20, 2024
@gardener-robot gardener-robot added the needs/rebase Needs git rebase label Oct 4, 2024
@gardener-robot
Copy link

@mohamed-rafraf You need rebase this pull request with latest master branch. Please check.

@ScheererJ ScheererJ mentioned this pull request Oct 10, 2024
55 tasks
@mohamed-rafraf mohamed-rafraf marked this pull request as draft October 18, 2024 10:32
@gardener-robot gardener-robot added size/xl Size of pull request is huge (see gardener-robot robot/bots/size.py) and removed size/l Size of pull request is large (see gardener-robot robot/bots/size.py) labels Nov 5, 2024
@mohamed-rafraf mohamed-rafraf changed the title Support DualStack(IPv4+IPv6) for Infrastructure Support DualStack(IPv4+IPv6) Nov 22, 2024
kron4eg and others added 28 commits December 13, 2024 10:54
see gardener#848

Signed-off-by: Artiom Diomin <artiom.diomin@sap.com>
Signed-off-by: Artiom Diomin <artiom.diomin@sap.com>
Signed-off-by: Artiom Diomin <artiom.diomin@sap.com>
Signed-off-by: Artiom Diomin <artiom.diomin@sap.com>
Signed-off-by: Artiom Diomin <artiom.diomin@sap.com>
Signed-off-by: Artiom Diomin <artiom.diomin@sap.com>
Signed-off-by: Artiom Diomin <artiom.diomin@sap.com>
Signed-off-by: Artiom Diomin <artiom.diomin@sap.com>
Signed-off-by: Artiom Diomin <artiom.diomin@sap.com>
Signed-off-by: Artiom Diomin <artiom.diomin@sap.com>
Signed-off-by: Artiom Diomin <artiom.diomin@sap.com>
Signed-off-by: Artiom Diomin <artiom.diomin@sap.com>
Signed-off-by: Artiom Diomin <artiom.diomin@sap.com>
Signed-off-by: Artiom Diomin <artiom.diomin@sap.com>
Signed-off-by: Artiom Diomin <artiom.diomin@sap.com>
* fix unit tests
Signed-off-by: Artiom Diomin <artiom.diomin@sap.com>
Signed-off-by: Artiom Diomin <artiom.diomin@sap.com>
Signed-off-by: Artiom Diomin <artiom.diomin@sap.com>
Signed-off-by: Artiom Diomin <artiom.diomin@sap.com>
Signed-off-by: Artiom Diomin <artiom.diomin@sap.com>
* Do subnet updates one field at a time

Signed-off-by: Artiom Diomin <artiom.diomin@sap.com>

* Delete kubernetes routes when we switch to dualstack

Signed-off-by: Artiom Diomin <artiom.diomin@sap.com>

* Scale CCM to zero if there are cloud routes

Signed-off-by: Artiom Diomin <artiom.diomin@sap.com>

---------

Signed-off-by: Artiom Diomin <artiom.diomin@sap.com>
Signed-off-by: Artiom Diomin <artiom.diomin@sap.com>
Signed-off-by: Artiom Diomin <artiom.diomin@sap.com>
Signed-off-by: Artiom Diomin <artiom.diomin@sap.com>
@kron4eg
Copy link

kron4eg commented Dec 13, 2024

I've rebased whole PR against current master.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/networking Networking related kind/api-change API change with impact on API users needs/changes Needs (more) changes needs/ok-to-test Needs approval for testing (check PR in detail before setting this label because PR is run on CI/CD) needs/rebase Needs git rebase needs/review Needs review needs/second-opinion Needs second review by someone else platform/gcp Google cloud platform/infrastructure size/xl Size of pull request is huge (see gardener-robot robot/bots/size.py)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Support IPv6