-
Notifications
You must be signed in to change notification settings - Fork 345
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(metadata): raise error when capability/dependency not resolved in CamelCatalog #3571
feat(metadata): raise error when capability/dependency not resolved in CamelCatalog #3571
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. Just wondering if the unit test is enough or we may want to add also an E2E test to validate any errors on runtime as well.
3c87917
to
61883c2
Compare
dda8762
to
2b043ae
Compare
@squakez @astefanutti I'd like to make sure I'm in the right direction so please review again. Thanks. |
I think the last commits are fixing what we've discussed in #3389 (comment) - we should verify that once merged. |
I'm wondering if using the existing |
Good point. In this case, the monitor action would keep monitoring the failed integration, so it would need to be changed so that it keeps ignoring integrations with the I thought it doesn't make much sense to keep monitoring the integrations with
Actually |
Exactly. I'm assuming the
That "Actually If I understand the problem correctly, maybe a solution would be to call the traits in two phases, rather than in a single sequence:
|
At first I thought it's a better solution but then found out that in a phase like deploying, in the Configure method phase some traits expect the outcomes of the Apply method of a previous trait, e.g. Service -> Container. This seems also a sensible design choice as otherwise the application chain of traits for a phase won't finish in a single batch and we might need to iterate several times for a phase to reach the desired state before moving to another phase, or we would simply end up omitting some important configs that should've been applied. It might be also possible that we leak some trait configuration code into the Apply method in order to catch up the outcome of previous traits, but I don't think it's a good design. Fow now, the original problem is only related to Platform trait so I'll try to fix it within the trait instead of overhauling the entire process. What is most problematic with the original problem is that a trait changes the phase of integration while the phase is the only source for traits to decide whether they should be applied or not. The golden rule should be that traits must not change the phase of integration in a way that changes the set of applicable traits. |
2b043ae
to
2447495
Compare
…tform setup action
2447495
to
a99e021
Compare
a99e021
to
09826d1
Compare
@astefanutti Revised to not introduce a new phase. Can you check this again please? |
…ion failed condition
@astefanutti Applied the review comment. |
…ation failed condition
It's not needed to include it in 1.10.0 release. I've just submitted this in advance. Let's wait for 1.10.0 release and CI to become stable again.
It's important to see CI passes with this fix as it will change the way Operator handles integration builds.
Fix #3449
Release Note