Allow OpenAPI verification to pass both with and without strict alpha

handling
This commit is contained in:
Jefftree
2025-02-20 15:57:37 +00:00
parent 2b025e6459
commit c597cc1f30
4 changed files with 39 additions and 6 deletions

View File

@@ -72,7 +72,11 @@ fi
# Start kube-apiserver
# omit enums from static openapi snapshots used to generate clients until #109177 is resolved
kube::log::status "Starting kube-apiserver"
kube-apiserver \
# KUBE_APISERVER_STRICT_REMOVED_API_HANDLING_IN_ALPHA ensures that the OpenAPI is updated with all APIs
# that are intended to be removed at a particular release during alpha.
# If a new version tag was just created and you are seeing an unrelated diff when adding
# a new API, run `KUBE_APISERVER_STRICT_REMOVED_API_HANDLING_IN_ALPHA=false ./hack/update-openapi-spec.sh`.
KUBE_APISERVER_STRICT_REMOVED_API_HANDLING_IN_ALPHA=${KUBE_APISERVER_STRICT_REMOVED_API_HANDLING_IN_ALPHA:-true} kube-apiserver \
--bind-address="${API_HOST}" \
--secure-port="${API_PORT}" \
--etcd-servers="http://${ETCD_HOST}:${ETCD_PORT}" \

View File

@@ -15,6 +15,11 @@
# limitations under the License.
# This script checks whether updating of OpenAPI specification is needed or not.
# It verifies that the OpenAPI specification is up to date in strict mode, and
# will fallback to check in non-strict mode if that fails. Strict mode removes
# all APIs marked # as removed in a particular version, while non-strict mode
# allows them to persist until the release cutoff. We allow non-strict to
# prevent CI failures when we bump the version number in the git tag.
# We should run `hack/update-openapi-spec.sh` if OpenAPI specification is out of
# date.
# Usage: `hack/verify-openapi-spec.sh`.
@@ -26,5 +31,7 @@ set -o pipefail
KUBE_ROOT=$(dirname "${BASH_SOURCE[0]}")/..
source "${KUBE_ROOT}/hack/lib/verify-generated.sh"
kube::verify::generated "Generated files need to be updated" "Please run 'hack/update-openapi-spec.sh'" hack/update-openapi-spec.sh "$@"
(
kube::verify::generated "Generated files failed strict alpha check and MAY need be updated" "Running verification again without strict alpha check" hack/update-openapi-spec.sh "$@"
) || \
KUBE_APISERVER_STRICT_REMOVED_API_HANDLING_IN_ALPHA=false kube::verify::generated "Generated files need to be updated" "Please run 'hack/update-openapi-spec.sh'" hack/update-openapi-spec.sh "$@"