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

GA: CPU type cluster-model as a default

XMLWordPrintable

    • cpu-cluster-model
    • False
    • Hide

      None

      Show
      None
    • False
    • Hide

      1. `cluster-model` cpu model is made available on the VMI API
      2. cluster-model is re-computed whenever the set of nodes is changing
      3. Computed cluster-model is exposed on the API level (i.e. KubeVirt CR status) to be used by i.e. the UI
      4. The effective CPU model on a VMI is exposed in the VMI's status i.e. VMI.status.cpuModel
      5. Make cluster-model the default in CNV
      5.b propose and explore to make it the default in KubeVirt
      6. Document how nesting can be enabled

      Show
      1. `cluster-model` cpu model is made available on the VMI API 2. cluster-model is re-computed whenever the set of nodes is changing 3. Computed cluster-model is exposed on the API level (i.e. KubeVirt CR status) to be used by i.e. the UI 4. The effective CPU model on a VMI is exposed in the VMI's status i.e. VMI.status.cpuModel 5. Make cluster-model the default in CNV 5.b propose and explore to make it the default in KubeVirt 6. Document how nesting can be enabled
    • To Do
    • CNV-11088 - Heterogenuous clusters
    • dev-ready, po-ready, ux-ready
    • Feature
    • Proposed
    • ---
    • ---

      Goal

      Have a cluster level baseline CPU model.
      Analogous to what host-model is to a node, cluster-model should be to the cluster.
      It is an alias to that cpu model which is available on all workload nodes of the cluster. Thus the common CPU model denominator of all nodes.
      The term `cluster-model` can be used in the VMI API as a CPU model and KubeVirt CR as the default CPU model.

      This CPU model should become the CNV - and KubevIrt eventually - default, this will effectively change CNV's stance from being "highest performing" out of the box (with host-model) to "compatible and high performing" (with cluster-model).

      Thoughts

      • In contrast to host-model, cluster-model could expand to a real cpu name (and not to a set of flags as host-model does)
      • If cluster-mnodel expands to a cpu model name, then nesting will not be available out of the box anymore. host-model or a VMI level override with requesting vmx/svm flags is needed for this. Or a custom flavor
      • VMware call this EVC

      User Stories

      • As a cluster admin I want CNV to make the best out of my set of nodes so that I can simply (without configuration) run VMs.
      • By default cluster-model CPU model will be set in the KubeVirt CR so that whenever a VM is started the then relevant cluster-nodel will be used

      Non-Requirements

      • List of things not included in this epic, to alleviate any doubt raised during the grooming process.

      Notes

      • Today's system behavior is, that the KubeVirt defautl cpuModel will be set on the VMI (not VM) upon it's creation. Assuming that cluster-model becomes available, this would mean, that the cluster-model is set/used whenever a VM is getting started. Thus a restart of a VM could lead to a CPU model change, but at the same time would ensure that a new CPU model is picked up, once the cluster sees ie. an update
      • Train of thought: https://docs.google.com/presentation/d/1fe40SeyJ0lhrY4A6BGxH5vaBBYRLJwjjBDZ1l648swE/edit#

      Done Checklist

      Who What Reference
      DEV Upstream roadmap issue (or individual upstream PRs) <link to GitHub Issue>
      DEV Upstream documentation merged <link to meaningful PR>
      DEV gap doc updated <name sheet and cell>
      DEV Upgrade consideration <link to upgrade-related test or design doc>
      DEV CEE/PX summary presentation label epic with cee-training and add a <link to your support-facing preso>
      QE Test plans in Polarion <link or reference to Polarion>
      QE Automated tests merged <link or reference to automated tests>
      DOC Downstream documentation merged <link to meaningful PR>

              sgott@redhat.com Stuart Gott
              fdeutsch@redhat.com Fabian Deutsch
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated: