You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by "anerathil (via GitHub)" <gi...@apache.org> on 2024/01/11 16:40:59 UTC

[I] Operator 2.2.0 does not spawn builder pod with strategy: pod [camel-k]

anerathil opened a new issue, #5060:
URL: https://github.com/apache/camel-k/issues/5060

   ### What happened?
   
   While:
   - Setting up a new K8s cluster via Kind
   - Deploying the Camel-K 2.2.0 operator (via Helm chart) with buildConfiguration strategy set to pod
   - Applying a integration
   
   I noticed that there were no builder pods created but the image was build inside the operator pod.
   
   After creating a new cluster and downgrading to operator 2.1.0 the operator spawned pods as expected.
   
   Attached you find the logs of the operators as well as my helmfile snipped to deploy the operator.
   
   [operator_2.1.0.log](https://github.com/apache/camel-k/files/13905921/operator_2.1.0.log)
   [operator_2.2.0.log](https://github.com/apache/camel-k/files/13905922/operator_2.2.0.log)
   
   (the error messages in the end should not matter i guess)
   
   Thanks :)
   
   ```repositories:
   - name: incubator
     url: https://charts.helm.sh/incubator
   - name: camel-k
     url: https://apache.github.io/camel-k/charts/
     
   releases:
   - name: camel-k-operator
     namespace: {{ .Values.namespaces.camelk }}
     chart: camel-k/camel-k
     version: 2.x.0 
     disableValidation: true
     labels:
       chapter: data
       package: camel-k
       component: base
     hooks:
     - events: ["preapply"]
       showlogs: true
       command: "kubectl"
       args: ["apply", "-n", "{{`{{.Values.namespaces.camelk}}`}}", "-f", "./templates"]
     - events: ["postuninstall"]
       showlogs: true
       command: "kubectl"
       args: ["delete", "-n", "{{`{{.Values.namespaces.camelk}}`}}", "-f", "./templates"]
     values:
     - operator:
         global: "true"
         resources:
           requests:
             cpu: 100m
             memory: 250Mi
       platform:
         build:
           registry:
             address: {{ env "K3d_REGISTRY_ENDPOINT" }}
             insecure: true
           buildConfiguration:
             strategy: pod
         traits:
           builder:
             tasksRequestCPU:
             - "builder:2000m"
             tasksRequestMemory:
             - "builder:2Gi"```
   
   
   ### Steps to reproduce
   
   1. Setup new cluster
   2. Deploy operator 2.2.0 via Helm chart, set strategy to pod
   3. See operator building the image in its container
   
   ### Relevant log output
   
   _No response_
   
   ### Camel K version
   
   2.2.0


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@camel.apache.org.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [I] Operator 2.2.0 does not spawn builder pod with strategy: pod [camel-k]

Posted by "squakez (via GitHub)" <gi...@apache.org>.
squakez commented on issue #5060:
URL: https://github.com/apache/camel-k/issues/5060#issuecomment-1888656582

   Yes, it seems that your IntegrationPlatfom is overriding that value setting the builder trait to `routine`. Is it something that you're setting specifically or is the default value that for some reason got slipped in?


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@camel.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [I] Operator 2.2.0 does not spawn builder pod with strategy: pod [camel-k]

Posted by "anerathil (via GitHub)" <gi...@apache.org>.
anerathil commented on issue #5060:
URL: https://github.com/apache/camel-k/issues/5060#issuecomment-1888641988

   Ahh after reading through my post:
   
   For me it looks like the builder trait is the "issue"? will also set the strategy in there and give an update!


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@camel.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [I] Operator 2.2.0 does not spawn builder pod with strategy: pod [camel-k]

Posted by "squakez (via GitHub)" <gi...@apache.org>.
squakez commented on issue #5060:
URL: https://github.com/apache/camel-k/issues/5060#issuecomment-1891564994

   I think it's a bug. However, it does not make sense to rollback IMO. Let's try to find a solution which would cover both requirements if possible.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@camel.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [I] Operator 2.2.0 does not spawn builder pod with strategy: pod [camel-k]

Posted by "anerathil (via GitHub)" <gi...@apache.org>.
anerathil commented on issue #5060:
URL: https://github.com/apache/camel-k/issues/5060#issuecomment-1888716381

   No i just added it in the helm chart as well. My first post line 39.
   ![image](https://github.com/apache/camel-k/assets/19164845/a7df1993-c520-4326-a6a0-ef20ef677ba2)
   And yes, i did specify it without the strategy because i thought "i just want to increase resources".


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@camel.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [I] Operator 2.2.0 does not spawn builder pod with strategy: pod [camel-k]

Posted by "squakez (via GitHub)" <gi...@apache.org>.
squakez commented on issue #5060:
URL: https://github.com/apache/camel-k/issues/5060#issuecomment-1888732379

   Perfect, thanks for confirming. Then, it seems a bug. We'll fix it asap.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@camel.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [I] Operator 2.2.0 does not spawn builder pod with strategy: pod [camel-k]

Posted by "squakez (via GitHub)" <gi...@apache.org>.
squakez commented on issue #5060:
URL: https://github.com/apache/camel-k/issues/5060#issuecomment-1891648395

   > > I think it's a bug. However, it does not make sense to rollback IMO. Let's try to find a solution which would cover both requirements if possible.
   > 
   > The main issue here is from the fact we share the same code model for IntegrationPlatform CRD and Integration CRD (and probably others). While the default values for the IntegrationPlatform CR are true, they are not for the Integration CR. The default values for Integration CR are the one inherited from the IntegrationPlatform CR. Only an **explicit** declaration from the Integration CR should override the IntegrationPlatform CR. That's why I want to revert the `+kubebuilder:default` changes. We can then think of a way to deal with having default values different for IntegrationPlatform CRD and Integration CRD generated.
   
   Yeah. If you're working on the revert, also, please make sure to include at least one test to avoid this failure in the future. Thanks!


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@camel.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [I] Operator 2.2.0 does not spawn builder pod with strategy: pod [camel-k]

Posted by "squakez (via GitHub)" <gi...@apache.org>.
squakez closed issue #5060: Operator 2.2.0 does not spawn builder pod with strategy: pod
URL: https://github.com/apache/camel-k/issues/5060


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@camel.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [I] Operator 2.2.0 does not spawn builder pod with strategy: pod [camel-k]

Posted by "anerathil (via GitHub)" <gi...@apache.org>.
anerathil commented on issue #5060:
URL: https://github.com/apache/camel-k/issues/5060#issuecomment-1888639038

   Hey :)
   
   I just recreated the cluster and re-deployed with global:false:
   
   V 2.1.0:
   As expected with global false the operator creates a builder pod in the camel-k namespace.
   
   ---
   
   V 2.2.0:
   The operator does not spawn a builder pod and runs the build in its container :/
   
   The IP deployed by helm befor the operator update:
   ```
   Name:         camel-k
   Namespace:    camel-k-system
   Labels:       app=camel-k
                 app.kubernetes.io/instance=camel-k-operator
                 app.kubernetes.io/managed-by=Helm
                 app.kubernetes.io/name=camel-k
                 app.kubernetes.io/version=2.2.0
                 helm.sh/chart=camel-k-2.2.0
   Annotations:  meta.helm.sh/release-name: camel-k-operator
                 meta.helm.sh/release-namespace: camel-k-system
   API Version:  camel.apache.org/v1
   Kind:         IntegrationPlatform
   Metadata:
     Creation Timestamp:  2024-01-12T08:16:01Z
     Generation:          1
     Resource Version:    798
     UID:                 707c6522-386f-4101-b2a8-2b1904639e2b
   Spec:
     Build:
       Build Configuration:
         Strategy:  pod
       Registry:
         Address:   k3d-k3d.localhost:5000
         Insecure:  true
     Cluster:       
     Traits:
       Builder:
         Incremental Image Build:  true
         Order Strategy:           sequential
         Strategy:                 routine
         Tasks Request CPU:
           builder:2000m
         Tasks Request Memory:
           builder:2Gi
   Events:  <none>
   ````
   
   After the initial update its state is:
   ```
   NAMESPACE↑                     NAME                    PHASE                 BUILD STRATEGY                PUBLISH STRATEGY                REGISTRY ADDRESS                       DEFAULT RUNTIME                  │
   camel-k-system                 camel-k                 Ready                 pod                           Spectrum                        k3d-k3d.localhost:5000                 3.2.3                            │
   ```
   
   ```
   Name:         camel-k
   Namespace:    camel-k-system
   Labels:       app=camel-k
                 app.kubernetes.io/instance=camel-k-operator
                 app.kubernetes.io/managed-by=Helm
                 app.kubernetes.io/name=camel-k
                 app.kubernetes.io/version=2.2.0
                 helm.sh/chart=camel-k-2.2.0
   Annotations:  meta.helm.sh/release-name: camel-k-operator
                 meta.helm.sh/release-namespace: camel-k-system
   API Version:  camel.apache.org/v1
   Kind:         IntegrationPlatform
   Metadata:
     Creation Timestamp:  2024-01-12T08:16:01Z
     Generation:          1
     Resource Version:    1296
     UID:                 707c6522-386f-4101-b2a8-2b1904639e2b
   Spec:
     Build:
       Build Configuration:
         Strategy:  pod
       Registry:
         Address:   k3d-k3d.localhost:5000
         Insecure:  true
     Cluster:       
     Traits:
       Builder:
         Incremental Image Build:  true
         Order Strategy:           sequential
         Strategy:                 routine
         Tasks Request CPU:
           builder:2000m
         Tasks Request Memory:
           builder:2Gi
   Status:
     Build:
       Publish Strategy Options:
         Kaniko Persistent Volume Claim:  camel-k
       Base Image:                        eclipse-temurin:17
       Build Configuration:
         Order Strategy:  sequential
         Strategy:        pod
       Maven:
         Cli Options:
           -V
           --no-transfer-progress
           -Dstyle.color=never
         Local Repository:  /etc/maven/m2
       Max Running Builds:  10
       Publish Strategy:    Spectrum
       Registry:
         Address:        k3d-k3d.localhost:5000
         Insecure:       true
       Runtime Version:  3.2.3
       Timeout:          5m0s
     Cluster:            Kubernetes
     Conditions:
       Last Transition Time:  2024-01-12T08:16:14Z
       Last Update Time:      2024-01-12T08:16:14Z
       Message:               integration platform created
       Reason:                IntegrationPlatformCreated
       Status:                True
       Type:                  Created
       Last Transition Time:  2024-01-12T08:16:14Z
       Last Update Time:      2024-01-12T08:16:14Z
       Message:               registry available at k3d-k3d.localhost:5000
       Reason:                IntegrationPlatformRegistryAvailable
       Status:                True
       Type:                  RegistryAvailable
     Info:
       Git Commit:  c6a9348d8467f68800dabb7c845a411765fad8e3
       Go OS:       linux
       Go Version:  go1.21.0
     Kamelet:
       Repositories:
         Uri:              none
     Observed Generation:  1
     Phase:                Ready
     Traits:
       Builder:
         Incremental Image Build:  true
         Order Strategy:           sequential
         Strategy:                 routine
         Tasks Request CPU:
           builder:2000m
         Tasks Request Memory:
           builder:2Gi
     Version:  2.2.0
   Events:
     Type    Reason                               Age    From                                     Message
     ----    ------                               ----   ----                                     -------
     Normal  IntegrationPlatformPhaseUpdated      3m34s  camel-k-integration-platform-controller  Integration Platform "camel-k" in phase "Creating"
     Normal  IntegrationPlatformConditionChanged  3m33s  camel-k-integration-platform-controller  Condition "Created" is "True" for Integration Platform camel-k: integration platform created
     Normal  IntegrationPlatformPhaseUpdated      3m33s  camel-k-integration-platform-controller  Integration Platform "camel-k" in phase "Ready"
     Normal  IntegrationPlatformConditionChanged  3m33s  camel-k-integration-platform-controller  Condition "RegistryAvailable" is "True" for Integration Platform camel-k: registry available at k3d-k3d.localhost:5000
   ```
   
   So it still looks good. Operator logs:
   [operator_2.2.0_global.false.log](https://github.com/apache/camel-k/files/13916468/operator_2.2.0_global.false.log)
   
   Thx :)


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@camel.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [I] Operator 2.2.0 does not spawn builder pod with strategy: pod [camel-k]

Posted by "gansheer (via GitHub)" <gi...@apache.org>.
gansheer commented on issue #5060:
URL: https://github.com/apache/camel-k/issues/5060#issuecomment-1887610398

   Hi, thanks for reporting. 
   Could you check the IntegrationPlatform custom resources created to see if the buildConfiguration is applied ? I see in the log `{"level":"info","ts":"2024-01-08T21:30:50Z","logger":"camel-k.traits","msg":"User defined build strategy routine","trait":"builder"}` and wonder if the platform level configuration is actually present.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@camel.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [I] Operator 2.2.0 does not spawn builder pod with strategy: pod [camel-k]

Posted by "anerathil (via GitHub)" <gi...@apache.org>.
anerathil commented on issue #5060:
URL: https://github.com/apache/camel-k/issues/5060#issuecomment-1888672485

   Ok i removed the 
   ```
           buildConfiguration:
             strategy: pod
   ```
   
   section and added _strategy: pod_ to the builder trait. 
   with ...
   
   - 2.2.0 and global:true it is working
   - 2.2.0 and global:false it is also working :)
   
   Seems like it was a conflict between the IP configuration and the default value of the builder trait overwriting it.
   
   **Initially I proceeded as follows:**
   - deployed the operator
   - recognized that i want builder pods in a local setup to save resources on the operator
   -- so i did set strategy to pod in the integration platform in helm
   - then i realized, that the builder pods need more resources so i added the builder trait
   -- but did not expected the builder traits strategy default value to override the integration platform strategy value
   
   Now everything is working as expected. Maybe it would be great to extend the builder trait to the following:
   - if the builder trait is added without a strategy use the IP strategy?
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@camel.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [I] Operator 2.2.0 does not spawn builder pod with strategy: pod [camel-k]

Posted by "gansheer (via GitHub)" <gi...@apache.org>.
gansheer commented on issue #5060:
URL: https://github.com/apache/camel-k/issues/5060#issuecomment-1889613363

   This is a side effect from this fix https://github.com/apache/camel-k/pull/4887. Since default value where added in the CRD will explicitly declare the "default" values defined in the CR.
   
   In short, this IntegrationPlatform:
   ```
   apiVersion: camel.apache.org/v1
   kind: IntegrationPlatform
   metadata:
     name: camel-k-2
     namespace: camel-k
   spec:
     build:
       registry:
         address: "10.96.90.251"
         insecure: true
     cluster: ""
     traits:
       builder:
         tasksRequestCPU:
         - builder:2000m
   ``` 
   When added to the kubernetes by `kubectl create -f ip.yaml` will result in:
   ```
   apiVersion: camel.apache.org/v1
   kind: IntegrationPlatform
   metadata:
     creationTimestamp: "2024-01-12T16:17:09Z"
     generation: 1
     name: camel-k-2
     namespace: camel-k
     resourceVersion: "4064"
     uid: e139a899-c1f6-42e3-935b-287ca84eef0a
   spec:
     build:
       registry:
         address: 10.96.90.251
         insecure: true
     cluster: ""
     traits:
       builder:
         incrementalImageBuild: true
         orderStrategy: sequential
         strategy: routine
         tasksRequestCPU:
         - builder:2000m
   ```
   
   It will be the same for Integration:
   ```
   apiVersion: camel.apache.org/v1
   kind: Integration
   metadata:
     name: int-test
     namespace: camel-k
     resourceVersion: "5154"
     uid: 0348d504-dd4b-4ca2-a558-045ae5d51f8d
   spec:
     flows:
     ...
     traits:
       builder:
         incrementalImageBuild: true
         orderStrategy: sequential
         strategy: routine
         tasksRequestCPU:
         - builder:2000m
   ```
   
   The way we managed the priority/default values might be at fault. My first intuition would be to rollback the fix https://github.com/apache/camel-k/pull/4887.  WDYT @lburgazzoli @squakez ?


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@camel.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [I] Operator 2.2.0 does not spawn builder pod with strategy: pod [camel-k]

Posted by "gansheer (via GitHub)" <gi...@apache.org>.
gansheer commented on issue #5060:
URL: https://github.com/apache/camel-k/issues/5060#issuecomment-1891645635

   > I think it's a bug. However, it does not make sense to rollback IMO. Let's try to find a solution which would cover both requirements if possible.
   
   The main issue here is from the fact we share the same code model for IntegrationPlatform CRD and Integration CRD (and probably others). While the default values for the IntegrationPlatform CR are true, they are not for the Integration CR. The default values for Integration CR are the one inherited from the IntegrationPlatform CR. Only an **explicit** declaration from the Integration CR should override the IntegrationPlatform CR.
   That's why I want to revert the `+kubebuilder:default` changes. We can then think of a way to deal with having default values different for IntegrationPlatform CRD and Integration CRD generated.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@camel.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [I] Operator 2.2.0 does not spawn builder pod with strategy: pod [camel-k]

Posted by "squakez (via GitHub)" <gi...@apache.org>.
squakez commented on issue #5060:
URL: https://github.com/apache/camel-k/issues/5060#issuecomment-1888692352

   Thanks. Yes, if there is no builder trait strategy specified, it must use the IP strategy. What I am not understanding is what was the procedure you've followed to add the builder trait. Did you edit the IP and specified the builder trait spec without the strategy?


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@camel.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [I] Operator 2.2.0 does not spawn builder pod with strategy: pod [camel-k]

Posted by "gansheer (via GitHub)" <gi...@apache.org>.
gansheer commented on issue #5060:
URL: https://github.com/apache/camel-k/issues/5060#issuecomment-1888741141

   @squakez I'll take care of it.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@camel.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org