Bug 1938262 - [KubeVirt] Pod placement configuration - dry run is not performed for all the configuration stanza
Summary: [KubeVirt] Pod placement configuration - dry run is not performed for all the...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Container Native Virtualization (CNV)
Classification: Red Hat
Component: Virtualization
Version: 4.8.0
Hardware: Unspecified
OS: Unspecified
high
high
Target Milestone: ---
: 4.9.1
Assignee: Igor Bezukh
QA Contact: zhe peng
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2021-03-12 15:56 UTC by Satyajit Bulage
Modified: 2021-12-13 19:59 UTC (History)
8 users (show)

Fixed In Version: virt-operator-container-v4.9.1-2 hco-bundle-registry-container-v4.9.1-2
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2021-12-13 19:59:01 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)
Incorrect infra configuration. (457 bytes, text/plain)
2021-03-12 15:56 UTC, Satyajit Bulage
no flags Details


Links
System ID Private Priority Status Summary Last Updated
Github kubevirt kubevirt pull 6103 0 None None None 2021-08-01 18:45:12 UTC
Red Hat Product Errata RHBA-2021:5091 0 None None None 2021-12-13 19:59:17 UTC

Description Satyajit Bulage 2021-03-12 15:56:06 UTC
Created attachment 1763037 [details]
Incorrect infra configuration.

Description of problem:
Incorrect information related to infra configuration provided to KubeVirt CR through the HCO spec is being accepted.


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


How reproducible:100%


Steps to Reproduce:
1.Add attached yaml contents in the HCO CR spec
2.Observe the HCO CR status in the UI as well as CLI


Actual results: Changes to HCO CR are propagated to KubeVirt CR which is accepted which leads to HCO CR keeping itself in Progressing state and never completes.


Expected results: Changes made to the Infra under HCO CR spec should be refused by KubeVirt CR as they are incorrect.


Additional info:In the attached example the wrong part of the configuration is the "Equal" operand which doesn't exists.

HCO CR refuse to update incorrect changes which is fixed in the BZ(https://bugzilla.redhat.com/show_bug.cgi?id=1893646).

Comment 1 sgott 2021-03-15 21:12:20 UTC
Igor,

I've targetted this to the 4.8.0 release because it appears the problem is well understood and the scope of the problem is limited. I've assigned it to you as you appear to have been involved in fixing the issue on the HCO side.

Please advise if I'm mistaken.

Comment 2 Igor Bezukh 2021-03-29 12:51:18 UTC
Hi

You are correct, I was involved in this case and I managed to reproduce this issue on our side:

- disable HCO
- edit KV CR
- put the wrong value
- configuration applied while should be rejected

Will start working on this issue.

Comment 3 Inbar Rose 2021-04-19 06:26:00 UTC
Can we get an update on the status please? This is blocking automation.

Comment 4 Igor Bezukh 2021-04-28 12:29:17 UTC
Work in progress on this issue. PR will be ready soon

Comment 5 Kedar Bidarkar 2021-05-19 12:26:28 UTC
Deferring due to capacity.

Comment 6 Inbar Rose 2021-05-19 12:30:15 UTC
Is it possible this can be targeted to a 4.8.Z stream?

Comment 10 zhe peng 2021-11-10 07:15:31 UTC
I can reproduce this with 4.8
verify with build: v4.9.1-4

step:
1. deploy 4.9.1 on PSI
2. edit kubevirt CR from webUI or CLI
add below:
spec:
  infra:
    nodePlacement:
      tolerations:
      - key: "foo"
        value: "bar"
        operator: "nonexistingOperatorString"
spec:
  workloads:
    nodePlacement:
      tolerations:
      - key: "foo"
        value: "bar"
        operator: "nonexistingOperatorString"
when saved config, will get syntax error immediately:
Error "Unsupported value: "nonexistingOperatorString": supported values: "Equal", "Exists"" for field "spec.template.spec.tolerations[0].operator".

I also test yaml contents from bug description
infra:
      nodePlacement:
        affinity:
          nodeAffinity:
            requiredDuringSchedulingIgnoredDuringExecution:
              nodeSelectorTerms:
              - matchExpressions:
                - key: role.kubernetes.io/master
                  operator: Equal
                  values:
                  - ""
        tolerations:
        - effect: NoSchedule
          key: master
          operator: Exists

when saved config, will get syntax error immediately:
Error "Invalid value: "Equal": not a valid selector operator" for field "spec.template.spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[0].matchExpressions[0].operator".

move to verified.

Comment 17 errata-xmlrpc 2021-12-13 19:59:01 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 (OpenShift Virtualization 4.9.1 Images), 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/RHBA-2021:5091


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