Support configuration of multiple pci_alias with an array
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Compute (nova) |
Opinion
|
Wishlist
|
Unassigned |
Bug Description
Nova code doesn't currently support defining multiple pci_alias using an array.
This is not aligned with packstack. See manifests/api.pp:
# [*pci_alias*]
# (optional) Pci passthrough for controller:
# Defaults to undef
# Example
# "[ {'vendor_
Version:
commit e52d236a3f17409
Merge: 961e330 86fe90f
Author: Jenkins <email address hidden>
Date: Thu Nov 5 01:22:54 2015 +0000
Merge "cells: add debug logging to bdm_update_
Log:
ERROR (BadRequest): Invalid PCI alias definition: [{u'vendor_id': u'8086', u'product_id': u'0443', u'name': u'a1'}, {u'vendor_id': u'8086', u'product_id': u'0443', u'name': u'a2'}] is not of type 'object'
Failed validating 'type' in schema:
{'additiona
'properties': {'capability_type': {'enum': ['pci'],
'required': ['name'],
'type': 'object'}
On instance:
[{u'name': u'a1', u'product_id': u'0443', u'vendor_id': u'8086'},
{u'name': u'a2', u'product_id': u'0443', u'vendor_id': u'8086'}] (HTTP 400) (Request-ID: req-3fe994bc-
Reproduce steps:
1) Configure pci_alias in nova.conf: pci_alias=
2) Create a flavor with "pci_passthroug
3) Boot an instance with this flavor.
Expected result:
Instance get successfully booted
Actual result:
Instance fails to start
Workaround:
It's possible to configure multiple pci_alias by having them each separate on their own config line:
pci_
pci_
But this is still not aligned with packstack.
Fix proposed to branch: master /review. openstack. org/242555
Review: https:/