← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1766208] Re: Lift the restriction on choices for `cpu_model_extra_flags` config attribute

 

This isn't a bug, it's already tracked with a blueprint so just use
that:

https://blueprints.launchpad.net/nova/+spec/libvirt-cpu-model-extra-
flags

** Changed in: nova
       Status: In Progress => Invalid

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1766208

Title:
  Lift the restriction on choices for `cpu_model_extra_flags` config
  attribute

Status in OpenStack Compute (nova):
  Invalid

Bug description:
  In the patch[*] that introduced the Nova configuration attribute
  `[libvirt]/cpu_model_extra_flags`, we have restricted the choices to be
  only 'PCID' -- to alleviate the immediate guest performance degradation
  as a result of applying the "Meltdown" CVE fixes.

  Now remove that restriction to allow adding and removing multiple CPU
  flags, making way for other use cases.

  Use cases:

    - Ability to use 1GB huge pages with Haswell model as one use case for
      extra flags:

          cpu_model=Haswell-noTSX-IBRS
          cpu_model_extra_flags="pdpe1gb"

    - Nested Virtualization -- an operator can specify the Intel 'vmx' or
      AMD 'svm' flags in the level-1 Nova guest.

  [*] http://git.openstack.org/cgit/openstack/nova/commit/?h=master&;
      id=6b601b7 -- libvirt: Allow to specify granular CPU feature flags

  
  A potential example of specifying multiple CPU feature flags
  ------------------------------------------------------------

  If you specify:

      [libvirt]
      cpu_mode=custom
      cpu_model=IvyBridge
      cpu_model_extra_flags="+pcid,-mtrr,pdpe1gb"

  Then, Nova should generate the below XML:

      <cpu match='exact'>
        <model fallback='forbid'>IvyBridge</model>
        <vendor>Intel</vendor>
        <feature policy='require' name='pcid'/>
        <feature policy='require' name='pdpe1gb'/>
      </cpu>

  The +/- for individual flags in nova.conf will be optional.  If nothing
  is specified, assume '+'.

  You might ask: "Why would you want to remove a CPU flag though?"  One
  scenario for that is: An Operator wants to generate a baseline CPU
  config.  And a certain CPU flag is causing performance issue or other
  nuisance, and if the Operator isolated the problem to _that_ specific
  CPU flag, then she may want to remove the flag.

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1766208/+subscriptions


References