diff --git a/go.mod b/go.mod index 8254ba9ac503..d834af504499 100644 --- a/go.mod +++ b/go.mod @@ -28,7 +28,7 @@ require ( github.com/onsi/gomega v1.33.1 github.com/opencontainers/go-digest v1.0.0 github.com/openshift/api v0.0.0-20240704102751-33ed71ab039f - github.com/openshift/apiserver-library-go v0.0.0-20240716092710-e88385a79b17 + github.com/openshift/apiserver-library-go v0.0.0-20240828192036-4d55b6dd978f github.com/openshift/build-machinery-go v0.0.0-20240613134303-8359781da660 github.com/openshift/client-go v0.0.0-20240528061634-b054aa794d87 github.com/openshift/cluster-network-operator v0.0.0-20240708200319-1cd8678b38fb @@ -306,34 +306,34 @@ require ( replace ( github.com/onsi/ginkgo/v2 => github.com/openshift/onsi-ginkgo/v2 v2.6.1-0.20240314173009-2cd07f4ca53d - k8s.io/api => github.com/openshift/kubernetes/staging/src/k8s.io/api v0.0.0-20240723170835-32f817d75efe - k8s.io/apiextensions-apiserver => github.com/openshift/kubernetes/staging/src/k8s.io/apiextensions-apiserver v0.0.0-20240723170835-32f817d75efe - k8s.io/apimachinery => github.com/openshift/kubernetes/staging/src/k8s.io/apimachinery v0.0.0-20240723170835-32f817d75efe - k8s.io/apiserver => github.com/openshift/kubernetes/staging/src/k8s.io/apiserver v0.0.0-20240723170835-32f817d75efe - k8s.io/cli-runtime => github.com/openshift/kubernetes/staging/src/k8s.io/cli-runtime v0.0.0-20240723170835-32f817d75efe - k8s.io/client-go => github.com/openshift/kubernetes/staging/src/k8s.io/client-go v0.0.0-20240723170835-32f817d75efe - k8s.io/cloud-provider => github.com/openshift/kubernetes/staging/src/k8s.io/cloud-provider v0.0.0-20240723170835-32f817d75efe - k8s.io/cluster-bootstrap => github.com/openshift/kubernetes/staging/src/k8s.io/cluster-bootstrap v0.0.0-20240723170835-32f817d75efe - k8s.io/code-generator => github.com/openshift/kubernetes/staging/src/k8s.io/code-generator v0.0.0-20240723170835-32f817d75efe - k8s.io/component-base => github.com/openshift/kubernetes/staging/src/k8s.io/component-base v0.0.0-20240723170835-32f817d75efe - k8s.io/component-helpers => github.com/openshift/kubernetes/staging/src/k8s.io/component-helpers v0.0.0-20240723170835-32f817d75efe - k8s.io/controller-manager => github.com/openshift/kubernetes/staging/src/k8s.io/controller-manager v0.0.0-20240723170835-32f817d75efe - k8s.io/cri-api => github.com/openshift/kubernetes/staging/src/k8s.io/cri-api v0.0.0-20240723170835-32f817d75efe - k8s.io/csi-translation-lib => github.com/openshift/kubernetes/staging/src/k8s.io/csi-translation-lib v0.0.0-20240723170835-32f817d75efe - k8s.io/dynamic-resource-allocation => github.com/openshift/kubernetes/staging/src/k8s.io/dynamic-resource-allocation v0.0.0-20240723170835-32f817d75efe - k8s.io/endpointslice => github.com/openshift/kubernetes/staging/src/k8s.io/endpointslice v0.0.0-20240723170835-32f817d75efe - k8s.io/kube-aggregator => github.com/openshift/kubernetes/staging/src/k8s.io/kube-aggregator v0.0.0-20240723170835-32f817d75efe - k8s.io/kube-controller-manager => github.com/openshift/kubernetes/staging/src/k8s.io/kube-controller-manager v0.0.0-20240723170835-32f817d75efe - k8s.io/kube-proxy => github.com/openshift/kubernetes/staging/src/k8s.io/kube-proxy v0.0.0-20240723170835-32f817d75efe - k8s.io/kube-scheduler => github.com/openshift/kubernetes/staging/src/k8s.io/kube-scheduler v0.0.0-20240723170835-32f817d75efe - k8s.io/kubectl => github.com/openshift/kubernetes/staging/src/k8s.io/kubectl v0.0.0-20240723170835-32f817d75efe - k8s.io/kubelet => github.com/openshift/kubernetes/staging/src/k8s.io/kubelet v0.0.0-20240723170835-32f817d75efe - k8s.io/kubernetes => github.com/openshift/kubernetes v1.30.1-0.20240723170835-32f817d75efe - k8s.io/legacy-cloud-providers => github.com/openshift/kubernetes/staging/src/k8s.io/legacy-cloud-providers v0.0.0-20240723170835-32f817d75efe - k8s.io/metrics => github.com/openshift/kubernetes/staging/src/k8s.io/metrics v0.0.0-20240723170835-32f817d75efe - k8s.io/mount-utils => github.com/openshift/kubernetes/staging/src/k8s.io/mount-utils v0.0.0-20240723170835-32f817d75efe - k8s.io/pod-security-admission => github.com/openshift/kubernetes/staging/src/k8s.io/pod-security-admission v0.0.0-20240723170835-32f817d75efe - k8s.io/sample-apiserver => github.com/openshift/kubernetes/staging/src/k8s.io/sample-apiserver v0.0.0-20240723170835-32f817d75efe - k8s.io/sample-cli-plugin => github.com/openshift/kubernetes/staging/src/k8s.io/sample-cli-plugin v0.0.0-20240723170835-32f817d75efe - k8s.io/sample-controller => github.com/openshift/kubernetes/staging/src/k8s.io/sample-controller v0.0.0-20240723170835-32f817d75efe + k8s.io/api => github.com/openshift/kubernetes/staging/src/k8s.io/api v0.0.0-20240912105924-ce117ff87249 + k8s.io/apiextensions-apiserver => github.com/openshift/kubernetes/staging/src/k8s.io/apiextensions-apiserver v0.0.0-20240912105924-ce117ff87249 + k8s.io/apimachinery => github.com/openshift/kubernetes/staging/src/k8s.io/apimachinery v0.0.0-20240912105924-ce117ff87249 + k8s.io/apiserver => github.com/openshift/kubernetes/staging/src/k8s.io/apiserver v0.0.0-20240912105924-ce117ff87249 + k8s.io/cli-runtime => github.com/openshift/kubernetes/staging/src/k8s.io/cli-runtime v0.0.0-20240912105924-ce117ff87249 + k8s.io/client-go => github.com/openshift/kubernetes/staging/src/k8s.io/client-go v0.0.0-20240912105924-ce117ff87249 + k8s.io/cloud-provider => github.com/openshift/kubernetes/staging/src/k8s.io/cloud-provider v0.0.0-20240912105924-ce117ff87249 + k8s.io/cluster-bootstrap => github.com/openshift/kubernetes/staging/src/k8s.io/cluster-bootstrap v0.0.0-20240912105924-ce117ff87249 + k8s.io/code-generator => github.com/openshift/kubernetes/staging/src/k8s.io/code-generator v0.0.0-20240912105924-ce117ff87249 + k8s.io/component-base => github.com/openshift/kubernetes/staging/src/k8s.io/component-base v0.0.0-20240912105924-ce117ff87249 + k8s.io/component-helpers => github.com/openshift/kubernetes/staging/src/k8s.io/component-helpers v0.0.0-20240912105924-ce117ff87249 + k8s.io/controller-manager => github.com/openshift/kubernetes/staging/src/k8s.io/controller-manager v0.0.0-20240912105924-ce117ff87249 + k8s.io/cri-api => github.com/openshift/kubernetes/staging/src/k8s.io/cri-api v0.0.0-20240912105924-ce117ff87249 + k8s.io/csi-translation-lib => github.com/openshift/kubernetes/staging/src/k8s.io/csi-translation-lib v0.0.0-20240912105924-ce117ff87249 + k8s.io/dynamic-resource-allocation => github.com/openshift/kubernetes/staging/src/k8s.io/dynamic-resource-allocation v0.0.0-20240912105924-ce117ff87249 + k8s.io/endpointslice => github.com/openshift/kubernetes/staging/src/k8s.io/endpointslice v0.0.0-20240912105924-ce117ff87249 + k8s.io/kube-aggregator => github.com/openshift/kubernetes/staging/src/k8s.io/kube-aggregator v0.0.0-20240912105924-ce117ff87249 + k8s.io/kube-controller-manager => github.com/openshift/kubernetes/staging/src/k8s.io/kube-controller-manager v0.0.0-20240912105924-ce117ff87249 + k8s.io/kube-proxy => github.com/openshift/kubernetes/staging/src/k8s.io/kube-proxy v0.0.0-20240912105924-ce117ff87249 + k8s.io/kube-scheduler => github.com/openshift/kubernetes/staging/src/k8s.io/kube-scheduler v0.0.0-20240912105924-ce117ff87249 + k8s.io/kubectl => github.com/openshift/kubernetes/staging/src/k8s.io/kubectl v0.0.0-20240912105924-ce117ff87249 + k8s.io/kubelet => github.com/openshift/kubernetes/staging/src/k8s.io/kubelet v0.0.0-20240912105924-ce117ff87249 + k8s.io/kubernetes => github.com/openshift/kubernetes v1.30.1-0.20240912105924-ce117ff87249 + k8s.io/legacy-cloud-providers => github.com/openshift/kubernetes/staging/src/k8s.io/legacy-cloud-providers v0.0.0-20240912105924-ce117ff87249 + k8s.io/metrics => github.com/openshift/kubernetes/staging/src/k8s.io/metrics v0.0.0-20240912105924-ce117ff87249 + k8s.io/mount-utils => github.com/openshift/kubernetes/staging/src/k8s.io/mount-utils v0.0.0-20240912105924-ce117ff87249 + k8s.io/pod-security-admission => github.com/openshift/kubernetes/staging/src/k8s.io/pod-security-admission v0.0.0-20240912105924-ce117ff87249 + k8s.io/sample-apiserver => github.com/openshift/kubernetes/staging/src/k8s.io/sample-apiserver v0.0.0-20240912105924-ce117ff87249 + k8s.io/sample-cli-plugin => github.com/openshift/kubernetes/staging/src/k8s.io/sample-cli-plugin v0.0.0-20240912105924-ce117ff87249 + k8s.io/sample-controller => github.com/openshift/kubernetes/staging/src/k8s.io/sample-controller v0.0.0-20240912105924-ce117ff87249 ) diff --git a/go.sum b/go.sum index c011585f20ff..65a65ce23653 100644 --- a/go.sum +++ b/go.sum @@ -664,62 +664,62 @@ github.com/opencontainers/selinux v1.11.0 h1:+5Zbo97w3Lbmb3PeqQtpmTkMwsW5nRI3YaL github.com/opencontainers/selinux v1.11.0/go.mod h1:E5dMC3VPuVvVHDYmi78qvhJp8+M586T4DlDRYpFkyec= github.com/openshift/api v0.0.0-20240704102751-33ed71ab039f h1:8qy74aofCvUwCdPafxgdWFsd3oCoMXhjaaCsXaWNCGM= github.com/openshift/api v0.0.0-20240704102751-33ed71ab039f/go.mod h1:OOh6Qopf21pSzqNVCB5gomomBXb8o5sGKZxG2KNpaXM= -github.com/openshift/apiserver-library-go v0.0.0-20240716092710-e88385a79b17 h1:lJ0jen15LqSgZkFQLPPkgDRevNxc8B/Z5/vgZ2LoZ3A= -github.com/openshift/apiserver-library-go v0.0.0-20240716092710-e88385a79b17/go.mod h1:DDVeKBhMfq0TwM4p90dCGz80UeUKPIOCXNBNj3bEXtU= +github.com/openshift/apiserver-library-go v0.0.0-20240828192036-4d55b6dd978f h1:W5z+NEktajGJoKAVYMiCBnmOqqy2rBEusRvlCN7KXz0= +github.com/openshift/apiserver-library-go v0.0.0-20240828192036-4d55b6dd978f/go.mod h1:DDVeKBhMfq0TwM4p90dCGz80UeUKPIOCXNBNj3bEXtU= github.com/openshift/build-machinery-go v0.0.0-20240613134303-8359781da660 h1:F0zE2bmdVvaEd18VXuGYQdJJ1FYJu4MIDW9PYZWc9No= github.com/openshift/build-machinery-go v0.0.0-20240613134303-8359781da660/go.mod h1:8jcm8UPtg2mCAsxfqKil1xrmRMI3a+XU2TZ9fF8A7TE= github.com/openshift/client-go v0.0.0-20240528061634-b054aa794d87 h1:JtLhaGpSEconE+1IKmIgCOof/Len5ceG6H1pk43yv5U= github.com/openshift/client-go v0.0.0-20240528061634-b054aa794d87/go.mod h1:3IPD4U0qyovZS4EFady2kqY32m8lGcbs/Wx+yprg9z8= github.com/openshift/cluster-network-operator v0.0.0-20240708200319-1cd8678b38fb h1:Dr0dbSQTAU9UaoAvimGjR+fsvwx2twJ5KR0s/jyAz88= github.com/openshift/cluster-network-operator v0.0.0-20240708200319-1cd8678b38fb/go.mod h1:LnhqxbWhAnhPwilJ4yX1/ly7wCMCYJKkaiSJQSh+Wjg= -github.com/openshift/kubernetes v1.30.1-0.20240723170835-32f817d75efe h1:wyndN7pTLG5E9l6cOUc2IaYMJmlin50bp9qdIkJbuVg= -github.com/openshift/kubernetes v1.30.1-0.20240723170835-32f817d75efe/go.mod h1:5+ZIvJdjGVvha4ffSLcd9WCTdB2Asw4q7BqML8sSfF4= -github.com/openshift/kubernetes/staging/src/k8s.io/api v0.0.0-20240723170835-32f817d75efe h1:KRl6C4xf3K2dZ8/lF2UuOkNHv8IspFF4HYAhb+ZAfJA= -github.com/openshift/kubernetes/staging/src/k8s.io/api v0.0.0-20240723170835-32f817d75efe/go.mod h1:OtpBgWlPMu+LFExx+Y4bZ0ABtWuAFZOsl7zghYR2gKs= -github.com/openshift/kubernetes/staging/src/k8s.io/apiextensions-apiserver v0.0.0-20240723170835-32f817d75efe h1:KBiGXh413oZC/CR9v6fSNNjBAQVb1uXn9m5pJIu83PI= -github.com/openshift/kubernetes/staging/src/k8s.io/apiextensions-apiserver v0.0.0-20240723170835-32f817d75efe/go.mod h1:4v6tMwmD7H5J+kWPzhDcfGMWQhsy6cFiPg2j9C/y3Qo= -github.com/openshift/kubernetes/staging/src/k8s.io/apimachinery v0.0.0-20240723170835-32f817d75efe h1:X+AkpbkvcwNYx2gsCL0heUV5nMhUqsrqcUReiSW2qX4= -github.com/openshift/kubernetes/staging/src/k8s.io/apimachinery v0.0.0-20240723170835-32f817d75efe/go.mod h1:2YeOqiALpKSAxO0DpeDw8rvpwfc/TWeluLxX4Uo+d5E= -github.com/openshift/kubernetes/staging/src/k8s.io/apiserver v0.0.0-20240723170835-32f817d75efe h1:j1NPe6ZNqbeyzKgKac9aDsEGpDLXXR34NAXnvFKlJL8= -github.com/openshift/kubernetes/staging/src/k8s.io/apiserver v0.0.0-20240723170835-32f817d75efe/go.mod h1:Iq+2JxY1CvM4EV+yZiJIkT2WLTgIl40euGk5qP3WTjk= -github.com/openshift/kubernetes/staging/src/k8s.io/cli-runtime v0.0.0-20240723170835-32f817d75efe h1:Omdb+ZiHZCjfpeoMpQ7EH9qlE5HGtQTzZvQVd6QK8A8= -github.com/openshift/kubernetes/staging/src/k8s.io/cli-runtime v0.0.0-20240723170835-32f817d75efe/go.mod h1:Yp9oaQw9PaBJ2Eo44OJBDBAUmVIWIktNuXAQY6x5efM= -github.com/openshift/kubernetes/staging/src/k8s.io/client-go v0.0.0-20240723170835-32f817d75efe h1:WXrvLHj67nPRnvumtkCBmfIhKF5MdspS0tJj/dYSjkk= -github.com/openshift/kubernetes/staging/src/k8s.io/client-go v0.0.0-20240723170835-32f817d75efe/go.mod h1:UAQY4MnAO2dm49/o1uwAdh7MATtIw16tYLZ2UB/1FpM= -github.com/openshift/kubernetes/staging/src/k8s.io/cloud-provider v0.0.0-20240723170835-32f817d75efe h1:w8Gjb8WQ044NB+hR7rPIeQTpa88H5JaNRuWyZeM5IEU= -github.com/openshift/kubernetes/staging/src/k8s.io/cloud-provider v0.0.0-20240723170835-32f817d75efe/go.mod h1:uDKkaCyNfEZR63HhLLMB5DxShzg/sc4CT9nZcLw34/M= -github.com/openshift/kubernetes/staging/src/k8s.io/cluster-bootstrap v0.0.0-20240723170835-32f817d75efe h1:vzxZYMKcDxuyegQv2oojVLrEklMvX8sBQ450l2luq3E= -github.com/openshift/kubernetes/staging/src/k8s.io/cluster-bootstrap v0.0.0-20240723170835-32f817d75efe/go.mod h1:R3A7NxutYV6qRcFKMfzQZrzq8aaDipg3oPCshuMv0Wk= -github.com/openshift/kubernetes/staging/src/k8s.io/component-base v0.0.0-20240723170835-32f817d75efe h1:lP40RME9SENFPJkFzjBkjvslxXIGBXUzg/wsQLIXgLY= -github.com/openshift/kubernetes/staging/src/k8s.io/component-base v0.0.0-20240723170835-32f817d75efe/go.mod h1:gpC/KgMvGoApTN+nanf+1A3RiHzQZ23W2dmkmu5v2ZU= -github.com/openshift/kubernetes/staging/src/k8s.io/component-helpers v0.0.0-20240723170835-32f817d75efe h1:aRi9PI1b3iNKYjUgAq5Ix3+pYmb4D+ajWY+tQuKz4sw= -github.com/openshift/kubernetes/staging/src/k8s.io/component-helpers v0.0.0-20240723170835-32f817d75efe/go.mod h1:vqsZ/rUbTSef+QbiWaQ9c1IDYi4hArhT3ItePOIAVSA= -github.com/openshift/kubernetes/staging/src/k8s.io/controller-manager v0.0.0-20240723170835-32f817d75efe h1:k9AqTtFDJXFTDqPa13yxAgASFB1nJWttPQqC88WJYxE= -github.com/openshift/kubernetes/staging/src/k8s.io/controller-manager v0.0.0-20240723170835-32f817d75efe/go.mod h1:a+tHWi3OVIMSC+jILpzky8HAmgkqfivNXYPNTYyNS6E= -github.com/openshift/kubernetes/staging/src/k8s.io/cri-api v0.0.0-20240723170835-32f817d75efe h1:gCDUc0sol/PNDnUCNtiN0hEnSLuDkoTyJEP2lTnsixw= -github.com/openshift/kubernetes/staging/src/k8s.io/cri-api v0.0.0-20240723170835-32f817d75efe/go.mod h1:/fkfIpAg9LQ3JKsBg3Zqxq1kpwX7uK8K66o573HlRZc= -github.com/openshift/kubernetes/staging/src/k8s.io/csi-translation-lib v0.0.0-20240723170835-32f817d75efe h1:dTChTBSc0sp2A/Ed8JHs3dEIoHMPr7ptMG2owvLrTPg= -github.com/openshift/kubernetes/staging/src/k8s.io/csi-translation-lib v0.0.0-20240723170835-32f817d75efe/go.mod h1:sQvc0rIZUYPdHbbsmBOb72fKHGXBhLs2JBL6Sjr9rkQ= -github.com/openshift/kubernetes/staging/src/k8s.io/dynamic-resource-allocation v0.0.0-20240723170835-32f817d75efe h1:Z6UA89jCrZgXc/RrRU9TiDCPmJvtdHIy73sgCJGcrr4= -github.com/openshift/kubernetes/staging/src/k8s.io/dynamic-resource-allocation v0.0.0-20240723170835-32f817d75efe/go.mod h1:yvRLhVsdMfgNvWYz4rem98PJ9fo3WWd9HsbfKPxKhCo= -github.com/openshift/kubernetes/staging/src/k8s.io/kube-aggregator v0.0.0-20240723170835-32f817d75efe h1:pbzJ6xTsPXAsx7/GN8CWOltNI6YQt1wWfV8HAeZsBL0= -github.com/openshift/kubernetes/staging/src/k8s.io/kube-aggregator v0.0.0-20240723170835-32f817d75efe/go.mod h1:7hfZ7cyZVEhjx05sfgirc1Cyn7Zs13I/Ez+wf8ebC6k= -github.com/openshift/kubernetes/staging/src/k8s.io/kube-scheduler v0.0.0-20240723170835-32f817d75efe h1:G+TYieWhrJU1AQWJt6HWNKKPk3MymOWDSTR9NQ8xz1g= -github.com/openshift/kubernetes/staging/src/k8s.io/kube-scheduler v0.0.0-20240723170835-32f817d75efe/go.mod h1:u+0ulmh57JxGYWB21c/ASuwO5RC17918a0JVIiR7pCo= -github.com/openshift/kubernetes/staging/src/k8s.io/kubectl v0.0.0-20240723170835-32f817d75efe h1:RLXOxbSHtTIi3X0OWfLrc5txvh8Q1lkXwTN0luVNm7I= -github.com/openshift/kubernetes/staging/src/k8s.io/kubectl v0.0.0-20240723170835-32f817d75efe/go.mod h1:hRwIOcm798K6FXiwmRHaB48AI6G4+zfe4PgSjVx+T1M= -github.com/openshift/kubernetes/staging/src/k8s.io/kubelet v0.0.0-20240723170835-32f817d75efe h1:RYahZWIpJT7FXnM1p8252KSpD4M8PponbXxdnlOuuk4= -github.com/openshift/kubernetes/staging/src/k8s.io/kubelet v0.0.0-20240723170835-32f817d75efe/go.mod h1:OsHnKOZ4Zptu9pN2OQQ11EYkYSuH0NZnl2AEoX61olA= -github.com/openshift/kubernetes/staging/src/k8s.io/legacy-cloud-providers v0.0.0-20240723170835-32f817d75efe h1:moQSQ8NIPP6PrfW7Xmnu3niZibw1B6Ew69sEgsYAMoI= -github.com/openshift/kubernetes/staging/src/k8s.io/legacy-cloud-providers v0.0.0-20240723170835-32f817d75efe/go.mod h1:exH43//cgdeBZfetRcsUSRRnLljtAl5AYbDVt/Dm7TE= -github.com/openshift/kubernetes/staging/src/k8s.io/metrics v0.0.0-20240723170835-32f817d75efe h1:4+2YJq2pkQn49i+ZmMvU8CtQWlJ7lNR4ul6m8nVQx5I= -github.com/openshift/kubernetes/staging/src/k8s.io/metrics v0.0.0-20240723170835-32f817d75efe/go.mod h1:9urr7n6L1eYTJxKDjJDFHuya4x6JRdI0pA9o6oj6dZc= -github.com/openshift/kubernetes/staging/src/k8s.io/mount-utils v0.0.0-20240723170835-32f817d75efe h1:Ymn2qGfI1PH4yUOxJGQBEYiXc0ACZovXRA0uIfDCSYM= -github.com/openshift/kubernetes/staging/src/k8s.io/mount-utils v0.0.0-20240723170835-32f817d75efe/go.mod h1:4xH05OdueH2hpDdvzFGddYb+1GoCt/1GzcYN7ci1S14= -github.com/openshift/kubernetes/staging/src/k8s.io/pod-security-admission v0.0.0-20240723170835-32f817d75efe h1:VaRGJauAMQn5tPpbCWlf2HgxOty/Tage2NTPgu9r8uM= -github.com/openshift/kubernetes/staging/src/k8s.io/pod-security-admission v0.0.0-20240723170835-32f817d75efe/go.mod h1:jF2UfCrVeEWQ1IS0JOCvmMtEIJSQDOd2rgwbK7OOHBA= -github.com/openshift/kubernetes/staging/src/k8s.io/sample-apiserver v0.0.0-20240723170835-32f817d75efe h1:CXbcJf1uFisd3DvKEBsTNKUhSdhjF7RdPAKDBlD/YC4= -github.com/openshift/kubernetes/staging/src/k8s.io/sample-apiserver v0.0.0-20240723170835-32f817d75efe/go.mod h1:fSQXzP6IN17btnXiZW0U1mijrodyagZGECe6WsnpWLg= +github.com/openshift/kubernetes v1.30.1-0.20240912105924-ce117ff87249 h1:mwilRAGUeeqYTFigMb624zDiRj3ZoWm6QU/y0m5o/uA= +github.com/openshift/kubernetes v1.30.1-0.20240912105924-ce117ff87249/go.mod h1:ZuY3r8hceVWR+Pa/MI+er0TTCeI6SfOt1usf9wfv72I= +github.com/openshift/kubernetes/staging/src/k8s.io/api v0.0.0-20240912105924-ce117ff87249 h1:1wHM+B1d/JDDU12p1W0TO9+JogTM1youkNei9OrAzGg= +github.com/openshift/kubernetes/staging/src/k8s.io/api v0.0.0-20240912105924-ce117ff87249/go.mod h1:hMUQemCrSBowF7/LZGr+EhP5qHwJimo5aDDjsUUdc6s= +github.com/openshift/kubernetes/staging/src/k8s.io/apiextensions-apiserver v0.0.0-20240912105924-ce117ff87249 h1:NE0w/fPIB+KuMhTeEBdMFDOH6fUZwgjO16OVLX6hIOA= +github.com/openshift/kubernetes/staging/src/k8s.io/apiextensions-apiserver v0.0.0-20240912105924-ce117ff87249/go.mod h1:fAMOb/XmkaxSaGUkmL1JKZ+hsmKdhKlMgTYqNi/74S0= +github.com/openshift/kubernetes/staging/src/k8s.io/apimachinery v0.0.0-20240912105924-ce117ff87249 h1:/oG/84e9vg8EmKPJNZOPzPWBYlttIknNt4qtM9DMu1g= +github.com/openshift/kubernetes/staging/src/k8s.io/apimachinery v0.0.0-20240912105924-ce117ff87249/go.mod h1:2YeOqiALpKSAxO0DpeDw8rvpwfc/TWeluLxX4Uo+d5E= +github.com/openshift/kubernetes/staging/src/k8s.io/apiserver v0.0.0-20240912105924-ce117ff87249 h1:ElmB29+X0WOnS4QT4vAAnkfjBhlZIL+l3hEGQnVmQc4= +github.com/openshift/kubernetes/staging/src/k8s.io/apiserver v0.0.0-20240912105924-ce117ff87249/go.mod h1:mIWh73EEfSz/2Ur5dOCfY0Pz/vU3o23KJn/s9pumqGc= +github.com/openshift/kubernetes/staging/src/k8s.io/cli-runtime v0.0.0-20240912105924-ce117ff87249 h1:AIydvz5SO3yjaYsA1BBFhHuBxtF2hWG3qG6aYVqIU50= +github.com/openshift/kubernetes/staging/src/k8s.io/cli-runtime v0.0.0-20240912105924-ce117ff87249/go.mod h1:Yp9oaQw9PaBJ2Eo44OJBDBAUmVIWIktNuXAQY6x5efM= +github.com/openshift/kubernetes/staging/src/k8s.io/client-go v0.0.0-20240912105924-ce117ff87249 h1:Uyd5Wipnd07F98NS3oVrYjk62d6+C57kErgbuF8xP2M= +github.com/openshift/kubernetes/staging/src/k8s.io/client-go v0.0.0-20240912105924-ce117ff87249/go.mod h1:UAQY4MnAO2dm49/o1uwAdh7MATtIw16tYLZ2UB/1FpM= +github.com/openshift/kubernetes/staging/src/k8s.io/cloud-provider v0.0.0-20240912105924-ce117ff87249 h1:3Li06NQ3i1MPxmTDAcr3SbZjd5uKtbBY9eIbGMM3fuU= +github.com/openshift/kubernetes/staging/src/k8s.io/cloud-provider v0.0.0-20240912105924-ce117ff87249/go.mod h1:uDKkaCyNfEZR63HhLLMB5DxShzg/sc4CT9nZcLw34/M= +github.com/openshift/kubernetes/staging/src/k8s.io/cluster-bootstrap v0.0.0-20240912105924-ce117ff87249 h1:n4WwRUvCInBzhVYOCYGE6zU+ni3f9azJFVARfrdRvyc= +github.com/openshift/kubernetes/staging/src/k8s.io/cluster-bootstrap v0.0.0-20240912105924-ce117ff87249/go.mod h1:R3A7NxutYV6qRcFKMfzQZrzq8aaDipg3oPCshuMv0Wk= +github.com/openshift/kubernetes/staging/src/k8s.io/component-base v0.0.0-20240912105924-ce117ff87249 h1:3ASeipmTse025qZuB13TZiI+eBYXbtCxTOs4CeayH+Y= +github.com/openshift/kubernetes/staging/src/k8s.io/component-base v0.0.0-20240912105924-ce117ff87249/go.mod h1:rquYFomGlvuu8RGyZAboaJxxcwfian65NZ00VUQ5scs= +github.com/openshift/kubernetes/staging/src/k8s.io/component-helpers v0.0.0-20240912105924-ce117ff87249 h1:BK3k8OhPsniMdBPSQcaF68VfD376jG6vvOVN3npH9r0= +github.com/openshift/kubernetes/staging/src/k8s.io/component-helpers v0.0.0-20240912105924-ce117ff87249/go.mod h1:6EedmW880eVD6uU+oghYW6V2bSO9seMLzd/HIRCDFF8= +github.com/openshift/kubernetes/staging/src/k8s.io/controller-manager v0.0.0-20240912105924-ce117ff87249 h1:nnwTOvgt8boC4+aahRgUimivKF9uiSwStwmA9HVT5+g= +github.com/openshift/kubernetes/staging/src/k8s.io/controller-manager v0.0.0-20240912105924-ce117ff87249/go.mod h1:a+tHWi3OVIMSC+jILpzky8HAmgkqfivNXYPNTYyNS6E= +github.com/openshift/kubernetes/staging/src/k8s.io/cri-api v0.0.0-20240912105924-ce117ff87249 h1:EEYgL78aoVWqOPjqr6/MeZ+dRIqVlyAxXIdPnQx6QmU= +github.com/openshift/kubernetes/staging/src/k8s.io/cri-api v0.0.0-20240912105924-ce117ff87249/go.mod h1:/fkfIpAg9LQ3JKsBg3Zqxq1kpwX7uK8K66o573HlRZc= +github.com/openshift/kubernetes/staging/src/k8s.io/csi-translation-lib v0.0.0-20240912105924-ce117ff87249 h1:CyMHabtYmyvwB4UzP/mrtjCJvHjH253cZ1tUZMPPSjA= +github.com/openshift/kubernetes/staging/src/k8s.io/csi-translation-lib v0.0.0-20240912105924-ce117ff87249/go.mod h1:sQvc0rIZUYPdHbbsmBOb72fKHGXBhLs2JBL6Sjr9rkQ= +github.com/openshift/kubernetes/staging/src/k8s.io/dynamic-resource-allocation v0.0.0-20240912105924-ce117ff87249 h1:NR75XKq2CmGd4xbhXfuS6ldT7mAJmJp/V1U/CpFynzc= +github.com/openshift/kubernetes/staging/src/k8s.io/dynamic-resource-allocation v0.0.0-20240912105924-ce117ff87249/go.mod h1:yvRLhVsdMfgNvWYz4rem98PJ9fo3WWd9HsbfKPxKhCo= +github.com/openshift/kubernetes/staging/src/k8s.io/kube-aggregator v0.0.0-20240912105924-ce117ff87249 h1:9EKDRqP21YuCUiOiCaNBEvVC+AjOfNrmxawBdZiv2Ko= +github.com/openshift/kubernetes/staging/src/k8s.io/kube-aggregator v0.0.0-20240912105924-ce117ff87249/go.mod h1:jrGMOd6XyjYE6bhCRzoUIbwUhv5f4q/gpBD7BOMDBEY= +github.com/openshift/kubernetes/staging/src/k8s.io/kube-scheduler v0.0.0-20240912105924-ce117ff87249 h1:kw16v1xLmM7oVLb4/SuFcaHK57e/yI2BzlmJGOOLd94= +github.com/openshift/kubernetes/staging/src/k8s.io/kube-scheduler v0.0.0-20240912105924-ce117ff87249/go.mod h1:u+0ulmh57JxGYWB21c/ASuwO5RC17918a0JVIiR7pCo= +github.com/openshift/kubernetes/staging/src/k8s.io/kubectl v0.0.0-20240912105924-ce117ff87249 h1:g8eCetMfla93nY49TAynZW8XYMb3IOy43/dW4m9dQ1Q= +github.com/openshift/kubernetes/staging/src/k8s.io/kubectl v0.0.0-20240912105924-ce117ff87249/go.mod h1:hRwIOcm798K6FXiwmRHaB48AI6G4+zfe4PgSjVx+T1M= +github.com/openshift/kubernetes/staging/src/k8s.io/kubelet v0.0.0-20240912105924-ce117ff87249 h1:kuxyjuxCkH7WfcF5J7nNopR7ANaxPpTDc/IEFmrvIkc= +github.com/openshift/kubernetes/staging/src/k8s.io/kubelet v0.0.0-20240912105924-ce117ff87249/go.mod h1:OsHnKOZ4Zptu9pN2OQQ11EYkYSuH0NZnl2AEoX61olA= +github.com/openshift/kubernetes/staging/src/k8s.io/legacy-cloud-providers v0.0.0-20240912105924-ce117ff87249 h1:cHy+uKc24gJ2XktUrJ8AykIu323EZaESBfhtWcc7IVo= +github.com/openshift/kubernetes/staging/src/k8s.io/legacy-cloud-providers v0.0.0-20240912105924-ce117ff87249/go.mod h1:exH43//cgdeBZfetRcsUSRRnLljtAl5AYbDVt/Dm7TE= +github.com/openshift/kubernetes/staging/src/k8s.io/metrics v0.0.0-20240912105924-ce117ff87249 h1:tzYahIMGZa26TUI8hmQ68QOAB+eId2orTlFo8OphcX0= +github.com/openshift/kubernetes/staging/src/k8s.io/metrics v0.0.0-20240912105924-ce117ff87249/go.mod h1:9urr7n6L1eYTJxKDjJDFHuya4x6JRdI0pA9o6oj6dZc= +github.com/openshift/kubernetes/staging/src/k8s.io/mount-utils v0.0.0-20240912105924-ce117ff87249 h1:jsG8tdQvg3/pAf1/vHtrdbreEbRfUG8Lowvc7L6GIDQ= +github.com/openshift/kubernetes/staging/src/k8s.io/mount-utils v0.0.0-20240912105924-ce117ff87249/go.mod h1:4xH05OdueH2hpDdvzFGddYb+1GoCt/1GzcYN7ci1S14= +github.com/openshift/kubernetes/staging/src/k8s.io/pod-security-admission v0.0.0-20240912105924-ce117ff87249 h1:VO1q9VORiStQyvMt0G7dOi7pgdcRp4lyqLOpZeIlPG4= +github.com/openshift/kubernetes/staging/src/k8s.io/pod-security-admission v0.0.0-20240912105924-ce117ff87249/go.mod h1:jF2UfCrVeEWQ1IS0JOCvmMtEIJSQDOd2rgwbK7OOHBA= +github.com/openshift/kubernetes/staging/src/k8s.io/sample-apiserver v0.0.0-20240912105924-ce117ff87249 h1:TdTd+kllkOuFpjz9Tb2/YnbPuh23XxqdNQFMkH7E2NY= +github.com/openshift/kubernetes/staging/src/k8s.io/sample-apiserver v0.0.0-20240912105924-ce117ff87249/go.mod h1:fSQXzP6IN17btnXiZW0U1mijrodyagZGECe6WsnpWLg= github.com/openshift/library-go v0.0.0-20240905123346-5bdbfe35a6f5 h1:CyPTfZvr+HvwXbix9kieI55HeFn4a5DBaxJ3DNFinhg= github.com/openshift/library-go v0.0.0-20240905123346-5bdbfe35a6f5/go.mod h1:/wmao3qtqOQ484HDka9cWP7SIvOQOdzpmhyXkF2YdzE= github.com/openshift/onsi-ginkgo/v2 v2.6.1-0.20240314173009-2cd07f4ca53d h1:GDn4rF5hmB+d0tnFcPQhPy1YTooJH6U+HeYYdyjktmI= diff --git a/test/extended/util/image/zz_generated.txt b/test/extended/util/image/zz_generated.txt index a0168d288dde..c8cb56cc0836 100644 --- a/test/extended/util/image/zz_generated.txt +++ b/test/extended/util/image/zz_generated.txt @@ -5,7 +5,7 @@ quay.io/openshifttest/multicast:1.1 quay.io/openshift/community-e2e-images:e2e-q quay.io/redhat-developer/nfs-server:1.1 quay.io/openshift/community-e2e-images:e2e-quay-io-redhat-developer-nfs-server-1-1-dlXGfzrk5aNo8EjC quay.io/redhat-developer/test-build-roots2i:1.2 quay.io/openshift/community-e2e-images:e2e-quay-io-redhat-developer-test-build-roots2i-1-2-gLJ7WcnS2TSllJ32 quay.io/redhat-developer/test-build-simples2i:1.2 quay.io/openshift/community-e2e-images:e2e-quay-io-redhat-developer-test-build-simples2i-1-2-thirLMR-JKplfkmE -registry.k8s.io/build-image/distroless-iptables:v0.5.5 quay.io/openshift/community-e2e-images:e2e-10-registry-k8s-io-build-image-distroless-iptables-v0-5-5-PgsHcNpHj1Cs6Hio +registry.k8s.io/build-image/distroless-iptables:v0.5.6 quay.io/openshift/community-e2e-images:e2e-10-registry-k8s-io-build-image-distroless-iptables-v0-5-6-TxscKfcVmWrZrfF9 registry.k8s.io/cloud-provider-gcp/gcp-compute-persistent-disk-csi-driver:v1.2.2 quay.io/openshift/community-e2e-images:e2e-46-registry-k8s-io-cloud-provider-gcp-gcp-compute-persistent-disk-csi-driver-v1-2-2-fk3Ddr8np00iPF9c registry.k8s.io/cloud-provider-gcp/gcp-compute-persistent-disk-csi-driver:v1.4.0 quay.io/openshift/community-e2e-images:e2e-44-registry-k8s-io-cloud-provider-gcp-gcp-compute-persistent-disk-csi-driver-v1-4-0-mUHHjVVuv0UQiTyf registry.k8s.io/e2e-test-images/agnhost:2.47 quay.io/openshift/community-e2e-images:e2e-1-registry-k8s-io-e2e-test-images-agnhost-2-47-LZRfusN51OgGfP9f diff --git a/vendor/github.com/openshift/apiserver-library-go/pkg/securitycontextconstraints/sysctl/mustmatchpatterns.go b/vendor/github.com/openshift/apiserver-library-go/pkg/securitycontextconstraints/sysctl/mustmatchpatterns.go index 2c9b9e5b0f43..4a67b043c50d 100644 --- a/vendor/github.com/openshift/apiserver-library-go/pkg/securitycontextconstraints/sysctl/mustmatchpatterns.go +++ b/vendor/github.com/openshift/apiserver-library-go/pkg/securitycontextconstraints/sysctl/mustmatchpatterns.go @@ -36,6 +36,10 @@ func SafeSysctlAllowlist() []string { "net.ipv4.tcp_syncookies", "net.ipv4.ping_group_range", "net.ipv4.ip_unprivileged_port_start", + "net.ipv4.tcp_keepalive_time", + "net.ipv4.tcp_fin_timeout", + "net.ipv4.tcp_keepalive_intvl", + "net.ipv4.tcp_keepalive_probes", } } diff --git a/vendor/k8s.io/apiserver/pkg/features/kube_features.go b/vendor/k8s.io/apiserver/pkg/features/kube_features.go index bae04d95458f..31c4d9021862 100644 --- a/vendor/k8s.io/apiserver/pkg/features/kube_features.go +++ b/vendor/k8s.io/apiserver/pkg/features/kube_features.go @@ -335,7 +335,7 @@ var defaultKubernetesFeatureGates = map[featuregate.Feature]featuregate.FeatureS APIServerTracing: {Default: true, PreRelease: featuregate.Beta}, - APIServingWithRoutine: {Default: true, PreRelease: featuregate.Beta}, + APIServingWithRoutine: {Default: false, PreRelease: featuregate.Alpha}, ValidatingAdmissionPolicy: {Default: true, PreRelease: featuregate.GA, LockToDefault: true}, // remove in 1.32 diff --git a/vendor/k8s.io/apiserver/pkg/server/dynamiccertificates/dynamic_cafile_content.go b/vendor/k8s.io/apiserver/pkg/server/dynamiccertificates/dynamic_cafile_content.go index 75bc49e99314..614602f8ecba 100644 --- a/vendor/k8s.io/apiserver/pkg/server/dynamiccertificates/dynamic_cafile_content.go +++ b/vendor/k8s.io/apiserver/pkg/server/dynamiccertificates/dynamic_cafile_content.go @@ -20,6 +20,7 @@ import ( "bytes" "context" "crypto/x509" + "errors" "fmt" "os" "sync/atomic" @@ -207,7 +208,7 @@ func (c *DynamicFileCAContent) handleWatchEvent(e fsnotify.Event, w *fsnotify.Wa if !e.Has(fsnotify.Remove) && !e.Has(fsnotify.Rename) { return nil } - if err := w.Remove(c.filename); err != nil { + if err := w.Remove(c.filename); err != nil && !errors.Is(err, fsnotify.ErrNonExistentWatch) { klog.InfoS("Failed to remove file watch, it may have been deleted", "file", c.filename, "err", err) } if err := w.Add(c.filename); err != nil { diff --git a/vendor/k8s.io/apiserver/pkg/server/patch_genericapiserver.go b/vendor/k8s.io/apiserver/pkg/server/patch_genericapiserver.go index ac1ea0d7d42d..a84494b1982d 100644 --- a/vendor/k8s.io/apiserver/pkg/server/patch_genericapiserver.go +++ b/vendor/k8s.io/apiserver/pkg/server/patch_genericapiserver.go @@ -32,6 +32,7 @@ import ( corev1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/types" + "k8s.io/apiserver/pkg/audit" v1 "k8s.io/client-go/kubernetes/typed/core/v1" "k8s.io/klog/v2" netutils "k8s.io/utils/net" @@ -196,8 +197,10 @@ func WithLateConnectionFilter(handler http.Handler) http.Handler { if late { if pth := "/" + strings.TrimLeft(r.URL.Path, "/"); pth != "/readyz" && pth != "/healthz" && pth != "/livez" { if isLocal(r) { + audit.AddAuditAnnotation(r.Context(), "openshift.io/during-graceful", fmt.Sprintf("loopback=true,%v,readyz=false", r.URL.Host)) klog.V(4).Infof("Loopback request to %q (user agent %q) through connection created very late in the graceful termination process (more than 80%% has passed). This client probably does not watch /readyz and might get failures when termination is over.", r.URL.Path, r.UserAgent()) } else { + audit.AddAuditAnnotation(r.Context(), "openshift.io/during-graceful", fmt.Sprintf("loopback=false,%v,readyz=false", r.URL.Host)) klog.Warningf("Request to %q (source IP %s, user agent %q) through a connection created very late in the graceful termination process (more than 80%% has passed), possibly a sign for a broken load balancer setup.", r.URL.Path, r.RemoteAddr, r.UserAgent()) // create only one event to avoid event spam. @@ -234,9 +237,11 @@ func WithNonReadyRequestLogging(handler http.Handler, hasBeenReadySignal lifecyc if pth := "/" + strings.TrimLeft(r.URL.Path, "/"); pth != "/readyz" && pth != "/healthz" && pth != "/livez" { if isLocal(r) { if !isKubeApiserverLoopBack(r) { + audit.AddAuditAnnotation(r.Context(), "openshift.io/unready", fmt.Sprintf("loopback=true,%v,readyz=false", r.URL.Host)) klog.V(2).Infof("Loopback request to %q (user agent %q) before server is ready. This client probably does not watch /readyz and might get inconsistent answers.", r.URL.Path, r.UserAgent()) } } else { + audit.AddAuditAnnotation(r.Context(), "openshift.io/unready", fmt.Sprintf("loopback=false,%v,readyz=false", r.URL.Host)) klog.Warningf("Request to %q (source IP %s, user agent %q) before server is ready, possibly a sign for a broken load balancer setup.", r.URL.Path, r.RemoteAddr, r.UserAgent()) // create only one event to avoid event spam. diff --git a/vendor/k8s.io/apiserver/pkg/storage/etcd3/etcd3retry/retry_etcdclient.go b/vendor/k8s.io/apiserver/pkg/storage/etcd3/etcd3retry/retry_etcdclient.go index 12bd733f3d70..86d513426302 100644 --- a/vendor/k8s.io/apiserver/pkg/storage/etcd3/etcd3retry/retry_etcdclient.go +++ b/vendor/k8s.io/apiserver/pkg/storage/etcd3/etcd3retry/retry_etcdclient.go @@ -15,7 +15,7 @@ import ( "k8s.io/klog/v2" ) -var defaultRetry = wait.Backoff{ +var DefaultRetry = wait.Backoff{ Duration: 300 * time.Millisecond, Factor: 2, // double the timeout for every failure Jitter: 0.1, @@ -36,7 +36,7 @@ func NewRetryingEtcdStorage(delegate storage.Interface) storage.Interface { // in seconds (0 means forever). If no error is returned and out is not nil, out will be // set to the read value from database. func (c *retryClient) Create(ctx context.Context, key string, obj, out runtime.Object, ttl uint64) error { - return onError(ctx, defaultRetry, isRetriableEtcdError, func() error { + return OnError(ctx, DefaultRetry, IsRetriableEtcdError, func() error { return c.Interface.Create(ctx, key, obj, out, ttl) }) } @@ -44,7 +44,7 @@ func (c *retryClient) Create(ctx context.Context, key string, obj, out runtime.O // Delete removes the specified key and returns the value that existed at that spot. // If key didn't exist, it will return NotFound storage error. func (c *retryClient) Delete(ctx context.Context, key string, out runtime.Object, preconditions *storage.Preconditions, validateDeletion storage.ValidateObjectFunc, cachedExistingObject runtime.Object) error { - return onError(ctx, defaultRetry, isRetriableEtcdError, func() error { + return OnError(ctx, DefaultRetry, IsRetriableEtcdError, func() error { return c.Interface.Delete(ctx, key, out, preconditions, validateDeletion, cachedExistingObject) }) } @@ -58,7 +58,7 @@ func (c *retryClient) Delete(ctx context.Context, key string, out runtime.Object // and send it in an "ADDED" event, before watch starts. func (c *retryClient) Watch(ctx context.Context, key string, opts storage.ListOptions) (watch.Interface, error) { var ret watch.Interface - err := onError(ctx, defaultRetry, isRetriableEtcdError, func() error { + err := OnError(ctx, DefaultRetry, IsRetriableEtcdError, func() error { var innerErr error ret, innerErr = c.Interface.Watch(ctx, key, opts) return innerErr @@ -72,7 +72,7 @@ func (c *retryClient) Watch(ctx context.Context, key string, opts storage.ListOp // The returned contents may be delayed, but it is guaranteed that they will // match 'opts.ResourceVersion' according 'opts.ResourceVersionMatch'. func (c *retryClient) Get(ctx context.Context, key string, opts storage.GetOptions, objPtr runtime.Object) error { - return onError(ctx, defaultRetry, isRetriableEtcdError, func() error { + return OnError(ctx, DefaultRetry, IsRetriableEtcdError, func() error { return c.Interface.Get(ctx, key, opts, objPtr) }) } @@ -84,7 +84,7 @@ func (c *retryClient) Get(ctx context.Context, key string, opts storage.GetOptio // The returned contents may be delayed, but it is guaranteed that they will // match 'opts.ResourceVersion' according 'opts.ResourceVersionMatch'. func (c *retryClient) GetList(ctx context.Context, key string, opts storage.ListOptions, listObj runtime.Object) error { - return onError(ctx, defaultRetry, isRetriableEtcdError, func() error { + return OnError(ctx, DefaultRetry, IsRetriableEtcdError, func() error { return c.Interface.GetList(ctx, key, opts, listObj) }) } @@ -125,14 +125,14 @@ func (c *retryClient) GetList(ctx context.Context, key string, opts storage.List // ) func (c *retryClient) GuaranteedUpdate(ctx context.Context, key string, destination runtime.Object, ignoreNotFound bool, preconditions *storage.Preconditions, tryUpdate storage.UpdateFunc, cachedExistingObject runtime.Object) error { - return onError(ctx, defaultRetry, isRetriableEtcdError, func() error { + return OnError(ctx, DefaultRetry, IsRetriableEtcdError, func() error { return c.Interface.GuaranteedUpdate(ctx, key, destination, ignoreNotFound, preconditions, tryUpdate, cachedExistingObject) }) } -// isRetriableEtcdError returns true if a retry should be attempted, otherwise false. +// IsRetriableEtcdError returns true if a retry should be attempted, otherwise false. // errorLabel is set to a non-empty value that reflects the type of error encountered. -func isRetriableEtcdError(err error) (errorLabel string, retry bool) { +func IsRetriableEtcdError(err error) (errorLabel string, retry bool) { if err != nil { if etcdError, ok := etcdrpc.Error(err).(etcdrpc.EtcdError); ok { if etcdError.Code() == codes.Unavailable { @@ -144,10 +144,10 @@ func isRetriableEtcdError(err error) (errorLabel string, retry bool) { return } -// onError allows the caller to retry fn in case the error returned by fn is retriable +// OnError allows the caller to retry fn in case the error returned by fn is retriable // according to the provided function. backoff defines the maximum retries and the wait // interval between two retries. -func onError(ctx context.Context, backoff wait.Backoff, retriable func(error) (string, bool), fn func() error) error { +func OnError(ctx context.Context, backoff wait.Backoff, retriable func(error) (string, bool), fn func() error) error { var lastErr error var lastErrLabel string var retry bool diff --git a/vendor/k8s.io/apiserver/pkg/storage/storagebackend/factory/etcd3.go b/vendor/k8s.io/apiserver/pkg/storage/storagebackend/factory/etcd3.go index 32119664147b..146c5f9a7229 100644 --- a/vendor/k8s.io/apiserver/pkg/storage/storagebackend/factory/etcd3.go +++ b/vendor/k8s.io/apiserver/pkg/storage/storagebackend/factory/etcd3.go @@ -155,13 +155,13 @@ func newETCD3Check(c storagebackend.Config, timeout time.Duration, stopCh <-chan // retry in a loop in the background until we successfully create the client, storing the client or error encountered lock := sync.RWMutex{} - var prober *etcd3ProberMonitor + var prober *etcd3RetryingProberMonitor clientErr := fmt.Errorf("etcd client connection not yet established") go wait.PollImmediateUntil(time.Second, func() (bool, error) { lock.Lock() defer lock.Unlock() - newProber, err := newETCD3ProberMonitor(c) + newProber, err := newRetryingETCD3ProberMonitor(c) // Ensure that server is already not shutting down. select { case <-stopCh: diff --git a/vendor/k8s.io/apiserver/pkg/storage/storagebackend/factory/factory.go b/vendor/k8s.io/apiserver/pkg/storage/storagebackend/factory/factory.go index 2bf3727e8a77..0967a84cbe83 100644 --- a/vendor/k8s.io/apiserver/pkg/storage/storagebackend/factory/factory.go +++ b/vendor/k8s.io/apiserver/pkg/storage/storagebackend/factory/factory.go @@ -69,7 +69,7 @@ func CreateProber(c storagebackend.Config) (Prober, error) { case storagebackend.StorageTypeETCD2: return nil, fmt.Errorf("%s is no longer a supported storage backend", c.Type) case storagebackend.StorageTypeUnset, storagebackend.StorageTypeETCD3: - return newETCD3ProberMonitor(c) + return newRetryingETCD3ProberMonitor(c) default: return nil, fmt.Errorf("unknown storage type: %s", c.Type) } @@ -80,7 +80,7 @@ func CreateMonitor(c storagebackend.Config) (metrics.Monitor, error) { case storagebackend.StorageTypeETCD2: return nil, fmt.Errorf("%s is no longer a supported storage backend", c.Type) case storagebackend.StorageTypeUnset, storagebackend.StorageTypeETCD3: - return newETCD3ProberMonitor(c) + return newRetryingETCD3ProberMonitor(c) default: return nil, fmt.Errorf("unknown storage type: %s", c.Type) } diff --git a/vendor/k8s.io/apiserver/pkg/storage/storagebackend/factory/retry_etcdprobemonitor.go b/vendor/k8s.io/apiserver/pkg/storage/storagebackend/factory/retry_etcdprobemonitor.go new file mode 100644 index 000000000000..ab210464f50f --- /dev/null +++ b/vendor/k8s.io/apiserver/pkg/storage/storagebackend/factory/retry_etcdprobemonitor.go @@ -0,0 +1,46 @@ +package factory + +import ( + "context" + + "k8s.io/apiserver/pkg/storage/etcd3/etcd3retry" + "k8s.io/apiserver/pkg/storage/etcd3/metrics" + "k8s.io/apiserver/pkg/storage/storagebackend" +) + +type proberMonitor interface { + Prober + metrics.Monitor +} + +type etcd3RetryingProberMonitor struct { + delegate proberMonitor +} + +func newRetryingETCD3ProberMonitor(c storagebackend.Config) (*etcd3RetryingProberMonitor, error) { + delegate, err := newETCD3ProberMonitor(c) + if err != nil { + return nil, err + } + return &etcd3RetryingProberMonitor{delegate: delegate}, nil +} + +func (t *etcd3RetryingProberMonitor) Probe(ctx context.Context) error { + return etcd3retry.OnError(ctx, etcd3retry.DefaultRetry, etcd3retry.IsRetriableEtcdError, func() error { + return t.delegate.Probe(ctx) + }) +} + +func (t *etcd3RetryingProberMonitor) Monitor(ctx context.Context) (metrics.StorageMetrics, error) { + var ret metrics.StorageMetrics + err := etcd3retry.OnError(ctx, etcd3retry.DefaultRetry, etcd3retry.IsRetriableEtcdError, func() error { + var innerErr error + ret, innerErr = t.delegate.Monitor(ctx) + return innerErr + }) + return ret, err +} + +func (t *etcd3RetryingProberMonitor) Close() error { + return t.delegate.Close() +} diff --git a/vendor/k8s.io/kubernetes/openshift-hack/e2e/annotate/generated/zz_generated.annotations.go b/vendor/k8s.io/kubernetes/openshift-hack/e2e/annotate/generated/zz_generated.annotations.go index 13fdf328e52e..761c26c9bc11 100644 --- a/vendor/k8s.io/kubernetes/openshift-hack/e2e/annotate/generated/zz_generated.annotations.go +++ b/vendor/k8s.io/kubernetes/openshift-hack/e2e/annotate/generated/zz_generated.annotations.go @@ -207,7 +207,7 @@ var Annotations = map[string]string{ "[sig-api-machinery] Namespaces [Serial] should patch a Namespace [Conformance]": " [Suite:openshift/conformance/serial/minimal] [Suite:k8s]", - "[sig-api-machinery] OpenAPIV3 should contain OpenAPI V3 for Aggregated APIServer": " [Suite:openshift/conformance/parallel] [Suite:k8s]", + "[sig-api-machinery] OpenAPIV3 should contain OpenAPI V3 for Aggregated APIServer [Serial]": " [Suite:openshift/conformance/serial] [Suite:k8s]", "[sig-api-machinery] OpenAPIV3 should publish OpenAPI V3 for CustomResourceDefinition": " [Suite:openshift/conformance/parallel] [Suite:k8s]", diff --git a/vendor/k8s.io/kubernetes/pkg/controller/job/success_policy.go b/vendor/k8s.io/kubernetes/pkg/controller/job/success_policy.go index 9fe5ea83fe47..c70c1d3289d4 100644 --- a/vendor/k8s.io/kubernetes/pkg/controller/job/success_policy.go +++ b/vendor/k8s.io/kubernetes/pkg/controller/job/success_policy.go @@ -27,7 +27,7 @@ import ( ) func matchSuccessPolicy(logger klog.Logger, successPolicy *batch.SuccessPolicy, completions int32, succeededIndexes orderedIntervals) (string, bool) { - if successPolicy == nil || len(succeededIndexes) == 0 { + if !feature.DefaultFeatureGate.Enabled(features.JobSuccessPolicy) || successPolicy == nil || len(succeededIndexes) == 0 { return "", false } diff --git a/vendor/k8s.io/kubernetes/pkg/features/kube_features.go b/vendor/k8s.io/kubernetes/pkg/features/kube_features.go index 6b0dda7bce2e..fefb5cb6d853 100644 --- a/vendor/k8s.io/kubernetes/pkg/features/kube_features.go +++ b/vendor/k8s.io/kubernetes/pkg/features/kube_features.go @@ -1268,7 +1268,7 @@ var defaultKubernetesFeatureGates = map[featuregate.Feature]featuregate.FeatureS genericfeatures.APIServerTracing: {Default: true, PreRelease: featuregate.Beta}, - genericfeatures.APIServingWithRoutine: {Default: true, PreRelease: featuregate.Beta}, + genericfeatures.APIServingWithRoutine: {Default: false, PreRelease: featuregate.Alpha}, genericfeatures.ConsistentListFromCache: {Default: false, PreRelease: featuregate.Alpha}, diff --git a/vendor/k8s.io/kubernetes/pkg/kubelet/kubelet.go b/vendor/k8s.io/kubernetes/pkg/kubelet/kubelet.go index 9e1c4aa41038..1531528a5f27 100644 --- a/vendor/k8s.io/kubernetes/pkg/kubelet/kubelet.go +++ b/vendor/k8s.io/kubernetes/pkg/kubelet/kubelet.go @@ -39,8 +39,9 @@ import ( semconv "go.opentelemetry.io/otel/semconv/v1.12.0" "go.opentelemetry.io/otel/trace" "k8s.io/client-go/informers" - "k8s.io/mount-utils" + + utilfs "k8s.io/kubernetes/pkg/util/filesystem" netutils "k8s.io/utils/net" v1 "k8s.io/api/core/v1" @@ -1407,7 +1408,7 @@ func (kl *Kubelet) setupDataDirs() error { if err := os.MkdirAll(kl.getRootDir(), 0750); err != nil { return fmt.Errorf("error creating root directory: %v", err) } - if err := os.MkdirAll(kl.getPodLogsDir(), 0750); err != nil { + if err := utilfs.MkdirAll(kl.getPodLogsDir(), 0750); err != nil { return fmt.Errorf("error creating pod logs root directory %q: %w", kl.getPodLogsDir(), err) } if err := kl.hostutil.MakeRShared(kl.getRootDir()); err != nil { @@ -1416,17 +1417,17 @@ func (kl *Kubelet) setupDataDirs() error { if err := os.MkdirAll(kl.getPodsDir(), 0750); err != nil { return fmt.Errorf("error creating pods directory: %v", err) } - if err := os.MkdirAll(kl.getPluginsDir(), 0750); err != nil { + if err := utilfs.MkdirAll(kl.getPluginsDir(), 0750); err != nil { return fmt.Errorf("error creating plugins directory: %v", err) } - if err := os.MkdirAll(kl.getPluginsRegistrationDir(), 0750); err != nil { + if err := utilfs.MkdirAll(kl.getPluginsRegistrationDir(), 0750); err != nil { return fmt.Errorf("error creating plugins registry directory: %v", err) } if err := os.MkdirAll(kl.getPodResourcesDir(), 0750); err != nil { return fmt.Errorf("error creating podresources directory: %v", err) } if utilfeature.DefaultFeatureGate.Enabled(features.ContainerCheckpoint) { - if err := os.MkdirAll(kl.getCheckpointsDir(), 0700); err != nil { + if err := utilfs.MkdirAll(kl.getCheckpointsDir(), 0700); err != nil { return fmt.Errorf("error creating checkpoint directory: %v", err) } } @@ -1519,6 +1520,14 @@ func (kl *Kubelet) initializeModules() error { } } + if sysruntime.GOOS == "windows" { + // On Windows we should not allow other users to read the logs directory + // to avoid allowing non-root containers from reading the logs of other containers. + if err := utilfs.Chmod(ContainerLogsDir, 0750); err != nil { + return fmt.Errorf("failed to set permissions on directory %q: %w", ContainerLogsDir, err) + } + } + // Start the image manager. kl.imageManager.Start() diff --git a/vendor/k8s.io/kubernetes/pkg/scheduler/internal/queue/scheduling_queue.go b/vendor/k8s.io/kubernetes/pkg/scheduler/internal/queue/scheduling_queue.go index 93a8333a4a5f..74193b837a0b 100644 --- a/vendor/k8s.io/kubernetes/pkg/scheduler/internal/queue/scheduling_queue.go +++ b/vendor/k8s.io/kubernetes/pkg/scheduler/internal/queue/scheduling_queue.go @@ -47,6 +47,7 @@ import ( "k8s.io/kubernetes/pkg/features" "k8s.io/kubernetes/pkg/scheduler/framework" "k8s.io/kubernetes/pkg/scheduler/framework/plugins/interpodaffinity" + "k8s.io/kubernetes/pkg/scheduler/framework/plugins/names" "k8s.io/kubernetes/pkg/scheduler/internal/heap" "k8s.io/kubernetes/pkg/scheduler/metrics" "k8s.io/kubernetes/pkg/scheduler/util" @@ -1175,11 +1176,25 @@ func (p *PriorityQueue) movePodsToActiveOrBackoffQueue(logger klog.Logger, podIn activated := false for _, pInfo := range podInfoList { - // Since there may be many gated pods and they will not move from the - // unschedulable pool, we skip calling the expensive isPodWorthRequeueing. - if pInfo.Gated { + // When handling events takes time, a scheduling throughput gets impacted negatively + // because of a shared lock within PriorityQueue, which Pop() also requires. + // + // Scheduling-gated Pods never get schedulable with any events, + // except the Pods themselves got updated, which isn't handled by movePodsToActiveOrBackoffQueue. + // So, we can skip them early here so that they don't go through isPodWorthRequeuing, + // which isn't fast enough to keep a sufficient scheduling throughput + // when the number of scheduling-gated Pods in unschedulablePods is large. + // https://github.com/kubernetes/kubernetes/issues/124384 + // This is a hotfix for this issue, which might be changed + // once we have a better general solution for the shared lock issue. + // + // Note that we cannot skip all pInfo.Gated Pods here + // because PreEnqueue plugins apart from the scheduling gate plugin may change the gating status + // with these events. + if pInfo.Gated && pInfo.UnschedulablePlugins.Has(names.SchedulingGates) { continue } + schedulingHint := p.isPodWorthRequeuing(logger, pInfo, event, oldObj, newObj) if schedulingHint == queueSkip { // QueueingHintFn determined that this Pod isn't worth putting to activeQ or backoffQ by this event. diff --git a/vendor/k8s.io/kubernetes/pkg/securitycontext/util.go b/vendor/k8s.io/kubernetes/pkg/securitycontext/util.go index 5895df0c7183..28771b6df27c 100644 --- a/vendor/k8s.io/kubernetes/pkg/securitycontext/util.go +++ b/vendor/k8s.io/kubernetes/pkg/securitycontext/util.go @@ -188,7 +188,7 @@ func AddNoNewPrivileges(sc *v1.SecurityContext) bool { var ( // These *must* be kept in sync with moby/moby. - // https://github.com/moby/moby/blob/master/oci/defaults.go#L105-L123 + // https://github.com/moby/moby/blob/master/oci/defaults.go#L105-L124 // @jessfraz will watch changes to those files upstream. defaultMaskedPaths = []string{ "/proc/asound", @@ -201,6 +201,7 @@ var ( "/proc/sched_debug", "/proc/scsi", "/sys/firmware", + "/sys/devices/virtual/powercap", } defaultReadonlyPaths = []string{ "/proc/bus", diff --git a/vendor/k8s.io/kubernetes/pkg/util/filesystem/defaultfs.go b/vendor/k8s.io/kubernetes/pkg/util/filesystem/defaultfs.go index 39673a958996..ef99bd3bc46a 100644 --- a/vendor/k8s.io/kubernetes/pkg/util/filesystem/defaultfs.go +++ b/vendor/k8s.io/kubernetes/pkg/util/filesystem/defaultfs.go @@ -72,9 +72,8 @@ func (fs *DefaultFs) Rename(oldpath, newpath string) error { return os.Rename(oldpath, newpath) } -// MkdirAll via os.MkdirAll func (fs *DefaultFs) MkdirAll(path string, perm os.FileMode) error { - return os.MkdirAll(fs.prefix(path), perm) + return MkdirAll(fs.prefix(path), perm) } // MkdirAllWithPathCheck checks if path exists already. If not, it creates a directory @@ -97,7 +96,7 @@ func MkdirAllWithPathCheck(path string, perm os.FileMode) error { return fmt.Errorf("path %v exists but is not a directory", path) } // If existence of path not known, attempt to create it. - if err := os.MkdirAll(path, perm); err != nil { + if err := MkdirAll(path, perm); err != nil { return err } return nil diff --git a/vendor/k8s.io/kubernetes/pkg/util/filesystem/util_unix.go b/vendor/k8s.io/kubernetes/pkg/util/filesystem/util_unix.go index 863deb0f9cc7..d27d2640f33e 100644 --- a/vendor/k8s.io/kubernetes/pkg/util/filesystem/util_unix.go +++ b/vendor/k8s.io/kubernetes/pkg/util/filesystem/util_unix.go @@ -37,6 +37,16 @@ func IsUnixDomainSocket(filePath string) (bool, error) { return true, nil } +// Chmod is the same as os.Chmod on Unix. +func Chmod(name string, mode os.FileMode) error { + return os.Chmod(name, mode) +} + +// MkdirAll is same as os.MkdirAll on Unix. +func MkdirAll(path string, perm os.FileMode) error { + return os.MkdirAll(path, perm) +} + // IsAbs is same as filepath.IsAbs on Unix. func IsAbs(path string) bool { return filepath.IsAbs(path) diff --git a/vendor/k8s.io/kubernetes/pkg/util/filesystem/util_windows.go b/vendor/k8s.io/kubernetes/pkg/util/filesystem/util_windows.go index 459477d36e76..5cdc586d61e0 100644 --- a/vendor/k8s.io/kubernetes/pkg/util/filesystem/util_windows.go +++ b/vendor/k8s.io/kubernetes/pkg/util/filesystem/util_windows.go @@ -29,6 +29,8 @@ import ( "k8s.io/apimachinery/pkg/util/wait" "k8s.io/klog/v2" + + "golang.org/x/sys/windows" ) const ( @@ -88,6 +90,160 @@ func IsUnixDomainSocket(filePath string) (bool, error) { return true, nil } +// On Windows os.Mkdir all doesn't set any permissions so call the Chown function below to set +// permissions once the directory is created. +func MkdirAll(path string, perm os.FileMode) error { + klog.V(6).InfoS("Function MkdirAll starts", "path", path, "perm", perm) + err := os.MkdirAll(path, perm) + if err != nil { + return fmt.Errorf("Error creating directory %s: %v", path, err) + } + + err = Chmod(path, perm) + if err != nil { + return fmt.Errorf("Error setting permissions for directory %s: %v", path, err) + } + + return nil +} + +const ( + // These aren't defined in the syscall package for Windows :( + USER_READ = 0x100 + USER_WRITE = 0x80 + USER_EXECUTE = 0x40 + GROUP_READ = 0x20 + GROUP_WRITE = 0x10 + GROUP_EXECUTE = 0x8 + OTHERS_READ = 0x4 + OTHERS_WRITE = 0x2 + OTHERS_EXECUTE = 0x1 + USER_ALL = USER_READ | USER_WRITE | USER_EXECUTE + GROUP_ALL = GROUP_READ | GROUP_WRITE | GROUP_EXECUTE + OTHERS_ALL = OTHERS_READ | OTHERS_WRITE | OTHERS_EXECUTE +) + +// On Windows os.Chmod only sets the read-only flag on files, so we need to use Windows APIs to set the desired access on files / directories. +// The OWNER mode will set file permissions for the file owner SID, the GROUP mode will set file permissions for the file group SID, +// and the OTHERS mode will set file permissions for BUILTIN\Users. +// Please note that Windows containers can be run as one of two user accounts; ContainerUser or ContainerAdministrator. +// Containers run as ContainerAdministrator will inherit permissions from BUILTIN\Administrators, +// while containers run as ContainerUser will inherit permissions from BUILTIN\Users. +// Windows containers do not have the ability to run as a custom user account that is known to the host so the OTHERS group mode +// is used to grant / deny permissions of files on the hosts to the ContainerUser account. +func Chmod(path string, filemode os.FileMode) error { + klog.V(6).InfoS("Function Chmod starts", "path", path, "filemode", filemode) + // Get security descriptor for the file + sd, err := windows.GetNamedSecurityInfo( + path, + windows.SE_FILE_OBJECT, + windows.DACL_SECURITY_INFORMATION|windows.PROTECTED_DACL_SECURITY_INFORMATION|windows.OWNER_SECURITY_INFORMATION|windows.GROUP_SECURITY_INFORMATION) + if err != nil { + return fmt.Errorf("Error getting security descriptor for file %s: %v", path, err) + } + + // Get owner SID from the security descriptor for assigning USER permissions + owner, _, err := sd.Owner() + if err != nil { + return fmt.Errorf("Error getting owner SID for file %s: %v", path, err) + } + ownerString := owner.String() + + // Get the group SID from the security descriptor for assigning GROUP permissions + group, _, err := sd.Group() + if err != nil { + return fmt.Errorf("Error getting group SID for file %s: %v", path, err) + } + groupString := group.String() + + mask := uint32(windows.ACCESS_MASK(filemode)) + + // Build a new Discretionary Access Control List (DACL) with the desired permissions using + //the Security Descriptor Definition Language (SDDL) format. + // https://learn.microsoft.com/windows/win32/secauthz/security-descriptor-definition-language + // the DACL is a list of Access Control Entries (ACEs) where each ACE represents the permissions (Allow or Deny) for a specific SID. + // Each ACE has the following format: + // (AceType;AceFlags;Rights;ObjectGuid;InheritObjectGuid;AccountSid) + // We can leave ObjectGuid and InheritObjectGuid empty for our purposes. + + dacl := "D:" + + // build the owner ACE + dacl += "(A;OICI;" + if mask&USER_ALL == USER_ALL { + dacl += "FA" + } else { + if mask&USER_READ == USER_READ { + dacl += "FR" + } + if mask&USER_WRITE == USER_WRITE { + dacl += "FW" + } + if mask&USER_EXECUTE == USER_EXECUTE { + dacl += "FX" + } + } + dacl += ";;;" + ownerString + ")" + + // Build the group ACE + dacl += "(A;OICI;" + if mask&GROUP_ALL == GROUP_ALL { + dacl += "FA" + } else { + if mask&GROUP_READ == GROUP_READ { + dacl += "FR" + } + if mask&GROUP_WRITE == GROUP_WRITE { + dacl += "FW" + } + if mask&GROUP_EXECUTE == GROUP_EXECUTE { + dacl += "FX" + } + } + dacl += ";;;" + groupString + ")" + + // Build the others ACE + dacl += "(A;OICI;" + if mask&OTHERS_ALL == OTHERS_ALL { + dacl += "FA" + } else { + if mask&OTHERS_READ == OTHERS_READ { + dacl += "FR" + } + if mask&OTHERS_WRITE == OTHERS_WRITE { + dacl += "FW" + } + if mask&OTHERS_EXECUTE == OTHERS_EXECUTE { + dacl += "FX" + } + } + dacl += ";;;BU)" + + klog.V(6).InfoS("Setting new DACL for path", "path", path, "dacl", dacl) + + // create a new security descriptor from the DACL string + newSD, err := windows.SecurityDescriptorFromString(dacl) + if err != nil { + return fmt.Errorf("Error creating new security descriptor from DACL string: %v", err) + } + + // get the DACL in binary format from the newly created security descriptor + newDACL, _, err := newSD.DACL() + if err != nil { + return fmt.Errorf("Error getting DACL from new security descriptor: %v", err) + } + + // Write the new security descriptor to the file + return windows.SetNamedSecurityInfo( + path, + windows.SE_FILE_OBJECT, + windows.DACL_SECURITY_INFORMATION|windows.PROTECTED_DACL_SECURITY_INFORMATION, + nil, // owner SID + nil, // group SID + newDACL, + nil) // SACL +} + // IsAbs returns whether the given path is absolute or not. // On Windows, filepath.IsAbs will not return True for paths prefixed with a slash, even // though they can be used as absolute paths (https://docs.microsoft.com/en-us/dotnet/standard/io/file-path-formats). diff --git a/vendor/k8s.io/kubernetes/pkg/volume/git_repo/git_repo.go b/vendor/k8s.io/kubernetes/pkg/volume/git_repo/git_repo.go index 995018d90072..b3827b92ad0f 100644 --- a/vendor/k8s.io/kubernetes/pkg/volume/git_repo/git_repo.go +++ b/vendor/k8s.io/kubernetes/pkg/volume/git_repo/git_repo.go @@ -261,6 +261,12 @@ func validateVolume(src *v1.GitRepoVolumeSource) error { if err := validateNonFlagArgument(src.Directory, "directory"); err != nil { return err } + if (src.Revision != "") && (src.Directory != "") { + cleanedDir := filepath.Clean(src.Directory) + if strings.Contains(cleanedDir, "/") || (strings.Contains(cleanedDir, "\\")) { + return fmt.Errorf("%q is not a valid directory, it must not contain a directory separator", src.Directory) + } + } return nil } diff --git a/vendor/k8s.io/kubernetes/test/e2e/apimachinery/aggregator.go b/vendor/k8s.io/kubernetes/test/e2e/apimachinery/aggregator.go index 8be140274bc7..e0c6e1166bbe 100644 --- a/vendor/k8s.io/kubernetes/test/e2e/apimachinery/aggregator.go +++ b/vendor/k8s.io/kubernetes/test/e2e/apimachinery/aggregator.go @@ -131,6 +131,12 @@ func generateSampleAPIServerObjectNames(namespace string) sampleAPIServerObjectN } } +// SetUpSampleAPIServer sets up a sample-apiserver. +// +// Important: +// Test cases that call this function should be marked as serial due to potential conflicts +// with other test cases that also set up a sample-apiserver. For more information, see +// https://github.com/kubernetes/kubernetes/issues/119582#issuecomment-2215054411. func SetUpSampleAPIServer(ctx context.Context, f *framework.Framework, aggrclient *aggregatorclient.Clientset, image string, n sampleAPIServerObjectNames, apiServiceGroupName, apiServiceVersion string) { ginkgo.By("Registering the sample API server.") client := f.ClientSet diff --git a/vendor/k8s.io/kubernetes/test/e2e/apimachinery/openapiv3.go b/vendor/k8s.io/kubernetes/test/e2e/apimachinery/openapiv3.go index 515e67447449..48ac6d4d53f4 100644 --- a/vendor/k8s.io/kubernetes/test/e2e/apimachinery/openapiv3.go +++ b/vendor/k8s.io/kubernetes/test/e2e/apimachinery/openapiv3.go @@ -171,8 +171,11 @@ var _ = SIGDescribe("OpenAPIV3", func() { Release : v1.27 Testname: OpenAPI V3 Aggregated APIServer Description: Create an Aggregated APIServer. The OpenAPI V3 for the aggregated apiserver MUST be aggregated by the aggregator and published. The specification MUST be round trippable. + + This test case is marked as serial due to potential conflicts with other test cases that set up a sample-apiserver. + For more information, see: https://github.com/kubernetes/kubernetes/issues/119582#issuecomment-2215054411. */ - ginkgo.It("should contain OpenAPI V3 for Aggregated APIServer", func(ctx context.Context) { + f.It("should contain OpenAPI V3 for Aggregated APIServer", f.WithSerial(), func(ctx context.Context) { config, err := framework.LoadConfig() framework.ExpectNoError(err) aggrclient, err := aggregatorclient.NewForConfig(config) diff --git a/vendor/k8s.io/kubernetes/test/e2e/apimachinery/validatingadmissionpolicy.go b/vendor/k8s.io/kubernetes/test/e2e/apimachinery/validatingadmissionpolicy.go index 031635721746..e2fdb3ebe5db 100644 --- a/vendor/k8s.io/kubernetes/test/e2e/apimachinery/validatingadmissionpolicy.go +++ b/vendor/k8s.io/kubernetes/test/e2e/apimachinery/validatingadmissionpolicy.go @@ -367,10 +367,10 @@ var _ = SIGDescribe("ValidatingAdmissionPolicy [Privileged:ClusterAdmin]", func( // If the warnings are empty, touch the policy to retry type checking if len(policy.Status.TypeChecking.ExpressionWarnings) == 0 { applyConfig := applyadmissionregistrationv1.ValidatingAdmissionPolicy(policy.Name).WithLabels(map[string]string{ - "touched": time.Now().String(), - "random": fmt.Sprintf("%d", rand.Int()), + "touched": fmt.Sprintf("a%d", time.Now().UnixMilli()), + "random": fmt.Sprintf("a%d", rand.Int()), }) - _, err := client.AdmissionregistrationV1().ValidatingAdmissionPolicies().Apply(ctx, applyConfig, metav1.ApplyOptions{}) + _, err := client.AdmissionregistrationV1().ValidatingAdmissionPolicies().Apply(ctx, applyConfig, metav1.ApplyOptions{FieldManager: "validatingadmissionpolicy-e2e"}) return false, err } return true, nil diff --git a/vendor/k8s.io/kubernetes/test/e2e/storage/volume_metrics.go b/vendor/k8s.io/kubernetes/test/e2e/storage/volume_metrics.go index 0ad173bd4dab..1e8f3b9bebc9 100644 --- a/vendor/k8s.io/kubernetes/test/e2e/storage/volume_metrics.go +++ b/vendor/k8s.io/kubernetes/test/e2e/storage/volume_metrics.go @@ -283,7 +283,7 @@ var _ = utils.SIGDescribe(framework.WithSerial(), "Volume metrics", func() { pod := makePod(f, pvcBlock, isEphemeral) pod.Spec.Containers[0].VolumeDevices = []v1.VolumeDevice{{ Name: pod.Spec.Volumes[0].Name, - DevicePath: "/mnt/" + pvcBlock.Name, + DevicePath: "/mnt/" + pod.Spec.Volumes[0].Name, }} pod.Spec.Containers[0].VolumeMounts = nil pod, err = c.CoreV1().Pods(ns).Create(ctx, pod, metav1.CreateOptions{}) diff --git a/vendor/k8s.io/kubernetes/test/utils/image/manifest.go b/vendor/k8s.io/kubernetes/test/utils/image/manifest.go index 65691f6f065f..9fae113f4777 100644 --- a/vendor/k8s.io/kubernetes/test/utils/image/manifest.go +++ b/vendor/k8s.io/kubernetes/test/utils/image/manifest.go @@ -237,7 +237,7 @@ func initImageConfigs(list RegistryList) (map[ImageID]Config, map[ImageID]Config configs[BusyBox] = Config{list.PromoterE2eRegistry, "busybox", "1.36.1-1"} configs[CudaVectorAdd] = Config{list.PromoterE2eRegistry, "cuda-vector-add", "1.0"} configs[CudaVectorAdd2] = Config{list.PromoterE2eRegistry, "cuda-vector-add", "2.3"} - configs[DistrolessIptables] = Config{list.BuildImageRegistry, "distroless-iptables", "v0.5.5"} + configs[DistrolessIptables] = Config{list.BuildImageRegistry, "distroless-iptables", "v0.5.6"} configs[Etcd] = Config{list.GcEtcdRegistry, "etcd", "3.5.12-0"} configs[Httpd] = Config{list.PromoterE2eRegistry, "httpd", "2.4.38-4"} configs[HttpdNew] = Config{list.PromoterE2eRegistry, "httpd", "2.4.39-4"} diff --git a/vendor/modules.txt b/vendor/modules.txt index 5e77c066b6fd..aaca3acadd63 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -875,7 +875,7 @@ github.com/openshift/api/template/v1 github.com/openshift/api/unidling/v1alpha1 github.com/openshift/api/user github.com/openshift/api/user/v1 -# github.com/openshift/apiserver-library-go v0.0.0-20240716092710-e88385a79b17 +# github.com/openshift/apiserver-library-go v0.0.0-20240828192036-4d55b6dd978f ## explicit; go 1.22.0 github.com/openshift/apiserver-library-go/pkg/admission/imagepolicy github.com/openshift/apiserver-library-go/pkg/admission/imagepolicy/apis/imagepolicy/v1 @@ -1794,7 +1794,7 @@ gopkg.in/yaml.v2 # gopkg.in/yaml.v3 v3.0.1 ## explicit gopkg.in/yaml.v3 -# k8s.io/api v0.30.2 => github.com/openshift/kubernetes/staging/src/k8s.io/api v0.0.0-20240723170835-32f817d75efe +# k8s.io/api v0.30.2 => github.com/openshift/kubernetes/staging/src/k8s.io/api v0.0.0-20240912105924-ce117ff87249 ## explicit; go 1.22.0 k8s.io/api/admission/v1 k8s.io/api/admission/v1beta1 @@ -1853,7 +1853,7 @@ k8s.io/api/storage/v1 k8s.io/api/storage/v1alpha1 k8s.io/api/storage/v1beta1 k8s.io/api/storagemigration/v1alpha1 -# k8s.io/apiextensions-apiserver v0.30.2 => github.com/openshift/kubernetes/staging/src/k8s.io/apiextensions-apiserver v0.0.0-20240723170835-32f817d75efe +# k8s.io/apiextensions-apiserver v0.30.2 => github.com/openshift/kubernetes/staging/src/k8s.io/apiextensions-apiserver v0.0.0-20240912105924-ce117ff87249 ## explicit; go 1.22.0 k8s.io/apiextensions-apiserver/pkg/apihelpers k8s.io/apiextensions-apiserver/pkg/apis/apiextensions @@ -1903,7 +1903,7 @@ k8s.io/apiextensions-apiserver/pkg/registry/customresource/tableconvertor k8s.io/apiextensions-apiserver/pkg/registry/customresourcedefinition k8s.io/apiextensions-apiserver/test/integration k8s.io/apiextensions-apiserver/test/integration/fixtures -# k8s.io/apimachinery v0.30.2 => github.com/openshift/kubernetes/staging/src/k8s.io/apimachinery v0.0.0-20240723170835-32f817d75efe +# k8s.io/apimachinery v0.30.2 => github.com/openshift/kubernetes/staging/src/k8s.io/apimachinery v0.0.0-20240912105924-ce117ff87249 ## explicit; go 1.22.0 k8s.io/apimachinery/pkg/api/apitesting k8s.io/apimachinery/pkg/api/equality @@ -1972,7 +1972,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.30.2 => github.com/openshift/kubernetes/staging/src/k8s.io/apiserver v0.0.0-20240723170835-32f817d75efe +# k8s.io/apiserver v0.30.2 => github.com/openshift/kubernetes/staging/src/k8s.io/apiserver v0.0.0-20240912105924-ce117ff87249 ## explicit; go 1.22.0 k8s.io/apiserver/pkg/admission k8s.io/apiserver/pkg/admission/configuration @@ -2146,13 +2146,13 @@ 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/apiserver/plugin/pkg/authorizer/webhook/metrics -# k8s.io/cli-runtime v0.30.0 => github.com/openshift/kubernetes/staging/src/k8s.io/cli-runtime v0.0.0-20240723170835-32f817d75efe +# k8s.io/cli-runtime v0.30.0 => github.com/openshift/kubernetes/staging/src/k8s.io/cli-runtime v0.0.0-20240912105924-ce117ff87249 ## explicit; go 1.22.0 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.30.2 => github.com/openshift/kubernetes/staging/src/k8s.io/client-go v0.0.0-20240723170835-32f817d75efe +# k8s.io/client-go v0.30.2 => github.com/openshift/kubernetes/staging/src/k8s.io/client-go v0.0.0-20240912105924-ce117ff87249 ## explicit; go 1.22.0 k8s.io/client-go/applyconfigurations/admissionregistration/v1 k8s.io/client-go/applyconfigurations/admissionregistration/v1alpha1 @@ -2497,7 +2497,7 @@ k8s.io/client-go/util/keyutil k8s.io/client-go/util/retry k8s.io/client-go/util/testing k8s.io/client-go/util/workqueue -# k8s.io/cloud-provider v0.30.2 => github.com/openshift/kubernetes/staging/src/k8s.io/cloud-provider v0.0.0-20240723170835-32f817d75efe +# k8s.io/cloud-provider v0.30.2 => github.com/openshift/kubernetes/staging/src/k8s.io/cloud-provider v0.0.0-20240912105924-ce117ff87249 ## explicit; go 1.22.0 k8s.io/cloud-provider k8s.io/cloud-provider/api @@ -2517,13 +2517,13 @@ 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-20240723170835-32f817d75efe +# k8s.io/cluster-bootstrap v0.0.0 => github.com/openshift/kubernetes/staging/src/k8s.io/cluster-bootstrap v0.0.0-20240912105924-ce117ff87249 ## explicit; go 1.22.0 k8s.io/cluster-bootstrap/token/api k8s.io/cluster-bootstrap/token/util k8s.io/cluster-bootstrap/util/secrets k8s.io/cluster-bootstrap/util/tokens -# k8s.io/component-base v0.30.2 => github.com/openshift/kubernetes/staging/src/k8s.io/component-base v0.0.0-20240723170835-32f817d75efe +# k8s.io/component-base v0.30.2 => github.com/openshift/kubernetes/staging/src/k8s.io/component-base v0.0.0-20240912105924-ce117ff87249 ## explicit; go 1.22.0 k8s.io/component-base/cli/flag k8s.io/component-base/cli/globalflag @@ -2553,7 +2553,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.30.2 => github.com/openshift/kubernetes/staging/src/k8s.io/component-helpers v0.0.0-20240723170835-32f817d75efe +# k8s.io/component-helpers v0.30.2 => github.com/openshift/kubernetes/staging/src/k8s.io/component-helpers v0.0.0-20240912105924-ce117ff87249 ## explicit; go 1.22.0 k8s.io/component-helpers/apimachinery/lease k8s.io/component-helpers/apps/poddisruptionbudget @@ -2566,7 +2566,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.30.2 => github.com/openshift/kubernetes/staging/src/k8s.io/controller-manager v0.0.0-20240723170835-32f817d75efe +# k8s.io/controller-manager v0.30.2 => github.com/openshift/kubernetes/staging/src/k8s.io/controller-manager v0.0.0-20240912105924-ce117ff87249 ## explicit; go 1.22.0 k8s.io/controller-manager/config k8s.io/controller-manager/config/v1 @@ -2578,16 +2578,16 @@ k8s.io/controller-manager/pkg/features k8s.io/controller-manager/pkg/features/register 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-20240723170835-32f817d75efe +# k8s.io/cri-api v0.0.0 => github.com/openshift/kubernetes/staging/src/k8s.io/cri-api v0.0.0-20240912105924-ce117ff87249 ## explicit; go 1.22.0 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-20240723170835-32f817d75efe +# k8s.io/csi-translation-lib v0.0.0 => github.com/openshift/kubernetes/staging/src/k8s.io/csi-translation-lib v0.0.0-20240912105924-ce117ff87249 ## explicit; go 1.22.0 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-20240723170835-32f817d75efe +# k8s.io/dynamic-resource-allocation v0.0.0 => github.com/openshift/kubernetes/staging/src/k8s.io/dynamic-resource-allocation v0.0.0-20240912105924-ce117ff87249 ## explicit; go 1.22.0 k8s.io/dynamic-resource-allocation/controller k8s.io/dynamic-resource-allocation/kubeletplugin @@ -2611,7 +2611,7 @@ 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.30.2 => github.com/openshift/kubernetes/staging/src/k8s.io/kube-aggregator v0.0.0-20240723170835-32f817d75efe +# k8s.io/kube-aggregator v0.30.2 => github.com/openshift/kubernetes/staging/src/k8s.io/kube-aggregator v0.0.0-20240912105924-ce117ff87249 ## explicit; go 1.22.0 k8s.io/kube-aggregator/pkg/apis/apiregistration k8s.io/kube-aggregator/pkg/apis/apiregistration/install @@ -2668,11 +2668,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-20240723170835-32f817d75efe +# k8s.io/kube-scheduler v0.0.0 => github.com/openshift/kubernetes/staging/src/k8s.io/kube-scheduler v0.0.0-20240912105924-ce117ff87249 ## explicit; go 1.22.0 k8s.io/kube-scheduler/config/v1 k8s.io/kube-scheduler/extender/v1 -# k8s.io/kubectl v0.30.0 => github.com/openshift/kubernetes/staging/src/k8s.io/kubectl v0.0.0-20240723170835-32f817d75efe +# k8s.io/kubectl v0.30.0 => github.com/openshift/kubernetes/staging/src/k8s.io/kubectl v0.0.0-20240912105924-ce117ff87249 ## explicit; go 1.22.0 k8s.io/kubectl/pkg/apps k8s.io/kubectl/pkg/cmd/util @@ -2697,7 +2697,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.30.2 => github.com/openshift/kubernetes/staging/src/k8s.io/kubelet v0.0.0-20240723170835-32f817d75efe +# k8s.io/kubelet v0.30.2 => github.com/openshift/kubernetes/staging/src/k8s.io/kubelet v0.0.0-20240912105924-ce117ff87249 ## explicit; go 1.22.0 k8s.io/kubelet/config/v1 k8s.io/kubelet/config/v1alpha1 @@ -2719,7 +2719,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.30.1 => github.com/openshift/kubernetes v1.30.1-0.20240723170835-32f817d75efe +# k8s.io/kubernetes v1.30.1 => github.com/openshift/kubernetes v1.30.1-0.20240912105924-ce117ff87249 ## explicit; go 1.22.0 k8s.io/kubernetes/cmd/kube-apiserver/app k8s.io/kubernetes/cmd/kube-apiserver/app/options @@ -3537,11 +3537,11 @@ 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-20240723170835-32f817d75efe +# k8s.io/legacy-cloud-providers v0.0.0 => github.com/openshift/kubernetes/staging/src/k8s.io/legacy-cloud-providers v0.0.0-20240912105924-ce117ff87249 ## explicit; go 1.22.0 k8s.io/legacy-cloud-providers/gce k8s.io/legacy-cloud-providers/gce/gcpcredential -# k8s.io/metrics v0.0.0 => github.com/openshift/kubernetes/staging/src/k8s.io/metrics v0.0.0-20240723170835-32f817d75efe +# k8s.io/metrics v0.0.0 => github.com/openshift/kubernetes/staging/src/k8s.io/metrics v0.0.0-20240912105924-ce117ff87249 ## explicit; go 1.22.0 k8s.io/metrics/pkg/apis/custom_metrics k8s.io/metrics/pkg/apis/custom_metrics/v1beta1 @@ -3551,10 +3551,10 @@ k8s.io/metrics/pkg/apis/external_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-20240723170835-32f817d75efe +# k8s.io/mount-utils v0.0.0 => github.com/openshift/kubernetes/staging/src/k8s.io/mount-utils v0.0.0-20240912105924-ce117ff87249 ## explicit; go 1.22.0 k8s.io/mount-utils -# k8s.io/pod-security-admission v0.0.0 => github.com/openshift/kubernetes/staging/src/k8s.io/pod-security-admission v0.0.0-20240723170835-32f817d75efe +# k8s.io/pod-security-admission v0.0.0 => github.com/openshift/kubernetes/staging/src/k8s.io/pod-security-admission v0.0.0-20240912105924-ce117ff87249 ## explicit; go 1.22.0 k8s.io/pod-security-admission/admission k8s.io/pod-security-admission/admission/api @@ -3567,7 +3567,7 @@ k8s.io/pod-security-admission/admission/api/validation k8s.io/pod-security-admission/api k8s.io/pod-security-admission/metrics k8s.io/pod-security-admission/policy -# k8s.io/sample-apiserver v0.0.0 => github.com/openshift/kubernetes/staging/src/k8s.io/sample-apiserver v0.0.0-20240723170835-32f817d75efe +# k8s.io/sample-apiserver v0.0.0 => github.com/openshift/kubernetes/staging/src/k8s.io/sample-apiserver v0.0.0-20240912105924-ce117ff87249 ## explicit; go 1.22.0 k8s.io/sample-apiserver/pkg/apis/wardle k8s.io/sample-apiserver/pkg/apis/wardle/v1alpha1 @@ -3808,33 +3808,33 @@ sigs.k8s.io/structured-merge-diff/v4/value sigs.k8s.io/yaml sigs.k8s.io/yaml/goyaml.v2 # github.com/onsi/ginkgo/v2 => github.com/openshift/onsi-ginkgo/v2 v2.6.1-0.20240314173009-2cd07f4ca53d -# k8s.io/api => github.com/openshift/kubernetes/staging/src/k8s.io/api v0.0.0-20240723170835-32f817d75efe -# k8s.io/apiextensions-apiserver => github.com/openshift/kubernetes/staging/src/k8s.io/apiextensions-apiserver v0.0.0-20240723170835-32f817d75efe -# k8s.io/apimachinery => github.com/openshift/kubernetes/staging/src/k8s.io/apimachinery v0.0.0-20240723170835-32f817d75efe -# k8s.io/apiserver => github.com/openshift/kubernetes/staging/src/k8s.io/apiserver v0.0.0-20240723170835-32f817d75efe -# k8s.io/cli-runtime => github.com/openshift/kubernetes/staging/src/k8s.io/cli-runtime v0.0.0-20240723170835-32f817d75efe -# k8s.io/client-go => github.com/openshift/kubernetes/staging/src/k8s.io/client-go v0.0.0-20240723170835-32f817d75efe -# k8s.io/cloud-provider => github.com/openshift/kubernetes/staging/src/k8s.io/cloud-provider v0.0.0-20240723170835-32f817d75efe -# k8s.io/cluster-bootstrap => github.com/openshift/kubernetes/staging/src/k8s.io/cluster-bootstrap v0.0.0-20240723170835-32f817d75efe -# k8s.io/code-generator => github.com/openshift/kubernetes/staging/src/k8s.io/code-generator v0.0.0-20240723170835-32f817d75efe -# k8s.io/component-base => github.com/openshift/kubernetes/staging/src/k8s.io/component-base v0.0.0-20240723170835-32f817d75efe -# k8s.io/component-helpers => github.com/openshift/kubernetes/staging/src/k8s.io/component-helpers v0.0.0-20240723170835-32f817d75efe -# k8s.io/controller-manager => github.com/openshift/kubernetes/staging/src/k8s.io/controller-manager v0.0.0-20240723170835-32f817d75efe -# k8s.io/cri-api => github.com/openshift/kubernetes/staging/src/k8s.io/cri-api v0.0.0-20240723170835-32f817d75efe -# k8s.io/csi-translation-lib => github.com/openshift/kubernetes/staging/src/k8s.io/csi-translation-lib v0.0.0-20240723170835-32f817d75efe -# k8s.io/dynamic-resource-allocation => github.com/openshift/kubernetes/staging/src/k8s.io/dynamic-resource-allocation v0.0.0-20240723170835-32f817d75efe -# k8s.io/endpointslice => github.com/openshift/kubernetes/staging/src/k8s.io/endpointslice v0.0.0-20240723170835-32f817d75efe -# k8s.io/kube-aggregator => github.com/openshift/kubernetes/staging/src/k8s.io/kube-aggregator v0.0.0-20240723170835-32f817d75efe -# k8s.io/kube-controller-manager => github.com/openshift/kubernetes/staging/src/k8s.io/kube-controller-manager v0.0.0-20240723170835-32f817d75efe -# k8s.io/kube-proxy => github.com/openshift/kubernetes/staging/src/k8s.io/kube-proxy v0.0.0-20240723170835-32f817d75efe -# k8s.io/kube-scheduler => github.com/openshift/kubernetes/staging/src/k8s.io/kube-scheduler v0.0.0-20240723170835-32f817d75efe -# k8s.io/kubectl => github.com/openshift/kubernetes/staging/src/k8s.io/kubectl v0.0.0-20240723170835-32f817d75efe -# k8s.io/kubelet => github.com/openshift/kubernetes/staging/src/k8s.io/kubelet v0.0.0-20240723170835-32f817d75efe -# k8s.io/kubernetes => github.com/openshift/kubernetes v1.30.1-0.20240723170835-32f817d75efe -# k8s.io/legacy-cloud-providers => github.com/openshift/kubernetes/staging/src/k8s.io/legacy-cloud-providers v0.0.0-20240723170835-32f817d75efe -# k8s.io/metrics => github.com/openshift/kubernetes/staging/src/k8s.io/metrics v0.0.0-20240723170835-32f817d75efe -# k8s.io/mount-utils => github.com/openshift/kubernetes/staging/src/k8s.io/mount-utils v0.0.0-20240723170835-32f817d75efe -# k8s.io/pod-security-admission => github.com/openshift/kubernetes/staging/src/k8s.io/pod-security-admission v0.0.0-20240723170835-32f817d75efe -# k8s.io/sample-apiserver => github.com/openshift/kubernetes/staging/src/k8s.io/sample-apiserver v0.0.0-20240723170835-32f817d75efe -# k8s.io/sample-cli-plugin => github.com/openshift/kubernetes/staging/src/k8s.io/sample-cli-plugin v0.0.0-20240723170835-32f817d75efe -# k8s.io/sample-controller => github.com/openshift/kubernetes/staging/src/k8s.io/sample-controller v0.0.0-20240723170835-32f817d75efe +# k8s.io/api => github.com/openshift/kubernetes/staging/src/k8s.io/api v0.0.0-20240912105924-ce117ff87249 +# k8s.io/apiextensions-apiserver => github.com/openshift/kubernetes/staging/src/k8s.io/apiextensions-apiserver v0.0.0-20240912105924-ce117ff87249 +# k8s.io/apimachinery => github.com/openshift/kubernetes/staging/src/k8s.io/apimachinery v0.0.0-20240912105924-ce117ff87249 +# k8s.io/apiserver => github.com/openshift/kubernetes/staging/src/k8s.io/apiserver v0.0.0-20240912105924-ce117ff87249 +# k8s.io/cli-runtime => github.com/openshift/kubernetes/staging/src/k8s.io/cli-runtime v0.0.0-20240912105924-ce117ff87249 +# k8s.io/client-go => github.com/openshift/kubernetes/staging/src/k8s.io/client-go v0.0.0-20240912105924-ce117ff87249 +# k8s.io/cloud-provider => github.com/openshift/kubernetes/staging/src/k8s.io/cloud-provider v0.0.0-20240912105924-ce117ff87249 +# k8s.io/cluster-bootstrap => github.com/openshift/kubernetes/staging/src/k8s.io/cluster-bootstrap v0.0.0-20240912105924-ce117ff87249 +# k8s.io/code-generator => github.com/openshift/kubernetes/staging/src/k8s.io/code-generator v0.0.0-20240912105924-ce117ff87249 +# k8s.io/component-base => github.com/openshift/kubernetes/staging/src/k8s.io/component-base v0.0.0-20240912105924-ce117ff87249 +# k8s.io/component-helpers => github.com/openshift/kubernetes/staging/src/k8s.io/component-helpers v0.0.0-20240912105924-ce117ff87249 +# k8s.io/controller-manager => github.com/openshift/kubernetes/staging/src/k8s.io/controller-manager v0.0.0-20240912105924-ce117ff87249 +# k8s.io/cri-api => github.com/openshift/kubernetes/staging/src/k8s.io/cri-api v0.0.0-20240912105924-ce117ff87249 +# k8s.io/csi-translation-lib => github.com/openshift/kubernetes/staging/src/k8s.io/csi-translation-lib v0.0.0-20240912105924-ce117ff87249 +# k8s.io/dynamic-resource-allocation => github.com/openshift/kubernetes/staging/src/k8s.io/dynamic-resource-allocation v0.0.0-20240912105924-ce117ff87249 +# k8s.io/endpointslice => github.com/openshift/kubernetes/staging/src/k8s.io/endpointslice v0.0.0-20240912105924-ce117ff87249 +# k8s.io/kube-aggregator => github.com/openshift/kubernetes/staging/src/k8s.io/kube-aggregator v0.0.0-20240912105924-ce117ff87249 +# k8s.io/kube-controller-manager => github.com/openshift/kubernetes/staging/src/k8s.io/kube-controller-manager v0.0.0-20240912105924-ce117ff87249 +# k8s.io/kube-proxy => github.com/openshift/kubernetes/staging/src/k8s.io/kube-proxy v0.0.0-20240912105924-ce117ff87249 +# k8s.io/kube-scheduler => github.com/openshift/kubernetes/staging/src/k8s.io/kube-scheduler v0.0.0-20240912105924-ce117ff87249 +# k8s.io/kubectl => github.com/openshift/kubernetes/staging/src/k8s.io/kubectl v0.0.0-20240912105924-ce117ff87249 +# k8s.io/kubelet => github.com/openshift/kubernetes/staging/src/k8s.io/kubelet v0.0.0-20240912105924-ce117ff87249 +# k8s.io/kubernetes => github.com/openshift/kubernetes v1.30.1-0.20240912105924-ce117ff87249 +# k8s.io/legacy-cloud-providers => github.com/openshift/kubernetes/staging/src/k8s.io/legacy-cloud-providers v0.0.0-20240912105924-ce117ff87249 +# k8s.io/metrics => github.com/openshift/kubernetes/staging/src/k8s.io/metrics v0.0.0-20240912105924-ce117ff87249 +# k8s.io/mount-utils => github.com/openshift/kubernetes/staging/src/k8s.io/mount-utils v0.0.0-20240912105924-ce117ff87249 +# k8s.io/pod-security-admission => github.com/openshift/kubernetes/staging/src/k8s.io/pod-security-admission v0.0.0-20240912105924-ce117ff87249 +# k8s.io/sample-apiserver => github.com/openshift/kubernetes/staging/src/k8s.io/sample-apiserver v0.0.0-20240912105924-ce117ff87249 +# k8s.io/sample-cli-plugin => github.com/openshift/kubernetes/staging/src/k8s.io/sample-cli-plugin v0.0.0-20240912105924-ce117ff87249 +# k8s.io/sample-controller => github.com/openshift/kubernetes/staging/src/k8s.io/sample-controller v0.0.0-20240912105924-ce117ff87249