Merge "Get rid of timezone info for all time fields of versioned objects"

This commit is contained in:
Jenkins 2017-04-06 12:28:20 +00:00 committed by Gerrit Code Review
commit 8fe964fd07
6 changed files with 16 additions and 13 deletions

View File

@ -153,15 +153,19 @@ class KarborObjectDictCompat(base.VersionedObjectDictCompat):
return None
def DateTimeField(**kwargs):
return fields.DateTimeField(tzinfo_aware=False, **kwargs)
class KarborPersistentObject(object):
"""Mixin class for Persistent objects.
This adds the fields that we use in common for all persistent objects.
"""
fields = {
'created_at': fields.DateTimeField(nullable=True),
'updated_at': fields.DateTimeField(nullable=True),
'deleted_at': fields.DateTimeField(nullable=True),
'created_at': DateTimeField(nullable=True),
'updated_at': DateTimeField(nullable=True),
'deleted_at': DateTimeField(nullable=True),
'deleted': fields.BooleanField(default=False),
}

View File

@ -30,8 +30,8 @@ class OperationLog(base.KarborPersistentObject, base.KarborObject,
'id': fields.UUIDField(),
'project_id': fields.UUIDField(),
'scheduled_operation_id': fields.UUIDField(),
'started_at': fields.DateTimeField(nullable=True),
'ended_at': fields.DateTimeField(nullable=True),
'started_at': base.DateTimeField(nullable=True),
'ended_at': base.DateTimeField(nullable=True),
'state': fields.StringField(nullable=True),
'error': fields.StringField(nullable=True),
'entries': fields.StringField(nullable=True),

View File

@ -28,10 +28,10 @@ class ScheduledOperationLog(base.KarborPersistentObject, base.KarborObject,
fields = {
'id': fields.IntegerField(),
'operation_id': fields.UUIDField(),
'expect_start_time': fields.DateTimeField(nullable=True),
'triggered_time': fields.DateTimeField(nullable=True),
'actual_start_time': fields.DateTimeField(nullable=True),
'end_time': fields.DateTimeField(nullable=True),
'expect_start_time': base.DateTimeField(nullable=True),
'triggered_time': base.DateTimeField(nullable=True),
'actual_start_time': base.DateTimeField(nullable=True),
'end_time': base.DateTimeField(nullable=True),
'state': fields.StringField(),
'extend_info': fields.StringField(nullable=True),
}

View File

@ -32,7 +32,7 @@ class ScheduledOperationState(base.KarborPersistentObject, base.KarborObject,
'service_id': fields.IntegerField(),
'trust_id': fields.StringField(),
'state': fields.StringField(),
'end_time_for_run': fields.DateTimeField(nullable=True),
'end_time_for_run': base.DateTimeField(nullable=True),
'operation': fields.ObjectField("ScheduledOperation")
}

View File

@ -34,7 +34,7 @@ class Service(base.KarborPersistentObject, base.KarborObject,
'report_count': fields.IntegerField(default=0),
'disabled': fields.BooleanField(default=False),
'disabled_reason': fields.StringField(nullable=True),
'modified_at': fields.DateTimeField(nullable=True),
'modified_at': base.DateTimeField(nullable=True),
'rpc_current_version': fields.StringField(nullable=True),
'rpc_available_version': fields.StringField(nullable=True),
}

View File

@ -56,8 +56,7 @@ def service_is_up(service):
"""Check whether a service is up based on last heartbeat."""
last_heartbeat = service['updated_at'] or service['created_at']
elapsed = (timeutils.utcnow(with_timezone=True) -
last_heartbeat).total_seconds()
elapsed = (timeutils.utcnow() - last_heartbeat).total_seconds()
return abs(elapsed) <= CONF.service_down_time