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

Azure / ARO-RP / 33741256103
41%

Build:
DEFAULT BRANCH: master
Ran 03 Sep 2026 09:53AM UTC
Jobs 6
Files 966
Run time 2min
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

03 Sep 2026 09:52AM UTC coverage: 40.77% (-0.01%) from 40.781%
33741256103

push

github

web-flow
[ARO-29319] Defer document encryption key rotation until a re-seal path exists (#5057)

* fix(deploy): defer document encryption key rotation pending re-seal

A service enumerates the encryption key versions in force once, at start-up,
and seals with whichever is current then. A service that is not restarted
after a rotation holds no opener for the new version, and so cannot read what
its restarted peers have since written. The MIMO units have never been in the
restart script, and lost the ability to open cluster documents on the RP scale
set as a result.

Until existing documents can be re-sealed and superseded versions retired,
rotating encryption-key-v2 and fe-encryption-key-v2 does not offset that cost.
Create them if absent and leave them alone thereafter, as the legacy secrets
already are.

The portal session key continues to rotate. aro-portal alone holds it, so the
restart script is reduced to that unit and now runs only when that key is
rotated.

Add a test that the script restarts aro-portal and nothing else, replacing an
assertion that compared the constant to itself.

* test(deploy): pin the restart script to the holders of the secret

The script names the services that must be restarted to pick up a rotated
secret, and drift in that list is what let this incident run undetected.
Pin it: every unit named must be a known key vault consumer, must hold the
portal session key, and every holder must appear. Unit names are compared
whole, so a future aro-rp-something cannot satisfy a check for aro-rp.

The restart expectation was AnyTimes(), which zero calls satisfy, so the
cases meant to prove a restart happens passed without one. Make it
Times(1), and add a case fixing that creating the portal SSH host key
restarts nothing.

ensureSecretKey's result is discarded. Say why: it returns on finding any
version, with no age check, so this code never supersedes a version a
running service already holds, and creation means initial rollout, where
there... (continued)

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

7 existing lines in 2 files now uncovered.

32097 of 78727 relevant lines covered (40.77%)

0.47 hits per line

Coverage Regressions

Lines Coverage ∆ File
4
73.91
-17.39% pkg/frontend/middleware/maintenance.go
3
94.61
0.0% pkg/frontend/admin_openshiftcluster_runjob.go
Jobs
ID Job ID Ran Files Coverage
1 pkg-frontend - 33741256103.1 03 Sep 2026 09:57AM UTC 106
75.97
GitHub Action Run
2 cmd - 33741256103.2 03 Sep 2026 09:56AM UTC 13
0.0
GitHub Action Run
3 pkg-api - 33741256103.3 03 Sep 2026 09:53AM UTC 164
60.09
GitHub Action Run
4 pkg-operator - 33741256103.4 03 Sep 2026 09:56AM UTC 79
51.72
GitHub Action Run
5 pkg-other - 33741256103.5 03 Sep 2026 09:57AM UTC 281
35.48
GitHub Action Run
6 pkg-util - 33741256103.6 03 Sep 2026 09:57AM UTC 323
22.29
GitHub Action Run
Source Files on build 33741256103
  • Tree
  • List 966
  • Changed 4
  • Source Changed 1
  • Coverage Changed 4
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #33741256103
  • 3772040c on github
  • Prev Build on master (#33672203504)
  • Next Build on master (#33741291236)
  • 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