feat: switch all timezone naive datetimes to timezone aware
This commit is contained in:
parent
41fc0a73a5
commit
e22abb383c
30 changed files with 322 additions and 226 deletions
|
@ -1,9 +1,9 @@
|
|||
import datetime
|
||||
import os
|
||||
import sys
|
||||
from typing import Optional, Any, List, Sequence, Tuple
|
||||
from datetime import datetime, timedelta, timezone
|
||||
from typing import Any, List, Optional, Sequence, Tuple
|
||||
|
||||
from sqlalchemy import select, Row
|
||||
from sqlalchemy import Row, select
|
||||
|
||||
from app import app
|
||||
from app.extensions import db
|
||||
|
@ -25,7 +25,7 @@ def active_bridges_by_provider(provider: CloudProvider) -> Sequence[BridgeResour
|
|||
|
||||
|
||||
def recently_destroyed_bridges_by_provider(provider: CloudProvider) -> Sequence[BridgeResourceRow]:
|
||||
cutoff = datetime.datetime.utcnow() - datetime.timedelta(hours=72)
|
||||
cutoff = datetime.now(tz=timezone.utc) - timedelta(hours=72)
|
||||
stmt = select(Bridge, BridgeConf, CloudAccount).join_from(Bridge, BridgeConf).join_from(Bridge, CloudAccount).where(
|
||||
CloudAccount.provider == provider,
|
||||
Bridge.destroyed.is_not(None),
|
||||
|
@ -83,7 +83,7 @@ class BridgeAutomation(TerraformAutomation):
|
|||
bridge = Bridge.query.filter(Bridge.id == output[len('bridge_hashed_fingerprint_'):]).first()
|
||||
bridge.nickname = parts[0]
|
||||
bridge.hashed_fingerprint = parts[1]
|
||||
bridge.terraform_updated = datetime.datetime.utcnow()
|
||||
bridge.terraform_updated = datetime.now(tz=timezone.utc)
|
||||
if output.startswith('bridge_bridgeline_'):
|
||||
parts = outputs[output]['value'].split(" ")
|
||||
if len(parts) < 4:
|
||||
|
@ -91,7 +91,7 @@ class BridgeAutomation(TerraformAutomation):
|
|||
bridge = Bridge.query.filter(Bridge.id == output[len('bridge_bridgeline_'):]).first()
|
||||
del parts[3]
|
||||
bridge.bridgeline = " ".join(parts)
|
||||
bridge.terraform_updated = datetime.datetime.utcnow()
|
||||
bridge.terraform_updated = datetime.now(tz=timezone.utc)
|
||||
db.session.commit()
|
||||
|
||||
@classmethod
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
import datetime
|
||||
import logging
|
||||
import random
|
||||
from typing import Tuple, List
|
||||
from datetime import datetime, timedelta, timezone
|
||||
from typing import List, Tuple
|
||||
|
||||
from app import db
|
||||
from app.models.bridges import BridgeConf, Bridge, ProviderAllocation
|
||||
from app.models.cloud import CloudProvider, CloudAccount
|
||||
from app.models.bridges import Bridge, BridgeConf, ProviderAllocation
|
||||
from app.models.cloud import CloudAccount, CloudProvider
|
||||
from app.terraform import BaseAutomation
|
||||
|
||||
BRIDGE_PROVIDERS = [
|
||||
|
@ -33,8 +33,8 @@ def create_bridges_in_account(bridgeconf: BridgeConf, account: CloudAccount, cou
|
|||
bridge.pool_id = bridgeconf.pool.id
|
||||
bridge.conf_id = bridgeconf.id
|
||||
bridge.cloud_account = account
|
||||
bridge.added = datetime.datetime.utcnow()
|
||||
bridge.updated = datetime.datetime.utcnow()
|
||||
bridge.added = datetime.now(tz=timezone.utc)
|
||||
bridge.updated = datetime.now(tz=timezone.utc)
|
||||
logging.debug("Creating bridge %s", bridge)
|
||||
db.session.add(bridge)
|
||||
created += 1
|
||||
|
@ -129,7 +129,7 @@ class BridgeMetaAutomation(BaseAutomation):
|
|||
for bridge in deprecated_bridges:
|
||||
if bridge.deprecated is None:
|
||||
continue # Possible due to SQLAlchemy lazy loading
|
||||
cutoff = datetime.datetime.utcnow() - datetime.timedelta(hours=bridge.conf.expiry_hours)
|
||||
cutoff = datetime.now(tz=timezone.utc) - timedelta(hours=bridge.conf.expiry_hours)
|
||||
if bridge.deprecated < cutoff:
|
||||
logging.debug("Destroying expired bridge")
|
||||
bridge.destroy()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue