Bug 2171801 - virt-operator performs redundant reconciliations to its operands
Summary: virt-operator performs redundant reconciliations to its operands
Keywords:
Status: ASSIGNED
Alias: None
Product: Container Native Virtualization (CNV)
Classification: Red Hat
Component: Virtualization
Version: 4.13.0
Hardware: Unspecified
OS: Unspecified
medium
medium
Target Milestone: ---
: 4.14.0
Assignee: ffossemo
QA Contact: Kedar Bidarkar
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2023-02-20 13:18 UTC by Igor Bezukh
Modified: 2023-07-31 12:41 UTC (History)
1 user (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed:
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Issue Tracker CNV-25915 0 None None None 2023-02-20 13:20:02 UTC

Description Igor Bezukh 2023-02-20 13:18:17 UTC
Description of problem:
There is a subset of configuration fields in Kubevirt CR which define controller behavior rather than deployment desired state. For example the migration configuration doesn't require any reconciliation of the virt-controller. The controller will read the updated bits upon its regular execution cycles.

Nevertheless, when changing such configuration, virt-operator performs reconciliation. The operator patches the virt-api, virt-controller, PDB and webhook resources with a new annotation each time. 

This is redundant, since the generation number should reflect the changes made to the resources, and not the internal runtime configuration.


Version-Release number of selected component (if applicable):


How reproducible:
100%

Steps to Reproduce:
1. Edit the Kubevirt CR. Update the following: 
   - spec.configration.migrations.parallelMigrationsPerCluster: 100
2. Observe the the virt-api deployment resource. kubevirt.io/generation will increase. Also metadata.generation will increase
3. Observe the Kubevirt CR status. The Last generation of the above-mentioned operands will increase.

Actual results:
Generation annotations of operands is being bumped

Expected results:
Generation annotation should be bumped only when desired state changed.


Additional info:


Note You need to log in before you can comment on or make changes to this bug.