From 9982c80b41df02b53c3f9b26a4f59becc3e950e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Bidoul?= Date: Thu, 28 Oct 2021 18:51:55 +0200 Subject: [PATCH] Handle more timestamps --- src/runboat/api.py | 5 +++-- src/runboat/db.py | 2 +- src/runboat/models.py | 8 ++++---- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/src/runboat/api.py b/src/runboat/api.py index a1afe0d..15dd2ac 100644 --- a/src/runboat/api.py +++ b/src/runboat/api.py @@ -1,3 +1,4 @@ +import datetime from typing import List, Optional from fastapi import APIRouter, Depends, HTTPException, status @@ -35,7 +36,6 @@ class Repo(BaseModel): class Build(BaseModel): - # TODO created: datetime.datetime name: str repo: str target_branch: str @@ -44,6 +44,8 @@ class Build(BaseModel): image: str link: str status: models.BuildStatus + created: datetime.datetime + last_scaled: Optional[datetime.datetime] class Config: orm_mode = True @@ -51,7 +53,6 @@ class Build(BaseModel): class BranchOrPull(BaseModel): - # created: datetime.datetime repo: str target_branch: str pr: Optional[int] diff --git a/src/runboat/db.py b/src/runboat/db.py index bd91670..40301ee 100644 --- a/src/runboat/db.py +++ b/src/runboat/db.py @@ -84,7 +84,7 @@ class BuildsDb: build.status, build.todo, build.last_scaled, - build.created, + build.created.isoformat(), ), ) diff --git a/src/runboat/models.py b/src/runboat/models.py index acd20d7..8f18664 100644 --- a/src/runboat/models.py +++ b/src/runboat/models.py @@ -1,6 +1,6 @@ +import datetime import logging import uuid -from datetime import datetime from enum import Enum from typing import Optional @@ -36,7 +36,7 @@ class Build(BaseModel): status: BuildStatus todo: Optional[BuildTodo] last_scaled: Optional[str] - created: str + created: datetime.datetime @classmethod def from_deployment(cls, deployment: V1Deployment) -> "Build": @@ -52,7 +52,7 @@ class Build(BaseModel): todo=deployment.metadata.annotations["runboat/todo"] or None, last_scaled=deployment.metadata.annotations.get("runboat/last-scaled") or None, - created="TODO", # deployment.metadata.creationTimestamp, + created=deployment.metadata.creation_timestamp, ) @classmethod @@ -124,7 +124,7 @@ class Build(BaseModel): # record last scaled time for the stopper and undeployer "op": "replace", "path": "/metadata/annotations/runboat~1last-scaled", - "value": datetime.utcnow().isoformat() + "Z", + "value": datetime.datetime.utcnow().isoformat() + "Z", }, { # set replicas