Skip to content

Commit 03374cf

Browse files
jsanemetauniyal61
authored andcommitted
Improving logging at '_allocate_mdevs'.
Adding both 'info' and 'debug' messages with the intention of telling which mdevs are available, which get allocated and whether new ones are created. Closes-Bug: #1992451 Change-Id: Ibd331df51fd4eaeed4831a98469f06a4ce0cd452 (cherry picked from commit 6feb335)
1 parent c9de185 commit 03374cf

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
@@ -8323,6 +8323,7 @@ def _get_existing_mdevs_not_assigned(self, parent, requested_types=None):
83238323
:param requested_types: Filter out the result for only mediated devices
83248324
having those types.
83258325
"""
8326+
LOG.debug('Searching for available mdevs...')
83268327
allocated_mdevs = self._get_all_assigned_mediated_devices()
83278328
mdevs = self._get_mediated_devices(requested_types)
83288329
available_mdevs = set()
@@ -8338,6 +8339,7 @@ def _get_existing_mdevs_not_assigned(self, parent, requested_types=None):
83388339
available_mdevs.add(mdev["uuid"])
83398340

83408341
available_mdevs -= set(allocated_mdevs)
8342+
LOG.info('Available mdevs at: %s.', available_mdevs)
83418343
return available_mdevs
83428344

83438345
def _create_new_mediated_device(self, parent, uuid=None):
@@ -8349,6 +8351,7 @@ def _create_new_mediated_device(self, parent, uuid=None):
83498351

83508352
:returns: the newly created mdev UUID or None if not possible
83518353
"""
8354+
LOG.debug('Attempting to create new mdev...')
83528355
supported_types = self.supported_vgpu_types
83538356
# Try to see if we can still create a new mediated device
83548357
devices = self._get_mdev_capable_devices(supported_types)
@@ -8360,6 +8363,7 @@ def _create_new_mediated_device(self, parent, uuid=None):
83608363
# The device is not the one that was called, not creating
83618364
# the mdev
83628365
continue
8366+
LOG.debug('Trying on: %s.', dev_name)
83638367
dev_supported_type = self._get_vgpu_type_per_pgpu(dev_name)
83648368
if dev_supported_type and device['types'][
83658369
dev_supported_type]['availableInstances'] > 0:
@@ -8369,7 +8373,13 @@ def _create_new_mediated_device(self, parent, uuid=None):
83698373
pci_addr = "{}:{}:{}.{}".format(*dev_name[4:].split('_'))
83708374
chosen_mdev = nova.privsep.libvirt.create_mdev(
83718375
pci_addr, dev_supported_type, uuid=uuid)
8376+
LOG.info('Created mdev: %s on pGPU: %s.',
8377+
chosen_mdev, pci_addr)
83728378
return chosen_mdev
8379+
LOG.debug('Failed: No available instances on device.')
8380+
LOG.info('Failed to create mdev. '
8381+
'No free space found among the following devices: %s.',
8382+
[dev['dev_id'] for dev in devices])
83738383

83748384
@utils.synchronized(VGPU_RESOURCE_SEMAPHORE)
83758385
def _allocate_mdevs(self, allocations):
@@ -8452,13 +8462,16 @@ def _allocate_mdevs(self, allocations):
84528462
# Take the first available mdev
84538463
chosen_mdev = mdevs_available.pop()
84548464
else:
8465+
LOG.debug('No available mdevs where found. '
8466+
'Creating an new one...')
84558467
chosen_mdev = self._create_new_mediated_device(parent_device)
84568468
if not chosen_mdev:
84578469
# If we can't find devices having available VGPUs, just raise
84588470
raise exception.ComputeResourcesUnavailable(
84598471
reason='mdev-capable resource is not available')
84608472
else:
84618473
chosen_mdevs.append(chosen_mdev)
8474+
LOG.info('Allocated mdev: %s.', chosen_mdev)
84628475
return chosen_mdevs
84638476

84648477
def _detach_mediated_devices(self, guest):

0 commit comments

Comments
 (0)