Bug 2089078 - ConsolePlugin kubevirt-plugin is not getting reconciled by hco
Summary: ConsolePlugin kubevirt-plugin is not getting reconciled by hco
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Container Native Virtualization (CNV)
Classification: Red Hat
Component: Installation
Version: 4.11.0
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
: 4.11.0
Assignee: Oren Cohen
QA Contact: Debarati Basu-Nag
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2022-05-23 01:40 UTC by Debarati Basu-Nag
Modified: 2023-11-13 08:10 UTC (History)
3 users (show)

Fixed In Version: CNV v4.11.0-396, HCO v4.11.0-71
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2022-09-14 19:34:32 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Github kubevirt hyperconverged-cluster-operator pull 1965 0 None open ConsolePlugin bugfix: Reconcile CR if labels were modified 2022-05-23 20:26:48 UTC
Red Hat Issue Tracker CNV-18516 0 None None None 2023-11-13 08:10:57 UTC
Red Hat Product Errata RHSA-2022:6526 0 None None None 2022-09-14 19:34:39 UTC

Description Debarati Basu-Nag 2022-05-23 01:40:45 UTC
Description of problem: ConsolePlugin kubevirt-plugin is not getting reconciled by hco


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

How reproducible:
100%

Steps to Reproduce:
1. Add a label to metadata.label of ConsolePlugin kubevirt-plugin 
2. Wait for it to be overwritten by hco
3.

Actual results:

It never gets overwritten:
[cnv-qe-jenkins@c01-dbn-411-fv5nk-executor ~]$ kubectl get ConsolePlugin kubevirt-plugin -A -o yaml
apiVersion: console.openshift.io/v1alpha1
kind: ConsolePlugin
metadata:
  creationTimestamp: "2022-05-22T00:22:27Z"
  generation: 1
  labels:
    app: kubevirt-hyperconverged
    app.kubernetes.io/component: deployment
    app.kubernetes.io/managed-by: hco-operator
    app.kubernetes.io/part-of: hyperconverged-cluster
    app.kubernetes.io/version: 4.11.0
    temp_label: test
  name: kubevirt-plugin
  resourceVersion: "3176461"
  uid: 25fdac9c-a79c-4679-8247-3033d6193e8f
spec:
  displayName: Kubevirt Console Plugin
  service:
    basePath: /
    name: kubevirt-plugin-service
    namespace: openshift-cnv
    port: 9443
[cnv-qe-jenkins@c01-dbn-411-fv5nk-executor ~]$
==================
[cnv-qe-jenkins@c01-dbn-411-fv5nk-executor ~]$ kubectl get hco kubevirt-hyperconverged -n openshift-cnv -o json| jq '.status.relatedObjects[] | select(.kind == "ConsolePlugin")'
{
  "apiVersion": "console.openshift.io/v1alpha1",
  "kind": "ConsolePlugin",
  "name": "kubevirt-plugin",
  "resourceVersion": "3176461",
  "uid": "25fdac9c-a79c-4679-8247-3033d6193e8f"
}
[cnv-qe-jenkins@c01-dbn-411-fv5nk-executor ~]$ 

==================
{"level":"info","ts":1653269542.2634776,"logger":"controller_hyperconverged","msg":"ConsolePlugin already exists","Request.Namespace":"openshift-cnv","Request.Name":"kubevirt-hyperconverged","ConsolePlugin.Namespace":"","ConsolePl
ugin.Name":"kubevirt-plugin"}
{"level":"info","ts":1653269542.2634869,"logger":"controller_hyperconverged","msg":"Reconcile complete","Request.Namespace":"openshift-cnv","Request.Name":"kubevirt-hyperconverged"}
{"level":"info","ts":1653269542.2634926,"logger":"controller_hyperconverged","msg":"No component operator reported negatively","Request.Namespace":"openshift-cnv","Request.Name":"kubevirt-hyperconverged"}
{"level":"info","ts":1653269542.2635198,"logger":"controller_hyperconverged","msg":"setting the Upgradeable operator condition","Request.Namespace":"openshift-cnv","Request.Name":"kubevirt-hyperconverged","requested status":true}
{"level":"error","ts":1653269542.2787266,"logger":"controller_hyperconverged","msg":"Failed to update HCO Status","Request.Namespace":"openshift-cnv","Request.Name":"kubevirt-hyperconverged","error":"Operation cannot be fulfilled 
on hyperconvergeds.hco.kubevirt.io \"kubevirt-hyperconverged\": the object has been modified; please apply your changes to the latest version and try again","stacktrace":"github.com/kubevirt/hyperconverged-cluster-operator/control
lers/hyperconverged.(*ReconcileHyperConverged).updateHyperConverged\n\t/remote-source/app/controllers/hyperconverged/hyperconverged_controller.go:556\ngithub.com/kubevirt/hyperconverged-cluster-operator/controllers/hyperconverged.
(*ReconcileHyperConverged).Reconcile\n\t/remote-source/app/controllers/hyperconverged/hyperconverged_controller.go:304\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Reconcile\n\t/remote-source/app/vendor/si
gs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:114\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler\n\t/remote-source/app/vendor/sigs.k8s.io/controller-runtime/pkg/internal
/controller/controller.go:311\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem\n\t/remote-source/app/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:266\nsigs.k8
s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2\n\t/remote-source/app/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:227"}
{"level":"error","ts":1653269542.278778,"logger":"controller.hyperconverged-controller","msg":"Reconciler error","name":"kubevirt-hyperconverged","namespace":"openshift-cnv","error":"Operation cannot be fulfilled on hyperconverged
s.hco.kubevirt.io \"kubevirt-hyperconverged\": the object has been modified; please apply your changes to the latest version and try again","stacktrace":"sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).process
NextWorkItem\n\t/remote-source/app/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:266\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2\n\t/remote-source/app/vendor/si
gs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:227"}
{"level":"info","ts":1653269542.28402,"logger":"controller_hyperconverged","msg":"Reconciling HyperConverged operator","Request.Namespace":"openshift-cnv","Request.Name":"kubevirt-hyperconverged"}
{"level":"info","ts":1653269542.2840986,"logger":"controller_hyperconverged","msg":"KubeVirtPriorityClass already exists","Request.Namespace":"openshift-cnv","Request.Name":"kubevirt-hyperconverged","KubeVirtPriorityClass.Namespac
e":"","KubeVirtPriorityClass.Name":"kubevirt-cluster-critical"}
{"level":"info","ts":1653269542.2842393,"logger":"controller_hyperconverged","msg":"KubeVirt already exists","Request.Namespace":"openshift-cnv","Request.Name":"kubevirt-hyperconverged","KubeVirt.Namespace":"openshift-cnv","KubeVi
rt.Name":"kubevirt-kubevirt-hyperconverged"}


Expected results:
Any changes to ConsolePlugin kubevirt-plugin would be overwritten by hco.

Additional info:

Comment 1 Debarati Basu-Nag 2022-06-01 00:38:41 UTC
Verified against v4.11.0-426. ConsolePlugin kubevirt-plugin is getting reconciled.
===============
[cnv-qe-jenkins@c01-dbn-411-h54s6-executor ~]$ kubectl get ConsolePlugin kubevirt-plugin -o yaml
apiVersion: console.openshift.io/v1alpha1
kind: ConsolePlugin
metadata:
  creationTimestamp: "2022-05-31T17:07:40Z"
  generation: 1
  labels:
    app: kubevirt-hyperconverged
    app.kubernetes.io/component: deployment
    app.kubernetes.io/managed-by: hco-operator
    app.kubernetes.io/part-of: hyperconverged-cluster
    app.kubernetes.io/version: 4.11.0
    itest: test_label
  name: kubevirt-plugin
  resourceVersion: "885548"
  uid: 93dbf3ec-73fe-4001-8724-fab4d0ef34ff
spec:
  displayName: Kubevirt Console Plugin
  service:
    basePath: /
    name: kubevirt-plugin-service
    namespace: openshift-cnv
    port: 9443
[cnv-qe-jenkins@c01-dbn-411-h54s6-executor ~]$ kubectl get hco kubevirt-hyperconverged -n openshift-cnv -o json| jq '.status.relatedObjects[] | select(.kind == "ConsolePlugin")'
{
  "apiVersion": "console.openshift.io/v1alpha1",
  "kind": "ConsolePlugin",
  "name": "kubevirt-plugin",
  "resourceVersion": "67099",
  "uid": "93dbf3ec-73fe-4001-8724-fab4d0ef34ff"
}
[cnv-qe-jenkins@c01-dbn-411-h54s6-executor ~]$ kubectl get hco kubevirt-hyperconverged -n openshift-cnv -o json| jq '.status.relatedObjects[] | select(.kind == "ConsolePlugin")'
{
  "apiVersion": "console.openshift.io/v1alpha1",
  "kind": "ConsolePlugin",
  "name": "kubevirt-plugin",
  "resourceVersion": "887478",
  "uid": "93dbf3ec-73fe-4001-8724-fab4d0ef34ff"
}
[cnv-qe-jenkins@c01-dbn-411-h54s6-executor ~]$ kubectl get ConsolePlugin kubevirt-plugin -o yaml
apiVersion: console.openshift.io/v1alpha1
kind: ConsolePlugin
metadata:
  creationTimestamp: "2022-05-31T17:07:40Z"
  generation: 1
  labels:
    app: kubevirt-hyperconverged
    app.kubernetes.io/component: deployment
    app.kubernetes.io/managed-by: hco-operator
    app.kubernetes.io/part-of: hyperconverged-cluster
    app.kubernetes.io/version: 4.11.0
  name: kubevirt-plugin
  resourceVersion: "887478"
  uid: 93dbf3ec-73fe-4001-8724-fab4d0ef34ff
spec:
  displayName: Kubevirt Console Plugin
  service:
    basePath: /
    name: kubevirt-plugin-service
    namespace: openshift-cnv
    port: 9443
[cnv-qe-jenkins@c01-dbn-411-h54s6-executor ~]$

Comment 4 errata-xmlrpc 2022-09-14 19:34:32 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (Important: OpenShift Virtualization 4.11.0 Images security and bug fix update), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHSA-2022:6526


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