From e056732078c336a5801d7d468fec28b67fa3316f Mon Sep 17 00:00:00 2001 From: Nathan Scott Date: Thu, 8 May 2025 10:03:04 +1000 Subject: [PATCH 1/2] pmseries_import: use a datetime UTC interface from python3.6 Resolves an issue Ken reported running tests in the QA farm, which is due to use of an interface from more-recent-python: https://github.com/python/cpython/pull/91973 --- .../archive-analysis/root/usr/bin/archive-import.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build/containers/archive-analysis/root/usr/bin/archive-import.py b/build/containers/archive-analysis/root/usr/bin/archive-import.py index 2ccdea9cb2e..fefd967904e 100755 --- a/build/containers/archive-analysis/root/usr/bin/archive-import.py +++ b/build/containers/archive-analysis/root/usr/bin/archive-import.py @@ -22,7 +22,7 @@ import subprocess import json from pathlib import Path -from datetime import datetime, UTC +from datetime import datetime, timezone import cpmapi as api from pcp import pmapi @@ -54,7 +54,7 @@ def archive_unchanged(archive_path: str, archive_time: float, i: int, count: int def format_time(seconds: float): # From a floating point number of seconds since the epoch, # produce a time string in the format Grafana is expecting. - string = datetime.fromtimestamp(seconds, UTC).isoformat() + string = datetime.fromtimestamp(seconds, timezone.utc).isoformat() return string.replace('+00:00', 'Z') From 8ebd42f9885e1f9ff25cf783400dd409db034d4d Mon Sep 17 00:00:00 2001 From: Nathan Scott Date: Mon, 12 May 2025 08:51:38 +1000 Subject: [PATCH 2/2] pmseries_import: another python36 compatibility fix The 'text' parameter to subprocess.run() was added in python 3.6 as a more convenient / clear interface - switch to the mechanism available from the release we support. https://docs.python.org/3/library/subprocess.html#subprocess.run --- .../containers/archive-analysis/root/usr/bin/archive-import.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/containers/archive-analysis/root/usr/bin/archive-import.py b/build/containers/archive-analysis/root/usr/bin/archive-import.py index fefd967904e..96b832ffdf8 100755 --- a/build/containers/archive-analysis/root/usr/bin/archive-import.py +++ b/build/containers/archive-analysis/root/usr/bin/archive-import.py @@ -144,7 +144,7 @@ def import_archive(path: Path, i: int, count: int, no_op: bool, import_timeout: stdout=subprocess.PIPE, stderr=subprocess.STDOUT, check=True, - text=True, + universal_newlines=True, timeout=import_timeout, ) except subprocess.CalledProcessError as e: