Add method uptime service #135

Merged
d.zayakin merged 1 commit from d.zayakin/frostfs-testlib:add-uptime-service-v0.37 into support/v0.37 2023-12-04 07:07:39 +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.hosting.config import ServiceConfig
from frostfs_testlib.hosting.interfaces import Host
@ -164,6 +166,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)