switch zones to use utcnow
This commit is contained in:
		| @@ -17,16 +17,17 @@ | |||||||
| ZoneManager oversees all communications with child Zones. | ZoneManager oversees all communications with child Zones. | ||||||
| """ | """ | ||||||
|  |  | ||||||
|  | import datetime | ||||||
| import novaclient | import novaclient | ||||||
| import thread | import thread | ||||||
| import traceback | import traceback | ||||||
|  |  | ||||||
| from datetime import datetime |  | ||||||
| from eventlet import greenpool | from eventlet import greenpool | ||||||
|  |  | ||||||
| from nova import db | from nova import db | ||||||
| from nova import flags | from nova import flags | ||||||
| from nova import log as logging | from nova import log as logging | ||||||
|  | from nova import utils | ||||||
|  |  | ||||||
| FLAGS = flags.FLAGS | FLAGS = flags.FLAGS | ||||||
| flags.DEFINE_integer('zone_db_check_interval', 60, | flags.DEFINE_integer('zone_db_check_interval', 60, | ||||||
| @@ -42,7 +43,7 @@ class ZoneState(object): | |||||||
|         self.name = None |         self.name = None | ||||||
|         self.capabilities = None |         self.capabilities = None | ||||||
|         self.attempt = 0 |         self.attempt = 0 | ||||||
|         self.last_seen = datetime.min |         self.last_seen = datetime.datetime.min | ||||||
|         self.last_exception = None |         self.last_exception = None | ||||||
|         self.last_exception_time = None |         self.last_exception_time = None | ||||||
|  |  | ||||||
| @@ -56,7 +57,7 @@ class ZoneState(object): | |||||||
|     def update_metadata(self, zone_metadata): |     def update_metadata(self, zone_metadata): | ||||||
|         """Update zone metadata after successful communications with |         """Update zone metadata after successful communications with | ||||||
|            child zone.""" |            child zone.""" | ||||||
|         self.last_seen = datetime.now() |         self.last_seen = utils.utcnow() | ||||||
|         self.attempt = 0 |         self.attempt = 0 | ||||||
|         self.name = zone_metadata.get("name", "n/a") |         self.name = zone_metadata.get("name", "n/a") | ||||||
|         self.capabilities = ", ".join(["%s=%s" % (k, v) |         self.capabilities = ", ".join(["%s=%s" % (k, v) | ||||||
| @@ -72,7 +73,7 @@ class ZoneState(object): | |||||||
|         """Something went wrong. Check to see if zone should be |         """Something went wrong. Check to see if zone should be | ||||||
|            marked as offline.""" |            marked as offline.""" | ||||||
|         self.last_exception = exception |         self.last_exception = exception | ||||||
|         self.last_exception_time = datetime.now() |         self.last_exception_time = utils.utcnow() | ||||||
|         api_url = self.api_url |         api_url = self.api_url | ||||||
|         logging.warning(_("'%(exception)s' error talking to " |         logging.warning(_("'%(exception)s' error talking to " | ||||||
|                           "zone %(api_url)s") % locals()) |                           "zone %(api_url)s") % locals()) | ||||||
| @@ -104,7 +105,7 @@ def _poll_zone(zone): | |||||||
| class ZoneManager(object): | class ZoneManager(object): | ||||||
|     """Keeps the zone states updated.""" |     """Keeps the zone states updated.""" | ||||||
|     def __init__(self): |     def __init__(self): | ||||||
|         self.last_zone_db_check = datetime.min |         self.last_zone_db_check = datetime.datetime.min | ||||||
|         self.zone_states = {}  # { <zone_id> : ZoneState } |         self.zone_states = {}  # { <zone_id> : ZoneState } | ||||||
|         self.service_states = {}  # { <host> : { <service> : { cap k : v }}} |         self.service_states = {}  # { <host> : { <service> : { cap k : v }}} | ||||||
|         self.green_pool = greenpool.GreenPool() |         self.green_pool = greenpool.GreenPool() | ||||||
| @@ -158,10 +159,10 @@ class ZoneManager(object): | |||||||
|  |  | ||||||
|     def ping(self, context=None): |     def ping(self, context=None): | ||||||
|         """Ping should be called periodically to update zone status.""" |         """Ping should be called periodically to update zone status.""" | ||||||
|         diff = datetime.now() - self.last_zone_db_check |         diff = utils.utcnow() - self.last_zone_db_check | ||||||
|         if diff.seconds >= FLAGS.zone_db_check_interval: |         if diff.seconds >= FLAGS.zone_db_check_interval: | ||||||
|             logging.debug(_("Updating zone cache from db.")) |             logging.debug(_("Updating zone cache from db.")) | ||||||
|             self.last_zone_db_check = datetime.now() |             self.last_zone_db_check = utils.utcnow() | ||||||
|             self._refresh_from_db(context) |             self._refresh_from_db(context) | ||||||
|         self._poll_zones(context) |         self._poll_zones(context) | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Vishvananda Ishaya
					Vishvananda Ishaya