← Back to team overview

yahoo-eng-team team mailing list archive

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

 

Public bug reported:

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

** Affects: nova
     Importance: Undecided
     Assignee: zhaolihui (zhaolh)
         Status: New

** Changed in: nova
     Assignee: (unassigned) => zhaolihui (zhaolh)

-- 
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):
  New

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


Follow ups