From 5a16f0919620faae95244cba56c1b02d3d88d53b Mon Sep 17 00:00:00 2001 From: Vito Di Benedetto <55766483+vitodb@users.noreply.github.com> Date: Tue, 13 Jan 2026 19:06:46 -0600 Subject: [PATCH 1/8] Update ci.yaml to fix decisionengine whl to hepcloud_de The decisionengine package changed name to hepcloud_de, so the whl filename needs to be updated too. --- .github/workflows/ci.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index d0a8114d..20b0033a 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -87,7 +87,7 @@ jobs: python3 -m pip install --upgrade pytest python3 -m pip install --user Cython python3 setup.py bdist_wheel - python3 -m pip install --user dist/decisionengine*.whl + python3 -m pip install --user dist/hepcloud_de*.whl - name: Install DE Modules dependencies (runtime) run: | From e3eaee5c2345867b1723dac82c4fda26ce919c19 Mon Sep 17 00:00:00 2001 From: Vito Di Benedetto <55766483+vitodb@users.noreply.github.com> Date: Tue, 13 Jan 2026 19:15:27 -0600 Subject: [PATCH 2/8] We need htcondor version <25 --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index da497947..e85c7d02 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -20,7 +20,7 @@ dependencies = [ "gcs-oauth2-boto-plugin >= 2.7", "google-api-python-client >= 1.12.8", "google_auth >= 1.16.0", - "htcondor >= 9.0.0", + "htcondor >= 9.0.0, < 25.0.0", "numpy >= 1.19.5, < 2.0.0; python_version >= '3.7'", "pandas >= 1.5.3, < 2.0.0; python_version >= '3.7'", "pem", From 066a54132088f1b8d699ad38577844f7c8407ea6 Mon Sep 17 00:00:00 2001 From: Vito Di Benedetto <55766483+vitodb@users.noreply.github.com> Date: Tue, 13 Jan 2026 20:24:42 -0600 Subject: [PATCH 3/8] decisionengine whl filename become hepcloud_de --- .github/workflows/linters.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/linters.yaml b/.github/workflows/linters.yaml index b82dfd09..1c303317 100644 --- a/.github/workflows/linters.yaml +++ b/.github/workflows/linters.yaml @@ -80,7 +80,7 @@ jobs: python3 -m pip install --user Cython python3 -m pip install --user numpy python3 setup.py bdist_wheel - python3 -m pip install --user dist/decisionengine*.whl + python3 -m pip install --user dist/hepcloud_de*.whl - name: Install DE Modules dependencies run: | @@ -166,7 +166,7 @@ jobs: python3 -m pip install --user Cython python3 -m pip install --user numpy python3 setup.py bdist_wheel - python3 -m pip install --user dist/decisionengine*.whl + python3 -m pip install --user dist/hepcloud_de*.whl - name: Install DE Modules dependencies run: | From cbcb530903cd6cce24638511c54e1fa0566fb840 Mon Sep 17 00:00:00 2001 From: Vito Di Benedetto <55766483+vitodb@users.noreply.github.com> Date: Tue, 13 Jan 2026 20:29:56 -0600 Subject: [PATCH 4/8] Make REUSE happy --- .reuse/dep5 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.reuse/dep5 b/.reuse/dep5 index f569949c..36d89dde 100644 --- a/.reuse/dep5 +++ b/.reuse/dep5 @@ -11,7 +11,7 @@ Source: https://github.com/HEPCloud/decisionengine_modules # SPDX-FileCopyrightText: 2017 Fermi Research Alliance, LLC # SPDX-License-Identifier: Apache-2.0 -Files: src/*.jsonnet src/*/readme src/*.conf src/*.fixture src/*.csv src/*/AWS/scratch src/*/gce_limits_factory_entries.test src/*/data/monitoring.json src/*/data/passwd src/*/data/expected_metric_values.json +Files: src/*.jsonnet src/*/readme src/*.conf src/*.fixture src/*.csv src/*/AWS/scratch src/*/gce_limits_factory_entries.test src/*/data/monitoring.json src/*/data/passwd src/*/data/expected_metric_values.json src/*/data/GceOccupancy.input.fixture.json Copyright: 2017 Fermi Research Alliance, LLC License: Apache-2.0 From 470dfd8822e3d34f5f862ce40680e399e035e62a Mon Sep 17 00:00:00 2001 From: Steven Timm Date: Wed, 7 Jan 2026 11:58:37 -0600 Subject: [PATCH 5/8] remove AWS mentions in glidein_requests.py --- .../glideinwms/transforms/glidein_requests.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/decisionengine_modules/glideinwms/transforms/glidein_requests.py b/src/decisionengine_modules/glideinwms/transforms/glidein_requests.py index 82be73f4..ca063064 100644 --- a/src/decisionengine_modules/glideinwms/transforms/glidein_requests.py +++ b/src/decisionengine_modules/glideinwms/transforms/glidein_requests.py @@ -20,11 +20,15 @@ "startd_manifests", "Grid_Figure_Of_Merit", "GCE_Figure_Of_Merit", - "AWS_Figure_Of_Merit", + # "AWS_Figure_Of_Merit", "Nersc_Figure_Of_Merit", ] -_SUPPORTED_ENTRY_TYPES = ["LCF", "AWS", "Grid", "GCE"] +_SUPPORTED_ENTRY_TYPES = [ + "LCF", + "Grid", + "GCE", +] # ["LCF", "AWS", "Grid", "GCE"] AWS Code has been commented to ease future re-insertion METRICS = { "NUMBER_OF_JOBS": Gauge("de_jobs_total", "Number of jobs seen by the Decision Engine"), @@ -111,7 +115,7 @@ def transform(self, datablock): foms = { "Grid_Figure_Of_Merit": self.Grid_Figure_Of_Merit(datablock), "GCE_Figure_Of_Merit": self.GCE_Figure_Of_Merit(datablock), - "AWS_Figure_Of_Merit": self.AWS_Figure_Of_Merit(datablock), + # "AWS_Figure_Of_Merit": self.AWS_Figure_Of_Merit(datablock), "Nersc_Figure_Of_Merit": self.Nersc_Figure_Of_Merit(datablock), } fom_entries = fom_eligible_resources( From 6a848b33526085f6100a457e8caf92f2534b1881 Mon Sep 17 00:00:00 2001 From: Marco Mambelli Date: Wed, 7 Jan 2026 12:18:53 -0600 Subject: [PATCH 6/8] Updated REUSE and fixed missing licensing issue --- .pre-commit-config.yaml | 2 +- .reuse/dep5 | 28 --------------------- REUSE.toml | 54 +++++++++++++++++++++++++++++++++++++++++ 3 files changed, 55 insertions(+), 29 deletions(-) delete mode 100644 .reuse/dep5 create mode 100644 REUSE.toml diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 675b9680..fb7966cb 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -70,7 +70,7 @@ repos: additional_dependencies: - tomli - repo: "https://github.com/fsfe/reuse-tool" - rev: v0.14.0 + rev: v5.0.2 hooks: - id: reuse additional_dependencies: diff --git a/.reuse/dep5 b/.reuse/dep5 deleted file mode 100644 index 36d89dde..00000000 --- a/.reuse/dep5 +++ /dev/null @@ -1,28 +0,0 @@ -Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ -Upstream-Name: decisionengine_modules -Upstream-Contact: HEPCloud team <> -Source: https://github.com/HEPCloud/decisionengine_modules - -# Sample paragraph, commented out: -# -# Files: src/* -# Copyright: $YEAR $NAME <$CONTACT> -# License: ... -# SPDX-FileCopyrightText: 2017 Fermi Research Alliance, LLC -# SPDX-License-Identifier: Apache-2.0 - -Files: src/*.jsonnet src/*/readme src/*.conf src/*.fixture src/*.csv src/*/AWS/scratch src/*/gce_limits_factory_entries.test src/*/data/monitoring.json src/*/data/passwd src/*/data/expected_metric_values.json src/*/data/GceOccupancy.input.fixture.json -Copyright: 2017 Fermi Research Alliance, LLC -License: Apache-2.0 - -Files: .codecov.yml .codespell/ignore_lines.txt .codespell/ignore_words.txt .coveragerc .editorconfig .gitignore .lgtm.yaml .pep8speaks.yml .pre-commit-config.yaml .pylintrc _config.yml pyproject.toml uv.lock -Copyright: 2017 Fermi Research Alliance, LLC -License: Apache-2.0 - -Files: package/rpm/* package/systemd/* -Copyright: 2017 Fermi Research Alliance, LLC -License: Apache-2.0 - -Files: dashboards/*.json -Copyright: 2017 Fermi Research Alliance, LLC -License: Apache-2.0 diff --git a/REUSE.toml b/REUSE.toml new file mode 100644 index 00000000..4821a71d --- /dev/null +++ b/REUSE.toml @@ -0,0 +1,54 @@ +version = 1 +SPDX-PackageName = "decisionengine_modules" +SPDX-PackageSupplier = "HEPCloud team <>" +SPDX-PackageDownloadLocation = "https://github.com/HEPCloud/decisionengine_modules" + +[[annotations]] +path = [ + "src/**.jsonnet", + "src/**/readme", + "src/**.conf", + "src/**.fixture", + "src/**.fixture.json", + "src/**.csv", + "src/**/AWS/scratch", + "src/**/gce_limits_factory_entries.test", + "src/**/data/monitoring.json", + "src/**/data/passwd", + "src/**/data/expected_metric_values.json" +] +precedence = "aggregate" +SPDX-FileCopyrightText = "2017 Fermi Research Alliance, LLC" +SPDX-License-Identifier = "Apache-2.0" + +[[annotations]] +path = [ + ".codecov.yml", + ".codespell/ignore_lines.txt", + ".codespell/ignore_words.txt", + ".coveragerc", + ".editorconfig", + ".gitignore", + ".lgtm.yaml", + ".pep8speaks.yml", + ".pre-commit-config.yaml", + ".pylintrc", + "_config.yml", + "pyproject.toml", + "uv.lock" +] +precedence = "aggregate" +SPDX-FileCopyrightText = "2017 Fermi Research Alliance, LLC" +SPDX-License-Identifier = "Apache-2.0" + +[[annotations]] +path = ["package/rpm/**", "package/systemd/**"] +precedence = "aggregate" +SPDX-FileCopyrightText = "2017 Fermi Research Alliance, LLC" +SPDX-License-Identifier = "Apache-2.0" + +[[annotations]] +path = "dashboards/**.json" +precedence = "aggregate" +SPDX-FileCopyrightText = "2017 Fermi Research Alliance, LLC" +SPDX-License-Identifier = "Apache-2.0" From bedb3b26f1d7853729fe3ee79f7ebff14c9ee63c Mon Sep 17 00:00:00 2001 From: Marco Mambelli Date: Wed, 7 Jan 2026 15:14:54 -0600 Subject: [PATCH 7/8] Extended token duration to 30 days per HEPCloud Ops request to support HPC requests --- src/decisionengine_modules/glideinwms/glide_frontend_element.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/decisionengine_modules/glideinwms/glide_frontend_element.py b/src/decisionengine_modules/glideinwms/glide_frontend_element.py index 82fef1a9..de09a06b 100644 --- a/src/decisionengine_modules/glideinwms/glide_frontend_element.py +++ b/src/decisionengine_modules/glideinwms/glide_frontend_element.py @@ -1302,7 +1302,7 @@ def refresh_entry_token(self, glidein_site, work_dir="/var/lib/gwms-frontend"): if tkn_age > one_hr and os.path.exists(pwd_file): # TODO: scope, duration, identity should be configurable scope = "condor:/READ condor:/ADVERTISE_STARTD condor:/ADVERTISE_MASTER" - duration = 24 * one_hr + duration = 30 * 24 * one_hr # Increased to 30 days per HEPCloud Ops request identity = f"{glidein_site}@{socket.gethostname()}" self.logger.debug("creating token %s" % tkn_file) self.logger.debug("pwd_flie= %s" % pwd_file) From 4ea89a9dd711d85ca1d3452c254ec617c59ee5f1 Mon Sep 17 00:00:00 2001 From: Vito Di Benedetto <55766483+vitodb@users.noreply.github.com> Date: Wed, 28 Jan 2026 18:03:19 -0600 Subject: [PATCH 8/8] Restore formatting --- pyproject.toml | 79 +++++++++++++++++++++++--------------------------- 1 file changed, 36 insertions(+), 43 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index e85c7d02..79f51022 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -6,52 +6,48 @@ build-backend = "setuptools.build_meta" name = "hepcloud-de-modules" dynamic = ["version"] readme = "README.md" -license = {text ="Apache-2.0"} +license = { text = "Apache-2.0" } requires-python = ">=3.9, <3.13" -authors = [ - { name = "Fermilab" }, -] +authors = [{ name = "Fermilab" }] dependencies = [ - "authlib", - "bill-calculator-hep >= 0.2.3", - "boto3 >= 1.17.10", - "cryptography", - #"hepcloud-de >= 2.0", - "gcs-oauth2-boto-plugin >= 2.7", - "google-api-python-client >= 1.12.8", - "google_auth >= 1.16.0", - "htcondor >= 9.0.0, < 25.0.0", - "numpy >= 1.19.5, < 2.0.0; python_version >= '3.7'", - "pandas >= 1.5.3, < 2.0.0; python_version >= '3.7'", - "pem", - "PyJWT", - "qcs-api-client >= 0.21.1; python_version >= '3.7'", - "requests >= 2.14.2", - "structlog >= 21.1.0", - "urllib3 >= 1.26.2", + "authlib", + "bill-calculator-hep >= 0.2.3", + "boto3 >= 1.17.10", + "cryptography", + #"hepcloud-de >= 2.0", + "gcs-oauth2-boto-plugin >= 2.7", + "google-api-python-client >= 1.12.8", + "google_auth >= 1.16.0", + "htcondor >= 9.0.0, < 25.0.0", + "numpy >= 1.19.5, < 2.0.0; python_version >= '3.7'", + "pandas >= 1.5.3, < 2.0.0; python_version >= '3.7'", + "pem", + "PyJWT", + "qcs-api-client >= 0.21.1; python_version >= '3.7'", + "requests >= 2.14.2", + "structlog >= 21.1.0", + "urllib3 >= 1.26.2", ] [project.optional-dependencies] develop = [ - "coverage >= 6.1.2", - "flake8 >= 6.0.0, < 7.0.0", - "importlib_resources >= 5.1.2; python_version <= '3.8'", - "packaging >= 20.9", - "pylint >= 2.7.4", - "pytest >= 7.0.0, < 8.0", - "pytest-cov >= 2.11.1", - "pytest-xdist[psutil] >= 2.3.0", - "pyyaml >= 5.4.1", - "reuse >= 1.1.2", - "sphinx >= 3.5.3", - "sphinx_rtd_theme >= 0.5.1", - "tabulate >= 0.8.8", - "toml >= 0.10.2", - "wheel >= 0.36.2", -] -production = [ - "hepcloud-de >= 2.0.0", + "coverage >= 6.1.2", + "flake8 >= 6.0.0, < 7.0.0", + "importlib_resources >= 5.1.2; python_version <= '3.8'", + "packaging >= 20.9", + "pylint >= 2.7.4", + "pytest >= 7.0.0, < 8.0", + "pytest-cov >= 2.11.1", + "pytest-xdist[psutil] >= 2.3.0", + "pyyaml >= 5.4.1", + "reuse >= 1.1.2", + "sphinx >= 3.5.3", + "sphinx_rtd_theme >= 0.5.1", + "tabulate >= 0.8.8", + "toml >= 0.10.2", + "wheel >= 0.36.2", ] +production = ["hepcloud-de >= 2.0.0"] [project.urls] # https://packaging.python.org/en/latest/specifications/well-known-project-urls/#well-known-project-urls @@ -100,7 +96,4 @@ lines_between_types = 1 force_alphabetical_sort_within_sections = "True" [tool.uv] -environments = [ - "sys_platform == 'darwin'", - "sys_platform == 'linux'", -] +environments = ["sys_platform == 'darwin'", "sys_platform == 'linux'"]