From 0569497964131b947c96e1ae5e4b43a011052b86 Mon Sep 17 00:00:00 2001 From: ushabelgur Date: Thu, 29 Aug 2024 18:37:41 +0530 Subject: [PATCH] update gardner deps to version to 1.99.1 --- .github/workflows/test.yml | 3 ++ ...nsions.gardener.cloud_infrastructures.yaml | 20 ++++++++++ ...gardener.cloud_operatingsystemconfigs.yaml | 35 ----------------- ...crd-extensions.gardener.cloud_workers.yaml | 38 ++++++++++++++++++- example/controller-registration.yaml | 7 ++-- go.mod | 5 ++- go.sum | 10 +++-- pkg/admission/validator/secretbinding.go | 3 +- pkg/admission/validator/shoot.go | 3 +- pkg/controller/controlplane/valuesprovider.go | 3 +- .../worker/machine_controller_manager.go | 4 +- pkg/controller/worker/machines.go | 2 +- pkg/controller/worker/machines_test.go | 5 ++- pkg/webhook/controlplane/ensurer.go | 2 +- pkg/webhook/controlplane/ensurer_test.go | 37 +++++++++++------- 15 files changed, 106 insertions(+), 71 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 0df42e3..8cb9e38 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -1,6 +1,9 @@ name: Pull Request Code test on: + push: + branches: + - enh/update-gardener-199 pull_request: types: [ assigned, opened, synchronize, reopened ] paths-ignore: diff --git a/example/20-crd-extensions.gardener.cloud_infrastructures.yaml b/example/20-crd-extensions.gardener.cloud_infrastructures.yaml index 9a72633..aaa94c1 100644 --- a/example/20-crd-extensions.gardener.cloud_infrastructures.yaml +++ b/example/20-crd-extensions.gardener.cloud_infrastructures.yaml @@ -207,6 +207,26 @@ spec: - state - type type: object + networking: + description: Networking contains information about cluster networking + such as CIDRs. + properties: + nodes: + description: Nodes are the CIDRs of the node network. + items: + type: string + type: array + pods: + description: Pods are the CIDRs of the pod network. + items: + type: string + type: array + services: + description: Services are the CIDRs of the service network. + items: + type: string + type: array + type: object nodesCIDR: description: |- NodesCIDR is the CIDR of the node network that was optionally created by the acting extension controller. diff --git a/example/20-crd-extensions.gardener.cloud_operatingsystemconfigs.yaml b/example/20-crd-extensions.gardener.cloud_operatingsystemconfigs.yaml index 1a5543b..44723df 100644 --- a/example/20-crd-extensions.gardener.cloud_operatingsystemconfigs.yaml +++ b/example/20-crd-extensions.gardener.cloud_operatingsystemconfigs.yaml @@ -160,15 +160,6 @@ spec: gardener-node-agent already running on a bootstrapped VM. This field is immutable. type: string - reloadConfigFilePath: - description: |- - ReloadConfigFilePath is the path to the generated operating system configuration. If set, controllers - are asked to use it when determining the .status.command of this resource. For example, if for CoreOS - the reload-path might be "/var/lib/config"; then the controller shall set .status.command to - "/usr/bin/coreos-cloudinit --from-file=/var/lib/config". - Deprecated: This field is deprecated and has no further usage. - TODO(rfranzke): Remove this field after v1.95 got released. - type: string type: description: Type contains the instance of the resource's kind. type: string @@ -250,14 +241,6 @@ spec: required: - secretRef type: object - command: - description: |- - Command is the command whose execution renews/reloads the cloud config on an existing VM, e.g. - "/usr/bin/reload-cloud-config -from-file=". The is optionally provided by Gardener - in the .spec.reloadConfigFilePath field. - Deprecated: This field is deprecated and has no further usage. - TODO(rfranzke): Remove this field after v1.95 got released. - type: string conditions: description: Conditions represents the latest available observations of a Seed's current state. @@ -428,15 +411,6 @@ spec: - name type: object type: array - files: - description: |- - Files is a list of file paths that are part of the generated Cloud Config and shall be - written to the host's file system. - Deprecated: This field is deprecated and has no further usage. - TODO(rfranzke): Remove this field after v1.95 got released. - items: - type: string - type: array lastError: description: LastError holds information about the last occurred error during an operation. @@ -540,15 +514,6 @@ spec: what ever data it needs. type: object x-kubernetes-preserve-unknown-fields: true - units: - description: |- - Units is a list of systemd unit names that are part of the generated Cloud Config and shall be - restarted when a new version has been downloaded. - Deprecated: This field is deprecated and has no further usage. - TODO(rfranzke): Remove this field after v1.95 got released. - items: - type: string - type: array type: object required: - spec diff --git a/example/20-crd-extensions.gardener.cloud_workers.yaml b/example/20-crd-extensions.gardener.cloud_workers.yaml index dd0f1e1..eaa964b 100644 --- a/example/20-crd-extensions.gardener.cloud_workers.yaml +++ b/example/20-crd-extensions.gardener.cloud_workers.yaml @@ -220,6 +220,11 @@ spec: name: description: Name is the name of this worker pool. type: string + nodeAgentSecretName: + description: |- + NodeAgentSecretName is uniquely identifying selected aspects of the OperatingSystemConfig. If it changes, then the + worker pool must be rolled. + type: string nodeTemplate: description: NodeTemplate contains resource information of the machine which is used by Cluster Autoscaler to generate nodeTemplate @@ -279,8 +284,40 @@ spec: description: |- UserData is a base64-encoded string that contains the data that is sent to the provider's APIs when a new machine/VM that is part of this worker pool shall be spawned. + Either this or UserDataSecretRef must be provided. + Deprecated: This field will be removed in future release. + TODO(rfranzke): Remove this field after v1.100 has been released. format: byte type: string + userDataSecretRef: + description: |- + UserDataSecretRef references a Secret and a data key containing the data that is sent to the provider's APIs when + a new machine/VM that is part of this worker pool shall be spawned. + Either this or UserData must be provided. + properties: + key: + description: The key of the secret to select from. Must + be a valid secret key. + type: string + name: + default: "" + description: |- + Name of the referent. + This field is effectively required, but due to backwards compatibility is + allowed to be empty. Instances of this type with an empty value here are + almost certainly wrong. + TODO: Add other useful fields. apiVersion, kind, uid? + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. + type: string + optional: + description: Specify whether the Secret or its key must + be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic volume: description: Volume contains information about the root disks that should be used for this worker pool. @@ -314,7 +351,6 @@ spec: - maximum - minimum - name - - userData type: object type: array providerConfig: diff --git a/example/controller-registration.yaml b/example/controller-registration.yaml index 0791f14..7118cda 100644 --- a/example/controller-registration.yaml +++ b/example/controller-registration.yaml @@ -1,11 +1,10 @@ --- -apiVersion: core.gardener.cloud/v1beta1 +apiVersion: core.gardener.cloud/v1 kind: ControllerDeployment metadata: name: provider-metal -type: helm -providerConfig: - chart: H4sIAAAAAAAAA+0da3PbNrKf9SswTDtNeyX1tJzTTefOtZ3U0zw0tpveTdvzQCQkoaZIlg8natL/frsASIIPiaLjqu1VmHYsAlhgAewuFrsLZEFDh3ksNNnbmHkR9z0zCP077kDWisXU7X70wakH6fjoSPyFVP4rfveHo/7gaDAeY35/POyNPiJHH951c0qimIaEfBT6frytXlP5nzQtGtf/dEnD2FrTlXvfPnCBx6PRxvUfDEfF9R9AVu8j0nvIgW5Kf/H1pwF/zUJc9wm563doEGSfRt/qGR2HRXbIg1hknZCvmbsiNpIEmfshiZeMPFMkRAS9kKkiH5JRVMejKzYhjaTWuUu77lnQd+f3npu/Qmrmf8e3rYX/IX008f9x/6gk/49HveGB//eRul1yNT37t/mUu+zUD9YhXyzjayCGCQEpPCJXJ1NydU6A1aknPuh8zl1OY0ZsfxVQbw0FDrkIfe/UDzHTi0M+S2I/jDpp48+5DbTFzAsgtZjPOQtBlATUXjJzAHwO9Rb+ZIFkiO1GS2LaxJhR+PHxs5PLs/OX55c3X5+cfnNzdnHZTeuZoivfdYFSQ7bgUQy5QL8WgBVJmFjk48c2jYlldeG/1+eXVxevXn6mPtlbugpc1t3UHO585FQWTl3qsYls9MKbhxRqJXachGnmd354C6MTHwYOjEypfUsXTMlM5tGZyyJSGG8SBL6SpyqTewshWm0/DJkdkxw3UsCtE+it30dgNvN/zGB6AM/o3ppga/1v0Bv2Bgf9bx+pzfrfLJkbwBZtxUErXbBB/vf7w3Fp/QfjwdFB/u8jvXtnEofNuceIgWqaQcxff+00q2oIx0DwY+2O3ohLZ8yNLFAkrVu2ls2Jj2TGQo8BHVnc72JXhTY2NHFH3UTh9O4d4Z7tJk6GqUUU4BZEqrBlBLGVCdlQQ/UveqqOgntAPJ7NBLh1yVxGI2a9BORqMctQ4yuQ2RIzQrCEz8mSRtMQyt8SI1rSwdF4At2+xu6hK6xvxXRBMogg5F48J8Yn0b8+ico1Qxb4EYcteL2tCRgjq2twcu8GYbDauOHn703dh9SU2sh/0ELmfLGigSkW/w40Ez80fTi1vQl5zDbaCJr0/9F4WJL/x5h1kP97SEr6FLj6tVjYV+m6StlXMBPccs+ZoFIM9PCCBh2kFIfGdAKSQB7266V1PeEooAiU2RpRKrKlkJGCeVIjzrH595CJBwwywtopOqLH6KZIpRPyHhvZOupic/+vQu1+/O/6iwWcUXa0Cjbw/3A8KNv/RkfjwYH/95EeirEVRZiSRoocLWlM418CKaO3yEpp0LJdP3EUmSXyiDshquWMoefcjYE4NU0MAZCjsdnvn148vz6//FF8YBLaWCkFNIxYmFV5QWN7WaqiNf+5QEs3N6yoBwIj/FwwiLmxOOvgG7a+KeMBw8rKpwKfKgKwOJAPEmlaRPiSieybM5iSNO86TFjnN5uCFbWXoLpunoQtFf4i07CxqCRQ/5/mw4646YQcUNHGnbJFxP/QQ135Dp+vdx5qVhGEo8NRNGkVcXjiqHizwmZYRPBg9N8c/gc4SYY/WDDkH1BcxRRIJYTcx5uEh2n97Z83+P92GfO+dgXKwBH/LEP/xHHKM0FublIRfLNK3Bi0H4968Q13bm6IH6BB0g//keD8/8mmdwtTplP0uEl+vd+Zsx9qkve5/99L/2vpDW7Q/wbDccn/Mxj2h8cH/W8f6aH0v4w2ftPDnOwlO8IhW5mmKf7qAxGEa6V0bGmqpmqgpHHe9akbLGlfNJRNgWL2U10d7ZTOy6o92+WAK9T04BCJskuMEPAt5U+UhKC2zQLMB8Ti63XAIjFVIfs54SFziNHQvlVtgPAogzea8KuDVyiLSU5zW2KlQbZDRwfM8Pg5aDsrANGuXwTI+pslYRS37FHAtOtTghRNCtg9i20npY8I9gLYYCbZhmK7NIpepgxY6gIhLQViZTXzgQE4Bb7j8boZWlVM8auSuqg+o/ZtEshKJPb/gy7SLfUyZh6Xxl3fxZxRdKk+w00nHYWeN9ncawF0Y7e/t9D9A6U2+7/DAtdfr2BG2ykA2/f/fv94UNn/h0ejw/6/j6RvmzQIom6mBJxlq72zFrDj3i98YbrReeH5IYMjnZ+Edsry1PP8WOy5ymAUpuXl3VuCT4gRwwHQKIrVNkpGFDAbuwrZHccJ+ZqjVFw/5ysO20JPlAQut2lUEKMq89RPvFh2GsGg0ZYs8RZHlue74TFWDWB8B1us1cBBDeHe4tsAliDbElb07bcevaPcxYCSAkLFonwbgPyrJFxUKotMWS3ldYW5tuxCaykvCaYdHQjZTrRk9m2UrDRjsjyA1XoGCoT2WLgoycfWtcLS+gpIa0rjJTF28k0Zn4m5lu5VwEHHq7QZb0B1q/J7D2R3QgtmF0OsshVjccjtyJKhRFd2CCzsLXQgEOBQackS4aSOsEbOHvWVJFcbNW7sHOIR+q8pHF2JQgEnLPBxmNzTQpTMEDiBr9iGrjDWSXVVHNEUg6D0DitrotuPMcHZ/40f3qInoiQTYj/FwsxMSCDgXNd/w5zd4B2g8nYQQTIDSWCqOq2hQ36HYW07gW8UhtAQgJnRErarSBjJ8wkwYzswR6Nh3nKDOHqSTn0qGuVqch9Yan2aq6SZEhGtIxAh5t97vVSRhY65zU5sG8Xjy+17h2C6zHqT9mc2bTkyCbYv1lJhFtVq08R1pz6sVVEhliENQVZYEAb+agVcmNOeSbrNUTJ5ZVMJCXPOXfZlF7Tjbv2AlHDoakfdcjPIZwFGIpogvTHDTsIQ1ssMGX5AB9GXRT1fcWb2W0BbOeTV2rMjfbjY05JRN14KKdi+Iw14h37CeAaKu5kpD19usRvUAULb7I0JkgjIDfaSCNFztuEm4SwBd6HAriRUuRdeiPNsPxNF+KbJkMqMKQ2CSFH5pruxAwHyKoU4yQDKbb8RwantRyDhmjB/w2YgdG5TOm+5liVoJTdM3Cx0tFQ1aZOxVC21cTS1h/baxuZYWNeawyPcbDUTcGGyVHFuM8Kz50+wMxLjC2NTW6rvuoa+U0UbWimpXMXts9CXKjJnINBN6jiwbURfTjZuvdu0oVwibG5NltchkolKdcVDH3S2g6kyHZZ5d7rIlTvB8/OTs/PLm/Pn56fXF69e3rw8eXF+NT05Pc9qEiLcBU9B8Zhomeg8Zq5zyebFXJWP2tkk03qtjILvq+um+F68OHl2/hqQfXV58+r1+eV3lxfXFVwnpCuCuLVQlW5t7Mq2RXL5HcxkFE1Df8b0MS7jOHjG4uKwAzHerly1X4pFQklrXFpMEQh5HOXX19dTrYB7PObUPWMuXSvJOiH9XlYjZNThrXFFqPVeUD3q6B1EVSpMJYyUGlpzmQozLWO2i7gR6nLs2747Iden07KJLCyektO5VJl1lrEc4j3xlGLX79UYIDHd+W6yYi9QWasZchbckaYVVpRs06zSfCgbbYodq0OmwkpaPaShV54Luh+eiDazE9508dBoqlGCcwKHipNKAcnsv2cJnPsWV0BoToKn9guxOavs87fMTnQ/gBye0LyvCkYDbVRoPjh/G6CwLZ68U/Bbtt4Yv5xFOJegSOZyBPHkVQqFRKp0hZ3tECetA8R+4Lv+Yv0N4mgUo6eXfhQLIlEQkvYqen+JeOzUN6Vjt7NrKk3qJPvCdwBuNEjFUivK3I0u2+PbROdbcG9v325j/wXyBwUlTMRl0FniLNhuhuCm+N+j0aBk/4Ufh/sfe0mK4hcxeYyGnDqj5mekXw4BDsT5OLcVT33nLKOMrwRlPLTR+H623BozaZTMGsf6wTbcP42zqQ3/hzNq3+chgMb43+Oy/2fQ7x/u/+8lYfiEztlijWkSL/2Q/yIvmd4+Edt1Hh3iwpyx8NJ3WRsmb8O+YeKiImBiVMez0E8CoRWYm4OGOwUlGKvaEstIfmhmr5qcLtBAnMiCormmNk+vLm0jhd95MWzeM4UOSkSh6/FI/niDIkX8CrJfiXDxVIe9ydpbHbUMTHOy3CISxudGtXHb90M4ielrXW1XCORSazYo0kIxqYzqA/tI84X8l2VFmWRCVfwQMhqjcsQMVyVZZuirX4tN020Y4g+6Q8WPWbZAG7lDAjgrLpT0wh1tvULANQrWCjTL/qbZyfbIqPTZhcMIdfkvKRWC6giHN/EzYrBGcUbwUgtWtZTrRn7lnv3KdzeyqctUc8LcFukfVFr2I53ngK9YJQONRjA+mZ/XqBT95M/kD9A28x9dGSwMBJ7E4nq8OkoX7gqoPqFLf5XOnrhyyfNSNdNCgeE78YcK/7QiGgimq10dhGxuCijHx+ncts7QRgzaiAujTqvLld3euJwo1MrKTaopLGvuhSYL7JyziMbausjShZbGR/LDAaZEpvqgfeUrSRG/2fYCXSgjYDqJWzDsZDGB2sbXgA8omT+BbBJ7mAS+KnjCHkYnfoD9v43+p1i+tQrYdP9/PC7f/xqMh4fz315SbfyvotWHP8JVIkh2cWnPQ3+FvivXMdFNLqyx5NPv3xmpodSYGNenU+MLA8uMyW4G119//LQdBsKtzphjyoAKE8gGxaipfOkFxMp4FN0sX5Qxb4NLNtFmekRVnWpnVOi7ZGsrODWgV9mo0WoWYBMxhUTNes6dfDALHOOicvVmtyivPYZ1xSKeWcnwi2nhjL9bWJbmCDCrbocdXJNFy76ykAoyauUqeEj+v4f8Vyrf7ttAk/1v2Cuf/0eDXv8g//eRtsn/VFf5XS15qAQLz04RqWv/lgHKc+pG7A9uYvtDp1b8Ly8JiBsGbZTAJv4/HvXL8d/jw/3//SRl/2c/V8MxUNnJLlERQ75pV/YEpBdHyoe5K5kvggTrBUiLSyxt5EWbyHF5VjWB5rl3BxqMY8qjbKZ0CN3utfBLnr8NqCfHLNzGYmLwGwNLG4aj1UUUpaNTnXGlG6+hgQoENhPQEGYoVqGSUr0JQD2NnBbuhzb8fxfQe70D3HT+Gx6X3//pH48P9v+9pJLHG5dYBpY7JUY3qsYr4HZDsftrZbWa+s5JZrXa/fYodLuj8pBq8zV4p2yuB+8W86Q40OJzpBEwjzjIimSk8qeff9pJve4r7p3Ik57uyLeDZMONwSpGVt6EBXD1twabwQoRFiu28sP1vVCQoPfBQkGW331LzzJZeF3d3SLMr9wvagqJgApSMOvLKHMq4hNR1ytbeb0/lWN2T6lZ/stYoA95AL7J/3tcef+zd9Q7yP+9JHltQkjK9InHCVks7VC8bxn6no3h6A672+m2Q0wXEyKUBWTqQLtmcTF/6cdTkCnI7x095GJC+p1ymIbIUZfVjnqfIEDq0SDvQIEKxJaiNqosjq9O2FfFthDZR71VpyhBx6MXvFHOGLi5GZ2OZs+bkCe9J71OHnQqMvqdjhYrrp4uyBzO2T6kx9PLkFPt3sT2WtKxmSq41WsMEzLEyLCi63pLk9J5vaXCxmsG6Sm8Uw2Dn5Dvf+yUgtpFXskYmDXxiOSBdvi+OKjMeL1MxEHjfu/BmQS2OGYtLLx0hnSJxIYX4Jh3h/QqnZiP6kL38MmIR+mLgBP8qUUZbnhgR9YiRCJ6qTMJj5fJDNT1VZFPZEsl1lCtNDLZNmDBXPg4rPnkyd+Pj0ZzoziEnd+paT+m1k03DrR1i/noh+M+HTisNPr8IaR7DC99JqnUQvMoNgBKZO/wn7EYgrgoGHMnnexanBQXo9FQZaUh4/3e4KgHzPAIcmMk7kg8Dq+kzheS/KP05udsTYRfIr9mCZCpiMLeoB0pKrOLmymsKMwkaXqXVAnUjp3hW/+OSd0rJqDnoWTHSt2fIt/LNO7sRZHaGuKtj766Nqge4ugLAZY/i1F6FMOu3j+Ux3pzTpXLWn/4YnD0jOdm+PzoXvSTLPDOUXrjsuac/h3l8VM/fMoBQxh4BOUY+l94nQJ3KKSDMyn30n8epWi/PEVvuyY80yFMpFtenbkwqECWuOmFiEpXRKy+LExZRz2Bc1BxD+mQDumQDumQDumQDumQDumQDkml/wF+XUR0AHgAAA== +helm: + rawChart: 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 values: image: tag: v0.1.0 diff --git a/go.mod b/go.mod index b8b3d07..7618a60 100644 --- a/go.mod +++ b/go.mod @@ -7,7 +7,7 @@ require ( github.com/ahmetb/gen-crd-api-reference-docs v0.3.0 github.com/coreos/go-systemd/v22 v22.5.0 github.com/gardener/etcd-druid v0.22.3 - github.com/gardener/gardener v1.94.0 + github.com/gardener/gardener v1.99.1 github.com/gardener/machine-controller-manager v0.53.1 github.com/go-logr/logr v1.4.2 github.com/ironcore-dev/controller-utils v0.9.3 @@ -28,7 +28,7 @@ require ( k8s.io/component-base v0.29.6 k8s.io/kubelet v0.29.6 k8s.io/utils v0.0.0-20240502163921-fe8a2dddb1d0 - sigs.k8s.io/controller-runtime v0.17.3 + sigs.k8s.io/controller-runtime v0.17.5 sigs.k8s.io/controller-tools v0.14.0 ) @@ -36,6 +36,7 @@ require ( github.com/BurntSushi/toml v1.3.2 // indirect github.com/Masterminds/goutils v1.1.1 // indirect github.com/Masterminds/sprig/v3 v3.2.3 // indirect + github.com/andybalholm/brotli v1.1.0 // indirect github.com/beorn7/perks v1.0.1 // indirect github.com/blang/semver/v4 v4.0.0 // indirect github.com/cespare/xxhash/v2 v2.2.0 // indirect diff --git a/go.sum b/go.sum index 441c448..24bada0 100644 --- a/go.sum +++ b/go.sum @@ -40,6 +40,8 @@ github.com/PuerkitoBio/urlesc v0.0.0-20160726150825-5bd2802263f2/go.mod h1:uGdko github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= github.com/ahmetb/gen-crd-api-reference-docs v0.3.0 h1:+XfOU14S4bGuwyvCijJwhhBIjYN+YXS18jrCY2EzJaY= github.com/ahmetb/gen-crd-api-reference-docs v0.3.0/go.mod h1:TdjdkYhlOifCQWPs1UdTma97kQQMozf5h26hTuG70u8= +github.com/andybalholm/brotli v1.1.0 h1:eLKJA0d02Lf0mVpIDgYnqXcUn0GqVmEFny3VuID1U3M= +github.com/andybalholm/brotli v1.1.0/go.mod h1:sms7XGricyQI9K10gOSf56VKKWS4oLer58Q+mhRPtnY= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs= github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= @@ -92,8 +94,8 @@ github.com/gardener/cert-management v0.15.0 h1:ohm1eWae2rQSkwFGWXTt+lBv4rLBhtJsJ github.com/gardener/cert-management v0.15.0/go.mod h1:3BK2VEtGwv2ijf3bSziTLMCUvYnPzIQrQ/uPeZzL4m0= github.com/gardener/etcd-druid v0.22.3 h1:WRUSIlTG/HX7G/cGRzMyU7wIEmIKjp4On6PL/P6NbWI= github.com/gardener/etcd-druid v0.22.3/go.mod h1:FROhfVKyWBo4krlPe3R6FIhJRmOmijEWBdEeUP0CJjE= -github.com/gardener/gardener v1.94.0 h1:mWBzXd29trsCHWTK/uWiJ3kedMvJ7bcxuj2hCZh3+9I= -github.com/gardener/gardener v1.94.0/go.mod h1:DafV6m+tMfAbdye2EeRShvOtRxxixCRd9Y5zy0mPahc= +github.com/gardener/gardener v1.99.1 h1:c/wVXYgt4j7eHCMwxpQPPpaLXt1BY/IPYStfCtNsR8Q= +github.com/gardener/gardener v1.99.1/go.mod h1:XboPwJptOg9ZfXTjuohGk7X8kxnF0o88gJnz6Ed7Vqc= github.com/gardener/hvpa-controller/api v0.15.0 h1:igsalL5Z6kFMn1+Kv1Eq0cRjYW+4oBA1aEY/yDO2QtI= github.com/gardener/hvpa-controller/api v0.15.0/go.mod h1:fqb4wNrQLESDKpm7ppXyCM2Gvx96wRlLL35aH0ge07U= github.com/gardener/machine-controller-manager v0.53.1 h1:4P9qtzoD+989Lhc8XaI6Zo3X2TaQVXgHHrbEpuhJcrI= @@ -632,8 +634,8 @@ k8s.io/utils v0.0.0-20200729134348-d5654de09c73/go.mod h1:jPW/WVKK9YHAvNhRxK0md/ k8s.io/utils v0.0.0-20240502163921-fe8a2dddb1d0 h1:jgGTlFYnhF1PM1Ax/lAlxUPE+KfCIXHaathvJg1C3ak= k8s.io/utils v0.0.0-20240502163921-fe8a2dddb1d0/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= -sigs.k8s.io/controller-runtime v0.17.3 h1:65QmN7r3FWgTxDMz9fvGnO1kbf2nu+acg9p2R9oYYYk= -sigs.k8s.io/controller-runtime v0.17.3/go.mod h1:N0jpP5Lo7lMTF9aL56Z/B2oWBJjey6StQM0jRbKQXtY= +sigs.k8s.io/controller-runtime v0.17.5 h1:1FI9Lm7NiOOmBsgTV36/s2XrEFXnO2C4sbg/Zme72Rw= +sigs.k8s.io/controller-runtime v0.17.5/go.mod h1:N0jpP5Lo7lMTF9aL56Z/B2oWBJjey6StQM0jRbKQXtY= sigs.k8s.io/controller-tools v0.14.0 h1:rnNoCC5wSXlrNoBKKzL70LNJKIQKEzT6lloG6/LF73A= sigs.k8s.io/controller-tools v0.14.0/go.mod h1:TV7uOtNNnnR72SpzhStvPkoS/U5ir0nMudrkrC4M9Sc= sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo= diff --git a/pkg/admission/validator/secretbinding.go b/pkg/admission/validator/secretbinding.go index e09359a..c7a6fc1 100644 --- a/pkg/admission/validator/secretbinding.go +++ b/pkg/admission/validator/secretbinding.go @@ -9,7 +9,6 @@ import ( extensionswebhook "github.com/gardener/gardener/extensions/pkg/webhook" "github.com/gardener/gardener/pkg/apis/core" - kutil "github.com/gardener/gardener/pkg/utils/kubernetes" corev1 "k8s.io/api/core/v1" "k8s.io/apimachinery/pkg/api/equality" "sigs.k8s.io/controller-runtime/pkg/client" @@ -50,7 +49,7 @@ func (sb *secretBinding) Validate(ctx context.Context, newObj, oldObj client.Obj var ( secret = &corev1.Secret{} - secretKey = kutil.Key(secretBinding.SecretRef.Namespace, secretBinding.SecretRef.Name) + secretKey = client.ObjectKey{Namespace: secretBinding.SecretRef.Namespace, Name: secretBinding.SecretRef.Name} ) // Explicitly use the client.Reader to prevent controller-runtime to start Informer for Secrets // under the hood. The latter increases the memory usage of the component. diff --git a/pkg/admission/validator/shoot.go b/pkg/admission/validator/shoot.go index 1d3838a..539fa7c 100644 --- a/pkg/admission/validator/shoot.go +++ b/pkg/admission/validator/shoot.go @@ -11,7 +11,6 @@ import ( extensionswebhook "github.com/gardener/gardener/extensions/pkg/webhook" "github.com/gardener/gardener/pkg/apis/core" gardencorev1beta1 "github.com/gardener/gardener/pkg/apis/core/v1beta1" - kutil "github.com/gardener/gardener/pkg/utils/kubernetes" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/serializer" "k8s.io/apimachinery/pkg/util/validation/field" @@ -144,7 +143,7 @@ func newValidationContext(ctx context.Context, decoder runtime.Decoder, c client } cloudProfile := &gardencorev1beta1.CloudProfile{} - if err := c.Get(ctx, kutil.Key(shoot.Spec.CloudProfileName), cloudProfile); err != nil { + if err := c.Get(ctx, client.ObjectKey{Name: shoot.Spec.CloudProfileName}, cloudProfile); err != nil { return nil, err } diff --git a/pkg/controller/controlplane/valuesprovider.go b/pkg/controller/controlplane/valuesprovider.go index 6365b46..e290e10 100644 --- a/pkg/controller/controlplane/valuesprovider.go +++ b/pkg/controller/controlplane/valuesprovider.go @@ -7,6 +7,7 @@ import ( "context" "fmt" "path/filepath" + "strings" extensionscontroller "github.com/gardener/gardener/extensions/pkg/controller" "github.com/gardener/gardener/extensions/pkg/controller/controlplane/genericactuator" @@ -249,7 +250,7 @@ func getCCMChartValues( "enabled": true, "replicas": extensionscontroller.GetControlPlaneReplicas(cluster, scaledDown, 1), "clusterName": cp.Namespace, - "podNetwork": extensionscontroller.GetPodNetwork(cluster), + "podNetwork": strings.Join(extensionscontroller.GetPodNetwork(cluster), ","), "podAnnotations": map[string]interface{}{ "checksum/secret-" + internal.CloudProviderConfigMapName: checksums[internal.CloudProviderConfigMapName], }, diff --git a/pkg/controller/worker/machine_controller_manager.go b/pkg/controller/worker/machine_controller_manager.go index 234f89a..1aaac4d 100644 --- a/pkg/controller/worker/machine_controller_manager.go +++ b/pkg/controller/worker/machine_controller_manager.go @@ -7,15 +7,15 @@ import ( "context" v1beta1constants "github.com/gardener/gardener/pkg/apis/core/v1beta1/constants" - kutil "github.com/gardener/gardener/pkg/utils/kubernetes" corev1 "k8s.io/api/core/v1" + "sigs.k8s.io/controller-runtime/pkg/client" "github.com/ironcore-dev/gardener-extension-provider-metal/pkg/metal" ) func (w *workerDelegate) GetMachineControllerManagerChartValues(ctx context.Context) (map[string]interface{}, error) { namespace := &corev1.Namespace{} - if err := w.client.Get(ctx, kutil.Key(w.worker.Namespace), namespace); err != nil { + if err := w.client.Get(ctx, client.ObjectKey{Name: w.worker.Namespace}, namespace); err != nil { return nil, err } diff --git a/pkg/controller/worker/machines.go b/pkg/controller/worker/machines.go index 6ddfd8d..7bea113 100644 --- a/pkg/controller/worker/machines.go +++ b/pkg/controller/worker/machines.go @@ -181,5 +181,5 @@ func (w *workerDelegate) generateMachineClassAndSecrets() ([]*machinecontrollerv func (w *workerDelegate) generateHashForWorkerPool(pool v1alpha1.WorkerPool) (string, error) { // Generate the worker pool hash. - return worker.WorkerPoolHash(pool, w.cluster) + return worker.WorkerPoolHash(pool, w.cluster, nil, nil) } diff --git a/pkg/controller/worker/machines_test.go b/pkg/controller/worker/machines_test.go index 39eb043..104e6a2 100644 --- a/pkg/controller/worker/machines_test.go +++ b/pkg/controller/worker/machines_test.go @@ -34,7 +34,8 @@ var _ = Describe("Machines", func() { err = workerDelegate.DeployMachineClasses(ctx) Expect(err).NotTo(HaveOccurred()) - workerPoolHash, err := worker.WorkerPoolHash(pool, testCluster) + // TODO: Fix machine pool hashing + workerPoolHash, err := worker.WorkerPoolHash(pool, testCluster, nil, nil) Expect(err).NotTo(HaveOccurred()) By("ensuring that the machine class for each pool has been deployed") @@ -97,7 +98,7 @@ var _ = Describe("Machines", func() { It("should generate the machine deployments", func(ctx SpecContext) { By("creating a worker delegate") - workerPoolHash, err := worker.WorkerPoolHash(pool, testCluster) + workerPoolHash, err := worker.WorkerPoolHash(pool, testCluster, nil, nil) Expect(err).NotTo(HaveOccurred()) var ( deploymentName1 = fmt.Sprintf("%s-%s-z%d", w.Namespace, pool.Name, 1) diff --git a/pkg/webhook/controlplane/ensurer.go b/pkg/webhook/controlplane/ensurer.go index e1b1cd6..8da777c 100644 --- a/pkg/webhook/controlplane/ensurer.go +++ b/pkg/webhook/controlplane/ensurer.go @@ -134,7 +134,7 @@ func (e *ensurer) EnsureClusterAutoscalerDeployment(_ context.Context, _ extensi } func ensureMCMCommandLineArgs(c *corev1.Container) { - c.Command = extensionswebhook.EnsureStringWithPrefix(c.Command, "--metal-kubeconfig=", "/etc/metal/kubeconfig") + c.Args = extensionswebhook.EnsureStringWithPrefix(c.Args, "--metal-kubeconfig=", "/etc/metal/kubeconfig") } func ensureKubeAPIServerCommandLineArgs(c *corev1.Container) { diff --git a/pkg/webhook/controlplane/ensurer_test.go b/pkg/webhook/controlplane/ensurer_test.go index fe64c71..edf5eb5 100644 --- a/pkg/webhook/controlplane/ensurer_test.go +++ b/pkg/webhook/controlplane/ensurer_test.go @@ -5,6 +5,7 @@ package controlplane import ( "context" + "strconv" "testing" "github.com/Masterminds/semver/v3" @@ -15,6 +16,7 @@ import ( "github.com/gardener/gardener/extensions/pkg/webhook/controlplane/genericmutator" gardencorev1beta1 "github.com/gardener/gardener/pkg/apis/core/v1beta1" v1beta1constants "github.com/gardener/gardener/pkg/apis/core/v1beta1/constants" + gardenerutils "github.com/gardener/gardener/pkg/utils/gardener" imagevectorutils "github.com/gardener/gardener/pkg/utils/imagevector" testutils "github.com/gardener/gardener/pkg/utils/test" . "github.com/onsi/ginkgo/v2" @@ -29,7 +31,11 @@ import ( "k8s.io/utils/ptr" ) -const namespace = "test" +const ( + namespace = "foo" + portProviderMetrics = 10259 + portNameProviderMetrics = "providermetrics" +) func TestController(t *testing.T) { RegisterFailHandler(Fail) @@ -249,8 +255,7 @@ var _ = Describe("Ensurer", func() { Name: "machine-controller-manager-provider-metal", Image: "foo:bar", ImagePullPolicy: corev1.PullIfNotPresent, - Command: []string{ - "./machine-controller", + Args: []string{ "--control-kubeconfig=inClusterConfig", "--machine-creation-timeout=20m", "--machine-drain-timeout=2h", @@ -258,9 +263,9 @@ var _ = Describe("Ensurer", func() { "--machine-safety-apiserver-statuscheck-timeout=30s", "--machine-safety-apiserver-statuscheck-period=1m", "--machine-safety-orphan-vms-period=30m", - "--namespace=" + deployment.Namespace, - "--port=10259", - "--target-kubeconfig=/var/run/secrets/gardener.cloud/shoot/generic-kubeconfig/kubeconfig", + "--namespace=" + namespace, + "--port=" + strconv.Itoa(portProviderMetrics), + "--target-kubeconfig=" + gardenerutils.PathGenericKubeconfig, "--v=3", "--metal-kubeconfig=/etc/metal/kubeconfig", }, @@ -268,8 +273,8 @@ var _ = Describe("Ensurer", func() { ProbeHandler: corev1.ProbeHandler{ HTTPGet: &corev1.HTTPGetAction{ Path: "/healthz", - Port: intstr.FromInt(10259), - Scheme: "HTTP", + Port: intstr.FromInt32(portProviderMetrics), + Scheme: corev1.URISchemeHTTP, }, }, InitialDelaySeconds: 30, @@ -278,12 +283,16 @@ var _ = Describe("Ensurer", func() { SuccessThreshold: 1, FailureThreshold: 3, }, - VolumeMounts: []corev1.VolumeMount{ - { - Name: "kubeconfig", - MountPath: "/var/run/secrets/gardener.cloud/shoot/generic-kubeconfig", - ReadOnly: true, - }, + Ports: []corev1.ContainerPort{{ + Name: portNameProviderMetrics, + ContainerPort: portProviderMetrics, + Protocol: corev1.ProtocolTCP, + }}, + VolumeMounts: []corev1.VolumeMount{{ + Name: "kubeconfig", + MountPath: gardenerutils.VolumeMountPathGenericKubeconfig, + ReadOnly: true, + }, { Name: "cloudprovider", MountPath: "/etc/metal",