Merge "Fix usage of BandwidthUsage.create()"
This commit is contained in:
@@ -5565,9 +5565,6 @@ class ComputeManager(manager.Manager):
|
||||
curr_time - self._last_bw_usage_cell_update >
|
||||
cells_update_interval):
|
||||
self._last_bw_usage_cell_update = curr_time
|
||||
update_cells = True
|
||||
else:
|
||||
update_cells = False
|
||||
|
||||
instances = objects.InstanceList.get_by_host(context,
|
||||
self.host,
|
||||
@@ -5624,7 +5621,7 @@ class ComputeManager(manager.Manager):
|
||||
else:
|
||||
bw_out += (bw_ctr['bw_out'] - last_ctr_out)
|
||||
|
||||
objects.BandwidthUsage.create(context,
|
||||
objects.BandwidthUsage(context=context).create(
|
||||
bw_ctr['uuid'],
|
||||
bw_ctr['mac_address'],
|
||||
bw_in,
|
||||
@@ -5632,8 +5629,7 @@ class ComputeManager(manager.Manager):
|
||||
bw_ctr['bw_in'],
|
||||
bw_ctr['bw_out'],
|
||||
start_period=start_time,
|
||||
last_refreshed=refreshed,
|
||||
update_cells=update_cells)
|
||||
last_refreshed=refreshed)
|
||||
|
||||
def _get_host_volume_bdms(self, context, use_slave=False):
|
||||
"""Return all block device mappings on a compute host."""
|
||||
|
||||
@@ -22,6 +22,7 @@ import mox
|
||||
from oslo.config import cfg
|
||||
from oslo import messaging
|
||||
from oslo.utils import importutils
|
||||
from oslo.utils import timeutils
|
||||
|
||||
from nova.compute import manager
|
||||
from nova.compute import power_state
|
||||
@@ -2028,6 +2029,37 @@ class ComputeManagerUnitTestCase(test.NoDBTestCase):
|
||||
self.assertTrue(mock_save.called)
|
||||
self.assertTrue(mock_spawn.called)
|
||||
|
||||
@mock.patch.object(utils, 'last_completed_audit_period',
|
||||
return_value=(0, 0))
|
||||
@mock.patch.object(time, 'time', side_effect=[10, 20, 21])
|
||||
@mock.patch.object(objects.InstanceList, 'get_by_host', return_value=[])
|
||||
@mock.patch.object(objects.BandwidthUsage, 'get_by_instance_uuid_and_mac')
|
||||
@mock.patch.object(db, 'bw_usage_update')
|
||||
def test_poll_bandwidth_usage(self, bw_usage_update, get_by_uuid_mac,
|
||||
get_by_host, time, last_completed_audit):
|
||||
bw_counters = [{'uuid': 'fake-uuid', 'mac_address': 'fake-mac',
|
||||
'bw_in': 1, 'bw_out': 2}]
|
||||
usage = objects.BandwidthUsage()
|
||||
usage.bw_in = 3
|
||||
usage.bw_out = 4
|
||||
usage.last_ctr_in = 0
|
||||
usage.last_ctr_out = 0
|
||||
self.flags(bandwidth_poll_interval=1)
|
||||
get_by_uuid_mac.return_value = usage
|
||||
_time = timeutils.utcnow()
|
||||
bw_usage_update.return_value = {'instance_uuid': '', 'mac': '',
|
||||
'start_period': _time, 'last_refreshed': _time, 'bw_in': 0,
|
||||
'bw_out': 0, 'last_ctr_in': 0, 'last_ctr_out': 0, 'deleted': 0,
|
||||
'created_at': _time, 'updated_at': _time, 'deleted_at': _time}
|
||||
with mock.patch.object(self.compute.driver,
|
||||
'get_all_bw_counters', return_value=bw_counters):
|
||||
self.compute._poll_bandwidth_usage(self.context)
|
||||
get_by_uuid_mac.assert_called_once_with(self.context, 'fake-uuid',
|
||||
'fake-mac', start_period=0, use_slave=True)
|
||||
bw_usage_update.assert_called_once_with(self.context, 'fake-uuid',
|
||||
'fake-mac', 0, 4, 6, 1, 2,
|
||||
last_refreshed=timeutils.isotime(_time))
|
||||
|
||||
|
||||
class ComputeManagerBuildInstanceTestCase(test.NoDBTestCase):
|
||||
def setUp(self):
|
||||
|
||||
Reference in New Issue
Block a user