make all uses of utcnow use our testable utils.utcnow
This commit is contained in:
		| @@ -53,7 +53,6 @@ | ||||
|   CLI interface for nova management. | ||||
| """ | ||||
|  | ||||
| import datetime | ||||
| import gettext | ||||
| import glob | ||||
| import json | ||||
| @@ -689,7 +688,7 @@ class ServiceCommands(object): | ||||
|         """Show a list of all running services. Filter by host & service name. | ||||
|         args: [host] [service]""" | ||||
|         ctxt = context.get_admin_context() | ||||
|         now = datetime.datetime.utcnow() | ||||
|         now = utils.utcnow() | ||||
|         services = db.service_get_all(ctxt) | ||||
|         if host: | ||||
|             services = [s for s in services if s['host'] == host] | ||||
|   | ||||
| @@ -11,9 +11,8 @@ | ||||
| #    distributed under the License is distributed on an "AS IS" BASIS, WITHOUT | ||||
| #    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the | ||||
| #    License for the specific language governing permissions and limitations | ||||
| #    under the License.import datetime | ||||
| #    under the License. | ||||
|  | ||||
| import datetime | ||||
| import uuid | ||||
|  | ||||
| from nova import flags | ||||
| @@ -64,7 +63,7 @@ def notify(publisher_id, event_type, priority, payload): | ||||
|  | ||||
|     {'message_id': str(uuid.uuid4()), | ||||
|      'publisher_id': 'compute.host1', | ||||
|      'timestamp': datetime.datetime.utcnow(), | ||||
|      'timestamp': utils.utcnow(), | ||||
|      'priority': 'WARN', | ||||
|      'event_type': 'compute.create_instance', | ||||
|      'payload': {'instance_id': 12, ... }} | ||||
| @@ -79,5 +78,5 @@ def notify(publisher_id, event_type, priority, payload): | ||||
|                    event_type=event_type, | ||||
|                    priority=priority, | ||||
|                    payload=payload, | ||||
|                    timestamp=str(datetime.datetime.utcnow())) | ||||
|                    timestamp=str(utils.utcnow())) | ||||
|     driver.notify(msg) | ||||
|   | ||||
| @@ -28,6 +28,7 @@ from nova import exception | ||||
| from nova import flags | ||||
| from nova import log as logging | ||||
| from nova import rpc | ||||
| from nova import utils | ||||
| from nova.compute import power_state | ||||
|  | ||||
| FLAGS = flags.FLAGS | ||||
| @@ -61,7 +62,7 @@ class Scheduler(object): | ||||
|         """Check whether a service is up based on last heartbeat.""" | ||||
|         last_heartbeat = service['updated_at'] or service['created_at'] | ||||
|         # Timestamps in DB are UTC. | ||||
|         elapsed = datetime.datetime.utcnow() - last_heartbeat | ||||
|         elapsed = utils.utcnow() - last_heartbeat | ||||
|         return elapsed < datetime.timedelta(seconds=FLAGS.service_down_time) | ||||
|  | ||||
|     def hosts_up(self, context, topic): | ||||
|   | ||||
| @@ -21,10 +21,9 @@ | ||||
| Simple Scheduler | ||||
| """ | ||||
|  | ||||
| import datetime | ||||
|  | ||||
| from nova import db | ||||
| from nova import flags | ||||
| from nova import utils | ||||
| from nova.scheduler import driver | ||||
| from nova.scheduler import chance | ||||
|  | ||||
| @@ -54,7 +53,7 @@ class SimpleScheduler(chance.ChanceScheduler): | ||||
|  | ||||
|             # TODO(vish): this probably belongs in the manager, if we | ||||
|             #             can generalize this somehow | ||||
|             now = datetime.datetime.utcnow() | ||||
|             now = utils.utcnow() | ||||
|             db.instance_update(context, instance_id, {'host': host, | ||||
|                                                       'scheduled_at': now}) | ||||
|             return host | ||||
| @@ -66,7 +65,7 @@ class SimpleScheduler(chance.ChanceScheduler): | ||||
|             if self.service_is_up(service): | ||||
|                 # NOTE(vish): this probably belongs in the manager, if we | ||||
|                 #             can generalize this somehow | ||||
|                 now = datetime.datetime.utcnow() | ||||
|                 now = utils.utcnow() | ||||
|                 db.instance_update(context, | ||||
|                                    instance_id, | ||||
|                                    {'host': service['host'], | ||||
| @@ -90,7 +89,7 @@ class SimpleScheduler(chance.ChanceScheduler): | ||||
|  | ||||
|             # TODO(vish): this probably belongs in the manager, if we | ||||
|             #             can generalize this somehow | ||||
|             now = datetime.datetime.utcnow() | ||||
|             now = utils.utcnow() | ||||
|             db.volume_update(context, volume_id, {'host': host, | ||||
|                                                   'scheduled_at': now}) | ||||
|             return host | ||||
| @@ -103,7 +102,7 @@ class SimpleScheduler(chance.ChanceScheduler): | ||||
|             if self.service_is_up(service): | ||||
|                 # NOTE(vish): this probably belongs in the manager, if we | ||||
|                 #             can generalize this somehow | ||||
|                 now = datetime.datetime.utcnow() | ||||
|                 now = utils.utcnow() | ||||
|                 db.volume_update(context, | ||||
|                                  volume_id, | ||||
|                                  {'host': service['host'], | ||||
|   | ||||
| @@ -23,7 +23,6 @@ inline callbacks. | ||||
|  | ||||
| """ | ||||
|  | ||||
| import datetime | ||||
| import functools | ||||
| import os | ||||
| import shutil | ||||
| @@ -37,6 +36,7 @@ from eventlet import greenthread | ||||
| from nova import fakerabbit | ||||
| from nova import flags | ||||
| from nova import rpc | ||||
| from nova import utils | ||||
| from nova import service | ||||
| from nova import wsgi | ||||
| from nova.virt import fake | ||||
| @@ -69,7 +69,7 @@ class TestCase(unittest.TestCase): | ||||
|         # NOTE(vish): We need a better method for creating fixtures for tests | ||||
|         #             now that we have some required db setup for the system | ||||
|         #             to work properly. | ||||
|         self.start = datetime.datetime.utcnow() | ||||
|         self.start = utils.utcnow() | ||||
|         shutil.copyfile(os.path.join(FLAGS.state_path, FLAGS.sqlite_clean_db), | ||||
|                         os.path.join(FLAGS.state_path, FLAGS.sqlite_db)) | ||||
|  | ||||
|   | ||||
| @@ -19,7 +19,6 @@ | ||||
| Tests For Compute | ||||
| """ | ||||
|  | ||||
| import datetime | ||||
| import mox | ||||
| import stubout | ||||
|  | ||||
| @@ -217,12 +216,12 @@ class ComputeTestCase(test.TestCase): | ||||
|         instance_ref = db.instance_get(self.context, instance_id) | ||||
|         self.assertEqual(instance_ref['launched_at'], None) | ||||
|         self.assertEqual(instance_ref['deleted_at'], None) | ||||
|         launch = datetime.datetime.utcnow() | ||||
|         launch = utils.utcnow() | ||||
|         self.compute.run_instance(self.context, instance_id) | ||||
|         instance_ref = db.instance_get(self.context, instance_id) | ||||
|         self.assert_(instance_ref['launched_at'] > launch) | ||||
|         self.assertEqual(instance_ref['deleted_at'], None) | ||||
|         terminate = datetime.datetime.utcnow() | ||||
|         terminate = utils.utcnow() | ||||
|         self.compute.terminate_instance(self.context, instance_id) | ||||
|         self.context = self.context.elevated(True) | ||||
|         instance_ref = db.instance_get(self.context, instance_id) | ||||
|   | ||||
| @@ -20,8 +20,6 @@ | ||||
| Tests For Console proxy. | ||||
| """ | ||||
|  | ||||
| import datetime | ||||
|  | ||||
| from nova import context | ||||
| from nova import db | ||||
| from nova import exception | ||||
|   | ||||
| @@ -16,7 +16,6 @@ | ||||
| #    License for the specific language governing permissions and limitations | ||||
| #    under the License. | ||||
|  | ||||
| import datetime | ||||
| import webob | ||||
| import webob.dec | ||||
| import webob.exc | ||||
|   | ||||
| @@ -196,7 +196,7 @@ class ZoneSchedulerTestCase(test.TestCase): | ||||
|         service.topic = 'compute' | ||||
|         service.id = kwargs['id'] | ||||
|         service.availability_zone = kwargs['zone'] | ||||
|         service.created_at = datetime.datetime.utcnow() | ||||
|         service.created_at = utils.utcnow() | ||||
|         return service | ||||
|  | ||||
|     def test_with_two_zones(self): | ||||
| @@ -290,7 +290,7 @@ class SimpleDriverTestCase(test.TestCase): | ||||
|         dic['host'] = kwargs.get('host', 'dummy') | ||||
|         s_ref = db.service_create(self.context, dic) | ||||
|         if 'created_at' in kwargs.keys() or 'updated_at' in kwargs.keys(): | ||||
|             t = datetime.datetime.utcnow() - datetime.timedelta(0) | ||||
|             t = utils.utcnow() - datetime.timedelta(0) | ||||
|             dic['created_at'] = kwargs.get('created_at', t) | ||||
|             dic['updated_at'] = kwargs.get('updated_at', t) | ||||
|             db.service_update(self.context, s_ref['id'], dic) | ||||
| @@ -401,7 +401,7 @@ class SimpleDriverTestCase(test.TestCase): | ||||
|                                    FLAGS.compute_manager) | ||||
|         compute1.start() | ||||
|         s1 = db.service_get_by_args(self.context, 'host1', 'nova-compute') | ||||
|         now = datetime.datetime.utcnow() | ||||
|         now = utils.utcnow() | ||||
|         delta = datetime.timedelta(seconds=FLAGS.service_down_time * 2) | ||||
|         past = now - delta | ||||
|         db.service_update(self.context, s1['id'], {'updated_at': past}) | ||||
| @@ -542,7 +542,7 @@ class SimpleDriverTestCase(test.TestCase): | ||||
|     def test_wont_sechedule_if_specified_host_is_down(self): | ||||
|         compute1 = self.start_service('compute', host='host1') | ||||
|         s1 = db.service_get_by_args(self.context, 'host1', 'nova-compute') | ||||
|         now = datetime.datetime.utcnow() | ||||
|         now = utils.utcnow() | ||||
|         delta = datetime.timedelta(seconds=FLAGS.service_down_time * 2) | ||||
|         past = now - delta | ||||
|         db.service_update(self.context, s1['id'], {'updated_at': past}) | ||||
| @@ -692,7 +692,7 @@ class SimpleDriverTestCase(test.TestCase): | ||||
|         dic = {'instance_id': instance_id, 'size': 1} | ||||
|         v_ref = db.volume_create(self.context, {'instance_id': instance_id, | ||||
|                                                 'size': 1}) | ||||
|         t1 = datetime.datetime.utcnow() - datetime.timedelta(1) | ||||
|         t1 = utils.utcnow() - datetime.timedelta(1) | ||||
|         dic = {'created_at': t1, 'updated_at': t1, 'binary': 'nova-volume', | ||||
|                'topic': 'volume', 'report_count': 0} | ||||
|         s_ref = db.service_create(self.context, dic) | ||||
| @@ -709,7 +709,7 @@ class SimpleDriverTestCase(test.TestCase): | ||||
|         """Confirms src-compute node is alive.""" | ||||
|         instance_id = self._create_instance() | ||||
|         i_ref = db.instance_get(self.context, instance_id) | ||||
|         t = datetime.datetime.utcnow() - datetime.timedelta(10) | ||||
|         t = utils.utcnow() - datetime.timedelta(10) | ||||
|         s_ref = self._create_compute_service(created_at=t, updated_at=t, | ||||
|                                              host=i_ref['host']) | ||||
|  | ||||
| @@ -737,7 +737,7 @@ class SimpleDriverTestCase(test.TestCase): | ||||
|         """Confirms exception raises in case dest host does not exist.""" | ||||
|         instance_id = self._create_instance() | ||||
|         i_ref = db.instance_get(self.context, instance_id) | ||||
|         t = datetime.datetime.utcnow() - datetime.timedelta(10) | ||||
|         t = utils.utcnow() - datetime.timedelta(10) | ||||
|         s_ref = self._create_compute_service(created_at=t, updated_at=t, | ||||
|                                              host=i_ref['host']) | ||||
|  | ||||
| @@ -796,7 +796,7 @@ class SimpleDriverTestCase(test.TestCase): | ||||
|         # mocks for live_migration_common_check() | ||||
|         instance_id = self._create_instance() | ||||
|         i_ref = db.instance_get(self.context, instance_id) | ||||
|         t1 = datetime.datetime.utcnow() - datetime.timedelta(10) | ||||
|         t1 = utils.utcnow() - datetime.timedelta(10) | ||||
|         s_ref = self._create_compute_service(created_at=t1, updated_at=t1, | ||||
|                                              host=dest) | ||||
|  | ||||
|   | ||||
| @@ -307,7 +307,7 @@ def  get_my_linklocal(interface): | ||||
|  | ||||
|  | ||||
| def utcnow(): | ||||
|     """Overridable version of datetime.datetime.utcnow.""" | ||||
|     """Overridable version of utils.utcnow.""" | ||||
|     if utcnow.override_time: | ||||
|         return utcnow.override_time | ||||
|     return datetime.datetime.utcnow() | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Vishvananda Ishaya
					Vishvananda Ishaya