← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1688673] Re: cpu_realtime_mask handling is not intuitive

 

Reviewed:  https://review.opendev.org/461456
Committed: https://git.openstack.org/cgit/openstack/nova/commit/?id=9fc63c764429c10f9041e6b53659e0cbd595bf6b
Submitter: Zuul
Branch:    master

commit 9fc63c764429c10f9041e6b53659e0cbd595bf6b
Author: Chris Friesen <chris.friesen@xxxxxxxxxxxxx>
Date:   Mon May 1 11:24:06 2017 -0600

    hardware: Tweak the 'cpu_realtime_mask' handling slightly
    
    If the end-user specifies a cpu_realtime_mask that does not begin
    with a carat (i.e. it is not a purely-exclusion mask) it's likely
    that they're expecting us to use the exact mask that they have
    specified, not realizing that we default to all-vCPUs-are-RT.
    
    Let's make nova's behaviour a bit more friendly by correctly
    handling this scenario.
    
    Note that the end-user impact of this is minimal/non-existent. As
    discussed in bug #1884231, the only way a user could have used this
    before would be if they'd configured an emulator thread and purposefully
    set an invalid 'hw:cpu_realtime_mask' set. In fact, they wouldn't have
    been able to use this value at all if they used API microversion 2.86
    (extra spec validation).
    
    Part of blueprint use-pcpu-and-vcpu-in-one-instance
    
    Change-Id: Id81859186de6fb6b728ad566a532244008fe77d0
    Closes-Bug: #1688673


** Changed in: nova
       Status: In Progress => Fix Released

-- 
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/1688673

Title:
  cpu_realtime_mask handling is not intuitive

Status in OpenStack Compute (nova):
  Fix Released

Bug description:
  The nova code implicitly assumes that all vCPUs are realtime in
  nova.virt.hardware.vcpus_realtime_topology(), and then it appends the
  user-specified mask.

  This only makes sense if the user-specified cpu_realtime_mask is an
  exclusion mask, but this isn't documented anywhere.

  It would make more sense to simply use the mask as passed-in from the
  end-user.

  In order to preserve the current behaviour we should probably special-
  case the scenario where the passed-in cpu_realtime_mask starts with a
  "^" (indicating an exclusion).

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


References