From 0d8c107362734166279c31bd6359696e21563d9f Mon Sep 17 00:00:00 2001 From: natasha41575 Date: Mon, 27 Sep 2021 16:31:09 -0700 Subject: [PATCH] fix issue with openapi schema from components --- api/krusty/openapicustomschema_test.go | 13 ++++++++++--- kyaml/openapi/openapi.go | 3 +++ 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/api/krusty/openapicustomschema_test.go b/api/krusty/openapicustomschema_test.go index 5456bafbb..205a4f4f9 100644 --- a/api/krusty/openapicustomschema_test.go +++ b/api/krusty/openapicustomschema_test.go @@ -418,6 +418,7 @@ openapi: path: openapi.json `) + openapi.ResetOpenAPI() m := th.Run("overlays/overlay-component-openapi", th.MakeDefaultOptions()) th.AssertActualEqualsExpected(m, `apiVersion: apps.openshift.io/v1 kind: DeploymentConfig @@ -427,17 +428,23 @@ spec: template: spec: containers: - - name: container + - env: + - name: foo + value: bar + name: container volumeMounts: - mountPath: /mnt name: additional-cm + - mountPath: /opt/cm + name: cm initContainers: - name: init volumes: - configMap: name: additional-cm name: additional-cm + - configMap: + name: cm + name: cm `) - - } diff --git a/kyaml/openapi/openapi.go b/kyaml/openapi/openapi.go index 6633b69c7..77d9bca93 100644 --- a/kyaml/openapi/openapi.go +++ b/kyaml/openapi/openapi.go @@ -547,6 +547,9 @@ func SetSchema(openAPIField map[string]string, schema []byte, reset bool) error return nil } + // if the schema is changed, initSchema should parse the new schema + defer func() { globalSchema.schemaInit = false }() + version, exists := openAPIField["version"] if exists && schema != nil { return fmt.Errorf("builtin version and custom schema provided, cannot use both")