Bug 1931519

Summary: [CNV-2.5] Manifests in openshift-cnv missing resource requirements - Virt
Product: Container Native Virtualization (CNV) Reporter: Jordi Gil <jgil>
Component: VirtualizationAssignee: aschuett <aschuett>
Status: CLOSED ERRATA QA Contact: Israel Pinto <ipinto>
Severity: high Docs Contact:
Priority: unspecified    
Version: 2.5.3CC: cnv-qe-bugs, fdeutsch, kbidarka, sgott
Target Milestone: ---   
Target Release: 4.8.0   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: hco-bundle-registry-container-v4.8.0-347 virt-operator-container-v4.8.0-58 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
: 1935217 1935218 1935219 (view as bug list) Environment:
Last Closed: 2021-07-27 14:27:59 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1935217, 1935218, 1935219    

Description Jordi Gil 2021-02-22 15:45:37 UTC
Description of problem:

Most of the deployments and daemonsets stored in the openshift-cnv namespace don't specify the resource request in their manifests. Only daemonset/kube-cni-linux-bridge-plugin, deployment/kubemacpool-mac-controller-manager and daemonset/kube-cni-linux-bridge-plugin have it defined as follows:


Kind       | Name                               | CPU Req/Limits | Mem Req/Limits
---------- | ---------------------------------- | -------------- | ---------------
daemonset  | kube-cni-linux-bridge-plugin       | 60m/0m         | 30Mi/0Mi
deployment | kubemacpool-mac-controller-manager | 100m/300m      | 300Mi/600Mi


The following list of manifests don't define the resource requirements:

Kind       | Name
---------- | ---- 
daemonset  | bridge-marker
daemonset  | nmstate-handler
daemonset  | ovs-cni-amd64
daemonset  | bridge-marker
daemonset  | nmstate-handler
daemonset  | ovs-cni-amd64
daemonset  | kubevirt-node-labeller
daemonset  | ovs-cni-amd64
daemonset  | nmstate-handler
deployment | cdi-uploadproxy
deployment | cdi-apiserver
deployment | nmstate-webhook
deployment | hostpath-provisioner-operator
deployment | virt-api
deployment | virt-controller
deployment | virt-handler
deployment | virt-operator
deployment | virt-template-validator
deployment | vm-import-controller
deployment | vm-import-operator
deployment | cdi-deployment
deployment | cluster-network-addons-operator
deployment | cdi-operator
deployment | cluster-network-addons-operator
deployment | kubevirt-ssp-operato
deployment | hco-operator


Version-Release number of selected component (if applicable):
CNV 2.5.3 and onward.

How reproducible:



Steps to Reproduce:
1.Create CNV namespace
2.Create CNV Operator Group
3.Create HCO subscription and deploy stable
4.Wait for deployment of HCO operator to complete
5.Check for resource requests in deployed manifests.

Actual results:
Only 2 deployed manifests define their resource requirements, and only 1 define the resource limits (see list above). 

Expected results:
All deployed manifests define the resource requirements.

Additional info:
N/A

Comment 1 aschuett 2021-04-09 14:46:25 UTC
I have created a PR to address adding resource requests on kubevirt resources. https://github.com/kubevirt/kubevirt/pull/5423

What is the end goal for this bug? Do we want the scheduler to be able to more intelligently schedule our resources? If we also want/need resource limits sets, what do we gain from that? 

My fear is any limit that is chosen is a best guess and is not applicable to all configuration of clusters. At best the limit would be unobtrusive and at worst it could render the kubevirt system inoperable.

Comment 2 sgott 2021-05-19 11:35:22 UTC
To verify:

Note that resource requests are present on kubevirt infrastructure pods. e.g. virt-controller, virt-api, virt-handler

Comment 3 Israel Pinto 2021-05-26 08:56:22 UTC
Verify with: virt-operator-container-v4.8.0-58

# oc describe deployment virt-api -n openshift-cnv | grep -A 2 Requests:                                                                                 
    Requests:
      cpu:        5m
      memory:     150Mi
# oc describe deployment virt-controller -n openshift-cnv | grep -A 2 Requests:                                                                            
    Requests:
      cpu:        10m
      memory:     150Mi
# oc describe deployment virt-operator -n openshift-cnv | grep -A 2 Requests:                                                                            
    Requests:
      cpu:      10m
      memory:   150Mi

# oc describe ds virt-handler -n openshift-cnv | grep -A 2 Requests:                                                                                      
    Requests:
      cpu:      10m
      memory:   230Mi

Comment 6 errata-xmlrpc 2021-07-27 14:27:59 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 (Moderate: OpenShift Virtualization 4.8.0 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/RHSA-2021:2920