← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1638200] Re: Failed to boot vm with pci_alias's name including space in nova.conf

 

Reviewed:  https://review.openstack.org/392077
Committed: https://git.openstack.org/cgit/openstack/nova/commit/?id=9b88e755d93200811487d2f778735869f8fe07af
Submitter: Jenkins
Branch:    master

commit 9b88e755d93200811487d2f778735869f8fe07af
Author: zhaolihui <zhaolh@xxxxxxxxxxx>
Date:   Tue Nov 1 16:09:04 2016 +0800

    Fix pci_alias that include white spaces
    
    When the PCI alias was getting translated to a PCI request,
    all the white spaces were getting removed. So the pci_passthrough:alias
    specified in the flavor never matched the device in pci_alias.
    This patch fixes the bug by only stripping the white spaces
    at the beginning or the end of the elements
    
    Change-Id: I2888b03faf6c25bcb6011db40100d925972c2231
    Closes-Bug: #1638200


** 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/1638200

Title:
  Failed to boot vm with pci_alias's name including space in nova.conf

Status in OpenStack Compute (nova):
  Fix Released

Bug description:
  Description
  ===========
  Failed to boot vm with pci_alias's name including space in nova.conf.

  
  Steps to reproduce
  ==================
  1.modify the key pci_alias, pci_passthrough_whitelist and scheduler_default_filters in /etc/nova/nova.conf
  pci_alias = {"name": "Cirrus Logic", "product_id": "0ff2", "vendor_id": "10de"}
  pci_passthrough_whitelist = [{"product_id": "0ff2", "vendor_id": "10de"}]
  scheduler_default_filters = ...,PciPassthroughFilter

  2.restart nova-api, nova-scheduler, nova-conductor, nova-compute
  serivces

  3.update a flavor's metadata with command
  nova flavor-key  m1.tiny set "pci_passthrough:alias"="Cirrus Logic:1"

  4.create instance with command
  nova boot --flavor m1.tiny --image cirror --nic net-id=xxxxxxxxx vm_name

  
  Expected result
  ===============
  There will be a vm with gpu passthrough.

  
  Actual result
  =============
  Failed to boot vm.
  Error occurs in nova-api.log

  
  Environment
  ===========
  1. Devstack with newton version

  
  Logs
  ==============
  2016-11-01 12:13:27.523 ^[[01;31mERROR nova.api.openstack.extensions [^[[01;36mreq-82f58a79-76b9-49e7-a8e9-44e8b43eaea4 ^[[00;36madmin admin^[[01;31m] ^[[01;35m^[[01;31mUnexpected exception in API method^[[00m
  ^[[01;31m2016-11-01 12:13:27.523 TRACE nova.api.openstack.extensions ^[[01;35m^[[00mTraceback (most recent call last):
  ^[[01;31m2016-11-01 12:13:27.523 TRACE nova.api.openstack.extensions ^[[01;35m^[[00m  File "/opt/stack/nova/nova/api/openstack/extensions.py", line 478, in wrapped
  ^[[01;31m2016-11-01 12:13:27.523 TRACE nova.api.openstack.extensions ^[[01;35m^[[00m    return f(*args, **kwargs)
  ^[[01;31m2016-11-01 12:13:27.523 TRACE nova.api.openstack.extensions ^[[01;35m^[[00m  File "/opt/stack/nova/nova/api/validation/__init__.py", line 73, in wrapper
  ^[[01;31m2016-11-01 12:13:27.523 TRACE nova.api.openstack.extensions ^[[01;35m^[[00m    return func(*args, **kwargs)
  ^[[01;31m2016-11-01 12:13:27.523 TRACE nova.api.openstack.extensions ^[[01;35m^[[00m  File "/opt/stack/nova/nova/api/validation/__init__.py", line 73, in wrapper
  ^[[01;31m2016-11-01 12:13:27.523 TRACE nova.api.openstack.extensions ^[[01;35m^[[00m    return func(*args, **kwargs)
  ^[[01;31m2016-11-01 12:13:27.523 TRACE nova.api.openstack.extensions ^[[01;35m^[[00m  File "/opt/stack/nova/nova/api/validation/__init__.py", line 73, in wrapper
  ^[[01;31m2016-11-01 12:13:27.523 TRACE nova.api.openstack.extensions ^[[01;35m^[[00m    return func(*args, **kwargs)
  ^[[01;31m2016-11-01 12:13:27.523 TRACE nova.api.openstack.extensions ^[[01;35m^[[00m  File "/opt/stack/nova/nova/api/openstack/compute/servers.py", line 629, in create
  ^[[01;31m2016-11-01 12:13:27.523 TRACE nova.api.openstack.extensions ^[[01;35m^[[00m    **create_kwargs)
  ^[[01;31m2016-11-01 12:13:27.523 TRACE nova.api.openstack.extensions ^[[01;35m^[[00m  File "/opt/stack/nova/nova/hooks.py", line 154, in inner
  ^[[01;31m2016-11-01 12:13:27.523 TRACE nova.api.openstack.extensions ^[[01;35m^[[00m    rv = f(*args, **kwargs)
  ^[[01;31m2016-11-01 12:13:27.523 TRACE nova.api.openstack.extensions ^[[01;35m^[[00m  File "/opt/stack/nova/nova/compute/api.py", line 1563, in create
  ^[[01;31m2016-11-01 12:13:27.523 TRACE nova.api.openstack.extensions ^[[01;35m^[[00m    check_server_group_quota=check_server_group_quota)
  ^[[01;31m2016-11-01 12:13:27.523 TRACE nova.api.openstack.extensions ^[[01;35m^[[00m  File "/opt/stack/nova/nova/compute/api.py", line 1146, in _create_instance
  ^[[01;31m2016-11-01 12:13:27.523 TRACE nova.api.openstack.extensions ^[[01;35m^[[00m    reservation_id, max_count)
  ^[[01;31m2016-11-01 12:13:27.523 TRACE nova.api.openstack.extensions ^[[01;35m^[[00m  File "/opt/stack/nova/nova/compute/api.py", line 871, in _validate_and_build_base_options
  ^[[01;31m2016-11-01 12:13:27.523 TRACE nova.api.openstack.extensions ^[[01;35m^[[00m    instance_type)
  ^[[01;31m2016-11-01 12:13:27.523 TRACE nova.api.openstack.extensions ^[[01;35m^[[00m  File "/opt/stack/nova/nova/pci/request.py", line 177, in get_pci_requests_from_flavor
  ^[[01;31m2016-11-01 12:13:27.523 TRACE nova.api.openstack.extensions ^[[01;35m^[[00m    flavor['extra_specs']['pci_passthrough:alias'])
  ^[[01;31m2016-11-01 12:13:27.523 TRACE nova.api.openstack.extensions ^[[01;35m^[[00m  File "/opt/stack/nova/nova/pci/request.py", line 129, in _translate_alias_to_requests
  ^[[01;31m2016-11-01 12:13:27.523 TRACE nova.api.openstack.extensions ^[[01;35m^[[00m    raise exception.PciRequestAliasNotDefined(alias=name)
  ^[[01;31m2016-11-01 12:13:27.523 TRACE nova.api.openstack.extensions ^[[01;35m^[[00mPciRequestAliasNotDefined: PCI alias CirrusLogic is not defined
  ^[[01;31m2016-11-01 12:13:27.523 TRACE nova.api.openstack.extensions ^[[01;35m^[[00m
  2016-11-01 12:13:27.527 ^[[00;36mINFO nova.api.openstack.wsgi [^[[01;36mreq-82f58a79-76b9-49e7-a8e9-44e8b43eaea4 ^[[00;36madmin admin^[[00;36m] ^[[01;35m^[[00;36mHTTP exception thrown: Unexpected API Error. Please report this at http://bugs.launchpad.net/nova/ and attach the Nova API log if possible.<class 'nova.exception.PciRequestAliasNotDefined'>^[[00m

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


References