From ef6009b284e92f456fdbd62160b8e58b20ada3cc Mon Sep 17 00:00:00 2001 From: ci-robot Date: Wed, 15 May 2024 05:08:54 +0000 Subject: [PATCH 1/9] update last_rebase.sh --- scripts/auto-rebase/last_rebase.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/auto-rebase/last_rebase.sh b/scripts/auto-rebase/last_rebase.sh index 94a0b4dc31..0e76fbad16 100755 --- a/scripts/auto-rebase/last_rebase.sh +++ b/scripts/auto-rebase/last_rebase.sh @@ -1,2 +1,2 @@ #!/bin/bash -x -./scripts/auto-rebase/rebase.sh to "registry.ci.openshift.org/ocp/release:4.16.0-0.nightly-2024-05-08-222442" "registry.ci.openshift.org/ocp-arm64/release-arm64:4.16.0-0.nightly-arm64-2024-05-13-005028" +./scripts/auto-rebase/rebase.sh to "registry.ci.openshift.org/ocp/release:4.16.0-0.nightly-2024-05-15-001800" "registry.ci.openshift.org/ocp-arm64/release-arm64:4.16.0-0.nightly-arm64-2024-05-14-230421" From 85b192ef298681b21478467c0784bc592519187b Mon Sep 17 00:00:00 2001 From: ci-robot Date: Wed, 15 May 2024 05:08:54 +0000 Subject: [PATCH 2/9] update changelog --- scripts/auto-rebase/changelog.txt | 131 +++++++++++++++++++++++++++++- scripts/auto-rebase/commits.txt | 34 ++++---- 2 files changed, 145 insertions(+), 20 deletions(-) diff --git a/scripts/auto-rebase/changelog.txt b/scripts/auto-rebase/changelog.txt index 114b860c53..4dd877ebfe 100644 --- a/scripts/auto-rebase/changelog.txt +++ b/scripts/auto-rebase/changelog.txt @@ -1,10 +1,55 @@ -- oc image-arm64 1e4757fd86487950dc14b59a3379bb70fdcd9b4c to 4e02e9f74d070093e47ecf7d4d0afc29cff6f77f +- cluster-csi-snapshot-controller-operator embedded-component 66048040bb40915f0903a0e7de0bbc6f4b4faef5 to 439826e1a723c094717877db0f2ca1848d0fb10a + - 8835601 2024-02-28T14:14:04+01:00 set required-scc for openshift workloads + +- cluster-dns-operator embedded-component a2c4492a942ec51f900a1784bc239d16aa39e4e6 to a975508a6bf7ba15e71409118b784ec030a48efc + - 7bd4edd 2024-05-09T12:40:32-04:00 OCPBUGS-32941: Bump golang 1.21, openshift/api, controller-runtime, Kubernetes, and make corresponding file and CRD generation changes. + +- cluster-ingress-operator embedded-component 5b42422d0f5f488fc1deb3db08a7b97367cfd2a6 to 5b4f6283f48046b85f60bf9d75fa5c9222329cd1 + - 77c61ba 2024-04-24T12:50:46-04:00 Allow operator to update Route spec.subdomain + +- cluster-kube-apiserver-operator embedded-component 8fae6b51944c1f90e6875f55072a3d85db40e743 to 313bc06912503443d3422da07b4ea4ea57b9fc84 + - 4ea21e0 2024-05-10T18:49:51+02:00 go mod tidy && go mod vendor + - 46ef601 2024-05-10T18:49:51+02:00 add a controller that reconciles SCCs' volumes + - fdc7ec6 2024-05-09T16:30:44+02:00 Revert "add SNO control plane high cpu usage alert" + +- cluster-network-operator embedded-component 21291740019b0ef308fdd090c229d12efce33c80 to 9c3a57e03e67a4f582a405a47dd0300e235e6f97 + - b8f25d7 2024-05-08T13:06:33+02:00 Add ref to MicroShift's Multus and CNI Plugins + - a6fbafe 2024-02-13T15:39:57+02:00 sysctl: add more safe sysctls to safelist + +- kubernetes embedded-component 6c10b2df178d8497ea61ca6749a73b31fee740a7 to 4a87b5377b72baed624e7afa315bb8622117ebf9 + - 39d3a4ca7 2024-05-13T20:49:13+05:30 UPSTREAM: : Update RouteExternalCertificate validation in Route ObjectValidator + - 7ad807898 2024-05-13T20:46:29+05:30 UPSTREAM: : bump openshift/library-go and update deps + - 43f02d10e 2024-05-13T10:47:06+02:00 UPSTREAM: 124795: e2e: DaemonSet maxSurge test should account for terminated pods + +- machine-config-operator embedded-component aa28d1b034bcfaff79537d2fc979de018a77e4a0 to 4b809a4214f5c426411b51686dbf3b4326948e7c + - e8e945c6 2024-05-08T07:58:06-04:00 Final cleanup + - 17e78c73 2024-05-08T07:58:06-04:00 adds Red Hat entitlement functionality for on-cluster layering + - 1da14cc3 2024-05-08T07:58:05-04:00 Build controller test fixes for the new OCB API + - 084a4e39 2024-05-08T07:57:09-04:00 Test fixes for the new OCB API + - c8949996 2024-05-08T07:57:09-04:00 further cleanup + - f58b5939 2024-05-08T07:57:07-04:00 ocb-api + - 4c04643d 2024-05-07T10:09:39-05:00 OCPBUGS-33357: Check both ready and health ingress endpoints + - bab7ffe1 2024-05-06T17:36:24+02:00 Reference `stream-coreos` instead of `centos-stream-coreos-9` + - f0b8084b 2024-05-03T16:43:45-04:00 cert_writer: skip kube-apiserver-lb-signer + - 255f028e 2024-05-03T12:34:08-04:00 certificate_writer: clean up disk-write logic + +- openshift-controller-manager embedded-component 6d49ea351dbc89e6ea51062b40a7d408780f75dc to 0adb6e13297e736ca99ec92133ec9713ebcc9838 + - 71a085e 2024-05-12T19:44:36-04:00 Revert "Merge pull request #288 from sanchezl/pull-secret-controller-v2" + - ef265c1 2024-05-03T11:18:18-04:00 handle tombstone + - 893fef2 2024-04-17T16:57:13+05:30 OCPBUGS-30688: bump go-jose to fix CVE-2024-28176 + - 6c8f6cf 2024-04-09T07:29:54-04:00 add image pull secret to mountable secrets + - 0ca8aa3 2024-04-09T07:29:54-04:00 internal registry mage pull secret controllers + - 88e965f 2024-04-09T07:29:54-04:00 go shim shh! + +- oc image-amd64 1e4757fd86487950dc14b59a3379bb70fdcd9b4c to e63d210d5d25af4a8733f19bdca5f3523696bfd6 + - 7dfe72fe 2024-05-10T15:08:09-04:00 Support multiple icsps in migrate icsp - 4aa7d25f 2024-05-04T03:07:42-04:00 [OCPNODE-2282]Support multiple ImageDigestMirrorSet objects in the the single file -- coredns image-arm64 f937ebfb6b8a31fc194597a1ade0e93e73e474b5 to 32bf22529f7c0db11f3b9f57b9d35e074505a689 +- coredns image-amd64 f937ebfb6b8a31fc194597a1ade0e93e73e474b5 to 5afff2a989779a52e00ef9579cfbc03f36b5334a - 5839299 2024-05-09T15:23:37-04:00 UPSTREAM: : Address CVE-2023-49295 and CVE-2024-22189 + - 6b897ee 2024-05-07T20:38:15+05:30 UPSTREAM: : openshift: Move ocp_dnsnameresolver before cache in plugin chaining order -- kube-rbac-proxy image-arm64 04d0a78154b45ce300e176836bd47c6004603e88 to 8ea2c994df4296ec161023d8ff85f9ea0e383216 +- kube-rbac-proxy image-amd64 04d0a78154b45ce300e176836bd47c6004603e88 to 8ea2c994df4296ec161023d8ff85f9ea0e383216 - f027071 2024-05-07T18:54:13+02:00 bump go version down - 550fd3e 2024-05-07T18:51:17+02:00 go mod vendor - 123627f 2024-05-07T17:08:02+02:00 scripts: force pull tags @@ -23,3 +68,83 @@ - c6e521e 2024-02-07T15:31:24+01:00 go.*: bump deps and k8s.io to v1.28.6 - 4e6f735 2023-11-13T14:27:47-08:00 Allow BASEIMAGE to be overriden at build time +- ovn-kubernetes image-amd64 e7517c1c125d482c01e53baf0670ba777ca2c9d2 to 0dce1201b8cc2f9ce1d64091538584b4a1f783ec + - b0f28185 2024-05-10T08:10:49-07:00 allow multiple interface of different NADs of the same network in a Pod + - 24cf0166 2024-05-10T08:07:50-07:00 kind: Add parameter to configure overlay MTU + - fb6df3d0 2024-05-10T08:05:06-07:00 e2e util: do not assume /etc/origin/openvswitch exists + - 57e5e17e 2024-05-10T16:30:47+02:00 Node delete should not retry when no node-subnets exist + - b2b8feb1 2024-05-10T10:59:55+02:00 Fix EIP GARP config overwritten by gateway update + - 6609780e 2024-05-09T17:26:20-04:00 check disk usage before and after test steps (#4305) + - 6e392342 2024-05-09T16:59:01+02:00 EgressIP: Reload certificates for the grpc heatlhcheck server + - b23e34f7 2024-05-09T16:59:01+02:00 grpc vendoring + - eb2ecb37 2024-05-08T11:23:13-07:00 Add OVNKubeAllocatedSubnetsDoNotMatch alert. + - 05d4bea7 2024-05-08T11:23:13-07:00 Update ovnkube_clustermanager_allocated_v4_host_subnets metric during add/delete node event + - 0f7ff0fa 2024-05-08T20:51:54+05:30 Add doc for DNSNameResolver + - bac9a79a 2024-05-08T16:31:58+05:30 Add support for DNSNameResolver in ovnkube-controller + - b1c70fad 2024-05-08T16:31:58+05:30 Add support for DNSNameResolver in clustermanager + - 37d4acea 2024-05-08T16:31:58+05:30 Update kubebuilder validation of DNSName field of EgressFirewall to support wildcard DNS name + - ff439837 2024-05-08T16:31:58+05:30 Bump openshift/api and openshift/client-go versions + - b54a2300 2024-05-07T11:35:16-07:00 document on how we do web designing for ovn-kubernetes project + - d3d9a44f 2024-05-07T08:30:03-07:00 add egressqos API spec documentation + - 9d56d803 2024-05-07T08:30:03-07:00 add egressqos API spec documentation + - e5a407e6 2024-05-07T08:30:03-07:00 add egressservice API spec documentation + - 399f8294 2024-05-07T08:30:03-07:00 add egressqos API spec documentation + - 4378caf5 2024-05-07T08:30:03-07:00 add egressfirewall API spec documentation + - d2dc3cbf 2024-05-06T16:29:02+05:30 Add logic to unfurl Aggregate type error in IsSuppressedError function + - 60d6d9c9 2024-05-04T23:55:08-07:00 unprivileged ovnkube-node cannot collect OVS process metrics + - 9bf6a484 2024-05-04T23:27:35-07:00 fix references to images once for all + - 7ca3128a 2024-05-04T23:27:35-07:00 fix reference to broken anchors in various pages + - 3374c88f 2024-05-04T15:39:25-07:00 [index.md] correct the links and typos in this file + - 20d89526 2024-05-04T15:39:25-07:00 fix incorrect paths to images in tag + - c66d1f44 2024-05-04T14:36:31-07:00 add all the missing files to avoid 404 page not found error + - 04451e0c 2024-05-04T14:36:31-07:00 fix typo in the file name, it is missing a hyphen + - 0a2bef2e 2024-05-04T13:43:09-07:00 add getting-started/overview.md file to fix page not found error + +- kubernetes image-amd64 6c10b2df178d8497ea61ca6749a73b31fee740a7 to 4a87b5377b72baed624e7afa315bb8622117ebf9 + - 39d3a4ca7 2024-05-13T20:49:13+05:30 UPSTREAM: : Update RouteExternalCertificate validation in Route ObjectValidator + - 7ad807898 2024-05-13T20:46:29+05:30 UPSTREAM: : bump openshift/library-go and update deps + - 43f02d10e 2024-05-13T10:47:06+02:00 UPSTREAM: 124795: e2e: DaemonSet maxSurge test should account for terminated pods + +- oc image-arm64 4e02e9f74d070093e47ecf7d4d0afc29cff6f77f to e63d210d5d25af4a8733f19bdca5f3523696bfd6 + - 7dfe72fe 2024-05-10T15:08:09-04:00 Support multiple icsps in migrate icsp + +- coredns image-arm64 32bf22529f7c0db11f3b9f57b9d35e074505a689 to 5afff2a989779a52e00ef9579cfbc03f36b5334a + - 6b897ee 2024-05-07T20:38:15+05:30 UPSTREAM: : openshift: Move ocp_dnsnameresolver before cache in plugin chaining order + +- ovn-kubernetes image-arm64 e7517c1c125d482c01e53baf0670ba777ca2c9d2 to 0dce1201b8cc2f9ce1d64091538584b4a1f783ec + - b0f28185 2024-05-10T08:10:49-07:00 allow multiple interface of different NADs of the same network in a Pod + - 24cf0166 2024-05-10T08:07:50-07:00 kind: Add parameter to configure overlay MTU + - fb6df3d0 2024-05-10T08:05:06-07:00 e2e util: do not assume /etc/origin/openvswitch exists + - 57e5e17e 2024-05-10T16:30:47+02:00 Node delete should not retry when no node-subnets exist + - b2b8feb1 2024-05-10T10:59:55+02:00 Fix EIP GARP config overwritten by gateway update + - 6609780e 2024-05-09T17:26:20-04:00 check disk usage before and after test steps (#4305) + - 6e392342 2024-05-09T16:59:01+02:00 EgressIP: Reload certificates for the grpc heatlhcheck server + - b23e34f7 2024-05-09T16:59:01+02:00 grpc vendoring + - eb2ecb37 2024-05-08T11:23:13-07:00 Add OVNKubeAllocatedSubnetsDoNotMatch alert. + - 05d4bea7 2024-05-08T11:23:13-07:00 Update ovnkube_clustermanager_allocated_v4_host_subnets metric during add/delete node event + - 0f7ff0fa 2024-05-08T20:51:54+05:30 Add doc for DNSNameResolver + - bac9a79a 2024-05-08T16:31:58+05:30 Add support for DNSNameResolver in ovnkube-controller + - b1c70fad 2024-05-08T16:31:58+05:30 Add support for DNSNameResolver in clustermanager + - 37d4acea 2024-05-08T16:31:58+05:30 Update kubebuilder validation of DNSName field of EgressFirewall to support wildcard DNS name + - ff439837 2024-05-08T16:31:58+05:30 Bump openshift/api and openshift/client-go versions + - b54a2300 2024-05-07T11:35:16-07:00 document on how we do web designing for ovn-kubernetes project + - d3d9a44f 2024-05-07T08:30:03-07:00 add egressqos API spec documentation + - 9d56d803 2024-05-07T08:30:03-07:00 add egressqos API spec documentation + - e5a407e6 2024-05-07T08:30:03-07:00 add egressservice API spec documentation + - 399f8294 2024-05-07T08:30:03-07:00 add egressqos API spec documentation + - 4378caf5 2024-05-07T08:30:03-07:00 add egressfirewall API spec documentation + - d2dc3cbf 2024-05-06T16:29:02+05:30 Add logic to unfurl Aggregate type error in IsSuppressedError function + - 60d6d9c9 2024-05-04T23:55:08-07:00 unprivileged ovnkube-node cannot collect OVS process metrics + - 9bf6a484 2024-05-04T23:27:35-07:00 fix references to images once for all + - 7ca3128a 2024-05-04T23:27:35-07:00 fix reference to broken anchors in various pages + - 3374c88f 2024-05-04T15:39:25-07:00 [index.md] correct the links and typos in this file + - 20d89526 2024-05-04T15:39:25-07:00 fix incorrect paths to images in tag + - c66d1f44 2024-05-04T14:36:31-07:00 add all the missing files to avoid 404 page not found error + - 04451e0c 2024-05-04T14:36:31-07:00 fix typo in the file name, it is missing a hyphen + - 0a2bef2e 2024-05-04T13:43:09-07:00 add getting-started/overview.md file to fix page not found error + +- kubernetes image-arm64 6c10b2df178d8497ea61ca6749a73b31fee740a7 to 4a87b5377b72baed624e7afa315bb8622117ebf9 + - 39d3a4ca7 2024-05-13T20:49:13+05:30 UPSTREAM: : Update RouteExternalCertificate validation in Route ObjectValidator + - 7ad807898 2024-05-13T20:46:29+05:30 UPSTREAM: : bump openshift/library-go and update deps + - 43f02d10e 2024-05-13T10:47:06+02:00 UPSTREAM: 124795: e2e: DaemonSet maxSurge test should account for terminated pods + diff --git a/scripts/auto-rebase/commits.txt b/scripts/auto-rebase/commits.txt index 3c84606fae..5c29d5e8ce 100644 --- a/scripts/auto-rebase/commits.txt +++ b/scripts/auto-rebase/commits.txt @@ -1,38 +1,38 @@ -https://github.com/openshift/cluster-csi-snapshot-controller-operator embedded-component 66048040bb40915f0903a0e7de0bbc6f4b4faef5 -https://github.com/openshift/cluster-dns-operator embedded-component a2c4492a942ec51f900a1784bc239d16aa39e4e6 -https://github.com/openshift/cluster-ingress-operator embedded-component 5b42422d0f5f488fc1deb3db08a7b97367cfd2a6 -https://github.com/openshift/cluster-kube-apiserver-operator embedded-component 8fae6b51944c1f90e6875f55072a3d85db40e743 +https://github.com/openshift/cluster-csi-snapshot-controller-operator embedded-component 439826e1a723c094717877db0f2ca1848d0fb10a +https://github.com/openshift/cluster-dns-operator embedded-component a975508a6bf7ba15e71409118b784ec030a48efc +https://github.com/openshift/cluster-ingress-operator embedded-component 5b4f6283f48046b85f60bf9d75fa5c9222329cd1 +https://github.com/openshift/cluster-kube-apiserver-operator embedded-component 313bc06912503443d3422da07b4ea4ea57b9fc84 https://github.com/openshift/cluster-kube-controller-manager-operator embedded-component f0f485f3c1d70416c242e3159820331a36fb2d2a https://github.com/openshift/cluster-kube-scheduler-operator embedded-component 630f63bc7a30d2662bbb5115233144079de6eef6 -https://github.com/openshift/cluster-network-operator embedded-component 21291740019b0ef308fdd090c229d12efce33c80 +https://github.com/openshift/cluster-network-operator embedded-component 9c3a57e03e67a4f582a405a47dd0300e235e6f97 https://github.com/openshift/cluster-openshift-controller-manager-operator embedded-component e620f4af51023ef35bc8176fa19e79341dcf5d40 https://github.com/openshift/cluster-policy-controller embedded-component eaea543f4c845a7b65705f12e162cc121bb12f88 https://github.com/openshift/csi-external-snapshotter embedded-component 5315d37a1e5415e8b6870f23e50238681979cc28 https://github.com/openshift/etcd embedded-component bc2fec27ff5b086436d438157c24396f280e0305 -https://github.com/openshift/kubernetes embedded-component 6c10b2df178d8497ea61ca6749a73b31fee740a7 +https://github.com/openshift/kubernetes embedded-component 4a87b5377b72baed624e7afa315bb8622117ebf9 https://github.com/openshift/kubernetes-kube-storage-version-migrator embedded-component 969a60e9e2466c44f5b3ffd43fe3ecab11bf1e51 -https://github.com/openshift/machine-config-operator embedded-component aa28d1b034bcfaff79537d2fc979de018a77e4a0 -https://github.com/openshift/openshift-controller-manager embedded-component 6d49ea351dbc89e6ea51062b40a7d408780f75dc +https://github.com/openshift/machine-config-operator embedded-component 4b809a4214f5c426411b51686dbf3b4326948e7c +https://github.com/openshift/openshift-controller-manager embedded-component 0adb6e13297e736ca99ec92133ec9713ebcc9838 https://github.com/openshift/operator-framework-olm embedded-component 56b7b9d5a6a063dad50e5f5a31b6dca7012c8345 https://github.com/openshift/route-controller-manager embedded-component 3112b458983c6fca6f77d5a945fb0026186dace6 https://github.com/openshift/service-ca-operator embedded-component 538c7b98a689e573b61e1abb1cb649da470c5fac -https://github.com/openshift/oc image-amd64 1e4757fd86487950dc14b59a3379bb70fdcd9b4c -https://github.com/openshift/coredns image-amd64 f937ebfb6b8a31fc194597a1ade0e93e73e474b5 +https://github.com/openshift/oc image-amd64 e63d210d5d25af4a8733f19bdca5f3523696bfd6 +https://github.com/openshift/coredns image-amd64 5afff2a989779a52e00ef9579cfbc03f36b5334a https://github.com/openshift/csi-external-snapshotter image-amd64 5315d37a1e5415e8b6870f23e50238681979cc28 https://github.com/openshift/csi-external-snapshotter image-amd64 5315d37a1e5415e8b6870f23e50238681979cc28 https://github.com/openshift/csi-external-snapshotter image-amd64 5315d37a1e5415e8b6870f23e50238681979cc28 https://github.com/openshift/router image-amd64 56ab14f257e123317c00ce7ba5b4ecae7b2e0102 -https://github.com/openshift/kube-rbac-proxy image-amd64 04d0a78154b45ce300e176836bd47c6004603e88 -https://github.com/openshift/ovn-kubernetes image-amd64 e7517c1c125d482c01e53baf0670ba777ca2c9d2 -https://github.com/openshift/kubernetes image-amd64 6c10b2df178d8497ea61ca6749a73b31fee740a7 +https://github.com/openshift/kube-rbac-proxy image-amd64 8ea2c994df4296ec161023d8ff85f9ea0e383216 +https://github.com/openshift/ovn-kubernetes image-amd64 0dce1201b8cc2f9ce1d64091538584b4a1f783ec +https://github.com/openshift/kubernetes image-amd64 4a87b5377b72baed624e7afa315bb8622117ebf9 https://github.com/openshift/service-ca-operator image-amd64 538c7b98a689e573b61e1abb1cb649da470c5fac -https://github.com/openshift/oc image-arm64 4e02e9f74d070093e47ecf7d4d0afc29cff6f77f -https://github.com/openshift/coredns image-arm64 32bf22529f7c0db11f3b9f57b9d35e074505a689 +https://github.com/openshift/oc image-arm64 e63d210d5d25af4a8733f19bdca5f3523696bfd6 +https://github.com/openshift/coredns image-arm64 5afff2a989779a52e00ef9579cfbc03f36b5334a https://github.com/openshift/csi-external-snapshotter image-arm64 5315d37a1e5415e8b6870f23e50238681979cc28 https://github.com/openshift/csi-external-snapshotter image-arm64 5315d37a1e5415e8b6870f23e50238681979cc28 https://github.com/openshift/csi-external-snapshotter image-arm64 5315d37a1e5415e8b6870f23e50238681979cc28 https://github.com/openshift/router image-arm64 56ab14f257e123317c00ce7ba5b4ecae7b2e0102 https://github.com/openshift/kube-rbac-proxy image-arm64 8ea2c994df4296ec161023d8ff85f9ea0e383216 -https://github.com/openshift/ovn-kubernetes image-arm64 e7517c1c125d482c01e53baf0670ba777ca2c9d2 -https://github.com/openshift/kubernetes image-arm64 6c10b2df178d8497ea61ca6749a73b31fee740a7 +https://github.com/openshift/ovn-kubernetes image-arm64 0dce1201b8cc2f9ce1d64091538584b4a1f783ec +https://github.com/openshift/kubernetes image-arm64 4a87b5377b72baed624e7afa315bb8622117ebf9 https://github.com/openshift/service-ca-operator image-arm64 538c7b98a689e573b61e1abb1cb649da470c5fac From 802a36263318833e67891e034412e1d89d7febb9 Mon Sep 17 00:00:00 2001 From: ci-robot Date: Wed, 15 May 2024 05:10:16 +0000 Subject: [PATCH 3/9] update microshift/go.mod --- go.mod | 66 +++++++++++++++++----------------- go.sum | 112 ++++++++++++++++++++++++++++----------------------------- 2 files changed, 89 insertions(+), 89 deletions(-) diff --git a/go.mod b/go.mod index 27a20c2aa1..dc77b88725 100644 --- a/go.mod +++ b/go.mod @@ -7,11 +7,11 @@ require ( github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e // openshift-controller-manager github.com/google/go-cmp v0.6.0 github.com/miekg/dns v1.1.35 // microshift - github.com/openshift/api v0.0.0-20240405095747-3e50337fcaea + github.com/openshift/api v0.0.0-20240424142232-29a704bf5aa2 github.com/openshift/build-machinery-go v0.0.0-20231128094528-1e9b1b0595c8 github.com/openshift/client-go v0.0.0-20240405120947-c67c8325cdd8 github.com/openshift/cluster-policy-controller v0.0.0-20240311102810-eaea543f4c84 - github.com/openshift/library-go v0.0.0-20240411091851-558ed29cc1dd + github.com/openshift/library-go v0.0.0-20240513090140-e22d25af5587 github.com/openshift/route-controller-manager v0.0.0-20240306200724-3112b458983c github.com/pkg/errors v0.9.1 // indirect github.com/spf13/cobra v1.7.0 @@ -233,36 +233,36 @@ require ( replace ( github.com/onsi/ginkgo/v2 => github.com/openshift/ginkgo/v2 v2.6.1-0.20231031162821-c5e24be53ea7 // from kubernetes - k8s.io/api => github.com/openshift/kubernetes/staging/src/k8s.io/api v0.0.0-20240507134651-6c10b2df178d // staging kubernetes - k8s.io/apiextensions-apiserver => github.com/openshift/kubernetes/staging/src/k8s.io/apiextensions-apiserver v0.0.0-20240507134651-6c10b2df178d // staging kubernetes - k8s.io/apimachinery => github.com/openshift/kubernetes/staging/src/k8s.io/apimachinery v0.0.0-20240507134651-6c10b2df178d // staging kubernetes - k8s.io/apiserver => github.com/openshift/kubernetes/staging/src/k8s.io/apiserver v0.0.0-20240507134651-6c10b2df178d // staging kubernetes - k8s.io/cli-runtime => github.com/openshift/kubernetes/staging/src/k8s.io/cli-runtime v0.0.0-20240507134651-6c10b2df178d // from kubernetes - k8s.io/client-go => github.com/openshift/kubernetes/staging/src/k8s.io/client-go v0.0.0-20240507134651-6c10b2df178d // staging kubernetes - k8s.io/cloud-provider => github.com/openshift/kubernetes/staging/src/k8s.io/cloud-provider v0.0.0-20240507134651-6c10b2df178d // from kubernetes - k8s.io/cluster-bootstrap => github.com/openshift/kubernetes/staging/src/k8s.io/cluster-bootstrap v0.0.0-20240507134651-6c10b2df178d // from kubernetes - k8s.io/code-generator => github.com/openshift/kubernetes/staging/src/k8s.io/code-generator v0.0.0-20240507134651-6c10b2df178d // staging kubernetes - k8s.io/component-base => github.com/openshift/kubernetes/staging/src/k8s.io/component-base v0.0.0-20240507134651-6c10b2df178d // staging kubernetes - k8s.io/component-helpers => github.com/openshift/kubernetes/staging/src/k8s.io/component-helpers v0.0.0-20240507134651-6c10b2df178d // from kubernetes - k8s.io/controller-manager => github.com/openshift/kubernetes/staging/src/k8s.io/controller-manager v0.0.0-20240507134651-6c10b2df178d // from kubernetes - k8s.io/cri-api => github.com/openshift/kubernetes/staging/src/k8s.io/cri-api v0.0.0-20240507134651-6c10b2df178d // from kubernetes - k8s.io/csi-translation-lib => github.com/openshift/kubernetes/staging/src/k8s.io/csi-translation-lib v0.0.0-20240507134651-6c10b2df178d // from kubernetes - k8s.io/dynamic-resource-allocation => github.com/openshift/kubernetes/staging/src/k8s.io/dynamic-resource-allocation v0.0.0-20240507134651-6c10b2df178d // staging kubernetes - k8s.io/kms => github.com/openshift/kubernetes/staging/src/k8s.io/kms v0.0.0-20240507134651-6c10b2df178d // staging kubernetes - k8s.io/kube-aggregator => github.com/openshift/kubernetes/staging/src/k8s.io/kube-aggregator v0.0.0-20240507134651-6c10b2df178d // staging kubernetes - k8s.io/kube-controller-manager => github.com/openshift/kubernetes/staging/src/k8s.io/kube-controller-manager v0.0.0-20240507134651-6c10b2df178d // from kubernetes - k8s.io/kube-proxy => github.com/openshift/kubernetes/staging/src/k8s.io/kube-proxy v0.0.0-20240507134651-6c10b2df178d // from kubernetes - k8s.io/kube-scheduler => github.com/openshift/kubernetes/staging/src/k8s.io/kube-scheduler v0.0.0-20240507134651-6c10b2df178d // from kubernetes - k8s.io/kubectl => github.com/openshift/kubernetes/staging/src/k8s.io/kubectl v0.0.0-20240507134651-6c10b2df178d // from kubernetes - k8s.io/kubelet => github.com/openshift/kubernetes/staging/src/k8s.io/kubelet v0.0.0-20240507134651-6c10b2df178d // from kubernetes - k8s.io/kubernetes => github.com/openshift/kubernetes v0.0.0-20240507134651-6c10b2df178d // release kubernetes - k8s.io/legacy-cloud-providers => github.com/openshift/kubernetes/staging/src/k8s.io/legacy-cloud-providers v0.0.0-20240507134651-6c10b2df178d // from kubernetes - k8s.io/metrics => github.com/openshift/kubernetes/staging/src/k8s.io/metrics v0.0.0-20240507134651-6c10b2df178d // from kubernetes - k8s.io/mount-utils => github.com/openshift/kubernetes/staging/src/k8s.io/mount-utils v0.0.0-20240507134651-6c10b2df178d // from kubernetes - k8s.io/pod-security-admission => github.com/openshift/kubernetes/staging/src/k8s.io/pod-security-admission v0.0.0-20240507134651-6c10b2df178d // from kubernetes - k8s.io/sample-apiserver => github.com/openshift/kubernetes/staging/src/k8s.io/sample-apiserver v0.0.0-20240507134651-6c10b2df178d // from kubernetes - k8s.io/sample-cli-plugin => github.com/openshift/kubernetes/staging/src/k8s.io/sample-cli-plugin v0.0.0-20240507134651-6c10b2df178d // from kubernetes - k8s.io/sample-controller => github.com/openshift/kubernetes/staging/src/k8s.io/sample-controller v0.0.0-20240507134651-6c10b2df178d // from kubernetes + k8s.io/api => github.com/openshift/kubernetes/staging/src/k8s.io/api v0.0.0-20240514134208-4a87b5377b72 // staging kubernetes + k8s.io/apiextensions-apiserver => github.com/openshift/kubernetes/staging/src/k8s.io/apiextensions-apiserver v0.0.0-20240514134208-4a87b5377b72 // staging kubernetes + k8s.io/apimachinery => github.com/openshift/kubernetes/staging/src/k8s.io/apimachinery v0.0.0-20240514134208-4a87b5377b72 // staging kubernetes + k8s.io/apiserver => github.com/openshift/kubernetes/staging/src/k8s.io/apiserver v0.0.0-20240514134208-4a87b5377b72 // staging kubernetes + k8s.io/cli-runtime => github.com/openshift/kubernetes/staging/src/k8s.io/cli-runtime v0.0.0-20240514134208-4a87b5377b72 // from kubernetes + k8s.io/client-go => github.com/openshift/kubernetes/staging/src/k8s.io/client-go v0.0.0-20240514134208-4a87b5377b72 // staging kubernetes + k8s.io/cloud-provider => github.com/openshift/kubernetes/staging/src/k8s.io/cloud-provider v0.0.0-20240514134208-4a87b5377b72 // from kubernetes + k8s.io/cluster-bootstrap => github.com/openshift/kubernetes/staging/src/k8s.io/cluster-bootstrap v0.0.0-20240514134208-4a87b5377b72 // from kubernetes + k8s.io/code-generator => github.com/openshift/kubernetes/staging/src/k8s.io/code-generator v0.0.0-20240514134208-4a87b5377b72 // staging kubernetes + k8s.io/component-base => github.com/openshift/kubernetes/staging/src/k8s.io/component-base v0.0.0-20240514134208-4a87b5377b72 // staging kubernetes + k8s.io/component-helpers => github.com/openshift/kubernetes/staging/src/k8s.io/component-helpers v0.0.0-20240514134208-4a87b5377b72 // from kubernetes + k8s.io/controller-manager => github.com/openshift/kubernetes/staging/src/k8s.io/controller-manager v0.0.0-20240514134208-4a87b5377b72 // from kubernetes + k8s.io/cri-api => github.com/openshift/kubernetes/staging/src/k8s.io/cri-api v0.0.0-20240514134208-4a87b5377b72 // from kubernetes + k8s.io/csi-translation-lib => github.com/openshift/kubernetes/staging/src/k8s.io/csi-translation-lib v0.0.0-20240514134208-4a87b5377b72 // from kubernetes + k8s.io/dynamic-resource-allocation => github.com/openshift/kubernetes/staging/src/k8s.io/dynamic-resource-allocation v0.0.0-20240514134208-4a87b5377b72 // staging kubernetes + k8s.io/kms => github.com/openshift/kubernetes/staging/src/k8s.io/kms v0.0.0-20240514134208-4a87b5377b72 // staging kubernetes + k8s.io/kube-aggregator => github.com/openshift/kubernetes/staging/src/k8s.io/kube-aggregator v0.0.0-20240514134208-4a87b5377b72 // staging kubernetes + k8s.io/kube-controller-manager => github.com/openshift/kubernetes/staging/src/k8s.io/kube-controller-manager v0.0.0-20240514134208-4a87b5377b72 // from kubernetes + k8s.io/kube-proxy => github.com/openshift/kubernetes/staging/src/k8s.io/kube-proxy v0.0.0-20240514134208-4a87b5377b72 // from kubernetes + k8s.io/kube-scheduler => github.com/openshift/kubernetes/staging/src/k8s.io/kube-scheduler v0.0.0-20240514134208-4a87b5377b72 // from kubernetes + k8s.io/kubectl => github.com/openshift/kubernetes/staging/src/k8s.io/kubectl v0.0.0-20240514134208-4a87b5377b72 // from kubernetes + k8s.io/kubelet => github.com/openshift/kubernetes/staging/src/k8s.io/kubelet v0.0.0-20240514134208-4a87b5377b72 // from kubernetes + k8s.io/kubernetes => github.com/openshift/kubernetes v0.0.0-20240514134208-4a87b5377b72 // release kubernetes + k8s.io/legacy-cloud-providers => github.com/openshift/kubernetes/staging/src/k8s.io/legacy-cloud-providers v0.0.0-20240514134208-4a87b5377b72 // from kubernetes + k8s.io/metrics => github.com/openshift/kubernetes/staging/src/k8s.io/metrics v0.0.0-20240514134208-4a87b5377b72 // from kubernetes + k8s.io/mount-utils => github.com/openshift/kubernetes/staging/src/k8s.io/mount-utils v0.0.0-20240514134208-4a87b5377b72 // from kubernetes + k8s.io/pod-security-admission => github.com/openshift/kubernetes/staging/src/k8s.io/pod-security-admission v0.0.0-20240514134208-4a87b5377b72 // from kubernetes + k8s.io/sample-apiserver => github.com/openshift/kubernetes/staging/src/k8s.io/sample-apiserver v0.0.0-20240514134208-4a87b5377b72 // from kubernetes + k8s.io/sample-cli-plugin => github.com/openshift/kubernetes/staging/src/k8s.io/sample-cli-plugin v0.0.0-20240514134208-4a87b5377b72 // from kubernetes + k8s.io/sample-controller => github.com/openshift/kubernetes/staging/src/k8s.io/sample-controller v0.0.0-20240514134208-4a87b5377b72 // from kubernetes ) replace ( @@ -273,4 +273,4 @@ replace ( replace sigs.k8s.io/kube-storage-version-migrator => github.com/openshift/kubernetes-kube-storage-version-migrator v0.0.3-0.20240125051406-969a60e9e246 // release kube-storage-version-migrator via kubernetes-kube-storage-version-migrator -replace k8s.io/endpointslice => github.com/openshift/kubernetes/staging/src/k8s.io/endpointslice v0.0.0-20240507134651-6c10b2df178d // staging kubernetes +replace k8s.io/endpointslice => github.com/openshift/kubernetes/staging/src/k8s.io/endpointslice v0.0.0-20240514134208-4a87b5377b72 // staging kubernetes diff --git a/go.sum b/go.sum index 71ef3fbade..9720f417e9 100644 --- a/go.sum +++ b/go.sum @@ -484,8 +484,8 @@ github.com/opencontainers/runtime-spec v1.0.3-0.20220909204839-494a5a6aca78 h1:R github.com/opencontainers/runtime-spec v1.0.3-0.20220909204839-494a5a6aca78/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= github.com/opencontainers/selinux v1.11.0 h1:+5Zbo97w3Lbmb3PeqQtpmTkMwsW5nRI3YaLpt7tQ7oU= github.com/opencontainers/selinux v1.11.0/go.mod h1:E5dMC3VPuVvVHDYmi78qvhJp8+M586T4DlDRYpFkyec= -github.com/openshift/api v0.0.0-20240405095747-3e50337fcaea h1:cjCo7sUIjL+Q2ZGMfLXzFb70K+77R52GVjh10fRhA1M= -github.com/openshift/api v0.0.0-20240405095747-3e50337fcaea/go.mod h1:CxgbWAlvu2iQB0UmKTtRu1YfepRg1/vJ64n2DlIEVz4= +github.com/openshift/api v0.0.0-20240424142232-29a704bf5aa2 h1:U1BsjJoTsvYjymeMseC8apZnvCgExIIRolpc/xJ7jhM= +github.com/openshift/api v0.0.0-20240424142232-29a704bf5aa2/go.mod h1:CxgbWAlvu2iQB0UmKTtRu1YfepRg1/vJ64n2DlIEVz4= github.com/openshift/apiserver-library-go v0.0.0-20240313131158-facc40cc7688 h1:E7U+i+BKXjzH1bZsB5a9ueSxF/8QeLxA9ZncCb0vecs= github.com/openshift/apiserver-library-go v0.0.0-20240313131158-facc40cc7688/go.mod h1:a6meSr6htNKfmmZ8ixLmnim/JL7NkgW7rX7J2vczMp4= github.com/openshift/build-machinery-go v0.0.0-20231128094528-1e9b1b0595c8 h1:cu3YUMVGsKIyFyJGO3F6BZKGYQZpCKxAv9cBPgQAca8= @@ -502,62 +502,62 @@ github.com/openshift/etcd/client/v3 v3.5.1-0.20240507115420-bc2fec27ff5b h1:QiMi github.com/openshift/etcd/client/v3 v3.5.1-0.20240507115420-bc2fec27ff5b/go.mod h1:cqiAeY8b5DEEcpxvgWKsbLIWNM/8Wy2xJSDMtioMcoI= github.com/openshift/ginkgo/v2 v2.6.1-0.20231031162821-c5e24be53ea7 h1:jUM9Fdf+fT0LTccN58jrypOyzcfQUs1v2UH6f8vdBTA= github.com/openshift/ginkgo/v2 v2.6.1-0.20231031162821-c5e24be53ea7/go.mod h1:TE309ZR8s5FsKKpuB1YAQYBzCaAfUgatB/xlT/ETL/o= -github.com/openshift/kubernetes v0.0.0-20240507134651-6c10b2df178d h1:thgGzwuudZaUfKFKq2pjNAemMzaGwy7owFCgx7hUKaQ= -github.com/openshift/kubernetes v0.0.0-20240507134651-6c10b2df178d/go.mod h1:3rcdbfeE+i0PHNxarDfvhzAYwbqDH0b3Rbj8gDh+hIw= +github.com/openshift/kubernetes v0.0.0-20240514134208-4a87b5377b72 h1:3lFkNEQqrNklVfKjB3X2qxoFYo43cR/ZYDZKhWXl9Vk= +github.com/openshift/kubernetes v0.0.0-20240514134208-4a87b5377b72/go.mod h1:kngJNCmXpz6exTE+4WLgGS1hUpUEUxId5vjzDG5VgbY= github.com/openshift/kubernetes-kube-storage-version-migrator v0.0.3-0.20240125051406-969a60e9e246 h1:XbvnIzWITQAGkucBNg+7fCBF0ysRySNSOkTvYWFU6fA= github.com/openshift/kubernetes-kube-storage-version-migrator v0.0.3-0.20240125051406-969a60e9e246/go.mod h1:XvsDWvUXlITs6q4deif+DIbomfUhxf6igCMjFiP6jHU= -github.com/openshift/kubernetes/staging/src/k8s.io/api v0.0.0-20240507134651-6c10b2df178d h1:Yc1JOR6IrdjeMg9kg7Ph5AwwE6NanUiUZoPWN4U/IXE= -github.com/openshift/kubernetes/staging/src/k8s.io/api v0.0.0-20240507134651-6c10b2df178d/go.mod h1:oIThoHpI6Q+T3cndFnOnKY4n2GzS7mYQvvBIQ/VvI8M= -github.com/openshift/kubernetes/staging/src/k8s.io/apiextensions-apiserver v0.0.0-20240507134651-6c10b2df178d h1:oWPO66SlrsDr+CqGurmzPRBDljByAAc7jmR4uTbjJGM= -github.com/openshift/kubernetes/staging/src/k8s.io/apiextensions-apiserver v0.0.0-20240507134651-6c10b2df178d/go.mod h1:/prwKRpRqI92hcIMKh4/iMZ6R/Ac2m2WR6xOwLWFEO4= -github.com/openshift/kubernetes/staging/src/k8s.io/apimachinery v0.0.0-20240507134651-6c10b2df178d h1:SCI2zzRtSMTTkuiuZ4Cw1MFD11+p7N9v6QSLwwe4Kns= -github.com/openshift/kubernetes/staging/src/k8s.io/apimachinery v0.0.0-20240507134651-6c10b2df178d/go.mod h1:IhHRRF080N9VU1QEEJ5zTYAQkPElZ84OH08nPyo0Lw0= -github.com/openshift/kubernetes/staging/src/k8s.io/apiserver v0.0.0-20240507134651-6c10b2df178d h1:JLeMiiSV4ZAxnRIY2MP2dxF1J+1iKejc+cbjJh9cVaY= -github.com/openshift/kubernetes/staging/src/k8s.io/apiserver v0.0.0-20240507134651-6c10b2df178d/go.mod h1:ry6KC66wtRKz9OEJXTpLj9OKjC5wZkMTM8Y/dMRAoVA= -github.com/openshift/kubernetes/staging/src/k8s.io/cli-runtime v0.0.0-20240507134651-6c10b2df178d h1:yZxxEBTWbIG65LGp4Do2DKmjGHfbtr4sg0l6fklShZg= -github.com/openshift/kubernetes/staging/src/k8s.io/cli-runtime v0.0.0-20240507134651-6c10b2df178d/go.mod h1:eq1ArtMJ3o/VUDn7NTP/eryQG8pTGjtattESXd5g42U= -github.com/openshift/kubernetes/staging/src/k8s.io/client-go v0.0.0-20240507134651-6c10b2df178d h1:SeU//0Qi+eAwEzkbBON7EKg+AKRY48h0hg9CSv/iAh8= -github.com/openshift/kubernetes/staging/src/k8s.io/client-go v0.0.0-20240507134651-6c10b2df178d/go.mod h1:68E0AiovGRxyJ30s/QzLPLardQJCx/gm2GhdaAzJ10M= -github.com/openshift/kubernetes/staging/src/k8s.io/cloud-provider v0.0.0-20240507134651-6c10b2df178d h1:AwYghjD2ivyHaGhUjUiM9unf7kQZ5wYnZQl57chewPs= -github.com/openshift/kubernetes/staging/src/k8s.io/cloud-provider v0.0.0-20240507134651-6c10b2df178d/go.mod h1:ahEk+ldnrgcZAWbVc8MoM88Ej58R1yO3pRgEJscso8c= -github.com/openshift/kubernetes/staging/src/k8s.io/cluster-bootstrap v0.0.0-20240507134651-6c10b2df178d h1:Mr9y1HMGf8U9sGYytezRP1aW0B8AGy2u+Xecbo5Tyuk= -github.com/openshift/kubernetes/staging/src/k8s.io/cluster-bootstrap v0.0.0-20240507134651-6c10b2df178d/go.mod h1:NMIqLZ1bjJKn/OxQs/urOq9Mo7o4Z9SgaEkDi8r0iDQ= -github.com/openshift/kubernetes/staging/src/k8s.io/component-base v0.0.0-20240507134651-6c10b2df178d h1:eSdC2yPQwBLL4OsyyTIAxY/9Aeilr5lhy3Fdf8OBjEg= -github.com/openshift/kubernetes/staging/src/k8s.io/component-base v0.0.0-20240507134651-6c10b2df178d/go.mod h1:JnCQWqQaTRtB1Mp/WKNpwndJeyVDa0DX0XfjeQlmB1M= -github.com/openshift/kubernetes/staging/src/k8s.io/component-helpers v0.0.0-20240507134651-6c10b2df178d h1:StslCC3bXhLUtM434bLWSWT8wVrmt1ESc155zVcGIhI= -github.com/openshift/kubernetes/staging/src/k8s.io/component-helpers v0.0.0-20240507134651-6c10b2df178d/go.mod h1:Ken1KocNhJBJHBCvzeByTlXNO+oxxh982ieimC6KX4g= -github.com/openshift/kubernetes/staging/src/k8s.io/controller-manager v0.0.0-20240507134651-6c10b2df178d h1:8ScLCyHVFWAiQHgH5Nrw/VkncQCodU1eJfYSS/IdWsg= -github.com/openshift/kubernetes/staging/src/k8s.io/controller-manager v0.0.0-20240507134651-6c10b2df178d/go.mod h1:lP4RyYBciOkhbVCTb5MbSN0/GOauZTwGgpbTkwb7kEw= -github.com/openshift/kubernetes/staging/src/k8s.io/cri-api v0.0.0-20240507134651-6c10b2df178d h1:tfmxQNRGzJMtIOD/KrG47PohkbIcF8WwZ47K34pyEpo= -github.com/openshift/kubernetes/staging/src/k8s.io/cri-api v0.0.0-20240507134651-6c10b2df178d/go.mod h1:9Tgle7RkZOzgRM2VCSvvXZZjsQqOC6dxLtYy6BF+5PE= -github.com/openshift/kubernetes/staging/src/k8s.io/csi-translation-lib v0.0.0-20240507134651-6c10b2df178d h1:9+Z2HlA8dv41jIeCyKk+D2QYhYjCfLKXkJNU2bvOrqg= -github.com/openshift/kubernetes/staging/src/k8s.io/csi-translation-lib v0.0.0-20240507134651-6c10b2df178d/go.mod h1:bKXDOUmiy/juOoPYsnxt3RbUKZKx+LFKsfCZw8nxsos= -github.com/openshift/kubernetes/staging/src/k8s.io/dynamic-resource-allocation v0.0.0-20240507134651-6c10b2df178d h1:4amTjk9TvVTi29l6Z+cgDGb7jHUTf9zh1RL2KOnCIgk= -github.com/openshift/kubernetes/staging/src/k8s.io/dynamic-resource-allocation v0.0.0-20240507134651-6c10b2df178d/go.mod h1:ia6wL8kICRq0a6Zj2idep1RncpGA/8/qdTbL5rYqxz0= -github.com/openshift/kubernetes/staging/src/k8s.io/endpointslice v0.0.0-20240507134651-6c10b2df178d h1:2x35B2ihOGqDgSuYy2rnnTwF0M3RktibxD5TmwZ8BaA= -github.com/openshift/kubernetes/staging/src/k8s.io/endpointslice v0.0.0-20240507134651-6c10b2df178d/go.mod h1:O/HKBFPaFbGb++MLSF/NSRMvksaQ3yfgOgXLuykggQA= -github.com/openshift/kubernetes/staging/src/k8s.io/kms v0.0.0-20240507134651-6c10b2df178d h1:B6l4u+5loSpV7Arov0sZzxB/AkXlksE4oFYa1YkMSmY= -github.com/openshift/kubernetes/staging/src/k8s.io/kms v0.0.0-20240507134651-6c10b2df178d/go.mod h1:4pCpiW+pKMCqRLVoGPw11lrvEriSyd8o7DSvCw2u9vY= -github.com/openshift/kubernetes/staging/src/k8s.io/kube-aggregator v0.0.0-20240507134651-6c10b2df178d h1:QDjxWb5l6O2Dq/F4EMI2GHRgCawchHTCTMlDKzyQFGI= -github.com/openshift/kubernetes/staging/src/k8s.io/kube-aggregator v0.0.0-20240507134651-6c10b2df178d/go.mod h1:s6LCMoQlCajfzAFIaRcxCImDJf0vsuSW7YYZ6crPUYM= -github.com/openshift/kubernetes/staging/src/k8s.io/kube-controller-manager v0.0.0-20240507134651-6c10b2df178d h1:DiJMWL0EKeiFxZsEVoPrJU5V2P1CP/HIzmbvcAKmRV8= -github.com/openshift/kubernetes/staging/src/k8s.io/kube-controller-manager v0.0.0-20240507134651-6c10b2df178d/go.mod h1:GzLfPndMG5N4amYe78K2d9Y32Dtdz7IxAsR+jvYNAxM= -github.com/openshift/kubernetes/staging/src/k8s.io/kube-scheduler v0.0.0-20240507134651-6c10b2df178d h1:mLBcZD/DTG/xeoHjTtDsvd+fM/pFj6niAxxjtGErBrQ= -github.com/openshift/kubernetes/staging/src/k8s.io/kube-scheduler v0.0.0-20240507134651-6c10b2df178d/go.mod h1:iCnLhShFPbA6+0cBJHMIC8osA4ukveEZbQweXjn+oXo= -github.com/openshift/kubernetes/staging/src/k8s.io/kubectl v0.0.0-20240507134651-6c10b2df178d h1:3OOmKq9uWilWi4ncfj4A724fWgrAx5w7bIlKDqB048U= -github.com/openshift/kubernetes/staging/src/k8s.io/kubectl v0.0.0-20240507134651-6c10b2df178d/go.mod h1:L0N5ONv4vn8oIGy8gjX0ZzkLT7GLQxP2G9R2+K/osEM= -github.com/openshift/kubernetes/staging/src/k8s.io/kubelet v0.0.0-20240507134651-6c10b2df178d h1:Fat35o1dfQcdeDpaDUd9fq5hbqUd7AeIHckt2X2HvRk= -github.com/openshift/kubernetes/staging/src/k8s.io/kubelet v0.0.0-20240507134651-6c10b2df178d/go.mod h1:KvraWPlwZlgVhDnR3yjrAQTIPAk2Qia7iA6f7MWmZ6k= -github.com/openshift/kubernetes/staging/src/k8s.io/legacy-cloud-providers v0.0.0-20240507134651-6c10b2df178d h1:/uUvG6FLMBgWzwIzKr+aFBp2cfODr/LLs6Kal4QvJTI= -github.com/openshift/kubernetes/staging/src/k8s.io/legacy-cloud-providers v0.0.0-20240507134651-6c10b2df178d/go.mod h1:W4g9/bUJ1/X01jOJGx395Ob4wKV2R58OrGvDhVdZSjw= -github.com/openshift/kubernetes/staging/src/k8s.io/metrics v0.0.0-20240507134651-6c10b2df178d h1:7Kh4dsfXPEhArgIlkBJvhDkFz00QEHqeg/c26a4i4Uk= -github.com/openshift/kubernetes/staging/src/k8s.io/metrics v0.0.0-20240507134651-6c10b2df178d/go.mod h1:wcQC0ObNu0HtMRBaJJL6OJgg+DzcrdgW9ek5i7AncbE= -github.com/openshift/kubernetes/staging/src/k8s.io/mount-utils v0.0.0-20240507134651-6c10b2df178d h1:FBNqo0BwO2Ue8vH8/X/tiPblp3PqFFEqwA4xW/AIgc4= -github.com/openshift/kubernetes/staging/src/k8s.io/mount-utils v0.0.0-20240507134651-6c10b2df178d/go.mod h1:4KmkE88Y4LDYrotr6iqMrolXDcWWY7UqmroXTO/sxFw= -github.com/openshift/kubernetes/staging/src/k8s.io/pod-security-admission v0.0.0-20240507134651-6c10b2df178d h1:Zu6AvmcYJth/sQYFqAGE4/wB6XH7fxEm4eiPxfm+tz0= -github.com/openshift/kubernetes/staging/src/k8s.io/pod-security-admission v0.0.0-20240507134651-6c10b2df178d/go.mod h1:bWoqYVgriw8l8YZVL64Vwj0eDheLGIbgxWRU/dUycJ0= -github.com/openshift/library-go v0.0.0-20240411091851-558ed29cc1dd h1:svnVGaIsBgNRW/6FRRxIWOyYmpL7jL7LkkRYiYS8OFk= -github.com/openshift/library-go v0.0.0-20240411091851-558ed29cc1dd/go.mod h1:m/HsttSi90vSixwoy5mPUBHcZid2YRw/QbsLErLxF9s= +github.com/openshift/kubernetes/staging/src/k8s.io/api v0.0.0-20240514134208-4a87b5377b72 h1:qjrwrazbe21n/SiBYRuCaFOEhvLoFDE3c3TSlzvVhiM= +github.com/openshift/kubernetes/staging/src/k8s.io/api v0.0.0-20240514134208-4a87b5377b72/go.mod h1:oIThoHpI6Q+T3cndFnOnKY4n2GzS7mYQvvBIQ/VvI8M= +github.com/openshift/kubernetes/staging/src/k8s.io/apiextensions-apiserver v0.0.0-20240514134208-4a87b5377b72 h1:Q9htlDMNMasaU/LJJ1DdQyqQPFc0dv+PwIMs0C6t8y8= +github.com/openshift/kubernetes/staging/src/k8s.io/apiextensions-apiserver v0.0.0-20240514134208-4a87b5377b72/go.mod h1:wUPaZ3kD56u1+Otpop2sGPnb5Jd05G9+CASPAq4jajM= +github.com/openshift/kubernetes/staging/src/k8s.io/apimachinery v0.0.0-20240514134208-4a87b5377b72 h1:B7ZkjzrNk2rfyrW/fQWxWcBGnXdbR4vXSplp5Mq6Abw= +github.com/openshift/kubernetes/staging/src/k8s.io/apimachinery v0.0.0-20240514134208-4a87b5377b72/go.mod h1:IhHRRF080N9VU1QEEJ5zTYAQkPElZ84OH08nPyo0Lw0= +github.com/openshift/kubernetes/staging/src/k8s.io/apiserver v0.0.0-20240514134208-4a87b5377b72 h1:OLdAO18NsQHIy6fnDczIiKJxBbDGeCE6gVYd3tmXLlk= +github.com/openshift/kubernetes/staging/src/k8s.io/apiserver v0.0.0-20240514134208-4a87b5377b72/go.mod h1:sjU09dvDkAwHERssOwGL7Dh0XzRuddq+gDAImcKFLo4= +github.com/openshift/kubernetes/staging/src/k8s.io/cli-runtime v0.0.0-20240514134208-4a87b5377b72 h1:lGlwPLxReeq3UIiujQXlE8F42K9/a/NUTdRy3Ck8xfY= +github.com/openshift/kubernetes/staging/src/k8s.io/cli-runtime v0.0.0-20240514134208-4a87b5377b72/go.mod h1:eq1ArtMJ3o/VUDn7NTP/eryQG8pTGjtattESXd5g42U= +github.com/openshift/kubernetes/staging/src/k8s.io/client-go v0.0.0-20240514134208-4a87b5377b72 h1:ggsNtnxQgCX6BMzoZlDkx2DvJ2oR0mDQNgTqJrohO1I= +github.com/openshift/kubernetes/staging/src/k8s.io/client-go v0.0.0-20240514134208-4a87b5377b72/go.mod h1:68E0AiovGRxyJ30s/QzLPLardQJCx/gm2GhdaAzJ10M= +github.com/openshift/kubernetes/staging/src/k8s.io/cloud-provider v0.0.0-20240514134208-4a87b5377b72 h1:FHed1fGrbR0EKGOVwj+4lwPfS8UllD2Hxul0vBiSOWs= +github.com/openshift/kubernetes/staging/src/k8s.io/cloud-provider v0.0.0-20240514134208-4a87b5377b72/go.mod h1:BMxEHFgDwf6lIiU/WFf9JaKhPjqKY2C3KPRaEF981TE= +github.com/openshift/kubernetes/staging/src/k8s.io/cluster-bootstrap v0.0.0-20240514134208-4a87b5377b72 h1:OTlTK+Cvq45yz7LgdIPJkmZAYkW+vD3sYhcCWiCAlh4= +github.com/openshift/kubernetes/staging/src/k8s.io/cluster-bootstrap v0.0.0-20240514134208-4a87b5377b72/go.mod h1:NMIqLZ1bjJKn/OxQs/urOq9Mo7o4Z9SgaEkDi8r0iDQ= +github.com/openshift/kubernetes/staging/src/k8s.io/component-base v0.0.0-20240514134208-4a87b5377b72 h1:s2vVIT1J8yJ2B5kCuwW9EURwOTT4iYrGhffQKUb1vYg= +github.com/openshift/kubernetes/staging/src/k8s.io/component-base v0.0.0-20240514134208-4a87b5377b72/go.mod h1:JnCQWqQaTRtB1Mp/WKNpwndJeyVDa0DX0XfjeQlmB1M= +github.com/openshift/kubernetes/staging/src/k8s.io/component-helpers v0.0.0-20240514134208-4a87b5377b72 h1:yiRRflQd/GVURdNyk9Hd6zshTHDKqthHuZs0OT7ZELI= +github.com/openshift/kubernetes/staging/src/k8s.io/component-helpers v0.0.0-20240514134208-4a87b5377b72/go.mod h1:Ken1KocNhJBJHBCvzeByTlXNO+oxxh982ieimC6KX4g= +github.com/openshift/kubernetes/staging/src/k8s.io/controller-manager v0.0.0-20240514134208-4a87b5377b72 h1:CIsYXPD3WoKw5v+/BqJX8gAHZQuahLowSs+Af5YvNFU= +github.com/openshift/kubernetes/staging/src/k8s.io/controller-manager v0.0.0-20240514134208-4a87b5377b72/go.mod h1:lP4RyYBciOkhbVCTb5MbSN0/GOauZTwGgpbTkwb7kEw= +github.com/openshift/kubernetes/staging/src/k8s.io/cri-api v0.0.0-20240514134208-4a87b5377b72 h1:GEDYphzv4Ns+4P8lbnTap9rPhcqenwKnh2ml9YW0zPs= +github.com/openshift/kubernetes/staging/src/k8s.io/cri-api v0.0.0-20240514134208-4a87b5377b72/go.mod h1:9Tgle7RkZOzgRM2VCSvvXZZjsQqOC6dxLtYy6BF+5PE= +github.com/openshift/kubernetes/staging/src/k8s.io/csi-translation-lib v0.0.0-20240514134208-4a87b5377b72 h1:lT11/ixbGfJngCe+F9hj0rCezHs7phN4j09yqPjhhSg= +github.com/openshift/kubernetes/staging/src/k8s.io/csi-translation-lib v0.0.0-20240514134208-4a87b5377b72/go.mod h1:bKXDOUmiy/juOoPYsnxt3RbUKZKx+LFKsfCZw8nxsos= +github.com/openshift/kubernetes/staging/src/k8s.io/dynamic-resource-allocation v0.0.0-20240514134208-4a87b5377b72 h1:OalMe8mwz3xB5IXCL3Gbi99ztiAB5MVVQ1PJ/IdY9XY= +github.com/openshift/kubernetes/staging/src/k8s.io/dynamic-resource-allocation v0.0.0-20240514134208-4a87b5377b72/go.mod h1:ia6wL8kICRq0a6Zj2idep1RncpGA/8/qdTbL5rYqxz0= +github.com/openshift/kubernetes/staging/src/k8s.io/endpointslice v0.0.0-20240514134208-4a87b5377b72 h1:h5ttt9hjXx66FL1YGOSpDkzmSjFC1L9onQxiqlNfhZ8= +github.com/openshift/kubernetes/staging/src/k8s.io/endpointslice v0.0.0-20240514134208-4a87b5377b72/go.mod h1:O/HKBFPaFbGb++MLSF/NSRMvksaQ3yfgOgXLuykggQA= +github.com/openshift/kubernetes/staging/src/k8s.io/kms v0.0.0-20240514134208-4a87b5377b72 h1:KehMwyswUg6Z51o5/9eJ0AGW/+NFBsP/47QXYNpjqAo= +github.com/openshift/kubernetes/staging/src/k8s.io/kms v0.0.0-20240514134208-4a87b5377b72/go.mod h1:4pCpiW+pKMCqRLVoGPw11lrvEriSyd8o7DSvCw2u9vY= +github.com/openshift/kubernetes/staging/src/k8s.io/kube-aggregator v0.0.0-20240514134208-4a87b5377b72 h1:1fpRz/bYFxoGq2Pi6jcvb1wVZVZt1pUuylCpMtD2mvo= +github.com/openshift/kubernetes/staging/src/k8s.io/kube-aggregator v0.0.0-20240514134208-4a87b5377b72/go.mod h1:4J7wfAzEbaohBbEGIixBHQL5SIyinxnGKUjlwn9L3YQ= +github.com/openshift/kubernetes/staging/src/k8s.io/kube-controller-manager v0.0.0-20240514134208-4a87b5377b72 h1:vv49Sh9Kj6Mh/5OuxVbG00QtplS7L88FMNGA/T8TG0o= +github.com/openshift/kubernetes/staging/src/k8s.io/kube-controller-manager v0.0.0-20240514134208-4a87b5377b72/go.mod h1:GzLfPndMG5N4amYe78K2d9Y32Dtdz7IxAsR+jvYNAxM= +github.com/openshift/kubernetes/staging/src/k8s.io/kube-scheduler v0.0.0-20240514134208-4a87b5377b72 h1:P6vwMHAzqm1vVQTafkGABwSO7eC6+qZrJXke/WjEW+M= +github.com/openshift/kubernetes/staging/src/k8s.io/kube-scheduler v0.0.0-20240514134208-4a87b5377b72/go.mod h1:iCnLhShFPbA6+0cBJHMIC8osA4ukveEZbQweXjn+oXo= +github.com/openshift/kubernetes/staging/src/k8s.io/kubectl v0.0.0-20240514134208-4a87b5377b72 h1:kX/CTovU0D9nYSa9Ra56M/o2EcgMeKUg5kFu8K4yjB4= +github.com/openshift/kubernetes/staging/src/k8s.io/kubectl v0.0.0-20240514134208-4a87b5377b72/go.mod h1:L0N5ONv4vn8oIGy8gjX0ZzkLT7GLQxP2G9R2+K/osEM= +github.com/openshift/kubernetes/staging/src/k8s.io/kubelet v0.0.0-20240514134208-4a87b5377b72 h1:N3cZmFa+SQX8t1FuhAr2aFwTVXPS2AOR60DMoqQ3e8w= +github.com/openshift/kubernetes/staging/src/k8s.io/kubelet v0.0.0-20240514134208-4a87b5377b72/go.mod h1:KvraWPlwZlgVhDnR3yjrAQTIPAk2Qia7iA6f7MWmZ6k= +github.com/openshift/kubernetes/staging/src/k8s.io/legacy-cloud-providers v0.0.0-20240514134208-4a87b5377b72 h1:rSdJ+wYkf0qqVcViMgINj4UMDeH9aT5iLufUXSysUqU= +github.com/openshift/kubernetes/staging/src/k8s.io/legacy-cloud-providers v0.0.0-20240514134208-4a87b5377b72/go.mod h1:W4g9/bUJ1/X01jOJGx395Ob4wKV2R58OrGvDhVdZSjw= +github.com/openshift/kubernetes/staging/src/k8s.io/metrics v0.0.0-20240514134208-4a87b5377b72 h1:4bLVdaOijZ/ABpfk71O5qjADUSmJC6IUx0cl6HT4YVA= +github.com/openshift/kubernetes/staging/src/k8s.io/metrics v0.0.0-20240514134208-4a87b5377b72/go.mod h1:wcQC0ObNu0HtMRBaJJL6OJgg+DzcrdgW9ek5i7AncbE= +github.com/openshift/kubernetes/staging/src/k8s.io/mount-utils v0.0.0-20240514134208-4a87b5377b72 h1:KTS3gTzfkyHnWDTGXR3/zgWkJB9jfWoTHI59rDS1xU4= +github.com/openshift/kubernetes/staging/src/k8s.io/mount-utils v0.0.0-20240514134208-4a87b5377b72/go.mod h1:4KmkE88Y4LDYrotr6iqMrolXDcWWY7UqmroXTO/sxFw= +github.com/openshift/kubernetes/staging/src/k8s.io/pod-security-admission v0.0.0-20240514134208-4a87b5377b72 h1:og/U/mx0dY+DWV5v4qTDf24zuqp4B5xnm0kSiJOJDO0= +github.com/openshift/kubernetes/staging/src/k8s.io/pod-security-admission v0.0.0-20240514134208-4a87b5377b72/go.mod h1:nEqWuQNrBxCIeYnc9zWoV3/SW5Lhtrn7vvugEFVk88o= +github.com/openshift/library-go v0.0.0-20240513090140-e22d25af5587 h1:eZ79/F6bhtqoY78KRRxp5G5yITTgVatMnj5J/cYDumI= +github.com/openshift/library-go v0.0.0-20240513090140-e22d25af5587/go.mod h1:lFwyRj0XjUf25Da3Q00y+KuaxCWTJ6YzYPDX1+96nco= github.com/openshift/route-controller-manager v0.0.0-20240306200724-3112b458983c h1:Y+CdtMBqLmL5RQAYzugn3O5xsKC6y0oYpqY9Ds/PMr8= github.com/openshift/route-controller-manager v0.0.0-20240306200724-3112b458983c/go.mod h1:bKMzHzOveoSMWypzUHrHxf62Oq8BOnNhwjTeDp/lgDg= github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= From 5cc718d49b7bdc6745e7e0d355ce45cf70343586 Mon Sep 17 00:00:00 2001 From: ci-robot Date: Wed, 15 May 2024 05:10:35 +0000 Subject: [PATCH 4/9] update microshift/vendor --- vendor/github.com/openshift/api/Makefile | 1 + vendor/github.com/openshift/api/README.md | 18 +- .../openshift/api/config/v1/types_feature.go | 15 +- .../api/config/v1/types_infrastructure.go | 28 +- .../api/config/v1/types_testreporting.go | 46 +++ .../api/config/v1/zz_generated.deepcopy.go | 139 ++++++--- .../v1/zz_generated.swagger_doc_generated.go | 35 +++ vendor/github.com/openshift/api/features.md | 123 ++++---- .../feature_gates.go => features/features.go} | 284 +++++------------- .../github.com/openshift/api/features/util.go | 193 ++++++++++++ .../openshift/api/monitoring/install.go | 4 +- .../api/monitoring/{v1alpha1 => v1}/Makefile | 2 +- .../api/monitoring/{v1alpha1 => v1}/doc.go | 2 +- .../monitoring/{v1alpha1 => v1}/register.go | 4 +- .../api/monitoring/{v1alpha1 => v1}/types.go | 133 ++++---- .../{v1alpha1 => v1}/zz_generated.deepcopy.go | 6 +- ..._generated.featuregated-crd-manifests.yaml | 20 +- .../zz_generated.swagger_doc_generated.go | 38 +-- .../api/openshiftcontrolplane/v1/types.go | 3 + .../operator/v1/types_csi_cluster_driver.go | 29 ++ .../api/operator/v1/types_ingress.go | 17 ++ .../operator/v1/types_machineconfiguration.go | 4 +- .../api/operator/v1/zz_generated.deepcopy.go | 20 ++ ..._generated.featuregated-crd-manifests.yaml | 3 +- .../v1/zz_generated.swagger_doc_generated.go | 12 +- .../resourceapply/admissionregistration.go | 120 ++++++++ .../resource/resourceapply/generic.go | 13 + .../pkg/route/validation/validation.go | 2 +- .../route/validation_opts.go | 4 +- vendor/modules.txt | 121 ++++---- 30 files changed, 929 insertions(+), 510 deletions(-) create mode 100644 vendor/github.com/openshift/api/config/v1/types_testreporting.go rename vendor/github.com/openshift/api/{config/v1/feature_gates.go => features/features.go} (63%) create mode 100644 vendor/github.com/openshift/api/features/util.go rename vendor/github.com/openshift/api/monitoring/{v1alpha1 => v1}/Makefile (78%) rename vendor/github.com/openshift/api/monitoring/{v1alpha1 => v1}/doc.go (88%) rename vendor/github.com/openshift/api/monitoring/{v1alpha1 => v1}/register.go (97%) rename vendor/github.com/openshift/api/monitoring/{v1alpha1 => v1}/types.go (69%) rename vendor/github.com/openshift/api/monitoring/{v1alpha1 => v1}/zz_generated.deepcopy.go (98%) rename vendor/github.com/openshift/api/monitoring/{v1alpha1 => v1}/zz_generated.featuregated-crd-manifests.yaml (75%) rename vendor/github.com/openshift/api/monitoring/{v1alpha1 => v1}/zz_generated.swagger_doc_generated.go (76%) diff --git a/vendor/github.com/openshift/api/Makefile b/vendor/github.com/openshift/api/Makefile index 3b3c94edce..7fd5397518 100644 --- a/vendor/github.com/openshift/api/Makefile +++ b/vendor/github.com/openshift/api/Makefile @@ -51,6 +51,7 @@ verify-scripts: bash -x hack/verify-prerelease-lifecycle-gen.sh hack/verify-payload-crds.sh hack/verify-payload-featuregates.sh + hack/verify-promoted-features-pass-tests.sh .PHONY: verify verify: verify-scripts verify-crd-schema verify-codegen-crds diff --git a/vendor/github.com/openshift/api/README.md b/vendor/github.com/openshift/api/README.md index b46693a108..2054ba8151 100644 --- a/vendor/github.com/openshift/api/README.md +++ b/vendor/github.com/openshift/api/README.md @@ -52,7 +52,7 @@ FeatureGateMyFeatureName = newFeatureGate("MyFeatureName"). mustRegister() ``` -### defining tests +### defining API validation tests Tests are logically associated with FeatureGates. When adding any FeatureGated functionality a new test file is required. The test files are located in `//tests//FeatureGate.yaml`: @@ -87,6 +87,22 @@ react to changes when the FeatureGates are enabled/disabled on various FeatureSe [`gen-minimal-test.sh`](tests/hack/gen-minimal-test.sh) can still function to stub out files if you don't want to copy/paste an existing one. +### defining FeatureGate e2e tests + +In order to move an API into the `Default` FeatureSet, it is necessary to demonstrate completeness and reliability. +E2E tests are the ONLY category of test that automatically prevents regression over time: repository presubmits do NOT provide equivalent protection. +To confirm this, there is an automated verify script that runs every time a FeatureGate is added to the `Default` FeatureSet. +The script queries our CI system (sippy/component readiness) to retrieve a list of all automated tests for a given FeatureGate +and then enforces the following rules. +1. Tests must contain either `[OCPFeatureGate:]` or the standard upstream `[FeatureGate:]`. +2. There must be at least five tests for each FeatureGate. +3. Every test must be run on every TechPreview platform we have jobs for. (Ask for an exception if your feature doesn't support a variant.) +4. Every test must run at least 14 times on every platform/variant. +5. Every test must pass at least 95% of the time on every platform/variant. + +If your FeatureGate lacks automated testing, there is an exception process that allows QE to sign off on the promotion by +commenting on the PR. + ## defining new APIs diff --git a/vendor/github.com/openshift/api/config/v1/types_feature.go b/vendor/github.com/openshift/api/config/v1/types_feature.go index 2efe16f4e6..1e03171961 100644 --- a/vendor/github.com/openshift/api/config/v1/types_feature.go +++ b/vendor/github.com/openshift/api/config/v1/types_feature.go @@ -43,16 +43,17 @@ var ( // this feature set on CANNOT BE UNDONE and PREVENTS UPGRADES. TechPreviewNoUpgrade FeatureSet = "TechPreviewNoUpgrade" + // DevPreviewNoUpgrade turns on dev preview features that are not part of the normal supported platform. Turning + // this feature set on CANNOT BE UNDONE and PREVENTS UPGRADES. + DevPreviewNoUpgrade FeatureSet = "DevPreviewNoUpgrade" + // CustomNoUpgrade allows the enabling or disabling of any feature. Turning this feature set on IS NOT SUPPORTED, CANNOT BE UNDONE, and PREVENTS UPGRADES. // Because of its nature, this setting cannot be validated. If you have any typos or accidentally apply invalid combinations // your cluster may fail in an unrecoverable way. CustomNoUpgrade FeatureSet = "CustomNoUpgrade" - // TopologyManager enables ToplogyManager support. Upgrades are enabled with this feature. - LatencySensitive FeatureSet = "LatencySensitive" - // AllFixedFeatureSets are the featuresets that have known featuregates. Custom doesn't for instance. LatencySensitive is dead - AllFixedFeatureSets = []FeatureSet{Default, TechPreviewNoUpgrade} + AllFixedFeatureSets = []FeatureSet{Default, TechPreviewNoUpgrade, DevPreviewNoUpgrade} ) type FeatureGateSpec struct { @@ -67,6 +68,7 @@ type FeatureGateSelection struct { // +optional // +kubebuilder:validation:XValidation:rule="oldSelf == 'CustomNoUpgrade' ? self == 'CustomNoUpgrade' : true",message="CustomNoUpgrade may not be changed" // +kubebuilder:validation:XValidation:rule="oldSelf == 'TechPreviewNoUpgrade' ? self == 'TechPreviewNoUpgrade' : true",message="TechPreviewNoUpgrade may not be changed" + // +kubebuilder:validation:XValidation:rule="oldSelf == 'DevPreviewNoUpgrade' ? self == 'DevPreviewNoUpgrade' : true",message="DevPreviewNoUpgrade may not be changed" FeatureSet FeatureSet `json:"featureSet,omitempty"` // customNoUpgrade allows the enabling or disabling of any feature. Turning this feature set on IS NOT SUPPORTED, CANNOT BE UNDONE, and PREVENTS UPGRADES. @@ -146,8 +148,3 @@ type FeatureGateList struct { Items []FeatureGate `json:"items"` } - -type FeatureGateEnabledDisabled struct { - Enabled []FeatureGateDescription - Disabled []FeatureGateDescription -} diff --git a/vendor/github.com/openshift/api/config/v1/types_infrastructure.go b/vendor/github.com/openshift/api/config/v1/types_infrastructure.go index 611ba928cb..fb224c6e61 100644 --- a/vendor/github.com/openshift/api/config/v1/types_infrastructure.go +++ b/vendor/github.com/openshift/api/config/v1/types_infrastructure.go @@ -824,7 +824,7 @@ type BareMetalPlatformSpec struct { // Once set, the list cannot be completely removed (but its second entry can). // // +kubebuilder:validation:MaxItems=2 - // +kubebuilder:validation:XValidation:rule="size(self) == 2 ? self.exists_one(x, x.contains(':')) : true",message="apiServerInternalIPs must contain at most one IPv4 address and at most one IPv6 address" + // +kubebuilder:validation:XValidation:rule="size(self) == 2 && isIP(self[0]) && isIP(self[1]) ? ip(self[0]).family() != ip(self[1]).family() : true",message="apiServerInternalIPs must contain at most one IPv4 address and at most one IPv6 address" // +listType=set // +optional APIServerInternalIPs []IP `json:"apiServerInternalIPs"` @@ -839,7 +839,7 @@ type BareMetalPlatformSpec struct { // Once set, the list cannot be completely removed (but its second entry can). // // +kubebuilder:validation:MaxItems=2 - // +kubebuilder:validation:XValidation:rule="size(self) == 2 ? self.exists_one(x, x.contains(':')) : true",message="ingressIPs must contain at most one IPv4 address and at most one IPv6 address" + // +kubebuilder:validation:XValidation:rule="size(self) == 2 && isIP(self[0]) && isIP(self[1]) ? ip(self[0]).family() != ip(self[1]).family() : true",message="ingressIPs must contain at most one IPv4 address and at most one IPv6 address" // +listType=set // +optional IngressIPs []IP `json:"ingressIPs"` @@ -951,7 +951,7 @@ type OpenStackPlatformSpec struct { // Once set, the list cannot be completely removed (but its second entry can). // // +kubebuilder:validation:MaxItems=2 - // +kubebuilder:validation:XValidation:rule="size(self) == 2 ? self.exists_one(x, x.contains(':')) : true",message="apiServerInternalIPs must contain at most one IPv4 address and at most one IPv6 address" + // +kubebuilder:validation:XValidation:rule="size(self) == 2 && isIP(self[0]) && isIP(self[1]) ? ip(self[0]).family() != ip(self[1]).family() : true",message="apiServerInternalIPs must contain at most one IPv4 address and at most one IPv6 address" // +listType=set // +optional APIServerInternalIPs []IP `json:"apiServerInternalIPs"` @@ -966,7 +966,7 @@ type OpenStackPlatformSpec struct { // Once set, the list cannot be completely removed (but its second entry can). // // +kubebuilder:validation:MaxItems=2 - // +kubebuilder:validation:XValidation:rule="size(self) == 2 ? self.exists_one(x, x.contains(':')) : true",message="ingressIPs must contain at most one IPv4 address and at most one IPv6 address" + // +kubebuilder:validation:XValidation:rule="size(self) == 2 && isIP(self[0]) && isIP(self[1]) ? ip(self[0]).family() != ip(self[1]).family() : true",message="ingressIPs must contain at most one IPv4 address and at most one IPv6 address" // +listType=set // +optional IngressIPs []IP `json:"ingressIPs"` @@ -1365,7 +1365,7 @@ type VSpherePlatformSpec struct { // Once set, the list cannot be completely removed (but its second entry can). // // +kubebuilder:validation:MaxItems=2 - // +kubebuilder:validation:XValidation:rule="size(self) == 2 ? self.exists_one(x, x.contains(':')) : true",message="apiServerInternalIPs must contain at most one IPv4 address and at most one IPv6 address" + // +kubebuilder:validation:XValidation:rule="size(self) == 2 && isIP(self[0]) && isIP(self[1]) ? ip(self[0]).family() != ip(self[1]).family() : true",message="apiServerInternalIPs must contain at most one IPv4 address and at most one IPv6 address" // +listType=set // +optional APIServerInternalIPs []IP `json:"apiServerInternalIPs"` @@ -1380,7 +1380,7 @@ type VSpherePlatformSpec struct { // Once set, the list cannot be completely removed (but its second entry can). // // +kubebuilder:validation:MaxItems=2 - // +kubebuilder:validation:XValidation:rule="size(self) == 2 ? self.exists_one(x, x.contains(':')) : true",message="ingressIPs must contain at most one IPv4 address and at most one IPv6 address" + // +kubebuilder:validation:XValidation:rule="size(self) == 2 && isIP(self[0]) && isIP(self[1]) ? ip(self[0]).family() != ip(self[1]).family() : true",message="ingressIPs must contain at most one IPv4 address and at most one IPv6 address" // +listType=set // +optional IngressIPs []IP `json:"ingressIPs"` @@ -1857,17 +1857,13 @@ type InfrastructureList struct { } // IP is an IP address (for example, "10.0.0.0" or "fd00::"). -// +kubebuilder:validation:Pattern=`(^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$)|(^s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:)))(%.+)?s*)` -// + --- -// + The regex for the IPv4 and IPv6 address was taken from -// + https://blog.markhatton.co.uk/2011/03/15/regular-expressions-for-ip-addresses-cidr-ranges-and-hostnames/ -// + The resulting regex is an OR of both regexes. +// +kubebuilder:validation:XValidation:rule="isIP(self)",message="value must be a valid IP address" +// +kubebuilder:validation:MaxLength:=39 +// +kubebuilder:validation:MinLength:=1 type IP string // CIDR is an IP address range in CIDR notation (for example, "10.0.0.0/8" or "fd00::/8"). -// +kubebuilder:validation:Pattern=`(^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/(3[0-2]|[1-2][0-9]|[0-9]))$)|(^s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:)))(%.+)?s*(\/(12[0-8]|1[0-1][0-9]|[1-9][0-9]|[0-9]))$)` -// + --- -// + The regex for the IPv4 and IPv6 CIDR range was taken from -// + https://blog.markhatton.co.uk/2011/03/15/regular-expressions-for-ip-addresses-cidr-ranges-and-hostnames/ -// + The resulting regex is an OR of both regexes. +// +kubebuilder:validation:XValidation:rule="isCIDR(self)",message="value must be a valid CIDR network address" +// +kubebuilder:validation:MaxLength:=43 +// +kubebuilder:validation:MinLength:=1 type CIDR string diff --git a/vendor/github.com/openshift/api/config/v1/types_testreporting.go b/vendor/github.com/openshift/api/config/v1/types_testreporting.go new file mode 100644 index 0000000000..4d642e060b --- /dev/null +++ b/vendor/github.com/openshift/api/config/v1/types_testreporting.go @@ -0,0 +1,46 @@ +package v1 + +import metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + +// TestReporting is used for origin (and potentially others) to report the test names for a given FeatureGate into +// the payload for later analysis on a per-payload basis. +// This doesn't need any CRD because it's never stored in the cluster. +// +// Compatibility level 4: No compatibility is provided, the API can change at any point for any reason. These capabilities should not be used by applications needing long term support. +// +openshift:compatibility-gen:internal +type TestReporting struct { + metav1.TypeMeta `json:",inline"` + + // metadata is the standard object's metadata. + // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata + metav1.ObjectMeta `json:"metadata,omitempty"` + + // +kubebuilder:validation:Required + // +required + Spec TestReportingSpec `json:"spec"` + // status holds observed values from the cluster. They may not be overridden. + // +optional + Status TestReportingStatus `json:"status"` +} + +type TestReportingSpec struct { + // TestsForFeatureGates is a list, indexed by FeatureGate and includes information about testing. + TestsForFeatureGates []FeatureGateTests `json:"testsForFeatureGates"` +} + +type FeatureGateTests struct { + // FeatureGate is the name of the FeatureGate as it appears in The FeatureGate CR instance. + FeatureGate string `json:"featureGate"` + + // Tests contains an item for every TestName + Tests []TestDetails `json:"tests"` +} + +type TestDetails struct { + // TestName is the name of the test as it appears in junit XMLs. + // It does not include the suite name since the same test can be executed in many suites. + TestName string `json:"testName"` +} + +type TestReportingStatus struct { +} diff --git a/vendor/github.com/openshift/api/config/v1/zz_generated.deepcopy.go b/vendor/github.com/openshift/api/config/v1/zz_generated.deepcopy.go index 02c2d7221d..9a81bc559c 100644 --- a/vendor/github.com/openshift/api/config/v1/zz_generated.deepcopy.go +++ b/vendor/github.com/openshift/api/config/v1/zz_generated.deepcopy.go @@ -2039,23 +2039,6 @@ func (in *FeatureGateAttributes) DeepCopy() *FeatureGateAttributes { return out } -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *FeatureGateDescription) DeepCopyInto(out *FeatureGateDescription) { - *out = *in - out.FeatureGateAttributes = in.FeatureGateAttributes - return -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FeatureGateDescription. -func (in *FeatureGateDescription) DeepCopy() *FeatureGateDescription { - if in == nil { - return nil - } - out := new(FeatureGateDescription) - in.DeepCopyInto(out) - return out -} - // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *FeatureGateDetails) DeepCopyInto(out *FeatureGateDetails) { *out = *in @@ -2082,32 +2065,6 @@ func (in *FeatureGateDetails) DeepCopy() *FeatureGateDetails { return out } -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *FeatureGateEnabledDisabled) DeepCopyInto(out *FeatureGateEnabledDisabled) { - *out = *in - if in.Enabled != nil { - in, out := &in.Enabled, &out.Enabled - *out = make([]FeatureGateDescription, len(*in)) - copy(*out, *in) - } - if in.Disabled != nil { - in, out := &in.Disabled, &out.Disabled - *out = make([]FeatureGateDescription, len(*in)) - copy(*out, *in) - } - return -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FeatureGateEnabledDisabled. -func (in *FeatureGateEnabledDisabled) DeepCopy() *FeatureGateEnabledDisabled { - if in == nil { - return nil - } - out := new(FeatureGateEnabledDisabled) - in.DeepCopyInto(out) - return out -} - // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *FeatureGateList) DeepCopyInto(out *FeatureGateList) { *out = *in @@ -2209,6 +2166,27 @@ func (in *FeatureGateStatus) DeepCopy() *FeatureGateStatus { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FeatureGateTests) DeepCopyInto(out *FeatureGateTests) { + *out = *in + if in.Tests != nil { + in, out := &in.Tests, &out.Tests + *out = make([]TestDetails, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FeatureGateTests. +func (in *FeatureGateTests) DeepCopy() *FeatureGateTests { + if in == nil { + return nil + } + out := new(FeatureGateTests) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *GCPPlatformSpec) DeepCopyInto(out *GCPPlatformSpec) { *out = *in @@ -5573,6 +5551,81 @@ func (in *TemplateReference) DeepCopy() *TemplateReference { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TestDetails) DeepCopyInto(out *TestDetails) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TestDetails. +func (in *TestDetails) DeepCopy() *TestDetails { + if in == nil { + return nil + } + out := new(TestDetails) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TestReporting) DeepCopyInto(out *TestReporting) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + in.Spec.DeepCopyInto(&out.Spec) + out.Status = in.Status + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TestReporting. +func (in *TestReporting) DeepCopy() *TestReporting { + if in == nil { + return nil + } + out := new(TestReporting) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TestReportingSpec) DeepCopyInto(out *TestReportingSpec) { + *out = *in + if in.TestsForFeatureGates != nil { + in, out := &in.TestsForFeatureGates, &out.TestsForFeatureGates + *out = make([]FeatureGateTests, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TestReportingSpec. +func (in *TestReportingSpec) DeepCopy() *TestReportingSpec { + if in == nil { + return nil + } + out := new(TestReportingSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TestReportingStatus) DeepCopyInto(out *TestReportingStatus) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TestReportingStatus. +func (in *TestReportingStatus) DeepCopy() *TestReportingStatus { + if in == nil { + return nil + } + out := new(TestReportingStatus) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *TokenClaimMapping) DeepCopyInto(out *TokenClaimMapping) { *out = *in diff --git a/vendor/github.com/openshift/api/config/v1/zz_generated.swagger_doc_generated.go b/vendor/github.com/openshift/api/config/v1/zz_generated.swagger_doc_generated.go index 5a163ebdc8..fcb4fb9a42 100644 --- a/vendor/github.com/openshift/api/config/v1/zz_generated.swagger_doc_generated.go +++ b/vendor/github.com/openshift/api/config/v1/zz_generated.swagger_doc_generated.go @@ -2507,6 +2507,41 @@ func (SchedulerSpec) SwaggerDoc() map[string]string { return map_SchedulerSpec } +var map_FeatureGateTests = map[string]string{ + "featureGate": "FeatureGate is the name of the FeatureGate as it appears in The FeatureGate CR instance.", + "tests": "Tests contains an item for every TestName", +} + +func (FeatureGateTests) SwaggerDoc() map[string]string { + return map_FeatureGateTests +} + +var map_TestDetails = map[string]string{ + "testName": "TestName is the name of the test as it appears in junit XMLs. It does not include the suite name since the same test can be executed in many suites.", +} + +func (TestDetails) SwaggerDoc() map[string]string { + return map_TestDetails +} + +var map_TestReporting = map[string]string{ + "": "TestReporting is used for origin (and potentially others) to report the test names for a given FeatureGate into the payload for later analysis on a per-payload basis. This doesn't need any CRD because it's never stored in the cluster.\n\nCompatibility level 4: No compatibility is provided, the API can change at any point for any reason. These capabilities should not be used by applications needing long term support.", + "metadata": "metadata is the standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", + "status": "status holds observed values from the cluster. They may not be overridden.", +} + +func (TestReporting) SwaggerDoc() map[string]string { + return map_TestReporting +} + +var map_TestReportingSpec = map[string]string{ + "testsForFeatureGates": "TestsForFeatureGates is a list, indexed by FeatureGate and includes information about testing.", +} + +func (TestReportingSpec) SwaggerDoc() map[string]string { + return map_TestReportingSpec +} + var map_CustomTLSProfile = map[string]string{ "": "CustomTLSProfile is a user-defined TLS security profile. Be extremely careful using a custom TLS profile as invalid configurations can be catastrophic.", } diff --git a/vendor/github.com/openshift/api/features.md b/vendor/github.com/openshift/api/features.md index fd496313af..b9000e90eb 100644 --- a/vendor/github.com/openshift/api/features.md +++ b/vendor/github.com/openshift/api/features.md @@ -1,60 +1,63 @@ -| FeatureGate | Default on Hypershift | Default on SelfManagedHA | TechPreviewNoUpgrade on Hypershift | TechPreviewNoUpgrade on SelfManagedHA | -| ------ | --- | --- | --- | --- | -| AlertingRules| | | Enabled | Enabled | -| AutomatedEtcdBackup| | | Enabled | Enabled | -| CSIDriverSharedResource| | | Enabled | Enabled | -| DNSNameResolver| | | Enabled | Enabled | -| DynamicResourceAllocation| | | Enabled | Enabled | -| Example| | | Enabled | Enabled | -| ExternalRouteCertificate| | | Enabled | Enabled | -| GCPClusterHostedDNS| | | Enabled | Enabled | -| GCPLabelsTags| | | Enabled | Enabled | -| GatewayAPI| | | Enabled | Enabled | -| HardwareSpeed| | | Enabled | Enabled | -| ImagePolicy| | | Enabled | Enabled | -| InsightsConfig| | | Enabled | Enabled | -| InsightsConfigAPI| | | Enabled | Enabled | -| InsightsOnDemandDataGather| | | Enabled | Enabled | -| InstallAlternateInfrastructureAWS| | | Enabled | Enabled | -| MachineAPIProviderOpenStack| | | Enabled | Enabled | -| MachineConfigNodes| | | Enabled | Enabled | -| ManagedBootImages| | | Enabled | Enabled | -| MaxUnavailableStatefulSet| | | Enabled | Enabled | -| MetricsCollectionProfiles| | | Enabled | Enabled | -| MetricsServer| | | Enabled | Enabled | -| MixedCPUsAllocation| | | Enabled | Enabled | -| NetworkDiagnosticsConfig| | | Enabled | Enabled | -| NewOLM| | | Enabled | Enabled | -| NodeDisruptionPolicy| | | Enabled | Enabled | -| NodeSwap| | | Enabled | Enabled | -| OnClusterBuild| | | Enabled | Enabled | -| PinnedImages| | | Enabled | Enabled | -| PlatformOperators| | | Enabled | Enabled | -| RouteExternalCertificate| | | Enabled | Enabled | -| ServiceAccountTokenNodeBinding| | | Enabled | Enabled | -| ServiceAccountTokenNodeBindingValidation| | | Enabled | Enabled | -| ServiceAccountTokenPodNodeInfo| | | Enabled | Enabled | -| SignatureStores| | | Enabled | Enabled | -| SigstoreImageVerification| | | Enabled | Enabled | -| TranslateStreamCloseWebsocketRequests| | | Enabled | Enabled | -| UpgradeStatus| | | Enabled | Enabled | -| ValidatingAdmissionPolicy| | | Enabled | Enabled | -| VolumeGroupSnapshot| | | Enabled | Enabled | -| ExternalOIDC| Enabled | | Enabled | Enabled | -| AdminNetworkPolicy| Enabled | Enabled | Enabled | Enabled | -| AlibabaPlatform| Enabled | Enabled | Enabled | Enabled | -| AzureWorkloadIdentity| Enabled | Enabled | Enabled | Enabled | -| BareMetalLoadBalancer| Enabled | Enabled | Enabled | Enabled | -| BuildCSIVolumes| Enabled | Enabled | Enabled | Enabled | -| CloudDualStackNodeIPs| Enabled | Enabled | Enabled | Enabled | -| DisableKubeletCloudCredentialProviders| Enabled | Enabled | Enabled | Enabled | -| ExternalCloudProvider| Enabled | Enabled | Enabled | Enabled | -| ExternalCloudProviderAzure| Enabled | Enabled | Enabled | Enabled | -| ExternalCloudProviderExternal| Enabled | Enabled | Enabled | Enabled | -| ExternalCloudProviderGCP| Enabled | Enabled | Enabled | Enabled | -| KMSv1| Enabled | Enabled | Enabled | Enabled | -| NetworkLiveMigration| Enabled | Enabled | Enabled | Enabled | -| OpenShiftPodSecurityAdmission| Enabled | Enabled | Enabled | Enabled | -| PrivateHostedZoneAWS| Enabled | Enabled | Enabled | Enabled | -| VSphereControlPlaneMachineSet| Enabled | Enabled | Enabled | Enabled | -| VSphereStaticIPs| Enabled | Enabled | Enabled | Enabled | +| FeatureGate | Default on Hypershift | Default on SelfManagedHA | DevPreviewNoUpgrade on Hypershift | DevPreviewNoUpgrade on SelfManagedHA | TechPreviewNoUpgrade on Hypershift | TechPreviewNoUpgrade on SelfManagedHA | +| ------ | --- | --- | --- | --- | --- | --- | +| ClusterAPIInstall| | | | | | | +| EventedPLEG| | | | | | | +| MachineAPIOperatorDisableMachineHealthCheckController| | | | | | | +| AutomatedEtcdBackup| | | Enabled | Enabled | Enabled | Enabled | +| CSIDriverSharedResource| | | Enabled | Enabled | Enabled | Enabled | +| DNSNameResolver| | | Enabled | Enabled | Enabled | Enabled | +| DynamicResourceAllocation| | | Enabled | Enabled | Enabled | Enabled | +| Example| | | Enabled | Enabled | Enabled | Enabled | +| ExternalRouteCertificate| | | Enabled | Enabled | Enabled | Enabled | +| GCPClusterHostedDNS| | | Enabled | Enabled | Enabled | Enabled | +| GCPLabelsTags| | | Enabled | Enabled | Enabled | Enabled | +| GatewayAPI| | | Enabled | Enabled | Enabled | Enabled | +| HardwareSpeed| | | Enabled | Enabled | Enabled | Enabled | +| ImagePolicy| | | Enabled | Enabled | Enabled | Enabled | +| InsightsConfig| | | Enabled | Enabled | Enabled | Enabled | +| InsightsConfigAPI| | | Enabled | Enabled | Enabled | Enabled | +| InsightsOnDemandDataGather| | | Enabled | Enabled | Enabled | Enabled | +| InstallAlternateInfrastructureAWS| | | Enabled | Enabled | Enabled | Enabled | +| MachineAPIProviderOpenStack| | | Enabled | Enabled | Enabled | Enabled | +| MachineConfigNodes| | | Enabled | Enabled | Enabled | Enabled | +| ManagedBootImages| | | Enabled | Enabled | Enabled | Enabled | +| MaxUnavailableStatefulSet| | | Enabled | Enabled | Enabled | Enabled | +| MetricsCollectionProfiles| | | Enabled | Enabled | Enabled | Enabled | +| MetricsServer| | | Enabled | Enabled | Enabled | Enabled | +| MixedCPUsAllocation| | | Enabled | Enabled | Enabled | Enabled | +| NetworkDiagnosticsConfig| | | Enabled | Enabled | Enabled | Enabled | +| NewOLM| | | Enabled | Enabled | Enabled | Enabled | +| NodeDisruptionPolicy| | | Enabled | Enabled | Enabled | Enabled | +| NodeSwap| | | Enabled | Enabled | Enabled | Enabled | +| OnClusterBuild| | | Enabled | Enabled | Enabled | Enabled | +| PinnedImages| | | Enabled | Enabled | Enabled | Enabled | +| PlatformOperators| | | Enabled | Enabled | Enabled | Enabled | +| RouteExternalCertificate| | | Enabled | Enabled | Enabled | Enabled | +| ServiceAccountTokenNodeBinding| | | Enabled | Enabled | Enabled | Enabled | +| ServiceAccountTokenNodeBindingValidation| | | Enabled | Enabled | Enabled | Enabled | +| ServiceAccountTokenPodNodeInfo| | | Enabled | Enabled | Enabled | Enabled | +| SignatureStores| | | Enabled | Enabled | Enabled | Enabled | +| SigstoreImageVerification| | | Enabled | Enabled | Enabled | Enabled | +| TranslateStreamCloseWebsocketRequests| | | Enabled | Enabled | Enabled | Enabled | +| UpgradeStatus| | | Enabled | Enabled | Enabled | Enabled | +| VSphereDriverConfiguration| | | Enabled | Enabled | Enabled | Enabled | +| ValidatingAdmissionPolicy| | | Enabled | Enabled | Enabled | Enabled | +| VolumeGroupSnapshot| | | Enabled | Enabled | Enabled | Enabled | +| ExternalOIDC| Enabled | | Enabled | Enabled | Enabled | Enabled | +| AdminNetworkPolicy| Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | +| AlibabaPlatform| Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | +| AzureWorkloadIdentity| Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | +| BareMetalLoadBalancer| Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | +| BuildCSIVolumes| Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | +| CloudDualStackNodeIPs| Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | +| DisableKubeletCloudCredentialProviders| Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | +| ExternalCloudProvider| Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | +| ExternalCloudProviderAzure| Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | +| ExternalCloudProviderExternal| Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | +| ExternalCloudProviderGCP| Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | +| KMSv1| Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | +| NetworkLiveMigration| Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | +| OpenShiftPodSecurityAdmission| Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | +| PrivateHostedZoneAWS| Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | +| VSphereControlPlaneMachineSet| Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | +| VSphereStaticIPs| Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | diff --git a/vendor/github.com/openshift/api/config/v1/feature_gates.go b/vendor/github.com/openshift/api/features/features.go similarity index 63% rename from vendor/github.com/openshift/api/config/v1/feature_gates.go rename to vendor/github.com/openshift/api/features/features.go index 7a9d129cfb..04a17ca833 100644 --- a/vendor/github.com/openshift/api/config/v1/feature_gates.go +++ b/vendor/github.com/openshift/api/features/features.go @@ -1,147 +1,11 @@ -package v1 - -import "fmt" - -// FeatureGateDescription is a golang-only interface used to contains details for a feature gate. -type FeatureGateDescription struct { - // FeatureGateAttributes is the information that appears in the API - FeatureGateAttributes FeatureGateAttributes - - // OwningJiraComponent is the jira component that owns most of the impl and first assignment for the bug. - // This is the team that owns the feature long term. - OwningJiraComponent string - // ResponsiblePerson is the person who is on the hook for first contact. This is often, but not always, a team lead. - // It is someone who can make the promise on the behalf of the team. - ResponsiblePerson string - // OwningProduct is the product that owns the lifecycle of the gate. - OwningProduct OwningProduct -} - -type ClusterProfileName string +package features -var ( - Hypershift = ClusterProfileName("include.release.openshift.io/ibm-cloud-managed") - SelfManaged = ClusterProfileName("include.release.openshift.io/self-managed-high-availability") - AllClusterProfiles = []ClusterProfileName{Hypershift, SelfManaged} -) - -type OwningProduct string - -var ( - ocpSpecific = OwningProduct("OCP") - kubernetes = OwningProduct("Kubernetes") +import ( + "fmt" + configv1 "github.com/openshift/api/config/v1" ) -type featureGateBuilder struct { - name string - owningJiraComponent string - responsiblePerson string - owningProduct OwningProduct - - statusByClusterProfileByFeatureSet map[ClusterProfileName]map[FeatureSet]bool -} - -// newFeatureGate featuregate are disabled in every FeatureSet and selectively enabled -func newFeatureGate(name string) *featureGateBuilder { - b := &featureGateBuilder{ - name: name, - statusByClusterProfileByFeatureSet: map[ClusterProfileName]map[FeatureSet]bool{}, - } - for _, clusterProfile := range AllClusterProfiles { - byFeatureSet := map[FeatureSet]bool{} - for _, featureSet := range AllFixedFeatureSets { - byFeatureSet[featureSet] = false - } - b.statusByClusterProfileByFeatureSet[clusterProfile] = byFeatureSet - } - return b -} - -func (b *featureGateBuilder) reportProblemsToJiraComponent(owningJiraComponent string) *featureGateBuilder { - b.owningJiraComponent = owningJiraComponent - return b -} - -func (b *featureGateBuilder) contactPerson(responsiblePerson string) *featureGateBuilder { - b.responsiblePerson = responsiblePerson - return b -} - -func (b *featureGateBuilder) productScope(owningProduct OwningProduct) *featureGateBuilder { - b.owningProduct = owningProduct - return b -} - -func (b *featureGateBuilder) enableIn(featureSets ...FeatureSet) *featureGateBuilder { - for clusterProfile := range b.statusByClusterProfileByFeatureSet { - for _, featureSet := range featureSets { - b.statusByClusterProfileByFeatureSet[clusterProfile][featureSet] = true - } - } - return b -} - -func (b *featureGateBuilder) enableForClusterProfile(clusterProfile ClusterProfileName, featureSets ...FeatureSet) *featureGateBuilder { - for _, featureSet := range featureSets { - b.statusByClusterProfileByFeatureSet[clusterProfile][featureSet] = true - } - return b -} - -func (b *featureGateBuilder) register() (FeatureGateName, error) { - if len(b.name) == 0 { - return "", fmt.Errorf("missing name") - } - if len(b.owningJiraComponent) == 0 { - return "", fmt.Errorf("missing owningJiraComponent") - } - if len(b.responsiblePerson) == 0 { - return "", fmt.Errorf("missing responsiblePerson") - } - if len(b.owningProduct) == 0 { - return "", fmt.Errorf("missing owningProduct") - } - - featureGateName := FeatureGateName(b.name) - description := FeatureGateDescription{ - FeatureGateAttributes: FeatureGateAttributes{ - Name: featureGateName, - }, - OwningJiraComponent: b.owningJiraComponent, - ResponsiblePerson: b.responsiblePerson, - OwningProduct: b.owningProduct, - } - - // statusByClusterProfileByFeatureSet is initialized by constructor to be false for every combination - for clusterProfile, byFeatureSet := range b.statusByClusterProfileByFeatureSet { - for featureSet, enabled := range byFeatureSet { - if _, ok := allFeatureGates[clusterProfile]; !ok { - allFeatureGates[clusterProfile] = map[FeatureSet]*FeatureGateEnabledDisabled{} - } - if _, ok := allFeatureGates[clusterProfile][featureSet]; !ok { - allFeatureGates[clusterProfile][featureSet] = &FeatureGateEnabledDisabled{} - } - - if enabled { - allFeatureGates[clusterProfile][featureSet].Enabled = append(allFeatureGates[clusterProfile][featureSet].Enabled, description) - } else { - allFeatureGates[clusterProfile][featureSet].Disabled = append(allFeatureGates[clusterProfile][featureSet].Disabled, description) - } - } - } - - return featureGateName, nil -} - -func (b *featureGateBuilder) mustRegister() FeatureGateName { - ret, err := b.register() - if err != nil { - panic(err) - } - return ret -} - -func FeatureSets(clusterProfile ClusterProfileName, featureSet FeatureSet) (*FeatureGateEnabledDisabled, error) { +func FeatureSets(clusterProfile ClusterProfileName, featureSet configv1.FeatureSet) (*FeatureGateEnabledDisabled, error) { byFeatureSet, ok := allFeatureGates[clusterProfile] if !ok { return nil, fmt.Errorf("no information found for ClusterProfile=%q", clusterProfile) @@ -153,11 +17,11 @@ func FeatureSets(clusterProfile ClusterProfileName, featureSet FeatureSet) (*Fea return featureGates.DeepCopy(), nil } -func AllFeatureSets() map[ClusterProfileName]map[FeatureSet]*FeatureGateEnabledDisabled { - ret := map[ClusterProfileName]map[FeatureSet]*FeatureGateEnabledDisabled{} +func AllFeatureSets() map[ClusterProfileName]map[configv1.FeatureSet]*FeatureGateEnabledDisabled { + ret := map[ClusterProfileName]map[configv1.FeatureSet]*FeatureGateEnabledDisabled{} for clusterProfile, byFeatureSet := range allFeatureGates { - newByFeatureSet := map[FeatureSet]*FeatureGateEnabledDisabled{} + newByFeatureSet := map[configv1.FeatureSet]*FeatureGateEnabledDisabled{} for featureSet, enabledDisabled := range byFeatureSet { newByFeatureSet[featureSet] = enabledDisabled.DeepCopy() @@ -169,132 +33,132 @@ func AllFeatureSets() map[ClusterProfileName]map[FeatureSet]*FeatureGateEnabledD } var ( - allFeatureGates = map[ClusterProfileName]map[FeatureSet]*FeatureGateEnabledDisabled{} + allFeatureGates = map[ClusterProfileName]map[configv1.FeatureSet]*FeatureGateEnabledDisabled{} FeatureGateServiceAccountTokenNodeBindingValidation = newFeatureGate("ServiceAccountTokenNodeBindingValidation"). reportProblemsToJiraComponent("apiserver-auth"). contactPerson("stlaz"). productScope(kubernetes). - enableIn(TechPreviewNoUpgrade). + enableIn(configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() FeatureGateServiceAccountTokenNodeBinding = newFeatureGate("ServiceAccountTokenNodeBinding"). reportProblemsToJiraComponent("apiserver-auth"). contactPerson("stlaz"). productScope(kubernetes). - enableIn(TechPreviewNoUpgrade). + enableIn(configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() FeatureGateServiceAccountTokenPodNodeInfo = newFeatureGate("ServiceAccountTokenPodNodeInfo"). reportProblemsToJiraComponent("apiserver-auth"). contactPerson("stlaz"). productScope(kubernetes). - enableIn(TechPreviewNoUpgrade). + enableIn(configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() FeatureGateValidatingAdmissionPolicy = newFeatureGate("ValidatingAdmissionPolicy"). reportProblemsToJiraComponent("kube-apiserver"). contactPerson("benluddy"). productScope(kubernetes). - enableIn(TechPreviewNoUpgrade). + enableIn(configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() FeatureGateGatewayAPI = newFeatureGate("GatewayAPI"). reportProblemsToJiraComponent("Routing"). contactPerson("miciah"). productScope(ocpSpecific). - enableIn(TechPreviewNoUpgrade). + enableIn(configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() FeatureGateOpenShiftPodSecurityAdmission = newFeatureGate("OpenShiftPodSecurityAdmission"). reportProblemsToJiraComponent("auth"). contactPerson("stlaz"). productScope(ocpSpecific). - enableIn(Default, TechPreviewNoUpgrade). + enableIn(configv1.Default, configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() FeatureGateExternalCloudProvider = newFeatureGate("ExternalCloudProvider"). reportProblemsToJiraComponent("cloud-provider"). contactPerson("jspeed"). productScope(ocpSpecific). - enableIn(Default, TechPreviewNoUpgrade). + enableIn(configv1.Default, configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() FeatureGateExternalCloudProviderAzure = newFeatureGate("ExternalCloudProviderAzure"). reportProblemsToJiraComponent("cloud-provider"). contactPerson("jspeed"). productScope(ocpSpecific). - enableIn(Default, TechPreviewNoUpgrade). + enableIn(configv1.Default, configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() FeatureGateExternalCloudProviderGCP = newFeatureGate("ExternalCloudProviderGCP"). reportProblemsToJiraComponent("cloud-provider"). contactPerson("jspeed"). productScope(ocpSpecific). - enableIn(Default, TechPreviewNoUpgrade). + enableIn(configv1.Default, configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() FeatureGateExternalCloudProviderExternal = newFeatureGate("ExternalCloudProviderExternal"). reportProblemsToJiraComponent("cloud-provider"). contactPerson("elmiko"). productScope(ocpSpecific). - enableIn(Default, TechPreviewNoUpgrade). + enableIn(configv1.Default, configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() FeatureGateCSIDriverSharedResource = newFeatureGate("CSIDriverSharedResource"). reportProblemsToJiraComponent("builds"). contactPerson("adkaplan"). productScope(ocpSpecific). - enableIn(TechPreviewNoUpgrade). + enableIn(configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() FeatureGateBuildCSIVolumes = newFeatureGate("BuildCSIVolumes"). reportProblemsToJiraComponent("builds"). contactPerson("adkaplan"). productScope(ocpSpecific). - enableIn(Default, TechPreviewNoUpgrade). + enableIn(configv1.Default, configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() FeatureGateNodeSwap = newFeatureGate("NodeSwap"). reportProblemsToJiraComponent("node"). contactPerson("ehashman"). productScope(kubernetes). - enableIn(TechPreviewNoUpgrade). + enableIn(configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() FeatureGateMachineAPIProviderOpenStack = newFeatureGate("MachineAPIProviderOpenStack"). reportProblemsToJiraComponent("openstack"). contactPerson("egarcia"). productScope(ocpSpecific). - enableIn(TechPreviewNoUpgrade). + enableIn(configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() FeatureGateInsightsConfigAPI = newFeatureGate("InsightsConfigAPI"). reportProblemsToJiraComponent("insights"). contactPerson("tremes"). productScope(ocpSpecific). - enableIn(TechPreviewNoUpgrade). + enableIn(configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() FeatureGateDynamicResourceAllocation = newFeatureGate("DynamicResourceAllocation"). reportProblemsToJiraComponent("scheduling"). contactPerson("jchaloup"). productScope(kubernetes). - enableIn(TechPreviewNoUpgrade). + enableIn(configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() FeatureGateAzureWorkloadIdentity = newFeatureGate("AzureWorkloadIdentity"). reportProblemsToJiraComponent("cloud-credential-operator"). contactPerson("abutcher"). productScope(ocpSpecific). - enableIn(Default, TechPreviewNoUpgrade). + enableIn(configv1.Default, configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() FeatureGateMaxUnavailableStatefulSet = newFeatureGate("MaxUnavailableStatefulSet"). reportProblemsToJiraComponent("apps"). contactPerson("atiratree"). productScope(kubernetes). - enableIn(TechPreviewNoUpgrade). + enableIn(configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() FeatureGateEventedPLEG = newFeatureGate("EventedPLEG"). @@ -307,84 +171,84 @@ var ( reportProblemsToJiraComponent("Routing"). contactPerson("miciah"). productScope(ocpSpecific). - enableIn(Default, TechPreviewNoUpgrade). + enableIn(configv1.Default, configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() FeatureGateSigstoreImageVerification = newFeatureGate("SigstoreImageVerification"). reportProblemsToJiraComponent("node"). contactPerson("sgrunert"). productScope(ocpSpecific). - enableIn(TechPreviewNoUpgrade). + enableIn(configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() FeatureGateGCPLabelsTags = newFeatureGate("GCPLabelsTags"). reportProblemsToJiraComponent("Installer"). contactPerson("bhb"). productScope(ocpSpecific). - enableIn(TechPreviewNoUpgrade). + enableIn(configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() FeatureGateAlibabaPlatform = newFeatureGate("AlibabaPlatform"). reportProblemsToJiraComponent("cloud-provider"). contactPerson("jspeed"). productScope(ocpSpecific). - enableIn(Default, TechPreviewNoUpgrade). + enableIn(configv1.Default, configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() FeatureGateCloudDualStackNodeIPs = newFeatureGate("CloudDualStackNodeIPs"). reportProblemsToJiraComponent("machine-config-operator/platform-baremetal"). contactPerson("mkowalsk"). productScope(kubernetes). - enableIn(Default, TechPreviewNoUpgrade). + enableIn(configv1.Default, configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() FeatureGateVSphereStaticIPs = newFeatureGate("VSphereStaticIPs"). reportProblemsToJiraComponent("splat"). contactPerson("rvanderp3"). productScope(ocpSpecific). - enableIn(Default, TechPreviewNoUpgrade). + enableIn(configv1.Default, configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() FeatureGateRouteExternalCertificate = newFeatureGate("RouteExternalCertificate"). reportProblemsToJiraComponent("router"). contactPerson("thejasn"). productScope(ocpSpecific). - enableIn(TechPreviewNoUpgrade). + enableIn(configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() FeatureGateAdminNetworkPolicy = newFeatureGate("AdminNetworkPolicy"). reportProblemsToJiraComponent("Networking/ovn-kubernetes"). contactPerson("tssurya"). productScope(ocpSpecific). - enableIn(Default, TechPreviewNoUpgrade). + enableIn(configv1.Default, configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() FeatureGateNetworkLiveMigration = newFeatureGate("NetworkLiveMigration"). reportProblemsToJiraComponent("Networking/ovn-kubernetes"). contactPerson("pliu"). productScope(ocpSpecific). - enableIn(Default, TechPreviewNoUpgrade). + enableIn(configv1.Default, configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() FeatureGateNetworkDiagnosticsConfig = newFeatureGate("NetworkDiagnosticsConfig"). reportProblemsToJiraComponent("Networking/cluster-network-operator"). contactPerson("kyrtapz"). productScope(ocpSpecific). - enableIn(TechPreviewNoUpgrade). + enableIn(configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() FeatureGateHardwareSpeed = newFeatureGate("HardwareSpeed"). reportProblemsToJiraComponent("etcd"). contactPerson("hasbro17"). productScope(ocpSpecific). - enableIn(TechPreviewNoUpgrade). + enableIn(configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() FeatureGateAutomatedEtcdBackup = newFeatureGate("AutomatedEtcdBackup"). reportProblemsToJiraComponent("etcd"). contactPerson("hasbro17"). productScope(ocpSpecific). - enableIn(TechPreviewNoUpgrade). + enableIn(configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() FeatureGateMachineAPIOperatorDisableMachineHealthCheckController = newFeatureGate("MachineAPIOperatorDisableMachineHealthCheckController"). @@ -397,21 +261,21 @@ var ( reportProblemsToJiraComponent("dns"). contactPerson("miciah"). productScope(ocpSpecific). - enableIn(TechPreviewNoUpgrade). + enableIn(configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() FeatureGateVSphereControlPlaneMachineset = newFeatureGate("VSphereControlPlaneMachineSet"). reportProblemsToJiraComponent("splat"). contactPerson("rvanderp3"). productScope(ocpSpecific). - enableIn(Default, TechPreviewNoUpgrade). + enableIn(configv1.Default, configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() FeatureGateMachineConfigNodes = newFeatureGate("MachineConfigNodes"). reportProblemsToJiraComponent("MachineConfigOperator"). contactPerson("cdoern"). productScope(ocpSpecific). - enableIn(TechPreviewNoUpgrade). + enableIn(configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() FeatureGateClusterAPIInstall = newFeatureGate("ClusterAPIInstall"). @@ -424,175 +288,175 @@ var ( reportProblemsToJiraComponent("Monitoring"). contactPerson("slashpai"). productScope(ocpSpecific). - enableIn(TechPreviewNoUpgrade). + enableIn(configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() FeatureGateInstallAlternateInfrastructureAWS = newFeatureGate("InstallAlternateInfrastructureAWS"). reportProblemsToJiraComponent("Installer"). contactPerson("padillon"). productScope(ocpSpecific). - enableIn(TechPreviewNoUpgrade). + enableIn(configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() FeatureGateGCPClusterHostedDNS = newFeatureGate("GCPClusterHostedDNS"). reportProblemsToJiraComponent("Installer"). contactPerson("barbacbd"). productScope(ocpSpecific). - enableIn(TechPreviewNoUpgrade). + enableIn(configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() FeatureGateMixedCPUsAllocation = newFeatureGate("MixedCPUsAllocation"). reportProblemsToJiraComponent("NodeTuningOperator"). contactPerson("titzhak"). productScope(ocpSpecific). - enableIn(TechPreviewNoUpgrade). + enableIn(configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() FeatureGateManagedBootImages = newFeatureGate("ManagedBootImages"). reportProblemsToJiraComponent("MachineConfigOperator"). contactPerson("djoshy"). productScope(ocpSpecific). - enableIn(TechPreviewNoUpgrade). + enableIn(configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() FeatureGateDisableKubeletCloudCredentialProviders = newFeatureGate("DisableKubeletCloudCredentialProviders"). reportProblemsToJiraComponent("cloud-provider"). contactPerson("jspeed"). productScope(kubernetes). - enableIn(Default, TechPreviewNoUpgrade). + enableIn(configv1.Default, configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() FeatureGateOnClusterBuild = newFeatureGate("OnClusterBuild"). reportProblemsToJiraComponent("MachineConfigOperator"). contactPerson("dkhater"). productScope(ocpSpecific). - enableIn(TechPreviewNoUpgrade). + enableIn(configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() FeatureGateSignatureStores = newFeatureGate("SignatureStores"). reportProblemsToJiraComponent("Cluster Version Operator"). contactPerson("lmohanty"). productScope(ocpSpecific). - enableIn(TechPreviewNoUpgrade). + enableIn(configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() FeatureGateKMSv1 = newFeatureGate("KMSv1"). reportProblemsToJiraComponent("kube-apiserver"). contactPerson("dgrisonnet"). productScope(kubernetes). - enableIn(Default, TechPreviewNoUpgrade). + enableIn(configv1.Default, configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() FeatureGatePinnedImages = newFeatureGate("PinnedImages"). reportProblemsToJiraComponent("MachineConfigOperator"). contactPerson("jhernand"). productScope(ocpSpecific). - enableIn(TechPreviewNoUpgrade). + enableIn(configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() FeatureGateUpgradeStatus = newFeatureGate("UpgradeStatus"). reportProblemsToJiraComponent("Cluster Version Operator"). contactPerson("pmuller"). productScope(ocpSpecific). - enableIn(TechPreviewNoUpgrade). + enableIn(configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() FeatureGateTranslateStreamCloseWebsocketRequests = newFeatureGate("TranslateStreamCloseWebsocketRequests"). reportProblemsToJiraComponent("kube-apiserver"). contactPerson("akashem"). productScope(kubernetes). - enableIn(TechPreviewNoUpgrade). + enableIn(configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() FeatureGateVolumeGroupSnapshot = newFeatureGate("VolumeGroupSnapshot"). reportProblemsToJiraComponent("Storage / Kubernetes External Components"). contactPerson("fbertina"). productScope(kubernetes). - enableIn(TechPreviewNoUpgrade). + enableIn(configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() FeatureGateExternalOIDC = newFeatureGate("ExternalOIDC"). reportProblemsToJiraComponent("authentication"). contactPerson("stlaz"). productScope(ocpSpecific). - enableIn(TechPreviewNoUpgrade). - enableForClusterProfile(Hypershift, Default, TechPreviewNoUpgrade). + enableIn(configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). + enableForClusterProfile(Hypershift, configv1.Default, configv1.TechPreviewNoUpgrade). mustRegister() FeatureGateExample = newFeatureGate("Example"). reportProblemsToJiraComponent("cluster-config"). contactPerson("deads"). productScope(ocpSpecific). - enableIn(TechPreviewNoUpgrade). + enableIn(configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() FeatureGatePlatformOperators = newFeatureGate("PlatformOperators"). reportProblemsToJiraComponent("olm"). contactPerson("joe"). productScope(ocpSpecific). - enableIn(TechPreviewNoUpgrade). + enableIn(configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() FeatureGateNewOLM = newFeatureGate("NewOLM"). reportProblemsToJiraComponent("olm"). contactPerson("joe"). productScope(ocpSpecific). - enableIn(TechPreviewNoUpgrade). + enableIn(configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() FeatureGateExternalRouteCertificate = newFeatureGate("ExternalRouteCertificate"). reportProblemsToJiraComponent("network-edge"). contactPerson("miciah"). productScope(ocpSpecific). - enableIn(TechPreviewNoUpgrade). + enableIn(configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() FeatureGateInsightsOnDemandDataGather = newFeatureGate("InsightsOnDemandDataGather"). reportProblemsToJiraComponent("insights"). contactPerson("tremes"). productScope(ocpSpecific). - enableIn(TechPreviewNoUpgrade). + enableIn(configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() - FeatureGateAlertingRules = newFeatureGate("AlertingRules"). - reportProblemsToJiraComponent("Monitoring"). - contactPerson("simon"). - productScope(ocpSpecific). - enableIn(TechPreviewNoUpgrade). - mustRegister() - FeatureGateBareMetalLoadBalancer = newFeatureGate("BareMetalLoadBalancer"). reportProblemsToJiraComponent("metal"). contactPerson("EmilienM"). productScope(ocpSpecific). - enableIn(Default, TechPreviewNoUpgrade). + enableIn(configv1.Default, configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() FeatureGateInsightsConfig = newFeatureGate("InsightsConfig"). reportProblemsToJiraComponent("insights"). contactPerson("tremes"). productScope(ocpSpecific). - enableIn(TechPreviewNoUpgrade). + enableIn(configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() FeatureGateImagePolicy = newFeatureGate("ImagePolicy"). reportProblemsToJiraComponent("node"). contactPerson("rphillips"). productScope(ocpSpecific). - enableIn(TechPreviewNoUpgrade). + enableIn(configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() FeatureGateNodeDisruptionPolicy = newFeatureGate("NodeDisruptionPolicy"). reportProblemsToJiraComponent("MachineConfigOperator"). contactPerson("jerzhang"). productScope(ocpSpecific). - enableIn(TechPreviewNoUpgrade). + enableIn(configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() FeatureGateMetricsCollectionProfiles = newFeatureGate("MetricsCollectionProfiles"). reportProblemsToJiraComponent("Monitoring"). contactPerson("rexagod"). productScope(ocpSpecific). - enableIn(TechPreviewNoUpgrade). + enableIn(configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). + mustRegister() + + FeatureGateVSphereDriverConfiguration = newFeatureGate("VSphereDriverConfiguration"). + reportProblemsToJiraComponent("Storage / Kubernetes External Components"). + contactPerson("rbednar"). + productScope(ocpSpecific). + enableIn(configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() ) diff --git a/vendor/github.com/openshift/api/features/util.go b/vendor/github.com/openshift/api/features/util.go new file mode 100644 index 0000000000..d8d8e94a0e --- /dev/null +++ b/vendor/github.com/openshift/api/features/util.go @@ -0,0 +1,193 @@ +package features + +import ( + "fmt" + configv1 "github.com/openshift/api/config/v1" +) + +// FeatureGateDescription is a golang-only interface used to contains details for a feature gate. +type FeatureGateDescription struct { + // FeatureGateAttributes is the information that appears in the API + FeatureGateAttributes configv1.FeatureGateAttributes + + // OwningJiraComponent is the jira component that owns most of the impl and first assignment for the bug. + // This is the team that owns the feature long term. + OwningJiraComponent string + // ResponsiblePerson is the person who is on the hook for first contact. This is often, but not always, a team lead. + // It is someone who can make the promise on the behalf of the team. + ResponsiblePerson string + // OwningProduct is the product that owns the lifecycle of the gate. + OwningProduct OwningProduct +} + +type FeatureGateEnabledDisabled struct { + Enabled []FeatureGateDescription + Disabled []FeatureGateDescription +} + +type ClusterProfileName string + +var ( + Hypershift = ClusterProfileName("include.release.openshift.io/ibm-cloud-managed") + SelfManaged = ClusterProfileName("include.release.openshift.io/self-managed-high-availability") + AllClusterProfiles = []ClusterProfileName{Hypershift, SelfManaged} +) + +type OwningProduct string + +var ( + ocpSpecific = OwningProduct("OCP") + kubernetes = OwningProduct("Kubernetes") +) + +type featureGateBuilder struct { + name string + owningJiraComponent string + responsiblePerson string + owningProduct OwningProduct + + statusByClusterProfileByFeatureSet map[ClusterProfileName]map[configv1.FeatureSet]bool +} + +// newFeatureGate featuregate are disabled in every FeatureSet and selectively enabled +func newFeatureGate(name string) *featureGateBuilder { + b := &featureGateBuilder{ + name: name, + statusByClusterProfileByFeatureSet: map[ClusterProfileName]map[configv1.FeatureSet]bool{}, + } + for _, clusterProfile := range AllClusterProfiles { + byFeatureSet := map[configv1.FeatureSet]bool{} + for _, featureSet := range configv1.AllFixedFeatureSets { + byFeatureSet[featureSet] = false + } + b.statusByClusterProfileByFeatureSet[clusterProfile] = byFeatureSet + } + return b +} + +func (b *featureGateBuilder) reportProblemsToJiraComponent(owningJiraComponent string) *featureGateBuilder { + b.owningJiraComponent = owningJiraComponent + return b +} + +func (b *featureGateBuilder) contactPerson(responsiblePerson string) *featureGateBuilder { + b.responsiblePerson = responsiblePerson + return b +} + +func (b *featureGateBuilder) productScope(owningProduct OwningProduct) *featureGateBuilder { + b.owningProduct = owningProduct + return b +} + +func (b *featureGateBuilder) enableIn(featureSets ...configv1.FeatureSet) *featureGateBuilder { + for clusterProfile := range b.statusByClusterProfileByFeatureSet { + for _, featureSet := range featureSets { + b.statusByClusterProfileByFeatureSet[clusterProfile][featureSet] = true + } + } + return b +} + +func (b *featureGateBuilder) enableForClusterProfile(clusterProfile ClusterProfileName, featureSets ...configv1.FeatureSet) *featureGateBuilder { + for _, featureSet := range featureSets { + b.statusByClusterProfileByFeatureSet[clusterProfile][featureSet] = true + } + return b +} + +func (b *featureGateBuilder) register() (configv1.FeatureGateName, error) { + if len(b.name) == 0 { + return "", fmt.Errorf("missing name") + } + if len(b.owningJiraComponent) == 0 { + return "", fmt.Errorf("missing owningJiraComponent") + } + if len(b.responsiblePerson) == 0 { + return "", fmt.Errorf("missing responsiblePerson") + } + if len(b.owningProduct) == 0 { + return "", fmt.Errorf("missing owningProduct") + } + + featureGateName := configv1.FeatureGateName(b.name) + description := FeatureGateDescription{ + FeatureGateAttributes: configv1.FeatureGateAttributes{ + Name: featureGateName, + }, + OwningJiraComponent: b.owningJiraComponent, + ResponsiblePerson: b.responsiblePerson, + OwningProduct: b.owningProduct, + } + + // statusByClusterProfileByFeatureSet is initialized by constructor to be false for every combination + for clusterProfile, byFeatureSet := range b.statusByClusterProfileByFeatureSet { + for featureSet, enabled := range byFeatureSet { + if _, ok := allFeatureGates[clusterProfile]; !ok { + allFeatureGates[clusterProfile] = map[configv1.FeatureSet]*FeatureGateEnabledDisabled{} + } + if _, ok := allFeatureGates[clusterProfile][featureSet]; !ok { + allFeatureGates[clusterProfile][featureSet] = &FeatureGateEnabledDisabled{} + } + + if enabled { + allFeatureGates[clusterProfile][featureSet].Enabled = append(allFeatureGates[clusterProfile][featureSet].Enabled, description) + } else { + allFeatureGates[clusterProfile][featureSet].Disabled = append(allFeatureGates[clusterProfile][featureSet].Disabled, description) + } + } + } + + return featureGateName, nil +} + +func (b *featureGateBuilder) mustRegister() configv1.FeatureGateName { + ret, err := b.register() + if err != nil { + panic(err) + } + return ret +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FeatureGateEnabledDisabled) DeepCopyInto(out *FeatureGateEnabledDisabled) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = make([]FeatureGateDescription, len(*in)) + copy(*out, *in) + } + if in.Disabled != nil { + in, out := &in.Disabled, &out.Disabled + *out = make([]FeatureGateDescription, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FeatureGateEnabledDisabled. +func (in *FeatureGateEnabledDisabled) DeepCopy() *FeatureGateEnabledDisabled { + if in == nil { + return nil + } + out := new(FeatureGateEnabledDisabled) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FeatureGateDescription) DeepCopyInto(out *FeatureGateDescription) { + *out = *in + out.FeatureGateAttributes = in.FeatureGateAttributes + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FeatureGateDescription. +func (in *FeatureGateDescription) DeepCopy() *FeatureGateDescription { + if in == nil { + return nil + } + out := new(FeatureGateDescription) + in.DeepCopyInto(out) + return out +} diff --git a/vendor/github.com/openshift/api/monitoring/install.go b/vendor/github.com/openshift/api/monitoring/install.go index 4a25391108..cc34a01dcf 100644 --- a/vendor/github.com/openshift/api/monitoring/install.go +++ b/vendor/github.com/openshift/api/monitoring/install.go @@ -4,7 +4,7 @@ import ( "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" - monitoringv1alpha1 "github.com/openshift/api/monitoring/v1alpha1" + monitoringv1 "github.com/openshift/api/monitoring/v1" ) const ( @@ -12,7 +12,7 @@ const ( ) var ( - schemeBuilder = runtime.NewSchemeBuilder(monitoringv1alpha1.Install) + schemeBuilder = runtime.NewSchemeBuilder(monitoringv1.Install) // Install is a function which adds every version of this group to a scheme Install = schemeBuilder.AddToScheme ) diff --git a/vendor/github.com/openshift/api/monitoring/v1alpha1/Makefile b/vendor/github.com/openshift/api/monitoring/v1/Makefile similarity index 78% rename from vendor/github.com/openshift/api/monitoring/v1alpha1/Makefile rename to vendor/github.com/openshift/api/monitoring/v1/Makefile index 536d21926d..0a7a62e1c8 100644 --- a/vendor/github.com/openshift/api/monitoring/v1alpha1/Makefile +++ b/vendor/github.com/openshift/api/monitoring/v1/Makefile @@ -1,3 +1,3 @@ .PHONY: test test: - make -C ../../tests test GINKGO_EXTRA_ARGS=--focus="monitoring.openshift.io/v1alpha1" + make -C ../../tests test GINKGO_EXTRA_ARGS=--focus="monitoring.openshift.io/v1" diff --git a/vendor/github.com/openshift/api/monitoring/v1alpha1/doc.go b/vendor/github.com/openshift/api/monitoring/v1/doc.go similarity index 88% rename from vendor/github.com/openshift/api/monitoring/v1alpha1/doc.go rename to vendor/github.com/openshift/api/monitoring/v1/doc.go index fde7f93d40..bf046d6ef9 100644 --- a/vendor/github.com/openshift/api/monitoring/v1alpha1/doc.go +++ b/vendor/github.com/openshift/api/monitoring/v1/doc.go @@ -3,4 +3,4 @@ // +k8s:openapi-gen=true // +groupName=monitoring.openshift.io -package v1alpha1 +package v1 diff --git a/vendor/github.com/openshift/api/monitoring/v1alpha1/register.go b/vendor/github.com/openshift/api/monitoring/v1/register.go similarity index 97% rename from vendor/github.com/openshift/api/monitoring/v1alpha1/register.go rename to vendor/github.com/openshift/api/monitoring/v1/register.go index b0a28f995e..342c4cca21 100644 --- a/vendor/github.com/openshift/api/monitoring/v1alpha1/register.go +++ b/vendor/github.com/openshift/api/monitoring/v1/register.go @@ -1,4 +1,4 @@ -package v1alpha1 +package v1 import ( corev1 "k8s.io/api/core/v1" @@ -9,7 +9,7 @@ import ( var ( GroupName = "monitoring.openshift.io" - GroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1alpha1"} + GroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1"} schemeBuilder = runtime.NewSchemeBuilder(addKnownTypes, corev1.AddToScheme) // Install is a function which adds this version to a scheme Install = schemeBuilder.AddToScheme diff --git a/vendor/github.com/openshift/api/monitoring/v1alpha1/types.go b/vendor/github.com/openshift/api/monitoring/v1/types.go similarity index 69% rename from vendor/github.com/openshift/api/monitoring/v1alpha1/types.go rename to vendor/github.com/openshift/api/monitoring/v1/types.go index d2776037e6..111538ba78 100644 --- a/vendor/github.com/openshift/api/monitoring/v1alpha1/types.go +++ b/vendor/github.com/openshift/api/monitoring/v1/types.go @@ -1,4 +1,4 @@ -package v1alpha1 +package v1 import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" @@ -26,26 +26,25 @@ import ( // // https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md // -// Compatibility level 4: No compatibility is provided, the API can change at any point for any reason. These capabilities should not be used by applications needing long term support. -// +openshift:compatibility-gen:level=4 +// Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer). +// +openshift:compatibility-gen:level=1 // +genclient // +k8s:openapi-gen=true // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object // +kubebuilder:object:root=true // +kubebuilder:resource:path=alertingrules,scope=Namespaced // +kubebuilder:subresource:status -// +openshift:api-approved.openshift.io=https://github.com/openshift/api/pull/1179 +// +openshift:api-approved.openshift.io=https://github.com/openshift/api/pull/1406 // +openshift:file-pattern=cvoRunLevel=0000_50,operatorName=monitoring,operatorOrdering=01 -// +openshift:enable:FeatureGate=AlertingRules // +kubebuilder:metadata:annotations="description=OpenShift Monitoring alerting rules" type AlertingRule struct { metav1.TypeMeta `json:",inline"` - // metadata is the standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata metav1.ObjectMeta `json:"metadata,omitempty"` // spec describes the desired state of this AlertingRule object. + // +kubebuilder:validation:Required Spec AlertingRuleSpec `json:"spec"` // status describes the current state of this AlertOverrides object. @@ -58,17 +57,17 @@ type AlertingRule struct { // AlertingRuleList is a list of AlertingRule objects. // -// Compatibility level 4: No compatibility is provided, the API can change at any point for any reason. These capabilities should not be used by applications needing long term support. -// +openshift:compatibility-gen:level=4 +// Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer). +// +openshift:compatibility-gen:level=1 // +k8s:openapi-gen=true type AlertingRuleList struct { metav1.TypeMeta `json:",inline"` - - // metadata is the standard list's metadata. + // metadata is the standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata metav1.ListMeta `json:"metadata,omitempty"` // items is a list of AlertingRule objects. + // +kubebuilder:validation:Required Items []AlertingRule `json:"items"` } @@ -94,9 +93,17 @@ type AlertingRuleSpec struct { // +listType=map // +listMapKey=name // +kubebuilder:validation:MinItems:=1 + // +kubebuilder:validation:Required Groups []RuleGroup `json:"groups"` } +// Duration is a valid prometheus time duration. +// Supported units: y, w, d, h, m, s, ms +// Examples: `30s`, `1m`, `1h20m15s`, `15d` +// +kubebuilder:validation:Pattern:="^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$" +// +kubebuilder:validation:MaxLength=2048 +type Duration string + // RuleGroup is a list of sequentially evaluated alerting rules. // // +k8s:openapi-gen=true @@ -104,6 +111,8 @@ type RuleGroup struct { // name is the name of the group. // // +kubebuilder:validation:Required + // +kubebuilder:validation:MinLength=1 + // +kubebuilder:validation:MaxLength=2048 Name string `json:"name"` // interval is how often rules in the group are evaluated. If not specified, @@ -111,25 +120,17 @@ type RuleGroup struct { // which itself defaults to 30 seconds. You can check if this value has been // modified from the default on your cluster by inspecting the platform // Prometheus configuration: - // - // $ oc -n openshift-monitoring describe prometheus k8s - // // The relevant field in that resource is: spec.evaluationInterval // - // This is represented as a Prometheus duration, e.g. 1d, 1h30m, 5m, 10s. You - // can find the upstream documentation here: - // - // https://prometheus.io/docs/prometheus/latest/configuration/configuration/#duration - // - // +kubebuilder:validation:Pattern:="^(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?$" // +optional - Interval string `json:"interval,omitempty"` + Interval Duration `json:"interval,omitempty"` // rules is a list of sequentially evaluated alerting rules. Prometheus may // process rule groups in parallel, but rules within a single group are always // processed sequentially, and all rules are processed. // // +kubebuilder:validation:MinItems:=1 + // +kubebuilder:validation:Required Rules []Rule `json:"rules"` } @@ -139,37 +140,32 @@ type RuleGroup struct { // // +k8s:openapi-gen=true type Rule struct { - // alert is the name of the alert. Must be a valid label value, i.e. only - // contain ASCII letters, numbers, and underscores. + // alert is the name of the alert. Must be a valid label value, i.e. may + // contain any Unicode character. // - // +kubebuilder:validation:Pattern:="^[a-zA-Z_][a-zA-Z0-9_]*$" - // +required + // +kubebuilder:validation:Required + // +kubebuilder:validation:MinLength=1 + // +kubebuilder:validation:MaxLength=2048 Alert string `json:"alert"` // expr is the PromQL expression to evaluate. Every evaluation cycle this is // evaluated at the current time, and all resultant time series become pending // or firing alerts. This is most often a string representing a PromQL - // expression, e.g.: - // - // mapi_current_pending_csr > mapi_max_pending_csr - // + // expression, e.g.: mapi_current_pending_csr > mapi_max_pending_csr // In rare cases this could be a simple integer, e.g. a simple "1" if the // intent is to create an alert that is always firing. This is sometimes used // to create an always-firing "Watchdog" alert in order to ensure the alerting // pipeline is functional. // - // +required + // +kubebuilder:validation:Required Expr intstr.IntOrString `json:"expr"` // for is the time period after which alerts are considered firing after first // returning results. Alerts which have not yet fired for long enough are - // considered pending. This is represented as a Prometheus duration, for - // details on the format see: - // - https://prometheus.io/docs/prometheus/latest/configuration/configuration/#duration + // considered pending. // - // +kubebuilder:validation:Pattern:="^(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?$" // +optional - For string `json:"for,omitempty"` + For Duration `json:"for,omitempty"` // labels to add or overwrite for each alert. The results of the PromQL // expression for the alert will result in an existing set of labels for the @@ -177,24 +173,14 @@ type Rule struct { // the same name as a label in that set, the label here wins and overwrites // the previous value. These should typically be short identifying values // that may be useful to query against. A common example is the alert - // severity: - // - // labels: - // severity: warning + // severity, where one sets `severity: warning` under the `labels` key: // // +optional Labels map[string]string `json:"labels,omitempty"` // annotations to add to each alert. These are values that can be used to // store longer additional information that you won't query on, such as alert - // descriptions or runbook links, e.g.: - // - // annotations: - // summary: HAProxy reload failure - // description: | - // This alert fires when HAProxy fails to reload its - // configuration, which will result in the router not picking up - // recently created or modified routes. + // descriptions or runbook links. // // +optional Annotations map[string]string `json:"annotations,omitempty"` @@ -224,6 +210,9 @@ type PrometheusRuleRef struct { // the reference should we ever need to. // name of the referenced PrometheusRule. + // +kubebuilder:validation:Required + // +kubebuilder:validation:MinLength=1 + // +kubebuilder:validation:MaxLength=2048 Name string `json:"name"` } @@ -233,24 +222,23 @@ type PrometheusRuleRef struct { // AlertRelabelConfig defines a set of relabel configs for alerts. // -// Compatibility level 4: No compatibility is provided, the API can change at any point for any reason. These capabilities should not be used by applications needing long term support. -// +openshift:compatibility-gen:level=4 +// Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer). +// +openshift:compatibility-gen:level=1 // +k8s:openapi-gen=true // +kubebuilder:object:root=true // +kubebuilder:resource:path=alertrelabelconfigs,scope=Namespaced // +kubebuilder:subresource:status -// +openshift:api-approved.openshift.io=https://github.com/openshift/api/pull/1179 +// +openshift:api-approved.openshift.io=https://github.com/openshift/api/pull/1406 // +openshift:file-pattern=cvoRunLevel=0000_50,operatorName=monitoring,operatorOrdering=02 -// +openshift:enable:FeatureGate=AlertingRules // +kubebuilder:metadata:annotations="description=OpenShift Monitoring alert relabel configurations" type AlertRelabelConfig struct { metav1.TypeMeta `json:",inline"` - // metadata is the standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata metav1.ObjectMeta `json:"metadata,omitempty"` // spec describes the desired state of this AlertRelabelConfig object. + // +kubebuilder:validation:Required Spec AlertRelabelConfigSpec `json:"spec"` // status describes the current state of this AlertRelabelConfig object. @@ -266,6 +254,7 @@ type AlertRelabelConfigSpec struct { // configs is a list of sequentially evaluated alert relabel configs. // // +kubebuilder:validation:MinItems:=1 + // +kubebuilder:validation:Required Configs []RelabelConfig `json:"configs"` } @@ -285,18 +274,19 @@ const ( // AlertRelabelConfigList is a list of AlertRelabelConfigs. // -// Compatibility level 4: No compatibility is provided, the API can change at any point for any reason. These capabilities should not be used by applications needing long term support. -// +openshift:compatibility-gen:level=4 +// Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer). +// +openshift:compatibility-gen:level=1 // +k8s:openapi-gen=true // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object type AlertRelabelConfigList struct { metav1.TypeMeta `json:",inline"` - - // metadata is the standard list's metadata. + // metadata is the standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata metav1.ListMeta `json:"metadata,omitempty"` // items is a list of AlertRelabelConfigs. + // +kubebuilder:validation:MinItems:=1 + // +kubebuilder:validation:Required Items []*AlertRelabelConfig `json:"items"` } @@ -304,6 +294,7 @@ type AlertRelabelConfigList struct { // letters, numbers, and underscores. // // +kubebuilder:validation:Pattern:="^[a-zA-Z_][a-zA-Z0-9_]*$" +// +kubebuilder:validation:MaxLength=2048 type LabelName string // RelabelConfig allows dynamic rewriting of label sets for alerts. @@ -311,11 +302,22 @@ type LabelName string // - https://prometheus.io/docs/prometheus/latest/configuration/configuration/#alert_relabel_configs // - https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config // +// +kubebuilder:validation:XValidation:rule="self.action != 'HashMod' || self.modulus != 0",message="relabel action hashmod requires non-zero modulus" +// +kubebuilder:validation:XValidation:rule="(self.action != 'Replace' && self.action != 'HashMod') || has(self.targetLabel)",message="targetLabel is required when action is Replace or HashMod" +// +kubebuilder:validation:XValidation:rule="(self.action != 'LabelDrop' && self.action != 'LabelKeep') || !has(self.sourceLabels)",message="LabelKeep and LabelDrop actions require only 'regex', and no other fields (found sourceLabels)" +// +kubebuilder:validation:XValidation:rule="(self.action != 'LabelDrop' && self.action != 'LabelKeep') || !has(self.targetLabel)",message="LabelKeep and LabelDrop actions require only 'regex', and no other fields (found targetLabel)" +// +kubebuilder:validation:XValidation:rule="(self.action != 'LabelDrop' && self.action != 'LabelKeep') || !has(self.modulus)",message="LabelKeep and LabelDrop actions require only 'regex', and no other fields (found modulus)" +// +kubebuilder:validation:XValidation:rule="(self.action != 'LabelDrop' && self.action != 'LabelKeep') || !has(self.separator)",message="LabelKeep and LabelDrop actions require only 'regex', and no other fields (found separator)" +// +kubebuilder:validation:XValidation:rule="(self.action != 'LabelDrop' && self.action != 'LabelKeep') || !has(self.replacement)",message="LabelKeep and LabelDrop actions require only 'regex', and no other fields (found replacement)" +// +kubebuilder:validation:XValidation:rule="!has(self.modulus) || (has(self.modulus) && size(self.sourceLabels) > 0)",message="modulus requires sourceLabels to be present" +// +kubebuilder:validation:XValidation:rule="(self.action == 'LabelDrop' || self.action == 'LabelKeep') || has(self.sourceLabels)",message="sourceLabels is required for actions Replace, Keep, Drop, HashMod and LabelMap" +// +kubebuilder:validation:XValidation:rule="(self.action != 'Replace' && self.action != 'LabelMap') || has(self.replacement)",message="replacement is required for actions Replace and LabelMap" // +k8s:openapi-gen=true type RelabelConfig struct { // sourceLabels select values from existing labels. Their content is // concatenated using the configured separator and matched against the - // configured regular expression for the Replace, Keep, and Drop actions. + // configured regular expression for the 'Replace', 'Keep', and 'Drop' actions. + // Not allowed for actions 'LabelKeep' and 'LabelDrop'. // // +optional SourceLabels []LabelName `json:"sourceLabels,omitempty"` @@ -324,36 +326,45 @@ type RelabelConfig struct { // Prometheus will use its default value of ';'. // // +optional + // +kubebuilder:validation:MaxLength=2048 Separator string `json:"separator,omitempty"` // targetLabel to which the resulting value is written in a 'Replace' action. - // It is mandatory for 'Replace' and 'HashMod' actions. Regex capture groups + // It is required for 'Replace' and 'HashMod' actions and forbidden for + // actions 'LabelKeep' and 'LabelDrop'. Regex capture groups // are available. // // +optional + // +kubebuilder:validation:MaxLength=2048 TargetLabel string `json:"targetLabel,omitempty"` // regex against which the extracted value is matched. Default is: '(.*)' + // regex is required for all actions except 'HashMod' // // +optional + // +kubebuilder:default=(.*) + // +kubebuilder:validation:MaxLength=2048 Regex string `json:"regex,omitempty"` // modulus to take of the hash of the source label values. This can be // combined with the 'HashMod' action to set 'target_label' to the 'modulus' - // of a hash of the concatenated 'source_labels'. + // of a hash of the concatenated 'source_labels'. This is only valid if + // sourceLabels is not empty and action is not 'LabelKeep' or 'LabelDrop'. // // +optional Modulus uint64 `json:"modulus,omitempty"` // replacement value against which a regex replace is performed if the regular // expression matches. This is required if the action is 'Replace' or - // 'LabelMap'. Regex capture groups are available. Default is: '$1' + // 'LabelMap' and forbidden for actions 'LabelKeep' and 'LabelDrop'. + // Regex capture groups are available. Default is: '$1' // // +optional + // +kubebuilder:validation:MaxLength=2048 Replacement string `json:"replacement,omitempty"` - // action to perform based on regex matching. Must be one of: Replace, Keep, - // Drop, HashMod, LabelMap, LabelDrop, or LabelKeep. Default is: 'Replace' + // action to perform based on regex matching. Must be one of: 'Replace', 'Keep', + // 'Drop', 'HashMod', 'LabelMap', 'LabelDrop', or 'LabelKeep'. Default is: 'Replace' // // +kubebuilder:validation:Enum=Replace;Keep;Drop;HashMod;LabelMap;LabelDrop;LabelKeep // +kubebuilder:default=Replace diff --git a/vendor/github.com/openshift/api/monitoring/v1alpha1/zz_generated.deepcopy.go b/vendor/github.com/openshift/api/monitoring/v1/zz_generated.deepcopy.go similarity index 98% rename from vendor/github.com/openshift/api/monitoring/v1alpha1/zz_generated.deepcopy.go rename to vendor/github.com/openshift/api/monitoring/v1/zz_generated.deepcopy.go index 649d823a10..cb472ccf54 100644 --- a/vendor/github.com/openshift/api/monitoring/v1alpha1/zz_generated.deepcopy.go +++ b/vendor/github.com/openshift/api/monitoring/v1/zz_generated.deepcopy.go @@ -3,10 +3,10 @@ // Code generated by deepcopy-gen. DO NOT EDIT. -package v1alpha1 +package v1 import ( - v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" ) @@ -103,7 +103,7 @@ func (in *AlertRelabelConfigStatus) DeepCopyInto(out *AlertRelabelConfigStatus) *out = *in if in.Conditions != nil { in, out := &in.Conditions, &out.Conditions - *out = make([]v1.Condition, len(*in)) + *out = make([]metav1.Condition, len(*in)) for i := range *in { (*in)[i].DeepCopyInto(&(*out)[i]) } diff --git a/vendor/github.com/openshift/api/monitoring/v1alpha1/zz_generated.featuregated-crd-manifests.yaml b/vendor/github.com/openshift/api/monitoring/v1/zz_generated.featuregated-crd-manifests.yaml similarity index 75% rename from vendor/github.com/openshift/api/monitoring/v1alpha1/zz_generated.featuregated-crd-manifests.yaml rename to vendor/github.com/openshift/api/monitoring/v1/zz_generated.featuregated-crd-manifests.yaml index 2dcb2bc84b..0efeba4190 100644 --- a/vendor/github.com/openshift/api/monitoring/v1alpha1/zz_generated.featuregated-crd-manifests.yaml +++ b/vendor/github.com/openshift/api/monitoring/v1/zz_generated.featuregated-crd-manifests.yaml @@ -1,12 +1,11 @@ alertrelabelconfigs.monitoring.openshift.io: Annotations: description: OpenShift Monitoring alert relabel configurations - ApprovedPRNumber: https://github.com/openshift/api/pull/1179 + ApprovedPRNumber: https://github.com/openshift/api/pull/1406 CRDName: alertrelabelconfigs.monitoring.openshift.io Capability: "" Category: "" - FeatureGates: - - AlertingRules + FeatureGates: [] FilenameOperatorName: monitoring FilenameOperatorOrdering: "02" FilenameRunLevel: "0000_50" @@ -18,19 +17,17 @@ alertrelabelconfigs.monitoring.openshift.io: PrinterColumns: [] Scope: Namespaced ShortNames: null - TopLevelFeatureGates: - - AlertingRules - Version: v1alpha1 + TopLevelFeatureGates: [] + Version: v1 alertingrules.monitoring.openshift.io: Annotations: description: OpenShift Monitoring alerting rules - ApprovedPRNumber: https://github.com/openshift/api/pull/1179 + ApprovedPRNumber: https://github.com/openshift/api/pull/1406 CRDName: alertingrules.monitoring.openshift.io Capability: "" Category: "" - FeatureGates: - - AlertingRules + FeatureGates: [] FilenameOperatorName: monitoring FilenameOperatorOrdering: "01" FilenameRunLevel: "0000_50" @@ -42,7 +39,6 @@ alertingrules.monitoring.openshift.io: PrinterColumns: [] Scope: Namespaced ShortNames: null - TopLevelFeatureGates: - - AlertingRules - Version: v1alpha1 + TopLevelFeatureGates: [] + Version: v1 diff --git a/vendor/github.com/openshift/api/monitoring/v1alpha1/zz_generated.swagger_doc_generated.go b/vendor/github.com/openshift/api/monitoring/v1/zz_generated.swagger_doc_generated.go similarity index 76% rename from vendor/github.com/openshift/api/monitoring/v1alpha1/zz_generated.swagger_doc_generated.go rename to vendor/github.com/openshift/api/monitoring/v1/zz_generated.swagger_doc_generated.go index 7592907097..adb3837720 100644 --- a/vendor/github.com/openshift/api/monitoring/v1alpha1/zz_generated.swagger_doc_generated.go +++ b/vendor/github.com/openshift/api/monitoring/v1/zz_generated.swagger_doc_generated.go @@ -1,4 +1,4 @@ -package v1alpha1 +package v1 // This file contains a collection of methods that can be used from go-restful to // generate Swagger API documentation for its models. Please read this PR for more @@ -12,7 +12,7 @@ package v1alpha1 // AUTO-GENERATED FUNCTIONS START HERE var map_AlertRelabelConfig = map[string]string{ - "": "AlertRelabelConfig defines a set of relabel configs for alerts.\n\nCompatibility level 4: No compatibility is provided, the API can change at any point for any reason. These capabilities should not be used by applications needing long term support.", + "": "AlertRelabelConfig defines a set of relabel configs for alerts.\n\nCompatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).", "metadata": "metadata is the standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", "spec": "spec describes the desired state of this AlertRelabelConfig object.", "status": "status describes the current state of this AlertRelabelConfig object.", @@ -23,8 +23,8 @@ func (AlertRelabelConfig) SwaggerDoc() map[string]string { } var map_AlertRelabelConfigList = map[string]string{ - "": "AlertRelabelConfigList is a list of AlertRelabelConfigs.\n\nCompatibility level 4: No compatibility is provided, the API can change at any point for any reason. These capabilities should not be used by applications needing long term support.", - "metadata": "metadata is the standard list's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", + "": "AlertRelabelConfigList is a list of AlertRelabelConfigs.\n\nCompatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).", + "metadata": "metadata is the standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", "items": "items is a list of AlertRelabelConfigs.", } @@ -51,7 +51,7 @@ func (AlertRelabelConfigStatus) SwaggerDoc() map[string]string { } var map_AlertingRule = map[string]string{ - "": "AlertingRule represents a set of user-defined Prometheus rule groups containing alerting rules. This resource is the supported method for cluster admins to create alerts based on metrics recorded by the platform monitoring stack in OpenShift, i.e. the Prometheus instance deployed to the openshift-monitoring namespace. You might use this to create custom alerting rules not shipped with OpenShift based on metrics from components such as the node_exporter, which provides machine-level metrics such as CPU usage, or kube-state-metrics, which provides metrics on Kubernetes usage.\n\nThe API is mostly compatible with the upstream PrometheusRule type from the prometheus-operator. The primary difference being that recording rules are not allowed here -- only alerting rules. For each AlertingRule resource created, a corresponding PrometheusRule will be created in the openshift-monitoring namespace. OpenShift requires admins to use the AlertingRule resource rather than the upstream type in order to allow better OpenShift specific defaulting and validation, while not modifying the upstream APIs directly.\n\nYou can find upstream API documentation for PrometheusRule resources here:\n\nhttps://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md\n\nCompatibility level 4: No compatibility is provided, the API can change at any point for any reason. These capabilities should not be used by applications needing long term support.", + "": "AlertingRule represents a set of user-defined Prometheus rule groups containing alerting rules. This resource is the supported method for cluster admins to create alerts based on metrics recorded by the platform monitoring stack in OpenShift, i.e. the Prometheus instance deployed to the openshift-monitoring namespace. You might use this to create custom alerting rules not shipped with OpenShift based on metrics from components such as the node_exporter, which provides machine-level metrics such as CPU usage, or kube-state-metrics, which provides metrics on Kubernetes usage.\n\nThe API is mostly compatible with the upstream PrometheusRule type from the prometheus-operator. The primary difference being that recording rules are not allowed here -- only alerting rules. For each AlertingRule resource created, a corresponding PrometheusRule will be created in the openshift-monitoring namespace. OpenShift requires admins to use the AlertingRule resource rather than the upstream type in order to allow better OpenShift specific defaulting and validation, while not modifying the upstream APIs directly.\n\nYou can find upstream API documentation for PrometheusRule resources here:\n\nhttps://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md\n\nCompatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).", "metadata": "metadata is the standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", "spec": "spec describes the desired state of this AlertingRule object.", "status": "status describes the current state of this AlertOverrides object.", @@ -62,8 +62,8 @@ func (AlertingRule) SwaggerDoc() map[string]string { } var map_AlertingRuleList = map[string]string{ - "": "AlertingRuleList is a list of AlertingRule objects.\n\nCompatibility level 4: No compatibility is provided, the API can change at any point for any reason. These capabilities should not be used by applications needing long term support.", - "metadata": "metadata is the standard list's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", + "": "AlertingRuleList is a list of AlertingRule objects.\n\nCompatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).", + "metadata": "metadata is the standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", "items": "items is a list of AlertingRule objects.", } @@ -101,13 +101,13 @@ func (PrometheusRuleRef) SwaggerDoc() map[string]string { var map_RelabelConfig = map[string]string{ "": "RelabelConfig allows dynamic rewriting of label sets for alerts. See Prometheus documentation: - https://prometheus.io/docs/prometheus/latest/configuration/configuration/#alert_relabel_configs - https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config", - "sourceLabels": "sourceLabels select values from existing labels. Their content is concatenated using the configured separator and matched against the configured regular expression for the Replace, Keep, and Drop actions.", + "sourceLabels": "sourceLabels select values from existing labels. Their content is concatenated using the configured separator and matched against the configured regular expression for the 'Replace', 'Keep', and 'Drop' actions. Not allowed for actions 'LabelKeep' and 'LabelDrop'.", "separator": "separator placed between concatenated source label values. When omitted, Prometheus will use its default value of ';'.", - "targetLabel": "targetLabel to which the resulting value is written in a 'Replace' action. It is mandatory for 'Replace' and 'HashMod' actions. Regex capture groups are available.", - "regex": "regex against which the extracted value is matched. Default is: '(.*)'", - "modulus": "modulus to take of the hash of the source label values. This can be combined with the 'HashMod' action to set 'target_label' to the 'modulus' of a hash of the concatenated 'source_labels'.", - "replacement": "replacement value against which a regex replace is performed if the regular expression matches. This is required if the action is 'Replace' or 'LabelMap'. Regex capture groups are available. Default is: '$1'", - "action": "action to perform based on regex matching. Must be one of: Replace, Keep, Drop, HashMod, LabelMap, LabelDrop, or LabelKeep. Default is: 'Replace'", + "targetLabel": "targetLabel to which the resulting value is written in a 'Replace' action. It is required for 'Replace' and 'HashMod' actions and forbidden for actions 'LabelKeep' and 'LabelDrop'. Regex capture groups are available.", + "regex": "regex against which the extracted value is matched. Default is: '(.*)' regex is required for all actions except 'HashMod'", + "modulus": "modulus to take of the hash of the source label values. This can be combined with the 'HashMod' action to set 'target_label' to the 'modulus' of a hash of the concatenated 'source_labels'. This is only valid if sourceLabels is not empty and action is not 'LabelKeep' or 'LabelDrop'.", + "replacement": "replacement value against which a regex replace is performed if the regular expression matches. This is required if the action is 'Replace' or 'LabelMap' and forbidden for actions 'LabelKeep' and 'LabelDrop'. Regex capture groups are available. Default is: '$1'", + "action": "action to perform based on regex matching. Must be one of: 'Replace', 'Keep', 'Drop', 'HashMod', 'LabelMap', 'LabelDrop', or 'LabelKeep'. Default is: 'Replace'", } func (RelabelConfig) SwaggerDoc() map[string]string { @@ -116,11 +116,11 @@ func (RelabelConfig) SwaggerDoc() map[string]string { var map_Rule = map[string]string{ "": "Rule describes an alerting rule. See Prometheus documentation: - https://www.prometheus.io/docs/prometheus/latest/configuration/alerting_rules", - "alert": "alert is the name of the alert. Must be a valid label value, i.e. only contain ASCII letters, numbers, and underscores.", - "expr": "expr is the PromQL expression to evaluate. Every evaluation cycle this is evaluated at the current time, and all resultant time series become pending or firing alerts. This is most often a string representing a PromQL expression, e.g.:\n\n mapi_current_pending_csr > mapi_max_pending_csr\n\nIn rare cases this could be a simple integer, e.g. a simple \"1\" if the intent is to create an alert that is always firing. This is sometimes used to create an always-firing \"Watchdog\" alert in order to ensure the alerting pipeline is functional.", - "for": "for is the time period after which alerts are considered firing after first returning results. Alerts which have not yet fired for long enough are considered pending. This is represented as a Prometheus duration, for details on the format see: - https://prometheus.io/docs/prometheus/latest/configuration/configuration/#duration", - "labels": "labels to add or overwrite for each alert. The results of the PromQL expression for the alert will result in an existing set of labels for the alert, after evaluating the expression, for any label specified here with the same name as a label in that set, the label here wins and overwrites the previous value. These should typically be short identifying values that may be useful to query against. A common example is the alert severity:\n\n labels:\n severity: warning", - "annotations": "annotations to add to each alert. These are values that can be used to store longer additional information that you won't query on, such as alert descriptions or runbook links, e.g.:\n\n annotations:\n summary: HAProxy reload failure\n description: |\n This alert fires when HAProxy fails to reload its\n configuration, which will result in the router not picking up\n recently created or modified routes.", + "alert": "alert is the name of the alert. Must be a valid label value, i.e. may contain any Unicode character.", + "expr": "expr is the PromQL expression to evaluate. Every evaluation cycle this is evaluated at the current time, and all resultant time series become pending or firing alerts. This is most often a string representing a PromQL expression, e.g.: mapi_current_pending_csr > mapi_max_pending_csr In rare cases this could be a simple integer, e.g. a simple \"1\" if the intent is to create an alert that is always firing. This is sometimes used to create an always-firing \"Watchdog\" alert in order to ensure the alerting pipeline is functional.", + "for": "for is the time period after which alerts are considered firing after first returning results. Alerts which have not yet fired for long enough are considered pending.", + "labels": "labels to add or overwrite for each alert. The results of the PromQL expression for the alert will result in an existing set of labels for the alert, after evaluating the expression, for any label specified here with the same name as a label in that set, the label here wins and overwrites the previous value. These should typically be short identifying values that may be useful to query against. A common example is the alert severity, where one sets `severity: warning` under the `labels` key:", + "annotations": "annotations to add to each alert. These are values that can be used to store longer additional information that you won't query on, such as alert descriptions or runbook links.", } func (Rule) SwaggerDoc() map[string]string { @@ -130,7 +130,7 @@ func (Rule) SwaggerDoc() map[string]string { var map_RuleGroup = map[string]string{ "": "RuleGroup is a list of sequentially evaluated alerting rules.", "name": "name is the name of the group.", - "interval": "interval is how often rules in the group are evaluated. If not specified, it defaults to the global.evaluation_interval configured in Prometheus, which itself defaults to 30 seconds. You can check if this value has been modified from the default on your cluster by inspecting the platform Prometheus configuration:\n\n$ oc -n openshift-monitoring describe prometheus k8s\n\nThe relevant field in that resource is: spec.evaluationInterval\n\nThis is represented as a Prometheus duration, e.g. 1d, 1h30m, 5m, 10s. You can find the upstream documentation here:\n\nhttps://prometheus.io/docs/prometheus/latest/configuration/configuration/#duration", + "interval": "interval is how often rules in the group are evaluated. If not specified, it defaults to the global.evaluation_interval configured in Prometheus, which itself defaults to 30 seconds. You can check if this value has been modified from the default on your cluster by inspecting the platform Prometheus configuration: The relevant field in that resource is: spec.evaluationInterval", "rules": "rules is a list of sequentially evaluated alerting rules. Prometheus may process rule groups in parallel, but rules within a single group are always processed sequentially, and all rules are processed.", } diff --git a/vendor/github.com/openshift/api/openshiftcontrolplane/v1/types.go b/vendor/github.com/openshift/api/openshiftcontrolplane/v1/types.go index be364a5e37..f077f98ab0 100644 --- a/vendor/github.com/openshift/api/openshiftcontrolplane/v1/types.go +++ b/vendor/github.com/openshift/api/openshiftcontrolplane/v1/types.go @@ -204,9 +204,12 @@ const ( OpenShiftBuildController OpenShiftControllerName = "openshift.io/build" OpenShiftBuildConfigChangeController OpenShiftControllerName = "openshift.io/build-config-change" OpenShiftBuilderServiceAccountController OpenShiftControllerName = "openshift.io/builder-serviceaccount" + OpenShiftBuilderRoleBindingsController OpenShiftControllerName = "openshift.io/builder-rolebindings" OpenShiftDeployerController OpenShiftControllerName = "openshift.io/deployer" OpenShiftDeployerServiceAccountController OpenShiftControllerName = "openshift.io/deployer-serviceaccount" + OpenShiftDeployerRoleBindingsController OpenShiftControllerName = "openshift.io/deployer-rolebindings" OpenShiftDeploymentConfigController OpenShiftControllerName = "openshift.io/deploymentconfig" + OpenShiftImagePullerRoleBindingsController OpenShiftControllerName = "openshift.io/image-puller-rolebindings" OpenShiftImageTriggerController OpenShiftControllerName = "openshift.io/image-trigger" OpenShiftImageImportController OpenShiftControllerName = "openshift.io/image-import" OpenShiftImageSignatureImportController OpenShiftControllerName = "openshift.io/image-signature-import" diff --git a/vendor/github.com/openshift/api/operator/v1/types_csi_cluster_driver.go b/vendor/github.com/openshift/api/operator/v1/types_csi_cluster_driver.go index 0156d6df32..349c8d461d 100644 --- a/vendor/github.com/openshift/api/operator/v1/types_csi_cluster_driver.go +++ b/vendor/github.com/openshift/api/operator/v1/types_csi_cluster_driver.go @@ -281,6 +281,35 @@ type VSphereCSIDriverConfigSpec struct { // will be rejected. // +optional TopologyCategories []string `json:"topologyCategories,omitempty"` + + // globalMaxSnapshotsPerBlockVolume is a global configuration parameter that applies to volumes on all kinds of + // datastores. If omitted, the platform chooses a default, which is subject to change over time, currently that default is 3. + // Snapshots can not be disabled using this parameter. + // Increasing number of snapshots above 3 can have negative impact on performance, for more details see: https://kb.vmware.com/s/article/1025279 + // Volume snapshot documentation: https://docs.vmware.com/en/VMware-vSphere-Container-Storage-Plug-in/3.0/vmware-vsphere-csp-getting-started/GUID-E0B41C69-7EEB-450F-A73D-5FD2FF39E891.html + // +kubebuilder:validation:Minimum=1 + // +kubebuilder:validation:Maximum=32 + // +openshift:enable:FeatureGate=VSphereDriverConfiguration + // +optional + GlobalMaxSnapshotsPerBlockVolume *uint32 `json:"globalMaxSnapshotsPerBlockVolume,omitempty"` + + // granularMaxSnapshotsPerBlockVolumeInVSAN is a granular configuration parameter on vSAN datastore only. It + // overrides GlobalMaxSnapshotsPerBlockVolume if set, while it falls back to the global constraint if unset. + // Snapshots for VSAN can not be disabled using this parameter. + // +kubebuilder:validation:Minimum=1 + // +kubebuilder:validation:Maximum=32 + // +openshift:enable:FeatureGate=VSphereDriverConfiguration + // +optional + GranularMaxSnapshotsPerBlockVolumeInVSAN *uint32 `json:"granularMaxSnapshotsPerBlockVolumeInVSAN,omitempty"` + + // granularMaxSnapshotsPerBlockVolumeInVVOL is a granular configuration parameter on Virtual Volumes datastore only. + // It overrides GlobalMaxSnapshotsPerBlockVolume if set, while it falls back to the global constraint if unset. + // Snapshots for VVOL can not be disabled using this parameter. + // +kubebuilder:validation:Minimum=1 + // +kubebuilder:validation:Maximum=32 + // +openshift:enable:FeatureGate=VSphereDriverConfiguration + // +optional + GranularMaxSnapshotsPerBlockVolumeInVVOL *uint32 `json:"granularMaxSnapshotsPerBlockVolumeInVVOL,omitempty"` } // ClusterCSIDriverStatus is the observed status of CSI driver operator diff --git a/vendor/github.com/openshift/api/operator/v1/types_ingress.go b/vendor/github.com/openshift/api/operator/v1/types_ingress.go index 77f5ff7a10..64419ddfc0 100644 --- a/vendor/github.com/openshift/api/operator/v1/types_ingress.go +++ b/vendor/github.com/openshift/api/operator/v1/types_ingress.go @@ -1649,6 +1649,23 @@ type IngressControllerTuningOptions struct { // +optional TunnelTimeout *metav1.Duration `json:"tunnelTimeout,omitempty"` + // ConnectTimeout defines the maximum time to wait for + // a connection attempt to a server/backend to succeed. + // + // This field expects an unsigned duration string of decimal numbers, each with optional + // fraction and a unit suffix, e.g. "300ms", "1.5h" or "2h45m". + // Valid time units are "ns", "us" (or "µs" U+00B5 or "μs" U+03BC), "ms", "s", "m", "h". + // + // When omitted, this means the user has no opinion and the platform is left + // to choose a reasonable default. This default is subject to change over time. + // The current default is 5s. + // + // +kubebuilder:validation:Optional + // +kubebuilder:validation:Pattern=^(0|([0-9]+(\.[0-9]+)?(ns|us|µs|μs|ms|s|m|h))+)$ + // +kubebuilder:validation:Type:=string + // +optional + ConnectTimeout *metav1.Duration `json:"connectTimeout,omitempty"` + // tlsInspectDelay defines how long the router can hold data to find a // matching route. // diff --git a/vendor/github.com/openshift/api/operator/v1/types_machineconfiguration.go b/vendor/github.com/openshift/api/operator/v1/types_machineconfiguration.go index 5afc154dcd..8bc06a4ec2 100644 --- a/vendor/github.com/openshift/api/operator/v1/types_machineconfiguration.go +++ b/vendor/github.com/openshift/api/operator/v1/types_machineconfiguration.go @@ -351,7 +351,7 @@ type NodeDisruptionPolicyStatusSSHKey struct { // +union type NodeDisruptionPolicySpecAction struct { // type represents the commands that will be carried out if this NodeDisruptionPolicySpecActionType is executed - // Valid value are Reboot, Drain, Reload, Restart, DaemonReload, None and Special + // Valid values are Reboot, Drain, Reload, Restart, DaemonReload and None. // reload/restart requires a corresponding service target specified in the reload/restart field. // Other values require no further configuration // +unionDiscriminator @@ -370,7 +370,7 @@ type NodeDisruptionPolicySpecAction struct { // +union type NodeDisruptionPolicyStatusAction struct { // type represents the commands that will be carried out if this NodeDisruptionPolicyStatusActionType is executed - // Valid value are Reboot, Drain, Reload, Restart, DaemonReload, None and Special + // Valid values are Reboot, Drain, Reload, Restart, DaemonReload, None and Special. // reload/restart requires a corresponding service target specified in the reload/restart field. // Other values require no further configuration // +unionDiscriminator diff --git a/vendor/github.com/openshift/api/operator/v1/zz_generated.deepcopy.go b/vendor/github.com/openshift/api/operator/v1/zz_generated.deepcopy.go index d590bcc9a1..d41982f2a2 100644 --- a/vendor/github.com/openshift/api/operator/v1/zz_generated.deepcopy.go +++ b/vendor/github.com/openshift/api/operator/v1/zz_generated.deepcopy.go @@ -2268,6 +2268,11 @@ func (in *IngressControllerTuningOptions) DeepCopyInto(out *IngressControllerTun *out = new(metav1.Duration) **out = **in } + if in.ConnectTimeout != nil { + in, out := &in.ConnectTimeout, &out.ConnectTimeout + *out = new(metav1.Duration) + **out = **in + } if in.TLSInspectDelay != nil { in, out := &in.TLSInspectDelay, &out.TLSInspectDelay *out = new(metav1.Duration) @@ -5006,6 +5011,21 @@ func (in *VSphereCSIDriverConfigSpec) DeepCopyInto(out *VSphereCSIDriverConfigSp *out = make([]string, len(*in)) copy(*out, *in) } + if in.GlobalMaxSnapshotsPerBlockVolume != nil { + in, out := &in.GlobalMaxSnapshotsPerBlockVolume, &out.GlobalMaxSnapshotsPerBlockVolume + *out = new(uint32) + **out = **in + } + if in.GranularMaxSnapshotsPerBlockVolumeInVSAN != nil { + in, out := &in.GranularMaxSnapshotsPerBlockVolumeInVSAN, &out.GranularMaxSnapshotsPerBlockVolumeInVSAN + *out = new(uint32) + **out = **in + } + if in.GranularMaxSnapshotsPerBlockVolumeInVVOL != nil { + in, out := &in.GranularMaxSnapshotsPerBlockVolumeInVVOL, &out.GranularMaxSnapshotsPerBlockVolumeInVVOL + *out = new(uint32) + **out = **in + } return } diff --git a/vendor/github.com/openshift/api/operator/v1/zz_generated.featuregated-crd-manifests.yaml b/vendor/github.com/openshift/api/operator/v1/zz_generated.featuregated-crd-manifests.yaml index 82fb98c86c..22992a02a0 100644 --- a/vendor/github.com/openshift/api/operator/v1/zz_generated.featuregated-crd-manifests.yaml +++ b/vendor/github.com/openshift/api/operator/v1/zz_generated.featuregated-crd-manifests.yaml @@ -68,7 +68,8 @@ clustercsidrivers.operator.openshift.io: CRDName: clustercsidrivers.operator.openshift.io Capability: "" Category: "" - FeatureGates: [] + FeatureGates: + - VSphereDriverConfiguration FilenameOperatorName: csi-driver FilenameOperatorOrdering: "01" FilenameRunLevel: "0000_90" diff --git a/vendor/github.com/openshift/api/operator/v1/zz_generated.swagger_doc_generated.go b/vendor/github.com/openshift/api/operator/v1/zz_generated.swagger_doc_generated.go index 1eab19ab2f..81d4ce91e5 100644 --- a/vendor/github.com/openshift/api/operator/v1/zz_generated.swagger_doc_generated.go +++ b/vendor/github.com/openshift/api/operator/v1/zz_generated.swagger_doc_generated.go @@ -501,8 +501,11 @@ func (IBMCloudCSIDriverConfigSpec) SwaggerDoc() map[string]string { } var map_VSphereCSIDriverConfigSpec = map[string]string{ - "": "VSphereCSIDriverConfigSpec defines properties that can be configured for vsphere CSI driver.", - "topologyCategories": "topologyCategories indicates tag categories with which vcenter resources such as hostcluster or datacenter were tagged with. If cluster Infrastructure object has a topology, values specified in Infrastructure object will be used and modifications to topologyCategories will be rejected.", + "": "VSphereCSIDriverConfigSpec defines properties that can be configured for vsphere CSI driver.", + "topologyCategories": "topologyCategories indicates tag categories with which vcenter resources such as hostcluster or datacenter were tagged with. If cluster Infrastructure object has a topology, values specified in Infrastructure object will be used and modifications to topologyCategories will be rejected.", + "globalMaxSnapshotsPerBlockVolume": "globalMaxSnapshotsPerBlockVolume is a global configuration parameter that applies to volumes on all kinds of datastores. If omitted, the platform chooses a default, which is subject to change over time, currently that default is 3. Snapshots can not be disabled using this parameter. Increasing number of snapshots above 3 can have negative impact on performance, for more details see: https://kb.vmware.com/s/article/1025279 Volume snapshot documentation: https://docs.vmware.com/en/VMware-vSphere-Container-Storage-Plug-in/3.0/vmware-vsphere-csp-getting-started/GUID-E0B41C69-7EEB-450F-A73D-5FD2FF39E891.html", + "granularMaxSnapshotsPerBlockVolumeInVSAN": "granularMaxSnapshotsPerBlockVolumeInVSAN is a granular configuration parameter on vSAN datastore only. It overrides GlobalMaxSnapshotsPerBlockVolume if set, while it falls back to the global constraint if unset. Snapshots for VSAN can not be disabled using this parameter.", + "granularMaxSnapshotsPerBlockVolumeInVVOL": "granularMaxSnapshotsPerBlockVolumeInVVOL is a granular configuration parameter on Virtual Volumes datastore only. It overrides GlobalMaxSnapshotsPerBlockVolume if set, while it falls back to the global constraint if unset. Snapshots for VVOL can not be disabled using this parameter.", } func (VSphereCSIDriverConfigSpec) SwaggerDoc() map[string]string { @@ -999,6 +1002,7 @@ var map_IngressControllerTuningOptions = map[string]string{ "serverTimeout": "serverTimeout defines how long a connection will be held open while waiting for a server/backend response.\n\nIf unset, the default timeout is 30s", "serverFinTimeout": "serverFinTimeout defines how long a connection will be held open while waiting for the server/backend response to the client closing the connection.\n\nIf unset, the default timeout is 1s", "tunnelTimeout": "tunnelTimeout defines how long a tunnel connection (including websockets) will be held open while the tunnel is idle.\n\nIf unset, the default timeout is 1h", + "connectTimeout": "ConnectTimeout defines the maximum time to wait for a connection attempt to a server/backend to succeed.\n\nThis field expects an unsigned duration string of decimal numbers, each with optional fraction and a unit suffix, e.g. \"300ms\", \"1.5h\" or \"2h45m\". Valid time units are \"ns\", \"us\" (or \"µs\" U+00B5 or \"μs\" U+03BC), \"ms\", \"s\", \"m\", \"h\".\n\nWhen omitted, this means the user has no opinion and the platform is left to choose a reasonable default. This default is subject to change over time. The current default is 5s.", "tlsInspectDelay": "tlsInspectDelay defines how long the router can hold data to find a matching route.\n\nSetting this too short can cause the router to fall back to the default certificate for edge-terminated or reencrypt routes even when a better matching certificate could be used.\n\nIf unset, the default inspect delay is 5s", "healthCheckInterval": "healthCheckInterval defines how long the router waits between two consecutive health checks on its configured backends. This value is applied globally as a default for all routes, but may be overridden per-route by the route annotation \"router.openshift.io/haproxy.health.check.interval\".\n\nExpects an unsigned duration string of decimal numbers, each with optional fraction and a unit suffix, eg \"300ms\", \"1.5h\" or \"2h45m\". Valid time units are \"ns\", \"us\" (or \"µs\" U+00B5 or \"μs\" U+03BC), \"ms\", \"s\", \"m\", \"h\".\n\nSetting this to less than 5s can cause excess traffic due to too frequent TCP health checks and accompanying SYN packet storms. Alternatively, setting this too high can result in increased latency, due to backend servers that are no longer available, but haven't yet been detected as such.\n\nAn empty or zero healthCheckInterval means no opinion and IngressController chooses a default, which is subject to change over time. Currently the default healthCheckInterval value is 5s.\n\nCurrently the minimum allowed value is 1s and the maximum allowed value is 2147483647ms (24.85 days). Both are subject to change over time.", "maxConnections": "maxConnections defines the maximum number of simultaneous connections that can be established per HAProxy process. Increasing this value allows each ingress controller pod to handle more connections but at the cost of additional system resources being consumed.\n\nPermitted values are: empty, 0, -1, and the range 2000-2000000.\n\nIf this field is empty or 0, the IngressController will use the default value of 50000, but the default is subject to change in future releases.\n\nIf the value is -1 then HAProxy will dynamically compute a maximum value based on the available ulimits in the running container. Selecting -1 (i.e., auto) will result in a large value being computed (~520000 on OpenShift >=4.10 clusters) and therefore each HAProxy process will incur significant memory usage compared to the current default of 50000.\n\nSetting a value that is greater than the current operating system limit will prevent the HAProxy process from starting.\n\nIf you choose a discrete value (e.g., 750000) and the router pod is migrated to a new node, there's no guarantee that that new node has identical ulimits configured. In such a scenario the pod would fail to start. If you have nodes with different ulimits configured (e.g., different tuned profiles) and you choose a discrete value then the guidance is to use -1 and let the value be computed dynamically at runtime.\n\nYou can monitor memory usage for router containers with the following metric: 'container_memory_working_set_bytes{container=\"router\",namespace=\"openshift-ingress\"}'.\n\nYou can monitor memory usage of individual HAProxy processes in router containers with the following metric: 'container_memory_working_set_bytes{container=\"router\",namespace=\"openshift-ingress\"}/container_processes{container=\"router\",namespace=\"openshift-ingress\"}'.", @@ -1342,7 +1346,7 @@ func (NodeDisruptionPolicyConfig) SwaggerDoc() map[string]string { } var map_NodeDisruptionPolicySpecAction = map[string]string{ - "type": "type represents the commands that will be carried out if this NodeDisruptionPolicySpecActionType is executed Valid value are Reboot, Drain, Reload, Restart, DaemonReload, None and Special reload/restart requires a corresponding service target specified in the reload/restart field. Other values require no further configuration", + "type": "type represents the commands that will be carried out if this NodeDisruptionPolicySpecActionType is executed Valid values are Reboot, Drain, Reload, Restart, DaemonReload and None. reload/restart requires a corresponding service target specified in the reload/restart field. Other values require no further configuration", "reload": "reload specifies the service to reload, only valid if type is reload", "restart": "restart specifies the service to restart, only valid if type is restart", } @@ -1389,7 +1393,7 @@ func (NodeDisruptionPolicyStatus) SwaggerDoc() map[string]string { } var map_NodeDisruptionPolicyStatusAction = map[string]string{ - "type": "type represents the commands that will be carried out if this NodeDisruptionPolicyStatusActionType is executed Valid value are Reboot, Drain, Reload, Restart, DaemonReload, None and Special reload/restart requires a corresponding service target specified in the reload/restart field. Other values require no further configuration", + "type": "type represents the commands that will be carried out if this NodeDisruptionPolicyStatusActionType is executed Valid values are Reboot, Drain, Reload, Restart, DaemonReload, None and Special. reload/restart requires a corresponding service target specified in the reload/restart field. Other values require no further configuration", "reload": "reload specifies the service to reload, only valid if type is reload", "restart": "restart specifies the service to restart, only valid if type is restart", } diff --git a/vendor/github.com/openshift/library-go/pkg/operator/resource/resourceapply/admissionregistration.go b/vendor/github.com/openshift/library-go/pkg/operator/resource/resourceapply/admissionregistration.go index fb753fde4c..335f571357 100644 --- a/vendor/github.com/openshift/library-go/pkg/operator/resource/resourceapply/admissionregistration.go +++ b/vendor/github.com/openshift/library-go/pkg/operator/resource/resourceapply/admissionregistration.go @@ -7,10 +7,12 @@ import ( "github.com/openshift/library-go/pkg/operator/events" "github.com/openshift/library-go/pkg/operator/resource/resourcemerge" admissionregistrationv1 "k8s.io/api/admissionregistration/v1" + admissionregistrationv1beta1 "k8s.io/api/admissionregistration/v1beta1" "k8s.io/apimachinery/pkg/api/equality" apierrors "k8s.io/apimachinery/pkg/api/errors" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" admissionregistrationclientv1 "k8s.io/client-go/kubernetes/typed/admissionregistration/v1" + admissionregistrationclientv1beta1 "k8s.io/client-go/kubernetes/typed/admissionregistration/v1beta1" "k8s.io/klog/v2" ) @@ -164,3 +166,121 @@ func copyValidatingWebhookCABundle(from, to *admissionregistrationv1.ValidatingW } } } + +// ApplyValidatingAdmissionPolicyV1beta1 ensures the form of the specified +// validatingadmissionpolicyconfiguration is present in the API. If it does not exist, +// it will be created. If it does exist, the metadata of the required +// validatingadmissionpolicyconfiguration will be merged with the existing validatingadmissionpolicyconfiguration +// and an update performed if the validatingadmissionpolicyconfiguration spec and metadata differ from +// the previously required spec and metadata based on generation change. +func ApplyValidatingAdmissionPolicyV1beta1(ctx context.Context, client admissionregistrationclientv1beta1.ValidatingAdmissionPoliciesGetter, recorder events.Recorder, + requiredOriginal *admissionregistrationv1beta1.ValidatingAdmissionPolicy, cache ResourceCache) (*admissionregistrationv1beta1.ValidatingAdmissionPolicy, bool, error) { + if requiredOriginal == nil { + return nil, false, fmt.Errorf("Unexpected nil instead of an object") + } + + existing, err := client.ValidatingAdmissionPolicies().Get(ctx, requiredOriginal.GetName(), metav1.GetOptions{}) + if apierrors.IsNotFound(err) { + required := requiredOriginal.DeepCopy() + actual, err := client.ValidatingAdmissionPolicies().Create( + ctx, resourcemerge.WithCleanLabelsAndAnnotations(required).(*admissionregistrationv1beta1.ValidatingAdmissionPolicy), metav1.CreateOptions{}) + reportCreateEvent(recorder, required, err) + if err != nil { + return nil, false, err + } + // need to store the original so that the early comparison of hashes is done based on the original, not a mutated copy + cache.UpdateCachedResourceMetadata(requiredOriginal, actual) + return actual, true, nil + } else if err != nil { + return nil, false, err + } + + if cache.SafeToSkipApply(requiredOriginal, existing) { + return existing, false, nil + } + + required := requiredOriginal.DeepCopy() + modified := false + existingCopy := existing.DeepCopy() + + resourcemerge.EnsureObjectMeta(&modified, &existingCopy.ObjectMeta, required.ObjectMeta) + specEquivalent := equality.Semantic.DeepEqual(existingCopy.Spec, required.Spec) + if specEquivalent && !modified { + // need to store the original so that the early comparison of hashes is done based on the original, not a mutated copy + cache.UpdateCachedResourceMetadata(requiredOriginal, existingCopy) + return existingCopy, false, nil + } + // at this point we know that we're going to perform a write. We're just trying to get the object correct + toWrite := existingCopy // shallow copy so the code reads easier + toWrite.Spec = required.Spec + + klog.V(2).Infof("ValidatingAdmissionPolicyConfigurationV1beta1 %q changes: %v", required.GetNamespace()+"/"+required.GetName(), JSONPatchNoError(existing, toWrite)) + + actual, err := client.ValidatingAdmissionPolicies().Update(ctx, toWrite, metav1.UpdateOptions{}) + reportUpdateEvent(recorder, required, err) + if err != nil { + return nil, false, err + } + // need to store the original so that the early comparison of hashes is done based on the original, not a mutated copy + cache.UpdateCachedResourceMetadata(requiredOriginal, actual) + return actual, true, nil +} + +// ApplyValidatingAdmissionPolicyBindingV1beta1 ensures the form of the specified +// validatingadmissionpolicybindingconfiguration is present in the API. If it does not exist, +// it will be created. If it does exist, the metadata of the required +// validatingadmissionpolicybindingconfiguration will be merged with the existing validatingadmissionpolicybindingconfiguration +// and an update performed if the validatingadmissionpolicybindingconfiguration spec and metadata differ from +// the previously required spec and metadata based on generation change. +func ApplyValidatingAdmissionPolicyBindingV1beta1(ctx context.Context, client admissionregistrationclientv1beta1.ValidatingAdmissionPolicyBindingsGetter, recorder events.Recorder, + requiredOriginal *admissionregistrationv1beta1.ValidatingAdmissionPolicyBinding, cache ResourceCache) (*admissionregistrationv1beta1.ValidatingAdmissionPolicyBinding, bool, error) { + if requiredOriginal == nil { + return nil, false, fmt.Errorf("Unexpected nil instead of an object") + } + + existing, err := client.ValidatingAdmissionPolicyBindings().Get(ctx, requiredOriginal.GetName(), metav1.GetOptions{}) + if apierrors.IsNotFound(err) { + required := requiredOriginal.DeepCopy() + actual, err := client.ValidatingAdmissionPolicyBindings().Create( + ctx, resourcemerge.WithCleanLabelsAndAnnotations(required).(*admissionregistrationv1beta1.ValidatingAdmissionPolicyBinding), metav1.CreateOptions{}) + reportCreateEvent(recorder, required, err) + if err != nil { + return nil, false, err + } + // need to store the original so that the early comparison of hashes is done based on the original, not a mutated copy + cache.UpdateCachedResourceMetadata(requiredOriginal, actual) + return actual, true, nil + } else if err != nil { + return nil, false, err + } + + if cache.SafeToSkipApply(requiredOriginal, existing) { + return existing, false, nil + } + + required := requiredOriginal.DeepCopy() + modified := false + existingCopy := existing.DeepCopy() + + resourcemerge.EnsureObjectMeta(&modified, &existingCopy.ObjectMeta, required.ObjectMeta) + specEquivalent := equality.Semantic.DeepEqual(existingCopy.Spec, required.Spec) + if specEquivalent && !modified { + // need to store the original so that the early comparison of hashes is done based on the original, not a mutated copy + cache.UpdateCachedResourceMetadata(requiredOriginal, existingCopy) + return existingCopy, false, nil + } + // at this point we know that we're going to perform a write. We're just trying to get the object correct + toWrite := existingCopy // shallow copy so the code reads easier + toWrite.Spec = required.Spec + + klog.V(2).Infof("ValidatingAdmissionPolicyBindingConfigurationV1beta1 %q changes: %v", required.GetNamespace()+"/"+required.GetName(), JSONPatchNoError(existing, toWrite)) + + actual, err := client.ValidatingAdmissionPolicyBindings().Update(ctx, toWrite, metav1.UpdateOptions{}) + reportUpdateEvent(recorder, required, err) + if err != nil { + return nil, false, err + } + // need to store the original so that the early comparison of hashes is done based on the original, not a mutated copy + cache.UpdateCachedResourceMetadata(requiredOriginal, actual) + return actual, true, nil +} diff --git a/vendor/github.com/openshift/library-go/pkg/operator/resource/resourceapply/generic.go b/vendor/github.com/openshift/library-go/pkg/operator/resource/resourceapply/generic.go index c32c330bcb..087893e029 100644 --- a/vendor/github.com/openshift/library-go/pkg/operator/resource/resourceapply/generic.go +++ b/vendor/github.com/openshift/library-go/pkg/operator/resource/resourceapply/generic.go @@ -5,6 +5,7 @@ import ( "fmt" admissionregistrationv1 "k8s.io/api/admissionregistration/v1" + admissionregistrationv1beta1 "k8s.io/api/admissionregistration/v1beta1" corev1 "k8s.io/api/core/v1" policyv1 "k8s.io/api/policy/v1" rbacv1 "k8s.io/api/rbac/v1" @@ -193,6 +194,18 @@ func ApplyDirectly(ctx context.Context, clients *ClientHolder, recorder events.R } else { result.Result, result.Changed, result.Error = ApplyMutatingWebhookConfigurationImproved(ctx, clients.kubeClient.AdmissionregistrationV1(), recorder, t, cache) } + case *admissionregistrationv1beta1.ValidatingAdmissionPolicy: + if clients.kubeClient == nil { + result.Error = fmt.Errorf("missing kubeClient") + } else { + result.Result, result.Changed, result.Error = ApplyValidatingAdmissionPolicyV1beta1(ctx, clients.kubeClient.AdmissionregistrationV1beta1(), recorder, t, cache) + } + case *admissionregistrationv1beta1.ValidatingAdmissionPolicyBinding: + if clients.kubeClient == nil { + result.Error = fmt.Errorf("missing kubeClient") + } else { + result.Result, result.Changed, result.Error = ApplyValidatingAdmissionPolicyBindingV1beta1(ctx, clients.kubeClient.AdmissionregistrationV1beta1(), recorder, t, cache) + } case *storagev1.CSIDriver: if clients.kubeClient == nil { result.Error = fmt.Errorf("missing kubeClient") diff --git a/vendor/github.com/openshift/library-go/pkg/route/validation/validation.go b/vendor/github.com/openshift/library-go/pkg/route/validation/validation.go index 020e82983e..577c4c89f2 100644 --- a/vendor/github.com/openshift/library-go/pkg/route/validation/validation.go +++ b/vendor/github.com/openshift/library-go/pkg/route/validation/validation.go @@ -352,7 +352,7 @@ func validateTLSExternalCertificate(ctx context.Context, route *routev1.Route, f secret, err := secretsGetter.Secrets(route.Namespace).Get(ctx, tls.ExternalCertificate.Name, metav1.GetOptions{}) if err != nil { if apierrors.IsNotFound(err) { - return append(errs, field.NotFound(fldPath, err)) + return append(errs, field.NotFound(fldPath, err.Error())) } return append(errs, field.InternalError(fldPath, err)) } diff --git a/vendor/k8s.io/kubernetes/openshift-kube-apiserver/admission/customresourcevalidation/route/validation_opts.go b/vendor/k8s.io/kubernetes/openshift-kube-apiserver/admission/customresourcevalidation/route/validation_opts.go index 325d4b83c2..3bbe5c30ad 100644 --- a/vendor/k8s.io/kubernetes/openshift-kube-apiserver/admission/customresourcevalidation/route/validation_opts.go +++ b/vendor/k8s.io/kubernetes/openshift-kube-apiserver/admission/customresourcevalidation/route/validation_opts.go @@ -4,7 +4,7 @@ import ( "k8s.io/apiserver/pkg/util/feature" "k8s.io/component-base/featuregate" - configv1 "github.com/openshift/api/config/v1" + openshiftfeatures "github.com/openshift/api/features" routecommon "github.com/openshift/library-go/pkg/route" ) @@ -21,7 +21,7 @@ var _ RouteValidationOptionGetter = &RouteValidationOpts{} func NewRouteValidationOpts() *RouteValidationOpts { return &RouteValidationOpts{ opts: routecommon.RouteValidationOptions{ - AllowExternalCertificates: feature.DefaultMutableFeatureGate.Enabled(featuregate.Feature(configv1.FeatureGateRouteExternalCertificate)), + AllowExternalCertificates: feature.DefaultMutableFeatureGate.Enabled(featuregate.Feature(openshiftfeatures.FeatureGateRouteExternalCertificate)), }, } } diff --git a/vendor/modules.txt b/vendor/modules.txt index c6500a9da7..bdfd2f10cc 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -524,7 +524,7 @@ github.com/opencontainers/runtime-spec/specs-go github.com/opencontainers/selinux/go-selinux github.com/opencontainers/selinux/go-selinux/label github.com/opencontainers/selinux/pkg/pwalkdir -# github.com/openshift/api v0.0.0-20240405095747-3e50337fcaea +# github.com/openshift/api v0.0.0-20240424142232-29a704bf5aa2 ## explicit; go 1.21 github.com/openshift/api github.com/openshift/api/annotations @@ -544,6 +544,7 @@ github.com/openshift/api/config/v1alpha1 github.com/openshift/api/console github.com/openshift/api/console/v1 github.com/openshift/api/console/v1alpha1 +github.com/openshift/api/features github.com/openshift/api/helm github.com/openshift/api/helm/v1beta1 github.com/openshift/api/image @@ -560,7 +561,7 @@ github.com/openshift/api/machine/v1 github.com/openshift/api/machine/v1alpha1 github.com/openshift/api/machine/v1beta1 github.com/openshift/api/monitoring -github.com/openshift/api/monitoring/v1alpha1 +github.com/openshift/api/monitoring/v1 github.com/openshift/api/network github.com/openshift/api/network/v1 github.com/openshift/api/network/v1alpha1 @@ -780,7 +781,7 @@ github.com/openshift/cluster-policy-controller/pkg/security/controller github.com/openshift/cluster-policy-controller/pkg/security/mcs github.com/openshift/cluster-policy-controller/pkg/security/uidallocator github.com/openshift/cluster-policy-controller/pkg/version -# github.com/openshift/library-go v0.0.0-20240411091851-558ed29cc1dd +# github.com/openshift/library-go v0.0.0-20240513090140-e22d25af5587 ## explicit; go 1.21 github.com/openshift/library-go/pkg/apiserver/admission/admissionrestconfig github.com/openshift/library-go/pkg/apiserver/admission/admissiontimeout @@ -1359,7 +1360,7 @@ gopkg.in/yaml.v2 # gopkg.in/yaml.v3 v3.0.1 ## explicit gopkg.in/yaml.v3 -# k8s.io/api v0.29.1 => github.com/openshift/kubernetes/staging/src/k8s.io/api v0.0.0-20240507134651-6c10b2df178d +# k8s.io/api v0.29.1 => github.com/openshift/kubernetes/staging/src/k8s.io/api v0.0.0-20240514134208-4a87b5377b72 ## explicit; go 1.21 k8s.io/api/admission/v1 k8s.io/api/admission/v1beta1 @@ -1416,7 +1417,7 @@ k8s.io/api/scheduling/v1beta1 k8s.io/api/storage/v1 k8s.io/api/storage/v1alpha1 k8s.io/api/storage/v1beta1 -# k8s.io/apiextensions-apiserver v0.29.0 => github.com/openshift/kubernetes/staging/src/k8s.io/apiextensions-apiserver v0.0.0-20240507134651-6c10b2df178d +# k8s.io/apiextensions-apiserver v0.29.0 => github.com/openshift/kubernetes/staging/src/k8s.io/apiextensions-apiserver v0.0.0-20240514134208-4a87b5377b72 ## explicit; go 1.21 k8s.io/apiextensions-apiserver/pkg/apihelpers k8s.io/apiextensions-apiserver/pkg/apis/apiextensions @@ -1463,7 +1464,7 @@ k8s.io/apiextensions-apiserver/pkg/generated/openapi k8s.io/apiextensions-apiserver/pkg/registry/customresource k8s.io/apiextensions-apiserver/pkg/registry/customresource/tableconvertor k8s.io/apiextensions-apiserver/pkg/registry/customresourcedefinition -# k8s.io/apimachinery v0.29.1 => github.com/openshift/kubernetes/staging/src/k8s.io/apimachinery v0.0.0-20240507134651-6c10b2df178d +# k8s.io/apimachinery v0.29.1 => github.com/openshift/kubernetes/staging/src/k8s.io/apimachinery v0.0.0-20240514134208-4a87b5377b72 ## explicit; go 1.21 k8s.io/apimachinery/pkg/api/equality k8s.io/apimachinery/pkg/api/errors @@ -1530,7 +1531,7 @@ k8s.io/apimachinery/pkg/watch k8s.io/apimachinery/third_party/forked/golang/json k8s.io/apimachinery/third_party/forked/golang/netutil k8s.io/apimachinery/third_party/forked/golang/reflect -# k8s.io/apiserver v0.29.1 => github.com/openshift/kubernetes/staging/src/k8s.io/apiserver v0.0.0-20240507134651-6c10b2df178d +# k8s.io/apiserver v0.29.1 => github.com/openshift/kubernetes/staging/src/k8s.io/apiserver v0.0.0-20240514134208-4a87b5377b72 ## explicit; go 1.21 k8s.io/apiserver/pkg/admission k8s.io/apiserver/pkg/admission/cel @@ -1698,13 +1699,13 @@ k8s.io/apiserver/plugin/pkg/audit/webhook k8s.io/apiserver/plugin/pkg/authenticator/token/oidc k8s.io/apiserver/plugin/pkg/authenticator/token/webhook k8s.io/apiserver/plugin/pkg/authorizer/webhook -# k8s.io/cli-runtime v0.0.0 => github.com/openshift/kubernetes/staging/src/k8s.io/cli-runtime v0.0.0-20240507134651-6c10b2df178d +# k8s.io/cli-runtime v0.0.0 => github.com/openshift/kubernetes/staging/src/k8s.io/cli-runtime v0.0.0-20240514134208-4a87b5377b72 ## explicit; go 1.21 k8s.io/cli-runtime/pkg/genericclioptions k8s.io/cli-runtime/pkg/genericiooptions k8s.io/cli-runtime/pkg/printers k8s.io/cli-runtime/pkg/resource -# k8s.io/client-go v0.29.1 => github.com/openshift/kubernetes/staging/src/k8s.io/client-go v0.0.0-20240507134651-6c10b2df178d +# k8s.io/client-go v0.29.1 => github.com/openshift/kubernetes/staging/src/k8s.io/client-go v0.0.0-20240514134208-4a87b5377b72 ## explicit; go 1.21 k8s.io/client-go/applyconfigurations/admissionregistration/v1 k8s.io/client-go/applyconfigurations/admissionregistration/v1alpha1 @@ -2042,7 +2043,7 @@ k8s.io/client-go/util/jsonpath k8s.io/client-go/util/keyutil k8s.io/client-go/util/retry k8s.io/client-go/util/workqueue -# k8s.io/cloud-provider v0.29.1 => github.com/openshift/kubernetes/staging/src/k8s.io/cloud-provider v0.0.0-20240507134651-6c10b2df178d +# k8s.io/cloud-provider v0.29.1 => github.com/openshift/kubernetes/staging/src/k8s.io/cloud-provider v0.0.0-20240514134208-4a87b5377b72 ## explicit; go 1.21 k8s.io/cloud-provider k8s.io/cloud-provider/api @@ -2065,14 +2066,14 @@ k8s.io/cloud-provider/service/helpers k8s.io/cloud-provider/volume k8s.io/cloud-provider/volume/errors k8s.io/cloud-provider/volume/helpers -# k8s.io/cluster-bootstrap v0.0.0 => github.com/openshift/kubernetes/staging/src/k8s.io/cluster-bootstrap v0.0.0-20240507134651-6c10b2df178d +# k8s.io/cluster-bootstrap v0.0.0 => github.com/openshift/kubernetes/staging/src/k8s.io/cluster-bootstrap v0.0.0-20240514134208-4a87b5377b72 ## explicit; go 1.21 k8s.io/cluster-bootstrap/token/api k8s.io/cluster-bootstrap/token/jws k8s.io/cluster-bootstrap/token/util k8s.io/cluster-bootstrap/util/secrets k8s.io/cluster-bootstrap/util/tokens -# k8s.io/component-base v0.29.1 => github.com/openshift/kubernetes/staging/src/k8s.io/component-base v0.0.0-20240507134651-6c10b2df178d +# k8s.io/component-base v0.29.1 => github.com/openshift/kubernetes/staging/src/k8s.io/component-base v0.0.0-20240514134208-4a87b5377b72 ## explicit; go 1.21 k8s.io/component-base/cli k8s.io/component-base/cli/flag @@ -2106,7 +2107,7 @@ k8s.io/component-base/tracing k8s.io/component-base/tracing/api/v1 k8s.io/component-base/version k8s.io/component-base/version/verflag -# k8s.io/component-helpers v0.29.1 => github.com/openshift/kubernetes/staging/src/k8s.io/component-helpers v0.0.0-20240507134651-6c10b2df178d +# k8s.io/component-helpers v0.29.1 => github.com/openshift/kubernetes/staging/src/k8s.io/component-helpers v0.0.0-20240514134208-4a87b5377b72 ## explicit; go 1.21 k8s.io/component-helpers/apimachinery/lease k8s.io/component-helpers/apps/poddisruptionbudget @@ -2119,7 +2120,7 @@ k8s.io/component-helpers/scheduling/corev1 k8s.io/component-helpers/scheduling/corev1/nodeaffinity k8s.io/component-helpers/storage/ephemeral k8s.io/component-helpers/storage/volume -# k8s.io/controller-manager v0.29.1 => github.com/openshift/kubernetes/staging/src/k8s.io/controller-manager v0.0.0-20240507134651-6c10b2df178d +# k8s.io/controller-manager v0.29.1 => github.com/openshift/kubernetes/staging/src/k8s.io/controller-manager v0.0.0-20240514134208-4a87b5377b72 ## explicit; go 1.21 k8s.io/controller-manager/app k8s.io/controller-manager/config @@ -2136,19 +2137,19 @@ k8s.io/controller-manager/pkg/informerfactory k8s.io/controller-manager/pkg/leadermigration k8s.io/controller-manager/pkg/leadermigration/config k8s.io/controller-manager/pkg/leadermigration/options -# k8s.io/cri-api v0.0.0 => github.com/openshift/kubernetes/staging/src/k8s.io/cri-api v0.0.0-20240507134651-6c10b2df178d +# k8s.io/cri-api v0.0.0 => github.com/openshift/kubernetes/staging/src/k8s.io/cri-api v0.0.0-20240514134208-4a87b5377b72 ## explicit; go 1.21 k8s.io/cri-api/pkg/apis k8s.io/cri-api/pkg/apis/runtime/v1 k8s.io/cri-api/pkg/errors -# k8s.io/csi-translation-lib v0.0.0 => github.com/openshift/kubernetes/staging/src/k8s.io/csi-translation-lib v0.0.0-20240507134651-6c10b2df178d +# k8s.io/csi-translation-lib v0.0.0 => github.com/openshift/kubernetes/staging/src/k8s.io/csi-translation-lib v0.0.0-20240514134208-4a87b5377b72 ## explicit; go 1.21 k8s.io/csi-translation-lib k8s.io/csi-translation-lib/plugins -# k8s.io/dynamic-resource-allocation v0.0.0 => github.com/openshift/kubernetes/staging/src/k8s.io/dynamic-resource-allocation v0.0.0-20240507134651-6c10b2df178d +# k8s.io/dynamic-resource-allocation v0.0.0 => github.com/openshift/kubernetes/staging/src/k8s.io/dynamic-resource-allocation v0.0.0-20240514134208-4a87b5377b72 ## explicit; go 1.21 k8s.io/dynamic-resource-allocation/resourceclaim -# k8s.io/endpointslice v0.0.0 => github.com/openshift/kubernetes/staging/src/k8s.io/endpointslice v0.0.0-20240507134651-6c10b2df178d +# k8s.io/endpointslice v0.0.0 => github.com/openshift/kubernetes/staging/src/k8s.io/endpointslice v0.0.0-20240514134208-4a87b5377b72 ## explicit; go 1.21 k8s.io/endpointslice k8s.io/endpointslice/metrics @@ -2172,13 +2173,13 @@ k8s.io/klog/v2/internal/dbg k8s.io/klog/v2/internal/serialize k8s.io/klog/v2/internal/severity k8s.io/klog/v2/internal/sloghandler -# k8s.io/kms v0.29.1 => github.com/openshift/kubernetes/staging/src/k8s.io/kms v0.0.0-20240507134651-6c10b2df178d +# k8s.io/kms v0.29.1 => github.com/openshift/kubernetes/staging/src/k8s.io/kms v0.0.0-20240514134208-4a87b5377b72 ## explicit; go 1.21 k8s.io/kms/apis/v1beta1 k8s.io/kms/apis/v2 k8s.io/kms/pkg/service k8s.io/kms/pkg/util -# k8s.io/kube-aggregator v0.29.0 => github.com/openshift/kubernetes/staging/src/k8s.io/kube-aggregator v0.0.0-20240507134651-6c10b2df178d +# k8s.io/kube-aggregator v0.29.0 => github.com/openshift/kubernetes/staging/src/k8s.io/kube-aggregator v0.0.0-20240514134208-4a87b5377b72 ## explicit; go 1.21 k8s.io/kube-aggregator/pkg/apis/apiregistration k8s.io/kube-aggregator/pkg/apis/apiregistration/install @@ -2209,7 +2210,7 @@ k8s.io/kube-aggregator/pkg/controllers/status k8s.io/kube-aggregator/pkg/registry/apiservice k8s.io/kube-aggregator/pkg/registry/apiservice/etcd k8s.io/kube-aggregator/pkg/registry/apiservice/rest -# k8s.io/kube-controller-manager v0.0.0 => github.com/openshift/kubernetes/staging/src/k8s.io/kube-controller-manager v0.0.0-20240507134651-6c10b2df178d +# k8s.io/kube-controller-manager v0.0.0 => github.com/openshift/kubernetes/staging/src/k8s.io/kube-controller-manager v0.0.0-20240514134208-4a87b5377b72 ## explicit; go 1.21 k8s.io/kube-controller-manager/config/v1alpha1 # k8s.io/kube-openapi v0.0.0-20231010175941-2dd684a91f00 @@ -2242,11 +2243,11 @@ k8s.io/kube-openapi/pkg/validation/spec k8s.io/kube-openapi/pkg/validation/strfmt k8s.io/kube-openapi/pkg/validation/strfmt/bson k8s.io/kube-openapi/pkg/validation/validate -# k8s.io/kube-scheduler v0.0.0 => github.com/openshift/kubernetes/staging/src/k8s.io/kube-scheduler v0.0.0-20240507134651-6c10b2df178d +# k8s.io/kube-scheduler v0.0.0 => github.com/openshift/kubernetes/staging/src/k8s.io/kube-scheduler v0.0.0-20240514134208-4a87b5377b72 ## explicit; go 1.21 k8s.io/kube-scheduler/config/v1 k8s.io/kube-scheduler/extender/v1 -# k8s.io/kubectl v0.0.0 => github.com/openshift/kubernetes/staging/src/k8s.io/kubectl v0.0.0-20240507134651-6c10b2df178d +# k8s.io/kubectl v0.0.0 => github.com/openshift/kubernetes/staging/src/k8s.io/kubectl v0.0.0-20240514134208-4a87b5377b72 ## explicit; go 1.21 k8s.io/kubectl/pkg/apps k8s.io/kubectl/pkg/cmd/apiresources @@ -2281,7 +2282,7 @@ k8s.io/kubectl/pkg/util/storage k8s.io/kubectl/pkg/util/templates k8s.io/kubectl/pkg/util/term k8s.io/kubectl/pkg/validation -# k8s.io/kubelet v0.29.1 => github.com/openshift/kubernetes/staging/src/k8s.io/kubelet v0.0.0-20240507134651-6c10b2df178d +# k8s.io/kubelet v0.29.1 => github.com/openshift/kubernetes/staging/src/k8s.io/kubelet v0.0.0-20240514134208-4a87b5377b72 ## explicit; go 1.21 k8s.io/kubelet/config/v1 k8s.io/kubelet/config/v1alpha1 @@ -2303,7 +2304,7 @@ k8s.io/kubelet/pkg/cri/streaming k8s.io/kubelet/pkg/cri/streaming/portforward k8s.io/kubelet/pkg/cri/streaming/remotecommand k8s.io/kubelet/pkg/types -# k8s.io/kubernetes v1.29.1 => github.com/openshift/kubernetes v0.0.0-20240507134651-6c10b2df178d +# k8s.io/kubernetes v1.29.1 => github.com/openshift/kubernetes v0.0.0-20240514134208-4a87b5377b72 ## explicit; go 1.21 k8s.io/kubernetes/cmd/kube-apiserver/app k8s.io/kubernetes/cmd/kube-apiserver/app/options @@ -3102,7 +3103,7 @@ k8s.io/kubernetes/third_party/forked/gonum/graph k8s.io/kubernetes/third_party/forked/gonum/graph/internal/linear k8s.io/kubernetes/third_party/forked/gonum/graph/simple k8s.io/kubernetes/third_party/forked/gonum/graph/traverse -# k8s.io/legacy-cloud-providers v0.0.0 => github.com/openshift/kubernetes/staging/src/k8s.io/legacy-cloud-providers v0.0.0-20240507134651-6c10b2df178d +# k8s.io/legacy-cloud-providers v0.0.0 => github.com/openshift/kubernetes/staging/src/k8s.io/legacy-cloud-providers v0.0.0-20240514134208-4a87b5377b72 ## explicit; go 1.21 k8s.io/legacy-cloud-providers/azure k8s.io/legacy-cloud-providers/azure/auth @@ -3144,7 +3145,7 @@ k8s.io/legacy-cloud-providers/gce/gcpcredential k8s.io/legacy-cloud-providers/vsphere k8s.io/legacy-cloud-providers/vsphere/vclib k8s.io/legacy-cloud-providers/vsphere/vclib/diskmanagers -# k8s.io/metrics v0.0.0 => github.com/openshift/kubernetes/staging/src/k8s.io/metrics v0.0.0-20240507134651-6c10b2df178d +# k8s.io/metrics v0.0.0 => github.com/openshift/kubernetes/staging/src/k8s.io/metrics v0.0.0-20240514134208-4a87b5377b72 ## explicit; go 1.21 k8s.io/metrics/pkg/apis/custom_metrics k8s.io/metrics/pkg/apis/custom_metrics/v1beta1 @@ -3159,10 +3160,10 @@ k8s.io/metrics/pkg/client/clientset/versioned/typed/metrics/v1beta1 k8s.io/metrics/pkg/client/custom_metrics k8s.io/metrics/pkg/client/custom_metrics/scheme k8s.io/metrics/pkg/client/external_metrics -# k8s.io/mount-utils v0.0.0 => github.com/openshift/kubernetes/staging/src/k8s.io/mount-utils v0.0.0-20240507134651-6c10b2df178d +# k8s.io/mount-utils v0.0.0 => github.com/openshift/kubernetes/staging/src/k8s.io/mount-utils v0.0.0-20240514134208-4a87b5377b72 ## explicit; go 1.21 k8s.io/mount-utils -# k8s.io/pod-security-admission v0.29.1 => github.com/openshift/kubernetes/staging/src/k8s.io/pod-security-admission v0.0.0-20240507134651-6c10b2df178d +# k8s.io/pod-security-admission v0.29.1 => github.com/openshift/kubernetes/staging/src/k8s.io/pod-security-admission v0.0.0-20240514134208-4a87b5377b72 ## explicit; go 1.21 k8s.io/pod-security-admission/admission k8s.io/pod-security-admission/admission/api @@ -3313,38 +3314,38 @@ sigs.k8s.io/structured-merge-diff/v4/value ## explicit; go 1.12 sigs.k8s.io/yaml # github.com/onsi/ginkgo/v2 => github.com/openshift/ginkgo/v2 v2.6.1-0.20231031162821-c5e24be53ea7 -# k8s.io/api => github.com/openshift/kubernetes/staging/src/k8s.io/api v0.0.0-20240507134651-6c10b2df178d -# k8s.io/apiextensions-apiserver => github.com/openshift/kubernetes/staging/src/k8s.io/apiextensions-apiserver v0.0.0-20240507134651-6c10b2df178d -# k8s.io/apimachinery => github.com/openshift/kubernetes/staging/src/k8s.io/apimachinery v0.0.0-20240507134651-6c10b2df178d -# k8s.io/apiserver => github.com/openshift/kubernetes/staging/src/k8s.io/apiserver v0.0.0-20240507134651-6c10b2df178d -# k8s.io/cli-runtime => github.com/openshift/kubernetes/staging/src/k8s.io/cli-runtime v0.0.0-20240507134651-6c10b2df178d -# k8s.io/client-go => github.com/openshift/kubernetes/staging/src/k8s.io/client-go v0.0.0-20240507134651-6c10b2df178d -# k8s.io/cloud-provider => github.com/openshift/kubernetes/staging/src/k8s.io/cloud-provider v0.0.0-20240507134651-6c10b2df178d -# k8s.io/cluster-bootstrap => github.com/openshift/kubernetes/staging/src/k8s.io/cluster-bootstrap v0.0.0-20240507134651-6c10b2df178d -# k8s.io/code-generator => github.com/openshift/kubernetes/staging/src/k8s.io/code-generator v0.0.0-20240507134651-6c10b2df178d -# k8s.io/component-base => github.com/openshift/kubernetes/staging/src/k8s.io/component-base v0.0.0-20240507134651-6c10b2df178d -# k8s.io/component-helpers => github.com/openshift/kubernetes/staging/src/k8s.io/component-helpers v0.0.0-20240507134651-6c10b2df178d -# k8s.io/controller-manager => github.com/openshift/kubernetes/staging/src/k8s.io/controller-manager v0.0.0-20240507134651-6c10b2df178d -# k8s.io/cri-api => github.com/openshift/kubernetes/staging/src/k8s.io/cri-api v0.0.0-20240507134651-6c10b2df178d -# k8s.io/csi-translation-lib => github.com/openshift/kubernetes/staging/src/k8s.io/csi-translation-lib v0.0.0-20240507134651-6c10b2df178d -# k8s.io/dynamic-resource-allocation => github.com/openshift/kubernetes/staging/src/k8s.io/dynamic-resource-allocation v0.0.0-20240507134651-6c10b2df178d -# k8s.io/kms => github.com/openshift/kubernetes/staging/src/k8s.io/kms v0.0.0-20240507134651-6c10b2df178d -# k8s.io/kube-aggregator => github.com/openshift/kubernetes/staging/src/k8s.io/kube-aggregator v0.0.0-20240507134651-6c10b2df178d -# k8s.io/kube-controller-manager => github.com/openshift/kubernetes/staging/src/k8s.io/kube-controller-manager v0.0.0-20240507134651-6c10b2df178d -# k8s.io/kube-proxy => github.com/openshift/kubernetes/staging/src/k8s.io/kube-proxy v0.0.0-20240507134651-6c10b2df178d -# k8s.io/kube-scheduler => github.com/openshift/kubernetes/staging/src/k8s.io/kube-scheduler v0.0.0-20240507134651-6c10b2df178d -# k8s.io/kubectl => github.com/openshift/kubernetes/staging/src/k8s.io/kubectl v0.0.0-20240507134651-6c10b2df178d -# k8s.io/kubelet => github.com/openshift/kubernetes/staging/src/k8s.io/kubelet v0.0.0-20240507134651-6c10b2df178d -# k8s.io/kubernetes => github.com/openshift/kubernetes v0.0.0-20240507134651-6c10b2df178d -# k8s.io/legacy-cloud-providers => github.com/openshift/kubernetes/staging/src/k8s.io/legacy-cloud-providers v0.0.0-20240507134651-6c10b2df178d -# k8s.io/metrics => github.com/openshift/kubernetes/staging/src/k8s.io/metrics v0.0.0-20240507134651-6c10b2df178d -# k8s.io/mount-utils => github.com/openshift/kubernetes/staging/src/k8s.io/mount-utils v0.0.0-20240507134651-6c10b2df178d -# k8s.io/pod-security-admission => github.com/openshift/kubernetes/staging/src/k8s.io/pod-security-admission v0.0.0-20240507134651-6c10b2df178d -# k8s.io/sample-apiserver => github.com/openshift/kubernetes/staging/src/k8s.io/sample-apiserver v0.0.0-20240507134651-6c10b2df178d -# k8s.io/sample-cli-plugin => github.com/openshift/kubernetes/staging/src/k8s.io/sample-cli-plugin v0.0.0-20240507134651-6c10b2df178d -# k8s.io/sample-controller => github.com/openshift/kubernetes/staging/src/k8s.io/sample-controller v0.0.0-20240507134651-6c10b2df178d +# k8s.io/api => github.com/openshift/kubernetes/staging/src/k8s.io/api v0.0.0-20240514134208-4a87b5377b72 +# k8s.io/apiextensions-apiserver => github.com/openshift/kubernetes/staging/src/k8s.io/apiextensions-apiserver v0.0.0-20240514134208-4a87b5377b72 +# k8s.io/apimachinery => github.com/openshift/kubernetes/staging/src/k8s.io/apimachinery v0.0.0-20240514134208-4a87b5377b72 +# k8s.io/apiserver => github.com/openshift/kubernetes/staging/src/k8s.io/apiserver v0.0.0-20240514134208-4a87b5377b72 +# k8s.io/cli-runtime => github.com/openshift/kubernetes/staging/src/k8s.io/cli-runtime v0.0.0-20240514134208-4a87b5377b72 +# k8s.io/client-go => github.com/openshift/kubernetes/staging/src/k8s.io/client-go v0.0.0-20240514134208-4a87b5377b72 +# k8s.io/cloud-provider => github.com/openshift/kubernetes/staging/src/k8s.io/cloud-provider v0.0.0-20240514134208-4a87b5377b72 +# k8s.io/cluster-bootstrap => github.com/openshift/kubernetes/staging/src/k8s.io/cluster-bootstrap v0.0.0-20240514134208-4a87b5377b72 +# k8s.io/code-generator => github.com/openshift/kubernetes/staging/src/k8s.io/code-generator v0.0.0-20240514134208-4a87b5377b72 +# k8s.io/component-base => github.com/openshift/kubernetes/staging/src/k8s.io/component-base v0.0.0-20240514134208-4a87b5377b72 +# k8s.io/component-helpers => github.com/openshift/kubernetes/staging/src/k8s.io/component-helpers v0.0.0-20240514134208-4a87b5377b72 +# k8s.io/controller-manager => github.com/openshift/kubernetes/staging/src/k8s.io/controller-manager v0.0.0-20240514134208-4a87b5377b72 +# k8s.io/cri-api => github.com/openshift/kubernetes/staging/src/k8s.io/cri-api v0.0.0-20240514134208-4a87b5377b72 +# k8s.io/csi-translation-lib => github.com/openshift/kubernetes/staging/src/k8s.io/csi-translation-lib v0.0.0-20240514134208-4a87b5377b72 +# k8s.io/dynamic-resource-allocation => github.com/openshift/kubernetes/staging/src/k8s.io/dynamic-resource-allocation v0.0.0-20240514134208-4a87b5377b72 +# k8s.io/kms => github.com/openshift/kubernetes/staging/src/k8s.io/kms v0.0.0-20240514134208-4a87b5377b72 +# k8s.io/kube-aggregator => github.com/openshift/kubernetes/staging/src/k8s.io/kube-aggregator v0.0.0-20240514134208-4a87b5377b72 +# k8s.io/kube-controller-manager => github.com/openshift/kubernetes/staging/src/k8s.io/kube-controller-manager v0.0.0-20240514134208-4a87b5377b72 +# k8s.io/kube-proxy => github.com/openshift/kubernetes/staging/src/k8s.io/kube-proxy v0.0.0-20240514134208-4a87b5377b72 +# k8s.io/kube-scheduler => github.com/openshift/kubernetes/staging/src/k8s.io/kube-scheduler v0.0.0-20240514134208-4a87b5377b72 +# k8s.io/kubectl => github.com/openshift/kubernetes/staging/src/k8s.io/kubectl v0.0.0-20240514134208-4a87b5377b72 +# k8s.io/kubelet => github.com/openshift/kubernetes/staging/src/k8s.io/kubelet v0.0.0-20240514134208-4a87b5377b72 +# k8s.io/kubernetes => github.com/openshift/kubernetes v0.0.0-20240514134208-4a87b5377b72 +# k8s.io/legacy-cloud-providers => github.com/openshift/kubernetes/staging/src/k8s.io/legacy-cloud-providers v0.0.0-20240514134208-4a87b5377b72 +# k8s.io/metrics => github.com/openshift/kubernetes/staging/src/k8s.io/metrics v0.0.0-20240514134208-4a87b5377b72 +# k8s.io/mount-utils => github.com/openshift/kubernetes/staging/src/k8s.io/mount-utils v0.0.0-20240514134208-4a87b5377b72 +# k8s.io/pod-security-admission => github.com/openshift/kubernetes/staging/src/k8s.io/pod-security-admission v0.0.0-20240514134208-4a87b5377b72 +# k8s.io/sample-apiserver => github.com/openshift/kubernetes/staging/src/k8s.io/sample-apiserver v0.0.0-20240514134208-4a87b5377b72 +# k8s.io/sample-cli-plugin => github.com/openshift/kubernetes/staging/src/k8s.io/sample-cli-plugin v0.0.0-20240514134208-4a87b5377b72 +# k8s.io/sample-controller => github.com/openshift/kubernetes/staging/src/k8s.io/sample-controller v0.0.0-20240514134208-4a87b5377b72 # go.etcd.io/etcd/api/v3 => github.com/openshift/etcd/api/v3 v3.5.1-0.20240507115420-bc2fec27ff5b # go.etcd.io/etcd/client/pkg/v3 => github.com/openshift/etcd/client/pkg/v3 v3.5.1-0.20240507115420-bc2fec27ff5b # go.etcd.io/etcd/client/v3 => github.com/openshift/etcd/client/v3 v3.5.1-0.20240507115420-bc2fec27ff5b # sigs.k8s.io/kube-storage-version-migrator => github.com/openshift/kubernetes-kube-storage-version-migrator v0.0.3-0.20240125051406-969a60e9e246 -# k8s.io/endpointslice => github.com/openshift/kubernetes/staging/src/k8s.io/endpointslice v0.0.0-20240507134651-6c10b2df178d +# k8s.io/endpointslice => github.com/openshift/kubernetes/staging/src/k8s.io/endpointslice v0.0.0-20240514134208-4a87b5377b72 From 878cec26f78d2a50f3384cd2046aece867bf9ba0 Mon Sep 17 00:00:00 2001 From: ci-robot Date: Wed, 15 May 2024 05:10:35 +0000 Subject: [PATCH 5/9] update etcd/go.mod --- etcd/go.mod | 64 ++++++++++++++++++++++++++--------------------------- etcd/go.sum | 36 +++++++++++++++--------------- 2 files changed, 50 insertions(+), 50 deletions(-) diff --git a/etcd/go.mod b/etcd/go.mod index 56cf11bd28..a44a1bd11a 100644 --- a/etcd/go.mod +++ b/etcd/go.mod @@ -29,8 +29,8 @@ require ( github.com/google/go-cmp v0.6.0 // indirect github.com/grpc-ecosystem/grpc-gateway/v2 v2.16.0 // indirect github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f // indirect - github.com/openshift/api v0.0.0-20240405095747-3e50337fcaea // indirect - github.com/openshift/library-go v0.0.0-20240411091851-558ed29cc1dd // indirect + github.com/openshift/api v0.0.0-20240424142232-29a704bf5aa2 // indirect + github.com/openshift/library-go v0.0.0-20240513090140-e22d25af5587 // indirect github.com/russross/blackfriday/v2 v2.1.0 // indirect github.com/vishvananda/netlink v1.1.0 // indirect github.com/vishvananda/netns v0.0.4 // indirect @@ -151,35 +151,35 @@ replace ( go.etcd.io/etcd/pkg/v3 => github.com/openshift/etcd/pkg/v3 v3.5.1-0.20240507115420-bc2fec27ff5b // from etcd go.etcd.io/etcd/raft/v3 => github.com/openshift/etcd/raft/v3 v3.5.1-0.20240507115420-bc2fec27ff5b // from etcd go.etcd.io/etcd/server/v3 => github.com/openshift/etcd/server/v3 v3.5.1-0.20240507115420-bc2fec27ff5b // from etcd - k8s.io/api => github.com/openshift/kubernetes/staging/src/k8s.io/api v0.0.0-20240507134651-6c10b2df178d // staging kubernetes - k8s.io/apiextensions-apiserver => github.com/openshift/kubernetes/staging/src/k8s.io/apiextensions-apiserver v0.0.0-20240507134651-6c10b2df178d // staging kubernetes - k8s.io/apimachinery => github.com/openshift/kubernetes/staging/src/k8s.io/apimachinery v0.0.0-20240507134651-6c10b2df178d // staging kubernetes - k8s.io/apiserver => github.com/openshift/kubernetes/staging/src/k8s.io/apiserver v0.0.0-20240507134651-6c10b2df178d // staging kubernetes - k8s.io/cli-runtime => github.com/openshift/kubernetes/staging/src/k8s.io/cli-runtime v0.0.0-20240507134651-6c10b2df178d // from kubernetes - k8s.io/client-go => github.com/openshift/kubernetes/staging/src/k8s.io/client-go v0.0.0-20240507134651-6c10b2df178d // staging kubernetes - k8s.io/cloud-provider => github.com/openshift/kubernetes/staging/src/k8s.io/cloud-provider v0.0.0-20240507134651-6c10b2df178d // staging kubernetes - k8s.io/cluster-bootstrap => github.com/openshift/kubernetes/staging/src/k8s.io/cluster-bootstrap v0.0.0-20240507134651-6c10b2df178d // staging kubernetes - k8s.io/code-generator => github.com/openshift/kubernetes/staging/src/k8s.io/code-generator v0.0.0-20240507134651-6c10b2df178d // staging kubernetes - k8s.io/component-base => github.com/openshift/kubernetes/staging/src/k8s.io/component-base v0.0.0-20240507134651-6c10b2df178d // staging kubernetes - k8s.io/component-helpers => github.com/openshift/kubernetes/staging/src/k8s.io/component-helpers v0.0.0-20240507134651-6c10b2df178d // staging kubernetes - k8s.io/controller-manager => github.com/openshift/kubernetes/staging/src/k8s.io/controller-manager v0.0.0-20240507134651-6c10b2df178d // staging kubernetes - k8s.io/cri-api => github.com/openshift/kubernetes/staging/src/k8s.io/cri-api v0.0.0-20240507134651-6c10b2df178d // staging kubernetes - k8s.io/csi-translation-lib => github.com/openshift/kubernetes/staging/src/k8s.io/csi-translation-lib v0.0.0-20240507134651-6c10b2df178d // staging kubernetes - k8s.io/dynamic-resource-allocation => github.com/openshift/kubernetes/staging/src/k8s.io/dynamic-resource-allocation v0.0.0-20240507134651-6c10b2df178d // staging kubernetes - k8s.io/kms => github.com/openshift/kubernetes/staging/src/k8s.io/kms v0.0.0-20240507134651-6c10b2df178d // staging kubernetes - k8s.io/kube-aggregator => github.com/openshift/kubernetes/staging/src/k8s.io/kube-aggregator v0.0.0-20240507134651-6c10b2df178d // staging kubernetes - k8s.io/kube-controller-manager => github.com/openshift/kubernetes/staging/src/k8s.io/kube-controller-manager v0.0.0-20240507134651-6c10b2df178d // staging kubernetes - k8s.io/kube-proxy => github.com/openshift/kubernetes/staging/src/k8s.io/kube-proxy v0.0.0-20240507134651-6c10b2df178d // staging kubernetes - k8s.io/kube-scheduler => github.com/openshift/kubernetes/staging/src/k8s.io/kube-scheduler v0.0.0-20240507134651-6c10b2df178d // staging kubernetes - k8s.io/kubectl => github.com/openshift/kubernetes/staging/src/k8s.io/kubectl v0.0.0-20240507134651-6c10b2df178d // from kubernetes - k8s.io/kubelet => github.com/openshift/kubernetes/staging/src/k8s.io/kubelet v0.0.0-20240507134651-6c10b2df178d // staging kubernetes - k8s.io/legacy-cloud-providers => github.com/openshift/kubernetes/staging/src/k8s.io/legacy-cloud-providers v0.0.0-20240507134651-6c10b2df178d // staging kubernetes - k8s.io/metrics => github.com/openshift/kubernetes/staging/src/k8s.io/metrics v0.0.0-20240507134651-6c10b2df178d // staging kubernetes - k8s.io/mount-utils => github.com/openshift/kubernetes/staging/src/k8s.io/mount-utils v0.0.0-20240507134651-6c10b2df178d // staging kubernetes - k8s.io/pod-security-admission => github.com/openshift/kubernetes/staging/src/k8s.io/pod-security-admission v0.0.0-20240507134651-6c10b2df178d // staging kubernetes - k8s.io/sample-apiserver => github.com/openshift/kubernetes/staging/src/k8s.io/sample-apiserver v0.0.0-20240507134651-6c10b2df178d // staging kubernetes - k8s.io/sample-cli-plugin => github.com/openshift/kubernetes/staging/src/k8s.io/sample-cli-plugin v0.0.0-20240507134651-6c10b2df178d // staging kubernetes - k8s.io/sample-controller => github.com/openshift/kubernetes/staging/src/k8s.io/sample-controller v0.0.0-20240507134651-6c10b2df178d // staging kubernetes + k8s.io/api => github.com/openshift/kubernetes/staging/src/k8s.io/api v0.0.0-20240514134208-4a87b5377b72 // staging kubernetes + k8s.io/apiextensions-apiserver => github.com/openshift/kubernetes/staging/src/k8s.io/apiextensions-apiserver v0.0.0-20240514134208-4a87b5377b72 // staging kubernetes + k8s.io/apimachinery => github.com/openshift/kubernetes/staging/src/k8s.io/apimachinery v0.0.0-20240514134208-4a87b5377b72 // staging kubernetes + k8s.io/apiserver => github.com/openshift/kubernetes/staging/src/k8s.io/apiserver v0.0.0-20240514134208-4a87b5377b72 // staging kubernetes + k8s.io/cli-runtime => github.com/openshift/kubernetes/staging/src/k8s.io/cli-runtime v0.0.0-20240514134208-4a87b5377b72 // from kubernetes + k8s.io/client-go => github.com/openshift/kubernetes/staging/src/k8s.io/client-go v0.0.0-20240514134208-4a87b5377b72 // staging kubernetes + k8s.io/cloud-provider => github.com/openshift/kubernetes/staging/src/k8s.io/cloud-provider v0.0.0-20240514134208-4a87b5377b72 // staging kubernetes + k8s.io/cluster-bootstrap => github.com/openshift/kubernetes/staging/src/k8s.io/cluster-bootstrap v0.0.0-20240514134208-4a87b5377b72 // staging kubernetes + k8s.io/code-generator => github.com/openshift/kubernetes/staging/src/k8s.io/code-generator v0.0.0-20240514134208-4a87b5377b72 // staging kubernetes + k8s.io/component-base => github.com/openshift/kubernetes/staging/src/k8s.io/component-base v0.0.0-20240514134208-4a87b5377b72 // staging kubernetes + k8s.io/component-helpers => github.com/openshift/kubernetes/staging/src/k8s.io/component-helpers v0.0.0-20240514134208-4a87b5377b72 // staging kubernetes + k8s.io/controller-manager => github.com/openshift/kubernetes/staging/src/k8s.io/controller-manager v0.0.0-20240514134208-4a87b5377b72 // staging kubernetes + k8s.io/cri-api => github.com/openshift/kubernetes/staging/src/k8s.io/cri-api v0.0.0-20240514134208-4a87b5377b72 // staging kubernetes + k8s.io/csi-translation-lib => github.com/openshift/kubernetes/staging/src/k8s.io/csi-translation-lib v0.0.0-20240514134208-4a87b5377b72 // staging kubernetes + k8s.io/dynamic-resource-allocation => github.com/openshift/kubernetes/staging/src/k8s.io/dynamic-resource-allocation v0.0.0-20240514134208-4a87b5377b72 // staging kubernetes + k8s.io/kms => github.com/openshift/kubernetes/staging/src/k8s.io/kms v0.0.0-20240514134208-4a87b5377b72 // staging kubernetes + k8s.io/kube-aggregator => github.com/openshift/kubernetes/staging/src/k8s.io/kube-aggregator v0.0.0-20240514134208-4a87b5377b72 // staging kubernetes + k8s.io/kube-controller-manager => github.com/openshift/kubernetes/staging/src/k8s.io/kube-controller-manager v0.0.0-20240514134208-4a87b5377b72 // staging kubernetes + k8s.io/kube-proxy => github.com/openshift/kubernetes/staging/src/k8s.io/kube-proxy v0.0.0-20240514134208-4a87b5377b72 // staging kubernetes + k8s.io/kube-scheduler => github.com/openshift/kubernetes/staging/src/k8s.io/kube-scheduler v0.0.0-20240514134208-4a87b5377b72 // staging kubernetes + k8s.io/kubectl => github.com/openshift/kubernetes/staging/src/k8s.io/kubectl v0.0.0-20240514134208-4a87b5377b72 // from kubernetes + k8s.io/kubelet => github.com/openshift/kubernetes/staging/src/k8s.io/kubelet v0.0.0-20240514134208-4a87b5377b72 // staging kubernetes + k8s.io/legacy-cloud-providers => github.com/openshift/kubernetes/staging/src/k8s.io/legacy-cloud-providers v0.0.0-20240514134208-4a87b5377b72 // staging kubernetes + k8s.io/metrics => github.com/openshift/kubernetes/staging/src/k8s.io/metrics v0.0.0-20240514134208-4a87b5377b72 // staging kubernetes + k8s.io/mount-utils => github.com/openshift/kubernetes/staging/src/k8s.io/mount-utils v0.0.0-20240514134208-4a87b5377b72 // staging kubernetes + k8s.io/pod-security-admission => github.com/openshift/kubernetes/staging/src/k8s.io/pod-security-admission v0.0.0-20240514134208-4a87b5377b72 // staging kubernetes + k8s.io/sample-apiserver => github.com/openshift/kubernetes/staging/src/k8s.io/sample-apiserver v0.0.0-20240514134208-4a87b5377b72 // staging kubernetes + k8s.io/sample-cli-plugin => github.com/openshift/kubernetes/staging/src/k8s.io/sample-cli-plugin v0.0.0-20240514134208-4a87b5377b72 // staging kubernetes + k8s.io/sample-controller => github.com/openshift/kubernetes/staging/src/k8s.io/sample-controller v0.0.0-20240514134208-4a87b5377b72 // staging kubernetes ) -replace k8s.io/endpointslice => github.com/openshift/kubernetes/staging/src/k8s.io/endpointslice v0.0.0-20240507134651-6c10b2df178d // staging kubernetes +replace k8s.io/endpointslice => github.com/openshift/kubernetes/staging/src/k8s.io/endpointslice v0.0.0-20240514134208-4a87b5377b72 // staging kubernetes diff --git a/etcd/go.sum b/etcd/go.sum index d3150b1847..cbc1191cda 100644 --- a/etcd/go.sum +++ b/etcd/go.sum @@ -188,8 +188,8 @@ github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f h1:y5//uYreIhSUg3J github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f/go.mod h1:ZdcZmHo+o7JKHSa8/e818NopupXU1YMK5fe1lsApnBw= github.com/onsi/gomega v1.29.0 h1:KIA/t2t5UBzoirT4H9tsML45GEbo3ouUnBHsCfD2tVg= github.com/onsi/gomega v1.29.0/go.mod h1:9sxs+SwGrKI0+PWe4Fxa9tFQQBG5xSsSbMXOI8PPpoQ= -github.com/openshift/api v0.0.0-20240405095747-3e50337fcaea h1:cjCo7sUIjL+Q2ZGMfLXzFb70K+77R52GVjh10fRhA1M= -github.com/openshift/api v0.0.0-20240405095747-3e50337fcaea/go.mod h1:CxgbWAlvu2iQB0UmKTtRu1YfepRg1/vJ64n2DlIEVz4= +github.com/openshift/api v0.0.0-20240424142232-29a704bf5aa2 h1:U1BsjJoTsvYjymeMseC8apZnvCgExIIRolpc/xJ7jhM= +github.com/openshift/api v0.0.0-20240424142232-29a704bf5aa2/go.mod h1:CxgbWAlvu2iQB0UmKTtRu1YfepRg1/vJ64n2DlIEVz4= github.com/openshift/build-machinery-go v0.0.0-20231128094528-1e9b1b0595c8 h1:cu3YUMVGsKIyFyJGO3F6BZKGYQZpCKxAv9cBPgQAca8= github.com/openshift/build-machinery-go v0.0.0-20231128094528-1e9b1b0595c8/go.mod h1:b1BuldmJlbA/xYtdZvKi+7j5YGB44qJUJDZ9zwiNCfE= github.com/openshift/etcd/api/v3 v3.5.1-0.20240507115420-bc2fec27ff5b h1:CPC1D3nY1m2aIL2LUzyWIkAfIdBiAqyvGICkucNxV0Q= @@ -206,22 +206,22 @@ github.com/openshift/etcd/server/v3 v3.5.1-0.20240507115420-bc2fec27ff5b h1:GlR/ github.com/openshift/etcd/server/v3 v3.5.1-0.20240507115420-bc2fec27ff5b/go.mod h1:K/8nbsGupHqmr5MkgaZpLlH1QdX1pcNQLAkODy44XcQ= github.com/openshift/ginkgo/v2 v2.6.1-0.20231031162821-c5e24be53ea7 h1:jUM9Fdf+fT0LTccN58jrypOyzcfQUs1v2UH6f8vdBTA= github.com/openshift/ginkgo/v2 v2.6.1-0.20231031162821-c5e24be53ea7/go.mod h1:TE309ZR8s5FsKKpuB1YAQYBzCaAfUgatB/xlT/ETL/o= -github.com/openshift/kubernetes/staging/src/k8s.io/api v0.0.0-20240507134651-6c10b2df178d h1:Yc1JOR6IrdjeMg9kg7Ph5AwwE6NanUiUZoPWN4U/IXE= -github.com/openshift/kubernetes/staging/src/k8s.io/api v0.0.0-20240507134651-6c10b2df178d/go.mod h1:oIThoHpI6Q+T3cndFnOnKY4n2GzS7mYQvvBIQ/VvI8M= -github.com/openshift/kubernetes/staging/src/k8s.io/apimachinery v0.0.0-20240507134651-6c10b2df178d h1:SCI2zzRtSMTTkuiuZ4Cw1MFD11+p7N9v6QSLwwe4Kns= -github.com/openshift/kubernetes/staging/src/k8s.io/apimachinery v0.0.0-20240507134651-6c10b2df178d/go.mod h1:IhHRRF080N9VU1QEEJ5zTYAQkPElZ84OH08nPyo0Lw0= -github.com/openshift/kubernetes/staging/src/k8s.io/apiserver v0.0.0-20240507134651-6c10b2df178d h1:JLeMiiSV4ZAxnRIY2MP2dxF1J+1iKejc+cbjJh9cVaY= -github.com/openshift/kubernetes/staging/src/k8s.io/apiserver v0.0.0-20240507134651-6c10b2df178d/go.mod h1:ry6KC66wtRKz9OEJXTpLj9OKjC5wZkMTM8Y/dMRAoVA= -github.com/openshift/kubernetes/staging/src/k8s.io/cli-runtime v0.0.0-20240507134651-6c10b2df178d h1:yZxxEBTWbIG65LGp4Do2DKmjGHfbtr4sg0l6fklShZg= -github.com/openshift/kubernetes/staging/src/k8s.io/cli-runtime v0.0.0-20240507134651-6c10b2df178d/go.mod h1:eq1ArtMJ3o/VUDn7NTP/eryQG8pTGjtattESXd5g42U= -github.com/openshift/kubernetes/staging/src/k8s.io/client-go v0.0.0-20240507134651-6c10b2df178d h1:SeU//0Qi+eAwEzkbBON7EKg+AKRY48h0hg9CSv/iAh8= -github.com/openshift/kubernetes/staging/src/k8s.io/client-go v0.0.0-20240507134651-6c10b2df178d/go.mod h1:68E0AiovGRxyJ30s/QzLPLardQJCx/gm2GhdaAzJ10M= -github.com/openshift/kubernetes/staging/src/k8s.io/component-base v0.0.0-20240507134651-6c10b2df178d h1:eSdC2yPQwBLL4OsyyTIAxY/9Aeilr5lhy3Fdf8OBjEg= -github.com/openshift/kubernetes/staging/src/k8s.io/component-base v0.0.0-20240507134651-6c10b2df178d/go.mod h1:JnCQWqQaTRtB1Mp/WKNpwndJeyVDa0DX0XfjeQlmB1M= -github.com/openshift/kubernetes/staging/src/k8s.io/kubectl v0.0.0-20240507134651-6c10b2df178d h1:3OOmKq9uWilWi4ncfj4A724fWgrAx5w7bIlKDqB048U= -github.com/openshift/kubernetes/staging/src/k8s.io/kubectl v0.0.0-20240507134651-6c10b2df178d/go.mod h1:L0N5ONv4vn8oIGy8gjX0ZzkLT7GLQxP2G9R2+K/osEM= -github.com/openshift/library-go v0.0.0-20240411091851-558ed29cc1dd h1:svnVGaIsBgNRW/6FRRxIWOyYmpL7jL7LkkRYiYS8OFk= -github.com/openshift/library-go v0.0.0-20240411091851-558ed29cc1dd/go.mod h1:m/HsttSi90vSixwoy5mPUBHcZid2YRw/QbsLErLxF9s= +github.com/openshift/kubernetes/staging/src/k8s.io/api v0.0.0-20240514134208-4a87b5377b72 h1:qjrwrazbe21n/SiBYRuCaFOEhvLoFDE3c3TSlzvVhiM= +github.com/openshift/kubernetes/staging/src/k8s.io/api v0.0.0-20240514134208-4a87b5377b72/go.mod h1:oIThoHpI6Q+T3cndFnOnKY4n2GzS7mYQvvBIQ/VvI8M= +github.com/openshift/kubernetes/staging/src/k8s.io/apimachinery v0.0.0-20240514134208-4a87b5377b72 h1:B7ZkjzrNk2rfyrW/fQWxWcBGnXdbR4vXSplp5Mq6Abw= +github.com/openshift/kubernetes/staging/src/k8s.io/apimachinery v0.0.0-20240514134208-4a87b5377b72/go.mod h1:IhHRRF080N9VU1QEEJ5zTYAQkPElZ84OH08nPyo0Lw0= +github.com/openshift/kubernetes/staging/src/k8s.io/apiserver v0.0.0-20240514134208-4a87b5377b72 h1:OLdAO18NsQHIy6fnDczIiKJxBbDGeCE6gVYd3tmXLlk= +github.com/openshift/kubernetes/staging/src/k8s.io/apiserver v0.0.0-20240514134208-4a87b5377b72/go.mod h1:sjU09dvDkAwHERssOwGL7Dh0XzRuddq+gDAImcKFLo4= +github.com/openshift/kubernetes/staging/src/k8s.io/cli-runtime v0.0.0-20240514134208-4a87b5377b72 h1:lGlwPLxReeq3UIiujQXlE8F42K9/a/NUTdRy3Ck8xfY= +github.com/openshift/kubernetes/staging/src/k8s.io/cli-runtime v0.0.0-20240514134208-4a87b5377b72/go.mod h1:eq1ArtMJ3o/VUDn7NTP/eryQG8pTGjtattESXd5g42U= +github.com/openshift/kubernetes/staging/src/k8s.io/client-go v0.0.0-20240514134208-4a87b5377b72 h1:ggsNtnxQgCX6BMzoZlDkx2DvJ2oR0mDQNgTqJrohO1I= +github.com/openshift/kubernetes/staging/src/k8s.io/client-go v0.0.0-20240514134208-4a87b5377b72/go.mod h1:68E0AiovGRxyJ30s/QzLPLardQJCx/gm2GhdaAzJ10M= +github.com/openshift/kubernetes/staging/src/k8s.io/component-base v0.0.0-20240514134208-4a87b5377b72 h1:s2vVIT1J8yJ2B5kCuwW9EURwOTT4iYrGhffQKUb1vYg= +github.com/openshift/kubernetes/staging/src/k8s.io/component-base v0.0.0-20240514134208-4a87b5377b72/go.mod h1:JnCQWqQaTRtB1Mp/WKNpwndJeyVDa0DX0XfjeQlmB1M= +github.com/openshift/kubernetes/staging/src/k8s.io/kubectl v0.0.0-20240514134208-4a87b5377b72 h1:kX/CTovU0D9nYSa9Ra56M/o2EcgMeKUg5kFu8K4yjB4= +github.com/openshift/kubernetes/staging/src/k8s.io/kubectl v0.0.0-20240514134208-4a87b5377b72/go.mod h1:L0N5ONv4vn8oIGy8gjX0ZzkLT7GLQxP2G9R2+K/osEM= +github.com/openshift/library-go v0.0.0-20240513090140-e22d25af5587 h1:eZ79/F6bhtqoY78KRRxp5G5yITTgVatMnj5J/cYDumI= +github.com/openshift/library-go v0.0.0-20240513090140-e22d25af5587/go.mod h1:lFwyRj0XjUf25Da3Q00y+KuaxCWTJ6YzYPDX1+96nco= github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= github.com/peterbourgon/diskv v2.0.1+incompatible h1:UBdAOUP5p4RWqPBg048CAvpKN+vxiaj6gdUUzhl4XmI= github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU= From 3796a5cb149086b42fb46244dc44df30704de81a Mon Sep 17 00:00:00 2001 From: ci-robot Date: Wed, 15 May 2024 05:10:41 +0000 Subject: [PATCH 6/9] update etcd/vendor --- .../openshift/api/config/v1/feature_gates.go | 598 ------------------ .../openshift/api/config/v1/types_feature.go | 15 +- .../api/config/v1/types_infrastructure.go | 28 +- .../api/config/v1/types_testreporting.go | 46 ++ .../api/config/v1/zz_generated.deepcopy.go | 139 ++-- .../v1/zz_generated.swagger_doc_generated.go | 35 + etcd/vendor/modules.txt | 78 +-- 7 files changed, 234 insertions(+), 705 deletions(-) delete mode 100644 etcd/vendor/github.com/openshift/api/config/v1/feature_gates.go create mode 100644 etcd/vendor/github.com/openshift/api/config/v1/types_testreporting.go diff --git a/etcd/vendor/github.com/openshift/api/config/v1/feature_gates.go b/etcd/vendor/github.com/openshift/api/config/v1/feature_gates.go deleted file mode 100644 index 7a9d129cfb..0000000000 --- a/etcd/vendor/github.com/openshift/api/config/v1/feature_gates.go +++ /dev/null @@ -1,598 +0,0 @@ -package v1 - -import "fmt" - -// FeatureGateDescription is a golang-only interface used to contains details for a feature gate. -type FeatureGateDescription struct { - // FeatureGateAttributes is the information that appears in the API - FeatureGateAttributes FeatureGateAttributes - - // OwningJiraComponent is the jira component that owns most of the impl and first assignment for the bug. - // This is the team that owns the feature long term. - OwningJiraComponent string - // ResponsiblePerson is the person who is on the hook for first contact. This is often, but not always, a team lead. - // It is someone who can make the promise on the behalf of the team. - ResponsiblePerson string - // OwningProduct is the product that owns the lifecycle of the gate. - OwningProduct OwningProduct -} - -type ClusterProfileName string - -var ( - Hypershift = ClusterProfileName("include.release.openshift.io/ibm-cloud-managed") - SelfManaged = ClusterProfileName("include.release.openshift.io/self-managed-high-availability") - AllClusterProfiles = []ClusterProfileName{Hypershift, SelfManaged} -) - -type OwningProduct string - -var ( - ocpSpecific = OwningProduct("OCP") - kubernetes = OwningProduct("Kubernetes") -) - -type featureGateBuilder struct { - name string - owningJiraComponent string - responsiblePerson string - owningProduct OwningProduct - - statusByClusterProfileByFeatureSet map[ClusterProfileName]map[FeatureSet]bool -} - -// newFeatureGate featuregate are disabled in every FeatureSet and selectively enabled -func newFeatureGate(name string) *featureGateBuilder { - b := &featureGateBuilder{ - name: name, - statusByClusterProfileByFeatureSet: map[ClusterProfileName]map[FeatureSet]bool{}, - } - for _, clusterProfile := range AllClusterProfiles { - byFeatureSet := map[FeatureSet]bool{} - for _, featureSet := range AllFixedFeatureSets { - byFeatureSet[featureSet] = false - } - b.statusByClusterProfileByFeatureSet[clusterProfile] = byFeatureSet - } - return b -} - -func (b *featureGateBuilder) reportProblemsToJiraComponent(owningJiraComponent string) *featureGateBuilder { - b.owningJiraComponent = owningJiraComponent - return b -} - -func (b *featureGateBuilder) contactPerson(responsiblePerson string) *featureGateBuilder { - b.responsiblePerson = responsiblePerson - return b -} - -func (b *featureGateBuilder) productScope(owningProduct OwningProduct) *featureGateBuilder { - b.owningProduct = owningProduct - return b -} - -func (b *featureGateBuilder) enableIn(featureSets ...FeatureSet) *featureGateBuilder { - for clusterProfile := range b.statusByClusterProfileByFeatureSet { - for _, featureSet := range featureSets { - b.statusByClusterProfileByFeatureSet[clusterProfile][featureSet] = true - } - } - return b -} - -func (b *featureGateBuilder) enableForClusterProfile(clusterProfile ClusterProfileName, featureSets ...FeatureSet) *featureGateBuilder { - for _, featureSet := range featureSets { - b.statusByClusterProfileByFeatureSet[clusterProfile][featureSet] = true - } - return b -} - -func (b *featureGateBuilder) register() (FeatureGateName, error) { - if len(b.name) == 0 { - return "", fmt.Errorf("missing name") - } - if len(b.owningJiraComponent) == 0 { - return "", fmt.Errorf("missing owningJiraComponent") - } - if len(b.responsiblePerson) == 0 { - return "", fmt.Errorf("missing responsiblePerson") - } - if len(b.owningProduct) == 0 { - return "", fmt.Errorf("missing owningProduct") - } - - featureGateName := FeatureGateName(b.name) - description := FeatureGateDescription{ - FeatureGateAttributes: FeatureGateAttributes{ - Name: featureGateName, - }, - OwningJiraComponent: b.owningJiraComponent, - ResponsiblePerson: b.responsiblePerson, - OwningProduct: b.owningProduct, - } - - // statusByClusterProfileByFeatureSet is initialized by constructor to be false for every combination - for clusterProfile, byFeatureSet := range b.statusByClusterProfileByFeatureSet { - for featureSet, enabled := range byFeatureSet { - if _, ok := allFeatureGates[clusterProfile]; !ok { - allFeatureGates[clusterProfile] = map[FeatureSet]*FeatureGateEnabledDisabled{} - } - if _, ok := allFeatureGates[clusterProfile][featureSet]; !ok { - allFeatureGates[clusterProfile][featureSet] = &FeatureGateEnabledDisabled{} - } - - if enabled { - allFeatureGates[clusterProfile][featureSet].Enabled = append(allFeatureGates[clusterProfile][featureSet].Enabled, description) - } else { - allFeatureGates[clusterProfile][featureSet].Disabled = append(allFeatureGates[clusterProfile][featureSet].Disabled, description) - } - } - } - - return featureGateName, nil -} - -func (b *featureGateBuilder) mustRegister() FeatureGateName { - ret, err := b.register() - if err != nil { - panic(err) - } - return ret -} - -func FeatureSets(clusterProfile ClusterProfileName, featureSet FeatureSet) (*FeatureGateEnabledDisabled, error) { - byFeatureSet, ok := allFeatureGates[clusterProfile] - if !ok { - return nil, fmt.Errorf("no information found for ClusterProfile=%q", clusterProfile) - } - featureGates, ok := byFeatureSet[featureSet] - if !ok { - return nil, fmt.Errorf("no information found for FeatureSet=%q under ClusterProfile=%q", featureSet, clusterProfile) - } - return featureGates.DeepCopy(), nil -} - -func AllFeatureSets() map[ClusterProfileName]map[FeatureSet]*FeatureGateEnabledDisabled { - ret := map[ClusterProfileName]map[FeatureSet]*FeatureGateEnabledDisabled{} - - for clusterProfile, byFeatureSet := range allFeatureGates { - newByFeatureSet := map[FeatureSet]*FeatureGateEnabledDisabled{} - - for featureSet, enabledDisabled := range byFeatureSet { - newByFeatureSet[featureSet] = enabledDisabled.DeepCopy() - } - ret[clusterProfile] = newByFeatureSet - } - - return ret -} - -var ( - allFeatureGates = map[ClusterProfileName]map[FeatureSet]*FeatureGateEnabledDisabled{} - - FeatureGateServiceAccountTokenNodeBindingValidation = newFeatureGate("ServiceAccountTokenNodeBindingValidation"). - reportProblemsToJiraComponent("apiserver-auth"). - contactPerson("stlaz"). - productScope(kubernetes). - enableIn(TechPreviewNoUpgrade). - mustRegister() - - FeatureGateServiceAccountTokenNodeBinding = newFeatureGate("ServiceAccountTokenNodeBinding"). - reportProblemsToJiraComponent("apiserver-auth"). - contactPerson("stlaz"). - productScope(kubernetes). - enableIn(TechPreviewNoUpgrade). - mustRegister() - - FeatureGateServiceAccountTokenPodNodeInfo = newFeatureGate("ServiceAccountTokenPodNodeInfo"). - reportProblemsToJiraComponent("apiserver-auth"). - contactPerson("stlaz"). - productScope(kubernetes). - enableIn(TechPreviewNoUpgrade). - mustRegister() - - FeatureGateValidatingAdmissionPolicy = newFeatureGate("ValidatingAdmissionPolicy"). - reportProblemsToJiraComponent("kube-apiserver"). - contactPerson("benluddy"). - productScope(kubernetes). - enableIn(TechPreviewNoUpgrade). - mustRegister() - - FeatureGateGatewayAPI = newFeatureGate("GatewayAPI"). - reportProblemsToJiraComponent("Routing"). - contactPerson("miciah"). - productScope(ocpSpecific). - enableIn(TechPreviewNoUpgrade). - mustRegister() - - FeatureGateOpenShiftPodSecurityAdmission = newFeatureGate("OpenShiftPodSecurityAdmission"). - reportProblemsToJiraComponent("auth"). - contactPerson("stlaz"). - productScope(ocpSpecific). - enableIn(Default, TechPreviewNoUpgrade). - mustRegister() - - FeatureGateExternalCloudProvider = newFeatureGate("ExternalCloudProvider"). - reportProblemsToJiraComponent("cloud-provider"). - contactPerson("jspeed"). - productScope(ocpSpecific). - enableIn(Default, TechPreviewNoUpgrade). - mustRegister() - - FeatureGateExternalCloudProviderAzure = newFeatureGate("ExternalCloudProviderAzure"). - reportProblemsToJiraComponent("cloud-provider"). - contactPerson("jspeed"). - productScope(ocpSpecific). - enableIn(Default, TechPreviewNoUpgrade). - mustRegister() - - FeatureGateExternalCloudProviderGCP = newFeatureGate("ExternalCloudProviderGCP"). - reportProblemsToJiraComponent("cloud-provider"). - contactPerson("jspeed"). - productScope(ocpSpecific). - enableIn(Default, TechPreviewNoUpgrade). - mustRegister() - - FeatureGateExternalCloudProviderExternal = newFeatureGate("ExternalCloudProviderExternal"). - reportProblemsToJiraComponent("cloud-provider"). - contactPerson("elmiko"). - productScope(ocpSpecific). - enableIn(Default, TechPreviewNoUpgrade). - mustRegister() - - FeatureGateCSIDriverSharedResource = newFeatureGate("CSIDriverSharedResource"). - reportProblemsToJiraComponent("builds"). - contactPerson("adkaplan"). - productScope(ocpSpecific). - enableIn(TechPreviewNoUpgrade). - mustRegister() - - FeatureGateBuildCSIVolumes = newFeatureGate("BuildCSIVolumes"). - reportProblemsToJiraComponent("builds"). - contactPerson("adkaplan"). - productScope(ocpSpecific). - enableIn(Default, TechPreviewNoUpgrade). - mustRegister() - - FeatureGateNodeSwap = newFeatureGate("NodeSwap"). - reportProblemsToJiraComponent("node"). - contactPerson("ehashman"). - productScope(kubernetes). - enableIn(TechPreviewNoUpgrade). - mustRegister() - - FeatureGateMachineAPIProviderOpenStack = newFeatureGate("MachineAPIProviderOpenStack"). - reportProblemsToJiraComponent("openstack"). - contactPerson("egarcia"). - productScope(ocpSpecific). - enableIn(TechPreviewNoUpgrade). - mustRegister() - - FeatureGateInsightsConfigAPI = newFeatureGate("InsightsConfigAPI"). - reportProblemsToJiraComponent("insights"). - contactPerson("tremes"). - productScope(ocpSpecific). - enableIn(TechPreviewNoUpgrade). - mustRegister() - - FeatureGateDynamicResourceAllocation = newFeatureGate("DynamicResourceAllocation"). - reportProblemsToJiraComponent("scheduling"). - contactPerson("jchaloup"). - productScope(kubernetes). - enableIn(TechPreviewNoUpgrade). - mustRegister() - - FeatureGateAzureWorkloadIdentity = newFeatureGate("AzureWorkloadIdentity"). - reportProblemsToJiraComponent("cloud-credential-operator"). - contactPerson("abutcher"). - productScope(ocpSpecific). - enableIn(Default, TechPreviewNoUpgrade). - mustRegister() - - FeatureGateMaxUnavailableStatefulSet = newFeatureGate("MaxUnavailableStatefulSet"). - reportProblemsToJiraComponent("apps"). - contactPerson("atiratree"). - productScope(kubernetes). - enableIn(TechPreviewNoUpgrade). - mustRegister() - - FeatureGateEventedPLEG = newFeatureGate("EventedPLEG"). - reportProblemsToJiraComponent("node"). - contactPerson("sairameshv"). - productScope(kubernetes). - mustRegister() - - FeatureGatePrivateHostedZoneAWS = newFeatureGate("PrivateHostedZoneAWS"). - reportProblemsToJiraComponent("Routing"). - contactPerson("miciah"). - productScope(ocpSpecific). - enableIn(Default, TechPreviewNoUpgrade). - mustRegister() - - FeatureGateSigstoreImageVerification = newFeatureGate("SigstoreImageVerification"). - reportProblemsToJiraComponent("node"). - contactPerson("sgrunert"). - productScope(ocpSpecific). - enableIn(TechPreviewNoUpgrade). - mustRegister() - - FeatureGateGCPLabelsTags = newFeatureGate("GCPLabelsTags"). - reportProblemsToJiraComponent("Installer"). - contactPerson("bhb"). - productScope(ocpSpecific). - enableIn(TechPreviewNoUpgrade). - mustRegister() - - FeatureGateAlibabaPlatform = newFeatureGate("AlibabaPlatform"). - reportProblemsToJiraComponent("cloud-provider"). - contactPerson("jspeed"). - productScope(ocpSpecific). - enableIn(Default, TechPreviewNoUpgrade). - mustRegister() - - FeatureGateCloudDualStackNodeIPs = newFeatureGate("CloudDualStackNodeIPs"). - reportProblemsToJiraComponent("machine-config-operator/platform-baremetal"). - contactPerson("mkowalsk"). - productScope(kubernetes). - enableIn(Default, TechPreviewNoUpgrade). - mustRegister() - - FeatureGateVSphereStaticIPs = newFeatureGate("VSphereStaticIPs"). - reportProblemsToJiraComponent("splat"). - contactPerson("rvanderp3"). - productScope(ocpSpecific). - enableIn(Default, TechPreviewNoUpgrade). - mustRegister() - - FeatureGateRouteExternalCertificate = newFeatureGate("RouteExternalCertificate"). - reportProblemsToJiraComponent("router"). - contactPerson("thejasn"). - productScope(ocpSpecific). - enableIn(TechPreviewNoUpgrade). - mustRegister() - - FeatureGateAdminNetworkPolicy = newFeatureGate("AdminNetworkPolicy"). - reportProblemsToJiraComponent("Networking/ovn-kubernetes"). - contactPerson("tssurya"). - productScope(ocpSpecific). - enableIn(Default, TechPreviewNoUpgrade). - mustRegister() - - FeatureGateNetworkLiveMigration = newFeatureGate("NetworkLiveMigration"). - reportProblemsToJiraComponent("Networking/ovn-kubernetes"). - contactPerson("pliu"). - productScope(ocpSpecific). - enableIn(Default, TechPreviewNoUpgrade). - mustRegister() - - FeatureGateNetworkDiagnosticsConfig = newFeatureGate("NetworkDiagnosticsConfig"). - reportProblemsToJiraComponent("Networking/cluster-network-operator"). - contactPerson("kyrtapz"). - productScope(ocpSpecific). - enableIn(TechPreviewNoUpgrade). - mustRegister() - - FeatureGateHardwareSpeed = newFeatureGate("HardwareSpeed"). - reportProblemsToJiraComponent("etcd"). - contactPerson("hasbro17"). - productScope(ocpSpecific). - enableIn(TechPreviewNoUpgrade). - mustRegister() - - FeatureGateAutomatedEtcdBackup = newFeatureGate("AutomatedEtcdBackup"). - reportProblemsToJiraComponent("etcd"). - contactPerson("hasbro17"). - productScope(ocpSpecific). - enableIn(TechPreviewNoUpgrade). - mustRegister() - - FeatureGateMachineAPIOperatorDisableMachineHealthCheckController = newFeatureGate("MachineAPIOperatorDisableMachineHealthCheckController"). - reportProblemsToJiraComponent("ecoproject"). - contactPerson("msluiter"). - productScope(ocpSpecific). - mustRegister() - - FeatureGateDNSNameResolver = newFeatureGate("DNSNameResolver"). - reportProblemsToJiraComponent("dns"). - contactPerson("miciah"). - productScope(ocpSpecific). - enableIn(TechPreviewNoUpgrade). - mustRegister() - - FeatureGateVSphereControlPlaneMachineset = newFeatureGate("VSphereControlPlaneMachineSet"). - reportProblemsToJiraComponent("splat"). - contactPerson("rvanderp3"). - productScope(ocpSpecific). - enableIn(Default, TechPreviewNoUpgrade). - mustRegister() - - FeatureGateMachineConfigNodes = newFeatureGate("MachineConfigNodes"). - reportProblemsToJiraComponent("MachineConfigOperator"). - contactPerson("cdoern"). - productScope(ocpSpecific). - enableIn(TechPreviewNoUpgrade). - mustRegister() - - FeatureGateClusterAPIInstall = newFeatureGate("ClusterAPIInstall"). - reportProblemsToJiraComponent("Installer"). - contactPerson("vincepri"). - productScope(ocpSpecific). - mustRegister() - - FeatureGateMetricsServer = newFeatureGate("MetricsServer"). - reportProblemsToJiraComponent("Monitoring"). - contactPerson("slashpai"). - productScope(ocpSpecific). - enableIn(TechPreviewNoUpgrade). - mustRegister() - - FeatureGateInstallAlternateInfrastructureAWS = newFeatureGate("InstallAlternateInfrastructureAWS"). - reportProblemsToJiraComponent("Installer"). - contactPerson("padillon"). - productScope(ocpSpecific). - enableIn(TechPreviewNoUpgrade). - mustRegister() - - FeatureGateGCPClusterHostedDNS = newFeatureGate("GCPClusterHostedDNS"). - reportProblemsToJiraComponent("Installer"). - contactPerson("barbacbd"). - productScope(ocpSpecific). - enableIn(TechPreviewNoUpgrade). - mustRegister() - - FeatureGateMixedCPUsAllocation = newFeatureGate("MixedCPUsAllocation"). - reportProblemsToJiraComponent("NodeTuningOperator"). - contactPerson("titzhak"). - productScope(ocpSpecific). - enableIn(TechPreviewNoUpgrade). - mustRegister() - - FeatureGateManagedBootImages = newFeatureGate("ManagedBootImages"). - reportProblemsToJiraComponent("MachineConfigOperator"). - contactPerson("djoshy"). - productScope(ocpSpecific). - enableIn(TechPreviewNoUpgrade). - mustRegister() - - FeatureGateDisableKubeletCloudCredentialProviders = newFeatureGate("DisableKubeletCloudCredentialProviders"). - reportProblemsToJiraComponent("cloud-provider"). - contactPerson("jspeed"). - productScope(kubernetes). - enableIn(Default, TechPreviewNoUpgrade). - mustRegister() - - FeatureGateOnClusterBuild = newFeatureGate("OnClusterBuild"). - reportProblemsToJiraComponent("MachineConfigOperator"). - contactPerson("dkhater"). - productScope(ocpSpecific). - enableIn(TechPreviewNoUpgrade). - mustRegister() - - FeatureGateSignatureStores = newFeatureGate("SignatureStores"). - reportProblemsToJiraComponent("Cluster Version Operator"). - contactPerson("lmohanty"). - productScope(ocpSpecific). - enableIn(TechPreviewNoUpgrade). - mustRegister() - - FeatureGateKMSv1 = newFeatureGate("KMSv1"). - reportProblemsToJiraComponent("kube-apiserver"). - contactPerson("dgrisonnet"). - productScope(kubernetes). - enableIn(Default, TechPreviewNoUpgrade). - mustRegister() - - FeatureGatePinnedImages = newFeatureGate("PinnedImages"). - reportProblemsToJiraComponent("MachineConfigOperator"). - contactPerson("jhernand"). - productScope(ocpSpecific). - enableIn(TechPreviewNoUpgrade). - mustRegister() - - FeatureGateUpgradeStatus = newFeatureGate("UpgradeStatus"). - reportProblemsToJiraComponent("Cluster Version Operator"). - contactPerson("pmuller"). - productScope(ocpSpecific). - enableIn(TechPreviewNoUpgrade). - mustRegister() - - FeatureGateTranslateStreamCloseWebsocketRequests = newFeatureGate("TranslateStreamCloseWebsocketRequests"). - reportProblemsToJiraComponent("kube-apiserver"). - contactPerson("akashem"). - productScope(kubernetes). - enableIn(TechPreviewNoUpgrade). - mustRegister() - - FeatureGateVolumeGroupSnapshot = newFeatureGate("VolumeGroupSnapshot"). - reportProblemsToJiraComponent("Storage / Kubernetes External Components"). - contactPerson("fbertina"). - productScope(kubernetes). - enableIn(TechPreviewNoUpgrade). - mustRegister() - - FeatureGateExternalOIDC = newFeatureGate("ExternalOIDC"). - reportProblemsToJiraComponent("authentication"). - contactPerson("stlaz"). - productScope(ocpSpecific). - enableIn(TechPreviewNoUpgrade). - enableForClusterProfile(Hypershift, Default, TechPreviewNoUpgrade). - mustRegister() - - FeatureGateExample = newFeatureGate("Example"). - reportProblemsToJiraComponent("cluster-config"). - contactPerson("deads"). - productScope(ocpSpecific). - enableIn(TechPreviewNoUpgrade). - mustRegister() - - FeatureGatePlatformOperators = newFeatureGate("PlatformOperators"). - reportProblemsToJiraComponent("olm"). - contactPerson("joe"). - productScope(ocpSpecific). - enableIn(TechPreviewNoUpgrade). - mustRegister() - - FeatureGateNewOLM = newFeatureGate("NewOLM"). - reportProblemsToJiraComponent("olm"). - contactPerson("joe"). - productScope(ocpSpecific). - enableIn(TechPreviewNoUpgrade). - mustRegister() - - FeatureGateExternalRouteCertificate = newFeatureGate("ExternalRouteCertificate"). - reportProblemsToJiraComponent("network-edge"). - contactPerson("miciah"). - productScope(ocpSpecific). - enableIn(TechPreviewNoUpgrade). - mustRegister() - - FeatureGateInsightsOnDemandDataGather = newFeatureGate("InsightsOnDemandDataGather"). - reportProblemsToJiraComponent("insights"). - contactPerson("tremes"). - productScope(ocpSpecific). - enableIn(TechPreviewNoUpgrade). - mustRegister() - - FeatureGateAlertingRules = newFeatureGate("AlertingRules"). - reportProblemsToJiraComponent("Monitoring"). - contactPerson("simon"). - productScope(ocpSpecific). - enableIn(TechPreviewNoUpgrade). - mustRegister() - - FeatureGateBareMetalLoadBalancer = newFeatureGate("BareMetalLoadBalancer"). - reportProblemsToJiraComponent("metal"). - contactPerson("EmilienM"). - productScope(ocpSpecific). - enableIn(Default, TechPreviewNoUpgrade). - mustRegister() - - FeatureGateInsightsConfig = newFeatureGate("InsightsConfig"). - reportProblemsToJiraComponent("insights"). - contactPerson("tremes"). - productScope(ocpSpecific). - enableIn(TechPreviewNoUpgrade). - mustRegister() - - FeatureGateImagePolicy = newFeatureGate("ImagePolicy"). - reportProblemsToJiraComponent("node"). - contactPerson("rphillips"). - productScope(ocpSpecific). - enableIn(TechPreviewNoUpgrade). - mustRegister() - - FeatureGateNodeDisruptionPolicy = newFeatureGate("NodeDisruptionPolicy"). - reportProblemsToJiraComponent("MachineConfigOperator"). - contactPerson("jerzhang"). - productScope(ocpSpecific). - enableIn(TechPreviewNoUpgrade). - mustRegister() - - FeatureGateMetricsCollectionProfiles = newFeatureGate("MetricsCollectionProfiles"). - reportProblemsToJiraComponent("Monitoring"). - contactPerson("rexagod"). - productScope(ocpSpecific). - enableIn(TechPreviewNoUpgrade). - mustRegister() -) diff --git a/etcd/vendor/github.com/openshift/api/config/v1/types_feature.go b/etcd/vendor/github.com/openshift/api/config/v1/types_feature.go index 2efe16f4e6..1e03171961 100644 --- a/etcd/vendor/github.com/openshift/api/config/v1/types_feature.go +++ b/etcd/vendor/github.com/openshift/api/config/v1/types_feature.go @@ -43,16 +43,17 @@ var ( // this feature set on CANNOT BE UNDONE and PREVENTS UPGRADES. TechPreviewNoUpgrade FeatureSet = "TechPreviewNoUpgrade" + // DevPreviewNoUpgrade turns on dev preview features that are not part of the normal supported platform. Turning + // this feature set on CANNOT BE UNDONE and PREVENTS UPGRADES. + DevPreviewNoUpgrade FeatureSet = "DevPreviewNoUpgrade" + // CustomNoUpgrade allows the enabling or disabling of any feature. Turning this feature set on IS NOT SUPPORTED, CANNOT BE UNDONE, and PREVENTS UPGRADES. // Because of its nature, this setting cannot be validated. If you have any typos or accidentally apply invalid combinations // your cluster may fail in an unrecoverable way. CustomNoUpgrade FeatureSet = "CustomNoUpgrade" - // TopologyManager enables ToplogyManager support. Upgrades are enabled with this feature. - LatencySensitive FeatureSet = "LatencySensitive" - // AllFixedFeatureSets are the featuresets that have known featuregates. Custom doesn't for instance. LatencySensitive is dead - AllFixedFeatureSets = []FeatureSet{Default, TechPreviewNoUpgrade} + AllFixedFeatureSets = []FeatureSet{Default, TechPreviewNoUpgrade, DevPreviewNoUpgrade} ) type FeatureGateSpec struct { @@ -67,6 +68,7 @@ type FeatureGateSelection struct { // +optional // +kubebuilder:validation:XValidation:rule="oldSelf == 'CustomNoUpgrade' ? self == 'CustomNoUpgrade' : true",message="CustomNoUpgrade may not be changed" // +kubebuilder:validation:XValidation:rule="oldSelf == 'TechPreviewNoUpgrade' ? self == 'TechPreviewNoUpgrade' : true",message="TechPreviewNoUpgrade may not be changed" + // +kubebuilder:validation:XValidation:rule="oldSelf == 'DevPreviewNoUpgrade' ? self == 'DevPreviewNoUpgrade' : true",message="DevPreviewNoUpgrade may not be changed" FeatureSet FeatureSet `json:"featureSet,omitempty"` // customNoUpgrade allows the enabling or disabling of any feature. Turning this feature set on IS NOT SUPPORTED, CANNOT BE UNDONE, and PREVENTS UPGRADES. @@ -146,8 +148,3 @@ type FeatureGateList struct { Items []FeatureGate `json:"items"` } - -type FeatureGateEnabledDisabled struct { - Enabled []FeatureGateDescription - Disabled []FeatureGateDescription -} diff --git a/etcd/vendor/github.com/openshift/api/config/v1/types_infrastructure.go b/etcd/vendor/github.com/openshift/api/config/v1/types_infrastructure.go index 611ba928cb..fb224c6e61 100644 --- a/etcd/vendor/github.com/openshift/api/config/v1/types_infrastructure.go +++ b/etcd/vendor/github.com/openshift/api/config/v1/types_infrastructure.go @@ -824,7 +824,7 @@ type BareMetalPlatformSpec struct { // Once set, the list cannot be completely removed (but its second entry can). // // +kubebuilder:validation:MaxItems=2 - // +kubebuilder:validation:XValidation:rule="size(self) == 2 ? self.exists_one(x, x.contains(':')) : true",message="apiServerInternalIPs must contain at most one IPv4 address and at most one IPv6 address" + // +kubebuilder:validation:XValidation:rule="size(self) == 2 && isIP(self[0]) && isIP(self[1]) ? ip(self[0]).family() != ip(self[1]).family() : true",message="apiServerInternalIPs must contain at most one IPv4 address and at most one IPv6 address" // +listType=set // +optional APIServerInternalIPs []IP `json:"apiServerInternalIPs"` @@ -839,7 +839,7 @@ type BareMetalPlatformSpec struct { // Once set, the list cannot be completely removed (but its second entry can). // // +kubebuilder:validation:MaxItems=2 - // +kubebuilder:validation:XValidation:rule="size(self) == 2 ? self.exists_one(x, x.contains(':')) : true",message="ingressIPs must contain at most one IPv4 address and at most one IPv6 address" + // +kubebuilder:validation:XValidation:rule="size(self) == 2 && isIP(self[0]) && isIP(self[1]) ? ip(self[0]).family() != ip(self[1]).family() : true",message="ingressIPs must contain at most one IPv4 address and at most one IPv6 address" // +listType=set // +optional IngressIPs []IP `json:"ingressIPs"` @@ -951,7 +951,7 @@ type OpenStackPlatformSpec struct { // Once set, the list cannot be completely removed (but its second entry can). // // +kubebuilder:validation:MaxItems=2 - // +kubebuilder:validation:XValidation:rule="size(self) == 2 ? self.exists_one(x, x.contains(':')) : true",message="apiServerInternalIPs must contain at most one IPv4 address and at most one IPv6 address" + // +kubebuilder:validation:XValidation:rule="size(self) == 2 && isIP(self[0]) && isIP(self[1]) ? ip(self[0]).family() != ip(self[1]).family() : true",message="apiServerInternalIPs must contain at most one IPv4 address and at most one IPv6 address" // +listType=set // +optional APIServerInternalIPs []IP `json:"apiServerInternalIPs"` @@ -966,7 +966,7 @@ type OpenStackPlatformSpec struct { // Once set, the list cannot be completely removed (but its second entry can). // // +kubebuilder:validation:MaxItems=2 - // +kubebuilder:validation:XValidation:rule="size(self) == 2 ? self.exists_one(x, x.contains(':')) : true",message="ingressIPs must contain at most one IPv4 address and at most one IPv6 address" + // +kubebuilder:validation:XValidation:rule="size(self) == 2 && isIP(self[0]) && isIP(self[1]) ? ip(self[0]).family() != ip(self[1]).family() : true",message="ingressIPs must contain at most one IPv4 address and at most one IPv6 address" // +listType=set // +optional IngressIPs []IP `json:"ingressIPs"` @@ -1365,7 +1365,7 @@ type VSpherePlatformSpec struct { // Once set, the list cannot be completely removed (but its second entry can). // // +kubebuilder:validation:MaxItems=2 - // +kubebuilder:validation:XValidation:rule="size(self) == 2 ? self.exists_one(x, x.contains(':')) : true",message="apiServerInternalIPs must contain at most one IPv4 address and at most one IPv6 address" + // +kubebuilder:validation:XValidation:rule="size(self) == 2 && isIP(self[0]) && isIP(self[1]) ? ip(self[0]).family() != ip(self[1]).family() : true",message="apiServerInternalIPs must contain at most one IPv4 address and at most one IPv6 address" // +listType=set // +optional APIServerInternalIPs []IP `json:"apiServerInternalIPs"` @@ -1380,7 +1380,7 @@ type VSpherePlatformSpec struct { // Once set, the list cannot be completely removed (but its second entry can). // // +kubebuilder:validation:MaxItems=2 - // +kubebuilder:validation:XValidation:rule="size(self) == 2 ? self.exists_one(x, x.contains(':')) : true",message="ingressIPs must contain at most one IPv4 address and at most one IPv6 address" + // +kubebuilder:validation:XValidation:rule="size(self) == 2 && isIP(self[0]) && isIP(self[1]) ? ip(self[0]).family() != ip(self[1]).family() : true",message="ingressIPs must contain at most one IPv4 address and at most one IPv6 address" // +listType=set // +optional IngressIPs []IP `json:"ingressIPs"` @@ -1857,17 +1857,13 @@ type InfrastructureList struct { } // IP is an IP address (for example, "10.0.0.0" or "fd00::"). -// +kubebuilder:validation:Pattern=`(^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$)|(^s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:)))(%.+)?s*)` -// + --- -// + The regex for the IPv4 and IPv6 address was taken from -// + https://blog.markhatton.co.uk/2011/03/15/regular-expressions-for-ip-addresses-cidr-ranges-and-hostnames/ -// + The resulting regex is an OR of both regexes. +// +kubebuilder:validation:XValidation:rule="isIP(self)",message="value must be a valid IP address" +// +kubebuilder:validation:MaxLength:=39 +// +kubebuilder:validation:MinLength:=1 type IP string // CIDR is an IP address range in CIDR notation (for example, "10.0.0.0/8" or "fd00::/8"). -// +kubebuilder:validation:Pattern=`(^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/(3[0-2]|[1-2][0-9]|[0-9]))$)|(^s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:)))(%.+)?s*(\/(12[0-8]|1[0-1][0-9]|[1-9][0-9]|[0-9]))$)` -// + --- -// + The regex for the IPv4 and IPv6 CIDR range was taken from -// + https://blog.markhatton.co.uk/2011/03/15/regular-expressions-for-ip-addresses-cidr-ranges-and-hostnames/ -// + The resulting regex is an OR of both regexes. +// +kubebuilder:validation:XValidation:rule="isCIDR(self)",message="value must be a valid CIDR network address" +// +kubebuilder:validation:MaxLength:=43 +// +kubebuilder:validation:MinLength:=1 type CIDR string diff --git a/etcd/vendor/github.com/openshift/api/config/v1/types_testreporting.go b/etcd/vendor/github.com/openshift/api/config/v1/types_testreporting.go new file mode 100644 index 0000000000..4d642e060b --- /dev/null +++ b/etcd/vendor/github.com/openshift/api/config/v1/types_testreporting.go @@ -0,0 +1,46 @@ +package v1 + +import metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + +// TestReporting is used for origin (and potentially others) to report the test names for a given FeatureGate into +// the payload for later analysis on a per-payload basis. +// This doesn't need any CRD because it's never stored in the cluster. +// +// Compatibility level 4: No compatibility is provided, the API can change at any point for any reason. These capabilities should not be used by applications needing long term support. +// +openshift:compatibility-gen:internal +type TestReporting struct { + metav1.TypeMeta `json:",inline"` + + // metadata is the standard object's metadata. + // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata + metav1.ObjectMeta `json:"metadata,omitempty"` + + // +kubebuilder:validation:Required + // +required + Spec TestReportingSpec `json:"spec"` + // status holds observed values from the cluster. They may not be overridden. + // +optional + Status TestReportingStatus `json:"status"` +} + +type TestReportingSpec struct { + // TestsForFeatureGates is a list, indexed by FeatureGate and includes information about testing. + TestsForFeatureGates []FeatureGateTests `json:"testsForFeatureGates"` +} + +type FeatureGateTests struct { + // FeatureGate is the name of the FeatureGate as it appears in The FeatureGate CR instance. + FeatureGate string `json:"featureGate"` + + // Tests contains an item for every TestName + Tests []TestDetails `json:"tests"` +} + +type TestDetails struct { + // TestName is the name of the test as it appears in junit XMLs. + // It does not include the suite name since the same test can be executed in many suites. + TestName string `json:"testName"` +} + +type TestReportingStatus struct { +} diff --git a/etcd/vendor/github.com/openshift/api/config/v1/zz_generated.deepcopy.go b/etcd/vendor/github.com/openshift/api/config/v1/zz_generated.deepcopy.go index 02c2d7221d..9a81bc559c 100644 --- a/etcd/vendor/github.com/openshift/api/config/v1/zz_generated.deepcopy.go +++ b/etcd/vendor/github.com/openshift/api/config/v1/zz_generated.deepcopy.go @@ -2039,23 +2039,6 @@ func (in *FeatureGateAttributes) DeepCopy() *FeatureGateAttributes { return out } -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *FeatureGateDescription) DeepCopyInto(out *FeatureGateDescription) { - *out = *in - out.FeatureGateAttributes = in.FeatureGateAttributes - return -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FeatureGateDescription. -func (in *FeatureGateDescription) DeepCopy() *FeatureGateDescription { - if in == nil { - return nil - } - out := new(FeatureGateDescription) - in.DeepCopyInto(out) - return out -} - // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *FeatureGateDetails) DeepCopyInto(out *FeatureGateDetails) { *out = *in @@ -2082,32 +2065,6 @@ func (in *FeatureGateDetails) DeepCopy() *FeatureGateDetails { return out } -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *FeatureGateEnabledDisabled) DeepCopyInto(out *FeatureGateEnabledDisabled) { - *out = *in - if in.Enabled != nil { - in, out := &in.Enabled, &out.Enabled - *out = make([]FeatureGateDescription, len(*in)) - copy(*out, *in) - } - if in.Disabled != nil { - in, out := &in.Disabled, &out.Disabled - *out = make([]FeatureGateDescription, len(*in)) - copy(*out, *in) - } - return -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FeatureGateEnabledDisabled. -func (in *FeatureGateEnabledDisabled) DeepCopy() *FeatureGateEnabledDisabled { - if in == nil { - return nil - } - out := new(FeatureGateEnabledDisabled) - in.DeepCopyInto(out) - return out -} - // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *FeatureGateList) DeepCopyInto(out *FeatureGateList) { *out = *in @@ -2209,6 +2166,27 @@ func (in *FeatureGateStatus) DeepCopy() *FeatureGateStatus { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FeatureGateTests) DeepCopyInto(out *FeatureGateTests) { + *out = *in + if in.Tests != nil { + in, out := &in.Tests, &out.Tests + *out = make([]TestDetails, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FeatureGateTests. +func (in *FeatureGateTests) DeepCopy() *FeatureGateTests { + if in == nil { + return nil + } + out := new(FeatureGateTests) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *GCPPlatformSpec) DeepCopyInto(out *GCPPlatformSpec) { *out = *in @@ -5573,6 +5551,81 @@ func (in *TemplateReference) DeepCopy() *TemplateReference { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TestDetails) DeepCopyInto(out *TestDetails) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TestDetails. +func (in *TestDetails) DeepCopy() *TestDetails { + if in == nil { + return nil + } + out := new(TestDetails) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TestReporting) DeepCopyInto(out *TestReporting) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + in.Spec.DeepCopyInto(&out.Spec) + out.Status = in.Status + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TestReporting. +func (in *TestReporting) DeepCopy() *TestReporting { + if in == nil { + return nil + } + out := new(TestReporting) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TestReportingSpec) DeepCopyInto(out *TestReportingSpec) { + *out = *in + if in.TestsForFeatureGates != nil { + in, out := &in.TestsForFeatureGates, &out.TestsForFeatureGates + *out = make([]FeatureGateTests, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TestReportingSpec. +func (in *TestReportingSpec) DeepCopy() *TestReportingSpec { + if in == nil { + return nil + } + out := new(TestReportingSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TestReportingStatus) DeepCopyInto(out *TestReportingStatus) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TestReportingStatus. +func (in *TestReportingStatus) DeepCopy() *TestReportingStatus { + if in == nil { + return nil + } + out := new(TestReportingStatus) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *TokenClaimMapping) DeepCopyInto(out *TokenClaimMapping) { *out = *in diff --git a/etcd/vendor/github.com/openshift/api/config/v1/zz_generated.swagger_doc_generated.go b/etcd/vendor/github.com/openshift/api/config/v1/zz_generated.swagger_doc_generated.go index 5a163ebdc8..fcb4fb9a42 100644 --- a/etcd/vendor/github.com/openshift/api/config/v1/zz_generated.swagger_doc_generated.go +++ b/etcd/vendor/github.com/openshift/api/config/v1/zz_generated.swagger_doc_generated.go @@ -2507,6 +2507,41 @@ func (SchedulerSpec) SwaggerDoc() map[string]string { return map_SchedulerSpec } +var map_FeatureGateTests = map[string]string{ + "featureGate": "FeatureGate is the name of the FeatureGate as it appears in The FeatureGate CR instance.", + "tests": "Tests contains an item for every TestName", +} + +func (FeatureGateTests) SwaggerDoc() map[string]string { + return map_FeatureGateTests +} + +var map_TestDetails = map[string]string{ + "testName": "TestName is the name of the test as it appears in junit XMLs. It does not include the suite name since the same test can be executed in many suites.", +} + +func (TestDetails) SwaggerDoc() map[string]string { + return map_TestDetails +} + +var map_TestReporting = map[string]string{ + "": "TestReporting is used for origin (and potentially others) to report the test names for a given FeatureGate into the payload for later analysis on a per-payload basis. This doesn't need any CRD because it's never stored in the cluster.\n\nCompatibility level 4: No compatibility is provided, the API can change at any point for any reason. These capabilities should not be used by applications needing long term support.", + "metadata": "metadata is the standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", + "status": "status holds observed values from the cluster. They may not be overridden.", +} + +func (TestReporting) SwaggerDoc() map[string]string { + return map_TestReporting +} + +var map_TestReportingSpec = map[string]string{ + "testsForFeatureGates": "TestsForFeatureGates is a list, indexed by FeatureGate and includes information about testing.", +} + +func (TestReportingSpec) SwaggerDoc() map[string]string { + return map_TestReportingSpec +} + var map_CustomTLSProfile = map[string]string{ "": "CustomTLSProfile is a user-defined TLS security profile. Be extremely careful using a custom TLS profile as invalid configurations can be catastrophic.", } diff --git a/etcd/vendor/modules.txt b/etcd/vendor/modules.txt index eda3d37cfc..00f06e8e32 100644 --- a/etcd/vendor/modules.txt +++ b/etcd/vendor/modules.txt @@ -190,7 +190,7 @@ github.com/munnerz/goautoneg # github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f ## explicit github.com/mxk/go-flowrate/flowrate -# github.com/openshift/api v0.0.0-20240405095747-3e50337fcaea +# github.com/openshift/api v0.0.0-20240424142232-29a704bf5aa2 ## explicit; go 1.21 github.com/openshift/api/config/v1 # github.com/openshift/build-machinery-go v0.0.0-20231128094528-1e9b1b0595c8 @@ -203,7 +203,7 @@ github.com/openshift/build-machinery-go/make/targets/golang github.com/openshift/build-machinery-go/make/targets/openshift github.com/openshift/build-machinery-go/make/targets/openshift/operator github.com/openshift/build-machinery-go/scripts -# github.com/openshift/library-go v0.0.0-20240411091851-558ed29cc1dd +# github.com/openshift/library-go v0.0.0-20240513090140-e22d25af5587 ## explicit; go 1.21 github.com/openshift/library-go/pkg/operator/apiserver/audit # github.com/openshift/microshift v0.0.0 => ../ @@ -618,7 +618,7 @@ gopkg.in/yaml.v2 # gopkg.in/yaml.v3 v3.0.1 ## explicit gopkg.in/yaml.v3 -# k8s.io/api v0.29.1 => github.com/openshift/kubernetes/staging/src/k8s.io/api v0.0.0-20240507134651-6c10b2df178d +# k8s.io/api v0.29.1 => github.com/openshift/kubernetes/staging/src/k8s.io/api v0.0.0-20240514134208-4a87b5377b72 ## explicit; go 1.21 k8s.io/api/admission/v1 k8s.io/api/admission/v1beta1 @@ -675,7 +675,7 @@ k8s.io/api/scheduling/v1beta1 k8s.io/api/storage/v1 k8s.io/api/storage/v1alpha1 k8s.io/api/storage/v1beta1 -# k8s.io/apimachinery v0.29.1 => github.com/openshift/kubernetes/staging/src/k8s.io/apimachinery v0.0.0-20240507134651-6c10b2df178d +# k8s.io/apimachinery v0.29.1 => github.com/openshift/kubernetes/staging/src/k8s.io/apimachinery v0.0.0-20240514134208-4a87b5377b72 ## explicit; go 1.21 k8s.io/apimachinery/pkg/api/equality k8s.io/apimachinery/pkg/api/errors @@ -729,17 +729,17 @@ k8s.io/apimachinery/pkg/watch k8s.io/apimachinery/third_party/forked/golang/json k8s.io/apimachinery/third_party/forked/golang/netutil k8s.io/apimachinery/third_party/forked/golang/reflect -# k8s.io/apiserver v0.29.1 => github.com/openshift/kubernetes/staging/src/k8s.io/apiserver v0.0.0-20240507134651-6c10b2df178d +# k8s.io/apiserver v0.29.1 => github.com/openshift/kubernetes/staging/src/k8s.io/apiserver v0.0.0-20240514134208-4a87b5377b72 ## explicit; go 1.21 k8s.io/apiserver/pkg/apis/audit k8s.io/apiserver/pkg/apis/audit/v1 -# k8s.io/cli-runtime v0.0.0 => github.com/openshift/kubernetes/staging/src/k8s.io/cli-runtime v0.0.0-20240507134651-6c10b2df178d +# k8s.io/cli-runtime v0.0.0 => github.com/openshift/kubernetes/staging/src/k8s.io/cli-runtime v0.0.0-20240514134208-4a87b5377b72 ## explicit; go 1.21 k8s.io/cli-runtime/pkg/genericclioptions k8s.io/cli-runtime/pkg/genericiooptions k8s.io/cli-runtime/pkg/printers k8s.io/cli-runtime/pkg/resource -# k8s.io/client-go v0.29.1 => github.com/openshift/kubernetes/staging/src/k8s.io/client-go v0.0.0-20240507134651-6c10b2df178d +# k8s.io/client-go v0.29.1 => github.com/openshift/kubernetes/staging/src/k8s.io/client-go v0.0.0-20240514134208-4a87b5377b72 ## explicit; go 1.21 k8s.io/client-go/applyconfigurations/admissionregistration/v1 k8s.io/client-go/applyconfigurations/admissionregistration/v1alpha1 @@ -886,7 +886,7 @@ k8s.io/client-go/util/homedir k8s.io/client-go/util/jsonpath k8s.io/client-go/util/keyutil k8s.io/client-go/util/workqueue -# k8s.io/component-base v0.29.1 => github.com/openshift/kubernetes/staging/src/k8s.io/component-base v0.0.0-20240507134651-6c10b2df178d +# k8s.io/component-base v0.29.1 => github.com/openshift/kubernetes/staging/src/k8s.io/component-base v0.0.0-20240514134208-4a87b5377b72 ## explicit; go 1.21 k8s.io/component-base/cli k8s.io/component-base/cli/flag @@ -921,7 +921,7 @@ k8s.io/kube-openapi/pkg/spec3 k8s.io/kube-openapi/pkg/util/proto k8s.io/kube-openapi/pkg/util/proto/validation k8s.io/kube-openapi/pkg/validation/spec -# k8s.io/kubectl v0.0.0 => github.com/openshift/kubernetes/staging/src/k8s.io/kubectl v0.0.0-20240507134651-6c10b2df178d +# k8s.io/kubectl v0.0.0 => github.com/openshift/kubernetes/staging/src/k8s.io/kubectl v0.0.0-20240514134208-4a87b5377b72 ## explicit; go 1.21 k8s.io/kubectl/pkg/cmd/util k8s.io/kubectl/pkg/scheme @@ -1049,33 +1049,33 @@ sigs.k8s.io/yaml # go.etcd.io/etcd/pkg/v3 => github.com/openshift/etcd/pkg/v3 v3.5.1-0.20240507115420-bc2fec27ff5b # go.etcd.io/etcd/raft/v3 => github.com/openshift/etcd/raft/v3 v3.5.1-0.20240507115420-bc2fec27ff5b # go.etcd.io/etcd/server/v3 => github.com/openshift/etcd/server/v3 v3.5.1-0.20240507115420-bc2fec27ff5b -# k8s.io/api => github.com/openshift/kubernetes/staging/src/k8s.io/api v0.0.0-20240507134651-6c10b2df178d -# k8s.io/apiextensions-apiserver => github.com/openshift/kubernetes/staging/src/k8s.io/apiextensions-apiserver v0.0.0-20240507134651-6c10b2df178d -# k8s.io/apimachinery => github.com/openshift/kubernetes/staging/src/k8s.io/apimachinery v0.0.0-20240507134651-6c10b2df178d -# k8s.io/apiserver => github.com/openshift/kubernetes/staging/src/k8s.io/apiserver v0.0.0-20240507134651-6c10b2df178d -# k8s.io/cli-runtime => github.com/openshift/kubernetes/staging/src/k8s.io/cli-runtime v0.0.0-20240507134651-6c10b2df178d -# k8s.io/client-go => github.com/openshift/kubernetes/staging/src/k8s.io/client-go v0.0.0-20240507134651-6c10b2df178d -# k8s.io/cloud-provider => github.com/openshift/kubernetes/staging/src/k8s.io/cloud-provider v0.0.0-20240507134651-6c10b2df178d -# k8s.io/cluster-bootstrap => github.com/openshift/kubernetes/staging/src/k8s.io/cluster-bootstrap v0.0.0-20240507134651-6c10b2df178d -# k8s.io/code-generator => github.com/openshift/kubernetes/staging/src/k8s.io/code-generator v0.0.0-20240507134651-6c10b2df178d -# k8s.io/component-base => github.com/openshift/kubernetes/staging/src/k8s.io/component-base v0.0.0-20240507134651-6c10b2df178d -# k8s.io/component-helpers => github.com/openshift/kubernetes/staging/src/k8s.io/component-helpers v0.0.0-20240507134651-6c10b2df178d -# k8s.io/controller-manager => github.com/openshift/kubernetes/staging/src/k8s.io/controller-manager v0.0.0-20240507134651-6c10b2df178d -# k8s.io/cri-api => github.com/openshift/kubernetes/staging/src/k8s.io/cri-api v0.0.0-20240507134651-6c10b2df178d -# k8s.io/csi-translation-lib => github.com/openshift/kubernetes/staging/src/k8s.io/csi-translation-lib v0.0.0-20240507134651-6c10b2df178d -# k8s.io/dynamic-resource-allocation => github.com/openshift/kubernetes/staging/src/k8s.io/dynamic-resource-allocation v0.0.0-20240507134651-6c10b2df178d -# k8s.io/kms => github.com/openshift/kubernetes/staging/src/k8s.io/kms v0.0.0-20240507134651-6c10b2df178d -# k8s.io/kube-aggregator => github.com/openshift/kubernetes/staging/src/k8s.io/kube-aggregator v0.0.0-20240507134651-6c10b2df178d -# k8s.io/kube-controller-manager => github.com/openshift/kubernetes/staging/src/k8s.io/kube-controller-manager v0.0.0-20240507134651-6c10b2df178d -# k8s.io/kube-proxy => github.com/openshift/kubernetes/staging/src/k8s.io/kube-proxy v0.0.0-20240507134651-6c10b2df178d -# k8s.io/kube-scheduler => github.com/openshift/kubernetes/staging/src/k8s.io/kube-scheduler v0.0.0-20240507134651-6c10b2df178d -# k8s.io/kubectl => github.com/openshift/kubernetes/staging/src/k8s.io/kubectl v0.0.0-20240507134651-6c10b2df178d -# k8s.io/kubelet => github.com/openshift/kubernetes/staging/src/k8s.io/kubelet v0.0.0-20240507134651-6c10b2df178d -# k8s.io/legacy-cloud-providers => github.com/openshift/kubernetes/staging/src/k8s.io/legacy-cloud-providers v0.0.0-20240507134651-6c10b2df178d -# k8s.io/metrics => github.com/openshift/kubernetes/staging/src/k8s.io/metrics v0.0.0-20240507134651-6c10b2df178d -# k8s.io/mount-utils => github.com/openshift/kubernetes/staging/src/k8s.io/mount-utils v0.0.0-20240507134651-6c10b2df178d -# k8s.io/pod-security-admission => github.com/openshift/kubernetes/staging/src/k8s.io/pod-security-admission v0.0.0-20240507134651-6c10b2df178d -# k8s.io/sample-apiserver => github.com/openshift/kubernetes/staging/src/k8s.io/sample-apiserver v0.0.0-20240507134651-6c10b2df178d -# k8s.io/sample-cli-plugin => github.com/openshift/kubernetes/staging/src/k8s.io/sample-cli-plugin v0.0.0-20240507134651-6c10b2df178d -# k8s.io/sample-controller => github.com/openshift/kubernetes/staging/src/k8s.io/sample-controller v0.0.0-20240507134651-6c10b2df178d -# k8s.io/endpointslice => github.com/openshift/kubernetes/staging/src/k8s.io/endpointslice v0.0.0-20240507134651-6c10b2df178d +# k8s.io/api => github.com/openshift/kubernetes/staging/src/k8s.io/api v0.0.0-20240514134208-4a87b5377b72 +# k8s.io/apiextensions-apiserver => github.com/openshift/kubernetes/staging/src/k8s.io/apiextensions-apiserver v0.0.0-20240514134208-4a87b5377b72 +# k8s.io/apimachinery => github.com/openshift/kubernetes/staging/src/k8s.io/apimachinery v0.0.0-20240514134208-4a87b5377b72 +# k8s.io/apiserver => github.com/openshift/kubernetes/staging/src/k8s.io/apiserver v0.0.0-20240514134208-4a87b5377b72 +# k8s.io/cli-runtime => github.com/openshift/kubernetes/staging/src/k8s.io/cli-runtime v0.0.0-20240514134208-4a87b5377b72 +# k8s.io/client-go => github.com/openshift/kubernetes/staging/src/k8s.io/client-go v0.0.0-20240514134208-4a87b5377b72 +# k8s.io/cloud-provider => github.com/openshift/kubernetes/staging/src/k8s.io/cloud-provider v0.0.0-20240514134208-4a87b5377b72 +# k8s.io/cluster-bootstrap => github.com/openshift/kubernetes/staging/src/k8s.io/cluster-bootstrap v0.0.0-20240514134208-4a87b5377b72 +# k8s.io/code-generator => github.com/openshift/kubernetes/staging/src/k8s.io/code-generator v0.0.0-20240514134208-4a87b5377b72 +# k8s.io/component-base => github.com/openshift/kubernetes/staging/src/k8s.io/component-base v0.0.0-20240514134208-4a87b5377b72 +# k8s.io/component-helpers => github.com/openshift/kubernetes/staging/src/k8s.io/component-helpers v0.0.0-20240514134208-4a87b5377b72 +# k8s.io/controller-manager => github.com/openshift/kubernetes/staging/src/k8s.io/controller-manager v0.0.0-20240514134208-4a87b5377b72 +# k8s.io/cri-api => github.com/openshift/kubernetes/staging/src/k8s.io/cri-api v0.0.0-20240514134208-4a87b5377b72 +# k8s.io/csi-translation-lib => github.com/openshift/kubernetes/staging/src/k8s.io/csi-translation-lib v0.0.0-20240514134208-4a87b5377b72 +# k8s.io/dynamic-resource-allocation => github.com/openshift/kubernetes/staging/src/k8s.io/dynamic-resource-allocation v0.0.0-20240514134208-4a87b5377b72 +# k8s.io/kms => github.com/openshift/kubernetes/staging/src/k8s.io/kms v0.0.0-20240514134208-4a87b5377b72 +# k8s.io/kube-aggregator => github.com/openshift/kubernetes/staging/src/k8s.io/kube-aggregator v0.0.0-20240514134208-4a87b5377b72 +# k8s.io/kube-controller-manager => github.com/openshift/kubernetes/staging/src/k8s.io/kube-controller-manager v0.0.0-20240514134208-4a87b5377b72 +# k8s.io/kube-proxy => github.com/openshift/kubernetes/staging/src/k8s.io/kube-proxy v0.0.0-20240514134208-4a87b5377b72 +# k8s.io/kube-scheduler => github.com/openshift/kubernetes/staging/src/k8s.io/kube-scheduler v0.0.0-20240514134208-4a87b5377b72 +# k8s.io/kubectl => github.com/openshift/kubernetes/staging/src/k8s.io/kubectl v0.0.0-20240514134208-4a87b5377b72 +# k8s.io/kubelet => github.com/openshift/kubernetes/staging/src/k8s.io/kubelet v0.0.0-20240514134208-4a87b5377b72 +# k8s.io/legacy-cloud-providers => github.com/openshift/kubernetes/staging/src/k8s.io/legacy-cloud-providers v0.0.0-20240514134208-4a87b5377b72 +# k8s.io/metrics => github.com/openshift/kubernetes/staging/src/k8s.io/metrics v0.0.0-20240514134208-4a87b5377b72 +# k8s.io/mount-utils => github.com/openshift/kubernetes/staging/src/k8s.io/mount-utils v0.0.0-20240514134208-4a87b5377b72 +# k8s.io/pod-security-admission => github.com/openshift/kubernetes/staging/src/k8s.io/pod-security-admission v0.0.0-20240514134208-4a87b5377b72 +# k8s.io/sample-apiserver => github.com/openshift/kubernetes/staging/src/k8s.io/sample-apiserver v0.0.0-20240514134208-4a87b5377b72 +# k8s.io/sample-cli-plugin => github.com/openshift/kubernetes/staging/src/k8s.io/sample-cli-plugin v0.0.0-20240514134208-4a87b5377b72 +# k8s.io/sample-controller => github.com/openshift/kubernetes/staging/src/k8s.io/sample-controller v0.0.0-20240514134208-4a87b5377b72 +# k8s.io/endpointslice => github.com/openshift/kubernetes/staging/src/k8s.io/endpointslice v0.0.0-20240514134208-4a87b5377b72 From 757db26bb9cce1b4b97389fd3430766e7bf21ee2 Mon Sep 17 00:00:00 2001 From: ci-robot Date: Wed, 15 May 2024 05:10:42 +0000 Subject: [PATCH 7/9] update component images --- packaging/crio.conf.d/10-microshift_amd64.conf | 2 +- packaging/crio.conf.d/10-microshift_arm64.conf | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packaging/crio.conf.d/10-microshift_amd64.conf b/packaging/crio.conf.d/10-microshift_amd64.conf index 6dffce86e5..5a5dbbec16 100644 --- a/packaging/crio.conf.d/10-microshift_amd64.conf +++ b/packaging/crio.conf.d/10-microshift_amd64.conf @@ -25,6 +25,6 @@ plugin_dirs = [ # for community builds on top of OKD, this setting has no effect [crio.image] global_auth_file="/etc/crio/openshift-pull-secret" -pause_image = "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:6c3e54d3c1d926854636694a4975a07b70c5a200359d62b79eca5971a1a495a5" +pause_image = "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:d3fd39f0d7154bcb13b4339cf22ce41244de93c1419658991177d089c4c871dd" pause_image_auth_file = "/etc/crio/openshift-pull-secret" pause_command = "/usr/bin/pod" diff --git a/packaging/crio.conf.d/10-microshift_arm64.conf b/packaging/crio.conf.d/10-microshift_arm64.conf index 331af3b9aa..9939dd51ad 100644 --- a/packaging/crio.conf.d/10-microshift_arm64.conf +++ b/packaging/crio.conf.d/10-microshift_arm64.conf @@ -25,6 +25,6 @@ plugin_dirs = [ # for community builds on top of OKD, this setting has no effect [crio.image] global_auth_file="/etc/crio/openshift-pull-secret" -pause_image = "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:e34fcb15e1c08e1c9503bb51eecaa978a4832e6bbd49571d7a01c56a6358a25b" +pause_image = "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:1ba8ce6d643a31b7c17860292e6e70c736f8e523155ef9492877c38839b6513c" pause_image_auth_file = "/etc/crio/openshift-pull-secret" pause_command = "/usr/bin/pod" From 834d2b3a116aa421b731021ea7d91cc8a7b48dc3 Mon Sep 17 00:00:00 2001 From: ci-robot Date: Wed, 15 May 2024 05:10:43 +0000 Subject: [PATCH 8/9] update manifests --- .../csi_controller_deployment.yaml | 1 + .../webhook_deployment.yaml | 1 + .../kube-apiserver/config-overrides.yaml | 1 - .../optional/multus/kustomization.x86_64.yaml | 4 ++-- .../multus/release-multus-aarch64.json | 2 +- .../multus/release-multus-x86_64.json | 6 ++--- .../kustomization.x86_64.yaml | 10 ++++----- .../release-olm-aarch64.json | 2 +- .../release-olm-x86_64.json | 8 +++---- assets/release/release-aarch64.json | 10 ++++----- assets/release/release-x86_64.json | 22 +++++++++---------- 11 files changed, 34 insertions(+), 33 deletions(-) diff --git a/assets/components/csi-snapshot-controller/csi_controller_deployment.yaml b/assets/components/csi-snapshot-controller/csi_controller_deployment.yaml index 7fa50b19ee..6455c44360 100644 --- a/assets/components/csi-snapshot-controller/csi_controller_deployment.yaml +++ b/assets/components/csi-snapshot-controller/csi_controller_deployment.yaml @@ -20,6 +20,7 @@ spec: metadata: annotations: target.workload.openshift.io/management: '{"effect": "PreferredDuringScheduling"}' + openshift.io/required-scc: restricted-v2 labels: app: csi-snapshot-controller spec: diff --git a/assets/components/csi-snapshot-controller/webhook_deployment.yaml b/assets/components/csi-snapshot-controller/webhook_deployment.yaml index 2ba1633d06..1ac61c9022 100644 --- a/assets/components/csi-snapshot-controller/webhook_deployment.yaml +++ b/assets/components/csi-snapshot-controller/webhook_deployment.yaml @@ -17,6 +17,7 @@ spec: metadata: annotations: target.workload.openshift.io/management: '{"effect": "PreferredDuringScheduling"}' + openshift.io/required-scc: restricted-v2 labels: app: csi-snapshot-webhook spec: diff --git a/assets/controllers/kube-apiserver/config-overrides.yaml b/assets/controllers/kube-apiserver/config-overrides.yaml index 7edbffecd5..ac1b81ad24 100644 --- a/assets/controllers/kube-apiserver/config-overrides.yaml +++ b/assets/controllers/kube-apiserver/config-overrides.yaml @@ -17,4 +17,3 @@ serviceAccountPublicKeyFiles: # The following path contains the public keys needed to verify bound sa # tokens. This is only supported post-bootstrap. - /etc/kubernetes/static-pod-resources/configmaps/bound-sa-token-signing-certs - diff --git a/assets/optional/multus/kustomization.x86_64.yaml b/assets/optional/multus/kustomization.x86_64.yaml index a80c914cab..e3bd90de1a 100644 --- a/assets/optional/multus/kustomization.x86_64.yaml +++ b/assets/optional/multus/kustomization.x86_64.yaml @@ -2,7 +2,7 @@ images: - name: multus-cni newName: quay.io/openshift-release-dev/ocp-v4.0-art-dev - digest: sha256:e18affd45a3f53dc5b7969d64f97228088e05086fed87e7b21589956847414e5 + digest: sha256:aef929b2ac179ae653327d719ef29f951cf69afcbf85ba705e212e4e9caf7509 - name: container-networking-plugins newName: quay.io/openshift-release-dev/ocp-v4.0-art-dev - digest: sha256:9939ba044f40fd1859cd9e7c6b6918c1e1412db4626446a82c2e2ca11355ea5c + digest: sha256:fc1078bbf4db0ec84a472c07913902e3f0ebdd95c8c95e9568388761e9bbee55 diff --git a/assets/optional/multus/release-multus-aarch64.json b/assets/optional/multus/release-multus-aarch64.json index f308c82f16..076c683a45 100644 --- a/assets/optional/multus/release-multus-aarch64.json +++ b/assets/optional/multus/release-multus-aarch64.json @@ -1,6 +1,6 @@ { "release": { - "base": "4.16.0-0.nightly-arm64-2024-05-13-005028" + "base": "4.16.0-0.nightly-arm64-2024-05-14-230421" }, "images": { "multus-cni": "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:b83077f402a7c5a58217ba4c412dd06a6377b323ab1cf9af698e56a31081b1cb", diff --git a/assets/optional/multus/release-multus-x86_64.json b/assets/optional/multus/release-multus-x86_64.json index ed1447d94d..13f781b94e 100644 --- a/assets/optional/multus/release-multus-x86_64.json +++ b/assets/optional/multus/release-multus-x86_64.json @@ -1,9 +1,9 @@ { "release": { - "base": "4.16.0-0.nightly-2024-05-08-222442" + "base": "4.16.0-0.nightly-2024-05-15-001800" }, "images": { - "multus-cni": "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:e18affd45a3f53dc5b7969d64f97228088e05086fed87e7b21589956847414e5", - "container-networking-plugins": "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:9939ba044f40fd1859cd9e7c6b6918c1e1412db4626446a82c2e2ca11355ea5c" + "multus-cni": "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:aef929b2ac179ae653327d719ef29f951cf69afcbf85ba705e212e4e9caf7509", + "container-networking-plugins": "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:fc1078bbf4db0ec84a472c07913902e3f0ebdd95c8c95e9568388761e9bbee55" } } diff --git a/assets/optional/operator-lifecycle-manager/kustomization.x86_64.yaml b/assets/optional/operator-lifecycle-manager/kustomization.x86_64.yaml index e9d00d880c..54b9b8ba32 100644 --- a/assets/optional/operator-lifecycle-manager/kustomization.x86_64.yaml +++ b/assets/optional/operator-lifecycle-manager/kustomization.x86_64.yaml @@ -2,13 +2,13 @@ images: - name: quay.io/operator-framework/olm newName: quay.io/openshift-release-dev/ocp-v4.0-art-dev - digest: sha256:e549958b7194788a13bc59704d495d1d11a87aa606f60182f4e441351b497370 + digest: sha256:1732ff573cfba6e09673cf1e076e6400c78e6e5cb6e613a241173eb5f3165368 - name: quay.io/operator-framework/configmap-operator-registry newName: quay.io/openshift-release-dev/ocp-v4.0-art-dev - digest: sha256:0f193fd514a3a51a47a4ef0e9a215530c8dbda1a30b4ba0dff86ba9494e43229 + digest: sha256:1cf7eb24f985bec30db224587335f55cb8726ff5b4b3ccef2f8c333608ea98b7 - name: quay.io/openshift/origin-kube-rbac-proxy newName: quay.io/openshift-release-dev/ocp-v4.0-art-dev - digest: sha256:44001e0c59ad0d95aeef617a5baffe62a5f3f412dbbd1e96646c01a616393324 + digest: sha256:0954a53fe830d4c49ffdced2beb2461f92f305d8d72b003f7fd54e990ee42868 patches: - patch: |- @@ -16,12 +16,12 @@ patches: path: /spec/template/spec/containers/0/env/- value: name: OPERATOR_REGISTRY_IMAGE - value: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:0f193fd514a3a51a47a4ef0e9a215530c8dbda1a30b4ba0dff86ba9494e43229 + value: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:1cf7eb24f985bec30db224587335f55cb8726ff5b4b3ccef2f8c333608ea98b7 - op: add path: /spec/template/spec/containers/0/env/- value: name: OLM_IMAGE - value: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:e549958b7194788a13bc59704d495d1d11a87aa606f60182f4e441351b497370 + value: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:1732ff573cfba6e09673cf1e076e6400c78e6e5cb6e613a241173eb5f3165368 target: kind: Deployment labelSelector: app=catalog-operator diff --git a/assets/optional/operator-lifecycle-manager/release-olm-aarch64.json b/assets/optional/operator-lifecycle-manager/release-olm-aarch64.json index c37d4e5f68..375af441cb 100644 --- a/assets/optional/operator-lifecycle-manager/release-olm-aarch64.json +++ b/assets/optional/operator-lifecycle-manager/release-olm-aarch64.json @@ -1,6 +1,6 @@ { "release": { - "base": "4.16.0-0.nightly-arm64-2024-05-13-005028" + "base": "4.16.0-0.nightly-arm64-2024-05-14-230421" }, "images": { "operator-lifecycle-manager": "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:3a99cae3d37dbc5449cacc8f3343863674194a0ca0b1465189fc1acdd97f390f", diff --git a/assets/optional/operator-lifecycle-manager/release-olm-x86_64.json b/assets/optional/operator-lifecycle-manager/release-olm-x86_64.json index 4dd4980b05..b389b768a0 100644 --- a/assets/optional/operator-lifecycle-manager/release-olm-x86_64.json +++ b/assets/optional/operator-lifecycle-manager/release-olm-x86_64.json @@ -1,10 +1,10 @@ { "release": { - "base": "4.16.0-0.nightly-2024-05-08-222442" + "base": "4.16.0-0.nightly-2024-05-15-001800" }, "images": { - "operator-lifecycle-manager": "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:e549958b7194788a13bc59704d495d1d11a87aa606f60182f4e441351b497370", - "operator-registry": "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:0f193fd514a3a51a47a4ef0e9a215530c8dbda1a30b4ba0dff86ba9494e43229", - "kube-rbac-proxy": "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:44001e0c59ad0d95aeef617a5baffe62a5f3f412dbbd1e96646c01a616393324" + "operator-lifecycle-manager": "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:1732ff573cfba6e09673cf1e076e6400c78e6e5cb6e613a241173eb5f3165368", + "operator-registry": "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:1cf7eb24f985bec30db224587335f55cb8726ff5b4b3ccef2f8c333608ea98b7", + "kube-rbac-proxy": "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:0954a53fe830d4c49ffdced2beb2461f92f305d8d72b003f7fd54e990ee42868" } } diff --git a/assets/release/release-aarch64.json b/assets/release/release-aarch64.json index b22029dbb5..a9e88977e7 100644 --- a/assets/release/release-aarch64.json +++ b/assets/release/release-aarch64.json @@ -1,15 +1,15 @@ { "release": { - "base": "4.16.0-0.nightly-arm64-2024-05-13-005028" + "base": "4.16.0-0.nightly-arm64-2024-05-14-230421" }, "images": { - "cli": "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:5d95e7146db9fe029ab148043cd4c023438c4e40b89833068ae46261d2fbf6ce", - "coredns": "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:c4be2efce93ef3df8c42bb72a0790c655a2468eba50f101d440c425d3e80333a", + "cli": "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:5bb8a1779bc9726b3b9c956b5df052de5a8acb77c57f95b442bc1d42a2bc8e7d", + "coredns": "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:188640955121b37db735863224149318992665d823cbcc27c69156f3c44ba277", "haproxy-router": "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:fc757bb19edcc81f8fa07932d492469e51f33ebd64f1efd2fc7dcb5c9cbc99b3", "kube-rbac-proxy": "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:47eb70134226931ac11a76ecc1d877088162a193db425db27921e8ae3254699c", "openssl": "registry.redhat.io/ubi9@sha256:ed84f34cd929ea6b0c247b6daef54dd79602804a32480a052951021caf429494", - "ovn-kubernetes-microshift": "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:d43806498223f0f679b51424d595d6b0e1c25b2e096e86169374f9fb88355663", - "pod": "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:e34fcb15e1c08e1c9503bb51eecaa978a4832e6bbd49571d7a01c56a6358a25b", + "ovn-kubernetes-microshift": "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:5cf5a10f628dfa325b07ea05e9a37afa63a3c7fd862078097a83ec053704f24d", + "pod": "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:1ba8ce6d643a31b7c17860292e6e70c736f8e523155ef9492877c38839b6513c", "service-ca-operator": "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:f7728e63d1689236cb795b3d877d8d49563a3be58b508b9679a0e33d136e7e4d", "topolvm_csi": "registry.redhat.io/lvms4/topolvm-rhel9@sha256:ce0c78c2867fb0b73c4911ae6afd5aaf9a413480cfcf4f31f46f2387c3df97e0", "topolvm_csi_registrar": "registry.redhat.io/openshift4/ose-csi-node-driver-registrar@sha256:95691c21198e20d11777d592806fa00c018c17443d9b3aee853891dac6090470", diff --git a/assets/release/release-x86_64.json b/assets/release/release-x86_64.json index 6d2ca55ab9..d85b4bc5e4 100644 --- a/assets/release/release-x86_64.json +++ b/assets/release/release-x86_64.json @@ -1,23 +1,23 @@ { "release": { - "base": "4.16.0-0.nightly-2024-05-08-222442" + "base": "4.16.0-0.nightly-2024-05-15-001800" }, "images": { - "cli": "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:c51a31a687d96346596ac23ec578f35eabd4c43370e097cdde7c34d191c027ef", - "coredns": "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:79401dadbf5b9a1c4269c7945d0cd48147250c054269846b4ee99a51a307acd7", - "haproxy-router": "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:6e7497ab6cedbad0187406ca2a91194ec54d5a1641f1922f1f1d03cf7542ba9b", - "kube-rbac-proxy": "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:44001e0c59ad0d95aeef617a5baffe62a5f3f412dbbd1e96646c01a616393324", + "cli": "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:a455be416d9bcd7fda19dae98b4eceb432a1f4b1993c8ea4fd9c3665df7d46f7", + "coredns": "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:0901e2a8174b0583cf038e9c6b9a47a6d9af21e056170fdcf78589e622e56d33", + "haproxy-router": "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:4f2a09a1cb94546c006eb5f87e1ca70458f67b879ccd1fc9471eef32d73170ef", + "kube-rbac-proxy": "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:0954a53fe830d4c49ffdced2beb2461f92f305d8d72b003f7fd54e990ee42868", "openssl": "registry.redhat.io/ubi9@sha256:ed84f34cd929ea6b0c247b6daef54dd79602804a32480a052951021caf429494", - "ovn-kubernetes-microshift": "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:0f3b360e19b6b48321b62d005f92eb64ae11cde90e0aa6e725182bd90643bb38", - "pod": "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:6c3e54d3c1d926854636694a4975a07b70c5a200359d62b79eca5971a1a495a5", - "service-ca-operator": "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:200e3fd42d027a70bc98f5d5b99430b4c5227a70a9c7fd613d940ed6d97e9bf0", + "ovn-kubernetes-microshift": "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:acc1d6f89b7037a9b7d6a439169928f45b944110507c63af6b0fc127aaed0a8e", + "pod": "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:d3fd39f0d7154bcb13b4339cf22ce41244de93c1419658991177d089c4c871dd", + "service-ca-operator": "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:bf328c6df8c0ab64e98a635a9f06caa4cd799bc6239e811585d1b37975b02dda", "topolvm_csi": "registry.redhat.io/lvms4/topolvm-rhel9@sha256:ce0c78c2867fb0b73c4911ae6afd5aaf9a413480cfcf4f31f46f2387c3df97e0", "topolvm_csi_registrar": "registry.redhat.io/openshift4/ose-csi-node-driver-registrar@sha256:95691c21198e20d11777d592806fa00c018c17443d9b3aee853891dac6090470", "topolvm_csi_livenessprobe": "registry.redhat.io/openshift4/ose-csi-livenessprobe@sha256:98ad03919da81c910aaa8a4f12fcae3048f2119735aeb7ca5271f7c16cf5e4e6", "topolvm_csi_resizer": "registry.redhat.io/openshift4/ose-csi-external-resizer@sha256:94f4a9ad37891cfbf58ca7db58000e703ff4d9d7a7b207d50ec844c1610e2111", "topolvm_csi_provisioner": "registry.redhat.io/openshift4/ose-csi-external-provisioner@sha256:76a5646d4b8406ae9065a1605644ec641acc97aa471ebae744e8e06487cec765", - "csi-external-snapshotter": "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:e890029b41d81be8f987d34d3d159c01ef29e13bed352e05a4cbbc1f7110cb67", - "csi-snapshot-controller": "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:2c211c19ee52675a66abe9a1a19dc7a3cbb6f429c140a24b5cb2f7ca30b760bf", - "csi-snapshot-validation-webhook": "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:2038701bac255640224b030257478e95ec090a7c3ab947d427e3027bf9eab410" + "csi-external-snapshotter": "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:a7e82dd3e2e08282e391632e5ab503b9dfb75b6dc4ac7cb762b48580d5c808e1", + "csi-snapshot-controller": "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:93f0c8a8de2bc79c05bfdae4a6f05d7ab1219aa320115aa884672450f1547f8a", + "csi-snapshot-validation-webhook": "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:f6df9ed8e520405540bb81ea77f5ffcff25726295717c4c13b231f4261ad09a3" } } From 3cc65adfb5c4ebedbe44408c57ef8bb3aea3d83b Mon Sep 17 00:00:00 2001 From: ci-robot Date: Wed, 15 May 2024 05:10:47 +0000 Subject: [PATCH 9/9] update buildfiles --- Makefile.kube_git.var | 2 +- Makefile.version.aarch64.var | 2 +- Makefile.version.x86_64.var | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Makefile.kube_git.var b/Makefile.kube_git.var index e1ce1c4c35..859f3b0010 100644 --- a/Makefile.kube_git.var +++ b/Makefile.kube_git.var @@ -1,5 +1,5 @@ KUBE_GIT_MAJOR=1 KUBE_GIT_MINOR=29 KUBE_GIT_VERSION=v1.29.4 -KUBE_GIT_COMMIT=6c10b2df178d8497ea61ca6749a73b31fee740a7 +KUBE_GIT_COMMIT=4a87b5377b72baed624e7afa315bb8622117ebf9 KUBE_GIT_TREE_STATE=clean diff --git a/Makefile.version.aarch64.var b/Makefile.version.aarch64.var index 594a905e33..b7936d5ee3 100644 --- a/Makefile.version.aarch64.var +++ b/Makefile.version.aarch64.var @@ -1 +1 @@ -OCP_VERSION := 4.16.0-0.nightly-arm64-2024-05-13-005028 +OCP_VERSION := 4.16.0-0.nightly-arm64-2024-05-14-230421 diff --git a/Makefile.version.x86_64.var b/Makefile.version.x86_64.var index 5a8d2248c8..6ee34b9577 100644 --- a/Makefile.version.x86_64.var +++ b/Makefile.version.x86_64.var @@ -1 +1 @@ -OCP_VERSION := 4.16.0-0.nightly-2024-05-08-222442 +OCP_VERSION := 4.16.0-0.nightly-2024-05-15-001800