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

   ### What happened?
   
   When deploying an Integration using the Camel K Operator that fails a 
deployment due a either a missing dependency or perhaps an underlying API 
incompatibility, the Integration will be stuck in the `Deploying` phase.
   
   The issue here being that the Integration "phase" never goes into an `Error` 
state even if the cause of the deployment failure is not self-healable (i.e. 
API incompatibility as an example).
   
   I have two examples of when/where this occurs:
   
   1. Deploying an Integration to Camel K Operator with startupProbe enable on 
the Health Trait 
([Ref](https://camel.apache.org/camel-k/2.1.x/traits/health.html)) when using 
Knative serving v1 API which DOES NOT support startupProbes 
([Ref](https://github.com/knative/specs/blob/main/specs/serving/knative-api-specification-1.0.md#container))
   
   ```log
   │   Type     Reason                       Age               From             
               Message                                                │
   │   ----     ------                       ----              ----             
               -------                                                │
   │   Warning  IntegrationError             1s (x11 over 6s)  
camel-k-integration-controller  Cannot reconcile Integration 
template-connector-1: err │
   │ or executing post actions: error during apply resource: 
gc-generic/template-connector-1: failed to create typed patch object 
(gc-generic/templat │
   │ e-connector-1; serving.knative.dev/v1, Kind=Service): 
.spec.template.spec.containers[0].startupProbe: field not declared in schema
   ```
   ```
   
   2. Deploying an Integration to Camel K Operator with a missing dependency 
(e.g. ConfigMap)
   
   ```log
   │   Type     Reason            Age                     From                  
          Message                                                     │
   │   ----     ------            ----                    ----                  
          -------                                                     │
   │   Warning  IntegrationError  2m46s (x288 over 3d3h)  
camel-k-integration-controller  Cannot reconcile Integration 
template-connector-1: error du │
   │ ring trait customization: master trait configuration failed: ConfigMap 
"template-connector-1-openapi-000" not found
   ```
   
   In both cases The Camel K Operator reports the above issues as a `warning` 
type of event when describing the deployment. Not sure if this should rather be 
classified as an `error` instead, or perhaps at least move to error after X 
number of retries/backoff attempts?
   
   I believe its crucial that an Integration should "eventually" end up an 
`error` state if the issue cannot be self-healed.
   
   ### Steps to reproduce
   
   1. Setup a K8s cluster with the following
      1. Camel K Operator v2.1.0
      2. Knative service v1.12.0
   2. Deploy a Camel K Integration with the Health Trait enabled 
(`health.enabled=true`), and the startupProbe enabled 
(`health.startup-probe-enabled=true`)
   
   ### Relevant log output
   
   ```shell
   │   Last Init Timestamp:  2024-01-18T12:48:11Z                               
                                                                      │
   │   Observed Generation:  1                                                  
                                                                      │
   │   Phase:                Deploying                                          
                                                                      │
   │   Platform:             camel-k                                            
                                                                      │
   │   Profile:              Knative                                            
                                                                      │
   │   Runtime Provider:     quarkus                                            
                                                                      │
   │   Runtime Version:      3.2.0                                              
                                                                      │
   │   Version:              2.1.0                                              
                                                                      │
   │ Events:                                                                    
                                                                      │
   │   Type     Reason                       Age               From             
               Message                                                │
   │   ----     ------                       ----              ----             
               -------                                                │
   │   Normal   IntegrationConditionChanged  9s                
camel-k-integration-controller  Condition "IntegrationPlatformAvailable" is 
"True" for │
   │  Integration template-connector-1: camel-k/camel-k                         
                                                                      │
   │   Normal   IntegrationPhaseUpdated      9s                
camel-k-integration-controller  Integration "template-connector-1" in phase 
"Initializ │
   │ ation"                                                                     
                                                                      │
   │   Normal   IntegrationPhaseUpdated      6s (x2 over 9s)   
camel-k-integration-controller  Integration "template-connector-1" in phase 
"Building  │
   │ Kit"                                                                       
                                                                      │
   │   Normal   IntegrationConditionChanged  6s                
camel-k-integration-controller  Condition "IntegrationKitAvailable" is "True" 
for Inte │
   │ gration template-connector-1: kit-cmkhrk8ve68c73e60i30                     
                                                                      │
   │   Normal   IntegrationPhaseUpdated      6s                
camel-k-integration-controller  Integration "template-connector-1" in phase 
"Deploying │
   │ "                                                                          
                                                                      │
   │   Warning  IntegrationError             1s (x11 over 6s)  
camel-k-integration-controller  Cannot reconcile Integration 
template-connector-1: err │
   │ or executing post actions: error during apply resource: 
gc-generic/template-connector-1: failed to create typed patch object 
(gc-generic/templat │
   │ e-connector-1; serving.knative.dev/v1, Kind=Service): 
.spec.template.spec.containers[0].startupProbe: field not declared in schema
   ```
   
   ```
   │   conditions:                                                              
                                                                      │
   │   - firstTruthyTime: "2024-01-18T12:48:11Z"                                
                                                                      │
   │     lastTransitionTime: "2024-01-18T12:48:11Z"                             
                                                                      │
   │     lastUpdateTime: "2024-01-18T12:48:11Z"                                 
                                                                      │
   │     message: camel-k/camel-k                                               
                                                                      │
   │     reason: IntegrationPlatformAvailable                                   
                                                                      │
   │     status: "True"                                                         
                                                                      │
   │     type: IntegrationPlatformAvailable                                     
                                                                      │
   │   - firstTruthyTime: "2024-01-18T12:48:14Z"                                
                                                                      │
   │     lastTransitionTime: "2024-01-18T12:48:14Z"                             
                                                                      │
   │     lastUpdateTime: "2024-01-18T12:48:14Z"                                 
                                                                      │
   │     message: kit-cmkhrk8ve68c73e60i30                                      
                                                                      │
   │     reason: IntegrationKitAvailable                                        
                                                                      │
   │     status: "True"                                                         
                                                                      │
   │     type: IntegrationKitAvailable
   ```
   ```
   
   
   ### Camel K version
   
   2.1.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-unsubscr...@camel.apache.org.apache.org

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

Reply via email to