Merge "Add debug logs for when provider inventory changes"
This commit is contained in:
@@ -168,8 +168,12 @@ class _Provider(object):
|
|||||||
"""
|
"""
|
||||||
self._update_generation(generation, 'update_inventory')
|
self._update_generation(generation, 'update_inventory')
|
||||||
if self.has_inventory_changed(inventory):
|
if self.has_inventory_changed(inventory):
|
||||||
|
LOG.debug('Updating inventory in ProviderTree for provider %s '
|
||||||
|
'with inventory: %s', self.uuid, inventory)
|
||||||
self.inventory = copy.deepcopy(inventory)
|
self.inventory = copy.deepcopy(inventory)
|
||||||
return True
|
return True
|
||||||
|
LOG.debug('Inventory has not changed in ProviderTree for provider: %s',
|
||||||
|
self.uuid)
|
||||||
return False
|
return False
|
||||||
|
|
||||||
def have_traits_changed(self, new):
|
def have_traits_changed(self, new):
|
||||||
|
@@ -756,6 +756,9 @@ class SchedulerReportClient(object):
|
|||||||
if curr is None:
|
if curr is None:
|
||||||
return None
|
return None
|
||||||
|
|
||||||
|
LOG.debug('Updating ProviderTree inventory for provider %s from '
|
||||||
|
'_refresh_and_get_inventory using data: %s', rp_uuid,
|
||||||
|
curr['inventories'])
|
||||||
self._provider_tree.update_inventory(
|
self._provider_tree.update_inventory(
|
||||||
rp_uuid, curr['inventories'],
|
rp_uuid, curr['inventories'],
|
||||||
generation=curr['resource_provider_generation'])
|
generation=curr['resource_provider_generation'])
|
||||||
@@ -863,12 +866,15 @@ class SchedulerReportClient(object):
|
|||||||
# update_resource_stats() is called? :(
|
# update_resource_stats() is called? :(
|
||||||
curr = self._refresh_and_get_inventory(context, rp_uuid)
|
curr = self._refresh_and_get_inventory(context, rp_uuid)
|
||||||
if curr is None:
|
if curr is None:
|
||||||
|
LOG.debug('No inventory for provider: %s', rp_uuid, inv_data)
|
||||||
return False
|
return False
|
||||||
|
|
||||||
cur_gen = curr['resource_provider_generation']
|
cur_gen = curr['resource_provider_generation']
|
||||||
|
|
||||||
# Check to see if we need to update placement's view
|
# Check to see if we need to update placement's view
|
||||||
if not self._provider_tree.has_inventory_changed(rp_uuid, inv_data):
|
if not self._provider_tree.has_inventory_changed(rp_uuid, inv_data):
|
||||||
|
LOG.debug('Inventory has not changed for provider %s based '
|
||||||
|
'on inventory data: %s', rp_uuid, inv_data)
|
||||||
return True
|
return True
|
||||||
|
|
||||||
payload = {
|
payload = {
|
||||||
@@ -961,11 +967,11 @@ class SchedulerReportClient(object):
|
|||||||
# Update our view of the generation for next time
|
# Update our view of the generation for next time
|
||||||
updated_inventories_result = result.json()
|
updated_inventories_result = result.json()
|
||||||
new_gen = updated_inventories_result['resource_provider_generation']
|
new_gen = updated_inventories_result['resource_provider_generation']
|
||||||
|
LOG.debug('Updating ProviderTree inventory for provider %s with '
|
||||||
|
'generation %s from _update_inventory_attempt with data: '
|
||||||
|
'%s', rp_uuid, new_gen, inv_data)
|
||||||
self._provider_tree.update_inventory(rp_uuid, inv_data,
|
self._provider_tree.update_inventory(rp_uuid, inv_data,
|
||||||
generation=new_gen)
|
generation=new_gen)
|
||||||
LOG.debug('Updated inventory for %s at generation %i',
|
|
||||||
rp_uuid, new_gen)
|
|
||||||
return True
|
return True
|
||||||
|
|
||||||
@safe_connect
|
@safe_connect
|
||||||
@@ -1110,6 +1116,8 @@ class SchedulerReportClient(object):
|
|||||||
|
|
||||||
# If not different from what we've got, short out
|
# If not different from what we've got, short out
|
||||||
if not self._provider_tree.has_inventory_changed(rp_uuid, inv_data):
|
if not self._provider_tree.has_inventory_changed(rp_uuid, inv_data):
|
||||||
|
LOG.debug('Inventory has not changed for provider %s based '
|
||||||
|
'on inventory data: %s', rp_uuid, inv_data)
|
||||||
return
|
return
|
||||||
|
|
||||||
# Ensure non-standard resource classes exist, creating them if needed.
|
# Ensure non-standard resource classes exist, creating them if needed.
|
||||||
@@ -1125,6 +1133,9 @@ class SchedulerReportClient(object):
|
|||||||
resp = do_put(url, payload)
|
resp = do_put(url, payload)
|
||||||
|
|
||||||
if resp.status_code == 200:
|
if resp.status_code == 200:
|
||||||
|
LOG.debug('Updated inventory for provider %s with generation %s '
|
||||||
|
'in Placement from _set_inventory_for_provider using '
|
||||||
|
'data: %s', rp_uuid, generation, inv_data)
|
||||||
json = resp.json()
|
json = resp.json()
|
||||||
self._provider_tree.update_inventory(
|
self._provider_tree.update_inventory(
|
||||||
rp_uuid, json['inventories'],
|
rp_uuid, json['inventories'],
|
||||||
|
Reference in New Issue
Block a user