This is an automated email from the ASF dual-hosted git repository.

nferraro pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel-k.git


The following commit(s) were added to refs/heads/master by this push:
     new fade137  drop support for knative < 0.4 #552
fade137 is described below

commit fade137818befafa32622508ccbb18e8fc9b1cab
Author: lburgazzoli <lburgazz...@gmail.com>
AuthorDate: Tue May 14 11:18:40 2019 +0200

    drop support for knative < 0.4 #552
---
 pkg/trait/deployment.go                            |   1 +
 pkg/trait/knative_service.go                       |  35 +--
 pkg/trait/knative_service_env.go                   | 160 -------------
 pkg/trait/knative_service_env_test.go              | 247 ---------------------
 ...service_vol_test.go => knative_service_test.go} |   4 +-
 pkg/trait/knative_service_vol.go                   |  39 ----
 6 files changed, 21 insertions(+), 465 deletions(-)

diff --git a/pkg/trait/deployment.go b/pkg/trait/deployment.go
index 2ae00db..64320a0 100644
--- a/pkg/trait/deployment.go
+++ b/pkg/trait/deployment.go
@@ -131,6 +131,7 @@ func (t *deploymentTrait) getDeploymentFor(e *Environment) 
*appsv1.Deployment {
        if annotations == nil {
                annotations = make(map[string]string)
        }
+
        // Resolve registry host names when used
        annotations["alpha.image.policy.openshift.io/resolve-names"] = "*"
 
diff --git a/pkg/trait/knative_service.go b/pkg/trait/knative_service.go
index e5c6dee..4731353 100644
--- a/pkg/trait/knative_service.go
+++ b/pkg/trait/knative_service.go
@@ -19,6 +19,7 @@ package trait
 
 import (
        "strconv"
+       "strings"
 
        "github.com/apache/camel-k/pkg/util/kubernetes"
 
@@ -40,15 +41,14 @@ const (
 )
 
 type knativeServiceTrait struct {
-       BaseTrait         `property:",squash"`
-       Class             string `property:"autoscaling-class"`
-       Metric            string `property:"autoscaling-metric"`
-       Target            *int   `property:"autoscaling-target"`
-       MinScale          *int   `property:"min-scale"`
-       MaxScale          *int   `property:"max-scale"`
-       Auto              *bool  `property:"auto"`
-       ConfigurationType string `property:"configuration-type"`
-       deployer          deployerTrait
+       BaseTrait `property:",squash"`
+       Class     string `property:"autoscaling-class"`
+       Metric    string `property:"autoscaling-metric"`
+       Target    *int   `property:"autoscaling-target"`
+       MinScale  *int   `property:"min-scale"`
+       MaxScale  *int   `property:"max-scale"`
+       Auto      *bool  `property:"auto"`
+       deployer  deployerTrait
 }
 
 func newKnativeServiceTrait() *knativeServiceTrait {
@@ -183,6 +183,7 @@ func (t *knativeServiceTrait) getServiceFor(e *Environment) 
(*serving.Service, e
                },
        }
 
+       paths := e.ComputeSourcesURI()
        environment := 
&svc.Spec.RunLatest.Configuration.RevisionTemplate.Spec.Container.Env
 
        // combine Environment of integration with context, integration
@@ -197,19 +198,19 @@ func (t *knativeServiceTrait) getServiceFor(e 
*Environment) (*serving.Service, e
        // has been changed
        envvar.SetVal(environment, "CAMEL_K_DIGEST", 
e.Integration.Status.Digest)
 
-       // optimizations
-       envvar.SetVal(environment, "AB_JOLOKIA_OFF", True)
-
-       if t.ConfigurationType == "volume" {
-               t.bindToVolumes(e, &svc)
-       } else if err := t.bindToEnvVar(e, &svc); err != nil {
-               return nil, err
-       }
+       envvar.SetVal(environment, "CAMEL_K_ROUTES", strings.Join(paths, ","))
+       envvar.SetVal(environment, "CAMEL_K_CONF", 
"/etc/camel/conf/application.properties")
+       envvar.SetVal(environment, "CAMEL_K_CONF_D", "/etc/camel/conf.d")
 
        // add env vars from traits
        for _, envVar := range e.EnvVars {
                
envvar.SetVar(&svc.Spec.RunLatest.Configuration.RevisionTemplate.Spec.Container.Env,
 envVar)
        }
 
+       e.ConfigureVolumesAndMounts(
+               &svc.Spec.RunLatest.Configuration.RevisionTemplate.Spec.Volumes,
+               
&svc.Spec.RunLatest.Configuration.RevisionTemplate.Spec.Container.VolumeMounts,
+       )
+
        return &svc, nil
 }
diff --git a/pkg/trait/knative_service_env.go b/pkg/trait/knative_service_env.go
deleted file mode 100644
index 7dd6339..0000000
--- a/pkg/trait/knative_service_env.go
+++ /dev/null
@@ -1,160 +0,0 @@
-/*
-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.
-*/
-
-package trait
-
-import (
-       "fmt"
-       "strings"
-
-       "github.com/apache/camel-k/pkg/apis/camel/v1alpha1"
-       "github.com/apache/camel-k/pkg/util"
-       "github.com/apache/camel-k/pkg/util/envvar"
-       "github.com/apache/camel-k/pkg/util/kubernetes"
-
-       serving "github.com/knative/serving/pkg/apis/serving/v1alpha1"
-)
-
-func (t *knativeServiceTrait) bindToEnvVar(e *Environment, service 
*serving.Service) error {
-       environment := 
&service.Spec.RunLatest.Configuration.RevisionTemplate.Spec.Container.Env
-
-       //
-       // Properties
-       //
-       properties := make(map[string]string)
-
-       for _, cmName := range e.CollectConfigurationValues("configmap") {
-               cm, err := kubernetes.GetConfigMap(e.C, e.Client, cmName, 
e.Integration.Namespace)
-               if err != nil {
-                       t.L.Errorf(err, "failed to lookup ConfigMap %s", cmName)
-               }
-               if cm != nil {
-                       err = util.ExtractApplicationPropertiesString(cm.Data, 
func(key string, val string) {
-                               properties[key] = val
-                       })
-                       if err != nil {
-                               t.L.Errorf(err, "failed to extract properties 
from ConfigMap %s", cmName)
-                       }
-               }
-       }
-
-       for _, secretName := range e.CollectConfigurationValues("secret") {
-               cm, err := kubernetes.GetSecret(e.C, e.Client, secretName, 
e.Integration.Namespace)
-               if err != nil {
-                       t.L.Errorf(err, "failed to lookup Secret %s", 
secretName)
-               }
-               if cm != nil {
-                       err = util.ExtractApplicationPropertiesBytes(cm.Data, 
func(key string, val string) {
-                               properties[key] = val
-                       })
-                       if err != nil {
-                               t.L.Errorf(err, "failed to extract properties 
from Secret %s", secretName)
-                       }
-               }
-       }
-
-       for key, value := range e.CollectConfigurationPairs("property") {
-               properties[key] = value
-       }
-
-       p := ""
-
-       for k, v := range properties {
-               p += fmt.Sprintf("%s=%s\n", k, v)
-       }
-
-       envvar.SetVal(environment, "CAMEL_K_CONF", "env:CAMEL_K_PROPERTIES")
-       envvar.SetVal(environment, "CAMEL_K_PROPERTIES", p)
-
-       //
-       // Sources
-       //
-
-       sourcesSpecs, err := kubernetes.ResolveIntegrationSources(t.ctx, 
t.client, e.Integration, e.Resources)
-       if err != nil {
-               return err
-       }
-
-       sources := make([]string, 0, len(e.Integration.Spec.Sources))
-
-       for i, s := range sourcesSpecs {
-               if s.Content == "" {
-                       t.L.Debug("Source %s has and empty content", s.Name)
-               }
-
-               envName := fmt.Sprintf("CAMEL_K_ROUTE_%03d", i)
-               envvar.SetVal(environment, envName, s.Content)
-
-               params := make([]string, 0)
-               params = append(params, "name="+s.Name)
-
-               if s.InferLanguage() != "" {
-                       params = append(params, 
"language="+string(s.InferLanguage()))
-               }
-               if s.Compression {
-                       params = append(params, "compression=true")
-               }
-
-               src := fmt.Sprintf("env:%s", envName)
-               if len(params) > 0 {
-                       src = fmt.Sprintf("%s?%s", src, strings.Join(params, 
"&"))
-               }
-
-               sources = append(sources, src)
-       }
-
-       // camel-k runtime
-       envvar.SetVal(environment, "CAMEL_K_ROUTES", strings.Join(sources, ","))
-
-       //
-       // Resources
-       //
-
-       resourcesSpecs, err := kubernetes.ResolveIntegrationResources(t.ctx, 
t.client, e.Integration, e.Resources)
-       if err != nil {
-               return err
-       }
-
-       for i, r := range resourcesSpecs {
-               if r.Type != v1alpha1.ResourceTypeData {
-                       continue
-               }
-
-               envName := fmt.Sprintf("CAMEL_K_RESOURCE_%03d", i)
-               envvar.SetVal(environment, envName, r.Content)
-
-               params := make([]string, 0)
-               if r.Compression {
-                       params = append(params, "compression=true")
-               }
-
-               envValue := fmt.Sprintf("env:%s", envName)
-               if len(params) > 0 {
-                       envValue = fmt.Sprintf("%s?%s", envValue, 
strings.Join(params, "&"))
-               }
-
-               envName = r.Name
-               envName = strings.ToUpper(envName)
-               envName = strings.Replace(envName, "-", "_", -1)
-               envName = strings.Replace(envName, ".", "_", -1)
-               envName = strings.Replace(envName, " ", "_", -1)
-
-               envvar.SetVal(environment, envName, envValue)
-       }
-
-       return nil
-}
diff --git a/pkg/trait/knative_service_env_test.go 
b/pkg/trait/knative_service_env_test.go
deleted file mode 100644
index 8396aa8..0000000
--- a/pkg/trait/knative_service_env_test.go
+++ /dev/null
@@ -1,247 +0,0 @@
-/*
-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.
-*/
-
-package trait
-
-import (
-       "context"
-       "testing"
-
-       "github.com/scylladb/go-set/strset"
-
-       "github.com/apache/camel-k/pkg/apis/camel/v1alpha1"
-       "github.com/apache/camel-k/pkg/util"
-       "github.com/apache/camel-k/pkg/util/envvar"
-       "github.com/apache/camel-k/pkg/util/kubernetes"
-       "github.com/apache/camel-k/pkg/util/test"
-
-       serving "github.com/knative/serving/pkg/apis/serving/v1alpha1"
-       corev1 "k8s.io/api/core/v1"
-       metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
-
-       "github.com/stretchr/testify/assert"
-)
-
-func TestKnativeTraitWithCompressedSources(t *testing.T) {
-       content := 
"H4sIAOJoQFwAA+NKK8rP1VAqzUtJLSrJL7fKKCkpsNLXN9ADQysLAwsD/YLEkgwlTS4FINAryddQz8lPt8rMS8tX1+TiAgAya2XzQAAAAA=="
-
-       catalog, err := test.DefaultCatalog()
-       assert.Nil(t, err)
-
-       traitCatalog := NewCatalog(context.TODO(), nil)
-
-       environment := Environment{
-               CamelCatalog: catalog,
-               Catalog:      traitCatalog,
-               Integration: &v1alpha1.Integration{
-                       ObjectMeta: metav1.ObjectMeta{
-                               Name:      "test",
-                               Namespace: "ns",
-                       },
-                       Status: v1alpha1.IntegrationStatus{
-                               Phase: v1alpha1.IntegrationPhaseDeploying,
-                       },
-                       Spec: v1alpha1.IntegrationSpec{
-                               Profile: v1alpha1.TraitProfileKnative,
-                               Sources: []v1alpha1.SourceSpec{
-                                       {
-                                               DataSpec: v1alpha1.DataSpec{
-                                                       Name:        
"routes.js",
-                                                       Content:     content,
-                                                       Compression: true,
-                                               },
-                                               Language: 
v1alpha1.LanguageJavaScript,
-                                       },
-                               },
-                               Resources: []v1alpha1.ResourceSpec{
-                                       {
-                                               DataSpec: v1alpha1.DataSpec{
-                                                       Name:        
"my-resource.txt",
-                                                       Content:     content,
-                                                       Compression: false,
-                                               },
-                                               Type: v1alpha1.ResourceTypeData,
-                                       },
-                                       {
-                                               DataSpec: v1alpha1.DataSpec{
-                                                       Name:        
"my-resource.gz",
-                                                       Content:     content,
-                                                       Compression: true,
-                                               },
-                                               Type: v1alpha1.ResourceTypeData,
-                                       },
-                               },
-                       },
-               },
-               IntegrationContext: &v1alpha1.IntegrationContext{
-                       Status: v1alpha1.IntegrationContextStatus{
-                               Phase: v1alpha1.IntegrationContextPhaseReady,
-                       },
-               },
-               Platform: &v1alpha1.IntegrationPlatform{
-                       Spec: v1alpha1.IntegrationPlatformSpec{
-                               Cluster: 
v1alpha1.IntegrationPlatformClusterOpenShift,
-                               Build: v1alpha1.IntegrationPlatformBuildSpec{
-                                       PublishStrategy: 
v1alpha1.IntegrationPlatformBuildPublishStrategyS2I,
-                                       Registry:        
v1alpha1.IntegrationPlatformRegistrySpec{Address: "registry"},
-                               },
-                       },
-               },
-               EnvVars:        make([]corev1.EnvVar, 0),
-               ExecutedTraits: make([]Trait, 0),
-               Resources:      kubernetes.NewCollection(),
-               Classpath:      strset.New(),
-       }
-
-       err = traitCatalog.apply(&environment)
-
-       assert.Nil(t, err)
-       assert.NotEmpty(t, environment.ExecutedTraits)
-       assert.NotNil(t, environment.GetTrait(ID("knative")))
-       assert.NotNil(t, envvar.Get(environment.EnvVars, 
"CAMEL_KNATIVE_CONFIGURATION"))
-
-       services := 0
-       environment.Resources.VisitKnativeService(func(service 
*serving.Service) {
-               services++
-
-               vars := 
service.Spec.RunLatest.Configuration.RevisionTemplate.Spec.Container.Env
-
-               routes := util.LookupEnvVar(vars, "CAMEL_K_ROUTES")
-               assert.NotNil(t, routes)
-               assert.Equal(t, 
"env:CAMEL_K_ROUTE_000?name=routes.js&language=js&compression=true", 
routes.Value)
-
-               route := util.LookupEnvVar(vars, "CAMEL_K_ROUTE_000")
-               assert.NotNil(t, route)
-               assert.Equal(t, content, route.Value)
-
-               resource := util.LookupEnvVar(vars, "MY_RESOURCE_TXT")
-               assert.NotNil(t, resource)
-               assert.Equal(t, "env:CAMEL_K_RESOURCE_000", resource.Value)
-
-               resource = util.LookupEnvVar(vars, "CAMEL_K_RESOURCE_000")
-               assert.NotNil(t, resource)
-               assert.Equal(t, content, resource.Value)
-
-               resource = util.LookupEnvVar(vars, "MY_RESOURCE_GZ")
-               assert.NotNil(t, resource)
-               assert.Equal(t, "env:CAMEL_K_RESOURCE_001?compression=true", 
resource.Value)
-
-               resource = util.LookupEnvVar(vars, "CAMEL_K_RESOURCE_001")
-               assert.NotNil(t, resource)
-               assert.Equal(t, content, resource.Value)
-
-               resource = util.LookupEnvVar(vars, "JAVA_CLASSPATH")
-               assert.NotNil(t, resource)
-       })
-
-       assert.True(t, services > 0)
-       assert.True(t, environment.Resources.Size() > 0)
-}
-
-func TestKnativeTraitWithConfigMapSources(t *testing.T) {
-       content := 
"H4sIAOJoQFwAA+NKK8rP1VAqzUtJLSrJL7fKKCkpsNLXN9ADQysLAwsD/YLEkgwlTS4FINAryddQz8lPt8rMS8tX1+TiAgAya2XzQAAAAA=="
-
-       catalog, err := test.DefaultCatalog()
-       assert.Nil(t, err)
-
-       traitCatalog := NewCatalog(context.TODO(), nil)
-
-       environment := Environment{
-               CamelCatalog: catalog,
-               Catalog:      traitCatalog,
-               Integration: &v1alpha1.Integration{
-                       ObjectMeta: metav1.ObjectMeta{
-                               Name:      "test",
-                               Namespace: "ns",
-                       },
-                       Status: v1alpha1.IntegrationStatus{
-                               Phase: v1alpha1.IntegrationPhaseDeploying,
-                       },
-                       Spec: v1alpha1.IntegrationSpec{
-                               Profile: v1alpha1.TraitProfileKnative,
-                               Sources: []v1alpha1.SourceSpec{
-                                       {
-                                               DataSpec: v1alpha1.DataSpec{
-                                                       Name:        
"routes.js",
-                                                       ContentRef:  "my-cm",
-                                                       Compression: true,
-                                               },
-                                               Language: 
v1alpha1.LanguageJavaScript,
-                                       },
-                               },
-                       },
-               },
-               IntegrationContext: &v1alpha1.IntegrationContext{
-                       Status: v1alpha1.IntegrationContextStatus{
-                               Phase: v1alpha1.IntegrationContextPhaseReady,
-                       },
-               },
-               Platform: &v1alpha1.IntegrationPlatform{
-                       Spec: v1alpha1.IntegrationPlatformSpec{
-                               Cluster: 
v1alpha1.IntegrationPlatformClusterOpenShift,
-                               Build: v1alpha1.IntegrationPlatformBuildSpec{
-                                       PublishStrategy: 
v1alpha1.IntegrationPlatformBuildPublishStrategyS2I,
-                                       Registry:        
v1alpha1.IntegrationPlatformRegistrySpec{Address: "registry"},
-                               },
-                       },
-               },
-               EnvVars:        make([]corev1.EnvVar, 0),
-               ExecutedTraits: make([]Trait, 0),
-               Resources: kubernetes.NewCollection(&corev1.ConfigMap{
-                       TypeMeta: metav1.TypeMeta{
-                               Kind:       "ConfigMap",
-                               APIVersion: "v1",
-                       },
-                       ObjectMeta: metav1.ObjectMeta{
-                               Name:      "my-cm",
-                               Namespace: "ns",
-                       },
-                       Data: map[string]string{
-                               "content": content,
-                       },
-               }),
-               Classpath: strset.New(),
-       }
-
-       err = traitCatalog.apply(&environment)
-
-       assert.Nil(t, err)
-       assert.NotEmpty(t, environment.ExecutedTraits)
-       assert.NotNil(t, environment.GetTrait(ID("knative")))
-       assert.NotNil(t, envvar.Get(environment.EnvVars, 
"CAMEL_KNATIVE_CONFIGURATION"))
-
-       services := 0
-       environment.Resources.VisitKnativeService(func(service 
*serving.Service) {
-               services++
-
-               vars := 
service.Spec.RunLatest.Configuration.RevisionTemplate.Spec.Container.Env
-
-               routes := util.LookupEnvVar(vars, "CAMEL_K_ROUTES")
-               assert.NotNil(t, routes)
-               assert.Equal(t, 
"env:CAMEL_K_ROUTE_000?name=routes.js&language=js&compression=true", 
routes.Value)
-
-               route := util.LookupEnvVar(vars, "CAMEL_K_ROUTE_000")
-               assert.NotNil(t, route)
-               assert.Equal(t, content, route.Value)
-
-               resource := util.LookupEnvVar(vars, "JAVA_CLASSPATH")
-               assert.NotNil(t, resource)
-       })
-
-       assert.True(t, services > 0)
-       assert.True(t, environment.Resources.Size() > 0)
-}
diff --git a/pkg/trait/knative_service_vol_test.go 
b/pkg/trait/knative_service_test.go
similarity index 98%
rename from pkg/trait/knative_service_vol_test.go
rename to pkg/trait/knative_service_test.go
index 81cf388..4a33982 100644
--- a/pkg/trait/knative_service_vol_test.go
+++ b/pkg/trait/knative_service_test.go
@@ -35,7 +35,7 @@ import (
        "github.com/stretchr/testify/assert"
 )
 
-func TestKnativeWithVolumeBinding(t *testing.T) {
+func TestKnativeService(t *testing.T) {
        catalog, err := test.DefaultCatalog()
        assert.Nil(t, err)
 
@@ -82,7 +82,7 @@ func TestKnativeWithVolumeBinding(t *testing.T) {
                                Traits: map[string]v1alpha1.TraitSpec{
                                        "knative-service": {
                                                Configuration: 
map[string]string{
-                                                       "configuration-type": 
"volume",
+                                                       "enabled": "true",
                                                },
                                        },
                                },
diff --git a/pkg/trait/knative_service_vol.go b/pkg/trait/knative_service_vol.go
deleted file mode 100644
index 03c95bb..0000000
--- a/pkg/trait/knative_service_vol.go
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
-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.
-*/
-
-package trait
-
-import (
-       "strings"
-
-       "github.com/apache/camel-k/pkg/util/envvar"
-       serving "github.com/knative/serving/pkg/apis/serving/v1alpha1"
-)
-
-func (t *knativeServiceTrait) bindToVolumes(e *Environment, service 
*serving.Service) {
-       e.ConfigureVolumesAndMounts(
-               
&service.Spec.RunLatest.Configuration.RevisionTemplate.Spec.Volumes,
-               
&service.Spec.RunLatest.Configuration.RevisionTemplate.Spec.Container.VolumeMounts,
-       )
-
-       paths := e.ComputeSourcesURI()
-       environment := 
&service.Spec.RunLatest.Configuration.RevisionTemplate.Spec.Container.Env
-
-       envvar.SetVal(environment, "CAMEL_K_ROUTES", strings.Join(paths, ","))
-       envvar.SetVal(environment, "CAMEL_K_CONF", 
"/etc/camel/conf/application.properties")
-       envvar.SetVal(environment, "CAMEL_K_CONF_D", "/etc/camel/conf.d")
-}

Reply via email to