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]