Skip to content

Commit 47d884e

Browse files
authored
Merge pull request #37 from stackhpc/upstream/wallaby-2023-03-20
Synchronise wallaby with upstream
2 parents c78f091 + d6a296e commit 47d884e

File tree

1 file changed

+13
-0
lines changed

1 file changed

+13
-0
lines changed

nova/virt/libvirt/driver.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7815,6 +7815,7 @@ def _get_existing_mdevs_not_assigned(self, parent, requested_types=None):
78157815
:param requested_types: Filter out the result for only mediated devices
78167816
having those types.
78177817
"""
7818+
LOG.debug('Searching for available mdevs...')
78187819
allocated_mdevs = self._get_all_assigned_mediated_devices()
78197820
mdevs = self._get_mediated_devices(requested_types)
78207821
available_mdevs = set()
@@ -7830,6 +7831,7 @@ def _get_existing_mdevs_not_assigned(self, parent, requested_types=None):
78307831
available_mdevs.add(mdev["uuid"])
78317832

78327833
available_mdevs -= set(allocated_mdevs)
7834+
LOG.info('Available mdevs at: %s.', available_mdevs)
78337835
return available_mdevs
78347836

78357837
def _create_new_mediated_device(self, parent, uuid=None):
@@ -7841,6 +7843,7 @@ def _create_new_mediated_device(self, parent, uuid=None):
78417843

78427844
:returns: the newly created mdev UUID or None if not possible
78437845
"""
7846+
LOG.debug('Attempting to create new mdev...')
78447847
supported_types = self.supported_vgpu_types
78457848
# Try to see if we can still create a new mediated device
78467849
devices = self._get_mdev_capable_devices(supported_types)
@@ -7852,6 +7855,7 @@ def _create_new_mediated_device(self, parent, uuid=None):
78527855
# The device is not the one that was called, not creating
78537856
# the mdev
78547857
continue
7858+
LOG.debug('Trying on: %s.', dev_name)
78557859
dev_supported_type = self._get_vgpu_type_per_pgpu(dev_name)
78567860
if dev_supported_type and device['types'][
78577861
dev_supported_type]['availableInstances'] > 0:
@@ -7861,7 +7865,13 @@ def _create_new_mediated_device(self, parent, uuid=None):
78617865
pci_addr = "{}:{}:{}.{}".format(*dev_name[4:].split('_'))
78627866
chosen_mdev = nova.privsep.libvirt.create_mdev(
78637867
pci_addr, dev_supported_type, uuid=uuid)
7868+
LOG.info('Created mdev: %s on pGPU: %s.',
7869+
chosen_mdev, pci_addr)
78647870
return chosen_mdev
7871+
LOG.debug('Failed: No available instances on device.')
7872+
LOG.info('Failed to create mdev. '
7873+
'No free space found among the following devices: %s.',
7874+
[dev['dev_id'] for dev in devices])
78657875

78667876
@utils.synchronized(VGPU_RESOURCE_SEMAPHORE)
78677877
def _allocate_mdevs(self, allocations):
@@ -7943,13 +7953,16 @@ def _allocate_mdevs(self, allocations):
79437953
# Take the first available mdev
79447954
chosen_mdev = mdevs_available.pop()
79457955
else:
7956+
LOG.debug('No available mdevs where found. '
7957+
'Creating an new one...')
79467958
chosen_mdev = self._create_new_mediated_device(parent_device)
79477959
if not chosen_mdev:
79487960
# If we can't find devices having available VGPUs, just raise
79497961
raise exception.ComputeResourcesUnavailable(
79507962
reason='vGPU resource is not available')
79517963
else:
79527964
chosen_mdevs.append(chosen_mdev)
7965+
LOG.info('Allocated mdev: %s.', chosen_mdev)
79537966
return chosen_mdevs
79547967

79557968
def _detach_mediated_devices(self, guest):

0 commit comments

Comments
 (0)