Add return values for implement of "pci_device_create"
In the describe of abstract method "pci_device_create", it expects a PciDevice object as return value. But nothing is returned in current implement by the end. In this commit a PciDevice object will be returned. this commit also include unit test case: test_create_devices_on_a_server Closes-bug: 1853921 Change-Id: Ibf58328facac91d82b40f8f24be84e8eeda9a0c9 Signed-off-by: SidneyAn <ran1.an@intel.com>
This commit is contained in:
parent
28b3bd8ba2
commit
67b40789ff
|
@ -1835,6 +1835,7 @@ class Connection(api.Connection):
|
|||
values['host_id']))
|
||||
raise exception.PCIAddrAlreadyExists(pciaddr=values['pciaddr'],
|
||||
host=values['host_id'])
|
||||
return self._pci_device_get(values['pciaddr'], values['host_id'])
|
||||
|
||||
@objects.objectify(objects.pci_device)
|
||||
def pci_device_get_all(self, hostid=None):
|
||||
|
@ -1843,8 +1844,7 @@ class Connection(api.Connection):
|
|||
query = query.filter_by(host_id=hostid)
|
||||
return query.all()
|
||||
|
||||
@objects.objectify(objects.pci_device)
|
||||
def pci_device_get(self, deviceid, hostid=None):
|
||||
def _pci_device_get(self, deviceid, hostid=None):
|
||||
query = model_query(models.PciDevice)
|
||||
if hostid:
|
||||
query = query.filter_by(host_id=hostid)
|
||||
|
@ -1856,6 +1856,10 @@ class Connection(api.Connection):
|
|||
|
||||
return result
|
||||
|
||||
@objects.objectify(objects.pci_device)
|
||||
def pci_device_get(self, deviceid, hostid=None):
|
||||
return self._pci_device_get(deviceid, hostid)
|
||||
|
||||
@objects.objectify(objects.pci_device)
|
||||
def pci_device_get_list(self, limit=None, marker=None,
|
||||
sort_key=None, sort_dir=None):
|
||||
|
|
|
@ -136,6 +136,15 @@ class DbNodeTestCase(base.DbTestCase):
|
|||
utils.get_test_port(name='eth0', pciaddr="00:03.0"))
|
||||
self.assertEqual(n['id'], p['host_id'])
|
||||
|
||||
def test_create_devices_on_a_server(self):
|
||||
n = self._create_test_ihost()
|
||||
|
||||
forihostid = n['id']
|
||||
|
||||
d = self.dbapi.pci_device_create(forihostid,
|
||||
utils.get_test_pci_devices())
|
||||
self.assertEqual(n['id'], d['host_id'])
|
||||
|
||||
def test_create_storageVolume_on_a_server(self):
|
||||
n = self._create_test_ihost()
|
||||
|
||||
|
|
|
@ -1185,3 +1185,36 @@ def create_test_app(**kw):
|
|||
del app_data['id']
|
||||
dbapi = db_api.get_instance()
|
||||
return dbapi.kube_app_create(app_data)
|
||||
|
||||
|
||||
def get_test_pci_devices(**kw):
|
||||
pci_devices = {
|
||||
'id': kw.get('id', 2345),
|
||||
'host_id': kw.get('host_id', 2),
|
||||
'name': kw.get('name', 'pci_0000_00_02_0 '),
|
||||
'pciaddr': kw.get('pciaddr', '0000:00:02.0'),
|
||||
'pclass_id': kw.get('pclass_id', '030000'),
|
||||
'pvendor_id': kw.get('pvendor_id', '8086'),
|
||||
'pdevice_id': kw.get('pdevice_id', '3ea5'),
|
||||
'pclass': kw.get('pclass', 'VGA compatible controller'),
|
||||
'pvendor': kw.get('pvendor', 'Intel Corporation'),
|
||||
'pdevice': kw.get('pdevice', 'Iris Plus Graphics 655'),
|
||||
'numa_node': kw.get('numa_node', -1),
|
||||
'enabled': kw.get('enabled', True),
|
||||
'driver': kw.get('driver', '')
|
||||
}
|
||||
return pci_devices
|
||||
|
||||
|
||||
def create_test_pci_devices(**kw):
|
||||
"""Create test pci devices entry in DB and return PciDevice DB object.
|
||||
Function to be used to create test pci device objects in the database.
|
||||
:param kw: kwargs with overriding values for pci device attributes.
|
||||
:returns: Test PciDevice DB object.
|
||||
"""
|
||||
pci_devices = get_test_pci_devices(**kw)
|
||||
# Let DB generate ID if it isn't specified explicitly
|
||||
if 'id' not in kw:
|
||||
del pci_devices['id']
|
||||
dbapi = db_api.get_instance()
|
||||
return dbapi.pci_device_create(pci_devices['host_id'], pci_devices)
|
||||
|
|
Loading…
Reference in New Issue