Zum Inhalt

Polycrate API 0.11.18

Release-Datum: 20. Januar 2026

Highlights

  • Hotfix: timezone.utc AttributeError in Timeline-Extraktion behoben
  • UI: Timeline-Charts auf Bar-Chart-Stil geändert (wie Endpoint Detail UI)

Artefakte

Docker Images

docker pull cargo.ayedo.cloud/library/polycrate-api:0.11.18

Installation & Update

polycrate pull cargo.ayedo.cloud/ayedo/k8s/polycrate-api
polycrate run polycrate-api install

Installationsanleitung


Hotfix: timezone.utc AttributeError

Problem

Nach Deploy von 0.11.17 erschien folgender Fehler:

Error extracting storage timeline: module 'django.utils.timezone' has no attribute 'utc'

Dieser Fehler verhinderte die Timeline-Datenextraktion für S3 Buckets und LoadBalancer Instances.

Root Cause

Django's timezone Modul hat kein utc Attribut. In 0.11.17 wurde fälschlicherweise django.utils.timezone.utc verwendet.

Lösung

Verwendung von datetime.timezone.utc aus der Python Standard-Library:

# Vorher (FALSCH)
from django.utils import timezone
datetime.fromtimestamp(ts, tz=timezone.utc)  # AttributeError!

# Nachher (RICHTIG)
import datetime
datetime.datetime.fromtimestamp(ts, tz=datetime.timezone.utc)

Betroffene Komponenten

Komponente Methode Fix
S3 Bucket _extract_storage_timeline() dt.timezone.utc
LoadBalancer _extract_bandwidth_timeline() datetime.timezone.utc

UI: Bar-Chart-Stil für Timeline-Charts

Die Timeline-Charts für S3 Buckets und LoadBalancer Instances wurden von Area-Charts auf Bar-Charts umgestellt, um Konsistenz mit dem Endpoint Detail UI herzustellen.

Vorher vs. Nachher

Komponente Vorher Nachher
S3 Bucket Storage Timeline Area-Chart (Linien mit Füllung) Bar-Chart
LoadBalancer Bandwidth Timeline Area-Chart (Linien mit Füllung) Bar-Chart

Alle drei Detail-UIs (Endpoint, S3 Bucket, LoadBalancer) verwenden jetzt denselben visuellen Stil für Timeline-Daten.


Migration

Keine Datenbank-Migration erforderlich.


Testing nach Update

  1. S3 Bucket reconcilen (über UI oder API)
  2. Logs prüfen - kein "Error extracting storage timeline" mehr
  3. Django Admin: metrics_data.storage_timeline sollte jetzt Daten enthalten

Vollständige Änderungen

GitHub Commits