Comments (2)
@phillebaba In a previous version of the kstatus library, we used to have an aggregator inside the poller that would determine when a set of resources had reached the Current
status. This eventually proved a bit difficult, as we quickly run into issues where we need more flexibility around which resources should reach which status. For example, we might want some resources to be deleted and therefore reach the NotFound
status rather than Current
. So we no longer try to determine when to stop polling a set of resources within the polling framework. The status you have found is unfortunately something that remains from the previous version, but should probably be removed.
But we do provide some pieces in the framework that should allow you to compose what you want here. If you look at the status controller in the repo (https://github.com/kubernetes-sigs/cli-utils/blob/master/cmd/status/cmdstatus.go), it uses the collector and aggregator from the polling package to determine when a set of resources have been either all reconciled or all deleted. If you find anything that doesn't work as expected, just file an issue or ping me on the k8s slack (kpt channel).
from cli-utils.
Thanks for the info! I understand why this behavior cant be baked into the poller. The use case I am building will not have to deal with the problems you describe, so using the aggregator in the same way as the status controller does will work for me.
Should we remove the CompletedEvent
or change the docs as to not confuse others who may make the same assumption?
from cli-utils.
Related Issues (20)
- Bug: Destroyer should retain inventory if any objects failed to delete or reconcile HOT 4
- Bug: kstatus/status returns incorrect "Current" result immediately after DaemonSet apply HOT 2
- Bug: InventoryManager.SetObjectStatus doesn't actually update the object status
- Chore: refactor Filters to take TaskContext HOT 3
- Bug: Inventory updates should tolerate drift (and overwrite it) HOT 4
- Feature Request: Expose skip operation reasons HOT 3
- Bug: event printer only prints reconcile summary once (should be 1 for apply wait & 1 for prune wait) HOT 3
- Provide the possibility to override condition functions for resources HOT 10
- ObjectMetadata fieldSeparator is set to underscore, breaking Gitlab Kubernetes Agent and Crossplane. HOT 2
- kapply panic when the inventory object is missing HOT 5
- kstatus does not accept booleans for conditions HOT 7
- Table view as in `kpt live apply` is hard to read on slow terminals HOT 4
- Bug: objects flagged by CurrentUIDFilter should be removed from the inventory
- Watch for client-go deployments HOT 5
- Fix or reduce frequency or switch off perma-failing jobs HOT 6
- safely consuming kstatus collector updates HOT 6
- Feature Request: Optionally skip waiting for reconciliation HOT 9
- kstatus: defaults to fail open when no `status` field is available HOT 5
- Archive the repository? HOT 2
- Feature Request: Apply roles before bindings HOT 1
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 cli-utils.