This is an automated email from the ASF dual-hosted git repository. lburgazzoli pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/camel-k.git
commit 8006e557b4311940a3f1566809d997e2e4a72c27 Author: Nicola Ferraro <ni.ferr...@gmail.com> AuthorDate: Wed Dec 18 20:30:19 2019 +0100 Fix #921: update OLM and add v1alpha1 compat test --- .../camel-k/1.0.0-rc1-snapshot/crd-build.yaml | 12 ++++++- .../1.0.0-rc1-snapshot/crd-camel-catalog.yaml | 16 +++++++-- .../1.0.0-rc1-snapshot/crd-integration-kit.yaml | 8 ++++- .../crd-integration-platform.yaml | 8 ++++- .../1.0.0-rc1-snapshot/crd-integration.yaml | 19 ++++++++-- deploy/olm-catalog/camel-k/camel-k.package.yaml | 23 ++---------- e2e/backward_compat_test.go | 41 ++++++++++++++++++++++ 7 files changed, 98 insertions(+), 29 deletions(-) diff --git a/deploy/olm-catalog/camel-k/1.0.0-rc1-snapshot/crd-build.yaml b/deploy/olm-catalog/camel-k/1.0.0-rc1-snapshot/crd-build.yaml index 6cad421..29e3276 100644 --- a/deploy/olm-catalog/camel-k/1.0.0-rc1-snapshot/crd-build.yaml +++ b/deploy/olm-catalog/camel-k/1.0.0-rc1-snapshot/crd-build.yaml @@ -24,7 +24,13 @@ metadata: spec: group: camel.apache.org scope: Namespaced - version: v1alpha1 + versions: + - name: v1alpha1 + served: true + storage: false + - name: v1 + served: true + storage: true names: kind: Build listKind: BuildList @@ -39,6 +45,10 @@ spec: JSONPath: .status.phase - name: Age type: date + description: The time at which the build was created + JSONPath: .metadata.creationTimestamp + - name: Started + type: date description: The time at which the build was last (re-)started JSONPath: .status.startedAt - name: Duration diff --git a/deploy/olm-catalog/camel-k/1.0.0-rc1-snapshot/crd-camel-catalog.yaml b/deploy/olm-catalog/camel-k/1.0.0-rc1-snapshot/crd-camel-catalog.yaml index 858bd0f..8a67c6d 100644 --- a/deploy/olm-catalog/camel-k/1.0.0-rc1-snapshot/crd-camel-catalog.yaml +++ b/deploy/olm-catalog/camel-k/1.0.0-rc1-snapshot/crd-camel-catalog.yaml @@ -31,12 +31,22 @@ spec: shortNames: - cc scope: Namespaced - version: v1alpha1 + versions: + - name: v1alpha1 + served: true + storage: false + - name: v1 + served: true + storage: true subresources: status: {} additionalPrinterColumns: - - name: Version + - name: Camel Version type: string - description: The Catalog version + description: The Camel version JSONPath: .spec.version + - name: Runtime Version + type: string + description: The Camel K Runtime version + JSONPath: .spec.runtimeVersion diff --git a/deploy/olm-catalog/camel-k/1.0.0-rc1-snapshot/crd-integration-kit.yaml b/deploy/olm-catalog/camel-k/1.0.0-rc1-snapshot/crd-integration-kit.yaml index 04f3e81..59a34da 100644 --- a/deploy/olm-catalog/camel-k/1.0.0-rc1-snapshot/crd-integration-kit.yaml +++ b/deploy/olm-catalog/camel-k/1.0.0-rc1-snapshot/crd-integration-kit.yaml @@ -24,7 +24,13 @@ metadata: spec: group: camel.apache.org scope: Namespaced - version: v1alpha1 + versions: + - name: v1alpha1 + served: true + storage: false + - name: v1 + served: true + storage: true subresources: status: {} names: diff --git a/deploy/olm-catalog/camel-k/1.0.0-rc1-snapshot/crd-integration-platform.yaml b/deploy/olm-catalog/camel-k/1.0.0-rc1-snapshot/crd-integration-platform.yaml index 532ad86..7b581d0 100644 --- a/deploy/olm-catalog/camel-k/1.0.0-rc1-snapshot/crd-integration-platform.yaml +++ b/deploy/olm-catalog/camel-k/1.0.0-rc1-snapshot/crd-integration-platform.yaml @@ -24,7 +24,13 @@ metadata: spec: group: camel.apache.org scope: Namespaced - version: v1alpha1 + versions: + - name: v1alpha1 + served: true + storage: false + - name: v1 + served: true + storage: true subresources: status: {} names: diff --git a/deploy/olm-catalog/camel-k/1.0.0-rc1-snapshot/crd-integration.yaml b/deploy/olm-catalog/camel-k/1.0.0-rc1-snapshot/crd-integration.yaml index 0b0f905..9a63ac4 100644 --- a/deploy/olm-catalog/camel-k/1.0.0-rc1-snapshot/crd-integration.yaml +++ b/deploy/olm-catalog/camel-k/1.0.0-rc1-snapshot/crd-integration.yaml @@ -24,9 +24,18 @@ metadata: spec: group: camel.apache.org scope: Namespaced - version: v1alpha1 + versions: + - name: v1alpha1 + served: true + storage: false + - name: v1 + served: true + storage: true subresources: status: {} + scale: + specReplicasPath: .spec.replicas + statusReplicasPath: .status.replicas names: kind: Integration listKind: IntegrationList @@ -37,9 +46,13 @@ spec: additionalPrinterColumns: - name: Phase type: string - description: The Integration phase + description: The integration phase JSONPath: .status.phase - name: Kit type: string - description: The IntegrationKit to use + description: The integration kit JSONPath: .status.kit + - name: Replicas + type: integer + description: The number of pods + JSONPath: .status.replicas diff --git a/deploy/olm-catalog/camel-k/camel-k.package.yaml b/deploy/olm-catalog/camel-k/camel-k.package.yaml index 4a1671b..5802837 100644 --- a/deploy/olm-catalog/camel-k/camel-k.package.yaml +++ b/deploy/olm-catalog/camel-k/camel-k.package.yaml @@ -1,22 +1,5 @@ -# --------------------------------------------------------------------------- -# Licensed to the Apache Software Foundation (ASF) under one or more -# contributor license agreements. See the NOTICE file distributed with -# this work for additional information regarding copyright ownership. -# The ASF licenses this file to You under the Apache License, Version 2.0 -# (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# --------------------------------------------------------------------------- - -packageName: camel-k channels: -- name: alpha - currentCSV: camel-k-operator.v1.0.0-rc1-snapshot +- currentCSV: camel-k-operator.v1.0.0-rc1-snapshot + name: alpha defaultChannel: alpha +packageName: camel-k diff --git a/e2e/backward_compat_test.go b/e2e/backward_compat_test.go index dc38bec..2ca3c76 100644 --- a/e2e/backward_compat_test.go +++ b/e2e/backward_compat_test.go @@ -27,7 +27,10 @@ import ( "github.com/apache/camel-k/pkg/apis/camel/v1" "github.com/apache/camel-k/pkg/util/kubernetes" "github.com/stretchr/testify/assert" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/client-go/dynamic" "sigs.k8s.io/controller-runtime/pkg/client" ) @@ -77,3 +80,41 @@ status: assert.Equal(t, "hello.groovy", integration.Spec.Sources[0].Name) }) } + +func TestV1Alpha1Compatibility(t *testing.T) { + withNewTestNamespace(t, func(ns string) { + + data := ` +apiVersion: camel.apache.org/v1alpha1 +kind: Integration +metadata: + name: example + namespace: ` + ns + ` +spec: + sources: + - name: hello.groovy +` + + obj, err := kubernetes.LoadRawResourceFromYaml(data) + assert.Nil(t, err) + dynClient, err := dynamic.NewForConfig(testClient.GetConfig()) + assert.Nil(t, err) + + obj, err = dynClient.Resource(schema.GroupVersionResource{ + Group: "camel.apache.org", + // Using old v1alpha1 version for testing + Version: "v1alpha1", + Resource: "integrations", + }).Namespace(ns).Create(obj.(*unstructured.Unstructured), metav1.CreateOptions{}) + assert.Nil(t, err) + + integration := v1.NewIntegration(ns, "example") + key, err := client.ObjectKeyFromObject(&integration) + assert.Nil(t, err) + + err = testClient.Get(testContext, key, &integration) + assert.Nil(t, err) + assert.Equal(t, 1, len(integration.Spec.Sources)) + assert.Equal(t, "hello.groovy", integration.Spec.Sources[0].Name) + }) +}