Uploaded image for project: 'Red Hat OpenShift Control Planes'
  1. Red Hat OpenShift Control Planes
  2. CNTRLPLANE-1685

Update k8s.io/kube-openapi (Kubernetes OpenAPI library)

XMLWordPrintable

    • None
    • False
    • Hide

      None

      Show
      None
    • False
    • None

      Overview

      Update k8s.io/kube-openapi from digest c8a335a to 589584f.

      Dependency Information

      • Package: k8s.io/kube-openapi
      • Type: Indirect dependency (pulled in by k8s.io/api, k8s.io/apiextensions-apiserver, k8s.io/apimachinery, and other Kubernetes packages)
      • Old version: v0.0.0-20250318190949-c8a335a9a2ff
      • New version: v0.0.0-20250910181357-589584f1c912
      • Location: go.mod, api/go.mod, contrib/gomaxprocs-webhook/go.mod, hack/tools/go.mod

      Usage in hypershift

      k8s.io/kube-openapi is a core Kubernetes library that provides OpenAPI schema generation and validation capabilities. It is used throughout the project via Kubernetes client libraries.

      • Primary usage: OpenAPI schema generation and validation for Kubernetes APIs
      • Impact: Runtime - This library is used by core Kubernetes packages for API schema handling
      • Files affected: Extensive vendor/ directory updates across multiple go.mod files

      Changes in Update

      This update includes several improvements and fixes:

      • Add k8s-short-name and k8s-long-name formats for better Kubernetes resource naming
      • Add OpenAPIModelNamer and opt-in generator support for improved code generation
      • Bugfix: walk on parameter references for proper OpenAPI spec handling
      • Drop usage of forked copies of goyaml.v2, migrating to go.yaml.in/yaml/v3
      • Drop go 1.21 from supported versions (now requires go 1.22+)
      • Bump gnostic-models dependency
      • Update to latest structured-merge-diff and gengo libraries

      How to Test

      Since this is an indirect dependency used by Kubernetes core libraries, testing should focus on ensuring proper Kubernetes API interactions:

        1. Run unit tests:
             make test
             

      2. Run integration tests:

         make e2e
         

      3. Verify API server functionality:

      • Test cluster creation and deletion
      • Verify API schema validation works correctly
      • Check that CRD operations function properly

      4. Run linter and code generation:

         make verify
         

      Expected behavior: All tests should pass, and Kubernetes API interactions should function normally without schema validation errors.

              Unassigned Unassigned
              asegurap1@redhat.com Antoni Segura Puimedon
              None
              None
              None
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated: