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 -- Mailing list: https://launchpad.net/~yahoo-eng-team Post to : yahoo-eng-team@lists.launchpad.net Unsubscribe : https://launchpad.net/~yahoo-eng-team More help : https://help.launchpad.net/ListHelp