Remove get_state function and its references

Change all functions to use ``get_last_processed_timestamp`` instead of
``get_state``, update the tests and remove the ``get_state`` function.

Change-Id: Iea704fc594f4b5201a1fff7d38a6c0bafb9be6f1
(cherry picked from commit e3e55d2cf6)
This commit is contained in:
Dawud 2023-12-29 11:16:11 +00:00 committed by Pierre Riteau
parent 7b1cd3aee0
commit b3d8bf7e20
6 changed files with 29 additions and 23 deletions

View File

@ -272,7 +272,7 @@ class APIWorker(BaseWorker):
def _check_state(obj, period, tenant_id): def _check_state(obj, period, tenant_id):
timestamp = obj._state.get_state(tenant_id) timestamp = obj._state.get_last_processed_timestamp(tenant_id)
return ck_utils.check_time_state(timestamp, return ck_utils.check_time_state(timestamp,
period, period,
CONF.collect.wait_periods) CONF.collect.wait_periods)
@ -387,7 +387,7 @@ class Worker(BaseWorker):
LOG.debug("Worker [%s] finished processing storage scope [%s].", LOG.debug("Worker [%s] finished processing storage scope [%s].",
self._worker_id, self._tenant_id) self._worker_id, self._tenant_id)
return False return False
if self._state.get_state(self._tenant_id): if self._state.get_last_processed_timestamp(self._tenant_id):
if not self._state.is_storage_scope_active(self._tenant_id): if not self._state.is_storage_scope_active(self._tenant_id):
LOG.debug("Skipping processing for storage scope [%s] " LOG.debug("Skipping processing for storage scope [%s] "
"because it is marked as inactive.", "because it is marked as inactive.",

View File

@ -239,14 +239,6 @@ class StateManager(object):
if not is_session_reused: if not is_session_reused:
session.close() session.close()
def get_state(self, identifier,
fetcher=None, collector=None, scope_key=None):
LOG.warning("The method 'get_state' is deprecated. "
"Consider using the new method "
"'get_last_processed_timestamp'.")
return self.get_last_processed_timestamp(
identifier, fetcher, collector, scope_key)
def get_last_processed_timestamp(self, identifier, fetcher=None, def get_last_processed_timestamp(self, identifier, fetcher=None,
collector=None, scope_key=None): collector=None, scope_key=None):
"""Get the last processed timestamp of a scope. """Get the last processed timestamp of a scope.

View File

@ -416,7 +416,8 @@ class WorkerTest(tests.TestCase):
]) ])
self.assertTrue(update_scope_processing_state_db_mock.called) self.assertTrue(update_scope_processing_state_db_mock.called)
@mock.patch("cloudkitty.storage_state.StateManager.get_state") @mock.patch("cloudkitty.storage_state.StateManager"
".get_last_processed_timestamp")
@mock.patch("cloudkitty.storage_state.StateManager" @mock.patch("cloudkitty.storage_state.StateManager"
".is_storage_scope_active") ".is_storage_scope_active")
@mock.patch("cloudkitty.orchestrator.Worker.do_execute_scope_processing") @mock.patch("cloudkitty.orchestrator.Worker.do_execute_scope_processing")
@ -438,7 +439,8 @@ class WorkerTest(tests.TestCase):
self.assertFalse(do_execute_scope_processing_mock.called) self.assertFalse(do_execute_scope_processing_mock.called)
self.assertTrue(next_timestamp_to_process_mock.called) self.assertTrue(next_timestamp_to_process_mock.called)
@mock.patch("cloudkitty.storage_state.StateManager.get_state") @mock.patch("cloudkitty.storage_state.StateManager"
".get_last_processed_timestamp")
@mock.patch("cloudkitty.storage_state.StateManager" @mock.patch("cloudkitty.storage_state.StateManager"
".is_storage_scope_active") ".is_storage_scope_active")
@mock.patch("cloudkitty.orchestrator.Worker.do_execute_scope_processing") @mock.patch("cloudkitty.orchestrator.Worker.do_execute_scope_processing")
@ -468,7 +470,8 @@ class WorkerTest(tests.TestCase):
self.assertFalse(state_manager_is_storage_scope_active_mock.called) self.assertFalse(state_manager_is_storage_scope_active_mock.called)
self.assertTrue(next_timestamp_to_process_mock.called) self.assertTrue(next_timestamp_to_process_mock.called)
@mock.patch("cloudkitty.storage_state.StateManager.get_state") @mock.patch("cloudkitty.storage_state.StateManager"
".get_last_processed_timestamp")
@mock.patch("cloudkitty.storage_state.StateManager" @mock.patch("cloudkitty.storage_state.StateManager"
".is_storage_scope_active") ".is_storage_scope_active")
@mock.patch("cloudkitty.orchestrator.Worker.do_execute_scope_processing") @mock.patch("cloudkitty.orchestrator.Worker.do_execute_scope_processing")
@ -503,7 +506,8 @@ class WorkerTest(tests.TestCase):
self.assertTrue(next_timestamp_to_process_mock.called) self.assertTrue(next_timestamp_to_process_mock.called)
@mock.patch("cloudkitty.storage_state.StateManager.get_state") @mock.patch("cloudkitty.storage_state.StateManager"
".get_last_processed_timestamp")
@mock.patch("cloudkitty.storage_state.StateManager" @mock.patch("cloudkitty.storage_state.StateManager"
".is_storage_scope_active") ".is_storage_scope_active")
@mock.patch("cloudkitty.orchestrator.Worker.do_execute_scope_processing") @mock.patch("cloudkitty.orchestrator.Worker.do_execute_scope_processing")
@ -588,7 +592,8 @@ class WorkerTest(tests.TestCase):
state_mock = mock.Mock() state_mock = mock.Mock()
timestamp_now = tzutils.localized_now() timestamp_now = tzutils.localized_now()
state_mock._state.get_state.return_value = timestamp_now state_mock._state.get_last_processed_timestamp.return_value = \
timestamp_now
expected_time = timestamp_now + datetime.timedelta(hours=1) expected_time = timestamp_now + datetime.timedelta(hours=1)
check_time_state_mock.return_value = \ check_time_state_mock.return_value = \
@ -599,7 +604,7 @@ class WorkerTest(tests.TestCase):
self.assertEqual(expected_time, return_of_method) self.assertEqual(expected_time, return_of_method)
state_mock._state.get_state.assert_has_calls([ state_mock._state.get_last_processed_timestamp.assert_has_calls([
mock.call(self._tenant_id)]) mock.call(self._tenant_id)])
check_time_state_mock.assert_has_calls([ check_time_state_mock.assert_has_calls([
mock.call(timestamp_now, 3600, 2)]) mock.call(timestamp_now, 3600, 2)])

View File

@ -76,8 +76,9 @@ class StateManagerTest(tests.TestCase):
self.assertEqual(r_mock.scope_key, 'scope_key') self.assertEqual(r_mock.scope_key, 'scope_key')
self.assertEqual(r_mock.fetcher, 'fetcher1') self.assertEqual(r_mock.fetcher, 'fetcher1')
def test_get_state_does_update_columns(self): def test_get_last_processed_timestamp_does_update_columns(self):
self._test_x_state_does_update_columns(self._state.get_state) self._test_x_state_does_update_columns(
self._state.get_last_processed_timestamp)
def test_set_state_does_update_columns(self): def test_set_state_does_update_columns(self):
with mock.patch('cloudkitty.db.get_session'): with mock.patch('cloudkitty.db.get_session'):
@ -97,8 +98,9 @@ class StateManagerTest(tests.TestCase):
self.assertEqual(r_mock.scope_key, 'scope_key') self.assertEqual(r_mock.scope_key, 'scope_key')
self.assertEqual(r_mock.fetcher, 'fetcher1') self.assertEqual(r_mock.fetcher, 'fetcher1')
def test_get_state_no_column_update(self): def test_get_last_processed_timestamp_no_column_update(self):
self._test_x_state_no_column_update(self._state.get_state) self._test_x_state_no_column_update(
self._state.get_last_processed_timestamp)
def test_set_state_no_column_update(self): def test_set_state_no_column_update(self):
with mock.patch('cloudkitty.db.get_session'): with mock.patch('cloudkitty.db.get_session'):

View File

@ -134,7 +134,7 @@ class WriteOrchestrator(object):
def reset_state(self): def reset_state(self):
self._load_state_manager_data() self._load_state_manager_data()
self.usage_end = self._storage_state.get_state() self.usage_end = self._storage_state.get_last_processed_timestamp()
self._update_state_manager_data() self._update_state_manager_data()
def restart_month(self): def restart_month(self):
@ -145,7 +145,8 @@ class WriteOrchestrator(object):
def process(self): def process(self):
self._load_state_manager_data() self._load_state_manager_data()
storage_state = self._storage_state.get_state(self._tenant_id) storage_state = self._storage_state.get_last_processed_timestamp(
self._tenant_id)
if not self.usage_start: if not self.usage_start:
self.usage_start = storage_state self.usage_start = storage_state
self.usage_end = self.usage_start + self._period self.usage_end = self.usage_start + self._period
@ -154,5 +155,6 @@ class WriteOrchestrator(object):
self._commit_data() self._commit_data()
self._update_state_manager_data() self._update_state_manager_data()
self._load_state_manager_data() self._load_state_manager_data()
storage_state = self._storage_state.get_state(self._tenant_id) storage_state = self._storage_state.get_last_processed_timestamp(
self._tenant_id)
self.close() self.close()

View File

@ -0,0 +1,5 @@
---
upgrade:
- |
The ``storage_state.get_state`` method has been removed in favor of the
``storage_state.get_last_processed_timestamp`` method.