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

kubevirt / hyperconverged-cluster-operator / 17264181252
76%

Build:
DEFAULT BRANCH: main
Ran 27 Aug 2025 10:33AM UTC
Jobs 1
Files 105
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

27 Aug 2025 10:28AM UTC coverage: 77.162% (-0.09%) from 77.249%
17264181252

push

github

web-flow
Improve the performance of the HyperConverged CR deletion + some chores (#3730)

* Improve the performance of the HyperConverged CR

When the HyperConverged CR is deleted, the current behavior is to
remove the KubeVirt, CDI, CNAO, SSP, and the AAQ CRs (with some
additional resources and CRs).

The deletion itself takes a lot of time. By looking at the SSP operator
code, it appears that it is trying to access several CDI and KubeVirt
CRs, like VirtualMachines or DataImportCron, and that these
operations are failed, because the relevant CRDs were already removed
by the virt operator and the cdi operator, when the KubeVirt and the CDI
CRs were removed.

That delays the removal of the SSP CR for a few minutes. Eventually,
the SSP CR is deleted, and then the HyperConverged is deleted too,
but it takes long time.

This PR changes the order of the resource deletions. It removes the
KubeVirt and the CDI CRs, only after all the other resources and CRs
are successfully removed.

The result is much faster deletion of the HyperConverged CR.

Signed-off-by: Nahshon Unna-Tsameret <nunnatsa@redhat.com>

* Get rid of the `JustBeforeComplete` method

The HCOOperandHooks interface defines the `JustBeforeComplete` method to
be called after a specific operand was successfully ensured.

After a few years, it is very clear that we never used this hook method,
except for the SSP handler. Any other operand handler must implement
this method to satisfy the interface, but has no implementation. This
is just a redundant code that we don't need, and make the code a bit more
complex for no good reason, make it harder to read and understand, to
add new handlers and so on. Also, in general, we prefer interfaces to be
as small as possible.

This PR removes the `JustBeforeComplete` method from the HCOOperandHooks
interface, and all the method implementations from all the handlers.

The SSP handler was modified to be a `GenericOperand` wrapper, instead
of just a `GenericOperand` objec... (continued)

56 of 58 new or added lines in 7 files covered. (96.55%)

10 existing lines in 1 file now uncovered.

7862 of 10189 relevant lines covered (77.16%)

1.84 hits per line

New Missed Lines in Diff

Lines Coverage ∆ File
2
79.63
0.54% controllers/operands/generic_operand.go

Uncovered Existing Lines

Lines Coverage ∆ File
10
91.89
-4.5% controllers/handlers/passt/passt.go
Jobs
ID Job ID Ran Files Coverage
1 Unit - 17264181252.1 27 Aug 2025 10:33AM UTC 105
77.16
GitHub Action Run
Source Files on build 17264181252
  • Tree
  • List 105
  • Changed 23
  • Source Changed 23
  • Coverage Changed 22
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #17264181252
  • bae6e2f1 on github
  • Prev Build on main (#17263445691)
  • Next Build on main (#17298239912)
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