Comments (9)
@xoanmi just like in "test-comp-one" composition above, you need to add
policy:
fromFieldPath: Required
to any patches of XRs/MRs in composition that patch in the value required by schema.
With an example of VPC Managed Resource from aws provider you would need that policy for a patch responsible for value of spec.forProvider.cidrBlock
from crossplane.
We have the same problem. We have not been able to work around it. Did you do it @y4ri ?
from crossplane.
@xoanmi just like in "test-comp-one" composition above, you need to add
policy: fromFieldPath: Requiredto any patches of XRs/MRs in composition that patch in the value required by schema.
With an example of VPC Managed Resource from aws provider you would need that policy for a patch responsible for value of
spec.forProvider.cidrBlock
Thanks! I misread your previous message. We have applied the workaround and it works! 🚀
from crossplane.
@negz, pretty sure, the example here is extremely complicated, but the core issue is the same, patches to the xr not being executed because of a failure applying a composed resource.
from crossplane.
@y4ri Do you see any errors or warnings when this is happening? If so, could you let us know what they are.
from crossplane.
1.14.5 - On XR level just a bunch of
Warning ComposeResources 13s defined/compositeresourcedefinition.apiextensions.crossplane.io cannot compose resources: cannot apply composed resource: cannot create object: XDummy.example.org "test-qksw8-dlpcx" is invalid: spec.exampleField: Required value
ending with
Warning ComposeResources 9s (x14 over 13s) defined/compositeresourcedefinition.apiextensions.crossplane.io (combined from similar events): cannot compose resources: cannot apply composed resource: cannot create object: XDummy.example.org "test-qksw8-m96gr" is invalid: spec.exampleField: Required value
On 1.13.2 I only get 1 warrning:
Warning ComposeResources 21s defined/compositeresourcedefinition.apiextensions.crossplane.io composed resource "second-xdummy": cannot use dry-run create to name composed resource: XDummy.example.org "test-jf7q7-5nswr" is invalid: spec.exampleField: Required value
from crossplane.
I think this is because we used to dry run here to get the generated name and the code below still assumes the resources to be valid, which in case of a missing required field is not the case anymore and therefore we exit erroring here.
This applies to all 1.14 releases and to v1.15.0-rc.1
too.
from crossplane.
I think this is a duplicate of #5114
from crossplane.
I think this is a duplicate of #5114
@phisco How sure are you? At a glance it sounds like the described behaviour is different.
from crossplane.
Related Issues (20)
- Cache `*Unstructured` objects HOT 4
- Cannot resolve package dependencies: missing dependencies: [xpkg.upbound.io/upbound/provider-family-aws] HOT 2
- Support Rendering Default Values from XRD in Crossplane CLI
- Validating Claims Against XRD Schema in Crossplane CLI During Render HOT 2
- Don't report error status for deleted resources in crossplane beta trace
- Add watch support to crossplane beta trace
- Cannot change the version of a composed resource in the default `Resources` mode HOT 2
- Promote `top` crossplane CLI subcommand to GA HOT 1
- Add more validation checks in `validate` command
- `validate` should handle Kubernetes validation libraries evolving over time
- protobuf-schemas step always failing on older release branches
- Promote `init` command to GA
- Can't patch from composed resource status to the environment HOT 2
- Add a `crossplane lint xrd.yaml` command HOT 2
- Function SDK Release Cadence & Version Compatibility HOT 3
- Crossplane fails to synchronize claims with XRs HOT 11
- Document requirements to make functions with `requirements` backward compatible
- Provide a Channel of Communication to the Claim HOT 1
- Function spec.package does not use cluster local image cache HOT 8
- Issue with capitalization in printcolumn names HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from crossplane.