summaryrefslogtreecommitdiff
path: root/nova/compute/manager.py
diff options
context:
space:
mode:
authorZuul <zuul@review.opendev.org>2020-12-05 11:37:55 +0000
committerGerrit Code Review <review@openstack.org>2020-12-05 11:37:55 +0000
commit48a61ec5d98187404a1469f7a9b69d0088bf79c5 (patch)
tree6b303477f9f3d8b1e0013cb848ceb1517842c6c2 /nova/compute/manager.py
parentec390d0c7492487668b0b962c3037db57f6d5de8 (diff)
parent9d1683f70f2c11c3c866ff457aa23a7a38421afe (diff)
downloadnova-48a61ec5d98187404a1469f7a9b69d0088bf79c5.tar.gz
Merge "virt: Remove 'get_all_bw_counters' API"
Diffstat (limited to 'nova/compute/manager.py')
-rw-r--r--nova/compute/manager.py81
1 files changed, 0 insertions, 81 deletions
diff --git a/nova/compute/manager.py b/nova/compute/manager.py
index 8d2f0e9df2..225ae3438f 100644
--- a/nova/compute/manager.py
+++ b/nova/compute/manager.py
@@ -542,7 +542,6 @@ class ComputeManager(manager.Manager):
self.volume_api = cinder.API()
self.image_api = glance.API()
self._last_bw_usage_poll = 0.0
- self._bw_usage_supported = True
self.compute_api = compute.API()
self.compute_rpcapi = compute_rpcapi.ComputeAPI()
self.compute_task_api = conductor.ComputeTaskAPI()
@@ -9388,86 +9387,6 @@ class ComputeManager(manager.Manager):
% (self.host, num_instances, time.time() - start_time))
task_log.end_task()
- @periodic_task.periodic_task(spacing=CONF.bandwidth_poll_interval)
- def _poll_bandwidth_usage(self, context):
-
- if not self._bw_usage_supported:
- return
-
- prev_time, start_time = utils.last_completed_audit_period()
-
- curr_time = time.time()
- if (curr_time - self._last_bw_usage_poll >
- CONF.bandwidth_poll_interval):
- self._last_bw_usage_poll = curr_time
- LOG.info("Updating bandwidth usage cache")
-
- instances = objects.InstanceList.get_by_host(context,
- self.host,
- use_slave=True)
- try:
- bw_counters = self.driver.get_all_bw_counters(instances)
- except NotImplementedError:
- # NOTE(mdragon): Not all hypervisors have bandwidth polling
- # implemented yet. If they don't it doesn't break anything,
- # they just don't get the info in the usage events.
- # NOTE(PhilDay): Record that its not supported so we can
- # skip fast on future calls rather than waste effort getting
- # the list of instances.
- LOG.info("Bandwidth usage not supported by %(driver)s.",
- {'driver': CONF.compute_driver})
- self._bw_usage_supported = False
- return
-
- refreshed = timeutils.utcnow()
- for bw_ctr in bw_counters:
- # Allow switching of greenthreads between queries.
- greenthread.sleep(0)
- bw_in = 0
- bw_out = 0
- last_ctr_in = None
- last_ctr_out = None
- usage = objects.BandwidthUsage.get_by_instance_uuid_and_mac(
- context, bw_ctr['uuid'], bw_ctr['mac_address'],
- start_period=start_time, use_slave=True)
- if usage:
- bw_in = usage.bw_in
- bw_out = usage.bw_out
- last_ctr_in = usage.last_ctr_in
- last_ctr_out = usage.last_ctr_out
- else:
- usage = (objects.BandwidthUsage.
- get_by_instance_uuid_and_mac(
- context, bw_ctr['uuid'], bw_ctr['mac_address'],
- start_period=prev_time, use_slave=True))
- if usage:
- last_ctr_in = usage.last_ctr_in
- last_ctr_out = usage.last_ctr_out
-
- if last_ctr_in is not None:
- if bw_ctr['bw_in'] < last_ctr_in:
- # counter rollover
- bw_in += bw_ctr['bw_in']
- else:
- bw_in += (bw_ctr['bw_in'] - last_ctr_in)
-
- if last_ctr_out is not None:
- if bw_ctr['bw_out'] < last_ctr_out:
- # counter rollover
- bw_out += bw_ctr['bw_out']
- else:
- bw_out += (bw_ctr['bw_out'] - last_ctr_out)
-
- objects.BandwidthUsage(context=context).create(
- bw_ctr['uuid'],
- bw_ctr['mac_address'],
- bw_in,
- bw_out,
- bw_ctr['bw_in'],
- bw_ctr['bw_out'],
- start_period=start_time,
- last_refreshed=refreshed)
-
def _get_host_volume_bdms(self, context, use_slave=False):
"""Return all block device mappings on a compute host."""
compute_host_bdms = []