from collections.abc import Iterable
except ImportError:
from collections import Iterable
-from datetime import datetime
+from datetime import datetime, timezone
import errno
from itertools import chain
import time
'id' : decode_cstr(c_info.id),
'name' : decode_cstr(c_info.name),
'source' : __source_string[c_info.source],
- 'deletion_time' : datetime.utcfromtimestamp(c_info.deletion_time),
- 'deferment_end_time' : datetime.utcfromtimestamp(c_info.deferment_end_time)
+ 'deletion_time' : datetime.fromtimestamp(c_info.deletion_time,
+ tz=timezone.utc),
+ 'deferment_end_time' : datetime.fromtimestamp(c_info.deferment_end_time,
+ tz=timezone.utc)
}
rbd_trash_get_cleanup(&c_info)
return info
site_status = {
'state' : s_status.state,
'description' : decode_cstr(s_status.description),
- 'last_update' : datetime.utcfromtimestamp(s_status.last_update),
+ 'last_update' : datetime.fromtimestamp(s_status.last_update,
+ tz=timezone.utc),
'up' : s_status.up,
}
mirror_uuid = decode_cstr(s_status.mirror_uuid)
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.utcfromtimestamp(timestamp.tv_sec)
+ return datetime.fromtimestamp(timestamp.tv_sec, tz=timezone.utc)
@requires_not_closed
def remove_snap_limit(self):
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.utcfromtimestamp(timestamp.tv_sec)
+ return datetime.fromtimestamp(timestamp.tv_sec, tz=timezone.utc)
@requires_not_closed
def access_timestamp(self):
ret = rbd_get_access_timestamp(self.image, ×tamp)
if ret != 0:
raise make_ex(ret, 'error getting access timestamp for image: %s' % (self.name))
- return datetime.utcfromtimestamp(timestamp.tv_sec)
+ return datetime.fromtimestamp(timestamp.tv_sec, tz=timezone.utc)
@requires_not_closed
def modify_timestamp(self):
ret = rbd_get_modify_timestamp(self.image, ×tamp)
if ret != 0:
raise make_ex(ret, 'error getting modify timestamp for image: %s' % (self.name))
- return datetime.utcfromtimestamp(timestamp.tv_sec)
+ return datetime.fromtimestamp(timestamp.tv_sec, tz=timezone.utc)
@requires_not_closed
def flatten(self, on_progress=None):
site_status = {
'state' : s_status.state,
'description' : decode_cstr(s_status.description),
- 'last_update' : datetime.utcfromtimestamp(s_status.last_update),
+ 'last_update' : datetime.fromtimestamp(s_status.last_update,
+ tz=timezone.utc),
'up' : s_status.up,
}
mirror_uuid = decode_cstr(s_status.mirror_uuid)
'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.utcfromtimestamp(self.entries[i].deletion_time),
- 'deferment_end_time' : datetime.utcfromtimestamp(self.entries[i].deferment_end_time)
+ 'deletion_time' : datetime.fromtimestamp(self.entries[i].deletion_time,
+ tz=timezone.utc),
+ 'deferment_end_time' : datetime.fromtimestamp(self.entries[i].deferment_end_time,
+ tz=timezone.utc)
}
def __dealloc__(self):
from assertions import (assert_equal as eq, assert_raises, assert_not_equal,
assert_greater_equal)
-from datetime import datetime, timedelta
+from datetime import datetime, timedelta, timezone
from rados import (Rados,
LIBRADOS_SNAP_HEAD,
LIBRADOS_OP_FLAG_FADVISE_DONTNEED,
self.rbd = RBD()
# {create,access,modify}_timestamp() have second precision,
# allow for rounding
- self.time_before_create = datetime.utcnow() - timedelta(seconds=1)
+ self.time_before_create = datetime.now(timezone.utc) - timedelta(seconds=1)
create_image()
- self.time_after_create = datetime.utcnow() + timedelta(seconds=1)
+ self.time_after_create = datetime.now(timezone.utc) + timedelta(seconds=1)
self.image = Image(ioctx, image_name)
def teardown_method(self, method):
def test_snap_timestamp(self):
# get_snap_timestamp() has second precision, allow for rounding
- time_before = datetime.utcnow() - timedelta(seconds=1)
+ time_before = datetime.now(timezone.utc) - timedelta(seconds=1)
self.image.create_snap('snap1')
- time_after = datetime.utcnow() + timedelta(seconds=1)
+ time_after = datetime.now(timezone.utc) + timedelta(seconds=1)
eq(['snap1'], [snap['name'] for snap in self.image.list_snaps()])
for snap in self.image.list_snaps():
snap_id = snap["id"]