From 1e9fc8e6d5d42c67f3c85f8c35dd14b3a5d4ea79 Mon Sep 17 00:00:00 2001 From: ederst Date: Fri, 24 Mar 2023 11:34:22 +0100 Subject: [PATCH 1/2] OpenStack: Add OCCM address sort order config This will add the OCCM config to specify an address sort order: * https://github.com/kubernetes/cloud-provider-openstack/pull/1946 --- pkg/apis/kops/componentconfig.go | 1 + pkg/apis/kops/v1alpha2/componentconfig.go | 1 + pkg/apis/kops/v1alpha3/componentconfig.go | 1 + upup/pkg/fi/cloudup/openstack/cloud.go | 3 +++ 4 files changed, 6 insertions(+) diff --git a/pkg/apis/kops/componentconfig.go b/pkg/apis/kops/componentconfig.go index 434398265e..cfd2184ceb 100644 --- a/pkg/apis/kops/componentconfig.go +++ b/pkg/apis/kops/componentconfig.go @@ -817,6 +817,7 @@ type OpenstackNetwork struct { IPv6SupportDisabled *bool `json:"ipv6SupportDisabled,omitempty"` PublicNetworkNames []*string `json:"publicNetworkNames,omitempty"` InternalNetworkNames []*string `json:"internalNetworkNames,omitempty"` + AddressSortOrder *string `json:"addressSortOrder,omitempty"` } // OpenstackMetadata defines config for metadata service related settings diff --git a/pkg/apis/kops/v1alpha2/componentconfig.go b/pkg/apis/kops/v1alpha2/componentconfig.go index 64df6a6d81..24c4d09d45 100644 --- a/pkg/apis/kops/v1alpha2/componentconfig.go +++ b/pkg/apis/kops/v1alpha2/componentconfig.go @@ -823,6 +823,7 @@ type OpenstackNetwork struct { IPv6SupportDisabled *bool `json:"ipv6SupportDisabled,omitempty"` PublicNetworkNames []*string `json:"publicNetworkNames,omitempty"` InternalNetworkNames []*string `json:"internalNetworkNames,omitempty"` + AddressSortOrder *string `json:"addressSortOrder,omitempty"` } // OpenstackMetadata defines config for metadata service related settings diff --git a/pkg/apis/kops/v1alpha3/componentconfig.go b/pkg/apis/kops/v1alpha3/componentconfig.go index 5b44f3ff13..13979c4be3 100644 --- a/pkg/apis/kops/v1alpha3/componentconfig.go +++ b/pkg/apis/kops/v1alpha3/componentconfig.go @@ -814,6 +814,7 @@ type OpenstackNetwork struct { IPv6SupportDisabled *bool `json:"ipv6SupportDisabled,omitempty"` PublicNetworkNames []*string `json:"publicNetworkNames,omitempty"` InternalNetworkNames []*string `json:"internalNetworkNames,omitempty"` + AddressSortOrder *string `json:"addressSortOrder,omitempty"` } // OpenstackMetadata defines config for metadata service related settings diff --git a/upup/pkg/fi/cloudup/openstack/cloud.go b/upup/pkg/fi/cloudup/openstack/cloud.go index 910c87b27b..97fdde182f 100644 --- a/upup/pkg/fi/cloudup/openstack/cloud.go +++ b/upup/pkg/fi/cloudup/openstack/cloud.go @@ -906,6 +906,9 @@ func MakeCloudConfig(spec kops.ClusterSpec) []string { for _, name := range networking.InternalNetworkNames { networkingLines = append(networkingLines, fmt.Sprintf("internal-network-name=%s", fi.ValueOf(name))) } + if networking.AddressSortOrder != nil { + networkingLines = append(networkingLines, fmt.Sprintf("address-sort-order=%s", fi.ValueOf(networking.AddressSortOrder))) + } if len(networkingLines) > 0 { lines = append(lines, "[Networking]") From a0c8bb600a4f3daaf4382e125d902fb30bc7eeae Mon Sep 17 00:00:00 2001 From: ederst Date: Fri, 24 Mar 2023 11:34:34 +0100 Subject: [PATCH 2/2] Run make apimachinery and crds --- k8s/crds/kops.k8s.io_clusters.yaml | 2 ++ pkg/apis/kops/v1alpha2/zz_generated.conversion.go | 2 ++ pkg/apis/kops/v1alpha2/zz_generated.deepcopy.go | 5 +++++ pkg/apis/kops/v1alpha3/zz_generated.conversion.go | 2 ++ pkg/apis/kops/v1alpha3/zz_generated.deepcopy.go | 5 +++++ pkg/apis/kops/zz_generated.deepcopy.go | 5 +++++ 6 files changed, 21 insertions(+) diff --git a/k8s/crds/kops.k8s.io_clusters.yaml b/k8s/crds/kops.k8s.io_clusters.yaml index 183eded27b..484a1ef1ad 100644 --- a/k8s/crds/kops.k8s.io_clusters.yaml +++ b/k8s/crds/kops.k8s.io_clusters.yaml @@ -498,6 +498,8 @@ spec: network: description: OpenstackNetwork defines the config for a network properties: + addressSortOrder: + type: string availabilityZoneHints: items: type: string diff --git a/pkg/apis/kops/v1alpha2/zz_generated.conversion.go b/pkg/apis/kops/v1alpha2/zz_generated.conversion.go index fbc86a56c2..629f37cafd 100644 --- a/pkg/apis/kops/v1alpha2/zz_generated.conversion.go +++ b/pkg/apis/kops/v1alpha2/zz_generated.conversion.go @@ -6537,6 +6537,7 @@ func autoConvert_v1alpha2_OpenstackNetwork_To_kops_OpenstackNetwork(in *Openstac out.IPv6SupportDisabled = in.IPv6SupportDisabled out.PublicNetworkNames = in.PublicNetworkNames out.InternalNetworkNames = in.InternalNetworkNames + out.AddressSortOrder = in.AddressSortOrder return nil } @@ -6550,6 +6551,7 @@ func autoConvert_kops_OpenstackNetwork_To_v1alpha2_OpenstackNetwork(in *kops.Ope out.IPv6SupportDisabled = in.IPv6SupportDisabled out.PublicNetworkNames = in.PublicNetworkNames out.InternalNetworkNames = in.InternalNetworkNames + out.AddressSortOrder = in.AddressSortOrder return nil } diff --git a/pkg/apis/kops/v1alpha2/zz_generated.deepcopy.go b/pkg/apis/kops/v1alpha2/zz_generated.deepcopy.go index 1016503c00..f7143ace82 100644 --- a/pkg/apis/kops/v1alpha2/zz_generated.deepcopy.go +++ b/pkg/apis/kops/v1alpha2/zz_generated.deepcopy.go @@ -4887,6 +4887,11 @@ func (in *OpenstackNetwork) DeepCopyInto(out *OpenstackNetwork) { } } } + if in.AddressSortOrder != nil { + in, out := &in.AddressSortOrder, &out.AddressSortOrder + *out = new(string) + **out = **in + } return } diff --git a/pkg/apis/kops/v1alpha3/zz_generated.conversion.go b/pkg/apis/kops/v1alpha3/zz_generated.conversion.go index f7775ad1c8..67f51fe8de 100644 --- a/pkg/apis/kops/v1alpha3/zz_generated.conversion.go +++ b/pkg/apis/kops/v1alpha3/zz_generated.conversion.go @@ -6786,6 +6786,7 @@ func autoConvert_v1alpha3_OpenstackNetwork_To_kops_OpenstackNetwork(in *Openstac out.IPv6SupportDisabled = in.IPv6SupportDisabled out.PublicNetworkNames = in.PublicNetworkNames out.InternalNetworkNames = in.InternalNetworkNames + out.AddressSortOrder = in.AddressSortOrder return nil } @@ -6799,6 +6800,7 @@ func autoConvert_kops_OpenstackNetwork_To_v1alpha3_OpenstackNetwork(in *kops.Ope out.IPv6SupportDisabled = in.IPv6SupportDisabled out.PublicNetworkNames = in.PublicNetworkNames out.InternalNetworkNames = in.InternalNetworkNames + out.AddressSortOrder = in.AddressSortOrder return nil } diff --git a/pkg/apis/kops/v1alpha3/zz_generated.deepcopy.go b/pkg/apis/kops/v1alpha3/zz_generated.deepcopy.go index 62b8aeea31..2dc8a0f2af 100644 --- a/pkg/apis/kops/v1alpha3/zz_generated.deepcopy.go +++ b/pkg/apis/kops/v1alpha3/zz_generated.deepcopy.go @@ -4808,6 +4808,11 @@ func (in *OpenstackNetwork) DeepCopyInto(out *OpenstackNetwork) { } } } + if in.AddressSortOrder != nil { + in, out := &in.AddressSortOrder, &out.AddressSortOrder + *out = new(string) + **out = **in + } return } diff --git a/pkg/apis/kops/zz_generated.deepcopy.go b/pkg/apis/kops/zz_generated.deepcopy.go index da0a25a5e6..dbeacd373a 100644 --- a/pkg/apis/kops/zz_generated.deepcopy.go +++ b/pkg/apis/kops/zz_generated.deepcopy.go @@ -5083,6 +5083,11 @@ func (in *OpenstackNetwork) DeepCopyInto(out *OpenstackNetwork) { } } } + if in.AddressSortOrder != nil { + in, out := &in.AddressSortOrder, &out.AddressSortOrder + *out = new(string) + **out = **in + } return }