Closed manfredlift closed 2 months ago
@karlkfi / @seans3 any thoughts on this?
While having a similar problem it would be nice if it's possible to skip reconciliation only for specific resources with a label
config.kubernetes.io/skip-waiting-for-reconciliation: "true"
The Kubernetes project currently lacks enough contributors to adequately respond to all issues.
This bot triages un-triaged issues according to the following rules:
lifecycle/stale
is appliedlifecycle/stale
was applied, lifecycle/rotten
is appliedlifecycle/rotten
was applied, the issue is closedYou can:
/remove-lifecycle stale
/close
Please send feedback to sig-contributor-experience at kubernetes/community.
/lifecycle stale
The Kubernetes project currently lacks enough active contributors to adequately respond to all issues.
This bot triages un-triaged issues according to the following rules:
lifecycle/stale
is appliedlifecycle/stale
was applied, lifecycle/rotten
is appliedlifecycle/rotten
was applied, the issue is closedYou can:
/remove-lifecycle rotten
/close
Please send feedback to sig-contributor-experience at kubernetes/community.
/lifecycle rotten
The Kubernetes project currently lacks enough active contributors to adequately respond to all issues and PRs.
This bot triages issues according to the following rules:
lifecycle/stale
is appliedlifecycle/stale
was applied, lifecycle/rotten
is appliedlifecycle/rotten
was applied, the issue is closedYou can:
/reopen
/remove-lifecycle rotten
Please send feedback to sig-contributor-experience at kubernetes/community.
/close not-planned
@k8s-triage-robot: Closing this issue, marking it as "Not Planned".
Can you provide some more use cases that explain why you wouldn't want to wait for reconciliation?
Reconciliation is effectively required for the dependency ordering (implicit and explicit) and apply-time-mutation.
I can imagine use cases without apply-time-mutation and without explicit dependencies, but there are still implicit dependencies (ex: CRDs & Namespaces) that need the applier to wait for dependencies to be reconciled.
There are also a lot more cases where deletion & pruning requires reconciliation (aka NotFound) and not just deleted, especially when there are finalizers.
The Kubernetes project currently lacks enough active contributors to adequately respond to all issues and PRs.
This bot triages issues according to the following rules:
lifecycle/stale
is appliedlifecycle/stale
was applied, lifecycle/rotten
is appliedlifecycle/rotten
was applied, the issue is closedYou can:
/reopen
/remove-lifecycle rotten
Please send feedback to sig-contributor-experience at kubernetes/community.
/close not-planned
@k8s-triage-robot: Closing this issue, marking it as "Not Planned".
The waiting for reconciliation feature can be undesirable in a lot of real-world uses of cli-utils. Imagine waiting for a DaemonSet across many nodes to reconcile (where some of the nodes might be unhealthy), in that case the reconciliation might never finish regardless of the wait time. Some users like myself wish to use kapply as a drop-in replacement for kubectl just for the pruning feature and don't need the reconciliation, which makes the tool infeasibly slow to use when using to apply many objects. I do realise that some features like apply-time mutation might not work reliably when used together with this feature -- perhaps we can make the skip reconciliation and apply-time mutation features mutually exclusive or mark the skip reconciliation option as dangerous.
I propose adding support to optionally skip waiting for reconciliation. I've opened a draft PR with a patch that works for myself -- I can obviously add tests etc if the patch looks feasible: https://github.com/kubernetes-sigs/cli-utils/pull/630