summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ironic/common/hash_ring.py4
-rw-r--r--ironic/tests/unit/common/test_hash_ring.py2
-rw-r--r--ironic/tests/unit/drivers/modules/network/test_common.py4
3 files changed, 7 insertions, 3 deletions
diff --git a/ironic/common/hash_ring.py b/ironic/common/hash_ring.py
index 1f1107008..8986d5bd2 100644
--- a/ironic/common/hash_ring.py
+++ b/ironic/common/hash_ring.py
@@ -40,7 +40,7 @@ class HashRingManager(object):
@property
def ring(self):
interval = CONF.hash_ring_reset_interval
- limit = time.time() - interval
+ limit = time.monotonic() - interval
if not self.cache:
return self._load_hash_rings()
@@ -56,7 +56,7 @@ class HashRingManager(object):
if hash_rings is None or updated_at < limit:
LOG.debug('Rebuilding cached hash rings')
hash_rings = self._load_hash_rings()
- self.__class__._hash_rings = hash_rings, time.time()
+ self.__class__._hash_rings = hash_rings, time.monotonic()
LOG.debug('Finished rebuilding hash rings, available drivers '
'are %s', ', '.join(hash_rings))
return hash_rings
diff --git a/ironic/tests/unit/common/test_hash_ring.py b/ironic/tests/unit/common/test_hash_ring.py
index 9ecf34562..a84b9ffcf 100644
--- a/ironic/tests/unit/common/test_hash_ring.py
+++ b/ironic/tests/unit/common/test_hash_ring.py
@@ -129,7 +129,7 @@ class HashRingManagerTestCase(db_base.DbTestCase):
self.ring_manager.__class__._hash_rings = (
self.ring_manager.__class__._hash_rings[0],
- time.time() - 31
+ time.monotonic() - 31
)
ring = self.ring_manager.get_ring('hardware-type', '')
self.assertEqual(2, len(ring))
diff --git a/ironic/tests/unit/drivers/modules/network/test_common.py b/ironic/tests/unit/drivers/modules/network/test_common.py
index 48be8ceae..e58fcaa20 100644
--- a/ironic/tests/unit/drivers/modules/network/test_common.py
+++ b/ironic/tests/unit/drivers/modules/network/test_common.py
@@ -1065,10 +1065,14 @@ class TestNeutronVifPortIDMixin(db_base.DbTestCase):
expected_dhcp_opts = [{'opt_name': '61', 'opt_value': 'fake2'}]
self.port.extra = expected_extra
self.port.internal_info = expected_ii
+ what_changed_mock = mock.Mock()
+ what_changed_mock.return_value = ['extra', 'internal_info']
+ self.port.obj_what_changed = what_changed_mock
with task_manager.acquire(self.context, self.node.id) as task:
self.interface.port_changed(task, self.port)
dhcp_update_mock.assert_called_once_with(
mock.ANY, 'fake-id', expected_dhcp_opts, context=task.context)
+ self.assertEqual(2, what_changed_mock.call_count)
@mock.patch('ironic.dhcp.neutron.NeutronDHCPApi.update_port_dhcp_opts',
autospec=True)