From 8ffd9e58a53b08cce3c5a991a549b06d1b91e97d Mon Sep 17 00:00:00 2001 From: ederst Date: Fri, 10 Mar 2023 19:07:11 +0100 Subject: [PATCH 1/3] Upload all binaries when releasing --- .github/workflows/main.yml | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index ff87f0069e974..ca014b148bd75 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -62,12 +62,12 @@ jobs: run: | make all examples test - - name: Upload Linux binary + - name: Upload Linux binaries if: startsWith(github.ref, 'refs/tags/') uses: actions/upload-artifact@v2 with: name: kops-linux-amd64 - path: ${{ env.GOPATH }}/src/k8s.io/kops/.build/dist/linux/amd64/kops + path: ${{ env.GOPATH }}/src/k8s.io/kops/.build/dist/linux/amd64/* if-no-files-found: error retention-days: 1 @@ -97,7 +97,7 @@ jobs: run: | make kops examples test - - name: Upload macos binary + - name: Upload kops MacOS binary if: startsWith(github.ref, 'refs/tags/') uses: actions/upload-artifact@v2 with: @@ -136,18 +136,24 @@ jobs: - build-macos-amd64 - verify steps: - - name: Download all kops binary artifacts + - name: Download all binary artifacts uses: actions/download-artifact@v2 - name: Rename kops binary artifacts run: | - mv kops-linux-amd64/kops kops-linux-amd64/kops-linux-amd64 mv kops-darwin-amd64/kops kops-darwin-amd64/kops-darwin-amd64 + mv kops-linux-amd64/kops kops-linux-amd64/kops-linux-amd64 + mv kops-linux-amd64/channels kops-linux-amd64/channels-linux-amd64 + mv kops-linux-amd64/protokube kops-linux-amd64/protokube-linux-amd64 + mv kops-linux-amd64/nodeup kops-linux-amd64/nodeup-linux-amd64 - name: Release uses: softprops/action-gh-release@v1 with: fail_on_unmatched_files: true files: | - kops-linux-amd64/kops-linux-amd64 kops-darwin-amd64/kops-darwin-amd64 + kops-linux-amd64/kops-linux-amd64 + kops-linux-amd64/channels-linux-amd64 + kops-linux-amd64/protokube-linux-amd64 + kops-linux-amd64/nodeup-linux-amd64 From 19ea4511d2c38beddf2ed5b00530b366330798f5 Mon Sep 17 00:00:00 2001 From: ederst Date: Mon, 11 Jul 2022 16:28:54 +0200 Subject: [PATCH 2/3] WIP: Configure IPv6 for Calico --- .../k8s-1.22.yaml.template | 8 +++++--- .../k8s-1.25.yaml.template | 10 ++++++---- upup/pkg/fi/cloudup/template_functions.go | 7 +++++++ 3 files changed, 18 insertions(+), 7 deletions(-) diff --git a/upup/models/cloudup/resources/addons/networking.projectcalico.org/k8s-1.22.yaml.template b/upup/models/cloudup/resources/addons/networking.projectcalico.org/k8s-1.22.yaml.template index 54ae10ef94390..07a5a4a1d00b8 100644 --- a/upup/models/cloudup/resources/addons/networking.projectcalico.org/k8s-1.22.yaml.template +++ b/upup/models/cloudup/resources/addons/networking.projectcalico.org/k8s-1.22.yaml.template @@ -49,7 +49,7 @@ data: "mtu": __CNI_MTU__, "ipam": { "assign_ipv4": "{{ not IsIPv6Only }}", - "assign_ipv6": "{{ IsIPv6Only }}", + "assign_ipv6": "{{ CalicoUseIPv6 }}", {{- if IsIPv6Only }} "type": "host-local", "ranges": [[{ "subnet": "usePodCidrIPv6" }]] @@ -4633,7 +4633,7 @@ spec: - name: IP value: "{{- if not IsIPv6Only -}}autodetect{{- else -}}none{{- end -}}" - name: IP6 - value: "{{- if IsIPv6Only -}}autodetect{{- else -}}none{{- end -}}" + value: "{{- if CalicoUseIPv6 -}}autodetect{{- else -}}none{{- end -}}" {{- if IsIPv6Only }} - name: IP_AUTODETECTION_METHOD value: "{{- or .Networking.Calico.IPv4AutoDetectionMethod "none" }}" @@ -4680,6 +4680,8 @@ spec: {{- else }} - name: CALICO_IPV4POOL_CIDR value: "{{ .KubeControllerManager.ClusterCIDR }}" + - name: CALICO_IPV6POOL_NAT_OUTGOING + value: "{{- CalicoUseIPv6 }}" {{- end }} # Disable file logging so `kubectl logs` works. - name: CALICO_DISABLE_FILE_LOGGING @@ -4689,7 +4691,7 @@ spec: value: "ACCEPT" # Set IPv6 on Kubernetes. - name: FELIX_IPV6SUPPORT - value: "{{ IsIPv6Only }}" + value: "{{ CalicoUseIPv6 }}" - name: FELIX_HEALTHENABLED value: "true" diff --git a/upup/models/cloudup/resources/addons/networking.projectcalico.org/k8s-1.25.yaml.template b/upup/models/cloudup/resources/addons/networking.projectcalico.org/k8s-1.25.yaml.template index a446c6c9d3c94..8e795f582c478 100644 --- a/upup/models/cloudup/resources/addons/networking.projectcalico.org/k8s-1.25.yaml.template +++ b/upup/models/cloudup/resources/addons/networking.projectcalico.org/k8s-1.25.yaml.template @@ -95,7 +95,7 @@ data: "mtu": __CNI_MTU__, "ipam": { "assign_ipv4": "{{ not IsIPv6Only }}", - "assign_ipv6": "{{ IsIPv6Only }}", + "assign_ipv6": "{{ CalicoUseIPv6 }}", {{- if IsIPv6Only }} "type": "host-local", "ranges": [[{ "subnet": "usePodCidrIPv6" }]] @@ -4273,7 +4273,7 @@ rules: resources: - endpointslices verbs: - - watch + - watch - list - apiGroups: [""] resources: @@ -4650,7 +4650,7 @@ spec: - name: IP value: "{{- if not IsIPv6Only -}}autodetect{{- else -}}none{{- end -}}" - name: IP6 - value: "{{- if IsIPv6Only -}}autodetect{{- else -}}none{{- end -}}" + value: "{{- if CalicoUseIPv6 -}}autodetect{{- else -}}none{{- end -}}" {{- if IsIPv6Only }} - name: IP_AUTODETECTION_METHOD value: "{{- or .Networking.Calico.IPv4AutoDetectionMethod "none" }}" @@ -4697,6 +4697,8 @@ spec: {{- else }} - name: CALICO_IPV4POOL_CIDR value: "{{ .KubeControllerManager.ClusterCIDR }}" + - name: CALICO_IPV6POOL_NAT_OUTGOING + value: "{{- CalicoUseIPv6 }}" {{- end }} # Disable file logging so `kubectl logs` works. - name: CALICO_DISABLE_FILE_LOGGING @@ -4706,7 +4708,7 @@ spec: value: "ACCEPT" # Set IPv6 on Kubernetes. - name: FELIX_IPV6SUPPORT - value: "{{ IsIPv6Only }}" + value: "{{ CalicoUseIPv6 }}" - name: FELIX_HEALTHENABLED value: "true" diff --git a/upup/pkg/fi/cloudup/template_functions.go b/upup/pkg/fi/cloudup/template_functions.go index 8a0c147a5f9c6..79c0f61998ef6 100644 --- a/upup/pkg/fi/cloudup/template_functions.go +++ b/upup/pkg/fi/cloudup/template_functions.go @@ -296,6 +296,13 @@ func (tf *TemplateFunctions) AddTo(dest template.FuncMap, secretStore fi.SecretS } return "CrossSubnet" } + dest["CalicoUseIPv6"] = func() bool { + // TODO: + // In the templates this is done: + // value: "{{- or .Networking.Calico.IPv6AutoDetectionMethod "none" }}" + // But doc states that default is "first-found", so this might not work like expected (IPv6 always on) + return cluster.Spec.IsIPv6Only() || (c.IPv6AutoDetectionMethod != "" && c.IPv6AutoDetectionMethod != "none") + } } if cluster.Spec.Networking.Cilium != nil { From 22bcc780760e19617f1d8fabcc35214d027032db Mon Sep 17 00:00:00 2001 From: ederst Date: Tue, 17 Oct 2023 14:00:54 +0200 Subject: [PATCH 3/3] Run hack/update-expected.sh --- ...s3_object_privatecalico.example.com-addons-bootstrap_content | 2 +- ...ple.com-addons-networking.projectcalico.org-k8s-1.25_content | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/tests/integration/update_cluster/privatecalico/data/aws_s3_object_privatecalico.example.com-addons-bootstrap_content b/tests/integration/update_cluster/privatecalico/data/aws_s3_object_privatecalico.example.com-addons-bootstrap_content index 7fccd40eaf871..bc7a2271efe19 100644 --- a/tests/integration/update_cluster/privatecalico/data/aws_s3_object_privatecalico.example.com-addons-bootstrap_content +++ b/tests/integration/update_cluster/privatecalico/data/aws_s3_object_privatecalico.example.com-addons-bootstrap_content @@ -106,7 +106,7 @@ spec: version: 9.99.0 - id: k8s-1.25 manifest: networking.projectcalico.org/k8s-1.25.yaml - manifestHash: 36e27a220f36800fe4dba1c00904fc41b0a3398f553549235c8bbbd205b47205 + manifestHash: 7f657c7a2a50fb6327576c4a4f409d012dcda40845c1ec0d5db84403c897031f name: networking.projectcalico.org prune: kinds: diff --git a/tests/integration/update_cluster/privatecalico/data/aws_s3_object_privatecalico.example.com-addons-networking.projectcalico.org-k8s-1.25_content b/tests/integration/update_cluster/privatecalico/data/aws_s3_object_privatecalico.example.com-addons-networking.projectcalico.org-k8s-1.25_content index abba25df1a9d9..be5e21620584c 100644 --- a/tests/integration/update_cluster/privatecalico/data/aws_s3_object_privatecalico.example.com-addons-networking.projectcalico.org-k8s-1.25_content +++ b/tests/integration/update_cluster/privatecalico/data/aws_s3_object_privatecalico.example.com-addons-networking.projectcalico.org-k8s-1.25_content @@ -4583,6 +4583,8 @@ spec: name: calico-config - name: CALICO_IPV4POOL_CIDR value: 100.96.0.0/11 + - name: CALICO_IPV6POOL_NAT_OUTGOING + value: "false" - name: CALICO_DISABLE_FILE_LOGGING value: "true" - name: FELIX_DEFAULTENDPOINTTOHOSTACTION