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

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

Build:
Build:
LAST BUILD BRANCH: pull-request/145
DEFAULT BRANCH: main
Ran 11 Jun 2026 05:36PM UTC
Jobs 1
Files 20
Run time 1min
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

11 Jun 2026 05:33PM UTC coverage: 62.666% (+0.6%) from 62.114%
27365593432

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 or nodes with an explicit upgrade-requested annotation,
and 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>

38 of 39 new or added lines in 2 files covered. (97.44%)

1462 of 2333 relevant lines covered (62.67%)

0.7 hits per line

Uncovered Changes

Lines Coverage ∆ File
1
81.36
6.36% pkg/upgrade/upgrade_inplace.go
Jobs
ID Job ID Ran Files Coverage
1 27365593432.1 11 Jun 2026 05:36PM UTC 20
62.67
GitHub Action Run
Source Files on build 27365593432
  • Tree
  • List 20
  • Changed 3
  • Source Changed 3
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #27365593432
  • 328f701f on github
  • Prev Build on main (#25393167969)
  • Next Build on pull-request/145 (#27376940706)
  • Delete
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