Add method uptime service #134

Merged
d.zayakin merged 1 commit from d.zayakin/frostfs-testlib:add-uptime-service into master 2023-12-04 07:07:32 +00:00

View file

@ -1,8 +1,10 @@
from abc import abstractmethod
from dataclasses import dataclass
from datetime import datetime, timezone
from typing import Optional, TypedDict, TypeVar
import yaml
from dateutil import parser
from frostfs_testlib import reporter
from frostfs_testlib.hosting.config import ServiceConfig
@ -170,6 +172,15 @@ class NodeBase(HumanReadableABC):
def _get_service_config(self) -> ServiceConfig:
return self.host.get_service_config(self.name)
def get_service_uptime(self, service: str) -> datetime:
result = self.host.get_shell().exec(
f"systemctl show {service} --property ActiveEnterTimestamp | cut -d '=' -f 2"
)
start_time = parser.parse(result.stdout.strip())
current_time = datetime.now(tz=timezone.utc)
active_time = current_time - start_time
return active_time
ServiceClass = TypeVar("ServiceClass", bound=NodeBase)