• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

NVIDIA / k8s-operator-libs
63%
main: 62%

Build:
Build:
LAST BUILD BRANCH: pull-request/145
DEFAULT BRANCH: main
Repo Added 09 Jan 2024 11:21AM UTC
Token FQB9I1vDYh7d5xWkpcB0REXSEYE1rsUtp regen
Build 306 Last
Files 20
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

LAST BUILD ON BRANCH pull-request/145
branch: pull-request/145
CHANGE BRANCH
x
Reset
Sync Branches
  • pull-request/145
  • add-apply-crds
  • add-dependabot
  • bump-kubectl
  • bump-tool-deps
  • bump-xnet
  • chore/adjust_ci_to_map_nvidia-k8s-ipam
  • crdutil-add-single-files
  • dependabot/github_actions/actions/setup-go-5
  • dependabot/go_modules/golang.org/x/net-0.23.0
  • dependabot/go_modules/google.golang.org/protobuf-1.33.0
  • dependabot/go_modules/main/github.com/onsi/ginkgo/v2-2.19.1
  • dependabot/go_modules/main/github.com/onsi/ginkgo/v2-2.20.0
  • dependabot/go_modules/main/github.com/onsi/ginkgo/v2-2.20.1
  • dependabot/go_modules/main/github.com/onsi/ginkgo/v2-2.20.2
  • dependabot/go_modules/main/github.com/onsi/ginkgo/v2-2.21.0
  • dependabot/go_modules/main/github.com/onsi/ginkgo/v2-2.22.0
  • dependabot/go_modules/main/github.com/onsi/gomega-1.33.0
  • dependabot/go_modules/main/github.com/onsi/gomega-1.33.1
  • dependabot/go_modules/main/github.com/onsi/gomega-1.34.0
  • dependabot/go_modules/main/github.com/onsi/gomega-1.34.1
  • dependabot/go_modules/main/github.com/onsi/gomega-1.34.2
  • dependabot/go_modules/main/github.com/onsi/gomega-1.35.0
  • dependabot/go_modules/main/github.com/onsi/gomega-1.35.1
  • dependabot/go_modules/main/github.com/onsi/gomega-1.36.0
  • dependabot/go_modules/main/github.com/onsi/gomega-1.36.1
  • dependabot/go_modules/main/github.com/stretchr/testify-1.10.0
  • dependabot/go_modules/main/github.com/stretchr/testify-1.9.0
  • dependabot/go_modules/main/k8sio-198a6d0bae
  • dependabot/go_modules/main/k8sio-37342b06f2
  • dependabot/go_modules/main/k8sio-5db273b18b
  • dependabot/go_modules/main/k8sio-7f39221a3b
  • dependabot/go_modules/main/k8sio-b1a24d6a84
  • dependabot/go_modules/main/k8sio-e368f94c79
  • dependabot/go_modules/main/k8sio-ee6bb839ca
  • dependabot/go_modules/main/k8sio-f87809c536
  • dependabot/go_modules/main/sigs.k8s.io/controller-runtime-0.17.3
  • dependabot/go_modules/main/sigs.k8s.io/controller-runtime-0.19.0
  • dependabot/go_modules/main/sigs.k8s.io/controller-runtime-0.19.1
  • dependabot/go_modules/main/sigs.k8s.io/controller-runtime-0.19.2
  • dependabot/go_modules/main/sigs.k8s.io/controller-runtime-0.19.3
  • dpdbot-gomod-freq
  • main
  • pr-bump-cr-0.17.0
  • pull-request/100
  • pull-request/101
  • pull-request/102
  • pull-request/103
  • pull-request/104
  • pull-request/105
  • pull-request/107
  • pull-request/110
  • pull-request/115
  • pull-request/120
  • pull-request/121
  • pull-request/122
  • pull-request/123
  • pull-request/124
  • pull-request/126
  • pull-request/127
  • pull-request/128
  • pull-request/129
  • pull-request/130
  • pull-request/131
  • pull-request/132
  • pull-request/134
  • pull-request/136
  • pull-request/137
  • pull-request/138
  • pull-request/139
  • pull-request/58
  • pull-request/59
  • pull-request/70
  • pull-request/71
  • pull-request/72
  • pull-request/73
  • pull-request/74
  • pull-request/75
  • pull-request/76
  • pull-request/77
  • pull-request/78
  • pull-request/79
  • pull-request/80
  • pull-request/81
  • pull-request/82
  • pull-request/83
  • pull-request/84
  • pull-request/85
  • pull-request/86
  • pull-request/89
  • pull-request/90
  • pull-request/91
  • pull-request/92
  • pull-request/93
  • pull-request/94
  • pull-request/95
  • pull-request/96
  • pull-request/97
  • pull-request/99
  • rename-crds-pkg
  • rm-deprec-method
  • upd-rest-deps

16 Jun 2026 08:01PM UTC coverage: 62.553% (+0.4%) from 62.114%
27644467942

push

github

rajathagasthya
Add optional restart-only predicate to inplace upgrade flow

Consumers occasionally need a DaemonSet's pods rolled to a new revision
without the disruptive pod-eviction and drain sequence -- for example
when a pod-template change does not affect the managed software (a
label-only change) yet still changes the controller revision hash, so
the node is otherwise driven through the full upgrade flow.

Add an optional RestartOnlyPredicate hook, registered via
WithRestartOnlyPredicate. In the inplace ProcessUpgradeRequiredNodes,
when the predicate reports that a full upgrade is not needed, cordon the
node and route it straight to pod-restart-required, skipping
wait-for-jobs, pod-deletion, and drain. The pod is still restarted so
the DaemonSet converges to the new revision. Cordoning keeps the node
unschedulable if the restart fails, matching the full flow; the
uncordon-required state uncordons it on success.

The change is additive and backward compatible: a nil predicate (the
default, and every existing consumer) preserves current behavior, and
podInSyncWithDS is unchanged. If the predicate returns an error or the
cordon fails, the node is kept in upgrade-required and retried on a
later reconcile, with a Warning event recorded -- an upgrade is never
started on an unknown answer. The predicate is not consulted for
orphaned pods, nodes with an explicit upgrade-requested annotation, or
nodes waiting for safe driver load -- the safe-load handshake relies on
the full flow to evict workloads before the driver load is unblocked at
pod-restart-required. The maxParallelUpgrades throttle applies to both
paths. The upgrade-requested state is captured before the annotation is
cleared, because the node provider re-fetches and overwrites the
in-memory node object.

Signed-off-by: Rajath Agasthya <ragasthya@nvidia.com>

41 of 48 new or added lines in 2 files covered. (85.42%)

1465 of 2342 relevant lines covered (62.55%)

0.7 hits per line

Relevant lines Covered
Build:
Build:
2342 RELEVANT LINES 1465 COVERED LINES
0.7 HITS PER LINE
Source Files on pull-request/145
  • Tree
  • List 20
  • Changed 3
  • Source Changed 3
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
27644467942 pull-request/145 Add optional restart-only predicate to inplace upgrade flow Consumers occasionally need a DaemonSet's pods rolled to a new revision without the disruptive pod-eviction and drain sequence -- for example when a pod-template change does not affect t... push 16 Jun 2026 08:04PM UTC rajathagasthya github
62.55
27376940706 pull-request/145 Add optional restart-only predicate to inplace upgrade flow Consumers occasionally need a DaemonSet's pods rolled to a new revision without the disruptive pod-eviction and drain sequence -- for example when a pod-template change does not affect t... push 11 Jun 2026 09:00PM UTC rajathagasthya github
62.59
27365593432 pull-request/145 Add optional restart-only predicate to inplace upgrade flow Consumers occasionally need a DaemonSet's pods rolled to a new revision without the disruptive pod-eviction and drain sequence -- for example when a pod-template change does not affect t... push 11 Jun 2026 05:36PM UTC rajathagasthya github
62.67
27364405118 pull-request/145 Add optional restart-only predicate to inplace upgrade flow Consumers occasionally need a DaemonSet's pods rolled to a new revision without the disruptive pod-eviction and drain sequence -- for example when a pod-template change does not affect t... push 11 Jun 2026 05:16PM UTC rajathagasthya github
62.67
See All Builds (268)

Badge your Repo: k8s-operator-libs

We detected this repo isn’t badged! Grab the embed code to the right, add it to your repo to show off your code coverage, and when the badge is live hit the refresh button to remove this message.

Could not find badge in README.

Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

Refresh
  • Settings
  • Repo on GitHub
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc