Uploaded image for project: 'Red Hat Fuse'
  1. Red Hat Fuse
  2. ENTESB-15231

Kamelet does not decode uri parameter

    XMLWordPrintable

Details

    Description

      I am getting `Hello+Kamelets` instead of expected `Hello Kamelets` in following Kamelet + KameletBinding combo.

       

      ➜  ~ oc apply -f https://raw.githubusercontent.com/apache/camel-k/master/e2e/yaks/common/kamelet-binding/messages-channel.yaml
      
      ➜  ~ oc apply -f https://raw.githubusercontent.com/apache/camel-k/master/e2e/yaks/common/kamelet-binding/messages-channel.yamlinmemorychannel.messaging.knative.dev/messages created
      
      ➜  ~ oc apply -f https://raw.githubusercontent.com/apache/camel-k/master/e2e/yaks/common/kamelet-binding/timer-source.kamelet.yamlkamelet.camel.apache.org/timer-source created
      
      ➜  ~ kamel run https://raw.githubusercontent.com/apache/camel-k/master/e2e/knative/files/display.groovyintegration "display" created
      
      ➜  ~ oc apply -f https://raw.githubusercontent.com/apache/camel-k/master/e2e/yaks/common/kamelet-binding/timer-source-binding.yamlkameletbinding.camel.apache.org/timer-source-binding created
      
      ➜  ~ kamel log display
      
        .....
      
      Exchange[ExchangePattern: InOnly, BodyType: String, Body: Hello+Kamelets][1] 2020-10-30 13:15:05,104 INFO  [info] (vert.x-worker-thread-1) 
      
      
      ➜  ~ oc get Integration timer-source-binding -o yaml
      apiVersion: camel.apache.org/v1
      kind: Integration
      metadata:
        creationTimestamp: "2020-10-30T13:08:54Z"
        generation: 1
        managedFields:
        - apiVersion: camel.apache.org/v1
          fieldsType: FieldsV1
          fieldsV1:
            f:metadata:
              f:ownerReferences:
                .: {}
                k:{"uid":"aa0c3d18-8146-4986-8f61-7e1073d976f3"}:
                  .: {}
                  f:apiVersion: {}
                  f:blockOwnerDeletion: {}
                  f:controller: {}
                  f:kind: {}
                  f:name: {}
                  f:uid: {}
            f:spec:
              .: {}
              f:flows: {}
              f:profile: {}
              f:traits:
                .: {}
                f:knative:
                  .: {}
                  f:configuration:
                    .: {}
                    f:sinkBinding: {}
            f:status:
              .: {}
              f:capabilities: {}
              f:conditions: {}
              f:dependencies: {}
              f:digest: {}
              f:generatedSources: {}
              f:image: {}
              f:kit: {}
              f:phase: {}
              f:platform: {}
              f:profile: {}
              f:replicas: {}
              f:runtimeProvider: {}
              f:runtimeVersion: {}
              f:selector: {}
              f:version: {}
          manager: kamel
          operation: Update
          time: "2020-10-30T13:14:56Z"
        name: timer-source-binding
        namespace: binding
        ownerReferences:
        - apiVersion: camel.apache.org/v1alpha1
          blockOwnerDeletion: true
          controller: true
          kind: KameletBinding
          name: timer-source-binding
          uid: aa0c3d18-8146-4986-8f61-7e1073d976f3
        resourceVersion: "2895627"
        selfLink: /apis/camel.apache.org/v1/namespaces/binding/integrations/timer-source-binding
        uid: 59d83b8f-6a8c-4ed2-866d-aaf3b27d3bef
      spec:
        flows:
        - from:
            steps:
            - to: knative:channel/messages?apiVersion=messaging.knative.dev%2Fv1beta1&kind=InMemoryChannel
            uri: kamelet:timer-source?message=Hello+Kamelets&period=1000
        profile: Knative
        traits:
          knative:
            configuration:
              sinkBinding: true
      status:
        capabilities:
        - platform-http
        conditions:
        - lastTransitionTime: "2020-10-30T13:11:15Z"
          lastUpdateTime: "2020-10-30T13:11:15Z"
          message: camel-k
          reason: IntegrationPlatformAvailable
          status: "True"
          type: IntegrationPlatformAvailable
        - lastTransitionTime: "2020-10-30T13:15:05Z"
          lastUpdateTime: "2020-10-30T13:15:05Z"
          message: kit-bue11ssuq3rruc3cnijg
          reason: IntegrationKitAvailable
          status: "True"
          type: IntegrationKitAvailable
        - lastTransitionTime: "2020-10-30T13:15:05Z"
          lastUpdateTime: "2020-10-30T13:15:05Z"
          message: different controller strategy used (deployment)
          reason: CronJobNotAvailableReason
          status: "False"
          type: CronJobAvailable
        - lastTransitionTime: "2020-10-30T13:15:05Z"
          lastUpdateTime: "2020-10-30T13:15:05Z"
          message: deployment name is timer-source-binding
          reason: DeploymentAvailable
          status: "True"
          type: DeploymentAvailable
        - lastTransitionTime: "2020-10-30T13:15:05Z"
          lastUpdateTime: "2020-10-30T13:15:05Z"
          message: different controller strategy used (deployment)
          reason: KnativeServiceNotAvailable
          status: "False"
          type: KnativeServiceAvailable
        - lastTransitionTime: "2020-10-30T13:15:06Z"
          lastUpdateTime: "2020-10-30T13:15:06Z"
          reason: ReplicaSetReady
          status: "True"
          type: Ready
        dependencies:
        - camel-quarkus:core
        - camel-quarkus:timer
        - mvn:org.apache.camel.k/camel-k-quarkus-loader-yaml
        - mvn:org.apache.camel.k/camel-k-runtime-knative
        - mvn:org.apache.camel.k/camel-k-runtime-quarkus
        - mvn:org.apache.camel.k:camel-kamelet
        - mvn:org.apache.camel.k:camel-knative
        - mvn:org.apache.camel.quarkus/camel-quarkus-platform-http
        digest: v5wJ6cc1uvbW9AErR96cUcmDbRsT76Lh5Wuk_xO1tx7w
        generatedSources:
        - content: |
            - from:
                steps:
                - to: knative:channel/messages?apiVersion=messaging.knative.dev%2Fv1beta1&kind=InMemoryChannel
                uri: kamelet:timer-source?message=Hello+Kamelets&period=1000
          name: camel-k-embedded-flow.yaml
        - contentKey: content
          contentRef: timer-source-binding-kamelet-timer-source-flow
          language: yaml
          name: timer-source.yaml
          property-names:
          - message
          - period
          type: template
        image: image-registry.openshift-image-registry.svc:5000/binding/camel-k-kit-bue11ssuq3rruc3cnijg@sha256:26850c73970c24463c25b6e1f671ea7e6a389d4830cb06a4983e79303a5ea180
        kit: kit-bue11ssuq3rruc3cnijg
        phase: Running
        platform: camel-k
        profile: Knative
        replicas: 0
        runtimeProvider: quarkus
        runtimeVersion: 1.5.0.fuse-jdk11-800010-redhat-00001
        selector: camel.apache.org/integration=timer-source-binding
        version: 1.2.0
      

      It seems that the message parameter is not encoded well from the URI format.

      Attachments

        Issue Links

          Activity

            People

              lburgazz@redhat.com Luca Burgazzoli
              jbouska@redhat.com Jan Bouska
              Jan Bouska Jan Bouska
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: