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

   When an integration that requires knative is created but knative is not 
installed, the camel-k operator must provide better insight about the missing 
pre-condition and should wait to deploy the integration till the pre-condition 
is satisfied.
   
   As example, given the flowing integration: 
   
   ```yaml
     - from:
         steps:
         - to: log:info?showAll=true&multiLine=true
         uri: knative:event/hello?name=test-broker
   ```
   
   If you run it, then a standard deployment would be created and the 
integration pod would end in a `CrashLoopBackOff` state as the knative 
component lacks the information about how to properly run with a cryptic 
`java.lang.IllegalStateException: Cannot load Knative configuration from file 
or env variable`. 
   
   The resulting integration would look like:
   
   ```yaml
   apiVersion: camel.apache.org/v1
   kind: Integration
   metadata:
     name: test-integration
   spec:
     flows:
     - from:
         steps:
         - to: log:info?showAll=true&multiLine=true
         uri: knative:event/hello?name=test-broker
   status:
     conditions:
     - firstTruthyTime: "2022-11-09T11:08:24Z"
       lastTransitionTime: "2022-11-09T11:08:24Z"
       lastUpdateTime: "2022-11-09T11:08:24Z"
       message: default/camel-k
       reason: IntegrationPlatformAvailable
       status: "True"
       type: IntegrationPlatformAvailable
     - firstTruthyTime: "2022-11-09T11:09:24Z"
       lastTransitionTime: "2022-11-09T11:09:24Z"
       lastUpdateTime: "2022-11-09T11:09:24Z"
       message: kit-cdloka391rhs73ejkffg
       reason: IntegrationKitAvailable
       status: "True"
       type: IntegrationKitAvailable
     - lastTransitionTime: "2022-11-09T11:09:24Z"
       lastUpdateTime: "2022-11-09T11:09:24Z"
       message: different controller strategy used (deployment)
       reason: CronJobNotAvailableReason
       status: "False"
       type: CronJobAvailable
     - firstTruthyTime: "2022-11-09T11:09:24Z"
       lastTransitionTime: "2022-11-09T11:09:24Z"
       lastUpdateTime: "2022-11-09T11:09:24Z"
       message: deployment name is test-integration
       reason: DeploymentAvailable
       status: "True"
       type: DeploymentAvailable
     - firstTruthyTime: "2022-11-09T11:09:24Z"
       lastTransitionTime: "2022-11-09T11:09:24Z"
       lastUpdateTime: "2022-11-09T11:09:24Z"
       message: test-integration(http/80) -> integration(http/8080)
       reason: ServiceAvailable
       status: "True"
       type: ServiceAvailable
     - lastTransitionTime: "2022-11-09T11:09:24Z"
       lastUpdateTime: "2022-11-09T11:09:24Z"
       message: no host or service defined
       reason: IngressNotAvailable
       status: "False"
       type: ExposureAvailable
     - firstTruthyTime: "2022-11-09T11:09:28Z"
       lastTransitionTime: "2022-11-09T11:12:28Z"
       lastUpdateTime: "2022-11-09T11:12:39Z"
       message: back-off 2m40s restarting failed container=integration 
pod=test-integration-76b697c448-4bwp5_default(2910cf61-40e8-46d9-9d86-500529a5f94c)
       reason: Error
       status: "False"
       type: Ready
     phase: Error
     platform: camel-k
     profile: Kubernetes
   ```
   
   The root problem can be derived by the fact that:
   1. the profile is `Kubernetes`
   2. there's no track of KnativeService in the conditions
   3. the conditions reports that a standard deployment it's been created
   
   But we should make it much more explicit.
   


-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to