Uploaded image for project: 'OpenShift Virtualization'
  1. OpenShift Virtualization
  2. CNV-25915

[2171801] virt-operator performs redundant reconciliations to its operands

XMLWordPrintable

    • CNV Virtualization Sprint 240, CNV Virtualization Sprint 244
    • Moderate
    • No

      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:

              omisan@redhat.com Orel Misan
              ibezukh Igor Bezukh
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated:
                Resolved: