You can use the Containerized Data Importer (CDI) to import, upload, and clone virtual machine disks into namespaces that are subject to CPU and memory resource restrictions.

About CPU and memory quotas in a namespace

A resource quota, defined by the ResourceQuota object, imposes restrictions on a namespace that limit the total amount of compute resources that can be consumed by resources within that namespace.

The CDI object defines the user configuration for the Containerized Data Importer (CDI). The CPU and memory request and limit values for the CDI object are set to a default value of 0. This ensures that pods created by CDI that do not specify compute resource requirements are given the default values and are allowed to run in a namespace that is restricted with a quota.

Editing the CDI object to override CPU and memory defaults

Modify the default settings for CPU and memory requests and limits for your use case by editing the spec.config.podResourceRequirements fields of the CDI object.

Prerequisites
  • Install the OpenShift CLI (oc).

Procedure
  1. Edit the CDI object by running the following command:

    $ oc edit cdi
  2. Change the default CPU and memory requests and limits by editing the spec.config.podResourceRequirements fields of the CDI object:

    apiVersion: cdi.kubevirt.io/v1beta1
    kind: CDI
    ...
    spec:
      config:
        podResourceRequirements:
          limits:
            cpu: "4"
            memory: "1Gi"
          requests:
            cpu: "1"
            memory: "250Mi"
    ...
  3. Save and exit the editor to update the CDI object.

Verification
  • View the status field of the CDI object to verify your changes:

    $ oc get cdi -o yaml

Additional resources