• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In
Warning: This build has drifted.
The coverage report for this pull request build may be inaccurate because its base commit is no longer the HEAD of its target branch.
This means it includes changes from outside the original pull request, including, potentially, unrelated coverage changes.

    • Learn more: For more information on this, see Tracking coverage changes for pull request builds.
    • Fix now: For a quick fix, rebase this PR at GitHub. Your next report should be accurate.
    • Prevent going forward: To avoid this issue with future PRs, see these Recommended CI Configurations.
New Repo Setting:
INCLUDE COVERAGE % WITH WARNINGS ABOUT DRIFTED BUILDS?

Enabling this setting will include a (potentially inaccurate) coverage % with warning messages in status updates for drifted builds.

Adjust setting

oracle / karpenter-provider-oci / 32325878564
80%
main: 80%

Build:
Build:
LAST BUILD BRANCH: karpenter-core-v1.14.1
DEFAULT BRANCH: main
Ran 02 Sep 2026 11:31PM UTC
Jobs 1
Files 62
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

20 Aug 2026 02:43AM UTC coverage: 79.809% (-0.03%) from 79.84%
32325878564

Pull #75

github

wulifu2hao
fix: correct eviction threshold memory units and hard/soft field reads

evictionThreshold() built its memory base as int64(gbs*1024*1024) and
passed it to resource.NewQuantity, which takes bytes. gbs is in GiB, so
the conversion needs 1024^3; every percentage-based memory threshold came
out 1024x too small.

Since the eviction threshold is part of InstanceTypeOverhead, and core
computes allocatable as capacity minus that overhead, this over-estimated
allocatable memory by nearly the whole intended threshold -- ~3.2 GiB on a
32 GiB node with memory.available: 10%. Karpenter then launches a node the
pending pod cannot fit on and, with no feedback loop, repeats indefinitely.

Separately, both the hard and soft blocks read EvictionHard for memory and
EvictionSoft for nodefs, so EvictionSoft[memory.available] and
EvictionHard[nodefs.available] were never consulted, and a KubeletConfig
setting only evictionSoft produced no threshold at all.

Only configs using percentage-valued memory signals are affected; absolute
values such as 500Mi are parsed directly and were always correct.

Two existing cases in TestEvictionThreshold asserted the buggy values (with
a comment reading '32Mi * 0.1' for a 32 GiB node) and are updated.
Pull Request #75: fix: correct evictionThreshold memory units and hard/soft field reads

4 of 4 new or added lines in 1 file covered. (100.0%)

2 existing lines in 1 file now uncovered.

5087 of 6374 relevant lines covered (79.81%)

0.92 hits per line

Coverage Regressions

Lines Coverage ∆ File
2
83.33
-8.33% pkg/utils/refresher.go
Jobs
ID Job ID Ran Files Coverage
1 32325878564.1 02 Sep 2026 11:31PM UTC 62
79.81
GitHub Action Run
Source Files on build 32325878564
  • Tree
  • List 62
  • Changed 2
  • Source Changed 0
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Pull Request #75
  • PR Base - main (#32151015446)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc