From d7fac54c2e78d70ba0ecce7231d3e8f6fa84efcd Mon Sep 17 00:00:00 2001 From: Varsha Rao Date: Tue, 9 Feb 2021 15:26:16 +0530 Subject: [PATCH] mgr/rook: Add timezone info Recently time zone info was added[1] to various properties like created, started and others in cephadm and changes were made to orchestrator module too. Let's add timezone info to rook as well, which will fix the type error. [1] https://github.com/ceph/ceph/pull/37920 Fixes: https://tracker.ceph.com/issues/49126 Signed-off-by: Varsha Rao --- src/pybind/mgr/rook/module.py | 4 ++-- src/pybind/mgr/rook/rook_cluster.py | 9 +++++---- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/src/pybind/mgr/rook/module.py b/src/pybind/mgr/rook/module.py index 82eaf68f36891..1ad1682fd060d 100644 --- a/src/pybind/mgr/rook/module.py +++ b/src/pybind/mgr/rook/module.py @@ -1,4 +1,3 @@ -import datetime import threading import functools import os @@ -6,6 +5,7 @@ import json from ceph.deployment import inventory from ceph.deployment.service_spec import ServiceSpec, NFSServiceSpec, RGWSpec, PlacementSpec +from ceph.utils import datetime_now from typing import List, Dict, Optional, Callable, Any, TypeVar, Tuple @@ -263,7 +263,7 @@ class RookOrchestrator(MgrModule, orchestrator.Orchestrator): service_type: Optional[str] = None, service_name: Optional[str] = None, refresh: bool = False) -> List[orchestrator.ServiceDescription]: - now = datetime.datetime.utcnow() + now = datetime_now() # CephCluster cl = self.rook_cluster.rook_api_get( diff --git a/src/pybind/mgr/rook/rook_cluster.py b/src/pybind/mgr/rook/rook_cluster.py index 75e3fb9129bea..3c1607124e000 100644 --- a/src/pybind/mgr/rook/rook_cluster.py +++ b/src/pybind/mgr/rook/rook_cluster.py @@ -22,6 +22,7 @@ from urllib3.exceptions import ProtocolError from ceph.deployment.drive_group import DriveGroupSpec from ceph.deployment.service_spec import ServiceSpec, NFSServiceSpec, RGWSpec +from ceph.utils import datetime_now from mgr_util import merge_dicts from typing import Optional, TypeVar, List, Callable, Any, cast, Generic, \ @@ -325,7 +326,7 @@ class RookCluster(object): return False return True - refreshed = datetime.datetime.utcnow() + refreshed = datetime_now() pods = [i for i in self.rook_pods.items if predicate(i)] pods_summary = [] @@ -356,13 +357,13 @@ class RookCluster(object): 'created': None, } - # note: we want UTC but no tzinfo + # note: we want UTC if d['metadata'].get('creation_timestamp', None): s['created'] = d['metadata']['creation_timestamp'].astimezone( - tz=datetime.timezone.utc).replace(tzinfo=None) + tz=datetime.timezone.utc) if d['status'].get('start_time', None): s['started'] = d['status']['start_time'].astimezone( - tz=datetime.timezone.utc).replace(tzinfo=None) + tz=datetime.timezone.utc) pods_summary.append(s) -- 2.39.5