From: Ricardo Dias Date: Tue, 27 Mar 2018 14:05:01 +0000 (+0100) Subject: pybind/rbd: always parse timestamps in UTC X-Git-Tag: v12.2.6~141^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F21725%2Fhead;p=ceph.git pybind/rbd: always parse timestamps in UTC Fixes: http://tracker.ceph.com/issues/23609 Signed-off-by: Ricardo Dias (cherry picked from commit 08cee16d0a4b95a53aa31cbced2306e0d8c3a627) --- diff --git a/src/pybind/rbd/rbd.pyx b/src/pybind/rbd/rbd.pyx index 4829c96bf397..4738b3c19741 100644 --- a/src/pybind/rbd/rbd.pyx +++ b/src/pybind/rbd/rbd.pyx @@ -981,8 +981,8 @@ class RBD(object): 'id' : decode_cstr(c_info.id), 'name' : decode_cstr(c_info.name), 'source' : __source_string[c_info.source], - 'deletion_time' : datetime.fromtimestamp(c_info.deletion_time), - 'deferment_end_time' : datetime.fromtimestamp(c_info.deferment_end_time) + 'deletion_time' : datetime.utcfromtimestamp(c_info.deletion_time), + 'deferment_end_time' : datetime.utcfromtimestamp(c_info.deferment_end_time) } rbd_trash_get_cleanup(&c_info) return info @@ -1291,7 +1291,7 @@ cdef class MirrorImageStatusIterator(object): }, 'state' : self.images[i].state, 'description' : decode_cstr(self.images[i].description), - 'last_update' : datetime.fromtimestamp(self.images[i].last_update), + 'last_update' : datetime.utcfromtimestamp(self.images[i].last_update), 'up' : self.images[i].up, } if self.size < self.max_read: @@ -1965,7 +1965,7 @@ cdef class Image(object): ret = rbd_snap_get_timestamp(self.image, _snap_id, ×tamp) if ret != 0: raise make_ex(ret, 'error getting snapshot timestamp for image: %s, snap_id: %d' % (self.name, snap_id)) - return datetime.fromtimestamp(timestamp.tv_sec) + return datetime.utcfromtimestamp(timestamp.tv_sec) def remove_snap_limit(self): """ @@ -2194,7 +2194,7 @@ written." % (self.name, ret, length)) ret = rbd_get_create_timestamp(self.image, ×tamp) if ret != 0: raise make_ex(ret, 'error getting create timestamp for image: %s' % (self.name)) - return datetime.fromtimestamp(timestamp.tv_sec) + return datetime.utcfromtimestamp(timestamp.tv_sec) def flatten(self): """ @@ -2522,7 +2522,7 @@ written." % (self.name, ret, length)) }, 'state' : c_status.state, 'description' : decode_cstr(c_status.description), - 'last_update' : datetime.fromtimestamp(c_status.last_update), + 'last_update' : datetime.utcfromtimestamp(c_status.last_update), 'up' : c_status.up, } free(c_status.name) @@ -2966,8 +2966,8 @@ cdef class TrashIterator(object): 'id' : decode_cstr(self.entries[i].id), 'name' : decode_cstr(self.entries[i].name), 'source' : TrashIterator.__source_string[self.entries[i].source], - 'deletion_time' : datetime.fromtimestamp(self.entries[i].deletion_time), - 'deferment_end_time' : datetime.fromtimestamp(self.entries[i].deferment_end_time) + 'deletion_time' : datetime.utcfromtimestamp(self.entries[i].deletion_time), + 'deferment_end_time' : datetime.utcfromtimestamp(self.entries[i].deferment_end_time) } def __dealloc__(self):