From 444c9fb382efc4d2ba5614027f2afb33c4ae5f3f Mon Sep 17 00:00:00 2001 From: Jonathan Bleuzen Date: Mon, 25 Mar 2024 11:16:38 +0100 Subject: [PATCH] OAR source update for cigri-feedforward --- ...1-bs-loosen-pyzmq-version-constraint.patch | 25 ------- pkgs/oar/0001-fix-rest-api-resources.patch | 38 ---------- pkgs/oar/0002-location-for-type-in-jobs.patch | 73 ------------------- pkgs/oar/0003-events-for-get-jobs.patch | 32 -------- pkgs/oar/0004-resubmit-job-id.patch | 34 --------- pkgs/oar/default.nix | 16 ++-- 6 files changed, 8 insertions(+), 210 deletions(-) delete mode 100644 pkgs/oar/0001-bs-loosen-pyzmq-version-constraint.patch delete mode 100644 pkgs/oar/0001-fix-rest-api-resources.patch delete mode 100644 pkgs/oar/0002-location-for-type-in-jobs.patch delete mode 100644 pkgs/oar/0003-events-for-get-jobs.patch delete mode 100644 pkgs/oar/0004-resubmit-job-id.patch diff --git a/pkgs/oar/0001-bs-loosen-pyzmq-version-constraint.patch b/pkgs/oar/0001-bs-loosen-pyzmq-version-constraint.patch deleted file mode 100644 index 864ce96..0000000 --- a/pkgs/oar/0001-bs-loosen-pyzmq-version-constraint.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 12516cb2f952940b3f931806c5c04608ba50ccd2 Mon Sep 17 00:00:00 2001 -From: Millian Poquet -Date: Fri, 3 Feb 2023 17:12:35 +0100 -Subject: [PATCH] bs: loosen pyzmq version constraint - ---- - pyproject.toml | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/pyproject.toml b/pyproject.toml -index 513821d..37a394f 100644 ---- a/pyproject.toml -+++ b/pyproject.toml -@@ -58,7 +58,7 @@ alembic = ">1.7.0" - Flask = ">2.0.0" - tabulate = "^0.8.9" - Click = ">=8.0.0" --pyzmq = "^22.0.3" -+pyzmq = ">=22.0.3" - requests = ">=2.24.0" - procset = "^1.0" - simplejson = "^3.17.2" --- -2.38.1 - diff --git a/pkgs/oar/0001-fix-rest-api-resources.patch b/pkgs/oar/0001-fix-rest-api-resources.patch deleted file mode 100644 index 9bafbde..0000000 --- a/pkgs/oar/0001-fix-rest-api-resources.patch +++ /dev/null @@ -1,38 +0,0 @@ -From a9174995f0d23fb9bab422b3c61a6cf555821685 Mon Sep 17 00:00:00 2001 -From: Quentin Guilloteau -Date: Fri, 14 Apr 2023 22:49:20 +0200 -Subject: [PATCH 1/3] fix rest api resources - ---- - oar/rest_api/views/job.py | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -diff --git a/oar/rest_api/views/job.py b/oar/rest_api/views/job.py -index 5b0faab..bb536f3 100644 ---- a/oar/rest_api/views/job.py -+++ b/oar/rest_api/views/job.py -@@ -66,7 +66,7 @@ def index( - @app.route("/", methods=["POST"]) - @app.args( - { -- "resource": Arg([str]), -+ "resource": Arg(str), - "command": Arg(str), - "workdir": Arg(str), - "param_file": Arg(str), -@@ -239,9 +239,9 @@ def submit( - if param_file: - array_params = param_file.split("\n") - # array_nb = len(array_params) -- # if not isinstance(resource, list): -- # resource = [resource] -- -+ if not isinstance(resource, list): -+ resource = [resource] -+ - job_parameters = JobParameters( - job_type="PASSIVE", - command=command, --- -2.38.1 - diff --git a/pkgs/oar/0002-location-for-type-in-jobs.patch b/pkgs/oar/0002-location-for-type-in-jobs.patch deleted file mode 100644 index 03cfceb..0000000 --- a/pkgs/oar/0002-location-for-type-in-jobs.patch +++ /dev/null @@ -1,73 +0,0 @@ -From a40b47567feb45d6db49acd1986a1ba6478ddbcd Mon Sep 17 00:00:00 2001 -From: Quentin Guilloteau -Date: Tue, 18 Apr 2023 08:34:12 +0200 -Subject: [PATCH 2/3] location for type in /jobs - ---- - oar/rest_api/utils.py | 8 ++++---- - oar/rest_api/views/job.py | 2 +- - 2 files changed, 5 insertions(+), 5 deletions(-) - -diff --git a/oar/rest_api/utils.py b/oar/rest_api/utils.py -index 0fc292f..feac236 100644 ---- a/oar/rest_api/utils.py -+++ b/oar/rest_api/utils.py -@@ -7,7 +7,6 @@ from flask import abort, current_app, request - from oar.lib import config - from oar.lib.utils import integer_types, reraise, to_unicode - -- - class WSGIProxyFix(object): - def __init__(self, app): - self.app = app -@@ -69,7 +68,7 @@ class Arg(object): - self.required = required - self.dest = dest - self.error = error -- self.locations = locations or self.DEFAULT_LOCATIONS -+ self.locations = locations if locations else self.DEFAULT_LOCATIONS - - def raw_value(self, value): - if value is not None: -@@ -111,7 +110,7 @@ class ArgParser(object): - self.argmap = argmap - - def get_value(self, data, name, argobj): -- if isinstance(argobj.type, ListArg) and not argobj.type.sep: -+ if isinstance(argobj.type, ListArg) and not argobj.type.sep and not isinstance(data, dict): - return data.getlist(name) - else: - return data.get(name, self.MISSING) -@@ -119,6 +118,7 @@ class ArgParser(object): - def parse_arg(self, argname, argobj): - """Pull a form value from the request.""" - for location in argobj.locations: -+ - value = self.MISSING - if location == "querystring" and request.args: - value = self.get_value(request.args, argname, argobj) -@@ -136,7 +136,7 @@ class ArgParser(object): - - def convert_bool(self, value): - """Try to convert ``value`` to a Boolean.""" -- if value.lower() in ("True", "yes", "1"): -+ if value.lower() in ("true", "yes", "1"): - return True - if value.lower() in ("false", "no", "0"): - return False -diff --git a/oar/rest_api/views/job.py b/oar/rest_api/views/job.py -index bb536f3..4a15eda 100644 ---- a/oar/rest_api/views/job.py -+++ b/oar/rest_api/views/job.py -@@ -79,7 +79,7 @@ def index( - "reservation": Arg(str), - "checkpoint": Arg(int, default=0), - "signal": Arg(int), -- "type": Arg([str], dest="types"), -+ "type": Arg([str], dest="types", locations=("json",)), - "directory": Arg(str), - "project": Arg(str), - "name": Arg(str), --- -2.38.1 - diff --git a/pkgs/oar/0003-events-for-get-jobs.patch b/pkgs/oar/0003-events-for-get-jobs.patch deleted file mode 100644 index ec86b12..0000000 --- a/pkgs/oar/0003-events-for-get-jobs.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 073986abc5463e3333f5576eda267e4c2f3c1460 Mon Sep 17 00:00:00 2001 -From: Quentin Guilloteau -Date: Wed, 19 Apr 2023 16:24:22 +0200 -Subject: [PATCH 3/3] events for get /jobs - ---- - oar/rest_api/views/job.py | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/oar/rest_api/views/job.py b/oar/rest_api/views/job.py -index 4a15eda..7c426d0 100644 ---- a/oar/rest_api/views/job.py -+++ b/oar/rest_api/views/job.py -@@ -9,6 +9,7 @@ from oar.cli.oarhold import oarhold - from oar.cli.oarresume import oarresume - from oar.lib import Job, db - from oar.lib.submission import JobParameters, Submission, check_reservation -+from oar.lib.event import get_job_events - - from ..utils import Arg - from . import Blueprint -@@ -324,6 +325,7 @@ def show(job_id, detailed=None): - job_resources = db.queries.get_assigned_jobs_resources([job]) - attach_resources(g.data, job_resources) - attach_nodes(g.data, job_resources) -+ g.data["events"] = get_job_events(job_id) - attach_links(g.data) - - --- -2.38.1 - diff --git a/pkgs/oar/0004-resubmit-job-id.patch b/pkgs/oar/0004-resubmit-job-id.patch deleted file mode 100644 index dfe366f..0000000 --- a/pkgs/oar/0004-resubmit-job-id.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 1ef769ebf3ac1755606f986d79d8af6c967d0f38 Mon Sep 17 00:00:00 2001 -From: Quentin Guilloteau -Date: Sun, 30 Apr 2023 00:05:43 +0200 -Subject: [PATCH 4/4] resubmit job id - ---- - oar/lib/job_handling.py | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/oar/lib/job_handling.py b/oar/lib/job_handling.py -index 091fa83..3753b44 100644 ---- a/oar/lib/job_handling.py -+++ b/oar/lib/job_handling.py -@@ -984,7 +984,7 @@ def resubmit_job(job_id): - job.start_time = 0 - job.message = "" - job.scheduler_info = "" -- job.exit_code = None -+ # job.exit_code = None - job.assigned_moldable_job = 0 - - db.session.add(job) -@@ -2020,7 +2020,7 @@ def check_end_of_job( - "idempotent" in job_types.keys() - ): - if is_an_event_exists(job_id, "BESTEFFORT_KILL"): -- new_job_id = resubmit_job(job_id) -+ (_, new_job_id) = resubmit_job(job_id) - logger.warning( - "We resubmit the job " - + str(job_id) --- -2.38.1 - diff --git a/pkgs/oar/default.nix b/pkgs/oar/default.nix index ccadf98..eae46a8 100644 --- a/pkgs/oar/default.nix +++ b/pkgs/oar/default.nix @@ -8,16 +8,16 @@ python3Packages.buildPythonPackage rec { src = fetchFromGitHub { owner = "oar-team"; repo = "oar3"; - rev = "402aaeb032b081aa061997a4158951a340becf77"; - sha256 = "sha256-WykQV8JLrIEoGvJVrtTeFAmJwknQZfp9DMDiT9i4drw="; + rev = "5824e2df834b04081b8f29b1714bda800a6bbf16"; + sha256 = "sha256-IFMbGczsr/Ewj6d0Lv/ZP0fLwYa2Xspdlqto5n9i7yc="; }; - patches = [ - ./0001-fix-rest-api-resources.patch - ./0002-location-for-type-in-jobs.patch - ./0003-events-for-get-jobs.patch - ./0004-resubmit-job-id.patch - ]; + #patches = [ + # ./0001-fix-rest-api-resources.patch + # ./0002-location-for-type-in-jobs.patch + # ./0003-events-for-get-jobs.patch + # ./0004-resubmit-job-id.patch + #]; nativeBuildInputs = [ poetry ];