← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1442546] Re: Nova compute should work for non-continous pCPUs with vcpu pinning enabled.

 

** Changed in: nova
       Status: Fix Committed => Fix Released

** Changed in: nova
    Milestone: None => liberty-1

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

Title:
  Nova compute should work for non-continous pCPUs with vcpu pinning
  enabled.

Status in OpenStack Compute (Nova):
  Fix Released

Bug description:
  Environment: Openstack Juno. (Same code in the master as well).
  Physical machine doesn't have continuous blocks of cpu in online state.
  Online pCPUs are: 4,8 and 12.
  vcpu pinning is enabled via the vcpu_pin_set attribute in /etc/nova/nova.conf
  vcpu_pin_set="4,8,12"
  The nova code in /nova/virt/libvirt/driver.py inside get_vcpu_total() is checking the length of available_ids from the nova.conf as:

  if available_ids[-1] >= total_pcpus:
              raise exception.Invalid(_("Invalid vcpu_pin_set config, "
                                        "out of hypervisor cpu range."))

  available_ids in this case contains [4,8,12].
  The total pcpus count given by libvirt is 3 (number of on-line pcpus).
  Hence the above check fails since it determines the total available CPUs as 12.

  Nova should not expect the online CPUs to be continuous numbers always.
  Filing a bug to address this.

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


References