-
Bug
-
Resolution: Done-Errata
-
Normal
-
None
-
None
-
Quality / Stability / Reliability
-
1
-
False
-
-
False
-
CNV v4.16.7.rhel9-58
-
-
CNV Storage 268, CNV Storage 269
-
None
Description of problem:
After editing CR HyperConverged for limit resources, the change is not applied to initcontainers.
Version-Release number of selected component (if applicable):
4.16.6
How reproducible:
Always
Steps to Reproduce:
1. Create VM with yaml
2. Edit the HyperConverged CR as per: https://docs.redhat.com/en/documentation/openshift_container_platform/4.16/html/virtualization/storage#virt-overriding-cpu-and-memory-defaults_virt-configuring-cdi-for-namespace-resourcequota
3. set quota:
---
apiVersion: v1
kind: ResourceQuota
metadata:
labels:
admin-installed: "true"
tenant: platform
name: compute-resources
namespace: usurse-cnv
spec:
hard:
limits.cpu: "1200"
limits.ephemeral-storage: 7Ti
limits.memory: 6Ti
requests.cpu: 1k
requests.ephemeral-storage: 5Ti
requests.memory: 5Ti
requests.storage: 30Ti
4. Run VM and observe the importer prime pod for initcontainers
5. cdi-deployment pod will give error:
{"level":"error","ts":"2025-02-21T12:12:07Z","msg":"Reconciler error","controller":"import-controller","object":{"name":"prime-e70963db-7156-4119-90da-fad00501369a","namespace":"usurse-cnv"},"namespace":"usurse-cnv","name":"prime-e70963db-7156-4119-90da-fad00501369a","reconcileID":"d7130934-e66b-46f4-894f-547f5e51ba4b","error":"pods \"importer-prime-e70963db-7156-4119-90da-fad00501369a\" is forbidden: failed quota: compute-resources: must specify limits.cpu for: init; limits.memory for: init; requests.cpu for: init; requests.memory for: init","stacktrace":"sigs.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:329\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.k8s.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"}
5. init container with below configuration:
initContainers:
- command:
- sh
- -c
- cp /usr/bin/cdi-containerimage-server /shared/server
image: registry.redhat.io/container-native-virtualization/virt-cdi-importer-rhel9@sha256:5fe5ab9c1fdb7971858c13b7cf18d57918da49b7a815a7759e98f05c760bad08
imagePullPolicy: IfNotPresent
name: init
...
Actual results:
initcontainer is not getting the limit resources.
Expected results:
initcontainer should get limit resources applied
Additional info:
This is known and have upstream fix: https://github.com/kubevirt/containerized-data-importer/pull/3157 It is observed in CDI version: $ kubectl -n openshift-cnv exec -it deploy/cdi-deployment --as system:admin -- /usr/bin/virt-cdi-apiserver --version Containerized Data Importer v1.59.1-14-gfa98987db And the fix of code is available in https://github.com/kubevirt/containerized-data-importer/blob/release-v1.60/pkg/controller/import-controller.go
- links to
-
RHEA-2025:145327
OpenShift Virtualization 4.16.7 Images