Uploaded image for project: 'OpenShift Virtualization'
  1. OpenShift Virtualization
  2. CNV-28792

[2203291] kubevirt should allow runtimeclass to be configured in a pod

XMLWordPrintable

    • CNV I/U Operators Sprint 238
    • High
    • No

      Description of problem:

      For DPDK type applications, the vCPU should not be interrupted or throttled
      by the cgroup cpu quota limitations. By default k8s sets cpu quota limitations to positive
      integer values, which throttles the vCPU.

      To disable cpu quota for pods it is necessary to annotate the pod with

      cpu-quota.crio.io: "disable"

      And set runtimeClassName to the performance profile runtimeClassName (as described
      at "Disabling CPU CFS quota" section of https://docs.openshift.com/container-platform/4.12/scalability_and_performance/cnf-low-latency-tuning.html).

      However KubeVirt does not support setting of runtimeClassName.

      In a discussion with Vladik, it appears an acceptable way to allow pods to
      set runtimeClassName would be for a scheduling policy to be created for VMs,
      similarly to migration policies.

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

      4.12

      How reproducible:

      Always

      Steps to Reproduce:
      1. Start KubeVirt VM with cpu-quota.crio.io: "disable" annotation and runtimeclassname set (per cnf low latency tuning document above).
      2.
      3.

      Actual results:

      cpu.cpu_quota_us value in the pod cgroup is not -1.

      Expected results:

      cpu.cpu_quota_us value in the pod cgroup is -1.

      Additional info:

              stirabos Simone Tiraboschi
              rhn-engineering-mtosatti Marcelo Tosatti
              Satheesaran Sundaramoorthi Satheesaran Sundaramoorthi
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated:
                Resolved: