From 33037a7ad49f99b9d9636f1d83c7e74fd0474995 Mon Sep 17 00:00:00 2001 From: amirsadraabdollahi Date: Wed, 8 Jul 2026 17:26:35 -0400 Subject: [PATCH 01/18] Feat: Phase1 migration the core upgrade of django and python --- ci-jobs/Dockerfile | 2 +- python3-celery/Dockerfile | 2 +- rodan-main/code/requirements.txt | 114 +++++++------ rodan-main/code/rodan/asgi.py | 32 ++++ rodan-main/code/rodan/celery.py | 2 +- rodan-main/code/rodan/consumers.py | 64 ++++++++ rodan-main/code/rodan/jobs/base.py | 8 +- rodan-main/code/rodan/jobs/convert_to_str.py | 3 +- rodan-main/code/rodan/jobs/core.py | 8 +- rodan-main/code/rodan/jobs/deep_eq.py | 9 +- .../code/rodan/jobs/diva_generate_json.py | 5 +- rodan-main/code/rodan/jobs/labeler.py | 4 +- rodan-main/code/rodan/jobs/master_task.py | 2 +- .../code/rodan/jobs/resource_distributor.py | 4 +- rodan-main/code/rodan/models/connection.py | 1 - rodan-main/code/rodan/models/input.py | 1 - rodan-main/code/rodan/models/inputport.py | 1 - rodan-main/code/rodan/models/output.py | 1 - rodan-main/code/rodan/models/outputport.py | 1 - rodan-main/code/rodan/models/project.py | 1 - rodan-main/code/rodan/models/resource.py | 1 - rodan-main/code/rodan/models/resourcelist.py | 1 - .../code/rodan/models/resultspackage.py | 1 - rodan-main/code/rodan/models/runjob.py | 5 +- rodan-main/code/rodan/models/tempauthtoken.py | 1 - rodan-main/code/rodan/models/user.py | 3 - .../code/rodan/models/userpreference.py | 1 - rodan-main/code/rodan/models/workflow.py | 1 - rodan-main/code/rodan/models/workflowjob.py | 1 - .../code/rodan/models/workflowjobgroup.py | 1 - rodan-main/code/rodan/models/workflowrun.py | 1 - rodan-main/code/rodan/settings.py | 27 ++-- rodan-main/code/rodan/test/helpers.py | 150 +++++++++--------- .../code/rodan/test/models/test_connection.py | 6 +- .../code/rodan/test/models/test_input.py | 8 +- .../code/rodan/test/models/test_inputport.py | 6 +- .../rodan/test/models/test_inputporttype.py | 4 +- rodan-main/code/rodan/test/models/test_job.py | 2 +- .../code/rodan/test/models/test_output.py | 8 +- .../code/rodan/test/models/test_outputport.py | 6 +- .../rodan/test/models/test_outputporttype.py | 4 +- .../code/rodan/test/models/test_project.py | 26 +-- .../code/rodan/test/models/test_resource.py | 8 +- .../rodan/test/models/test_resourcelabel.py | 6 +- .../code/rodan/test/models/test_runjob.py | 8 +- .../rodan/test/models/test_userpreference.py | 6 +- .../code/rodan/test/models/test_workflow.py | 34 ++-- .../rodan/test/models/test_workflowjob.py | 2 +- .../rodan/test/models/test_workflowrun.py | 10 +- .../rodan/test/testIndividual_permission.py | 52 +++--- rodan-main/code/rodan/test/test_all_jobs.py | 2 +- .../test/views/testIndividual_interactive.py | 18 +-- .../test/views/testIndividual_workflowrun.py | 21 ++- .../code/rodan/test/views/test_connection.py | 16 +- .../code/rodan/test/views/test_resource.py | 47 +++--- .../rodan/test/views/test_resourcelist.py | 28 ++-- .../rodan/test/views/test_resultspackage.py | 14 +- .../code/rodan/test/views/test_workflow.py | 127 ++++++++------- .../code/rodan/test/views/test_workflowjob.py | 6 +- .../rodan/test/views/test_workflowjobgroup.py | 24 +-- rodan-main/code/rodan/urls.py | 139 ++++++++-------- rodan-main/code/rodan/views/interactive.py | 2 +- rodan-main/code/rodan/views/project.py | 2 +- rodan-main/code/rodan/views/resource.py | 8 +- rodan-main/code/rodan/views/resultspackage.py | 7 +- rodan-main/code/rodan/views/userpreference.py | 4 +- rodan-main/code/rodan/views/workflow.py | 2 +- rodan-main/code/rodan/views/workflowrun.py | 2 +- rodan-main/code/rodan/wsgi_websocket.py | 9 -- 69 files changed, 610 insertions(+), 523 deletions(-) create mode 100644 rodan-main/code/rodan/asgi.py create mode 100644 rodan-main/code/rodan/consumers.py delete mode 100644 rodan-main/code/rodan/wsgi_websocket.py diff --git a/ci-jobs/Dockerfile b/ci-jobs/Dockerfile index a06f96ba1..a7fb29f88 100644 --- a/ci-jobs/Dockerfile +++ b/ci-jobs/Dockerfile @@ -29,7 +29,7 @@ RUN yarn install RUN yarn build # Make Gamera files accessible to the main container. -FROM ddmal/gamera4:fix_IC AS gamera +FROM ddmal/gamera4:py311 AS gamera # This release is based on Debian 11 "Bullseye" FROM python:3.7-slim diff --git a/python3-celery/Dockerfile b/python3-celery/Dockerfile index 083ef3f69..d87222fa9 100644 --- a/python3-celery/Dockerfile +++ b/python3-celery/Dockerfile @@ -26,7 +26,7 @@ RUN yarn install RUN yarn build # Make Gamera files accessible to the main container. -FROM ddmal/gamera4:2.0.0 AS gamera +FROM ddmal/gamera4:py311 AS gamera # This release is based on Debian 11 "Bullseye" FROM python:3.7-slim diff --git a/rodan-main/code/requirements.txt b/rodan-main/code/requirements.txt index baeac571c..e110b299b 100755 --- a/rodan-main/code/requirements.txt +++ b/rodan-main/code/requirements.txt @@ -1,48 +1,66 @@ -backports.ssl-match-hostname==3.4.0.2 -celery==4.4.7 -certifi==14.05.14 -django-cors-headers==3.4.0 #up to django 3.0 -django-decorator-include==3.0 #only supports up to 3.0 django (bottleneck?) -django-environ==0.5.0 #added support for django 2.1 and 2.2 -django-extensions==1.9.9 #updated -django-filter==2.1.0 #supports up to django 2.2 -django-guardian==1.5.1 #updated -django-health-check==2.2.0 #supports up to django 2.2 -django-sortedm2m==2.0 #django 1.11 to 2.2 -django-websocket-redis==0.5.2 -Django==2.0.13 -djoser==2.0.5 -djangorestframework==3.11 -flower==0.9.3 -gevent==1.3.6 -gunicorn==19.10.0 -jsonfield==2.1.0 -jsonschema==2.5.1 -lxml==4.6.3 -Markdown==3.0.1 -mimeparse==0.1.3 -numpy==1.17.3 -model-mommy==1.6.0 -pathlib2==2.3.6 -pika==1.1.0 -pillow==8.2.0 -protobuf==3.17.3 -psycopg2==2.8.4 --e git+https://github.com/deepio/pybagit.git@4eea813148bc590896000f57cde35fb86443d2f4#egg=pybagit ; python_version >= '3.0' -opencv-python==4.6.0.66 -pyparsing==2.0.3 -pypng==0.0.18 -python-dateutil==2.5 -python-magic==0.4.22 -PyYAML==5.4 -redis==2.10.3 -uWSGI==2.0.18 -Werkzeug==1.0.1 -importlib-metadata==4.12.0 - -# text_alignment -#numpy==1.17.3; python_version > "3.4" -#tensorflow==2.3.2; python_version > "3.4" -#scikit-image==0.15.0; python_version > "3.4" -#calamari-ocr==1.0.5; python_version > "3.4" -#Unidecode==1.0.22; python_version > "3.4" +# Modernized for Python 3.11 / Django 4.2 LTS / Celery 5.3 / TF-2.15-compatible libs. +# TARGET pins — must be confirmed with an iterative build (`pip install` + `manage.py check` +# + ci-jobs suite). Lines marked "VERIFY" are the aging Django plugins most likely to need +# a newer release, a fork, or replacement on Django 4.2. + +# --- Django + REST --- +Django==4.2.16 +djangorestframework==3.15.2 +djoser==2.2.3 +django-cors-headers==4.4.0 +django-filter==24.3 +django-guardian==2.4.0 # VERIFY on Django 4.2 (last release is 2.4.0) +django-health-check==3.18.3 +django-extensions==3.2.3 +django-environ==0.11.2 +django-sortedm2m==3.1.1 +django-decorator-include==3.0 # VERIFY on Django 4.2 (no newer release) +jsonfield==3.1.0 + +# --- Celery / broker --- +celery==5.3.6 +flower==2.0.1 +pika==1.3.2 + +# --- WebSockets (replaces dead django-websocket-redis; wired up in Phase 1b) --- +channels==4.1.0 +channels-redis==4.2.0 +daphne==4.1.2 + +# --- Servers --- +gunicorn==22.0.0 +uvicorn[standard]==0.30.5 +gevent==24.2.1 + +# --- Core libraries --- +numpy==1.26.4 # TF 2.15 compatible; cp311 wheels +protobuf==4.25.4 # TF 2.15 needs >=3.20.3,<5 +Pillow==10.4.0 +psycopg2==2.9.9 +redis==5.0.8 +lxml==5.2.2 +PyYAML==6.0.2 +python-dateutil==2.9.0.post0 +python-magic==0.4.27 +opencv-python==4.10.0.84 +Markdown==3.6 +jsonschema==4.23.0 +pyparsing==3.1.2 +pypng==0.20220715.0 +python-mimeparse==1.6.0 +Werkzeug==3.0.3 +certifi==2024.7.4 +model-bakery==1.17.0 # was model-mommy; test imports change model_mommy -> model_bakery + +# pybagit — small helper; VERIFY it imports on py3.11 (may have py2-isms) +-e git+https://github.com/deepio/pybagit.git@4eea813148bc590896000f57cde35fb86443d2f4#egg=pybagit + +# Dropped (py2 backports / superseded): backports.ssl-match-hostname, pathlib2, uWSGI, +# importlib-metadata (stdlib on 3.11), model-mommy. + +# text_alignment (DEFERRED — Phase 5; calamari-ocr 1.0 + tfaip 1.0 are dead / TF-2.5-locked) +#numpy==1.17.3 +#tensorflow==2.3.2 +#scikit-image==0.15.0 +#calamari-ocr==1.0.5 +#Unidecode==1.0.22 diff --git a/rodan-main/code/rodan/asgi.py b/rodan-main/code/rodan/asgi.py new file mode 100644 index 000000000..ccde87cb9 --- /dev/null +++ b/rodan-main/code/rodan/asgi.py @@ -0,0 +1,32 @@ +""" +ASGI config for Rodan. + +Serves HTTP (Django) and WebSocket (Channels) from one application. The websocket +side replaces the retired django-websocket-redis (ws4redis): the BroadcastConsumer +relays the Redis pub/sub channel that the Postgres plpython3 trigger publishes to. +""" +import os + +os.environ.setdefault("DJANGO_SETTINGS_MODULE", "rodan.settings") + +from django.core.asgi import get_asgi_application # noqa: E402 + +# Initialise Django (populates apps) before importing anything that touches models/settings. +django_asgi_app = get_asgi_application() + +from channels.routing import ProtocolTypeRouter, URLRouter # noqa: E402 +from django.urls import re_path # noqa: E402 + +from rodan.consumers import BroadcastConsumer # noqa: E402 + +application = ProtocolTypeRouter( + { + "http": django_asgi_app, + # Matches the client's connection to /ws/rodan?subscribe-broadcast&... (SocketUpdater.js). + "websocket": URLRouter( + [ + re_path(r"^ws/", BroadcastConsumer.as_asgi()), + ] + ), + } +) diff --git a/rodan-main/code/rodan/celery.py b/rodan-main/code/rodan/celery.py index 60bde4eb4..3dec2d13f 100644 --- a/rodan-main/code/rodan/celery.py +++ b/rodan-main/code/rodan/celery.py @@ -9,7 +9,7 @@ django.setup() app = Celery("rodan") -app.config_from_object("django.conf:settings") +app.config_from_object("django.conf:settings", namespace="CELERY") app.autodiscover_tasks(lambda: settings.INSTALLED_APPS) diff --git a/rodan-main/code/rodan/consumers.py b/rodan-main/code/rodan/consumers.py new file mode 100644 index 000000000..195ca395d --- /dev/null +++ b/rodan-main/code/rodan/consumers.py @@ -0,0 +1,64 @@ +""" +WebSocket consumer that replaces django-websocket-redis (ws4redis). + +Rodan's live status updates are produced by a Postgres ``plpython3u`` trigger +(see ``rodan/models/__init__.py``) that ``redis.publish``es row-change events to the +``WEBSOCKET_BROADCAST_CHANNEL`` Redis channel. ws4redis used to relay that channel to +browser websockets; this consumer does the same with Django Channels: on connect it +subscribes to the Redis channel and forwards every published message to the client. + +Server -> client only (status broadcasts); inbound frames are ignored, which preserves +the behaviour the Backbone client relies on (it only subscribes to broadcasts). +""" +import asyncio + +import redis.asyncio as aioredis +from channels.generic.websocket import AsyncWebsocketConsumer +from django.conf import settings + + +class BroadcastConsumer(AsyncWebsocketConsumer): + async def connect(self): + await self.accept() + conn = settings.WS4REDIS_CONNECTION + self._redis = aioredis.Redis( + host=conn["host"], + port=int(conn["port"]), + db=int(conn["db"]), + ) + self._pubsub = self._redis.pubsub() + channel = getattr(settings, "WEBSOCKET_BROADCAST_CHANNEL", "rodan:broadcast:rodan") + await self._pubsub.subscribe(channel) + self._reader_task = asyncio.create_task(self._relay()) + + async def _relay(self): + try: + async for message in self._pubsub.listen(): + if message and message.get("type") == "message": + data = message["data"] + if isinstance(data, (bytes, bytearray)): + data = data.decode("utf-8", "replace") + await self.send(text_data=data) + except asyncio.CancelledError: + pass + + async def receive(self, text_data=None, bytes_data=None): + # Status stream is server -> client only; ignore anything the client sends. + return + + async def disconnect(self, code): + task = getattr(self, "_reader_task", None) + if task is not None: + task.cancel() + pubsub = getattr(self, "_pubsub", None) + if pubsub is not None: + try: + await pubsub.aclose() + except Exception: + pass + client = getattr(self, "_redis", None) + if client is not None: + try: + await client.aclose() + except Exception: + pass diff --git a/rodan-main/code/rodan/jobs/base.py b/rodan-main/code/rodan/jobs/base.py index 6ec4e1030..18f03da79 100644 --- a/rodan-main/code/rodan/jobs/base.py +++ b/rodan-main/code/rodan/jobs/base.py @@ -86,16 +86,16 @@ def __init__(cls, clsname, bases, attrs): # check the number of arguments of implemented function if "run_my_task" in attrs: - argspec = inspect.getargspec(attrs["run_my_task"]) + argspec = inspect.getfullargspec(attrs["run_my_task"]) assert len(argspec.args) == 4, "run_my_task" if "get_my_interface" in attrs: - argspec = inspect.getargspec(attrs["get_my_interface"]) + argspec = inspect.getfullargspec(attrs["get_my_interface"]) assert len(argspec.args) == 3, "get_my_interface" if "validate_my_user_input" in attrs: - argspec = inspect.getargspec(attrs["validate_my_user_input"]) + argspec = inspect.getfullargspec(attrs["validate_my_user_input"]) assert len(argspec.args) == 4, "validate_my_user_input" if "test_my_task" in attrs: - argspec = inspect.getargspec(attrs["test_my_task"]) + argspec = inspect.getfullargspec(attrs["test_my_task"]) assert len(argspec.args) == 2, "test_my_task" # not the abstract class diff --git a/rodan-main/code/rodan/jobs/convert_to_str.py b/rodan-main/code/rodan/jobs/convert_to_str.py index 6b0f191fa..99eda2b83 100644 --- a/rodan-main/code/rodan/jobs/convert_to_str.py +++ b/rodan-main/code/rodan/jobs/convert_to_str.py @@ -1,12 +1,11 @@ # Adapted from http://stackoverflow.com/questions/1254454/fastest-way-to-convert-a-dicts-keys-values-from-unicode-to-str # noqa -import six import collections from builtins import str def convert_to_str(data): - if isinstance(data, six.string_types): + if isinstance(data, str): # Python2 idiom `unicode` is now `str` in python3 return str(data) # noqa elif isinstance(data, collections.Mapping): diff --git a/rodan-main/code/rodan/jobs/core.py b/rodan-main/code/rodan/jobs/core.py index d58601c70..db0a74819 100644 --- a/rodan-main/code/rodan/jobs/core.py +++ b/rodan-main/code/rodan/jobs/core.py @@ -8,11 +8,9 @@ import tempfile import zipfile import io, base64 -import six -from celery import task, registry +from celery import shared_task as task, current_app as registry from celery import Task -from celery.task.control import revoke from django.conf import settings from django.core.mail import EmailMessage from django.core.exceptions import ObjectDoesNotExist @@ -860,7 +858,7 @@ def cancel_workflowrun(wfrun_id): ) for celery_id in runjobs_to_revoke_celery_id: if celery_id is not None: - revoke(celery_id, terminate=True) + registry.control.revoke(celery_id, terminate=True) runjobs_to_revoke_query.update(status=task_status.CANCELLED) wfrun.status = task_status.CANCELLED wfrun.save(update_fields=["status"]) @@ -900,7 +898,7 @@ def redo_runjob_tree(rj_id): def inner_redo(rj): if rj.celery_task_id is not None: - revoke(rj.celery_task_id, terminate=True) + registry.control.revoke(rj.celery_task_id, terminate=True) # 1. Revoke all downstream runjobs for o in rj.outputs.all(): diff --git a/rodan-main/code/rodan/jobs/deep_eq.py b/rodan-main/code/rodan/jobs/deep_eq.py index c9ab1ab32..f28a33ed4 100644 --- a/rodan-main/code/rodan/jobs/deep_eq.py +++ b/rodan-main/code/rodan/jobs/deep_eq.py @@ -24,7 +24,6 @@ import time import functools import operator -import six # noqa import types @@ -79,13 +78,13 @@ def deep_eq(_v1, _v2, datetime_fudge=default_fudge, _assert=False): >>> x10, y10 = (1, 2) >>> deep_eq(x10, y10) False - >>> deep_eq((str(p) for p in six.moves.range(10)), (str(p) for p in six.moves.range(10))) + >>> deep_eq((str(p) for p in range(10)), (str(p) for p in range(10))) True - >>> str(deep_eq(six.moves.range(4), six.moves.range(4))) + >>> str(deep_eq(range(4), range(4))) 'True' - >>> deep_eq(six.moves.range(100), six.moves.range(100)) + >>> deep_eq(range(100), range(100)) True - >>> deep_eq(six.moves.range(2), six.moves.range(5)) + >>> deep_eq(range(2), range(5)) False >>> import datetime >>> from datetime import datetime as dt diff --git a/rodan-main/code/rodan/jobs/diva_generate_json.py b/rodan-main/code/rodan/jobs/diva_generate_json.py index 57630f99e..9db5e041b 100644 --- a/rodan-main/code/rodan/jobs/diva_generate_json.py +++ b/rodan-main/code/rodan/jobs/diva_generate_json.py @@ -22,7 +22,6 @@ import os import re import math -import six import sys import json from optparse import OptionParser @@ -87,7 +86,7 @@ def __generate(self): for im in images: page_data = [] - for j in six.moves.range(lowest_max_zoom + 1): + for j in range(lowest_max_zoom + 1): h = self.__incorporate_zoom(im['mx_h'], lowest_max_zoom - j) w = self.__incorporate_zoom(im['mx_w'], lowest_max_zoom - j) # if the dimensions of the original image are an exact multiple of 256 @@ -127,7 +126,7 @@ def __generate(self): 'f': fn }) - for j in six.moves.range(lowest_max_zoom + 1): + for j in range(lowest_max_zoom + 1): a_wid.append(t_wid[j] / float(len(images))) a_hei.append(t_hei[j] / float(len(images))) diff --git a/rodan-main/code/rodan/jobs/labeler.py b/rodan-main/code/rodan/jobs/labeler.py index 875f42d03..7c37100c2 100644 --- a/rodan-main/code/rodan/jobs/labeler.py +++ b/rodan-main/code/rodan/jobs/labeler.py @@ -98,9 +98,9 @@ def run_my_task(self, inputs, settings, outputs): input["resource"].labels.add(label) def test_my_task(self, testcase): - from model_mommy import mommy + from model_bakery import baker from rodan.models import Resource - rc = mommy.make("Resource") + rc = baker.make("Resource") inputs = { "Resource": [ {"resource":rc} diff --git a/rodan-main/code/rodan/jobs/master_task.py b/rodan-main/code/rodan/jobs/master_task.py index c955e436b..68fb9a454 100644 --- a/rodan-main/code/rodan/jobs/master_task.py +++ b/rodan-main/code/rodan/jobs/master_task.py @@ -1,4 +1,4 @@ -from celery import registry, task +from celery import current_app as registry, shared_task as task from rodan.models import ( # UserPreference, RunJob, diff --git a/rodan-main/code/rodan/jobs/resource_distributor.py b/rodan-main/code/rodan/jobs/resource_distributor.py index 7936b9eee..b5f31c1d4 100644 --- a/rodan-main/code/rodan/jobs/resource_distributor.py +++ b/rodan-main/code/rodan/jobs/resource_distributor.py @@ -177,11 +177,11 @@ def test_my_task(self, testcase): import numpy as np from rodan.models import Resource, ResourceType resource_types_list = list(map(lambda rt: str(rt.mimetype), ResourceType.objects.all())) - from model_mommy import mommy + from model_bakery import baker # Create a Resource instance using mommy resource_type, created = ResourceType.objects.get_or_create(mimetype="image/rgb+png") - rc = mommy.make(Resource, resource_type=resource_type, name="test_filename") + rc = baker.make(Resource, resource_type=resource_type, name="test_filename") inputs = { "Resource input": [ diff --git a/rodan-main/code/rodan/models/connection.py b/rodan-main/code/rodan/models/connection.py index 6ed7822ef..a19b51480 100644 --- a/rodan-main/code/rodan/models/connection.py +++ b/rodan-main/code/rodan/models/connection.py @@ -33,7 +33,6 @@ class Connection(models.Model): class Meta: app_label = "rodan" - permissions = (("view_connection", "View Connection"),) uuid = models.UUIDField(primary_key=True, editable=False, default=uuid.uuid4) input_port = models.ForeignKey( diff --git a/rodan-main/code/rodan/models/input.py b/rodan-main/code/rodan/models/input.py index 1ce78b220..35eeab87d 100644 --- a/rodan-main/code/rodan/models/input.py +++ b/rodan-main/code/rodan/models/input.py @@ -27,7 +27,6 @@ class Input(models.Model): class Meta: app_label = "rodan" - permissions = (("view_input", "View Input"),) uuid = models.UUIDField(primary_key=True, editable=False, default=uuid.uuid4) input_port = models.ForeignKey( diff --git a/rodan-main/code/rodan/models/inputport.py b/rodan-main/code/rodan/models/inputport.py index 6e22439db..955242dd3 100644 --- a/rodan-main/code/rodan/models/inputport.py +++ b/rodan-main/code/rodan/models/inputport.py @@ -31,7 +31,6 @@ class InputPort(models.Model): class Meta: app_label = "rodan" - permissions = (("view_inputport", "View InputPort"),) ordering = ["created"] uuid = models.UUIDField(primary_key=True, editable=False, default=uuid.uuid4) diff --git a/rodan-main/code/rodan/models/output.py b/rodan-main/code/rodan/models/output.py index 17ee38780..7eb9c6804 100644 --- a/rodan-main/code/rodan/models/output.py +++ b/rodan-main/code/rodan/models/output.py @@ -28,7 +28,6 @@ class Output(models.Model): class Meta: app_label = "rodan" - permissions = (("view_output", "View Output"),) uuid = models.UUIDField(primary_key=True, editable=False, default=uuid.uuid4) output_port = models.ForeignKey( diff --git a/rodan-main/code/rodan/models/outputport.py b/rodan-main/code/rodan/models/outputport.py index 787416a17..13a59004b 100644 --- a/rodan-main/code/rodan/models/outputport.py +++ b/rodan-main/code/rodan/models/outputport.py @@ -30,7 +30,6 @@ class OutputPort(models.Model): class Meta: app_label = "rodan" - permissions = (("view_outputport", "View OutputPort"),) ordering = ["created"] uuid = models.UUIDField(primary_key=True, editable=False, default=uuid.uuid4) diff --git a/rodan-main/code/rodan/models/project.py b/rodan-main/code/rodan/models/project.py index c6c4a2eb1..671e549c1 100644 --- a/rodan-main/code/rodan/models/project.py +++ b/rodan-main/code/rodan/models/project.py @@ -42,7 +42,6 @@ class Project(models.Model): class Meta: app_label = "rodan" - permissions = (("view_project", "View Project"),) @property def project_path(self): diff --git a/rodan-main/code/rodan/models/resource.py b/rodan-main/code/rodan/models/resource.py index e710f72ed..c8c44395e 100644 --- a/rodan-main/code/rodan/models/resource.py +++ b/rodan-main/code/rodan/models/resource.py @@ -77,7 +77,6 @@ class Resource(models.Model): class Meta: app_label = "rodan" - permissions = (("view_resource", "View Resource"),) STATUS_CHOICES = [ (task_status.SCHEDULED, "Scheduled"), diff --git a/rodan-main/code/rodan/models/resourcelist.py b/rodan-main/code/rodan/models/resourcelist.py index 5ccfcc79f..e3e2ddae3 100644 --- a/rodan-main/code/rodan/models/resourcelist.py +++ b/rodan-main/code/rodan/models/resourcelist.py @@ -29,7 +29,6 @@ class ResourceList(models.Model): class Meta: app_label = "rodan" - permissions = (("view_resourcelist", "View ResourceList"),) def __str__(self): return "".format(self.uuid) diff --git a/rodan-main/code/rodan/models/resultspackage.py b/rodan-main/code/rodan/models/resultspackage.py index 739646c06..220bd5daa 100644 --- a/rodan-main/code/rodan/models/resultspackage.py +++ b/rodan-main/code/rodan/models/resultspackage.py @@ -38,7 +38,6 @@ class ResultsPackage(models.Model): class Meta: app_label = "rodan" - permissions = (("view_resultspackage", "View ResultsPackage"),) DEFAULT_EXPIRY_TIME = datetime.timedelta(days=30) diff --git a/rodan-main/code/rodan/models/runjob.py b/rodan-main/code/rodan/models/runjob.py index 6aae91d81..efb251e36 100644 --- a/rodan-main/code/rodan/models/runjob.py +++ b/rodan-main/code/rodan/models/runjob.py @@ -60,7 +60,6 @@ class RunJob(models.Model): class Meta: app_label = "rodan" - permissions = (("view_runjob", "View RunJob"),) STATUS_CHOICES = [ (task_status.SCHEDULED, "Scheduled"), @@ -135,7 +134,7 @@ def project(self): return self.workflow_run.project def delete(self): - from celery.task.control import revoke + from celery import current_app import logging from socket import error as socket_error import errno @@ -146,7 +145,7 @@ def delete(self): # https://docs.celeryproject.org/en/v4.3.0/reference/celery.app.control.html#celery.app.control.Control.revoke # noqa # https://www.gnu.org/software/libc/manual/html_node/Termination-Signals.html try: - revoke(self.celery_task_id, terminate=True, signal="SIGTERM") + current_app.control.revoke(self.celery_task_id, terminate=True, signal="SIGTERM") except socket_error as serr: # if serr.errno != errno.ECONNREFUSED: if str(errno.ECONNREFUSED) not in repr(serr): diff --git a/rodan-main/code/rodan/models/tempauthtoken.py b/rodan-main/code/rodan/models/tempauthtoken.py index 66719cb8b..41393b977 100644 --- a/rodan-main/code/rodan/models/tempauthtoken.py +++ b/rodan-main/code/rodan/models/tempauthtoken.py @@ -17,7 +17,6 @@ class Tempauthtoken(models.Model): class Meta: app_label = "rodan" - permissions = (("view_tempauthtoken", "View Temp Authtoken"),) uuid = models.UUIDField(primary_key=True, editable=False, default=uuid.uuid4) expiry = models.DateTimeField(null=True, db_index=True) diff --git a/rodan-main/code/rodan/models/user.py b/rodan-main/code/rodan/models/user.py index bd5e87aab..a63a2cf92 100644 --- a/rodan-main/code/rodan/models/user.py +++ b/rodan-main/code/rodan/models/user.py @@ -54,6 +54,3 @@ class User(AbstractUser): class Meta: db_table = "auth_user" - permissions = ( - ("view_user", "View User"), - ) diff --git a/rodan-main/code/rodan/models/userpreference.py b/rodan-main/code/rodan/models/userpreference.py index 5e3a5bffe..ceff0d6d9 100644 --- a/rodan-main/code/rodan/models/userpreference.py +++ b/rodan-main/code/rodan/models/userpreference.py @@ -16,7 +16,6 @@ class UserPreference(models.Model): class Meta: app_label = "rodan" - permissions = (("view_userpreference", "View User Preference"),) uuid = models.UUIDField(primary_key=True, editable=False, default=uuid.uuid4) user = models.OneToOneField( diff --git a/rodan-main/code/rodan/models/workflow.py b/rodan-main/code/rodan/models/workflow.py index f1a9aa0db..d6bec647c 100644 --- a/rodan-main/code/rodan/models/workflow.py +++ b/rodan-main/code/rodan/models/workflow.py @@ -31,7 +31,6 @@ class Workflow(models.Model): class Meta: app_label = "rodan" - permissions = (("view_workflow", "View Workflow"),) uuid = models.UUIDField(primary_key=True, editable=False, default=uuid.uuid4) name = models.CharField(max_length=100, db_index=True) diff --git a/rodan-main/code/rodan/models/workflowjob.py b/rodan-main/code/rodan/models/workflowjob.py index 89570eed0..0fbb6b0ef 100644 --- a/rodan-main/code/rodan/models/workflowjob.py +++ b/rodan-main/code/rodan/models/workflowjob.py @@ -42,7 +42,6 @@ class WorkflowJob(models.Model): class Meta: app_label = "rodan" - permissions = (("view_workflowjob", "View WorkflowJob"),) uuid = models.UUIDField(primary_key=True, editable=False, default=uuid.uuid4) workflow = models.ForeignKey( diff --git a/rodan-main/code/rodan/models/workflowjobgroup.py b/rodan-main/code/rodan/models/workflowjobgroup.py index cd953d148..98960b6d8 100644 --- a/rodan-main/code/rodan/models/workflowjobgroup.py +++ b/rodan-main/code/rodan/models/workflowjobgroup.py @@ -28,7 +28,6 @@ class WorkflowJobGroup(models.Model): class Meta: app_label = "rodan" - permissions = (("view_workflowjobgroup", "View WorkflowJobGroup"),) uuid = models.UUIDField(primary_key=True, editable=False, default=uuid.uuid4) name = models.CharField(max_length=100, db_index=True) diff --git a/rodan-main/code/rodan/models/workflowrun.py b/rodan-main/code/rodan/models/workflowrun.py index 10ea25e0a..4d8699054 100644 --- a/rodan-main/code/rodan/models/workflowrun.py +++ b/rodan-main/code/rodan/models/workflowrun.py @@ -41,7 +41,6 @@ class WorkflowRun(models.Model): class Meta: app_label = "rodan" - permissions = (("view_workflowrun", "View WorkflowRun"),) STATUS_CHOICES = [ (task_status.REQUEST_PROCESSING, "Request processing"), diff --git a/rodan-main/code/rodan/settings.py b/rodan-main/code/rodan/settings.py index a792d5c73..9fc509c46 100644 --- a/rodan-main/code/rodan/settings.py +++ b/rodan-main/code/rodan/settings.py @@ -66,7 +66,11 @@ # Make this unique, and don't share it with anybody. SECRET_KEY = os.getenv("DJANGO_SECRET_KEY") # Installed apps +# Keep AutoField (not BigAutoField) so the existing DB's integer PKs don't trigger migrations. +DEFAULT_AUTO_FIELD = "django.db.models.AutoField" + INSTALLED_APPS = [ + "daphne", "django.contrib.admin", "django.contrib.auth", "django.contrib.contenttypes", @@ -75,7 +79,7 @@ "django.contrib.sessions", "django.contrib.staticfiles", "django_filters", - "ws4redis", + "channels", "rodan", "django_extensions", "rest_framework", @@ -315,12 +319,12 @@ "OPTIONS": { "context_processors": [ "django.contrib.auth.context_processors.auth", + "django.template.context_processors.request", "django.template.context_processors.debug", "django.template.context_processors.media", "django.template.context_processors.static", "django.template.context_processors.csrf", "django.contrib.messages.context_processors.messages", - "ws4redis.context_processors.default", # "rodan.context_processors.list_projects", # "rodan.context_processors.login_url", @@ -417,15 +421,20 @@ # 2.c Websocket configuration ############################################################################### WEBSOCKET_URL = "/ws/" -WSGI_APPLICATION = "ws4redis.django_runserver.application" +WSGI_APPLICATION = "rodan.wsgi_django.application" +ASGI_APPLICATION = "rodan.asgi.application" +# Redis pub/sub coordinates. A Postgres plpython3 trigger (see rodan/models/__init__.py) +# publishes row-change events to WEBSOCKET_BROADCAST_CHANNEL; the Channels consumer +# (rodan/consumers.py) subscribes and relays them to websocket clients. This replaces the +# retired django-websocket-redis (ws4redis). The dict name is kept because the trigger SQL +# in rodan/models/__init__.py references settings.WS4REDIS_CONNECTION. WS4REDIS_CONNECTION = { "host": os.getenv("REDIS_HOST"), "port": os.getenv("REDIS_PORT"), "db": os.getenv("REDIS_DB"), } -WS4REDIS_EXPIRE = 3600 -WS4REDIS_HEARTBEAT = "--heartbeat--" -WS4REDIS_PREFIX = "rodan" +WEBSOCKET_BROADCAST_CHANNEL = "rodan:broadcast:rodan" +CHANNEL_LAYERS = {"default": {"BACKEND": "channels.layers.InMemoryChannelLayer"}} ############################################################################### # 2.d IIPServer Configuration (if using Diva.js) @@ -472,15 +481,15 @@ # 3.b Celery Task Queue Configuration ############################################################################### BROKER_CONNECTION_MAX_RETRIES = "0" -BROKER_URL = os.getenv("RABBITMQ_URL") +CELERY_BROKER_URL = os.getenv("RABBITMQ_URL") CELERY_RESULT_BACKEND = "amqp" CELERY_ENABLE_UTC = True CELERY_IMPORTS = ("rodan.jobs.load",) if TEST: # Run Celery task synchronously, instead of sending into queue - CELERY_ALWAYS_EAGER = True + CELERY_TASK_ALWAYS_EAGER = True # Propagate exceptions in synchronous task running by default - CELERY_EAGER_PROPAGATES_EXCEPTIONS = True + CELERY_TASK_EAGER_PROPAGATES = True # Use temporary filesystem to store projects and resources during test import tempfile as _tempfile MEDIA_ROOT = _tempfile.mkdtemp() + "/" diff --git a/rodan-main/code/rodan/test/helpers.py b/rodan-main/code/rodan/test/helpers.py index 43822804b..bec8254e9 100644 --- a/rodan-main/code/rodan/test/helpers.py +++ b/rodan-main/code/rodan/test/helpers.py @@ -2,7 +2,7 @@ import os # import uuid # import time -from model_mommy import mommy +from model_bakery import baker from rodan.models import Job, ResourceType from django.core.files.base import ContentFile from django.conf import settings @@ -65,8 +65,8 @@ def setUp_basic_workflow(self): test_workflowjob => test_workflowjob2 """ - self.test_job = mommy.make("rodan.Job") - self.test_inputporttype = mommy.make( + self.test_job = baker.make("rodan.Job") + self.test_inputporttype = baker.make( "rodan.InputPortType", maximum=3, minimum=1, @@ -77,7 +77,7 @@ def setUp_basic_workflow(self): ResourceType.objects.get(mimetype="test/a1"), ResourceType.objects.get(mimetype="test/a2"), ) - self.test_outputporttype = mommy.make( + self.test_outputporttype = baker.make( "rodan.OutputPortType", maximum=3, minimum=1, @@ -89,28 +89,28 @@ def setUp_basic_workflow(self): ResourceType.objects.get(mimetype="test/a2"), ) - self.test_project = mommy.make("rodan.Project") - self.test_workflow = mommy.make("rodan.Workflow", project=self.test_project) + self.test_project = baker.make("rodan.Project") + self.test_workflow = baker.make("rodan.Workflow", project=self.test_project) # build this graph: test_workflowjob --> test_workflowjob2 - self.test_workflowjob = mommy.make( + self.test_workflowjob = baker.make( "rodan.WorkflowJob", workflow=self.test_workflow, job=self.test_job, job_settings={"a": 1, "b": [0.4]}, ) - inputport = mommy.make( # noqa + inputport = baker.make( # noqa "rodan.InputPort", workflow_job=self.test_workflowjob, input_port_type=self.test_inputporttype, ) - outputport = mommy.make( + outputport = baker.make( "rodan.OutputPort", workflow_job=self.test_workflowjob, output_port_type=self.test_outputporttype, ) - test_connection = mommy.make( + test_connection = baker.make( "rodan.Connection", output_port=outputport, input_port__input_port_type=self.test_inputporttype, @@ -119,7 +119,7 @@ def setUp_basic_workflow(self): input_port__workflow_job__job_settings={"a": 1, "b": [0.4]}, ) self.test_workflowjob2 = test_connection.input_port.workflow_job - outputport2 = mommy.make( # noqa + outputport2 = baker.make( # noqa "rodan.OutputPort", workflow_job=self.test_workflowjob2, output_port_type=self.test_outputporttype, @@ -135,23 +135,23 @@ def setUp_simple_dummy_workflow(self): dummy_a_job = Job.objects.get(name=dummy_automatic_job.name) dummy_m_job = Job.objects.get(name=dummy_manual_job.name) - self.test_project = mommy.make("rodan.Project") - self.test_workflow = mommy.make("rodan.Workflow", project=self.test_project) + self.test_project = baker.make("rodan.Project") + self.test_workflow = baker.make("rodan.Workflow", project=self.test_project) # build this graph: dummy_a_wfjob => dummy_m_wfjob - self.dummy_a_wfjob = mommy.make( + self.dummy_a_wfjob = baker.make( "rodan.WorkflowJob", workflow=self.test_workflow, job=dummy_a_job, job_settings={"a": 1, "b": [0.4]}, ) - inputport_a = mommy.make( + inputport_a = baker.make( "rodan.InputPort", workflow_job=self.dummy_a_wfjob, input_port_type=dummy_a_job.input_port_types.filter(is_list=False).first(), ) self.test_inputport_a = inputport_a - outputport_a = mommy.make( + outputport_a = baker.make( "rodan.OutputPort", workflow_job=self.dummy_a_wfjob, output_port_type=dummy_a_job.output_port_types.filter( @@ -159,18 +159,18 @@ def setUp_simple_dummy_workflow(self): ).first(), ) - self.dummy_m_wfjob = mommy.make( + self.dummy_m_wfjob = baker.make( "rodan.WorkflowJob", workflow=self.test_workflow, job=dummy_m_job, job_settings={"a": 1, "b": [0.4]}, ) - inputport_m = mommy.make( + inputport_m = baker.make( "rodan.InputPort", workflow_job=self.dummy_m_wfjob, input_port_type=dummy_m_job.input_port_types.filter(is_list=False).first(), ) - outputport_m = mommy.make( # noqa + outputport_m = baker.make( # noqa "rodan.OutputPort", workflow_job=self.dummy_m_wfjob, output_port_type=dummy_m_job.output_port_types.filter( @@ -178,12 +178,12 @@ def setUp_simple_dummy_workflow(self): ).first(), ) - test_connection = mommy.make( # noqa + test_connection = baker.make( # noqa "rodan.Connection", output_port=outputport_a, input_port=inputport_m ) def setUp_resources_for_simple_dummy_workflow(self): - self.test_resource = mommy.make( + self.test_resource = baker.make( "rodan.Resource", project=self.test_project, resource_type=ResourceType.objects.get(mimetype="test/a1"), @@ -216,125 +216,125 @@ def setUp_complex_dummy_workflow(self): opt_mB = job_m.output_port_types.get(name="out_typeB") # noqa opt_mL = job_m.output_port_types.get(name="out_typeL") - self.test_project = mommy.make("rodan.Project") - self.test_workflow = mommy.make("rodan.Workflow", project=self.test_project) + self.test_project = baker.make("rodan.Project") + self.test_workflow = baker.make("rodan.Workflow", project=self.test_project) - self.test_wfjob_A = mommy.make( + self.test_wfjob_A = baker.make( "rodan.WorkflowJob", workflow=self.test_workflow, job=job_a, job_settings={"a": 1, "b": [0.4]}, ) - self.test_wfjob_B = mommy.make( + self.test_wfjob_B = baker.make( "rodan.WorkflowJob", workflow=self.test_workflow, job=job_m, job_settings={"a": 1, "b": [0.4]}, ) - self.test_wfjob_C = mommy.make( + self.test_wfjob_C = baker.make( "rodan.WorkflowJob", workflow=self.test_workflow, job=job_a, job_settings={"a": 1, "b": [0.4]}, ) - self.test_wfjob_D = mommy.make( + self.test_wfjob_D = baker.make( "rodan.WorkflowJob", workflow=self.test_workflow, job=job_m, job_settings={"a": 1, "b": [0.4]}, ) - self.test_wfjob_E = mommy.make( + self.test_wfjob_E = baker.make( "rodan.WorkflowJob", workflow=self.test_workflow, job=job_a, job_settings={"a": 1, "b": [0.4]}, ) - self.test_wfjob_F = mommy.make( + self.test_wfjob_F = baker.make( "rodan.WorkflowJob", workflow=self.test_workflow, job=job_a, job_settings={"a": 1, "b": [0.4]}, ) - self.test_Aip = mommy.make( + self.test_Aip = baker.make( "rodan.InputPort", workflow_job=self.test_wfjob_A, input_port_type=ipt_aA ) - self.test_Aop = mommy.make( + self.test_Aop = baker.make( "rodan.OutputPort", workflow_job=self.test_wfjob_A, output_port_type=opt_aA ) - self.test_Bop = mommy.make( + self.test_Bop = baker.make( "rodan.OutputPort", workflow_job=self.test_wfjob_B, output_port_type=opt_mL ) - self.test_Cip1 = mommy.make( + self.test_Cip1 = baker.make( "rodan.InputPort", workflow_job=self.test_wfjob_C, input_port_type=ipt_aB ) - self.test_Cip2 = mommy.make( + self.test_Cip2 = baker.make( "rodan.InputPort", workflow_job=self.test_wfjob_C, input_port_type=ipt_aL ) - self.test_Cop1 = mommy.make( + self.test_Cop1 = baker.make( "rodan.OutputPort", workflow_job=self.test_wfjob_C, output_port_type=opt_aA ) - self.test_Cop2 = mommy.make( + self.test_Cop2 = baker.make( "rodan.OutputPort", workflow_job=self.test_wfjob_C, output_port_type=opt_aB ) - self.test_Dip1 = mommy.make( + self.test_Dip1 = baker.make( "rodan.InputPort", workflow_job=self.test_wfjob_D, input_port_type=ipt_mA ) - self.test_Dip2 = mommy.make( + self.test_Dip2 = baker.make( "rodan.InputPort", workflow_job=self.test_wfjob_D, input_port_type=ipt_mB ) - self.test_Dip3 = mommy.make( + self.test_Dip3 = baker.make( "rodan.InputPort", workflow_job=self.test_wfjob_D, input_port_type=ipt_mL ) - self.test_Dop = mommy.make( + self.test_Dop = baker.make( "rodan.OutputPort", workflow_job=self.test_wfjob_D, output_port_type=opt_mA ) - self.test_Eip1 = mommy.make( + self.test_Eip1 = baker.make( "rodan.InputPort", workflow_job=self.test_wfjob_E, input_port_type=ipt_aA ) - self.test_Eip2 = mommy.make( + self.test_Eip2 = baker.make( "rodan.InputPort", workflow_job=self.test_wfjob_E, input_port_type=ipt_aB ) - self.test_Eop = mommy.make( + self.test_Eop = baker.make( "rodan.OutputPort", workflow_job=self.test_wfjob_E, output_port_type=opt_aA ) - self.test_Fip1 = mommy.make( + self.test_Fip1 = baker.make( "rodan.InputPort", workflow_job=self.test_wfjob_F, input_port_type=ipt_aA ) - self.test_Fip2 = mommy.make( + self.test_Fip2 = baker.make( "rodan.InputPort", workflow_job=self.test_wfjob_F, input_port_type=ipt_aA ) - self.test_Fop = mommy.make( + self.test_Fop = baker.make( "rodan.OutputPort", workflow_job=self.test_wfjob_F, output_port_type=opt_aL ) - self.test_conn_Aop_Cip1 = mommy.make( + self.test_conn_Aop_Cip1 = baker.make( "rodan.Connection", output_port=self.test_Aop, input_port=self.test_Cip1 ) - self.test_conn_Bop_Cip2 = mommy.make( + self.test_conn_Bop_Cip2 = baker.make( "rodan.Connection", output_port=self.test_Bop, input_port=self.test_Cip2 ) - self.test_conn_Cop1_Dip2 = mommy.make( + self.test_conn_Cop1_Dip2 = baker.make( "rodan.Connection", output_port=self.test_Cop1, input_port=self.test_Dip2 ) - self.test_conn_Dop_Eip1 = mommy.make( + self.test_conn_Dop_Eip1 = baker.make( "rodan.Connection", output_port=self.test_Dop, input_port=self.test_Eip1 ) - self.test_conn_Dop_Fip2 = mommy.make( + self.test_conn_Dop_Fip2 = baker.make( "rodan.Connection", output_port=self.test_Dop, input_port=self.test_Fip2 ) def setUp_resources_for_complex_dummy_workflow(self): - self.test_resourcecollection = mommy.make( + self.test_resourcecollection = baker.make( "rodan.Resource", _quantity=5, project=self.test_project, resource_type=ResourceType.objects.get(mimetype="test/a1"), - ) + mommy.make( + ) + baker.make( "rodan.Resource", _quantity=5, project=self.test_project, @@ -345,7 +345,7 @@ def setUp_resources_for_complex_dummy_workflow(self): res.save() res.resource_file.save("dummy.txt", ContentFile("dummy text")) - self.test_resource = mommy.make( + self.test_resource = baker.make( "rodan.Resource", project=self.test_project, resource_type=ResourceType.objects.get(mimetype="test/a1"), @@ -353,10 +353,10 @@ def setUp_resources_for_complex_dummy_workflow(self): self.test_resource.resource_file.save("dummy.txt", ContentFile("dummy text")) - self.test_resourcelist = mommy.make( + self.test_resourcelist = baker.make( "rodan.ResourceList", project=self.test_project ) - self.test_resources_in_resource_list = mommy.make( + self.test_resources_in_resource_list = baker.make( "rodan.Resource", _quantity=8, project=self.test_project, @@ -400,75 +400,75 @@ def setUp_funnel_dummy_workflow(self): ipt_mA = job_m.input_port_types.get(name="in_typeA") opt_mA = job_m.output_port_types.get(name="out_typeA") - self.test_project = mommy.make("rodan.Project") - self.test_workflow = mommy.make("rodan.Workflow", project=self.test_project) + self.test_project = baker.make("rodan.Project") + self.test_workflow = baker.make("rodan.Workflow", project=self.test_project) - self.test_wfjob_A = mommy.make( + self.test_wfjob_A = baker.make( "rodan.WorkflowJob", workflow=self.test_workflow, job=job_a, job_settings={"a": 1, "b": [0.4]}, ) - self.test_wfjob_B = mommy.make( + self.test_wfjob_B = baker.make( "rodan.WorkflowJob", workflow=self.test_workflow, job=job_m, job_settings={"a": 1, "b": [0.4]}, ) - self.test_wfjob_C = mommy.make( + self.test_wfjob_C = baker.make( "rodan.WorkflowJob", workflow=self.test_workflow, job=job_a, job_settings={"a": 1, "b": [0.4]}, ) - self.test_wfjob_D = mommy.make( + self.test_wfjob_D = baker.make( "rodan.WorkflowJob", workflow=self.test_workflow, job=job_m, job_settings={"a": 1, "b": [0.4]}, ) - self.test_Aip = mommy.make( + self.test_Aip = baker.make( "rodan.InputPort", workflow_job=self.test_wfjob_A, input_port_type=ipt_aA ) - self.test_Aop = mommy.make( + self.test_Aop = baker.make( "rodan.OutputPort", workflow_job=self.test_wfjob_A, output_port_type=opt_aA ) - self.test_Bip = mommy.make( + self.test_Bip = baker.make( "rodan.InputPort", workflow_job=self.test_wfjob_B, input_port_type=ipt_mA ) - self.test_Bop = mommy.make( + self.test_Bop = baker.make( "rodan.OutputPort", workflow_job=self.test_wfjob_B, output_port_type=opt_mA ) - self.test_Cip = mommy.make( + self.test_Cip = baker.make( "rodan.InputPort", workflow_job=self.test_wfjob_C, input_port_type=ipt_aA ) - self.test_Cop = mommy.make( + self.test_Cop = baker.make( "rodan.OutputPort", workflow_job=self.test_wfjob_C, output_port_type=opt_aA ) - self.test_Dip1 = mommy.make( + self.test_Dip1 = baker.make( "rodan.InputPort", workflow_job=self.test_wfjob_D, input_port_type=ipt_mA ) - self.test_Dip2 = mommy.make( + self.test_Dip2 = baker.make( "rodan.InputPort", workflow_job=self.test_wfjob_D, input_port_type=ipt_mA ) - self.test_Dip3 = mommy.make( + self.test_Dip3 = baker.make( "rodan.InputPort", workflow_job=self.test_wfjob_D, input_port_type=ipt_mA ) - self.test_Dop = mommy.make( + self.test_Dop = baker.make( "rodan.OutputPort", workflow_job=self.test_wfjob_D, output_port_type=opt_mA ) - self.test_conn_Aop_Dip1 = mommy.make( + self.test_conn_Aop_Dip1 = baker.make( "rodan.Connection", output_port=self.test_Aop, input_port=self.test_Dip1 ) - self.test_conn_Aop_Dip2 = mommy.make( + self.test_conn_Aop_Dip2 = baker.make( "rodan.Connection", output_port=self.test_Bop, input_port=self.test_Dip2 ) - self.test_conn_Aop_Dip3 = mommy.make( + self.test_conn_Aop_Dip3 = baker.make( "rodan.Connection", output_port=self.test_Cop, input_port=self.test_Dip3 ) diff --git a/rodan-main/code/rodan/test/models/test_connection.py b/rodan-main/code/rodan/test/models/test_connection.py index a4edcd8cf..623116d3b 100644 --- a/rodan-main/code/rodan/test/models/test_connection.py +++ b/rodan-main/code/rodan/test/models/test_connection.py @@ -4,16 +4,16 @@ # from rodan.models.outputport import OutputPort # from rodan.models.job import Job from rodan.models.connection import Connection -from model_mommy import mommy +from model_bakery import baker from rodan.test.helpers import RodanTestTearDownMixin, RodanTestSetUpMixin class ConnectionTestCase(RodanTestTearDownMixin, TestCase, RodanTestSetUpMixin): def setUp(self): self.setUp_rodan() - self.test_inputport = mommy.make("rodan.InputPort") + self.test_inputport = baker.make("rodan.InputPort") self.workflow = self.test_inputport.workflow_job.workflow - self.test_outputport = mommy.make( + self.test_outputport = baker.make( "rodan.OutputPort", workflow_job__workflow=self.workflow ) diff --git a/rodan-main/code/rodan/test/models/test_input.py b/rodan-main/code/rodan/test/models/test_input.py index 0e36f7959..d944949ba 100644 --- a/rodan-main/code/rodan/test/models/test_input.py +++ b/rodan-main/code/rodan/test/models/test_input.py @@ -3,16 +3,16 @@ # from rodan.models.runjob import RunJob # from rodan.models.resource import Resource from rodan.models.input import Input -from model_mommy import mommy +from model_bakery import baker from rodan.test.helpers import RodanTestTearDownMixin, RodanTestSetUpMixin class InputTestCase(RodanTestTearDownMixin, TestCase, RodanTestSetUpMixin): def setUp(self): self.setUp_rodan() - self.test_runjob = mommy.make("rodan.RunJob") - self.test_inputport = mommy.make("rodan.InputPort") - self.test_resource = mommy.make("rodan.Resource") + self.test_runjob = baker.make("rodan.RunJob") + self.test_inputport = baker.make("rodan.InputPort") + self.test_resource = baker.make("rodan.Resource") def test_save(self): input = Input( diff --git a/rodan-main/code/rodan/test/models/test_inputport.py b/rodan-main/code/rodan/test/models/test_inputport.py index 5487db118..8b83b069d 100644 --- a/rodan-main/code/rodan/test/models/test_inputport.py +++ b/rodan-main/code/rodan/test/models/test_inputport.py @@ -2,15 +2,15 @@ # from rodan.models.workflowjob import WorkflowJob # from rodan.models.inputporttype import InputPortType from rodan.models.inputport import InputPort -from model_mommy import mommy +from model_bakery import baker from rodan.test.helpers import RodanTestTearDownMixin, RodanTestSetUpMixin class InputPortTestCase(RodanTestTearDownMixin, TestCase, RodanTestSetUpMixin): def setUp(self): self.setUp_rodan() - self.test_workflowjob = mommy.make("rodan.WorkflowJob") - self.test_inputporttype = mommy.make( + self.test_workflowjob = baker.make("rodan.WorkflowJob") + self.test_inputporttype = baker.make( "rodan.InputPortType", job=self.test_workflowjob.job ) diff --git a/rodan-main/code/rodan/test/models/test_inputporttype.py b/rodan-main/code/rodan/test/models/test_inputporttype.py index d935ac5f3..35de051ab 100644 --- a/rodan-main/code/rodan/test/models/test_inputporttype.py +++ b/rodan-main/code/rodan/test/models/test_inputporttype.py @@ -1,11 +1,11 @@ from django.test import TestCase # from rodan.models.job import Job # from rodan.models.inputporttype import InputPortType -from model_mommy import mommy +from model_bakery import baker from rodan.test.helpers import RodanTestTearDownMixin, RodanTestSetUpMixin class InputPortTypeTestCase(RodanTestTearDownMixin, TestCase, RodanTestSetUpMixin): def setUp(self): self.setUp_rodan() - self.test_job = mommy.make("rodan.Job") + self.test_job = baker.make("rodan.Job") diff --git a/rodan-main/code/rodan/test/models/test_job.py b/rodan-main/code/rodan/test/models/test_job.py index a1df6dd80..bc8afc720 100644 --- a/rodan-main/code/rodan/test/models/test_job.py +++ b/rodan-main/code/rodan/test/models/test_job.py @@ -1,6 +1,6 @@ from django.test import TestCase from rodan.models.job import Job -# from model_mommy import mommy +# from model_bakery import baker from rodan.test.helpers import RodanTestTearDownMixin, RodanTestSetUpMixin diff --git a/rodan-main/code/rodan/test/models/test_output.py b/rodan-main/code/rodan/test/models/test_output.py index 1c05795fb..183be4bd0 100644 --- a/rodan-main/code/rodan/test/models/test_output.py +++ b/rodan-main/code/rodan/test/models/test_output.py @@ -3,16 +3,16 @@ # from rodan.models.outputport import OutputPort # from rodan.models.runjob import RunJob from rodan.models.output import Output -from model_mommy import mommy +from model_bakery import baker from rodan.test.helpers import RodanTestTearDownMixin, RodanTestSetUpMixin class OutputTestCase(RodanTestTearDownMixin, TestCase, RodanTestSetUpMixin): def setUp(self): self.setUp_rodan() - self.test_runjob = mommy.make("rodan.RunJob") - self.test_outputport = mommy.make("rodan.OutputPort") - self.test_resource = mommy.make("rodan.Resource") + self.test_runjob = baker.make("rodan.RunJob") + self.test_outputport = baker.make("rodan.OutputPort") + self.test_resource = baker.make("rodan.Resource") def test_save(self): output = Output( diff --git a/rodan-main/code/rodan/test/models/test_outputport.py b/rodan-main/code/rodan/test/models/test_outputport.py index e3210b031..c7688b1f5 100644 --- a/rodan-main/code/rodan/test/models/test_outputport.py +++ b/rodan-main/code/rodan/test/models/test_outputport.py @@ -2,15 +2,15 @@ # from rodan.models.workflowjob import WorkflowJob # from rodan.models.outputporttype import OutputPortType from rodan.models.outputport import OutputPort -from model_mommy import mommy +from model_bakery import baker from rodan.test.helpers import RodanTestTearDownMixin, RodanTestSetUpMixin class OutputPortTestCase(RodanTestTearDownMixin, TestCase, RodanTestSetUpMixin): def setUp(self): self.setUp_rodan() - self.test_workflowjob = mommy.make("rodan.WorkflowJob") - self.test_outputporttype = mommy.make( + self.test_workflowjob = baker.make("rodan.WorkflowJob") + self.test_outputporttype = baker.make( "rodan.OutputPortType", job=self.test_workflowjob.job ) diff --git a/rodan-main/code/rodan/test/models/test_outputporttype.py b/rodan-main/code/rodan/test/models/test_outputporttype.py index 7183c1596..5914022ef 100644 --- a/rodan-main/code/rodan/test/models/test_outputporttype.py +++ b/rodan-main/code/rodan/test/models/test_outputporttype.py @@ -1,11 +1,11 @@ from django.test import TestCase # from rodan.models.job import Job # from rodan.models.outputporttype import OutputPortType -from model_mommy import mommy +from model_bakery import baker from rodan.test.helpers import RodanTestTearDownMixin, RodanTestSetUpMixin class OutputPortTypeTestCase(RodanTestTearDownMixin, TestCase, RodanTestSetUpMixin): def setUp(self): self.setUp_rodan() - self.test_job = mommy.make("rodan.Job") + self.test_job = baker.make("rodan.Job") diff --git a/rodan-main/code/rodan/test/models/test_project.py b/rodan-main/code/rodan/test/models/test_project.py index 2cfdb3618..c1f791160 100644 --- a/rodan-main/code/rodan/test/models/test_project.py +++ b/rodan-main/code/rodan/test/models/test_project.py @@ -1,6 +1,6 @@ from django.test import TestCase from django.db.models import ProtectedError -from model_mommy import mommy +from model_bakery import baker from rodan.test.helpers import RodanTestTearDownMixin, RodanTestSetUpMixin @@ -10,21 +10,21 @@ def setUp(self): def test_delete_project_with_workflowrun(self): return - prj = mommy.make("rodan.Project") - wfrun = mommy.make("rodan.WorkflowRun", project=prj) - rj = mommy.make("rodan.RunJob", workflow_run=wfrun) - resi = mommy.make("rodan.Resource", project=prj) - reso = mommy.make("rodan.Resource", project=prj) - i = mommy.make("rodan.Input", run_job=rj, resource=resi) # noqa - o = mommy.make("rodan.Output", run_job=rj, resource=reso) + prj = baker.make("rodan.Project") + wfrun = baker.make("rodan.WorkflowRun", project=prj) + rj = baker.make("rodan.RunJob", workflow_run=wfrun) + resi = baker.make("rodan.Resource", project=prj) + reso = baker.make("rodan.Resource", project=prj) + i = baker.make("rodan.Input", run_job=rj, resource=resi) # noqa + o = baker.make("rodan.Output", run_job=rj, resource=reso) reso.origin = o reso.save() - wfrun2 = mommy.make("rodan.WorkflowRun", project=prj) - rj2 = mommy.make("rodan.RunJob", workflow_run=wfrun2) # noqa - reso2 = mommy.make("rodan.Resource", project=prj) - i2 = mommy.make("rodan.Input", run_job=rj, resource=reso) # noqa - o2 = mommy.make("rodan.Output", run_job=rj, resource=reso2) # noqa + wfrun2 = baker.make("rodan.WorkflowRun", project=prj) + rj2 = baker.make("rodan.RunJob", workflow_run=wfrun2) # noqa + reso2 = baker.make("rodan.Resource", project=prj) + i2 = baker.make("rodan.Input", run_job=rj, resource=reso) # noqa + o2 = baker.make("rodan.Output", run_job=rj, resource=reso2) # noqa reso2.origin = o reso2.save() diff --git a/rodan-main/code/rodan/test/models/test_resource.py b/rodan-main/code/rodan/test/models/test_resource.py index ff5e7f9b6..e304387ec 100644 --- a/rodan-main/code/rodan/test/models/test_resource.py +++ b/rodan-main/code/rodan/test/models/test_resource.py @@ -1,15 +1,15 @@ from django.test import TestCase from rodan.models import ResourceType, Resource, User -from model_mommy import mommy +from model_bakery import baker from rodan.test.helpers import RodanTestTearDownMixin, RodanTestSetUpMixin class ResourceTestCase(RodanTestTearDownMixin, TestCase, RodanTestSetUpMixin): def setUp(self): self.setUp_rodan() - self.test_user = mommy.make(User) - self.test_project = mommy.make("rodan.Project") - self.test_workflow = mommy.make("rodan.Workflow") + self.test_user = baker.make(User) + self.test_project = baker.make("rodan.Project") + self.test_workflow = baker.make("rodan.Workflow") self.test_resource_data = { "project": self.test_project, diff --git a/rodan-main/code/rodan/test/models/test_resourcelabel.py b/rodan-main/code/rodan/test/models/test_resourcelabel.py index 6ad4cd364..9cb1b41f8 100644 --- a/rodan-main/code/rodan/test/models/test_resourcelabel.py +++ b/rodan-main/code/rodan/test/models/test_resourcelabel.py @@ -1,14 +1,14 @@ from django.test import TestCase from rodan.models import Resource, ResourceLabel, ResourceType, User -from model_mommy import mommy +from model_bakery import baker from rodan.test.helpers import RodanTestTearDownMixin, RodanTestSetUpMixin class ResourceLabelTestCase(RodanTestTearDownMixin, TestCase, RodanTestSetUpMixin): def setUp(self): self.setUp_rodan() - self.test_user = mommy.make(User) - self.test_project = mommy.make("rodan.Project") + self.test_user = baker.make(User) + self.test_project = baker.make("rodan.Project") self.test_resource = Resource( project=self.test_project, diff --git a/rodan-main/code/rodan/test/models/test_runjob.py b/rodan-main/code/rodan/test/models/test_runjob.py index ff79aa48d..250dd4ae9 100644 --- a/rodan-main/code/rodan/test/models/test_runjob.py +++ b/rodan-main/code/rodan/test/models/test_runjob.py @@ -3,18 +3,18 @@ # from rodan.models.workflowrun import WorkflowRun # from rodan.models.workflowjob import WorkflowJob from rodan.models.runjob import RunJob -from model_mommy import mommy +from model_bakery import baker from rodan.test.helpers import RodanTestTearDownMixin, RodanTestSetUpMixin class RunJobTestCase(RodanTestTearDownMixin, TestCase, RodanTestSetUpMixin): def setUp(self): self.setUp_rodan() - self.test_workflowjob = mommy.make("rodan.WorkflowJob") - self.test_workflowrun = mommy.make( + self.test_workflowjob = baker.make("rodan.WorkflowJob") + self.test_workflowrun = baker.make( "rodan.WorkflowRun", workflow=self.test_workflowjob.workflow ) - self.test_runjob = mommy.make( + self.test_runjob = baker.make( "rodan.RunJob", workflow_job=self.test_workflowjob, workflow_run=self.test_workflowrun, diff --git a/rodan-main/code/rodan/test/models/test_userpreference.py b/rodan-main/code/rodan/test/models/test_userpreference.py index 516686019..75aaacad1 100644 --- a/rodan-main/code/rodan/test/models/test_userpreference.py +++ b/rodan-main/code/rodan/test/models/test_userpreference.py @@ -1,14 +1,14 @@ from django.test import TestCase from rodan.models import UserPreference, User -from model_mommy import mommy +from model_bakery import baker from rodan.test.helpers import RodanTestTearDownMixin, RodanTestSetUpMixin class UserPreferenceTestCase(RodanTestTearDownMixin, TestCase, RodanTestSetUpMixin): def setUp(self): self.setUp_rodan() - self.test_user = mommy.make(User) - self.test_project = mommy.make("rodan.Project") + self.test_user = baker.make(User) + self.test_project = baker.make("rodan.Project") self.test_user_preference_data = {"user": self.test_user, "send_email": False} diff --git a/rodan-main/code/rodan/test/models/test_workflow.py b/rodan-main/code/rodan/test/models/test_workflow.py index 015b3c0c1..41ca6469b 100644 --- a/rodan-main/code/rodan/test/models/test_workflow.py +++ b/rodan-main/code/rodan/test/models/test_workflow.py @@ -1,15 +1,15 @@ from django.test import TestCase from rodan.models import Workflow, User # from rodan.models import Project -from model_mommy import mommy +from model_bakery import baker from rodan.test.helpers import RodanTestTearDownMixin, RodanTestSetUpMixin class WorkflowTestCase(RodanTestTearDownMixin, TestCase, RodanTestSetUpMixin): def setUp(self): self.setUp_rodan() - self.test_project = mommy.make("rodan.Project") - self.test_user = mommy.make(User) + self.test_project = baker.make("rodan.Project") + self.test_user = baker.make(User) self.test_workflow_data = { "name": "test workflow", @@ -47,7 +47,7 @@ def setUp(self): self.setUp_rodan() self.setUp_basic_workflow() # add a wfj group - self.test_workflowjobgroup = mommy.make( + self.test_workflowjobgroup = baker.make( "rodan.WorkflowJobGroup", workflow=self.test_workflow ) self.test_workflowjob.group = self.test_workflowjobgroup @@ -57,13 +57,13 @@ def setUp(self): self.test_workflow.save() def test_creating_workflowjob_should_invalidate(self): - wfj3 = mommy.make("rodan.WorkflowJob", workflow=self.test_workflow) # noqa + wfj3 = baker.make("rodan.WorkflowJob", workflow=self.test_workflow) # noqa # Refetch wf = Workflow.objects.get(uuid=self.test_workflow.uuid) self.assertFalse(wf.valid) def test_altering_workflowjob_job_should_invalidate(self): - self.test_workflowjob.job = mommy.make("rodan.Job") + self.test_workflowjob.job = baker.make("rodan.Job") self.test_workflowjob.save() # Refetch wf = Workflow.objects.get(uuid=self.test_workflow.uuid) @@ -84,7 +84,7 @@ def test_altering_workflowjob_name_should_not_invalidate(self): self.assertTrue(wf.valid) def test_altering_workflowjob_group_should_not_invalidate(self): - self.test_workflowjob.group = mommy.make( + self.test_workflowjob.group = baker.make( "rodan.WorkflowJobGroup", workflow=self.test_workflow ) self.test_workflowjob.save() @@ -99,7 +99,7 @@ def test_deleting_workflowjob_should_invalidate(self): self.assertFalse(wf.valid) def test_creating_inputport_should_invalidate(self): - mommy.make( + baker.make( "rodan.InputPort", workflow_job=self.test_workflowjob, input_port_type=self.test_inputporttype, @@ -110,7 +110,7 @@ def test_creating_inputport_should_invalidate(self): def test_altering_inputport_workflow_job_should_invalidate(self): ip = self.test_workflowjob.input_ports.first() - ip.workflow_job = mommy.make("rodan.WorkflowJob") + ip.workflow_job = baker.make("rodan.WorkflowJob") ip.save() # Refetch wf = Workflow.objects.get(uuid=self.test_workflow.uuid) @@ -118,7 +118,7 @@ def test_altering_inputport_workflow_job_should_invalidate(self): def test_altering_inputport_input_port_type_should_invalidate(self): ip = self.test_workflowjob.input_ports.first() - ip.input_port_type = mommy.make("rodan.InputPortType") + ip.input_port_type = baker.make("rodan.InputPortType") ip.save() # Refetch wf = Workflow.objects.get(uuid=self.test_workflow.uuid) @@ -140,7 +140,7 @@ def test_deleting_inputport_should_invalidate(self): self.assertFalse(wf.valid) def test_creating_outputport_should_invalidate(self): - mommy.make( + baker.make( "rodan.OutputPort", workflow_job=self.test_workflowjob, output_port_type=self.test_outputporttype, @@ -151,7 +151,7 @@ def test_creating_outputport_should_invalidate(self): def test_altering_outputport_workflow_job_should_invalidate(self): op = self.test_workflowjob2.output_ports.first() - op.workflow_job = mommy.make("rodan.WorkflowJob") + op.workflow_job = baker.make("rodan.WorkflowJob") op.save() # Refetch wf = Workflow.objects.get(uuid=self.test_workflow.uuid) @@ -159,7 +159,7 @@ def test_altering_outputport_workflow_job_should_invalidate(self): def test_altering_outputport_output_port_type_should_invalidate(self): op = self.test_workflowjob2.output_ports.first() - op.output_port_type = mommy.make("rodan.OutputPortType") + op.output_port_type = baker.make("rodan.OutputPortType") op.save() # Refetch wf = Workflow.objects.get(uuid=self.test_workflow.uuid) @@ -182,7 +182,7 @@ def test_deleting_outputport_should_invalidate(self): def test_creating_connection_should_invalidate(self): op = self.test_workflowjob2.output_ports.first() - mommy.make( + baker.make( "rodan.Connection", output_port=op, input_port__workflow_job__workflow=self.test_workflow, @@ -193,7 +193,7 @@ def test_creating_connection_should_invalidate(self): def test_altering_connection_input_port_should_invalidate(self): conn = self.test_workflowjob.output_ports.first().connections.first() - conn.input_port = mommy.make("rodan.InputPort") + conn.input_port = baker.make("rodan.InputPort") conn.save() # Refetch wf = Workflow.objects.get(uuid=self.test_workflow.uuid) @@ -201,7 +201,7 @@ def test_altering_connection_input_port_should_invalidate(self): def test_altering_connection_output_port_should_invalidate(self): conn = self.test_workflowjob.output_ports.first().connections.first() - conn.output_port = mommy.make("rodan.OutputPort") + conn.output_port = baker.make("rodan.OutputPort") conn.save() # Refetch wf = Workflow.objects.get(uuid=self.test_workflow.uuid) @@ -215,7 +215,7 @@ def test_deleting_connection_should_invalidate(self): self.assertFalse(wf.valid) def test_creating_workflowjobgroup_should_not_invalidate(self): - wfjg2 = mommy.make("rodan.WorkflowJobGroup", workflow=self.test_workflow) # noqa + wfjg2 = baker.make("rodan.WorkflowJobGroup", workflow=self.test_workflow) # noqa self.test_workflowjob2.group = self.test_workflowjobgroup self.test_workflowjob2.save() # Refetch diff --git a/rodan-main/code/rodan/test/models/test_workflowjob.py b/rodan-main/code/rodan/test/models/test_workflowjob.py index 1eef394a2..3087fd888 100644 --- a/rodan-main/code/rodan/test/models/test_workflowjob.py +++ b/rodan-main/code/rodan/test/models/test_workflowjob.py @@ -1,5 +1,5 @@ from django.test import TestCase -# from model_mommy import mommy +# from model_bakery import baker from rodan.test.helpers import RodanTestTearDownMixin, RodanTestSetUpMixin diff --git a/rodan-main/code/rodan/test/models/test_workflowrun.py b/rodan-main/code/rodan/test/models/test_workflowrun.py index 5802e0938..61f90ed45 100644 --- a/rodan-main/code/rodan/test/models/test_workflowrun.py +++ b/rodan-main/code/rodan/test/models/test_workflowrun.py @@ -1,16 +1,16 @@ from django.test import TestCase from rodan.models import WorkflowRun, User -from model_mommy import mommy +from model_bakery import baker from rodan.test.helpers import RodanTestTearDownMixin, RodanTestSetUpMixin class WorkflowRunTestCase(RodanTestTearDownMixin, TestCase, RodanTestSetUpMixin): def setUp(self): self.setUp_rodan() - self.test_user = mommy.make(User) - self.test_project = mommy.make("rodan.Project") - self.test_workflow = mommy.make("rodan.Workflow") - self.test_resource = mommy.make("rodan.resource") + self.test_user = baker.make(User) + self.test_project = baker.make("rodan.Project") + self.test_workflow = baker.make("rodan.Workflow") + self.test_resource = baker.make("rodan.resource") self.test_workflowrun_data = { "name": "test workflowrun", diff --git a/rodan-main/code/rodan/test/testIndividual_permission.py b/rodan-main/code/rodan/test/testIndividual_permission.py index 9d5d35e79..431705501 100644 --- a/rodan-main/code/rodan/test/testIndividual_permission.py +++ b/rodan-main/code/rodan/test/testIndividual_permission.py @@ -6,7 +6,7 @@ from rest_framework.test import APITestCase from rest_framework import status from rest_framework.reverse import reverse -from model_mommy import mommy +from model_bakery import baker from rodan.constants import task_status from rodan.models import ( @@ -260,7 +260,7 @@ def test_all(self): self.test_admin, self.test_creator, ]: - workflow = mommy.make("rodan.Workflow", project=project) + workflow = baker.make("rodan.Workflow", project=project) self.client.force_authenticate(user=u) response = self.client.get(reverse("workflow-list")) @@ -287,7 +287,7 @@ def test_all(self): ) self.assertEqual(response.status_code, status.HTTP_204_NO_CONTENT) - workflow = mommy.make("rodan.Workflow", project=project) + workflow = baker.make("rodan.Workflow", project=project) self.client.force_authenticate(user=self.test_outsider) response = self.client.get(reverse("workflow-list")) @@ -318,7 +318,7 @@ def test_all(self): self.test_admin, self.test_creator, ]: - workflowjob = mommy.make("rodan.WorkflowJob", workflow=workflow) + workflowjob = baker.make("rodan.WorkflowJob", workflow=workflow) self.client.force_authenticate(user=u) response = self.client.get(reverse("workflowjob-list")) @@ -345,7 +345,7 @@ def test_all(self): ) self.assertEqual(response.status_code, status.HTTP_204_NO_CONTENT) - workflowjob = mommy.make("rodan.WorkflowJob", workflow=workflow) + workflowjob = baker.make("rodan.WorkflowJob", workflow=workflow) self.client.force_authenticate(user=self.test_outsider) response = self.client.get(reverse("workflowjob-list")) @@ -376,7 +376,7 @@ def test_all(self): self.test_admin, self.test_creator, ]: - inputport = mommy.make("rodan.InputPort", workflow_job=workflowjob) + inputport = baker.make("rodan.InputPort", workflow_job=workflowjob) self.client.force_authenticate(user=u) response = self.client.get(reverse("inputport-list")) @@ -401,7 +401,7 @@ def test_all(self): ) self.assertEqual(response.status_code, status.HTTP_204_NO_CONTENT) - inputport = mommy.make("rodan.InputPort", workflow_job=workflowjob) + inputport = baker.make("rodan.InputPort", workflow_job=workflowjob) self.client.force_authenticate(user=self.test_outsider) response = self.client.get(reverse("inputport-list")) @@ -432,7 +432,7 @@ def test_all(self): self.test_admin, self.test_creator, ]: - outputport = mommy.make("rodan.OutputPort", workflow_job=workflowjob) + outputport = baker.make("rodan.OutputPort", workflow_job=workflowjob) self.client.force_authenticate(user=u) response = self.client.get(reverse("outputport-list")) @@ -459,7 +459,7 @@ def test_all(self): ) self.assertEqual(response.status_code, status.HTTP_204_NO_CONTENT) - outputport = mommy.make("rodan.OutputPort", workflow_job=workflowjob) + outputport = baker.make("rodan.OutputPort", workflow_job=workflowjob) self.client.force_authenticate(user=self.test_outsider) response = self.client.get(reverse("outputport-list")) @@ -484,7 +484,7 @@ def test_all(self): self.assertEqual(response.status_code, status.HTTP_404_NOT_FOUND) # Connection - outputport2 = mommy.make( + outputport2 = baker.make( "rodan.OutputPort", workflow_job=workflowjob ) # for testing for u in [ @@ -493,7 +493,7 @@ def test_all(self): self.test_admin, self.test_creator, ]: - connection = mommy.make( + connection = baker.make( "rodan.Connection", input_port=inputport, output_port=outputport ) self.client.force_authenticate(user=u) @@ -523,7 +523,7 @@ def test_all(self): ) self.assertEqual(response.status_code, status.HTTP_204_NO_CONTENT) - connection = mommy.make( + connection = baker.make( "rodan.Connection", input_port=inputport, output_port=outputport ) self.client.force_authenticate(user=self.test_outsider) @@ -556,7 +556,7 @@ def test_all(self): # self.test_admin, # self.test_creator, # ]: - # workflowjobcoordinateset = mommy.make( + # workflowjobcoordinateset = baker.make( # "rodan.Workflowjobcoordinateset", workflow_job=workflowjob # ) # self.client.force_authenticate(user=u) @@ -595,7 +595,7 @@ def test_all(self): # ) # self.assertEqual(response.status_code, status.HTTP_204_NO_CONTENT) - # workflowjobcoordinateset = mommy.make( + # workflowjobcoordinateset = baker.make( # "rodan.Workflowjobcoordinateset", workflow_job=workflowjob # ) # self.client.force_authenticate(user=self.test_outsider) @@ -640,7 +640,7 @@ def test_all(self): self.test_admin, self.test_creator, ]: - resource = mommy.make("rodan.Resource", project=project) + resource = baker.make("rodan.Resource", project=project) self.client.force_authenticate(user=u) response = self.client.get(reverse("resource-list")) @@ -667,7 +667,7 @@ def test_all(self): ) self.assertEqual(response.status_code, status.HTTP_204_NO_CONTENT) - resource = mommy.make("rodan.Resource", project=project) + resource = baker.make("rodan.Resource", project=project) self.client.force_authenticate(user=self.test_outsider) response = self.client.get(reverse("resource-list")) @@ -695,7 +695,7 @@ def test_all(self): for idx, u in enumerate( [self.test_worker, self.test_worker2, self.test_admin, self.test_creator] ): - workflowrun = mommy.make("rodan.WorkflowRun", project=project) + workflowrun = baker.make("rodan.WorkflowRun", project=project) self.client.force_authenticate(user=u) response = self.client.get(reverse("workflowrun-list")) @@ -717,7 +717,7 @@ def test_all(self): response.data["description"], "new desc{0}".format(u.username) ) - workflowrun = mommy.make("rodan.WorkflowRun", project=project) + workflowrun = baker.make("rodan.WorkflowRun", project=project) self.client.force_authenticate(user=self.test_outsider) response = self.client.get(reverse("workflowrun-list")) @@ -740,7 +740,7 @@ def test_all(self): for idx, u in enumerate( [self.test_worker, self.test_worker2, self.test_admin, self.test_creator] ): - runjob = mommy.make("rodan.RunJob", workflow_run=workflowrun) + runjob = baker.make("rodan.RunJob", workflow_run=workflowrun) self.client.force_authenticate(user=u) response = self.client.get(reverse("runjob-list")) @@ -752,7 +752,7 @@ def test_all(self): ) self.assertEqual(response.status_code, status.HTTP_200_OK) - runjob = mommy.make("rodan.RunJob", workflow_run=workflowrun) + runjob = baker.make("rodan.RunJob", workflow_run=workflowrun) self.client.force_authenticate(user=self.test_outsider) response = self.client.get(reverse("runjob-list")) @@ -766,7 +766,7 @@ def test_all(self): for idx, u in enumerate( [self.test_worker, self.test_worker2, self.test_admin, self.test_creator] ): - input = mommy.make("rodan.Input", run_job=runjob) + input = baker.make("rodan.Input", run_job=runjob) self.client.force_authenticate(user=u) response = self.client.get(reverse("input-list")) @@ -776,7 +776,7 @@ def test_all(self): response = self.client.get(reverse("input-detail", kwargs={"pk": input.pk})) self.assertEqual(response.status_code, status.HTTP_200_OK) - input = mommy.make("rodan.Input", run_job=runjob) + input = baker.make("rodan.Input", run_job=runjob) self.client.force_authenticate(user=self.test_outsider) response = self.client.get(reverse("input-list")) @@ -790,7 +790,7 @@ def test_all(self): for idx, u in enumerate( [self.test_worker, self.test_worker2, self.test_admin, self.test_creator] ): - output = mommy.make("rodan.Output", run_job=runjob) + output = baker.make("rodan.Output", run_job=runjob) self.client.force_authenticate(user=u) response = self.client.get(reverse("output-list")) @@ -802,7 +802,7 @@ def test_all(self): ) self.assertEqual(response.status_code, status.HTTP_200_OK) - output = mommy.make("rodan.Output", run_job=runjob) + output = baker.make("rodan.Output", run_job=runjob) self.client.force_authenticate(user=self.test_outsider) response = self.client.get(reverse("output-list")) @@ -819,7 +819,7 @@ def test_all(self): self.test_admin, self.test_creator, ]: - resultspackage = mommy.make( + resultspackage = baker.make( "rodan.ResultsPackage", workflow_run=workflowrun, status=task_status.CANCELLED, @@ -844,7 +844,7 @@ def test_all(self): ) self.assertEqual(response.status_code, status.HTTP_204_NO_CONTENT) - resultspackage = mommy.make("rodan.ResultsPackage", workflow_run=workflowrun) + resultspackage = baker.make("rodan.ResultsPackage", workflow_run=workflowrun) self.client.force_authenticate(user=self.test_outsider) response = self.client.get(reverse("resultspackage-list")) diff --git a/rodan-main/code/rodan/test/test_all_jobs.py b/rodan-main/code/rodan/test/test_all_jobs.py index 03ffbaa3a..e4f366feb 100644 --- a/rodan-main/code/rodan/test/test_all_jobs.py +++ b/rodan-main/code/rodan/test/test_all_jobs.py @@ -1,5 +1,5 @@ import os, tempfile, shutil, uuid, types, traceback, sys -from celery import registry +from celery import current_app as registry from django.conf import settings from rest_framework.test import APITestCase from rodan.test.helpers import RodanTestSetUpMixin, RodanTestTearDownMixin diff --git a/rodan-main/code/rodan/test/views/testIndividual_interactive.py b/rodan-main/code/rodan/test/views/testIndividual_interactive.py index 44f694e8a..ece78ad16 100644 --- a/rodan-main/code/rodan/test/views/testIndividual_interactive.py +++ b/rodan-main/code/rodan/test/views/testIndividual_interactive.py @@ -7,7 +7,7 @@ from django.utils import timezone from rest_framework import status from rest_framework.test import APITestCase -from model_mommy import mommy +from model_bakery import baker from rodan.constants import task_status from rodan.models import Resource, Job, ResourceType, RunJob @@ -27,7 +27,7 @@ def setUp(self): self.setUp_rodan() self.setUp_user() self.client.force_authenticate(user=self.test_superuser) - self.test_runjob = mommy.make( + self.test_runjob = baker.make( "rodan.RunJob", status=task_status.WAITING_FOR_INPUT ) @@ -120,22 +120,22 @@ def setUp(self): from rodan.test.dummy_jobs import dummy_manual_job dummy_m_job = Job.objects.get(name=dummy_manual_job.name) - self.test_project = mommy.make("rodan.Project") - self.test_workflow = mommy.make("rodan.Workflow", project=self.test_project) - self.test_resource_in = mommy.make( + self.test_project = baker.make("rodan.Project") + self.test_workflow = baker.make("rodan.Workflow", project=self.test_project) + self.test_resource_in = baker.make( "rodan.Resource", project=self.test_project, resource_file="dummy", resource_type=ResourceType.objects.get(mimetype="test/a1"), ) - self.test_resource_out = mommy.make( + self.test_resource_out = baker.make( "rodan.Resource", project=self.test_project, resource_file="", resource_type=ResourceType.objects.get(mimetype="test/a1"), ) self.test_working_user_token = uuid.uuid4() - self.test_runjob = mommy.make( + self.test_runjob = baker.make( "rodan.RunJob", job_name=dummy_m_job.name, status=task_status.WAITING_FOR_INPUT, @@ -146,13 +146,13 @@ def setUp(self): workflow_run__workflow=self.test_workflow, ) - input_m = mommy.make( # noqa + input_m = baker.make( # noqa "rodan.Input", run_job=self.test_runjob, input_port_type_name="in_typeA", resource=self.test_resource_in, ) - output_m = mommy.make( + output_m = baker.make( "rodan.Output", run_job=self.test_runjob, output_port_type_name="out_typeA", diff --git a/rodan-main/code/rodan/test/views/testIndividual_workflowrun.py b/rodan-main/code/rodan/test/views/testIndividual_workflowrun.py index 6c7baa423..d56ecca6b 100644 --- a/rodan-main/code/rodan/test/views/testIndividual_workflowrun.py +++ b/rodan-main/code/rodan/test/views/testIndividual_workflowrun.py @@ -1,12 +1,11 @@ import os import json -import six from rest_framework.test import APITestCase from rest_framework import status from rest_framework.reverse import reverse from rodan.models import WorkflowRun, ResourceType -from model_mommy import mommy +from model_bakery import baker from rodan.test.helpers import RodanTestSetUpMixin, RodanTestTearDownMixin import uuid from django.core.files.base import ContentFile @@ -161,13 +160,13 @@ def test_valid_assignment__with_list_of_resource_lists(self): ra[self.url(self.test_Fip1)] = [self.url(self.test_resource)] resource_lists = [] - for i in six.moves.range(10): - rl = mommy.make( + for i in range(10): + rl = baker.make( "rodan.ResourceList", project=self.test_project, resource_type=ResourceType.objects.get(mimetype="test/a2"), ) - rs = mommy.make( + rs = baker.make( "rodan.Resource", _quantity=5, project=self.test_project, @@ -313,7 +312,7 @@ def test_resources_empty(self): def test_multiple_resource_collections_same_length(self): ra = self.setUp_resources_for_complex_dummy_workflow() - another_resource_collection = mommy.make( + another_resource_collection = baker.make( "rodan.Resource", _quantity=10, name="dummy", @@ -371,7 +370,7 @@ def test_multiple_resource_collections_different_lengths(self): def test_resource_not_in_project(self): ra = self.setUp_resources_for_complex_dummy_workflow() res = self.test_resourcecollection[5] - res.project = mommy.make("rodan.Project") + res.project = baker.make("rodan.Project") res.save() workflowrun_obj = { "workflow": "http://localhost:8000/api/workflow/{0}/".format( @@ -500,7 +499,7 @@ def test_assign_resource_list_to_nonlist_ports(self): def test_resource_list_not_in_project(self): ra = self.setUp_resources_for_complex_dummy_workflow() - self.test_resourcelist.project = mommy.make("rodan.Project") + self.test_resourcelist.project = baker.make("rodan.Project") self.test_resourcelist.save() workflowrun_obj = { "workflow": "http://localhost:8000/api/workflow/{0}/".format( @@ -1212,19 +1211,19 @@ def setUp(self): self.assertEqual(response.status_code, status.HTTP_200_OK) def setUp_multiple_resource_collections(self): - self.test_resourcecollection_a = mommy.make( + self.test_resourcecollection_a = baker.make( "rodan.Resource", _quantity=5, project=self.test_project, resource_type=ResourceType.objects.get(mimetype="test/a1"), ) - self.test_resourcecollection_b = mommy.make( + self.test_resourcecollection_b = baker.make( "rodan.Resource", _quantity=5, project=self.test_project, resource_type=ResourceType.objects.get(mimetype="test/a1"), ) - self.test_resourcecollection_c = mommy.make( + self.test_resourcecollection_c = baker.make( "rodan.Resource", _quantity=5, project=self.test_project, diff --git a/rodan-main/code/rodan/test/views/test_connection.py b/rodan-main/code/rodan/test/views/test_connection.py index a27ee2072..0b28fdac3 100644 --- a/rodan-main/code/rodan/test/views/test_connection.py +++ b/rodan-main/code/rodan/test/views/test_connection.py @@ -1,7 +1,7 @@ from rest_framework.test import APITestCase from rest_framework import status from rodan.models.connection import Connection -from model_mommy import mommy +from model_bakery import baker from rodan.test.helpers import RodanTestSetUpMixin, RodanTestTearDownMixin import uuid @@ -13,7 +13,7 @@ def setUp(self): self.setUp_basic_workflow() self.client.force_authenticate(user=self.test_superuser) - self.test_inputport = mommy.make( + self.test_inputport = baker.make( "rodan.InputPort", workflow_job=self.test_workflowjob2 ) self.test_outputport = self.test_workflowjob.output_ports.all()[0] @@ -104,8 +104,8 @@ def test_delete(self): self.assertFalse(Connection.objects.filter(pk=test_conn_uuid)) def test_post_conflict_workflow(self): - ip = mommy.make("rodan.InputPort") - op = mommy.make("rodan.OutputPort") + ip = baker.make("rodan.InputPort") + op = baker.make("rodan.OutputPort") conn_obj = { "input_port": "http://localhost:8000/api/inputport/{0}/".format(ip.uuid), "output_port": "http://localhost:8000/api/outputport/{0}/".format(op.uuid), @@ -121,12 +121,12 @@ def test_post_conflict_workflow(self): self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST) def test_patch(self): - conn = mommy.make( + conn = baker.make( "rodan.Connection", input_port=self.test_inputport, output_port=self.test_outputport, ) - ip2 = mommy.make( + ip2 = baker.make( "rodan.InputPort", workflow_job__workflow=self.test_inputport.workflow_job.workflow, ) @@ -140,12 +140,12 @@ def test_patch(self): self.assertEqual(response.status_code, status.HTTP_200_OK) def test_patch_conflict_workflow(self): - conn = mommy.make( + conn = baker.make( "rodan.Connection", input_port=self.test_inputport, output_port=self.test_outputport, ) - ip2 = mommy.make("rodan.InputPort") + ip2 = baker.make("rodan.InputPort") req_obj = { "input_port": "http://localhost:8000/api/inputport/{0}/".format(ip2.uuid) diff --git a/rodan-main/code/rodan/test/views/test_resource.py b/rodan-main/code/rodan/test/views/test_resource.py index 36c62295a..ff78437b2 100644 --- a/rodan-main/code/rodan/test/views/test_resource.py +++ b/rodan-main/code/rodan/test/views/test_resource.py @@ -4,11 +4,10 @@ # from StringIO import StringIO from django.core.files.uploadedfile import SimpleUploadedFile -from model_mommy import mommy +from model_bakery import baker from PIL import Image from rest_framework.test import APITestCase from rest_framework import status -import six import io from rodan.constants import task_status @@ -91,14 +90,14 @@ def test_post(self): ) def test_get_results_of_workflowrun(self): - wfrun1 = mommy.make("rodan.WorkflowRun") - wfrun2 = mommy.make("rodan.WorkflowRun") - r1 = mommy.make("rodan.Resource") - r2 = mommy.make("rodan.Resource") - r3 = mommy.make("rodan.Resource") - output1a = mommy.make("rodan.Output", resource=r1, run_job__workflow_run=wfrun1) - output1b = mommy.make("rodan.Output", resource=r2, run_job__workflow_run=wfrun1) - output1c = mommy.make("rodan.Output", resource=r3, run_job__workflow_run=wfrun1) + wfrun1 = baker.make("rodan.WorkflowRun") + wfrun2 = baker.make("rodan.WorkflowRun") + r1 = baker.make("rodan.Resource") + r2 = baker.make("rodan.Resource") + r3 = baker.make("rodan.Resource") + output1a = baker.make("rodan.Output", resource=r1, run_job__workflow_run=wfrun1) + output1b = baker.make("rodan.Output", resource=r2, run_job__workflow_run=wfrun1) + output1c = baker.make("rodan.Output", resource=r3, run_job__workflow_run=wfrun1) res1a = output1a.resource res1a.origin = output1a res1a.save() @@ -108,14 +107,14 @@ def test_get_results_of_workflowrun(self): res1c = output1c.resource res1c.origin = output1c res1c.save() - mommy.make("rodan.Input", run_job__workflow_run=wfrun1, resource=res1a) + baker.make("rodan.Input", run_job__workflow_run=wfrun1, resource=res1a) - r4 = mommy.make("rodan.Resource") - output2 = mommy.make("rodan.Output", resource=r4, run_job__workflow_run=wfrun2) + r4 = baker.make("rodan.Resource") + output2 = baker.make("rodan.Output", resource=r4, run_job__workflow_run=wfrun2) res2 = output2.resource res2.origin = output2 res2.save() - mommy.make("rodan.Input", run_job__workflow_run=wfrun1, resource=res2) + baker.make("rodan.Input", run_job__workflow_run=wfrun1, resource=res2) response = self.client.get( "/api/resources/?format=json&result_of_workflow_run={0}".format(wfrun1.uuid) @@ -135,13 +134,13 @@ def test_get_results_of_workflowrun(self): self.assertEqual(res_list[0]["uuid"], str(res2.uuid)) def test_get_with_filter_uploaded(self): - wfrun1 = mommy.make("rodan.WorkflowRun") - r1 = mommy.make("rodan.Resource") - output1a = mommy.make("rodan.Output", resource=r1, run_job__workflow_run=wfrun1) + wfrun1 = baker.make("rodan.WorkflowRun") + r1 = baker.make("rodan.Resource") + output1a = baker.make("rodan.Output", resource=r1, run_job__workflow_run=wfrun1) res1 = output1a.resource res1.origin = output1a res1.save() - mommy.make("rodan.Input", run_job__workflow_run=wfrun1, resource=res1) + baker.make("rodan.Input", run_job__workflow_run=wfrun1, resource=res1) response1 = self.client.get("/api/resources/?format=json&uploaded=false") res_list1 = response1.data["results"] self.assertEqual(len(res_list1), 1) @@ -153,11 +152,11 @@ def test_get_with_filter_uploaded(self): self.assertEqual(res_list2[0]["uuid"], str(r1.uuid)) def test_get_resources_in_resourcelist(self): - rt = mommy.make("rodan.ResourceType") - r1 = mommy.make("rodan.Resource", project=self.test_project, resource_type=rt) - r2 = mommy.make("rodan.Resource", project=self.test_project, resource_type=rt) - r3 = mommy.make("rodan.Resource", project=self.test_project, resource_type=rt) - r4 = mommy.make("rodan.Resource", project=self.test_project, resource_type=rt) # noqa + rt = baker.make("rodan.ResourceType") + r1 = baker.make("rodan.Resource", project=self.test_project, resource_type=rt) + r2 = baker.make("rodan.Resource", project=self.test_project, resource_type=rt) + r3 = baker.make("rodan.Resource", project=self.test_project, resource_type=rt) + r4 = baker.make("rodan.Resource", project=self.test_project, resource_type=rt) # noqa rl_obj = { "resources": map( lambda x: "http://localhost:8000/api/resource/{0}/".format(x.uuid), @@ -312,7 +311,7 @@ def test_get_invalid_uuid(self): def test_get_zip(self): return - r1 = mommy.make("rodan.Resource", name="r1.txt", _create_files=True) + r1 = baker.make("rodan.Resource", name="r1.txt", _create_files=True) response = self.client.get( "/api/resources/archive/", { diff --git a/rodan-main/code/rodan/test/views/test_resourcelist.py b/rodan-main/code/rodan/test/views/test_resourcelist.py index a43fc1661..48809783c 100644 --- a/rodan-main/code/rodan/test/views/test_resourcelist.py +++ b/rodan-main/code/rodan/test/views/test_resourcelist.py @@ -1,7 +1,7 @@ from rest_framework import status from rest_framework.test import APITestCase from rest_framework.reverse import reverse -from model_mommy import mommy +from model_bakery import baker from rodan.models import ResourceList from rodan.test.helpers import RodanTestSetUpMixin, RodanTestTearDownMixin @@ -13,9 +13,9 @@ class ResourceListViewTestCase( def setUp(self): self.setUp_rodan() self.setUp_user() - self.test_project = mommy.make("rodan.Project") - self.test_resourcetype = mommy.make("rodan.ResourceType") - self.test_resources = mommy.make( + self.test_project = baker.make("rodan.Project") + self.test_resourcetype = baker.make("rodan.ResourceType") + self.test_resources = baker.make( "rodan.Resource", _quantity=5, project=self.test_project, @@ -50,8 +50,8 @@ def test_create_successfully(self): self.assertEqual(resources[4], self.test_resources[4]) def test_create_conflict_project(self): - p2 = mommy.make("rodan.Project") - r2 = mommy.make( + p2 = baker.make("rodan.Project") + r2 = baker.make( "rodan.Resource", project=p2, resource_type=self.test_resourcetype ) rl_obj = { @@ -74,9 +74,9 @@ def test_create_conflict_project(self): self.assertEqual(response.data, anticipated_message) def test_create_conflict_resourcetype(self): - p2 = mommy.make("rodan.Project") - rt2 = mommy.make("rodan.ResourceType") - r2 = mommy.make("rodan.Resource", project=self.test_project, resource_type=rt2) + p2 = baker.make("rodan.Project") + rt2 = baker.make("rodan.ResourceType") + r2 = baker.make("rodan.Resource", project=self.test_project, resource_type=rt2) rl_obj = { "resources": map( # lambda x: "http://localhost:8000/api/resource/{0}/".format(x.uuid), @@ -112,8 +112,8 @@ def test_patch_conflict_resourcetype(self): assert response.status_code == status.HTTP_201_CREATED, "This should pass" rl_uuid = response.data["uuid"] - rt2 = mommy.make("rodan.ResourceType") - r2 = mommy.make("rodan.Resource", project=self.test_project, resource_type=rt2) + rt2 = baker.make("rodan.ResourceType") + r2 = baker.make("rodan.Resource", project=self.test_project, resource_type=rt2) rl_obj = { "resources": map( # lambda x: "http://localhost:8000/api/resource/{0}/".format(x.uuid), @@ -157,8 +157,8 @@ def test_patch_conflict_project(self): assert response.status_code == status.HTTP_201_CREATED, "This should pass" rl_uuid = response.data["uuid"] - p2 = mommy.make("rodan.Project") - r2 = mommy.make( + p2 = baker.make("rodan.Project") + r2 = baker.make( "rodan.Resource", project=p2, resource_type=self.test_resourcetype ) rl_obj = { @@ -182,7 +182,7 @@ def test_patch_conflict_project(self): self.assertEqual(response.data, anticipated_message) def test_create_empty_resourcelist(self): - p2 = mommy.make("rodan.Project") + p2 = baker.make("rodan.Project") rl_obj1 = { "resources": [], "name": "test resource list1", diff --git a/rodan-main/code/rodan/test/views/test_resultspackage.py b/rodan-main/code/rodan/test/views/test_resultspackage.py index 7587c20e0..5fe672bde 100644 --- a/rodan-main/code/rodan/test/views/test_resultspackage.py +++ b/rodan-main/code/rodan/test/views/test_resultspackage.py @@ -11,7 +11,7 @@ from rest_framework import status from rest_framework.test import APITestCase from rest_framework.reverse import reverse -from model_mommy import mommy +from model_bakery import baker from rodan.constants import task_status from rodan.models import WorkflowRun, Job, ResultsPackage @@ -33,7 +33,7 @@ def setUp(self): self.client.force_authenticate(user=self.test_superuser) # def test_unfinished_workflowrun(self): - # wfr = mommy.make('rodan.WorkflowRun', status=task_status.PROCESSING) + # wfr = baker.make('rodan.WorkflowRun', status=task_status.PROCESSING) # resultspackage_obj = { # 'workflow_run': 'http://localhost:8000/workflowrun/{0}/'.format(wfr.uuid), # 'packaging_mode': 0 @@ -46,7 +46,7 @@ def setUp(self): # ) # def test_nonexist_port(self): - # wfr = mommy.make('rodan.WorkflowRun', status=task_status.FINISHED) + # wfr = baker.make('rodan.WorkflowRun', status=task_status.FINISHED) # resultspackage_obj = { # 'workflow_run': 'http://localhost:8000/workflowrun/{0}/'.format(wfr.uuid), # 'output_ports': ['http://localhost:8000/api/outputport/{0}/'.format(uuid.uuid1()) @@ -59,7 +59,7 @@ def setUp(self): # 'output_ports': [u'Invalid hyperlink - Object does not exist.']}) # def test_post_invalid_status(self): - # wfr = mommy.make("rodan.WorkflowRun", status=task_status.FINISHED) + # wfr = baker.make("rodan.WorkflowRun", status=task_status.FINISHED) # resultspackage_obj = { # "workflow_run": "http://localhost:8000/api/workflowrun/{0}/".format(wfr.uuid), # "status": task_status.CANCELLED, @@ -80,7 +80,7 @@ def setUp(self): # def test_patch_cancel(self): # return - # wfr = mommy.make("rodan.ResultsPackage", status=task_status.SCHEDULED) + # wfr = baker.make("rodan.ResultsPackage", status=task_status.SCHEDULED) # req = {"status": task_status.CANCELLED} # try: # response = self.client.patch( @@ -91,7 +91,7 @@ def setUp(self): # pass # def test_patch_invalid_status_update(self): - # wfr = mommy.make("rodan.ResultsPackage", status=task_status.EXPIRED) + # wfr = baker.make("rodan.ResultsPackage", status=task_status.EXPIRED) # req = {"status": task_status.PROCESSING} # response = self.client.patch( # "/api/resultspackage/{0}/".format(wfr.uuid), req, format="json" @@ -207,7 +207,7 @@ def setUp(self): # # TODO: test file names # def test_invalid_port(self): - # invalid_op = mommy.make('rodan.OutputPort') + # invalid_op = baker.make('rodan.OutputPort') # resultspackage_obj = { # 'workflow_run': 'http://localhost:8000/workflowrun/{0}/'.format( # self.test_workflowrun.uuid diff --git a/rodan-main/code/rodan/test/views/test_workflow.py b/rodan-main/code/rodan/test/views/test_workflow.py index 02c0be206..f004a5564 100644 --- a/rodan-main/code/rodan/test/views/test_workflow.py +++ b/rodan-main/code/rodan/test/views/test_workflow.py @@ -5,9 +5,8 @@ from rest_framework.reverse import reverse from rest_framework.test import APITestCase -from model_mommy import mommy +from model_bakery import baker from rodan.test.helpers import RodanTestSetUpMixin, RodanTestTearDownMixin -import six import uuid from rodan.serializers.workflow import version_map @@ -77,7 +76,7 @@ def test_view__validation_result_valid(self): self.assertTrue(retr_workflow.valid) def test_view__validation_result_invalid(self): - test_workflow_no_jobs = mommy.make("rodan.Workflow", project=self.test_project) + test_workflow_no_jobs = baker.make("rodan.Workflow", project=self.test_project) response = self._validate(test_workflow_no_jobs.uuid) self.assertEqual(response.status_code, status.HTTP_409_CONFLICT) retr_workflow = Workflow.objects.get(pk=test_workflow_no_jobs.uuid) @@ -90,7 +89,7 @@ def test_workflowjob__no_output(self): self.assertEqual(response.data["error_code"], "WFJ_NO_OP") def test_workflowjob__inputport_number_not_satisfy(self): - mommy.make( + baker.make( "rodan.Connection", _quantity=10, output_port=self.test_workflowjob.output_ports.all()[0], @@ -102,7 +101,7 @@ def test_workflowjob__inputport_number_not_satisfy(self): self.assertEqual(response.data["error_code"], "WFJ_TOO_MANY_IP") def test_workflowjob__outputport_number_not_satisfy(self): - mommy.make( + baker.make( "rodan.Connection", _quantity=10, output_port__workflow_job=self.test_workflowjob, @@ -127,8 +126,8 @@ def test_workflowjob__settings_not_satisfy(self): self.assertEqual(response.data["error_code"], "WFJ_INVALID_SETTINGS") def test_input__type_incompatible_with_job(self): - new_ipt = mommy.make("rodan.InputPortType") - new_ip = mommy.make( # noqa + new_ipt = baker.make("rodan.InputPortType") + new_ip = baker.make( # noqa "rodan.InputPort", workflow_job=self.test_workflowjob, input_port_type=new_ipt, @@ -140,7 +139,7 @@ def test_input__type_incompatible_with_job(self): def test_input__multiple_connections(self): ip = self.test_workflowjob2.input_ports.all()[0] - mommy.make( + baker.make( "rodan.Connection", output_port=self.test_workflowjob.output_ports.all()[0], input_port=ip, @@ -150,8 +149,8 @@ def test_input__multiple_connections(self): self.assertEqual(response.data["error_code"], "IP_TOO_MANY_CONNECTIONS") def test_input__more_than_maximum(self): - for i in six.moves.range(self.test_inputporttype.maximum): - ip = mommy.make( # noqa + for i in range(self.test_inputporttype.maximum): + ip = baker.make( # noqa "rodan.InputPort", workflow_job=self.test_workflowjob, input_port_type=self.test_inputporttype, @@ -168,8 +167,8 @@ def test_input__fewer_than_minimum(self): self.assertEqual(response.data["error_code"], "WFJ_TOO_FEW_IP") def test_output__type_incompatible_with_job(self): - new_opt = mommy.make("rodan.OutputPortType") - new_op = mommy.make( # noqa + new_opt = baker.make("rodan.OutputPortType") + new_op = baker.make( # noqa "rodan.OutputPort", workflow_job=self.test_workflowjob, output_port_type=new_opt, @@ -180,8 +179,8 @@ def test_output__type_incompatible_with_job(self): self.assertEqual(response.data["error_code"], "OP_TYPE_MISMATCH") def test_output__more_than_maximum(self): - for o in six.moves.range(self.test_outputporttype.maximum): - op = mommy.make( # noqa + for o in range(self.test_outputporttype.maximum): + op = baker.make( # noqa "rodan.OutputPort", workflow_job=self.test_workflowjob, output_port_type=self.test_outputporttype, @@ -191,7 +190,7 @@ def test_output__more_than_maximum(self): self.assertEqual(response.data["error_code"], "WFJ_TOO_MANY_OP") def test_output__fewer_than_minimum(self): - opt2 = mommy.make( # noqa + opt2 = baker.make( # noqa "rodan.OutputPortType", maximum=3, minimum=1, job=self.test_job ) response = self._validate(self.test_workflow.uuid) @@ -200,24 +199,24 @@ def test_output__fewer_than_minimum(self): def test_output__resourcetype_list_conflict_case1(self): # CASE 1: input_port is list but output_type not. - new_ipt = mommy.make( + new_ipt = baker.make( "rodan.InputPortType", maximum=1, minimum=0, job=self.test_job, is_list=True ) new_ipt.resource_types.add(ResourceType.objects.get(mimetype="test/b")) - new_ip = mommy.make( + new_ip = baker.make( "rodan.InputPort", workflow_job=self.test_workflowjob2, input_port_type=new_ipt, ) op = self.test_workflowjob.output_ports.first() - conn = mommy.make("rodan.Connection", output_port=op, input_port=new_ip) # noqa + conn = baker.make("rodan.Connection", output_port=op, input_port=new_ip) # noqa response = self._validate(self.test_workflow.uuid) self.assertEqual(response.status_code, status.HTTP_409_CONFLICT) self.assertEqual(response.data["error_code"], "RESOURCETYPE_LIST_CONFLICT") def test_output__resourcetype_list_conflict_case2(self): # CASE 2: output_port is list but input_type not. - new_opt = mommy.make( + new_opt = baker.make( "rodan.OutputPortType", maximum=1, minimum=0, @@ -225,24 +224,24 @@ def test_output__resourcetype_list_conflict_case2(self): is_list=True, ) new_opt.resource_types.add(ResourceType.objects.get(mimetype="test/b")) - new_op = mommy.make( + new_op = baker.make( "rodan.OutputPort", workflow_job=self.test_workflowjob, output_port_type=new_opt, ) ipt = self.test_workflowjob.input_ports.first().input_port_type - new_ip = mommy.make( + new_ip = baker.make( "rodan.InputPort", workflow_job=self.test_workflowjob, input_port_type=ipt ) - conn = mommy.make("rodan.Connection", output_port=new_op, input_port=new_ip) # noqa + conn = baker.make("rodan.Connection", output_port=new_op, input_port=new_ip) # noqa response = self._validate(self.test_workflow.uuid) self.assertEqual(response.status_code, status.HTTP_409_CONFLICT) self.assertEqual(response.data["error_code"], "RESOURCETYPE_LIST_CONFLICT") def test_output__no_common_resource_type_simple(self): - new_ipt = mommy.make( + new_ipt = baker.make( "rodan.InputPortType", maximum=1, minimum=0, @@ -252,19 +251,19 @@ def test_output__no_common_resource_type_simple(self): new_ipt.resource_types.add( ResourceType.objects.get(mimetype="test/b") ) # consider the type of opt is 'test/a1' and 'test/a2' - new_ip = mommy.make( + new_ip = baker.make( "rodan.InputPort", workflow_job=self.test_workflowjob2, input_port_type=new_ipt, ) op = self.test_workflowjob.output_ports.first() - conn = mommy.make("rodan.Connection", output_port=op, input_port=new_ip) # noqa + conn = baker.make("rodan.Connection", output_port=op, input_port=new_ip) # noqa response = self._validate(self.test_workflow.uuid) self.assertEqual(response.status_code, status.HTTP_409_CONFLICT) self.assertEqual(response.data["error_code"], "NO_COMMON_RESOURCETYPE") def test_output__no_common_resource_type_complex(self): - new_ipt1 = mommy.make( + new_ipt1 = baker.make( "rodan.InputPortType", maximum=1, minimum=0, @@ -274,7 +273,7 @@ def test_output__no_common_resource_type_complex(self): new_ipt1.resource_types.add( ResourceType.objects.get(mimetype="test/a1") ) # consider the type of opt is 'test/a1' and 'test/a2' - new_ipt2 = mommy.make( + new_ipt2 = baker.make( "rodan.InputPortType", maximum=1, minimum=0, @@ -284,45 +283,45 @@ def test_output__no_common_resource_type_complex(self): new_ipt2.resource_types.add( ResourceType.objects.get(mimetype="test/a2") ) # consider the type of opt is 'test/a1' and 'test/a2' - new_ip1 = mommy.make( # noqa + new_ip1 = baker.make( # noqa "rodan.InputPort", workflow_job=self.test_workflowjob2, input_port_type=new_ipt1, ) - new_ip2 = mommy.make( # noqa + new_ip2 = baker.make( # noqa "rodan.InputPort", workflow_job=self.test_workflowjob2, input_port_type=new_ipt2, ) op = self.test_workflowjob.output_ports.first() # noqa - conn1 = mommy.make("rodan.Connection", output_port=op, input_port=new_ip1) # noqa - conn2 = mommy.make("rodan.Connection", output_port=op, input_port=new_ip2) # noqa + conn1 = baker.make("rodan.Connection", output_port=op, input_port=new_ip1) # noqa + conn2 = baker.make("rodan.Connection", output_port=op, input_port=new_ip2) # noqa response = self._validate(self.test_workflow.uuid) self.assertEqual(response.status_code, status.HTTP_409_CONFLICT) self.assertEqual(response.data["error_code"], "NO_COMMON_RESOURCETYPE") def test_graph__empty(self): - test_workflow_no_jobs = mommy.make("rodan.Workflow", project=self.test_project) + test_workflow_no_jobs = baker.make("rodan.Workflow", project=self.test_project) response = self._validate(test_workflow_no_jobs.uuid) self.assertEqual(response.status_code, status.HTTP_409_CONFLICT) self.assertEqual(response.data["error_code"], "WF_EMPTY") def test_graph__not_connected(self): - workflowjob = mommy.make( + workflowjob = baker.make( "rodan.WorkflowJob", workflow=self.test_workflow, job=self.test_job ) - inputport = mommy.make( # noqa + inputport = baker.make( # noqa "rodan.InputPort", workflow_job=workflowjob, input_port_type=self.test_inputporttype, ) - outputport = mommy.make( + outputport = baker.make( "rodan.OutputPort", workflow_job=workflowjob, output_port_type=self.test_outputporttype, ) - test_connection = mommy.make( + test_connection = baker.make( "rodan.Connection", output_port=outputport, input_port__input_port_type=self.test_inputporttype, @@ -330,7 +329,7 @@ def test_graph__not_connected(self): input_port__workflow_job__job=self.test_job, ) test_workflowjob2 = test_connection.input_port.workflow_job # noqa - outputport2 = mommy.make( # noqa + outputport2 = baker.make( # noqa "rodan.OutputPort", workflow_job=test_workflowjob2, output_port_type=self.test_outputporttype, @@ -341,7 +340,7 @@ def test_graph__not_connected(self): self.assertEqual(response.data["error_code"], "WF_NOT_CONNECTED") def test_graph__loop(self): - mommy.make( + baker.make( "rodan.Connection", input_port__input_port_type=self.test_inputporttype, input_port__workflow_job=self.test_workflowjob, @@ -354,10 +353,10 @@ def test_graph__loop(self): self.assertEqual(response.data["error_code"], "WF_HAS_CYCLES") def test_graph__merging_workflow(self): - test_no_input_workflowjob = mommy.make( + test_no_input_workflowjob = baker.make( "rodan.WorkflowJob", workflow=self.test_workflow ) - opt_for_no_input = mommy.make( + opt_for_no_input = baker.make( "rodan.OutputPortType", minimum=0, maximum=10, @@ -367,7 +366,7 @@ def test_graph__merging_workflow(self): opt_for_no_input.resource_types.add( ResourceType.objects.get(mimetype="test/a1") ) - mommy.make( + baker.make( "rodan.Connection", output_port__workflow_job=test_no_input_workflowjob, output_port__output_port_type=opt_for_no_input, @@ -375,7 +374,7 @@ def test_graph__merging_workflow(self): input_port__input_port_type=self.test_inputporttype, ) - test_connection3 = mommy.make( + test_connection3 = baker.make( "rodan.Connection", output_port=self.test_workflowjob2.output_ports.all()[0], input_port__input_port_type=self.test_inputporttype, @@ -383,7 +382,7 @@ def test_graph__merging_workflow(self): input_port__workflow_job__job=self.test_job, ) self.test_workflowjob3 = test_connection3.input_port.workflow_job - mommy.make( + baker.make( "rodan.OutputPort", workflow_job=self.test_workflowjob3, output_port_type=self.test_outputporttype, @@ -392,7 +391,7 @@ def test_graph__merging_workflow(self): self.assertEqual(response.status_code, status.HTTP_200_OK) def test_graph__branching_workflow(self): - test_connection3 = mommy.make( + test_connection3 = baker.make( "rodan.Connection", output_port__output_port_type=self.test_outputporttype, output_port__workflow_job=self.test_workflowjob2, @@ -401,13 +400,13 @@ def test_graph__branching_workflow(self): input_port__workflow_job__job=self.test_job, ) self.test_workflowjob3 = test_connection3.input_port.workflow_job - mommy.make( + baker.make( "rodan.OutputPort", workflow_job=self.test_workflowjob3, output_port_type=self.test_outputporttype, ) - test_connection2 = mommy.make( + test_connection2 = baker.make( "rodan.Connection", output_port__output_port_type=self.test_outputporttype, output_port__workflow_job=self.test_workflowjob2, @@ -416,7 +415,7 @@ def test_graph__branching_workflow(self): input_port__workflow_job__job=self.test_job, ) self.test_second_output_workflowjob = test_connection2.input_port.workflow_job - mommy.make( + baker.make( "rodan.OutputPort", workflow_job=self.test_second_output_workflowjob, output_port_type=self.test_outputporttype, @@ -430,57 +429,57 @@ def test_graph__branching_and_merging(self): wfjob------>wfjob_2------------>wfjob_5 `----->wfjob_3----wfjob_4--^ """ - self.test_workflowjob3 = mommy.make( + self.test_workflowjob3 = baker.make( "rodan.WorkflowJob", workflow=self.test_workflow, job=self.test_job ) - self.test_workflowjob4 = mommy.make( + self.test_workflowjob4 = baker.make( "rodan.WorkflowJob", workflow=self.test_workflow, job=self.test_job ) - self.test_workflowjob5 = mommy.make( + self.test_workflowjob5 = baker.make( "rodan.WorkflowJob", workflow=self.test_workflow, job=self.test_job ) outputport1 = self.test_workflowjob.output_ports.first() outputport2 = self.test_workflowjob2.output_ports.first() - inputport3 = mommy.make( + inputport3 = baker.make( "rodan.InputPort", workflow_job=self.test_workflowjob3, input_port_type=self.test_inputporttype, ) - outputport3 = mommy.make( + outputport3 = baker.make( "rodan.OutputPort", workflow_job=self.test_workflowjob3, output_port_type=self.test_outputporttype, ) - inputport4 = mommy.make( + inputport4 = baker.make( "rodan.InputPort", workflow_job=self.test_workflowjob4, input_port_type=self.test_inputporttype, ) - outputport4 = mommy.make( + outputport4 = baker.make( "rodan.OutputPort", workflow_job=self.test_workflowjob4, output_port_type=self.test_outputporttype, ) - inputport5A = mommy.make( + inputport5A = baker.make( "rodan.InputPort", workflow_job=self.test_workflowjob5, input_port_type=self.test_inputporttype, ) - inputport5B = mommy.make( + inputport5B = baker.make( "rodan.InputPort", workflow_job=self.test_workflowjob5, input_port_type=self.test_inputporttype, ) - outputport5 = mommy.make( # noqa + outputport5 = baker.make( # noqa "rodan.OutputPort", workflow_job=self.test_workflowjob5, output_port_type=self.test_outputporttype, ) - mommy.make("rodan.Connection", output_port=outputport1, input_port=inputport3) - mommy.make("rodan.Connection", output_port=outputport3, input_port=inputport4) - mommy.make("rodan.Connection", output_port=outputport4, input_port=inputport5A) + baker.make("rodan.Connection", output_port=outputport1, input_port=inputport3) + baker.make("rodan.Connection", output_port=outputport3, input_port=inputport4) + baker.make("rodan.Connection", output_port=outputport4, input_port=inputport5A) - mommy.make("rodan.Connection", output_port=outputport2, input_port=inputport5B) + baker.make("rodan.Connection", output_port=outputport2, input_port=inputport5B) response = self._validate(self.test_workflow.uuid) self.assertEqual(response.status_code, status.HTTP_200_OK) @@ -607,7 +606,7 @@ def test_creating_and_reputting_workflowgroup_should_not_invalidate(self): def test_altering_workflowgroup_should_not_invalidate(self): # add a wfj group - self.test_workflowjobgroup = mommy.make( + self.test_workflowjobgroup = baker.make( "rodan.WorkflowJobGroup", workflow=self.test_workflow ) self.test_workflowjob.group = self.test_workflowjobgroup @@ -639,7 +638,7 @@ def test_altering_workflowgroup_should_not_invalidate(self): def test_deleting_workflowgroup_should_not_invalidate(self): # add a wfj group - self.test_workflowjobgroup = mommy.make( + self.test_workflowjobgroup = baker.make( "rodan.WorkflowJobGroup", workflow=self.test_workflow ) self.test_workflowjob.group = self.test_workflowjobgroup @@ -662,7 +661,7 @@ def test_deleting_workflowgroup_should_not_invalidate(self): def test_importing_workflow_should_not_invalidate_origin_but_invalidate_target( self ): - wf2 = mommy.make("rodan.Workflow", project=self.test_workflow.project) + wf2 = baker.make("rodan.Workflow", project=self.test_workflow.project) response = self.client.post( reverse("workflowjobgroup-list"), { diff --git a/rodan-main/code/rodan/test/views/test_workflowjob.py b/rodan-main/code/rodan/test/views/test_workflowjob.py index 8371645ae..321a85275 100644 --- a/rodan-main/code/rodan/test/views/test_workflowjob.py +++ b/rodan-main/code/rodan/test/views/test_workflowjob.py @@ -1,14 +1,14 @@ from rest_framework.test import APITestCase from rest_framework import status from rodan.test.helpers import RodanTestSetUpMixin, RodanTestTearDownMixin -from model_mommy import mommy +from model_bakery import baker class WorkflowJobViewTestCase(RodanTestTearDownMixin, APITestCase, RodanTestSetUpMixin): def setUp(self): self.setUp_rodan() self.setUp_user() - self.test_job = mommy.make( + self.test_job = baker.make( "rodan.Job", settings={ "type": "object", @@ -19,7 +19,7 @@ def setUp(self): }, }, ) - self.test_workflow = mommy.make("rodan.Workflow") + self.test_workflow = baker.make("rodan.Workflow") self.client.force_authenticate(user=self.test_superuser) def test_create_default_settings(self): diff --git a/rodan-main/code/rodan/test/views/test_workflowjobgroup.py b/rodan-main/code/rodan/test/views/test_workflowjobgroup.py index 5e468396a..29b1cbf5c 100644 --- a/rodan-main/code/rodan/test/views/test_workflowjobgroup.py +++ b/rodan-main/code/rodan/test/views/test_workflowjobgroup.py @@ -11,7 +11,7 @@ Job, ) from rodan.test.helpers import RodanTestSetUpMixin, RodanTestTearDownMixin -from model_mommy import mommy +from model_bakery import baker class WorkflowJobGroupViewTestCase( @@ -20,15 +20,15 @@ class WorkflowJobGroupViewTestCase( def setUp(self): self.setUp_rodan() self.setUp_user() - self.test_workflow1 = mommy.make("rodan.Workflow") - self.test_workflow2 = mommy.make("rodan.Workflow") - self.test_workflowjob1 = mommy.make( + self.test_workflow1 = baker.make("rodan.Workflow") + self.test_workflow2 = baker.make("rodan.Workflow") + self.test_workflowjob1 = baker.make( "rodan.WorkflowJob", workflow=self.test_workflow1 ) - self.test_workflowjob1b = mommy.make( + self.test_workflowjob1b = baker.make( "rodan.WorkflowJob", workflow=self.test_workflow1 ) - self.test_workflowjob2 = mommy.make( + self.test_workflowjob2 = baker.make( "rodan.WorkflowJob", workflow=self.test_workflow2 ) self.client.force_authenticate(user=self.test_superuser) @@ -161,8 +161,8 @@ def setUp(self): def test_import_valid_workflow(self): self.test_workflow.valid = True self.test_workflow.save() - self.test_new_workflow = mommy.make("rodan.Workflow") - mommy.make( + self.test_new_workflow = baker.make("rodan.Workflow") + baker.make( "rodan.WorkflowJob", workflow=self.test_new_workflow ) # make it non-null wfjgroup_obj = { @@ -203,8 +203,8 @@ def test_import_valid_workflow(self): def test_import_invalid_workflow(self): self.test_workflow.valid = False self.test_workflow.save() - self.test_new_workflow = mommy.make("rodan.Workflow") - mommy.make( + self.test_new_workflow = baker.make("rodan.Workflow") + baker.make( "rodan.WorkflowJob", workflow=self.test_new_workflow ) # make it non-null wfjgroup_obj = { @@ -234,7 +234,7 @@ def test_export_workflowjobgroup(self): assert response.status_code == status.HTTP_201_CREATED, "This should pass" wfjgroup_uuid = response.data["uuid"] - project = mommy.make("rodan.Project") + project = baker.make("rodan.Project") wf_obj = { "workflow_job_group": "http://localhost:8000/api/workflowjobgroup/{0}/".format( wfjgroup_uuid @@ -330,7 +330,7 @@ def test_cannot_change_workflowjob_job__name__workflow_in_group(self): "job": "http://localhost:8000/api/job/{0}/".format(job_a.pk), "name": "new name", "workflow": "http://localhost:8000/api/workflow/{0}/".format( - mommy.make("rodan.Workflow").pk + baker.make("rodan.Workflow").pk ), } for k, v in wfj_updates.items(): diff --git a/rodan-main/code/rodan/urls.py b/rodan-main/code/rodan/urls.py index 37c76cabb..b2d6e5173 100644 --- a/rodan-main/code/rodan/urls.py +++ b/rodan-main/code/rodan/urls.py @@ -1,6 +1,7 @@ import os -from django.conf.urls import include, url, static +from django.urls import include, re_path +from django.conf.urls.static import static from django.conf import settings from django.contrib import admin from decorator_include import decorator_include @@ -59,7 +60,7 @@ # [INFO] - Notice that the Admin URL is specified in the settings.py file, # as an environment variable. urlpatterns = [ - url( + re_path( settings.ADMIN_URL, decorator_include( logged_in_or_basicauth("Rodan admin"), admin.site.urls @@ -68,244 +69,244 @@ ] api_patterns = [ - url(r"^$", EmptyView.as_view()), - url(r"^api/$", APIRoot.as_view()), - url( + re_path(r"^$", EmptyView.as_view()), + re_path(r"^api/$", APIRoot.as_view()), + re_path( r"^api/taskqueue/active/$", TaskQueueActiveView.as_view(), name="taskqueue-active", ), - # url(r'^taskqueue/config/$', TaskQueueConfigView.as_view(), name="taskqueue-config"), - url( + # re_path(r'^taskqueue/config/$', TaskQueueConfigView.as_view(), name="taskqueue-config"), + re_path( r"^api/taskqueue/scheduled/$", TaskQueueScheduledView.as_view(), name="taskqueue-scheduled", ), - url( + re_path( r"^api/taskqueue/status/$", TaskQueueStatusView.as_view(), name="taskqueue-status", ), - url(r"^api/projects/$", ProjectList.as_view(), name="project-list"), - url( + re_path(r"^api/projects/$", ProjectList.as_view(), name="project-list"), + re_path( r"^api/project/(?P[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12})/$", ProjectDetail.as_view(), name="project-detail", ), - url( + re_path( r"^api/project/(?P[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12})/admins/$", # noqa ProjectDetailAdmins.as_view(), name="project-detail-admins", ), - url( + re_path( r"^api/project/(?P[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12})/workers/$", # noqa ProjectDetailWorkers.as_view(), name="project-detail-workers", ), - url(r"^api/workflows/$", WorkflowList.as_view(), name="workflow-list"), - url( + re_path(r"^api/workflows/$", WorkflowList.as_view(), name="workflow-list"), + re_path( r"^api/workflow/(?P[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12})/$", WorkflowDetail.as_view(), name="workflow-detail", ), - url( + re_path( r"^api/workflow/(?P[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12})/resourceassignments/$", WorkflowResourceAssignments.as_view(), name="workflow-detail-resourceassignments", ), - url(r"^api/workflowjobs/$", WorkflowJobList.as_view(), name="workflowjob-list"), - url( + re_path(r"^api/workflowjobs/$", WorkflowJobList.as_view(), name="workflowjob-list"), + re_path( r"^api/workflowjob/(?P[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12})/$", WorkflowJobDetail.as_view(), name="workflowjob-detail", ), - url( + re_path( r"^api/workflowjobgroups/$", WorkflowJobGroupList.as_view(), name="workflowjobgroup-list", ), - url( + re_path( r"^api/workflowjobgroup/(?P[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12})/$", # noqa WorkflowJobGroupDetail.as_view(), name="workflowjobgroup-detail", ), - url(r"^api/jobs/$", JobList.as_view(), name="job-list"), - url( + re_path(r"^api/jobs/$", JobList.as_view(), name="job-list"), + re_path( r"^api/job/(?P[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12})/$", JobDetail.as_view(), name="job-detail", ), - url(r"^api/users/$", UserList.as_view(), name="user-list"), - url(r"^api/user/(?P[0-9\-]+)/$", UserDetail.as_view(), name="user-detail"), - url( + re_path(r"^api/users/$", UserList.as_view(), name="user-list"), + re_path(r"^api/user/(?P[0-9\-]+)/$", UserDetail.as_view(), name="user-detail"), + re_path( r"^api/userpreferences/$", UserPreferenceList.as_view(), name="userpreference-list", ), - url( + re_path( r"^api/userpreference/(?P[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12})/$", # noqa UserPreferenceDetail.as_view(), name="userpreference-detail", ), - url(r"^api/workflowruns/$", WorkflowRunList.as_view(), name="workflowrun-list"), - url( + re_path(r"^api/workflowruns/$", WorkflowRunList.as_view(), name="workflowrun-list"), + re_path( r"^api/workflowrun/(?P[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12})/$", WorkflowRunDetail.as_view(), name="workflowrun-detail", ), - url(r"^api/runjobs/$", RunJobList.as_view(), name="runjob-list"), - url( + re_path(r"^api/runjobs/$", RunJobList.as_view(), name="runjob-list"), + re_path( r"^api/runjob/(?P[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12})/$", RunJobDetail.as_view(), name="runjob-detail", ), - url( + re_path( r"^api/resultspackages/$", ResultsPackageList.as_view(), name="resultspackage-list", ), - url( + re_path( r"^api/resultspackage/(?P[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12})/$", # noqa ResultsPackageDetail.as_view(), name="resultspackage-detail", ), - url(r"^api/connections/$", ConnectionList.as_view(), name="connection-list"), - url( + re_path(r"^api/connections/$", ConnectionList.as_view(), name="connection-list"), + re_path( r"^api/connection/(?P[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12})/$", ConnectionDetail.as_view(), name="connection-detail", ), - url( + re_path( r"^api/outputporttypes/$", OutputPortTypeList.as_view(), name="outputporttype-list", ), - url( + re_path( r"^api/outputporttype/(?P[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12})/$", # noqa OutputPortTypeDetail.as_view(), name="outputporttype-detail", ), - url(r"^api/outputports/$", OutputPortList.as_view(), name="outputport-list"), - url( + re_path(r"^api/outputports/$", OutputPortList.as_view(), name="outputport-list"), + re_path( r"^api/outputport/(?P[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12})/$", OutputPortDetail.as_view(), name="outputport-detail", ), - url( + re_path( r"^api/inputporttypes/$", InputPortTypeList.as_view(), name="inputporttype-list" ), - url( + re_path( r"^api/inputporttype/(?P[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12})/$", # noqa InputPortTypeDetail.as_view(), name="inputporttype-detail", ), - url(r"^api/inputports/$", InputPortList.as_view(), name="inputport-list"), - url( + re_path(r"^api/inputports/$", InputPortList.as_view(), name="inputport-list"), + re_path( r"^api/inputport/(?P[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12})/$", InputPortDetail.as_view(), name="inputport-detail", ), - url(r"^api/resources/$", ResourceList.as_view(), name="resource-list"), - url( + re_path(r"^api/resources/$", ResourceList.as_view(), name="resource-list"), + re_path( r"^api/resources/archive/$", ResourceArchive.as_view(), name="resource-archive" ), - url( + re_path( r"^api/resource/(?P[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12})/$", ResourceDetail.as_view(), name="resource-detail", ), - url( + re_path( r"^api/resource/(?P[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12})/(?P[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12})/$", # noqa ResourceViewer.as_view(), name="resource-viewer", ), - url( + re_path( r"^api/resource/(?P[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12})/acquire/$", # noqa ResourceAcquireView.as_view(), name="resource-viewer-acquire", ), - url(r"^api/labels/$", ResourceLabelList.as_view(), name="resourcelabel-list"), - url( + re_path(r"^api/labels/$", ResourceLabelList.as_view(), name="resourcelabel-list"), + re_path( r"^api/label/(?P[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12})/$", ResourceLabelDetail.as_view(), name="resourcelabel-detail", ), - url(r"^api/resourcelists/$", ResourceListList.as_view(), name="resourcelist-list"), - url( + re_path(r"^api/resourcelists/$", ResourceListList.as_view(), name="resourcelist-list"), + re_path( r"^api/resourcelist/(?P[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12})/$", ResourceListDetail.as_view(), name="resourcelist-detail", ), - url(r"^api/resourcetypes/$", ResourceTypeList.as_view(), name="resourcetype-list"), - url( + re_path(r"^api/resourcetypes/$", ResourceTypeList.as_view(), name="resourcetype-list"), + re_path( r"^api/resourcetype/(?P[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12})/$", ResourceTypeDetail.as_view(), name="resourcetype-detail", ), - url(r"^api/outputs/$", OutputList.as_view(), name="output-list"), - url( + re_path(r"^api/outputs/$", OutputList.as_view(), name="output-list"), + re_path( r"^api/output/(?P[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12})/$", OutputDetail.as_view(), name="output-detail", ), - url(r"^api/inputs/$", InputList.as_view(), name="input-list"), - url( + re_path(r"^api/inputs/$", InputList.as_view(), name="input-list"), + re_path( r"^api/input/(?P[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12})/$", InputDetail.as_view(), name="input-detail", ), - url( + re_path( r"^api/interactive/(?P[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12})/acquire/$", # noqa InteractiveAcquireView.as_view(), name="interactive-acquire", ), - url( + re_path( r"^api/interactive/(?P[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12})/(?P[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12})/(?P.*)$", # noqa InteractiveWorkingView.as_view(), name="interactive-working", ), - url(r"^api/auth/me/", AuthMeView.as_view(), name="auth-me"), - url( + re_path(r"^api/auth/me/", AuthMeView.as_view(), name="auth-me"), + re_path( r"^api/auth/register/", djoser_views.UserViewSet.as_view({'post': 'create'}), #DEPRECATED name="auth-register", ), - url( + re_path( r"^api/auth/activate/$", djoser_views.UserViewSet.as_view({'post': 'activation'}), name="auth-activate", ), - url( + re_path( r"^api/auth/resend-activation/$", djoser_views.UserViewSet.as_view({'post': 'resend_activation'}), name="auth-resend-activation" ), - url(r"^api/auth/token/", AuthTokenView.as_view(), name="auth-token"), - url( + re_path(r"^api/auth/token/", AuthTokenView.as_view(), name="auth-token"), + re_path( r"^api/auth/reset-token/", djoser_views.TokenDestroyView.as_view(), name="auth-reset-token", ), - url( + re_path( r"^api/auth/change-password/", djoser_views.UserViewSet.as_view({'post': 'set_password'}), name="auth-change-password", ), - url( + re_path( r"^api/auth/reset-password/$", djoser_views.UserViewSet.as_view({'post': 'reset_password'}), name="auth-reset-password", ), - url( + re_path( r"^api/auth/reset-password/confirm/$", djoser_views.UserViewSet.as_view({'post': 'reset_password_confirm'}), name="auth-reset-password-confirm", ), - url(r"^api/ht/", include("health_check.urls")), + re_path(r"^api/ht/", include("health_check.urls")), ] urlpatterns += format_suffix_patterns(api_patterns, allowed=["json", "html"]) # For serving stuff in debug mode only if settings.DEBUG: - urlpatterns += static.static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) + urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) diff --git a/rodan-main/code/rodan/views/interactive.py b/rodan-main/code/rodan/views/interactive.py index 726a11f64..c2b550585 100644 --- a/rodan-main/code/rodan/views/interactive.py +++ b/rodan-main/code/rodan/views/interactive.py @@ -9,7 +9,7 @@ import time import uuid -from celery import registry +from celery import current_app as registry from django.shortcuts import get_object_or_404 from django.template import RequestContext from django.http import HttpResponse, Http404 diff --git a/rodan-main/code/rodan/views/project.py b/rodan-main/code/rodan/views/project.py index 2e01c89d5..591f8087d 100644 --- a/rodan-main/code/rodan/views/project.py +++ b/rodan-main/code/rodan/views/project.py @@ -6,7 +6,7 @@ from rodan.permissions import CustomObjectPermissions from django.conf import settings from django.db.models import Q -from celery import registry +from celery import current_app as registry class ProjectList(generics.ListCreateAPIView): diff --git a/rodan-main/code/rodan/views/resource.py b/rodan-main/code/rodan/views/resource.py index affb8ba63..daa628da6 100644 --- a/rodan-main/code/rodan/views/resource.py +++ b/rodan-main/code/rodan/views/resource.py @@ -3,10 +3,10 @@ import os import re # import urlparse -import six.moves.urllib.parse +import urllib.parse import base64, io -from celery import registry +from celery import current_app as registry from django.conf import settings from django.urls import ( reverse, @@ -166,7 +166,7 @@ def post(self, request, *args, **kwargs): try: # try to see if user provide a url to ResourceType # convert to relative url - path = six.moves.urllib.parse.urlparse(claimed_mimetype).path + path = urllib.parse.urlparse(claimed_mimetype).path match = resolve(path) # find a url route restype_pk = match.kwargs.get('pk') # extract pk restype_obj = ResourceType.objects.get(pk=restype_pk) # find object @@ -238,7 +238,7 @@ def patch(self, request, *args, **kwargs): try: # try to see if user provide a url to ResourceType # convert to relative url - path = six.moves.urllib.parse.urlparse(resource_type).path + path = urllib.parse.urlparse(resource_type).path match = resolve(path) # find a url route restype_pk = match.kwargs.get('pk') # extract pk restype_obj = ResourceType.objects.get(pk=restype_pk) # find object diff --git a/rodan-main/code/rodan/views/resultspackage.py b/rodan-main/code/rodan/views/resultspackage.py index 20eb8c758..b89438cd4 100644 --- a/rodan-main/code/rodan/views/resultspackage.py +++ b/rodan-main/code/rodan/views/resultspackage.py @@ -4,8 +4,7 @@ from rest_framework import status from rest_framework.exceptions import ValidationError from rest_framework.response import Response -from celery import registry -from celery.task.control import revoke +from celery import current_app as registry from django.conf import settings from django.utils import timezone import django_filters @@ -111,7 +110,7 @@ def patch(self, request, *args, **kwargs): if (old_status in (task_status.SCHEDULED, task_status.PROCESSING) and new_status == task_status.CANCELLED): - revoke(rp.celery_task_id, terminate=True) + registry.control.revoke(rp.celery_task_id, terminate=True) serializer = self.get_serializer( rp, data={"status": task_status.CANCELLED}, partial=True ) @@ -135,7 +134,7 @@ def perform_destroy(self, instance): status=status.HTTP_400_BAD_REQUEST, ) if instance.celery_task_id: - revoke( + registry.control.revoke( instance.celery_task_id, terminate=True ) # revoke scheduled expiry task instance.delete() diff --git a/rodan-main/code/rodan/views/userpreference.py b/rodan-main/code/rodan/views/userpreference.py index 1293ee847..e6a4c71d3 100644 --- a/rodan-main/code/rodan/views/userpreference.py +++ b/rodan-main/code/rodan/views/userpreference.py @@ -14,7 +14,7 @@ from rest_framework.response import Response from rest_framework import status -import six.moves.urllib.parse +import urllib.parse class UserPreferenceList(generics.ListCreateAPIView): @@ -36,7 +36,7 @@ def post(self, request, *args, **kwargs): user_url = request.data.get("user", None) if user_url: try: - path = six.moves.urllib.parse.urlparse(user_url).path + path = urllib.parse.urlparse(user_url).path match = resolve(path) user_pk = match.kwargs.get("pk") except (Resolver404, User.DoesNotExist): diff --git a/rodan-main/code/rodan/views/workflow.py b/rodan-main/code/rodan/views/workflow.py index 4b34bcee8..1c1d018e2 100644 --- a/rodan-main/code/rodan/views/workflow.py +++ b/rodan-main/code/rodan/views/workflow.py @@ -8,7 +8,7 @@ from rest_framework.exceptions import ValidationError, NotFound from rest_framework.reverse import reverse -from six.moves.urllib.parse import urlparse +from urllib.parse import urlparse from rodan.models import Workflow, InputPort, OutputPort, Job, Resource from rodan.serializers.workflow import WorkflowSerializer, WorkflowListSerializer, version_map diff --git a/rodan-main/code/rodan/views/workflowrun.py b/rodan-main/code/rodan/views/workflowrun.py index a1fe64f93..d785e7b3d 100644 --- a/rodan-main/code/rodan/views/workflowrun.py +++ b/rodan-main/code/rodan/views/workflowrun.py @@ -4,7 +4,7 @@ # import shutil from celery import ( - registry, + current_app as registry, # chain ) # from celery.task.control import revoke diff --git a/rodan-main/code/rodan/wsgi_websocket.py b/rodan-main/code/rodan/wsgi_websocket.py deleted file mode 100644 index decf0dcfa..000000000 --- a/rodan-main/code/rodan/wsgi_websocket.py +++ /dev/null @@ -1,9 +0,0 @@ -import os - -import gevent.socket -import redis.connection -from ws4redis.uwsgi_runserver import uWSGIWebsocketServer - -redis.connection.socket = gevent.socket -os.environ.update(DJANGO_SETTINGS_MODULE="rodan.settings") -application = uWSGIWebsocketServer() From d59d2b0280cf3b46d74fb69069a7023d6e042ea2 Mon Sep 17 00:00:00 2001 From: amirsadraabdollahi Date: Wed, 8 Jul 2026 19:07:34 -0400 Subject: [PATCH 02/18] Feat: postgres update --- .github/workflows/build-and-deploy.yml | 2 +- k8s/12-pv-pgdata.yaml | 7 +- k8s/20-postgres.yaml | 6 +- k8s/POSTGRES_UPGRADE.md | 80 +++++++++++++++++ postgres/Dockerfile | 14 +-- python3-celery/Dockerfile | 12 ++- ...on_options_alter_input_options_and_more.py | 86 +++++++++++++++++++ 7 files changed, 187 insertions(+), 20 deletions(-) create mode 100644 k8s/POSTGRES_UPGRADE.md create mode 100644 rodan-main/code/rodan/migrations/0006_alter_connection_options_alter_input_options_and_more.py diff --git a/.github/workflows/build-and-deploy.yml b/.github/workflows/build-and-deploy.yml index 81acf2424..c64dab93a 100644 --- a/.github/workflows/build-and-deploy.yml +++ b/.github/workflows/build-and-deploy.yml @@ -14,7 +14,7 @@ name: Build, push, and deploy images on: push: - branches: [develop] + branches: [develop, modernize-backend-py311] tags: ['v*'] workflow_dispatch: inputs: diff --git a/k8s/12-pv-pgdata.yaml b/k8s/12-pv-pgdata.yaml index 567bd81c5..baccabd07 100644 --- a/k8s/12-pv-pgdata.yaml +++ b/k8s/12-pv-pgdata.yaml @@ -1,5 +1,6 @@ -# Postgres PGDATA (~4.1 GB), PG 9.6, owned by uid 999. Mounted only by the postgres pod. -# 'hard' mount (DBs must not see truncated/soft-failed I/O). NFS export needs no_root_squash. +# Postgres 16 PGDATA (dump/restored from the old 9.6 clone — Django 4.2 needs PG>=12), owned by +# uid 999. Mounted only by the postgres pod. 'hard' mount (DBs must not see truncated/soft-failed +# I/O). NFS export needs no_root_squash. See the PG9.6->16 runbook before first apply. apiVersion: v1 kind: PersistentVolume metadata: @@ -18,7 +19,7 @@ spec: - hard nfs: server: 192.168.236.124 - path: /srv/rodan-data/var/lib/docker/volumes/rodan_pg_data/_data + path: /srv/rodan-data/pg16_data claimRef: namespace: rodan name: rodan-pg-data \ No newline at end of file diff --git a/k8s/20-postgres.yaml b/k8s/20-postgres.yaml index 5c9ce5344..c7a66ecca 100644 --- a/k8s/20-postgres.yaml +++ b/k8s/20-postgres.yaml @@ -1,6 +1,6 @@ -# Postgres 9.6 + plpython3 (existing image). Single instance, PGDATA on the static NFS PVC. -# The existing PGDATA is already initialized, so the entrypoint skips initdb and the -# POSTGRES_USER/PASSWORD/DB env are effectively no-ops on an existing cluster (kept for first-init). +# Postgres 16 + plpython3. Single instance, PGDATA on the static NFS PVC (pg16_data, restored +# from the old 9.6 dump). The PGDATA is already initialized, so the entrypoint skips initdb and +# the POSTGRES_USER/PASSWORD/DB env are effectively no-ops (kept for first-init). apiVersion: apps/v1 kind: StatefulSet metadata: diff --git a/k8s/POSTGRES_UPGRADE.md b/k8s/POSTGRES_UPGRADE.md new file mode 100644 index 000000000..eed6bdd37 --- /dev/null +++ b/k8s/POSTGRES_UPGRADE.md @@ -0,0 +1,80 @@ +# PostgreSQL 9.6 → 16 upgrade runbook + +Django 4.2 dropped support for PostgreSQL < 12, so the modernized stack requires Postgres 16. +The image is already on 16 (`postgres/Dockerfile` → `postgres:16-bookworm` + `postgresql-plpython3-16` ++ `python3-redis`). Because 9.6 and 16 on-disk formats are incompatible, PG16 can't start on the +9.6 data files — the data must be **logically dumped from 9.6 and restored into 16**. + +This is a **one-time cutover**, run on the NFS/data server **192.168.236.124** (has Docker; the +`dd`-cloned 9.6 cluster lives there). It produces a new `pg16_data` dir alongside the 9.6 clone, +which is kept untouched as rollback. DB `rodan`, role `someadmin`, ~4.1 GB. + +> The k8s manifests already target the new datadir: `12-pv-pgdata.yaml` `nfs.path` = `/srv/rodan-data/pg16_data`. +> Do **not** `kubectl apply` the postgres PV/StatefulSet until steps 1–4 below are done. + +## 1. Quiesce (never run two servers on one datadir) +```sh +kubectl -n rodan scale statefulset/postgres --replicas=0 +kubectl -n rodan scale deploy/rodan-main deploy/celery deploy/py3-celery deploy/gpu-celery --replicas=0 +kubectl -n rodan get pods # confirm no postgres pod +``` + +## 2. Dump the 9.6 DB (from a copy, keeping the clone pristine) +```sh +cp -a /srv/rodan-data/var/lib/docker/volumes/rodan_pg_data/_data /srv/rodan-data/pg96_src +docker run -d --name pg96 -v /srv/rodan-data/pg96_src:/var/lib/postgresql/data ddmal/postgres-plpython:v3.3.1 +until docker exec pg96 pg_isready -U someadmin -q; do sleep 1; done +docker exec pg96 pg_dump -U someadmin -d rodan --no-owner --no-privileges -Fc -f /tmp/rodan.dump +docker cp pg96:/tmp/rodan.dump /srv/rodan-data/rodan.dump +docker rm -f pg96 +``` + +## 3. Init PG16 on a new datadir and restore +```sh +mkdir -p /srv/rodan-data/pg16_data +docker run -d --name pg16 \ + -e POSTGRES_USER=someadmin -e POSTGRES_PASSWORD=123456Seven -e POSTGRES_DB=rodan \ + -v /srv/rodan-data/pg16_data:/var/lib/postgresql/data ddmal/postgres-plpython:py311test +until docker exec pg16 pg_isready -U someadmin -q; do sleep 1; done +docker cp /srv/rodan-data/rodan.dump pg16:/tmp/rodan.dump +docker exec pg16 pg_restore -U someadmin -d rodan --no-owner --no-privileges /tmp/rodan.dump +docker exec pg16 psql -U someadmin -d rodan -c "SELECT count(*) FROM auth_user;" # expect 129 +docker rm -f pg16 +``` +- The dump's `publish_message` (plpython3u) + `object_notify` triggers restore fine on PG16 (it has + `plpython3-16` + `python3-redis`). If any plpython object errors, ignore it — `rodan/models/__init__.py` + re-creates the function/triggers at app startup. + +## 4. Export the new datadir + recreate the k8s PV/PVC +On 192.168.236.124 `/etc/exports` (then `sudo exportfs -ra`): +``` +/srv/rodan-data/pg16_data 192.168.236.0/24(rw,sync,no_subtree_check,no_root_squash) +``` +The NFS source on a PV is immutable, so recreate (Retain policy leaves both data dirs intact): +```sh +kubectl -n rodan delete pvc rodan-pg-data ; kubectl delete pv rodan-pg-data-pv +kubectl apply -f k8s/12-pv-pgdata.yaml -f k8s/13-pvc-pgdata.yaml +``` + +## 5. Deploy PG16 image + bring the stack back +Ensure `20-postgres.yaml`'s image is the CI-published PG16 tag (`ghcr.io/ddmal/postgres-plpython:`). +```sh +kubectl apply -f k8s/20-postgres.yaml +kubectl -n rodan scale statefulset/postgres --replicas=1 +kubectl -n rodan rollout status statefulset/postgres +kubectl -n rodan scale deploy/rodan-main deploy/celery deploy/py3-celery --replicas=1 +``` +`scripts/start` runs `manage.py migrate` → applies **0006** (widens `User.first_name`; the `view_` rows +already exist so `create_permissions` is a no-op) and re-establishes the plpython trigger. + +## Verify +```sh +kubectl -n rodan exec statefulset/postgres -- psql -U someadmin -d rodan -c "SHOW server_version;" # 16.x +kubectl -n rodan exec statefulset/postgres -- psql -U someadmin -d rodan -c "SELECT count(*) FROM auth_user;" # 129 +kubectl -n rodan exec deploy/rodan-main -- curl -s -o /dev/null -w '%{http_code}\n' -H 'User-Agent: k8s' localhost:8000/api/?format=json # 200 +``` + +## Rollback +The original 9.6 datadir (`.../rodan_pg_data/_data`) is never modified (dump ran from `pg96_src`; the PV +is `Retain`). Reverting means re-pointing the PV to it **and** reverting the `modernize-backend-py311` +branch (the Django-4.2 app cannot run on 9.6). diff --git a/postgres/Dockerfile b/postgres/Dockerfile index 5a1040261..9457ffe62 100644 --- a/postgres/Dockerfile +++ b/postgres/Dockerfile @@ -1,10 +1,14 @@ -# FROM postgres:latest -FROM postgres:9.6-bullseye +# PostgreSQL 16 — Django 4.2 requires PostgreSQL >= 12 (9.6 is no longer supported). +# The 9.6 -> 16 upgrade means the existing PGDATA must be dump/restored (pg_dump | pg_restore), +# not started in place. +FROM postgres:16-bookworm EXPOSE 5432 +# postgresql-plpython3-16 provides the plpython3u language used by the publish_message trigger; +# python3-redis gives that trigger's `import redis` (bookworm is PEP-668 externally-managed, so +# use the Debian package rather than pip). RUN apt-get update \ - # && apt-get install -y postgresql-plpython-${PG_MAJOR} python-pip \ - && apt-get install -y postgresql-plpython3-9.6 python3-pip \ + && apt-get install -y postgresql-plpython3-16 python3-redis \ && rm -rf /var/lib/apt/lists/* # Installing the postgresql-plpython overrides the postgresql.conf.sample file generated by the postgres Dockerfile, @@ -14,8 +18,6 @@ RUN apt-get update \ RUN rm /usr/share/postgresql/${PG_MAJOR}/postgresql.conf.sample \ && ln -sv /usr/share/postgresql/postgresql.conf.sample /usr/share/postgresql/$PG_MAJOR/ -RUN pip3 install redis - COPY ./postgres/maintenance /usr/local/bin/maintenance RUN chmod +x /usr/local/bin/maintenance/* RUN mv /usr/local/bin/maintenance/* /usr/local/bin \ diff --git a/python3-celery/Dockerfile b/python3-celery/Dockerfile index d87222fa9..6b2d9881e 100644 --- a/python3-celery/Dockerfile +++ b/python3-celery/Dockerfile @@ -28,8 +28,8 @@ RUN yarn build # Make Gamera files accessible to the main container. FROM ddmal/gamera4:py311 AS gamera -# This release is based on Debian 11 "Bullseye" -FROM python:3.7-slim +# Debian 12 "Bookworm" with Python 3.11. +FROM python:3.11-slim # Copy various scripts and make them executable. COPY ./scripts/start-celery /run/ @@ -62,8 +62,9 @@ RUN apt-get install -y \ wget \ vim -# https://stackoverflow.com/questions/69100275/error-while-downloading-the-requirements-using-pip-install-setup-command-use-2 -RUN pip3 install setuptools==58 +# setuptools <80 still supports the legacy `setup.py install` that Gamera/Musicstaves use; +# py3.11 keeps stdlib distutils, which Gamera's setup.py imports directly. +RUN pip3 install "setuptools<80" wheel RUN pip3 install -r /code/Rodan/requirements.txt # Install Gamera and Musicstaves. @@ -72,9 +73,6 @@ RUN python3 setup.py --nowx install WORKDIR /gamera4-rodan/musicstaves RUN python3 setup.py install -# Temporary fix for OpenCV until https://github.com/DDMAL/Rodan/issues/639 is resolved. -RUN pip install opencv-python==4.6.0.66 - # Change the concurency for python3 jobs RUN sed -i "s/concurrency=10/concurrency=3/g" /run/start-celery diff --git a/rodan-main/code/rodan/migrations/0006_alter_connection_options_alter_input_options_and_more.py b/rodan-main/code/rodan/migrations/0006_alter_connection_options_alter_input_options_and_more.py new file mode 100644 index 000000000..4f9f90b89 --- /dev/null +++ b/rodan-main/code/rodan/migrations/0006_alter_connection_options_alter_input_options_and_more.py @@ -0,0 +1,86 @@ +# Generated by Django 4.2.16 on 2026-07-08 22:26 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('rodan', '0005_auto_20230711_1052'), + ] + + operations = [ + migrations.AlterModelOptions( + name='connection', + options={}, + ), + migrations.AlterModelOptions( + name='input', + options={}, + ), + migrations.AlterModelOptions( + name='inputport', + options={'ordering': ['created']}, + ), + migrations.AlterModelOptions( + name='output', + options={}, + ), + migrations.AlterModelOptions( + name='outputport', + options={'ordering': ['created']}, + ), + migrations.AlterModelOptions( + name='project', + options={}, + ), + migrations.AlterModelOptions( + name='resource', + options={}, + ), + migrations.AlterModelOptions( + name='resourcelist', + options={}, + ), + migrations.AlterModelOptions( + name='resultspackage', + options={}, + ), + migrations.AlterModelOptions( + name='runjob', + options={}, + ), + migrations.AlterModelOptions( + name='tempauthtoken', + options={}, + ), + migrations.AlterModelOptions( + name='user', + options={}, + ), + migrations.AlterModelOptions( + name='userpreference', + options={}, + ), + migrations.AlterModelOptions( + name='workflow', + options={}, + ), + migrations.AlterModelOptions( + name='workflowjob', + options={}, + ), + migrations.AlterModelOptions( + name='workflowjobgroup', + options={}, + ), + migrations.AlterModelOptions( + name='workflowrun', + options={}, + ), + migrations.AlterField( + model_name='user', + name='first_name', + field=models.CharField(blank=True, max_length=150, verbose_name='first name'), + ), + ] From 593e22ba5ee8334c3d87fd26fa9ae18130685ff8 Mon Sep 17 00:00:00 2001 From: amirsadraabdollahi Date: Wed, 8 Jul 2026 20:16:50 -0400 Subject: [PATCH 03/18] Feat: Phase3 TF 2.15 / CUDA 12 / py3.11 GPU jobs --- ci-jobs/Dockerfile | 19 +- gpu-celery/Dockerfile | 216 +++++------------------ nginx/config/rodan.conf | 17 +- rodan-main/code/requirements.txt | 5 +- rodan-main/code/rodan/models/__init__.py | 10 +- rodan-main/code/rodan/registerJobs.yaml | 9 +- scripts/install_gpu_rodan_jobs | 51 +++--- scripts/start | 8 +- scripts/start-celery | 4 +- 9 files changed, 114 insertions(+), 225 deletions(-) diff --git a/ci-jobs/Dockerfile b/ci-jobs/Dockerfile index a7fb29f88..c1932427f 100644 --- a/ci-jobs/Dockerfile +++ b/ci-jobs/Dockerfile @@ -31,8 +31,9 @@ RUN yarn build # Make Gamera files accessible to the main container. FROM ddmal/gamera4:py311 AS gamera -# This release is based on Debian 11 "Bullseye" -FROM python:3.7-slim +# Debian 12 "Bookworm" with Python 3.11 (matches python3-celery; Django 4.2 needs py>=3.8 +# and the py3.11-ported Gamera source uses the 3.9+ C-API). +FROM python:3.11-slim # Copy various scripts and make them executable. # COPY ./scripts/start-celery /run/ @@ -65,8 +66,9 @@ RUN apt-get install -y \ wget \ vim -# https://stackoverflow.com/questions/69100275/error-while-downloading-the-requirements-using-pip-install-setup-command-use-2 -RUN pip3 install setuptools==58 +# setuptools <80 still supports the legacy `setup.py install` that Gamera/Musicstaves use; +# py3.11 keeps stdlib distutils, which Gamera's setup.py imports directly. +RUN pip3 install "setuptools<80" wheel RUN pip3 install -r /code/Rodan/requirements.txt # Install Gamera and Musicstaves. @@ -75,9 +77,6 @@ RUN python3 setup.py --nowx install WORKDIR /gamera4-rodan/musicstaves RUN python3 setup.py install -# Temporary fix for OpenCV until https://github.com/DDMAL/Rodan/issues/639 is resolved. -RUN pip install opencv-python==4.6.0.66 - # ============================ # from ./rodan-main/Dockerfile # ============================ @@ -108,13 +107,9 @@ RUN apt-get install -y \ wget \ vim -# https://stackoverflow.com/questions/69100275/error-while-downloading-the-requirements-using-pip-install-setup-command-use-2 -RUN pip3 install setuptools==58 +RUN pip3 install "setuptools<80" wheel RUN pip3 install -r /code/Rodan/requirements.txt -# Temporary fix for OpenCV until https://github.com/DDMAL/Rodan/issues/639 is resolved. -RUN pip install opencv-python==4.6.0.66 - # From rodan-main RUN set -x \ && mkdir /vendor || echo "Already exists" \ diff --git a/gpu-celery/Dockerfile b/gpu-celery/Dockerfile index fd44c14f2..a5aaf2ed3 100644 --- a/gpu-celery/Dockerfile +++ b/gpu-celery/Dockerfile @@ -1,189 +1,67 @@ -# Copyright 2019 The TensorFlow Authors. All Rights Reserved. +# GPU celery worker — TensorFlow 2.15 on CUDA 12 for Hopper (sm_90). # -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at +# The CUDA 12 runtime libraries are pulled as pip wheels via `tensorflow[and-cuda]`, so the +# image bakes in NO CUDA toolkit and only needs the host NVIDIA driver (supplied by the k8s +# `nvidia` RuntimeClass — see k8s/33-gpu-celery.yaml). This replaces the old hand-assembled +# nvidia/cuda:11.2 + TF 2.5.1 + py3.7 base, which cannot run on Hopper. # -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# ============================================================================ -# -# THIS IS A GENERATED DOCKERFILE. -# -# This file was assembled from multiple pieces, whose use is documented -# throughout. Please refer to the TensorFlow dockerfiles documentation -# for more information. +# This worker serves only the BASE + GPU job queues (CELERY_JOB_QUEUE=GPU), so it needs no +# Gamera. GPU jobs: Paco_classifier, background_removal, SAE_binarization (TF 2.15) and +# staff_distance (skimage/cv2). text_alignment is deferred (see scripts/install_gpu_rodan_jobs). +FROM python:3.11-slim -ARG UBUNTU_VERSION=18.04 -ARG CUDA=11.2 -FROM nvidia/cuda${ARCH:+-$ARCH}:${CUDA}.2-base-ubuntu${UBUNTU_VERSION} as base -# ARCH and CUDA are specified again because the FROM directive resets ARGs -# (but their default value is retained if set previously) -ARG ARCH -ARG CUDA -ARG CUDNN=8.1.0.77-1 -ARG CUDNN_MAJOR_VERSION=8 -ARG LIB_DIR_PREFIX=x86_64 -ARG LIBNVINFER=7.2.2-1 -ARG LIBNVINFER_MAJOR_VERSION=7 - -# The following two arguments are rodan-specific ARG BRANCHES ARG VERSION -# Needed for string substitution -SHELL ["/bin/bash", "-c"] -# Pick up some TF dependencies -#RUN apt-get update - -#RUN rm -rf /etc/apt/sources.list.d/cuda.list - -RUN apt-get update && apt-get install -y --no-install-recommends \ - build-essential \ - cuda-command-line-tools-${CUDA/./-} \ - libcublas-${CUDA/./-} \ - cuda-nvrtc-${CUDA/./-} \ - libcufft-${CUDA/./-} \ - libcurand-${CUDA/./-} \ - libcusolver-${CUDA/./-} \ - libcusparse-${CUDA/./-} \ - curl \ - libcudnn8=${CUDNN}+cuda${CUDA} \ - libfreetype6-dev \ - libhdf5-serial-dev \ - libzmq3-dev \ - pkg-config \ - software-properties-common \ - unzip \ - wget -# added wget - -# Install TensorRT if not building for PowerPC -# NOTE: libnvinfer uses cuda11.1 versions -# RUN [[ "${ARCH}" = "ppc64le" ]] || { apt-get update && \ -# apt-get install -y --no-install-recommends libnvinfer${LIBNVINFER_MAJOR_VERSION}=${LIBNVINFER}+cuda11.1 \ -# libnvinfer-plugin${LIBNVINFER_MAJOR_VERSION}=${LIBNVINFER}+cuda11.1 \ -# && apt-get clean \ -# && rm -rf /var/lib/apt/lists/*; } - -# For CUDA profiling, TensorFlow requires CUPTI. -ENV LD_LIBRARY_PATH /usr/local/cuda/extras/CUPTI/lib64:/usr/local/cuda/lib64:/usr/local/cuda-11.1/lib64:$LD_LIBRARY_PATH - -# Link the libcuda stub to the location where tensorflow is searching for it and reconfigure -# dynamic linker run-time bindings -RUN ln -s /usr/local/cuda/lib64/stubs/libcuda.so /usr/local/cuda/lib64/stubs/libcuda.so.1 \ - && echo "/usr/local/cuda/lib64/stubs" > /etc/ld.so.conf.d/z-cuda-stubs.conf \ - && ldconfig - -# See http://bugs.python.org/issue19846 -ENV LANG C.UTF-8 - -# This section differs from the default tensorflow2.5.1 Dockerfile, because we specifically add python 3.7; -ARG PYTHON=python3.7 -ARG TF_PACKAGE=tensorflow -ARG TF_PACKAGE_VERSION=2.5.1 - -RUN apt-get update && apt-get install -y --no-install-recommends \ - python3.7 \ - python3-pip \ - && \ - apt-get clean && \ - rm -rf /var/lib/apt/lists/* \ - && wget https://bootstrap.pypa.io/pip/3.7/get-pip.py \ - && ${PYTHON} get-pip.py \ - && ln -sf /usr/bin/${PYTHON} /usr/local/bin/python3 \ - && ln -sf /usr/local/bin/pip /usr/local/bin/pip3 \ - && pip3 --no-cache-dir install --upgrade pip setuptools==57.0.0 \ - # Some TF tools expect a "python" binary - && ln -s $(which python3) /usr/local/bin/python \ - && python3 -m pip install --no-cache-dir ${TF_PACKAGE}${TF_PACKAGE_VERSION:+==${TF_PACKAGE_VERSION}} - -# RUN ln -s $(which python3) /usr/local/bin/python - -# Options: -# tensorflow -# tensorflow-gpu -# tf-nightly -# tf-nightly-gpu -# Set --build-arg TF_PACKAGE_VERSION=1.11.0rc0 to install a specific version. -# Installs the latest version by default. - -# COPY bashrc /etc/bash.bashrc -# RUN chmod a+rwx /etc/bash.bashrc - -# This ends the material obtained from TensorFlow's dockerfile. the remainder is rodan-docker-specific setup. - -# FROM base -RUN set -e \ - && apt-get update \ - && DEBIAN_FRONTEND="noninteractive" apt-get install -yqq \ - git \ - # Python lxml dependencies - python3.7-dev \ - python3-opencv \ - libxml2-dev \ - libxslt1-dev \ - zlib1g-dev \ - lib32ncurses5-dev \ - # Psycopg2 dependencies - libpq-dev \ - # For resource identification - libmagic-dev \ - unzip \ - # Remove when done - vim - -RUN rm -rf /var/lib/apt/lists/* - -# Bandaid fix for the cannot import name '_registerMatType' from 'cv2.cv2' issue -#RUN pip uninstall opencv-python-headless && pip install opencv-python-headless==4.1.2.30 - -# Install GPU Rodan Jobs +# Scripts (entrypoint waits for postgres/redis then execs the arg = /run/start-celery). COPY ./scripts/install_gpu_rodan_jobs /opt/ - -# Install Rodan -# Runs on both Rodan service, and Rodan-Celery COPY ./scripts/entrypoint /opt/ COPY ./scripts/start-celery /run/ COPY ./scripts/wait-for-app /run/ -# Copying rodan core from build context into container -# Rodan folder MUST be uppercase, otherwise many unittests fail. +# Rodan core. The folder MUST be uppercase or many unittests fail. COPY ./rodan-main/code /code/Rodan -# necessary for scikit-image > 0.17, or else it will try to make a cache directory -# in a place where the www-data user does not have permissions to do so -ENV SKIMAGE_DATADIR "/tmp/.skimage_cache" +# scikit-image otherwise caches under $HOME, which www-data cannot create. +ENV SKIMAGE_DATADIR="/tmp/.skimage_cache" + +# System deps: git (clones the GPU job repos), build-essential (native pip builds), +# libmagic1 (python-magic), libpq-dev (psycopg2), and the runtime libs opencv-python needs. +RUN apt-get update \ + && apt-get install -y --no-install-recommends \ + bash \ + build-essential \ + curl \ + git \ + libmagic1 \ + libpq-dev \ + libgl1 \ + libglib2.0-0 \ + libsm6 \ + libxext6 \ + libxrender1 \ + wget \ + && rm -rf /var/lib/apt/lists/* + +# setuptools<80 keeps the legacy `setup.py install` used by the GPU job packages working. +RUN pip3 install --no-cache-dir "setuptools<80" wheel + +# TensorFlow 2.15 with the bundled CUDA 12 wheels (Hopper sm_90 support). +RUN pip3 install --no-cache-dir "tensorflow[and-cuda]==2.15.1" +# Rodan Python deps. +RUN pip3 install --no-cache-dir -r /code/Rodan/requirements.txt -RUN set -x \ - # Create Folders +# GPU job packages (py311 branches; text_alignment deferred). Their `tensorflow==2.15.1` +# pin is already satisfied by tensorflow[and-cuda] above, so pip does not reinstall TF. +RUN set -e \ && mkdir -p /code/jobs \ - # Install GPU Jobs && chmod +x /opt/install_gpu_rodan_jobs \ - && /opt/install_gpu_rodan_jobs \ - # Install Rodan - && sed -i "s/lxml/#lxml/g" /code/Rodan/requirements.txt \ - # && sed -i "s/pybagit==1.5.0/-e git:\/\/github.com\/deepio\/pybagit.git@a27c9e0fc3bdf99dab8bd327f3ce9ea884abd6b4#egg=pybagit/g" /code/Rodan/requirements.txt \ - # Add Entrypoints - && sed -i 's/\r//' /opt/entrypoint \ - && chmod +x /opt/entrypoint \ - # Add Celery script - && chmod +x /run/start-celery \ - # Change the concurency for gpu jobs because Calvo is very expensive - && sed -i "s/=10/=1/g" /run/start-celery \ - # Script to wait for postgres and redis to be running before attempting to connect to them. - && chmod +x /run/wait-for-app + && /opt/install_gpu_rodan_jobs -# Install Rodan. -RUN pip3 install -r /code/Rodan/requirements.txt - -RUN pip3 uninstall -y opencv-python opencv-python-headless -RUN pip3 install opencv-python-headless==4.1.2.30 +# GPU jobs are expensive — one task per worker at a time. +RUN sed -i "s/--concurrency=10/--concurrency=1/g" /run/start-celery \ + && sed -i 's/\r//' /opt/entrypoint \ + && chmod +x /opt/entrypoint /run/start-celery /run/wait-for-app ENTRYPOINT ["/opt/entrypoint"] diff --git a/nginx/config/rodan.conf b/nginx/config/rodan.conf index 5e48eef6f..4b8096d15 100644 --- a/nginx/config/rodan.conf +++ b/nginx/config/rodan.conf @@ -34,13 +34,18 @@ server { # Rodan API alias /rodan/data; } - location /ws/ { # Redis Reload Caching - proxy_http_version 1.1; + location /ws/ { # WebSocket broadcast (Django Channels ASGI on rodan-main; replaces ws4redis) + proxy_pass http://rodan-main:8000; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "upgrade"; + proxy_set_header Host $http_host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto https; proxy_connect_timeout 10; - proxy_read_timeout 60; - proxy_set_header Upgrade $http_upgrade; - proxy_set_header Connection "upgrade"; - return 101 http://redis:6379; + proxy_read_timeout 3600; # long-lived broadcast socket + proxy_send_timeout 3600; } location /ht { # Django Health Check diff --git a/rodan-main/code/requirements.txt b/rodan-main/code/requirements.txt index e110b299b..1c8296aee 100755 --- a/rodan-main/code/requirements.txt +++ b/rodan-main/code/requirements.txt @@ -58,9 +58,12 @@ model-bakery==1.17.0 # was model-mommy; test imports change model_mom # Dropped (py2 backports / superseded): backports.ssl-match-hostname, pathlib2, uWSGI, # importlib-metadata (stdlib on 3.11), model-mommy. +# scikit-image is used directly by the staff_distance GPU job (skimage.segmentation / +# filters / morphology / transform); 0.22 supports py3.11 + numpy 1.26. +scikit-image==0.22.0 + # text_alignment (DEFERRED — Phase 5; calamari-ocr 1.0 + tfaip 1.0 are dead / TF-2.5-locked) #numpy==1.17.3 #tensorflow==2.3.2 -#scikit-image==0.15.0 #calamari-ocr==1.0.5 #Unidecode==1.0.22 diff --git a/rodan-main/code/rodan/models/__init__.py b/rodan-main/code/rodan/models/__init__.py index e6a4a4500..4cc58564a 100644 --- a/rodan-main/code/rodan/models/__init__.py +++ b/rodan-main/code/rodan/models/__init__.py @@ -59,7 +59,15 @@ def add_view_user_permission(sender, **kwargs): # don't set permissions in test database if not settings.TEST and sender.name == 'guardian': content_type = ContentType.objects.get(app_label='rodan', model='user') - Permission.objects.get_or_create(codename='view_user', name='View User', content_type=content_type) + # Django >= 2.1 auto-creates a `view_user` permission (with name "Can view + # user") via create_permissions. Look up only on the unique fields + # (codename, content_type) so we find that row instead of colliding with it; + # keep the historical display name via defaults for a fresh DB. + Permission.objects.get_or_create( + codename='view_user', + content_type=content_type, + defaults={'name': 'View User'}, + ) group = Group.objects.get_or_create(name="view_user_permission") # if the group is just created, add all users to it and give them view permission diff --git a/rodan-main/code/rodan/registerJobs.yaml b/rodan-main/code/rodan/registerJobs.yaml index a034858de..9da813652 100644 --- a/rodan-main/code/rodan/registerJobs.yaml +++ b/rodan-main/code/rodan/registerJobs.yaml @@ -146,9 +146,12 @@ } "RODAN_GPU_JOBS": { - "rodan.jobs.text_alignment" : { - "rodan.jobs.text_alignment.text_alignment" : [ "text_alignment" ] - }, + # text_alignment is deferred in the py3.11/TF2.15 modernization: it depends on the + # DDMAL calamari/tfaip forks, which ship only cp37 wheels pinned to TF 2.5.1 and have + # no Python 3.11 build. Re-enable once those are ported. + # "rodan.jobs.text_alignment" : { + # "rodan.jobs.text_alignment.text_alignment" : [ "text_alignment" ] + # }, "rodan.jobs.Paco_classifier" : { "rodan.jobs.Paco_classifier.fast_paco_trainer" : [ "FastPacoTrainer"], diff --git a/scripts/install_gpu_rodan_jobs b/scripts/install_gpu_rodan_jobs index 437168eae..2134d724e 100644 --- a/scripts/install_gpu_rodan_jobs +++ b/scripts/install_gpu_rodan_jobs @@ -3,47 +3,36 @@ set -o errexit # Exit immediately if a command exits with a non-zero status. set -o nounset # Treat unset variables as an error when substituting. set -o xtrace # Print commands and their arguments as they are executed. -cd /code/Rodan/rodan/jobs +# Installs the external GPU job packages, ported to TensorFlow 2.15 / Python 3.11 for +# Hopper (sm_90) GPUs (the `py311` branch of each DDMAL repo). TensorFlow itself (with the +# CUDA 12 wheels) is installed by the gpu-celery Dockerfile via `tensorflow[and-cuda]`; +# each repo's requirements only assert `tensorflow==2.15.1` (pip sees it satisfied). On +# rodan-main (no CUDA) the same requirements pull the CPU TensorFlow, which is enough to +# import/register the jobs in the API. +# +# text_alignment is intentionally NOT installed: it depends on the DDMAL calamari/tfaip +# forks (cp37-only wheels, TF 2.5.1) with no Python 3.11 build, so it is deferred (also +# commented out in rodan/registerJobs.yaml). Re-add its install once those are ported. PIP=$(which pip3) || PIP=$(which pip) -cd /code/Rodan/rodan/jobs -# Install Text Alignment -$PIP install -r ./text_alignment/requirements.txt - -cat << EOF | python3 -new_backend = """{ - "image_dim_ordering": "tf", - "epsilon": 1e-07, - "floatx": "float32", - "backend": "tensorflow" -}""" -open("keras.json", "w").write(new_backend) -EOF - -# Install Background Removal +# Background Removal cd / -git clone -b v1.1.1 https://github.com/DDMAL/background_removal.git +git clone -b py311 --depth 1 https://github.com/DDMAL/background_removal.git mv background_removal .background_removal cd .background_removal -which pip3 && $PIP install --no-cache-dir . - -# Install SAE_binarization +$PIP install --no-cache-dir . + +# SAE_binarization cd / -git clone -b v1.1.1 https://github.com/DDMAL/SAE_binarization.git +git clone -b py311 --depth 1 https://github.com/DDMAL/SAE_binarization.git mv SAE_binarization .SAE_binarization cd .SAE_binarization -which pip3 && $PIP install --no-cache-dir . +$PIP install --no-cache-dir . -# Install Paco classifier +# Paco classifier cd / -git clone -b v2.0.4 --depth 1 https://github.com/DDMAL/Paco_classifier.git +git clone -b py311 --depth 1 https://github.com/DDMAL/Paco_classifier.git mv Paco_classifier .Paco_classifier cd .Paco_classifier -which pip3 && $PIP install --no-cache-dir . - -cd /code/Rodan/rodan -sed -i 's/#gpu //g' /code/Rodan/rodan/settings.py - -# Temporary fix for OpenCV until https://github.com/DDMAL/Rodan/issues/639 is resolved. -pip install opencv-python==4.6.0.66 +$PIP install --no-cache-dir . diff --git a/scripts/start b/scripts/start index e012d3709..0717dc6c4 100644 --- a/scripts/start +++ b/scripts/start @@ -44,4 +44,10 @@ sed -i "s/15/999999/g" /code/Rodan/rodan/settings.py # Usually, unix sockets would be faster but between docker containers, I am not certain because of the # complexity from volumes. Do not merge other services into the rodan service. We are keeping them isolated # for scaling in the future. --graceful-timeout 0 --preload True --workers=3 -runuser -u root -- /usr/local/bin/gunicorn --name=rodan -b 0.0.0.0:8000 --timeout 120 --max-requests 10000 --worker-connections 1001 --log-level=debug --log-file=/code/Rodan/gunicorn-error.log --access-logfile=/code/Rodan/gunicorn-access.log rodan.wsgi_django:application +# +# ASGI: gunicorn manages the worker lifecycle (max-requests, timeout, logging) while the +# uvicorn worker class speaks ASGI, so a single server handles both HTTP and the /ws/ +# WebSocket (Channels replaced django-websocket-redis). Served app is rodan.asgi:application +# (ProtocolTypeRouter: "http" -> Django, "websocket" -> BroadcastConsumer). Each worker +# independently subscribes to the Redis broadcast channel and fans out to its own clients. +runuser -u root -- /usr/local/bin/gunicorn --name=rodan -k uvicorn.workers.UvicornWorker -b 0.0.0.0:8000 --timeout 120 --max-requests 10000 --worker-connections 1001 --log-level=debug --log-file=/code/Rodan/gunicorn-error.log --access-logfile=/code/Rodan/gunicorn-access.log rodan.asgi:application diff --git a/scripts/start-celery b/scripts/start-celery index 0593b1c4a..8000a7007 100644 --- a/scripts/start-celery +++ b/scripts/start-celery @@ -23,6 +23,8 @@ cd /code/Rodan /run/wait-for-app redis:6379 /run/wait-for-app rodan-main:8000 --timeout=900 -runuser -u root -- celery worker -A rodan --workdir /code/Rodan -Q ${CELERY_JOB_QUEUE} --concurrency=10 --max-tasks-per-child=1 -n "${CELERY_JOB_QUEUE}" -l INFO --logfile /code/Rodan/rodan-celery-${CELERY_JOB_QUEUE}.log & +# Celery 5 CLI: global options (-A, --workdir) precede the `worker` subcommand; the old +# Celery 4 `celery worker -A ...` form was removed in 5.0. +runuser -u root -- celery -A rodan --workdir /code/Rodan worker -Q ${CELERY_JOB_QUEUE} --concurrency=10 --max-tasks-per-child=1 -n "${CELERY_JOB_QUEUE}" -l INFO --logfile /code/Rodan/rodan-celery-${CELERY_JOB_QUEUE}.log & child_2=$! wait "$child_2" From 857889806310c3a564bfa562c9d8255a9a9a0c28 Mon Sep 17 00:00:00 2001 From: amirsadraabdollahi Date: Wed, 8 Jul 2026 21:06:47 -0400 Subject: [PATCH 04/18] Feat: change k8s images to modernize branch, fix chain images build --- ci-jobs/Dockerfile | 5 ++++- k8s/20-postgres.yaml | 2 +- k8s/30-rodan-main.yaml | 2 +- k8s/31-celery.yaml | 2 +- k8s/32-py3-celery.yaml | 2 +- k8s/33-gpu-celery.yaml | 2 +- k8s/40-iipsrv.yaml | 2 +- k8s/41-rodan-client.yaml | 2 +- k8s/50-nginx.yaml | 2 +- rodan-main/Dockerfile | 5 ++++- 10 files changed, 16 insertions(+), 10 deletions(-) diff --git a/ci-jobs/Dockerfile b/ci-jobs/Dockerfile index c1932427f..2b05ed551 100644 --- a/ci-jobs/Dockerfile +++ b/ci-jobs/Dockerfile @@ -132,7 +132,10 @@ RUN cd /vendor \ && git checkout 4932d86b19d9008a28ae898035cfa43340e636e6 \ && mkdir build \ && cd build \ - && /vendor/cmake-3.17.0-Linux-x86_64/bin/cmake -DBUILD_THIRDPARTY=ON .. \ + # GCC 12+ (Debian bookworm, via the py3.11 base) no longer transitively includes + # , so Grok's pinned source fails on undeclared uint8_t. Force-include it + # for every C++ TU instead of patching the third-party headers. + && /vendor/cmake-3.17.0-Linux-x86_64/bin/cmake -DBUILD_THIRDPARTY=ON -DCMAKE_CXX_FLAGS="-include cstdint" .. \ && make -j3 # ============================ diff --git a/k8s/20-postgres.yaml b/k8s/20-postgres.yaml index c7a66ecca..9e061a643 100644 --- a/k8s/20-postgres.yaml +++ b/k8s/20-postgres.yaml @@ -21,7 +21,7 @@ spec: - name: ghcr-pull-secret containers: - name: postgres - image: ghcr.io/ddmal/postgres-plpython:k8s-migration + image: ghcr.io/ddmal/postgres-plpython:modernize-backend-py311 ports: - containerPort: 5432 name: postgres diff --git a/k8s/30-rodan-main.yaml b/k8s/30-rodan-main.yaml index d4ac6a457..bc5470567 100644 --- a/k8s/30-rodan-main.yaml +++ b/k8s/30-rodan-main.yaml @@ -22,7 +22,7 @@ spec: - name: ghcr-pull-secret containers: - name: rodan-main - image: ghcr.io/ddmal/rodan-main:k8s-migration + image: ghcr.io/ddmal/rodan-main:modernize-backend-py311 args: ["/run/start"] envFrom: - configMapRef: { name: rodan-config } diff --git a/k8s/31-celery.yaml b/k8s/31-celery.yaml index 4f497236d..110988f35 100644 --- a/k8s/31-celery.yaml +++ b/k8s/31-celery.yaml @@ -20,7 +20,7 @@ spec: - name: ghcr-pull-secret containers: - name: celery - image: ghcr.io/ddmal/rodan-main:k8s-migration + image: ghcr.io/ddmal/rodan-main:modernize-backend-py311 args: ["/run/start-celery"] envFrom: - configMapRef: { name: rodan-config } diff --git a/k8s/32-py3-celery.yaml b/k8s/32-py3-celery.yaml index f556d28c5..d4bfea5e7 100644 --- a/k8s/32-py3-celery.yaml +++ b/k8s/32-py3-celery.yaml @@ -19,7 +19,7 @@ spec: - name: ghcr-pull-secret containers: - name: py3-celery - image: ghcr.io/ddmal/rodan-python3-celery:k8s-migration + image: ghcr.io/ddmal/rodan-python3-celery:modernize-backend-py311 envFrom: - configMapRef: { name: rodan-config } - secretRef: { name: rodan-secrets } diff --git a/k8s/33-gpu-celery.yaml b/k8s/33-gpu-celery.yaml index f1674f26c..92b132b02 100644 --- a/k8s/33-gpu-celery.yaml +++ b/k8s/33-gpu-celery.yaml @@ -29,7 +29,7 @@ spec: runtimeClassName: nvidia containers: - name: gpu-celery - image: ghcr.io/ddmal/rodan-gpu-celery:k8s-migration + image: ghcr.io/ddmal/rodan-gpu-celery:modernize-backend-py311 args: ["/run/start-celery"] envFrom: - configMapRef: { name: rodan-config } diff --git a/k8s/40-iipsrv.yaml b/k8s/40-iipsrv.yaml index f78ecda9a..1970f678c 100644 --- a/k8s/40-iipsrv.yaml +++ b/k8s/40-iipsrv.yaml @@ -19,7 +19,7 @@ spec: - name: ghcr-pull-secret containers: - name: iipsrv - image: ghcr.io/ddmal/iipsrv:k8s-migration + image: ghcr.io/ddmal/iipsrv:modernize-backend-py311 ports: - containerPort: 9003 name: fcgi diff --git a/k8s/41-rodan-client.yaml b/k8s/41-rodan-client.yaml index 100df8a32..cf456c2c3 100644 --- a/k8s/41-rodan-client.yaml +++ b/k8s/41-rodan-client.yaml @@ -69,7 +69,7 @@ spec: - name: ghcr-pull-secret containers: - name: rodan-client - image: ghcr.io/ddmal/rodan-client:k8s-migration + image: ghcr.io/ddmal/rodan-client:modernize-backend-py311 ports: - containerPort: 80 name: http diff --git a/k8s/50-nginx.yaml b/k8s/50-nginx.yaml index a2f55b460..cc7f0d6e2 100644 --- a/k8s/50-nginx.yaml +++ b/k8s/50-nginx.yaml @@ -21,7 +21,7 @@ spec: - name: ghcr-pull-secret containers: - name: nginx - image: ghcr.io/ddmal/nginx:k8s-migration + image: ghcr.io/ddmal/nginx:modernize-backend-py311 args: ["/run/start"] env: - name: TZ diff --git a/rodan-main/Dockerfile b/rodan-main/Dockerfile index 8201bdd75..57d830124 100644 --- a/rodan-main/Dockerfile +++ b/rodan-main/Dockerfile @@ -29,7 +29,10 @@ RUN \ && git checkout 4932d86b19d9008a28ae898035cfa43340e636e6 \ && mkdir build \ && cd build \ - && /vendor/cmake-3.17.0-Linux-x86_64/bin/cmake -DBUILD_THIRDPARTY=ON .. \ + # GCC 12+ (Debian bookworm, via the py3.11 base) no longer transitively includes + # , so Grok's pinned source fails on undeclared uint8_t. Force-include it + # for every C++ TU instead of patching the third-party headers. + && /vendor/cmake-3.17.0-Linux-x86_64/bin/cmake -DBUILD_THIRDPARTY=ON -DCMAKE_CXX_FLAGS="-include cstdint" .. \ && make -j3 # This script gets the gpu jobs into celery From 4c7e4ba436bcbd95e345192875b631960b7ae597 Mon Sep 17 00:00:00 2001 From: amirsadraabdollahi Date: Wed, 8 Jul 2026 21:52:21 -0400 Subject: [PATCH 05/18] Fix: chain image build --- k8s/31-celery.yaml | 4 ++-- k8s/32-py3-celery.yaml | 4 ++-- k8s/33-gpu-celery.yaml | 4 ++-- k8s/README.md | 6 +++--- rodan-main/code/rodan/celery.py | 21 +++++++++++---------- rodan-main/code/rodan/jobs/base.py | 2 +- rodan-main/code/rodan/settings.py | 6 +++++- 7 files changed, 26 insertions(+), 21 deletions(-) diff --git a/k8s/31-celery.yaml b/k8s/31-celery.yaml index 110988f35..607ac0915 100644 --- a/k8s/31-celery.yaml +++ b/k8s/31-celery.yaml @@ -33,13 +33,13 @@ spec: mountPath: /rodan/data startupProbe: exec: - command: ["celery", "inspect", "ping", "-A", "rodan", "--workdir", "/code/Rodan", "-d", "celery@celery", "-t", "30"] + command: ["celery", "-A", "rodan", "--workdir", "/code/Rodan", "inspect", "ping", "-d", "celery@celery", "-t", "30"] periodSeconds: 45 timeoutSeconds: 40 # default probe timeout is 1s; celery inspect ping needs far longer failureThreshold: 30 # tolerates the long wait-for rodan-main:8000 (up to 900s) livenessProbe: exec: - command: ["celery", "inspect", "ping", "-A", "rodan", "--workdir", "/code/Rodan", "-d", "celery@celery", "-t", "30"] + command: ["celery", "-A", "rodan", "--workdir", "/code/Rodan", "inspect", "ping", "-d", "celery@celery", "-t", "30"] periodSeconds: 60 timeoutSeconds: 45 failureThreshold: 3 diff --git a/k8s/32-py3-celery.yaml b/k8s/32-py3-celery.yaml index d4bfea5e7..454486243 100644 --- a/k8s/32-py3-celery.yaml +++ b/k8s/32-py3-celery.yaml @@ -31,13 +31,13 @@ spec: mountPath: /rodan/data startupProbe: exec: - command: ["celery", "inspect", "ping", "-A", "rodan", "--workdir", "/code/Rodan", "-d", "celery@Python3", "-t", "30"] + command: ["celery", "-A", "rodan", "--workdir", "/code/Rodan", "inspect", "ping", "-d", "celery@Python3", "-t", "30"] periodSeconds: 45 timeoutSeconds: 40 # default probe timeout is 1s; celery inspect ping needs far longer failureThreshold: 30 livenessProbe: exec: - command: ["celery", "inspect", "ping", "-A", "rodan", "--workdir", "/code/Rodan", "-d", "celery@Python3", "-t", "30"] + command: ["celery", "-A", "rodan", "--workdir", "/code/Rodan", "inspect", "ping", "-d", "celery@Python3", "-t", "30"] periodSeconds: 60 timeoutSeconds: 45 failureThreshold: 3 diff --git a/k8s/33-gpu-celery.yaml b/k8s/33-gpu-celery.yaml index 92b132b02..e53fe2978 100644 --- a/k8s/33-gpu-celery.yaml +++ b/k8s/33-gpu-celery.yaml @@ -42,13 +42,13 @@ spec: mountPath: /rodan/data startupProbe: exec: - command: ["celery", "inspect", "ping", "-A", "rodan", "--workdir", "/code/Rodan", "-d", "celery@GPU", "-t", "30"] + command: ["celery", "-A", "rodan", "--workdir", "/code/Rodan", "inspect", "ping", "-d", "celery@GPU", "-t", "30"] periodSeconds: 45 timeoutSeconds: 40 # default probe timeout is 1s; celery inspect ping needs far longer failureThreshold: 30 livenessProbe: exec: - command: ["celery", "inspect", "ping", "-A", "rodan", "--workdir", "/code/Rodan", "-d", "celery@GPU", "-t", "30"] + command: ["celery", "-A", "rodan", "--workdir", "/code/Rodan", "inspect", "ping", "-d", "celery@GPU", "-t", "30"] periodSeconds: 60 timeoutSeconds: 45 failureThreshold: 3 diff --git a/k8s/README.md b/k8s/README.md index 1e06f050c..fc320db04 100644 --- a/k8s/README.md +++ b/k8s/README.md @@ -125,9 +125,9 @@ self-healing via the `wait-for-app` logic baked into the images, but applying ba kubectl -n rodan get pods,svc,pvc,ingress kubectl -n rodan exec deploy/rodan-main -- curl -s -o /dev/null -w '%{http_code}\n' \ -H 'User-Agent: k8s' localhost:8000/api/?format=json # 200 -kubectl -n rodan exec deploy/celery -- celery inspect ping -A rodan --workdir /code/Rodan -d celery@celery -kubectl -n rodan exec deploy/py3-celery -- celery inspect ping -A rodan --workdir /code/Rodan -d celery@Python3 -kubectl -n rodan exec deploy/gpu-celery -- celery inspect ping -A rodan --workdir /code/Rodan -d celery@GPU +kubectl -n rodan exec deploy/celery -- celery -A rodan --workdir /code/Rodan inspect ping -d celery@celery +kubectl -n rodan exec deploy/py3-celery -- celery -A rodan --workdir /code/Rodan inspect ping -d celery@Python3 +kubectl -n rodan exec deploy/gpu-celery -- celery -A rodan --workdir /code/Rodan inspect ping -d celery@GPU kubectl -n rodan exec deploy/gpu-celery -- nvidia-smi kubectl describe node | grep nvidia.com/gpu # allocatable: 1 # external (through the edge): https://rodan2.simssa.ca — log in, open a project/image, run a workflow diff --git a/rodan-main/code/rodan/celery.py b/rodan-main/code/rodan/celery.py index 3dec2d13f..05afff1fe 100644 --- a/rodan-main/code/rodan/celery.py +++ b/rodan-main/code/rodan/celery.py @@ -25,14 +25,15 @@ ) from rodan.jobs.master_task import master_task # noqa -# Core Rodan Tasks -app.tasks.register(create_resource()) -app.tasks.register(create_workflowrun()) +# Core Rodan Tasks. +# create_resource / create_workflowrun are Task *subclasses* (not auto-registered), so +# register an instance of each explicitly. +app.register_task(create_resource()) +app.register_task(create_workflowrun()) -app.tasks.register(cancel_workflowrun) -app.tasks.register(create_diva) -app.tasks.register(redo_runjob_tree) -app.tasks.register(retry_workflowrun) -app.tasks.register(send_email) -app.tasks.register(send_templated_email) -app.tasks.register(master_task) +# cancel_workflowrun, create_diva, redo_runjob_tree, retry_workflowrun, send_email, +# send_templated_email and master_task are @shared_task functions. Importing them (above) +# already auto-registers them with this app. They must NOT be manually registered: a +# @shared_task is a promise proxy, and registering the proxy stores it under its own name +# in the registry, so a later lookup resolves the proxy to itself — an infinite loop +# (RecursionError in celery.local). Celery 5 binds shared tasks to the app on finalize. diff --git a/rodan-main/code/rodan/jobs/base.py b/rodan-main/code/rodan/jobs/base.py index 18f03da79..32c96ef63 100644 --- a/rodan-main/code/rodan/jobs/base.py +++ b/rodan-main/code/rodan/jobs/base.py @@ -13,7 +13,7 @@ import time import uuid -from celery import Task, registry +from celery import Task, current_app as registry from celery.app.task import TaskType from django.conf import settings as rodan_settings from django.core.files import File diff --git a/rodan-main/code/rodan/settings.py b/rodan-main/code/rodan/settings.py index 9fc509c46..6ee062366 100644 --- a/rodan-main/code/rodan/settings.py +++ b/rodan-main/code/rodan/settings.py @@ -482,7 +482,11 @@ ############################################################################### BROKER_CONNECTION_MAX_RETRIES = "0" CELERY_BROKER_URL = os.getenv("RABBITMQ_URL") -CELERY_RESULT_BACKEND = "amqp" +# Celery 5 removed the "amqp" result backend; "rpc://" is its documented successor and +# keeps results flowing over the same RabbitMQ broker (no extra infra). Rodan retrieves a +# result in exactly one place (create_archive -> .get() in views/resource.py); rpc handles +# that. Task/workflow *state* is tracked in Rodan's own DB, not the result backend. +CELERY_RESULT_BACKEND = "rpc://" CELERY_ENABLE_UTC = True CELERY_IMPORTS = ("rodan.jobs.load",) if TEST: From 1b927af7f2abe7ae30751baeccd435f25772761b Mon Sep 17 00:00:00 2001 From: amirsadraabdollahi Date: Wed, 8 Jul 2026 21:57:40 -0400 Subject: [PATCH 06/18] Fix asgi startup --- rodan-main/code/rodan/asgi.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/rodan-main/code/rodan/asgi.py b/rodan-main/code/rodan/asgi.py index ccde87cb9..b09426483 100644 --- a/rodan-main/code/rodan/asgi.py +++ b/rodan-main/code/rodan/asgi.py @@ -14,6 +14,15 @@ # Initialise Django (populates apps) before importing anything that touches models/settings. django_asgi_app = get_asgi_application() +# Force the root URLconf to import now, at startup, in this synchronous context. Django +# otherwise resolves the URLconf lazily on the first request; under ASGI that runs in the +# event loop, and rodan/urls.py imports rodan.jobs.load, which executes a synchronous ORM +# query (ResourceType.objects.all()) at import time -> SynchronousOnlyOperation. Doing it +# here runs that one-time job/resource-type registration once per worker at boot instead. +from django.urls import get_resolver # noqa: E402 + +get_resolver().url_patterns + from channels.routing import ProtocolTypeRouter, URLRouter # noqa: E402 from django.urls import re_path # noqa: E402 From 5e039a46943ea03a39f028d523e0f5e7727206c8 Mon Sep 17 00:00:00 2001 From: amirsadraabdollahi Date: Wed, 8 Jul 2026 23:10:15 -0400 Subject: [PATCH 07/18] Fix: add compute and utility to capabilities in GPU --- gpu-celery/Dockerfile | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/gpu-celery/Dockerfile b/gpu-celery/Dockerfile index a5aaf2ed3..66dbc03d9 100644 --- a/gpu-celery/Dockerfile +++ b/gpu-celery/Dockerfile @@ -25,6 +25,13 @@ COPY ./rodan-main/code /code/Rodan # scikit-image otherwise caches under $HOME, which www-data cannot create. ENV SKIMAGE_DATADIR="/tmp/.skimage_cache" +# The old nvidia/cuda base set this; python:3.11-slim does not. The NVIDIA container +# runtime reads it to decide which driver features to inject — "compute" is required for +# CUDA (without it you get nvidia-smi but cuInit -> CUDA_ERROR_NO_DEVICE). NVIDIA_VISIBLE_DEVICES +# is intentionally left to the k8s device plugin. (Note: the GPU also needs a valid vGPU +# license on the host, or CUDA is blocked regardless.) +ENV NVIDIA_DRIVER_CAPABILITIES=compute,utility + # System deps: git (clones the GPU job repos), build-essential (native pip builds), # libmagic1 (python-magic), libpq-dev (psycopg2), and the runtime libs opencv-python needs. RUN apt-get update \ From bbb199c1ec3b4353a3fb7925893e9f5437313be7 Mon Sep 17 00:00:00 2001 From: amirsadraabdollahi Date: Thu, 9 Jul 2026 01:26:28 -0400 Subject: [PATCH 08/18] Fix: make the MIG visible to gpu pod --- k8s/33-gpu-celery.yaml | 21 ++++++++++++++++++++- k8s/60-nvidia-device-plugin.yaml | 11 +++++++++-- 2 files changed, 29 insertions(+), 3 deletions(-) diff --git a/k8s/33-gpu-celery.yaml b/k8s/33-gpu-celery.yaml index e53fe2978..793aa9ca8 100644 --- a/k8s/33-gpu-celery.yaml +++ b/k8s/33-gpu-celery.yaml @@ -19,8 +19,17 @@ spec: spec: imagePullSecrets: - name: ghcr-pull-secret + # MIG-backed vGPU workaround: the device plugin (migStrategy=none, the only mode that + # works in a vGPU guest) hands the container the PARENT GPU, but CUDA needs the MIG + # compute instance — whose access node /dev/nvidia-caps/nvidia-cap4 the plugin doesn't + # inject, so cuInit -> CUDA_ERROR_NO_DEVICE. Instead we pin to a specific node and let + # the NVIDIA runtime inject the MIG instance directly via NVIDIA_VISIBLE_DEVICES (which + # DOES inject cap4). This means NOT requesting nvidia.com/gpu (that would make the plugin + # overwrite NVIDIA_VISIBLE_DEVICES with the parent). The MIG UUID is per-node, hence the + # hostname pin. Long-term fix: a non-MIG (time-sliced) vGPU profile removes all of this. nodeSelector: gpu: "true" + kubernetes.io/hostname: k3s-gpu-node-2 tolerations: - key: nvidia.com/gpu operator: Exists @@ -37,6 +46,13 @@ spec: env: - name: CELERY_JOB_QUEUE value: "GPU" + # MIG compute-instance UUID on k3s-gpu-node-2 (nvidia-smi -L). The runtime + # injects this exact MIG device (incl. /dev/nvidia-caps/nvidia-cap4) so CUDA can + # open it. This is node-specific — it must match the node pinned above. + - name: NVIDIA_VISIBLE_DEVICES + value: "MIG-a724b14d-5057-529c-b9ef-87ebd0d2d92d" + - name: NVIDIA_DRIVER_CAPABILITIES + value: "compute,utility" volumeMounts: - name: resources mountPath: /rodan/data @@ -52,6 +68,10 @@ spec: periodSeconds: 60 timeoutSeconds: 45 failureThreshold: 3 + # NOTE: no `nvidia.com/gpu` request here on purpose — the GPU is selected via + # NVIDIA_VISIBLE_DEVICES above. Requesting it would let the device plugin overwrite + # that env with the parent GPU UUID and re-break CUDA. The hostname pin + taint + # toleration keep this the only GPU workload on the node. resources: requests: cpu: "1" @@ -59,7 +79,6 @@ spec: limits: cpu: "2" memory: "16Gi" - nvidia.com/gpu: 1 volumes: - name: resources persistentVolumeClaim: diff --git a/k8s/60-nvidia-device-plugin.yaml b/k8s/60-nvidia-device-plugin.yaml index 073a87fbb..58d9f28b4 100644 --- a/k8s/60-nvidia-device-plugin.yaml +++ b/k8s/60-nvidia-device-plugin.yaml @@ -1,7 +1,9 @@ # NVIDIA device plugin — advertises nvidia.com/gpu on the GPU node so gpu-celery can request it. # Runs only on nodes labeled gpu=true and tolerates the GPU taint. -# Prereqs on the GPU node: NVIDIA driver (>= 460.x for the CUDA 11.2 image) + nvidia-container-toolkit, -# with the nvidia container runtime configured (k3s detects it and wires up containerd automatically). +# Prereqs on the GPU node: NVIDIA driver (>= 525 for the CUDA 12.x / TF 2.15 image; nodes run +# 580.x) + nvidia-container-toolkit, with the nvidia container runtime configured (k3s detects +# it and wires up containerd automatically). The H100 vGPUs are MIG-backed, so migStrategy=single +# is required below (see the container args) for CUDA to see the MIG instance. apiVersion: apps/v1 kind: DaemonSet metadata: @@ -33,6 +35,11 @@ spec: containers: - name: nvidia-device-plugin-ctr image: nvcr.io/nvidia/k8s-device-plugin:v0.14.5 + # NOTE: migStrategy stays "none" (the default). These are MIG-backed *vGPUs*, and + # the plugin's MIG path fails in a vGPU guest ("error getting parent memory info: + # Insufficient Permissions") because the guest can't introspect the parent GPU. + # So the plugin exposes the vGPU/parent UUID; CUDA is pointed at the MIG instance + # via CUDA_VISIBLE_DEVICES in the gpu-celery pod instead (see k8s/33-gpu-celery.yaml). env: - name: FAIL_ON_INIT_ERROR value: "false" From 95caac34b5d74c2e83ba90b8890c7396b3572807 Mon Sep 17 00:00:00 2001 From: amirsadraabdollahi Date: Thu, 9 Jul 2026 09:28:54 -0400 Subject: [PATCH 09/18] Refactor: prepare for merge into develop --- .github/workflows/build-and-deploy.yml | 2 +- .github/workflows/ci.yml | 2 +- k8s/20-postgres.yaml | 2 +- k8s/30-rodan-main.yaml | 2 +- k8s/31-celery.yaml | 2 +- k8s/32-py3-celery.yaml | 2 +- k8s/33-gpu-celery.yaml | 2 +- k8s/40-iipsrv.yaml | 2 +- k8s/41-rodan-client.yaml | 2 +- k8s/50-nginx.yaml | 2 +- 10 files changed, 10 insertions(+), 10 deletions(-) diff --git a/.github/workflows/build-and-deploy.yml b/.github/workflows/build-and-deploy.yml index c64dab93a..81acf2424 100644 --- a/.github/workflows/build-and-deploy.yml +++ b/.github/workflows/build-and-deploy.yml @@ -14,7 +14,7 @@ name: Build, push, and deploy images on: push: - branches: [develop, modernize-backend-py311] + branches: [develop] tags: ['v*'] workflow_dispatch: inputs: diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 0415fae96..f3f9eda9e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -11,7 +11,7 @@ jobs: rodan-CI-test: runs-on: ubuntu-22.04 container: - image: ddmal/ci-jobs:django-v2.0.13 + image: ddmal/ci-jobs:django-v4.2.16 env: CELERY_JOB_QUEUE: None ADMIN_USER: rodan diff --git a/k8s/20-postgres.yaml b/k8s/20-postgres.yaml index 9e061a643..3d2bfc231 100644 --- a/k8s/20-postgres.yaml +++ b/k8s/20-postgres.yaml @@ -21,7 +21,7 @@ spec: - name: ghcr-pull-secret containers: - name: postgres - image: ghcr.io/ddmal/postgres-plpython:modernize-backend-py311 + image: ghcr.io/ddmal/postgres-plpython:nightly ports: - containerPort: 5432 name: postgres diff --git a/k8s/30-rodan-main.yaml b/k8s/30-rodan-main.yaml index bc5470567..27c4a381e 100644 --- a/k8s/30-rodan-main.yaml +++ b/k8s/30-rodan-main.yaml @@ -22,7 +22,7 @@ spec: - name: ghcr-pull-secret containers: - name: rodan-main - image: ghcr.io/ddmal/rodan-main:modernize-backend-py311 + image: ghcr.io/ddmal/rodan-main:nightly args: ["/run/start"] envFrom: - configMapRef: { name: rodan-config } diff --git a/k8s/31-celery.yaml b/k8s/31-celery.yaml index 607ac0915..190981a45 100644 --- a/k8s/31-celery.yaml +++ b/k8s/31-celery.yaml @@ -20,7 +20,7 @@ spec: - name: ghcr-pull-secret containers: - name: celery - image: ghcr.io/ddmal/rodan-main:modernize-backend-py311 + image: ghcr.io/ddmal/rodan-main:nightly args: ["/run/start-celery"] envFrom: - configMapRef: { name: rodan-config } diff --git a/k8s/32-py3-celery.yaml b/k8s/32-py3-celery.yaml index 454486243..8a861edc8 100644 --- a/k8s/32-py3-celery.yaml +++ b/k8s/32-py3-celery.yaml @@ -19,7 +19,7 @@ spec: - name: ghcr-pull-secret containers: - name: py3-celery - image: ghcr.io/ddmal/rodan-python3-celery:modernize-backend-py311 + image: ghcr.io/ddmal/rodan-python3-celery:nightly envFrom: - configMapRef: { name: rodan-config } - secretRef: { name: rodan-secrets } diff --git a/k8s/33-gpu-celery.yaml b/k8s/33-gpu-celery.yaml index 793aa9ca8..470802b20 100644 --- a/k8s/33-gpu-celery.yaml +++ b/k8s/33-gpu-celery.yaml @@ -38,7 +38,7 @@ spec: runtimeClassName: nvidia containers: - name: gpu-celery - image: ghcr.io/ddmal/rodan-gpu-celery:modernize-backend-py311 + image: ghcr.io/ddmal/rodan-gpu-celery:nightly args: ["/run/start-celery"] envFrom: - configMapRef: { name: rodan-config } diff --git a/k8s/40-iipsrv.yaml b/k8s/40-iipsrv.yaml index 1970f678c..bdbad0217 100644 --- a/k8s/40-iipsrv.yaml +++ b/k8s/40-iipsrv.yaml @@ -19,7 +19,7 @@ spec: - name: ghcr-pull-secret containers: - name: iipsrv - image: ghcr.io/ddmal/iipsrv:modernize-backend-py311 + image: ghcr.io/ddmal/iipsrv:nightly ports: - containerPort: 9003 name: fcgi diff --git a/k8s/41-rodan-client.yaml b/k8s/41-rodan-client.yaml index cf456c2c3..65c9f8270 100644 --- a/k8s/41-rodan-client.yaml +++ b/k8s/41-rodan-client.yaml @@ -69,7 +69,7 @@ spec: - name: ghcr-pull-secret containers: - name: rodan-client - image: ghcr.io/ddmal/rodan-client:modernize-backend-py311 + image: ghcr.io/ddmal/rodan-client:nightly ports: - containerPort: 80 name: http diff --git a/k8s/50-nginx.yaml b/k8s/50-nginx.yaml index cc7f0d6e2..bfccc6c35 100644 --- a/k8s/50-nginx.yaml +++ b/k8s/50-nginx.yaml @@ -21,7 +21,7 @@ spec: - name: ghcr-pull-secret containers: - name: nginx - image: ghcr.io/ddmal/nginx:modernize-backend-py311 + image: ghcr.io/ddmal/nginx:nightly args: ["/run/start"] env: - name: TZ From 631838f1c17b9a2b5363baf0171db102f75daf99 Mon Sep 17 00:00:00 2001 From: amirsadraabdollahi Date: Thu, 9 Jul 2026 09:39:47 -0400 Subject: [PATCH 10/18] Feat: add build and push workflow for ci-jobs --- .github/pull_request_template.md | 5 ---- .github/workflows/build-ci-jobs.yml | 44 +++++++++++++++++++++++++++++ 2 files changed, 44 insertions(+), 5 deletions(-) delete mode 100644 .github/pull_request_template.md create mode 100644 .github/workflows/build-ci-jobs.yml diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md deleted file mode 100644 index 42c678092..000000000 --- a/.github/pull_request_template.md +++ /dev/null @@ -1,5 +0,0 @@ -Resolves: (#ID-of-the-issue) -- [ ] I passed the docker hub test, and images can be built successfully. -- [ ] I passed the GitHub CI test, so rodan functionalities and jobs work. - -(Describe the changes you've made and the purpose of this PR) \ No newline at end of file diff --git a/.github/workflows/build-ci-jobs.yml b/.github/workflows/build-ci-jobs.yml new file mode 100644 index 000000000..a3e1dc685 --- /dev/null +++ b/.github/workflows/build-ci-jobs.yml @@ -0,0 +1,44 @@ +name: Build & push ci-jobs +on: + workflow_dispatch: + inputs: + tag: + description: "Docker Hub tag to push (ddmal/ci-jobs:)" + required: true + default: "django-v4.2.16" + branch: + description: "BRANCH build-arg — ref used to clone neon_wrapper/pixel_wrapper" + required: true + default: "develop" + +jobs: + build-ci-jobs: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - name: Free disk space + # ci-jobs is a heavy image (Grok compile + gamera/musicstaves + postgres + deps). + uses: jlumbroso/free-disk-space@v1.3.1 + with: + tool-cache: true + large-packages: false + docker-images: false + + - name: Log in to Docker Hub + uses: docker/login-action@v3 + with: + registry: docker.io + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_PASSWORD }} + + - name: Build ci-jobs + run: | + docker build \ + --build-arg BRANCH="${{ github.event.inputs.branch }}" \ + -t "ddmal/ci-jobs:${{ github.event.inputs.tag }}" \ + -f ci-jobs/Dockerfile \ + . + + - name: Push ci-jobs + run: docker push "ddmal/ci-jobs:${{ github.event.inputs.tag }}" From 6a14f302991c81c2695c9d9ae86c09d402b6e9db Mon Sep 17 00:00:00 2001 From: amirsadraabdollahi Date: Thu, 9 Jul 2026 13:34:00 -0400 Subject: [PATCH 11/18] Fix: ci tests --- ci-jobs/Dockerfile | 6 +++++ python3-celery/Dockerfile | 6 +++++ .../rodan/jobs/MEI_encoding/MEI_encoding.py | 24 ++++++++---------- rodan-main/code/rodan/jobs/core.py | 4 ++- rodan-main/code/rodan/models/resource.py | 7 +++-- .../files/ms73-068_miyao-staff-finder_png.png | Bin 16726 -> 29483 bytes .../test/views/testIndividual_workflowrun.py | 4 +-- .../code/rodan/test/views/test_resource.py | 2 +- .../code/rodan/test/views/test_workflow.py | 2 +- 9 files changed, 35 insertions(+), 20 deletions(-) diff --git a/ci-jobs/Dockerfile b/ci-jobs/Dockerfile index 2b05ed551..96df71554 100644 --- a/ci-jobs/Dockerfile +++ b/ci-jobs/Dockerfile @@ -76,6 +76,12 @@ WORKDIR /gamera4-rodan/gamera-4 RUN python3 setup.py --nowx install WORKDIR /gamera4-rodan/musicstaves RUN python3 setup.py install +# Musicstaves installs as an isolated egg whose gamera/toolkits/ does not merge with +# gamera's (gamera's toolkits/__init__.py is empty, no extend_path). Move its package +# into the gamera egg so `import gamera.toolkits.musicstaves` resolves. Self-checks. +RUN cp -r /usr/local/lib/python3.11/site-packages/musicstaves-*.egg/gamera/toolkits/musicstaves \ + /usr/local/lib/python3.11/site-packages/gamera-*.egg/gamera/toolkits/ \ + && python3 -W ignore -c "import gamera.toolkits.musicstaves.stafffinder_miyao; from gamera.toolkits import musicstaves" # ============================ # from ./rodan-main/Dockerfile diff --git a/python3-celery/Dockerfile b/python3-celery/Dockerfile index 6b2d9881e..44d8828fd 100644 --- a/python3-celery/Dockerfile +++ b/python3-celery/Dockerfile @@ -72,6 +72,12 @@ WORKDIR /gamera4-rodan/gamera-4 RUN python3 setup.py --nowx install WORKDIR /gamera4-rodan/musicstaves RUN python3 setup.py install +# Musicstaves installs as an isolated egg whose gamera/toolkits/ does not merge with +# gamera's (gamera's toolkits/__init__.py is empty, no extend_path). Move its package +# into the gamera egg so `import gamera.toolkits.musicstaves` resolves. Self-checks. +RUN cp -r /usr/local/lib/python3.11/site-packages/musicstaves-*.egg/gamera/toolkits/musicstaves \ + /usr/local/lib/python3.11/site-packages/gamera-*.egg/gamera/toolkits/ \ + && python3 -W ignore -c "import gamera.toolkits.musicstaves.stafffinder_miyao; from gamera.toolkits import musicstaves" # Change the concurency for python3 jobs RUN sed -i "s/concurrency=10/concurrency=3/g" /run/start-celery diff --git a/rodan-main/code/rodan/jobs/MEI_encoding/MEI_encoding.py b/rodan-main/code/rodan/jobs/MEI_encoding/MEI_encoding.py index 340cff171..f8538d01a 100644 --- a/rodan-main/code/rodan/jobs/MEI_encoding/MEI_encoding.py +++ b/rodan-main/code/rodan/jobs/MEI_encoding/MEI_encoding.py @@ -106,6 +106,7 @@ def run_my_task(self, inputs, settings, outputs): def test_my_task(self, testcase): import re + import xml.etree.ElementTree as ET input_jsomr = "/code/Rodan/rodan/test/files/mei-encoding-test-hpf.json" input_text = "/code/Rodan/rodan/test/files/mei-encoding-test-ta.json" input_col_data = "/code/Rodan/rodan/test/files/mei-encoding-test-csd.json" @@ -129,21 +130,18 @@ def test_my_task(self, testcase): # Read the gt and predicted result with open(output_path, "r") as fp: - predicted = [l.strip() for l in fp.readlines()] + predicted = fp.read() with open(gt_output_path, "r") as fp: - gt = [l.strip() for l in fp.readlines()] + gt = fp.read() - # The number lines should be identical - testcase.assertEqual(len(gt), len(predicted)) - - # also each line should be identical to its counterpart - # Since mei encoding creates unique ids, we use regex to replace each id with an underscore + # MEI encoding creates unique ids, so replace each id with an underscore. pattern = re.compile(r"m-\w{8}-\w{4}-\w{4}-\w{4}-\w{12}") - for i, (gt_line, pred_line) in enumerate(zip(gt, predicted)): - # Replace ids - gt_line = pattern.sub("_", gt_line) - pred_line = pattern.sub("_", pred_line) - # and compare if two meis are identical to each other - testcase.assertEqual(gt_line, pred_line, "Line {}".format(i)) + predicted = pattern.sub("_", predicted) + gt = pattern.sub("_", gt) + + # Compare canonicalized XML so attribute ordering does not matter. Python < 3.8 + # serialized attributes alphabetically while >= 3.8 preserves insertion order; the + # stored fixture predates 3.8. C14N normalizes ordering on both sides. + testcase.assertEqual(ET.canonicalize(gt), ET.canonicalize(predicted)) del predicted, gt \ No newline at end of file diff --git a/rodan-main/code/rodan/jobs/core.py b/rodan-main/code/rodan/jobs/core.py index db0a74819..ec8446188 100644 --- a/rodan-main/code/rodan/jobs/core.py +++ b/rodan-main/code/rodan/jobs/core.py @@ -55,7 +55,9 @@ def run(self, resource_id, claimed_mimetype=None): resource_info = resource_query.values("resource_type__mimetype", "resource_file")[0] with TemporaryDirectory() as tmpdir: - infile_path = resource_info["resource_file"] + infile_path = os.path.join( + settings.MEDIA_ROOT, resource_info["resource_file"] + ) tmpfile = os.path.join(tmpdir, "temp") if claimed_mimetype == "application/octet-stream": diff --git a/rodan-main/code/rodan/models/resource.py b/rodan-main/code/rodan/models/resource.py index c8c44395e..2f81800d5 100644 --- a/rodan-main/code/rodan/models/resource.py +++ b/rodan-main/code/rodan/models/resource.py @@ -14,9 +14,12 @@ def upload_path(resource_obj, filename): - _, ext = os.path.splitext(filename) + # Return a path relative to MEDIA_ROOT; default FileSystemStorage prepends + # MEDIA_ROOT itself. Django 4.1+ rejects absolute upload_to results via + # validate_file_name (SuspiciousFileOperation). return os.path.join( - resource_obj.resource_path, "original_file" + os.path.relpath(resource_obj.resource_path, settings.MEDIA_ROOT), + "original_file", ) diff --git a/rodan-main/code/rodan/test/files/ms73-068_miyao-staff-finder_png.png b/rodan-main/code/rodan/test/files/ms73-068_miyao-staff-finder_png.png index c750cd7aaa72d2869170cfd2eaf0788269cb1ed8..af3bf43b89e94da02b5f400fa7a5135b4c840adf 100644 GIT binary patch literal 29483 zcmeIbcU)8Lx-I&KXiy=bqKJfIK@p`XB_IeWN)Z7OrB{&-0fH2%;o}o5s1TZnQba(d zN;T9dh=#5Rp@b$)TIhr#a9><||L(bauYJzGXP>oxYoCRGWX>dW&P-;WGRAnujQ6i< zsiJpr?*agz)zvOu1Aqk&z;2Zt@CD%Z^3QO%*y*Zf=)U=U^B-c&n)4L^hk*LU^Vhwf zPjq*94is@-(#cg>--wN4HZHp55ml{u+g*Y7e!_uE@MYUMM3A)z07{LOod@9lR*^J# z{9_~pICL401WHkZC_p$tK?9&e!~pP801LoHbsPZqh+7+OU7oF=*h+=1O0iWRx4Obs z)7*jzTL9_r4GRfH!i8eM!i9(-)UHb|8jYL;cup^A@OUA*y(f@xM-2zQ1$=JrxlIsS z(_du*T#dc0?H4dlpAVw?tcnx7zjpvZxG%N4>&8V}B<&Ch;Z5(a@jr{{J5528(M{OT zoSncJ;@#TeIosRPWQ+io{M<}tK*tv8r-Db;_qSSo_mC#z;LAy7&J))jG^6f?(?E)M z#ygF#9l)N5Nz&hoN#cM@Oc%!ZIL z^fT|uY%sLL2EdgkUHhYQC~IP3IctvSkGp(~z08C$0jxwp)R4^)HqJ;*@A@F`wmwLs~GVXmDEv-y;7A4dylR zExX;&AneOPB&0SAIg8r?Ah-XGiHxL!p@TVstgxQpj{vSJHb^AoOW%*=1gXQ2e0;nx zhys_h7p29eV4OA1OOcPkr664D!f-smbEAFyd>|Wn4?IgRk<`r4i$xz%Aw}=&5Yq!m zhl?0|7NTi1;4XJOPwMv(#3ND-gqU3ASu{Y6uGN7(E`q=-4v%CV==;Xm0WdIR9*d+# zEyxwRv#1nEk!=OAO5+KyZoewHAx(Y^pXi?C9X|06@dsSJw4ce>belB!16;qBn!FH~ zQP$Q4R3R;tdu!Bg#GM2of1mS$YWo>X5;I)gf8%7=tRta9)_-qbQOQv!tSuqvDIPiJ zU}5@YdmLIEVxucB-&Al?fo=qiEc5K`m{=z_prGf+PUTS3P8ypdT_ZmW2Bk?we>bN| zBfKMou+8^S11s?`s3nM)*E#DEkLsFKL9QG;&>-%5hBJVtDgLTu!bk&oHE|H7;#!)y zAPqFbX-fQq5}=z%Q*!?<1+3nQZGw`u&Fc@urGGQnHhk4{m=xnkyG%(W0iJ}!`#U98 zrOcT~vVj2hdY^#wP?~9XTcQ4b;My1!Z&Pri zJ?|iBe>j*{;_xQxErOt|hC`*KAP8-0xRtbA1YuYmw{kcKK@e5P83|+~2tn-vyCLOX zZ>@mDoGbqC$i!DRlZ0%pAvAvNvZ15-4zef=M6^Ld08^4Vj8CImQsO&dyjn_1iwjcF zN(pVKwBsa%-9y{sLH#hU9gON2tS0uz0T}aTV}5a8N>j^vmbomH;J$KuS#n#Y#E-(= z)#-;-Q_)v6@yIK6(nr8&SU7cM>c($4AbA{TdRIUQhqJ>J2IQO>LUEC=)jr$hd>=h6 zL_s$v8oQN`2Np(k0N=daZAsRuBBhHqVE3(Bbn`tceuwYv;By2G+~DD8S4@9%AOd~$ z$=ze%yoRi&wgTfefpfEhUhnDe6yZr?frZdXH$OX7N{I?)5a8egekZhA?exp=6Z_q?>B_JJWb79}Af=I41wb^lnolc3nZfJyT8 za!p$sC{w~CHSHwxsF%!;)2CT92rCW?MVLb%RD1}PmfIa&ZZB{JgWOEx}r93_cE0%RFI=_T;I&p)84Xj4e#Di3x#32Z3;33T#+H>|Lxr?uc_1!N(F}gZ<}7v) z^j+dhe047L0Hfo={_|)sp@o-tw@{-BfNvyio<7BQZ0sPg3mZ)1U}zXwA%Sxwt>Cgc z5(MX3?fkdN`0tv=-$Zv>FrQ=r1V;^_)TqMQ8(=~ikG$Ho*_`rVM2mG=GOY>ZX%+{) zgHg-Z<%nAQ#n9;_C&BkDwT+D(kioF-mHl)(thmd`8C`Ghwu`k7Q<|X{PloZy|v$UHrTl0%t}eVSRfnNeUy}}JrZ3enm#&z ztx>gYoT07z9bAnb3}KkmOiC1w)GI!eiFwFh?jch5=?Nf&sNvpQDU&Mp78eK5uPvI% z`7e|jK0|{Ab=+{<)I|dgq!LyDJ8-t^Zc1++3ak`!MSravVx0dV-Q97zI)fby!-87> zNre}yKn>{?xd?y&R?}PJ8TCoPLXqN4QlaRlaTI9R!nY8-h#i$Apd==*pw2Qc0mQ|1 z|EHMbZxUWxLg|(~yd{eN`%wTPc$1gCz6HSp0Z`jQ2Y1PB zSSZ=;@{)XfV-w)mHFjU3a$~$h2T>LdPx$Sl+R1#dc1E`6ncu5M?S-oY9R--gGSuTE zB*f3|5ONGvNfY7;oRi#T6*FWOZ1|FPbFz2ue~d+d#N#iSbW676&`}&Y=&R^5=m_5%EX~$ut_5YaQ5b@v8JDRq z2cn%Eg|WEVHDF|nEYpUp?}LILXjQ`zzRJAZlXMz#JM*R=MtVp|*uQW0<4o%u2*Vxk zwk4e|{?S>^on#9)NO)M{sfgl=hCJ`%C{J98K0;|f5n~~k9#Ob@62!uK&sm&kcAI6p z1rqiFr;aa1Cdg?BTElRwal@%Hlzeah|r5mi;2O_ zpQOM@DHcD3403rY7&NOiH$} zOdH2s%T5@n>v~!(6>O9?b7w_{a^?1W2;9?C4*3 zcXRzI{CeTk&>=aqL7xQ#5I;!KY{KbJJaqQ`T0P#YU6D0|kcS-di8lVd>9y|{&>#tu zMw6rm+<<&GiJchlX=ev4)QIty=cRx+3;c$`p|MR+00{5?Gjpux3LRxbL+1V7M*$&5 zjo#)Y>I6wh$9Bibyq~z!oDrBnWfaofAXWqY3S{N1tD`7o>kC`xA zCQg-NIGdq@0223hkd-0mC<<>ScfogPsrfwi zOW9-6e0DHvvxS8beXg3f77n-slMz=)hrszs;B}5(e&%_N71#KQS;bSS%^&xw%=4f_x&%wf;D~KI%5>s7@kgh)ku0Y zbbPOR^UA+u=I4$ z#t)J^g2?maT!cj+F@F68enmw;Q6cp`e?$ieKSmmDxOC3^`eK=BRvaS9o)|CP5Z^@Q z+g8|yBJioQFvlu1RL22z)^!+ z-P9t#%CBYXYn`LI9ihBy!H|AO4Q3a)+?$dIWFBE*+3+tY086LVw{`#w46fChozn1w zXZ`*XKJZR*iT`H+yzdUKdq|Y}2LiAZwu#|i2f~gBK+SJp{y)stRr`TbTO#i}ClfFS zn^DW&0!Lv@2G}QMlFhOQ^;^CRyFb+zdH)!i)Ih;!(T{Z}tQ*iE6-%$bUw=k?_G=%etvjsa`w<-wl*v0+&0;D??sh=L0HWlqc z*ag8xoxwT$-FmItf68pS&Uv#FS~zH4pZ6~wxZ}TcgD?zR?#dR2o#?B&PO zHc$gI&8$JHVEsroq6A8sdJRv%59Pg$^)&}cr=Ygv{HkF6&M&;_qTQ`%v^Y!<9t$B; z9BNi&CR?8$Kp3&urfHOM6FjzzRO)l?F7Oaq;U+w|LJHD+*5D|FR+5&2(9msZJU6?dOaUPsD04Rtoc;Yc0@=U+}xS07AJMuI9|GU-XIbOO^X>paF9PZC=|( zG4HJ-cnwv}Cm8#3t+=lAXyJ?)6hYM6j~H|1U~^y=CgF;S*g6v^Xo!lhYG`RSGX+XQ zX|(A-rm|)(%Vybq{SL^eG#XEKPgGasBv3-9(dH-cs!o^CKvEsw^04LYieEOB#@`3V0zU;qr@s*Y>Z~X0g|t^qD~O?o~Yh5&6%H?0Z0xWf~1ZA?r~AD372i z#(4Qk>$k7KjtMwp{ABBfje8@i_+00oAc2KU8cqL?JLT& zKLr7fTi5dD_blxIgk|`8mwo+Y*G@p@PoudQ_xAkQ1_*I5eSp&U|E1Gq5jN5kzr<3T zV6&%>22q5td~(ldm=)~t7_jJ;o-rg1L1bTCYSfLhNEeuAu2lTMQGz~%6Ym!-Eq#^t z%D^`B^h-d#gAUpWu5x`(za#QC2!5Tws30m&)~DCmQ4`GrWuNAxoCjuF#zvKx&o8;{ z{(!(W2I>iZ7yNm@bPZEKa@%bVD#WSV%ah-1mufEm^n#VZTb`fYX}m{V2GZT0h0A7j z4i-0Ij-sVo3o}vg)nV5h&njQIB}J}-sPdM4?he<@?kQ-9cIAT5^7g2YUU`M*&7&X` z78~>u`lpBNrMcO;fyA6{qkTW5*_!3y&>_2}xDy zZEE?z>^^DW4n?H;l-k3?l{9DYG+GGDn(1H#aqH4?lI0<}V?_oif~h+0we7~?0=SA& z$EmHzzr7?0ZfoPKQkQ0J(P)q#L94fAyypB0$VZ9s2!GmlZf?*XF_@+yrdoIp1>Q!` z3P$a99qmBU0jcrq z?1HU}SC?*HH*(3Z{Q5;Gr`0z`tx~ncTs9I+ju%ZqZICL!$jR8V5SgXu2es;U@<$@G z=pV)wNHEQ*OP3hAKM92{vI2x>|Dgo+pMk)?_y3=6NZy#}?(%ti7Tndzt6W&mdG6nz z?2WR%z+`2TX>FXbZ}&#pp8NlvC2l#(w)}KkF2esn*!^n>_q{Uf03e7&S-v(FLy~p& zshSYVPrl_&+6g5FTew8RrJJ=l^R^^75w~!+=0X{wbK%6s0-gRgrWJ%j3{-x~u{&Zw z2sFv6A8Iaa^;x-i13A5&f|hg|O5#K5pp_u(Dat#qo%q@Tv>hV_-COW6QbIPLg|w)6 zed)Fb&H=0pg&iZmXc+c2kr77ZN~n@fdQBk$0h`>;^lKRKr&VH(-3KkM092wl{Z%HebF-{U9p` z`n<#NE$MpPK3u5nXi#Pw6|X0`|7+l&B$z%$(bP)Wv!<$r1didfdhzmP3GT^k$nZ$}^qu;%*ikN&`<`FAPukM}5IJ4zkEeGs-kp8iTe2*7YF#9#8U^g)1}k(z z&PK(DIKR%E>N2uNg4-XeiIEL;Dh_ zAOjBZSh$`X(f42>KlaFQ2h6)PB?b60;mp7bu^waK92-MTSkfAmPM_*ZNDJ?3?;n5D_cV6AoWN zhtr;j&X|1WpFa;_LV+s2vc=Cu1Maq{PG{QzgFQi=J}Kk?2&R#=JtrYdVWF&vKte$l zXslb)i-3XpOYJu_4m956s1twBS@ZucEci<;{1k2Zn!nN@q`$ir7+i5H*#6Uec@gt3 z0jI>MV8a1D7zGdj{jR5Hpe(EFVt#a|k}^cc#n*ISr-v4((|{?Q_$G*m@6L2UEJ2aB z#BFS(a$9z!!x9(8gnibXX&&Ngk>&4?hK86yvoHl+-M|}b^Q^0I`F6L@onuNI5WxnM zwr9PM^?GsbNDkuJ5V|+$9sZz*6d$jr*@uOxV+ljgo7n0==~0s9NYval9udS+%>84z z9N$*5=9<@B4Rz83_{>oRt`u7Hq2*uXqi3dtB<|Y-&!!XDD=F#eZfXbu zvkEDhRjcWAa2kq03d85?bFTz(G$Y8;0@$_PUpc%lB9(lv2wUzcPD$^S(KJ9R!AdOg z=z*D@NU$s9HQ_Yc)wX=^B>*^{8sIN}+Idz%w*`=|h2i-LC2dWB92170YBN(dK8M_- zW4_-ktXXaWK+- zMv`3gJY<;*U&1M$9L2xT!rk}{04D16SU&A0Q@R3FQkwn(Xp0x11VXO(Ykl$`!-}|3 zWClQte&YsJGnR?KK|$xr4b9yE20Evim~xpV&XhjR88-xnnoMwnl+!!da?ijmn9p!0 zSq|fo^I5E3x|fchN!ey01)tuYbas-fMoNA-fmLdHkcqNO)WH#C&Dc*;zf$>{c3ulf zP7n<8dq27|p}>=Y@PT%%suSi>$78@juZ~|0h7&PAWSGfCFp@7sDmU0ZHUab1)q7>qTzVCbT~bEEno6?t;@)Y` zd;rKu)S^wj-9C=ou(tzCk9BZ%WWD{9Gwi@oycVrtZ>bO(@|%Dy*|o$#uGM^wf@aUV zpOuX0v#TFU!^G~+j<2+4@IE;L`b6H5eJXh5i=Hq6e~EX08uGopL*j#-ldPqVGdsaP z5@`0*uNkU>GF+5~N3%a>k5o$oSE%MEKjOHI1QXG*+H_SC>(SV+JmFqlUJiCt%M&WE z5un04s?>2P;13Vd>P83SdoruGpiSi)hYx5lEk)@L_Nw~I5&G68TQ6q=ayvm1wy=lC z0fu1ies|Kw^A)fD{dr2)yWsE{)=T{XnS?yO?3@$7-n`8UgrW?5DY8f3&CJZ01i;g} zwV%n6=GH|?C}6>qLTfUF1yuN=5ggZl|8G=G|1lEgzZVet$1OZt*YW>zf7)1Y8yxqc zPgY$mHbYrpA0T&u&}%BO=XNq}qSc8lXp{FYosE7k1c%j zF4-2)Hxvnkr*zeN9gbxnF2L>+xpp-pk6Q*BXUSP-o+C-D$}d{8Pia>yRb+@M_WZ1B zQDs+jDbGd|rsC?*uELRW3zwX|B3py6qn=qtVUomLxaXBEwfJ+gba6OYmPV#M9ZHc9 zkN5;Q*Ogc#EJ_-k3u;3d+1%VoX74;()!oL~IA)b4Z?S1ndnDBH^UF>$4-wN|I;xz* zb`M;9T8F+UdE4mLVKli$0PC8bY!INThHOT|fzLN};mXukh<1JoTC-hQxbo;LgbZvm zl_#lQe~MO39})fRlGL3)9#3#7KeXA38zMY9_Z1kfoEe6?D-Eu~;l}*}9 zi?4j#lUbFeuCs#B!zBBw?7>aN6cd;A)n5$~*(~68lW~7;iOJPORnp{lprk8+t>b3g z=B*eXKOmR-6ncGb-P~zj+ID;G4y~j|>qCIYF+kuuIE3r5nS18q`6&Hp{m}5UlnkyX zD6n*t6slmBSsZqjPorY>-6S-R9VGg4EjH6U<|W!+L1{XIc2qOQtK3w$iv=WMiK}00 zhMXTl7ZZc*77UAse{|C?h$1R5oF5}w)K_z-_!=oh?cqYj_ z2CnkfJl}>I_UFi(GxfsGOzwHUw?u&?$*L@Zr7{@=>EM8mUWnyu$NBsbjXqx$XrIs{ zEwd-xXf$9_%6TQ-yfcLc>fsh#V+@LKg2}lAE7Q7`3@{NyqJeu|JOAadxxUt^2e_D~ zp(5RWmtBzF+yyWYyJws&b}9F}%3tY8`Z#f=4KlSeu^5Y;4#mz4ZBOfY((HP462vCG z>bNAUv$4Jjtpv_E=#m`9W#7%TIa!F7tUH0teUFXs3#3~={gS`GSptUYQoMnWV$JHJ zu^E@9j=!%}u~=KFY=p_0x8OA8dvWc|#cdM_gCUcnMn$@|zn(FZp@HI8Qdnr(U5UCk zRfp~(7NH^GQ6(;$%3khlK47%!{Mm9pK@LtaUvN9LC6;08MD-**K2CdK1D3N`K!qTw zqy0~VmE})=-tJ%UT%SLA6+q#AxIF&+u0 z4O}f$NQoy?0{Q)A6hEeKi+>(sgo`n1+{n!B8LNU{ZL9#}Q`lS>?=3r7+^9*`eav>S z6gRlu(%EJ2q%b}*zW<0X0;mWuekd#skJ)c{AT(?NVY?bVVmO49zNhB*)W#~sd-7Gq z5S+ox6(xw$9>wkq;O0&&i@At=I0(OqjHM2dhwyGbJV5q)$>6?|5p-RJ~BWm4U2- zMs{Pqbp5FQU#jbZ%kIWC3(M)1M)!`%pvR>-jV6oups0ZU(=RbgyP_rRVPh+e^LmXE zvjBE}Xnnuw(4zm!un%kUYX4x55%#I4`U}xT)`hbpwqrCt0`H8iww;>n1)nvGZ`H&} zRb5pL@wFYLKRgw4j;RI`7Py8&tfkJ}_f9dm?lC|NuGvS6hZqd54y?cI7 zMT_KPjVk{Dw;oaVCvg>>EN9S}nTXCqBtvRfyXkTL17SUQuZM{)Ms5tJclJUT4iJoo z@e)n14Br+jS3P=`H;!FD%JXDkKkz?O>+g2&0LP<%FHNVHPsb_xnP&5SU*}f^;<1AY zLe#*ZWPj)bR)=Kb|#{NF}7eSIQtoPm3-D)i5m8162f<;}|%mc&+ zRsrE0k;d=Oo%7tRf<339^UO2B`htL&<3hZv8C`dbC-WQiSvPOf3p|~le_0p#Y;NvO zLu#e(T-Az~+xt@^K5{H}Kf;ny17l)}gh4a6t+1?I{fVLZpq|oV>-B)KrMa(oIL~$6 zM_m1JqG8P@c--Q*ikRLzTXYNoIt57P_G7|+MSFn~6oxiOF8@djbzxsM92ouOcLDxJ zuGN3RS*NHP9#yH}tZftqm}OkXEWLmuR4+;Fv;>C+X#Z|MtWsxcteUR@Dj?D_P(B!< zYoJJ>#`yYj!6x+#v!rgnzDY!5C=ES{xXTPhMDAgjaiN7v&65c!-<7b_NceP*WBpap z7P>`;-h2UKQ^F(Ml|R*`Uf9*M^d=K!u<5&@ue`08v85}TS?Io=gPkVv83p6t)8 z#>V-?ouJ`XrHoo9v&F$rq7IJxs#eY)t8!D-IozFD`j5v#0`Q>k0zNToM!}7_z{~|l z8kK(l2*uSO)sceUUzUpQ*ye<^+Nw=BDI>i<#+{u>3^|KOb2I>&#NHUD=t)PG!@yA?fue`9@{?xtW_bakvv15A9= zVH53=nm?~6P8R(IM?QV0R7Xjg!uui~(&{<8I+P@V28U>-Rx^1oPdQ@6GAjOHPYu5H z8&CW;RNsDz|KS623|TMFg8So-17c8RrZ3XXkF`ny#R%GJ@udXK@+SSG10Gx<$-+Em zS-RT?TMY%xNIku{@-zCi}Cmy|*E-KoD2staYu7NWYq~*x;Aa zKhLhzj@^9`Sjc6{=UaU0$zp3=D_?d1ZDAKVK%G7+dRN@f?_mEBH~T5Zjf8gSZCd>u zg|(Q9|2w$j-#w>(j|vx)o^Rv~O}3`JVWFV_8d}&UL(51R&+@cJq98OkPw4g^YJBL^ zVl^%_&>*z{N55J#gPL;EPogiOP8jRfE%UQ4+E%ufwNH-CW#oJ+VroB_LOVJlXrS#m zH}US8SE|W+94VF4?@*Mr3%$j(p|pZo9^8QlaY43pD*Z?3ybOC+tL4)<>THGnN0R`5 zE<0+PoA}ocpGDO=ODBC>3!N ze=%tt=wwKEtVS3l=;Bdk4<3K6CO*m5 zWyK}L^`7f`lnq2vtxhDcM(Q`a^w8i>-RxCD6;uJak#ZDioE3Ca!95 zB-Yk-Z{#SdGg!~AFZ=Y0vL6Vj)CBF%C1T2sy@Y1uXdRqIX7PcnqOsCmY8|6@ml8Az zP8uy$2YMyE7&{ucOXhr6#N5P;6pMi~aw2LlAV=Yj&>+IO6Y)ka(6dy^JCMPczvcBd zMW=Cq?rcdl9~@g7=`rC20RsX-Em0`#<2Eh4wAhioJG<#jUcUxj_$qA<`_T0>UOjbp z?)EZeB8=QZWr7blbs+Ip4aJwmO*lCeWUK@*UpNeYIH>}U^PBKw2 zRWN5P7qcsizzD^cxGpcAS()(qDPz5UMn{D%5~&(u|jO* zd%1MkJ0QTN{;>58F?T+q_kC=b==taFVMWsFXeQz(I_DiL;%c$1qJ4UBTAUkyhRJ6y zd99FsAAAm;CDFUK=DB;!?WX$S*S%d9pLU^B{l>12U8D9{UrK@iv=gsqkyF%i{ zA8-`k;kjC@O$vNqb?@MJJDNpzl zZTW#8N?+Kpr(kvRXU+7?a`~l!=t^Fl0g!u`=-ZGGZpzSGrRfaY%RJM4w}Fd|S^lx6 zAep`Pb0VTScwk}m!@PT>@y!9sn_k97<&{!)6Rc?m2k1k_8GJnMui8($_}oRG%= z#8s|;&F}JFSy+nwv12=#Qw`@WSc&mw)OKYZXB>mxk1}Xi!7QFL2q=Hv)Of06W3~7P z0YyHkj_b=CIG`C&=@7%g_6nFlgJ|Oi3^T8mHZ!5=_rPrdUU)cg>-sGy{bn5hln)Co zquUMQ-MG?HV-e7?8$nC2=@%?rfU+<<=Gf4?nZcuN@V8x_Kqp^|`k#)j0MIR>R*PFK z>7>ld@J`Qgn&5g5E!MCOfW*3LA|@?eV5xPr8HR1VP1Gte=W@a#*8H&zX;>%d!( z=&Lgzey`rDt!C~H5lQ|iz&Pt)xHKJfbdcz4ZBsVgdVU+gh0~1l?ixkYx`qizvMQ10 z)U%Z7C3)mF-Ndo7gC`w$L&vM=%8ekebA~l3j$x)ne{J<%i~T*tpLs7K z-hYDA#9eb$3;qK<1Z`*~UE->=>YiaIP~o%(gs;GF1>X1z&7|E38!gHt&Bo zI<7+@%i8nH!nTA(bBRfX+m@m=^`HGKy)x!!25Yv5j!3kA1Z3OUS&H^_x;lA4JJ|FM zm3cA2_qa@K#q3%e^4$DY{D!?KW5msX$-+tiEB~p?Acn@`PDWbnfp&Lw|C|@Wf*@ZV z=WYAZZ#&OsY}N_(zi7xPcVnoe05TJtK7`h+v8eY>{t(u1+qb=slY%bm{NQo3@vQxt z$LGq;pjX57O+K2-InVFm9{ka!_AQ6VI)Jm`td;KjoQ97)0-LJt*Zmqihk(c{v zFXc%^FPZhTFLqCY-19_V+t#V|v|b4O{PaWKO$b-ntjqKxcAQjGyJ?T}#hoHu8g~22Ao3 zCLP&7R;1lIf8=(gcUSHm2lCKO4}co!CUnZY+T_z)4_nt@D-O2O;IEc~kjYo@#?-x} z&Hp1{D^0f2WGhYnYMN}N##U-oGO1M=Cw<_UQCH$wYgui-myqjYUz&cyZ z_o?FL4vSQ%9_L?kAX^c#l?z+N e;s0c{+<$4?`RsF;;q}dmtbR%BV)g}#KmH##voXE^ literal 16726 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 Date: Fri, 10 Jul 2026 11:49:13 -0400 Subject: [PATCH 12/18] Fix: Add cuda env to gpu-celery manifest --- k8s/33-gpu-celery.yaml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/k8s/33-gpu-celery.yaml b/k8s/33-gpu-celery.yaml index 470802b20..1d9131280 100644 --- a/k8s/33-gpu-celery.yaml +++ b/k8s/33-gpu-celery.yaml @@ -53,6 +53,14 @@ spec: value: "MIG-a724b14d-5057-529c-b9ef-87ebd0d2d92d" - name: NVIDIA_DRIVER_CAPABILITIES value: "compute,utility" + # TF 2.15.1 has no sm_90 (Hopper) cubins, so kernels JIT-compile from PTX on first use + # (gpu_device.cc warns "could take 30 minutes"). Persist that JIT cache on the resources + # PVC (instead of the ephemeral /root/.nv) and raise its cap to the 4 GiB max so large + # fused kernels don't evict — the compile then happens once, not on every pod restart. + - name: CUDA_CACHE_PATH + value: "/rodan/data/.cuda-cache" + - name: CUDA_CACHE_MAXSIZE + value: "4294967296" # 4 GiB (CUDA hard max); default is only ~1 GiB volumeMounts: - name: resources mountPath: /rodan/data From 70e05dc0a03b1eacd6975485e8bf912e5c8f9fce Mon Sep 17 00:00:00 2001 From: amirsadraabdollahi Date: Fri, 10 Jul 2026 13:11:43 -0400 Subject: [PATCH 13/18] Fix: change 'is' to '==' --- .../jobs/diagonal_neume_slicing/ProjectionSplitting.py | 4 ++-- .../rodan/jobs/diagonal_neume_slicing/SliceFinding.py | 6 +++--- .../rodan/jobs/heuristic_pitch_finding/PitchFinding.py | 8 ++++---- .../rodan/jobs/heuristic_pitch_finding/StaffFinding.py | 4 ++-- 4 files changed, 11 insertions(+), 11 deletions(-) diff --git a/rodan-main/code/rodan/jobs/diagonal_neume_slicing/ProjectionSplitting.py b/rodan-main/code/rodan/jobs/diagonal_neume_slicing/ProjectionSplitting.py index 754058911..a1d2719d9 100644 --- a/rodan-main/code/rodan/jobs/diagonal_neume_slicing/ProjectionSplitting.py +++ b/rodan-main/code/rodan/jobs/diagonal_neume_slicing/ProjectionSplitting.py @@ -223,8 +223,8 @@ def _split(self, image, pos, dim, rotation): rcp = self._get_center_of_image(r_image) # rotated center point # rotated image points - r_p1 = (pos, r_rows) if dim is 'x' else (0, pos) # left / bottom - r_p2 = (pos, 0) if dim is 'x' else (r_cols, pos) # top / right + r_p1 = (pos, r_rows) if dim == 'x' else (0, pos) # left / bottom + r_p2 = (pos, 0) if dim == 'x' else (r_cols, pos) # top / right # print r_p1, r_p2 # # show rotated cuts diff --git a/rodan-main/code/rodan/jobs/diagonal_neume_slicing/SliceFinding.py b/rodan-main/code/rodan/jobs/diagonal_neume_slicing/SliceFinding.py index 10246b24f..785b864bb 100644 --- a/rodan-main/code/rodan/jobs/diagonal_neume_slicing/SliceFinding.py +++ b/rodan-main/code/rodan/jobs/diagonal_neume_slicing/SliceFinding.py @@ -120,13 +120,13 @@ def _arrayify_projection(self, projection): for i, x in enumerate(projection[1:]): # found max - if projection[i] > x and direction is 'up': + if projection[i] > x and direction == 'up': projection_spaces.append(projection[start_pos:i + 1]) start_pos = i + 1 direction = 'down' # found min - elif projection[i] < x and direction is 'down': + elif projection[i] < x and direction == 'down': projection_spaces.append(projection[start_pos:i + 1]) start_pos = i + 1 direction = 'up' @@ -189,7 +189,7 @@ def _get_extrema(self, arrays): def _find_slices(self, mm, dim): minima, maxima = mm slices = [] - rel_max = self.x_max_proj if dim is 'x' else self.y_max_proj + rel_max = self.x_max_proj if dim == 'x' else self.y_max_proj for i, m in enumerate(maxima[:-1]): peak_L, peak_R = maxima[i], maxima[i + 1] diff --git a/rodan-main/code/rodan/jobs/heuristic_pitch_finding/PitchFinding.py b/rodan-main/code/rodan/jobs/heuristic_pitch_finding/PitchFinding.py index a46ecc32d..a5dbbc7cd 100644 --- a/rodan-main/code/rodan/jobs/heuristic_pitch_finding/PitchFinding.py +++ b/rodan-main/code/rodan/jobs/heuristic_pitch_finding/PitchFinding.py @@ -327,18 +327,18 @@ def _find_distance_between_line_and_point(self, p1, p2, p3): line_type = ('vertical' if x1 == x2 else 'horizontal') - if line_type is 'vertical': + if line_type == 'vertical': perp = y3 < max([y1, y2]) and y3 > min([y1, y2]) - elif line_type is 'horizontal': + elif line_type == 'horizontal': perp = x3 < max([x1, x2]) and x3 > min([x1, x2]) if not perp: s1 = self._find_distance_between_points(p3, p1) s2 = self._find_distance_between_points(p3, p2) return min([s1, s2]) - elif line_type is 'vertical': + elif line_type == 'vertical': return abs(float(x3 - x1)) - elif line_type is 'horizontal': + elif line_type == 'horizontal': return abs(float(y3 - y1)) def _find_distance_between_points(self, p1, p2): diff --git a/rodan-main/code/rodan/jobs/heuristic_pitch_finding/StaffFinding.py b/rodan-main/code/rodan/jobs/heuristic_pitch_finding/StaffFinding.py index b36399fd8..7bfe69031 100644 --- a/rodan-main/code/rodan/jobs/heuristic_pitch_finding/StaffFinding.py +++ b/rodan-main/code/rodan/jobs/heuristic_pitch_finding/StaffFinding.py @@ -109,9 +109,9 @@ def _binarize_image(self, image): def _get_staff_finding_algorithm(self, image, sfnd_alg): if sfnd_alg == 0: return musicstaves.StaffFinder_miyao(image) - elif sfnd_alg is 1: + elif sfnd_alg == 1: return musicstaves.StaffFinder_dalitz(image) - elif sfnd_alg is 2: + elif sfnd_alg == 2: return musicstaves.StaffFinder_projections(image) else: raise AomrStaffFinderNotFoundError("The staff finding algorithm was not found.") From e5497b75e601dd9b22f0554fbe7cf8fa6e19772d Mon Sep 17 00:00:00 2001 From: amirsadraabdollahi Date: Fri, 10 Jul 2026 16:14:22 -0400 Subject: [PATCH 14/18] Feat: Add test for SAE --- .../jobs/SAE_binarization/SAE_binarization.py | 19 +++++++++++++++++ .../code/rodan/jobs/staff_distance/base.py | 21 ++++++++++++++++++- 2 files changed, 39 insertions(+), 1 deletion(-) diff --git a/rodan-main/code/rodan/jobs/SAE_binarization/SAE_binarization.py b/rodan-main/code/rodan/jobs/SAE_binarization/SAE_binarization.py index 9c6212652..a6f48dcb6 100644 --- a/rodan-main/code/rodan/jobs/SAE_binarization/SAE_binarization.py +++ b/rodan-main/code/rodan/jobs/SAE_binarization/SAE_binarization.py @@ -39,5 +39,24 @@ def run_my_task(self, inputs, settings, outputs): os.rename(save_image_path,outputs['RGB PNG image'][0]['resource_path']) return True + def test_my_task(self, testcase): + # The SAE engine (TensorFlow + model weights) is only installed in the GPU + # worker image; skip gracefully elsewhere (e.g. the CPU-only CI image) so + # test_all_jobs stays green. Real coverage runs on the GPU worker. + try: + from SAE_binarization.binarize.binarize import run_binarize # noqa: F401 + except ImportError: + return + import cv2 + input_image = "/code/Rodan/rodan/test/files/lenna_convert2Rgb-png_greyscale-png_output.png" + output_path = testcase.new_available_path() + inputs = {'Image': [{'resource_type': 'image/rgb+png', 'resource_path': input_image}]} + outputs = {'RGB PNG image': [{'resource_type': 'image/rgba+png', 'resource_path': output_path}]} + self.run_my_task(inputs, {}, outputs) + testcase.assertTrue(os.path.isfile(output_path)) + result = cv2.imread(output_path, cv2.IMREAD_UNCHANGED) + testcase.assertIsNotNone(result) + testcase.assertGreater(result.size, 0) + def my_error_information(self, exc, traceback): return diff --git a/rodan-main/code/rodan/jobs/staff_distance/base.py b/rodan-main/code/rodan/jobs/staff_distance/base.py index 7b10356fb..1be370b62 100644 --- a/rodan-main/code/rodan/jobs/staff_distance/base.py +++ b/rodan-main/code/rodan/jobs/staff_distance/base.py @@ -51,4 +51,23 @@ def run_my_task(self, inputs, settings, outputs): json.dump(out_json, f) - return True \ No newline at end of file + return True + + def test_my_task(self, testcase): + # count_lines depends on scikit-image; skip gracefully where it is not + # installed so test_all_jobs stays green. Uses a real chant-manuscript + # fixture (CF-005.png) so the staff-line spacing is well-defined (a + # staff-less image would yield distance 0 -> ZeroDivision on 64/distance). + try: + import skimage # noqa: F401 + except ImportError: + return + input_image = "/code/Rodan/rodan/test/files/CF-005.png" + output_path = testcase.new_available_path() + inputs = {'Input Image': [{'resource_type': 'image/rgb+png', 'resource_path': input_image}]} + outputs = {'Resize Ratio': [{'resource_type': 'application/json', 'resource_path': output_path}]} + self.run_my_task(inputs, {}, outputs) + with open(output_path) as f: + result = json.load(f) + testcase.assertGreater(result['distance'], 0) + testcase.assertAlmostEqual(result['ratio'], 64 / result['distance']) \ No newline at end of file From 80625e834f9d02c6a4b8bf307be7f8b6a690d098 Mon Sep 17 00:00:00 2001 From: amirsadraabdollahi Date: Fri, 10 Jul 2026 19:14:20 -0400 Subject: [PATCH 15/18] Feat: port text_alignment GPU job to py3.11 / TF2.15 (upstream calamari-ocr 2.3.1) --- gpu-celery/Dockerfile | 6 +-- rodan-main/code/requirements.txt | 8 ++- .../text_alignment/image_preprocessing.py | 4 +- .../models/salzinnes_stgall.json | 2 +- .../models/salzinnes_stgall/fingerprint.pb | 1 + .../models/salzinnes_stgall/keras_metadata.pb | 47 ++++++++++++++++++ .../models/salzinnes_stgall/saved_model.pb | Bin 0 -> 6173907 bytes .../variables/variables.data-00000-of-00001} | Bin 18677320 -> 18652489 bytes .../variables/variables.index | Bin 0 -> 1652 bytes .../jobs/text_alignment/requirements.txt | 20 ++++---- .../jobs/text_alignment/text_alignment.py | 25 ++++++++++ rodan-main/code/rodan/registerJobs.yaml | 11 ++-- scripts/install_gpu_rodan_jobs | 9 ++-- 13 files changed, 103 insertions(+), 30 deletions(-) create mode 100644 rodan-main/code/rodan/jobs/text_alignment/models/salzinnes_stgall/fingerprint.pb create mode 100644 rodan-main/code/rodan/jobs/text_alignment/models/salzinnes_stgall/keras_metadata.pb create mode 100644 rodan-main/code/rodan/jobs/text_alignment/models/salzinnes_stgall/saved_model.pb rename rodan-main/code/rodan/jobs/text_alignment/models/{salzinnes_stgall.h5 => salzinnes_stgall/variables/variables.data-00000-of-00001} (99%) create mode 100644 rodan-main/code/rodan/jobs/text_alignment/models/salzinnes_stgall/variables/variables.index diff --git a/gpu-celery/Dockerfile b/gpu-celery/Dockerfile index 66dbc03d9..a36d16f22 100644 --- a/gpu-celery/Dockerfile +++ b/gpu-celery/Dockerfile @@ -6,8 +6,8 @@ # nvidia/cuda:11.2 + TF 2.5.1 + py3.7 base, which cannot run on Hopper. # # This worker serves only the BASE + GPU job queues (CELERY_JOB_QUEUE=GPU), so it needs no -# Gamera. GPU jobs: Paco_classifier, background_removal, SAE_binarization (TF 2.15) and -# staff_distance (skimage/cv2). text_alignment is deferred (see scripts/install_gpu_rodan_jobs). +# Gamera. GPU jobs: Paco_classifier, background_removal, SAE_binarization (TF 2.15), +# staff_distance (skimage/cv2), and text_alignment (Calamari-OCR / ocrd-fork-tfaip 1.2.7). FROM python:3.11-slim ARG BRANCHES @@ -59,7 +59,7 @@ RUN pip3 install --no-cache-dir "tensorflow[and-cuda]==2.15.1" # Rodan Python deps. RUN pip3 install --no-cache-dir -r /code/Rodan/requirements.txt -# GPU job packages (py311 branches; text_alignment deferred). Their `tensorflow==2.15.1` +# GPU job packages (py311 branches + text_alignment's calamari). Their `tensorflow==2.15.1` # pin is already satisfied by tensorflow[and-cuda] above, so pip does not reinstall TF. RUN set -e \ && mkdir -p /code/jobs \ diff --git a/rodan-main/code/requirements.txt b/rodan-main/code/requirements.txt index 1c8296aee..0e154a63c 100755 --- a/rodan-main/code/requirements.txt +++ b/rodan-main/code/requirements.txt @@ -62,8 +62,6 @@ model-bakery==1.17.0 # was model-mommy; test imports change model_mom # filters / morphology / transform); 0.22 supports py3.11 + numpy 1.26. scikit-image==0.22.0 -# text_alignment (DEFERRED — Phase 5; calamari-ocr 1.0 + tfaip 1.0 are dead / TF-2.5-locked) -#numpy==1.17.3 -#tensorflow==2.3.2 -#calamari-ocr==1.0.5 -#Unidecode==1.0.22 +# text_alignment's OCR engine (calamari-ocr==2.3.1, py3.11 + TF2.15 via ocrd-fork-tfaip +# 1.2.7) is installed on the GPU worker by scripts/install_gpu_rodan_jobs, not from here — +# the job registers on non-GPU images via its guarded import. diff --git a/rodan-main/code/rodan/jobs/text_alignment/image_preprocessing.py b/rodan-main/code/rodan/jobs/text_alignment/image_preprocessing.py index a3f5be46d..52c4d2228 100644 --- a/rodan-main/code/rodan/jobs/text_alignment/image_preprocessing.py +++ b/rodan-main/code/rodan/jobs/text_alignment/image_preprocessing.py @@ -380,7 +380,9 @@ def find_rotation_angle(img, coarse_bound=4, fine_bound=0.1, rescale_amt=0.5): """ num_trials = int(coarse_bound / fine_bound) - img_resized = rescale(img, rescale_amt, order=0, multichannel=False) + # scikit-image >= 0.23 removed the `multichannel` kwarg (deprecated since 0.19); + # `multichannel=False` is equivalent to `channel_axis=None`. + img_resized = rescale(img, rescale_amt, order=0, channel_axis=None) def project_angles(img_to_project, angles_to_try): best_angle = 0 diff --git a/rodan-main/code/rodan/jobs/text_alignment/models/salzinnes_stgall.json b/rodan-main/code/rodan/jobs/text_alignment/models/salzinnes_stgall.json index 079c85de1..237c2865b 100644 --- a/rodan-main/code/rodan/jobs/text_alignment/models/salzinnes_stgall.json +++ b/rodan-main/code/rodan/jobs/text_alignment/models/salzinnes_stgall.json @@ -1481,7 +1481,7 @@ "saved_checkpoint_sub_dir": "checkpoint/checkpoint_0011", "checkpoint_sub_dir": "checkpoint/checkpoint_{epoch:04d}", "checkpoint_save_freq": "epoch", - "version": 5, + "version": 6, "data_aug_retrain_on_original": true, "current_stage": 0, "scale_epoch_size_no_da_train": -1, diff --git a/rodan-main/code/rodan/jobs/text_alignment/models/salzinnes_stgall/fingerprint.pb b/rodan-main/code/rodan/jobs/text_alignment/models/salzinnes_stgall/fingerprint.pb new file mode 100644 index 000000000..22a704471 --- /dev/null +++ b/rodan-main/code/rodan/jobs/text_alignment/models/salzinnes_stgall/fingerprint.pb @@ -0,0 +1 @@ +ϴث廐פ ˊ(U2 \ No newline at end of file diff --git a/rodan-main/code/rodan/jobs/text_alignment/models/salzinnes_stgall/keras_metadata.pb b/rodan-main/code/rodan/jobs/text_alignment/models/salzinnes_stgall/keras_metadata.pb new file mode 100644 index 000000000..f5a4489e4 --- /dev/null +++ b/rodan-main/code/rodan/jobs/text_alignment/models/salzinnes_stgall/keras_metadata.pb @@ -0,0 +1,47 @@ + +Oroot"_tf_keras_network*N{"name": "model", "trainable": true, "expects_training_arg": true, "dtype": "float32", "batch_input_shape": null, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": false, "class_name": "Functional", "config": {"name": "model", "trainable": true, "layers": [{"class_name": "InputLayer", "config": {"batch_input_shape": {"class_name": "__tuple__", "items": [null, null, 48, 1]}, "dtype": "uint8", "sparse": false, "ragged": false, "name": "img"}, "name": "img", "inbound_nodes": []}, {"class_name": "InputLayer", "config": {"batch_input_shape": {"class_name": "__tuple__", "items": [null, 1]}, "dtype": "int32", "sparse": false, "ragged": false, "name": "img_len"}, "name": "img_len", "inbound_nodes": []}, {"class_name": "Lambda", "config": {"name": "lambda", "trainable": true, "dtype": "float32", "function": {"class_name": "__tuple__", "items": ["4wEAAAAAAAAAAAAAAAIAAAATAAAA8woAAACXAGQBfABpAVMAqQJO2gdwcmVkaWN0qQCpAdoBeHMB\nAAAAIPpAL3Vzci9sb2NhbC9saWIvcHl0aG9uMy4xMS9zaXRlLXBhY2thZ2VzL3RmYWlwL21vZGVs\nL2dyYXBoYmFzZS5wefoIPGxhbWJkYT76I1Jvb3RHcmFwaC5wcmVkaWN0Ljxsb2NhbHM+LjxsYW1i\nZGE+FAEAAPMKAAAAgACwGbhBsA6AAPMAAAAA\n", null, null]}, "function_type": "lambda", "module": "tfaip.model.graphbase", "output_shape": null, "output_shape_type": "raw", "output_shape_module": null, "arguments": {}}, "name": "lambda", "inbound_nodes": [{"img": ["img", 0, 0, {}], "img_len": ["img_len", 0, 0, {}]}]}, {"class_name": "RootGraph", "config": {"name": "root", "trainable": true, "dtype": "float32", "params": {"layers": [{"name": "conv2d_0", "filters": 40, "kernel_size": {"x": 3, "y": 3, "__cls__": "calamari_ocr.ocr.model.layers.layer:IntVec2D"}, "strides": {"x": 1, "y": 1, "__cls__": "calamari_ocr.ocr.model.layers.layer:IntVec2D"}, "padding": "same", "activation": "relu", "__cls__": "calamari_ocr.ocr.model.layers.conv2d:Conv2DLayerParams"}, {"name": "maxpool2d_0", "pool_size": {"x": 2, "y": 2, "__cls__": "calamari_ocr.ocr.model.layers.layer:IntVec2D"}, "strides": {"x": -1, "y": -1, "__cls__": "calamari_ocr.ocr.model.layers.layer:IntVec2D"}, "padding": "same", "__cls__": "calamari_ocr.ocr.model.layers.pool2d:MaxPool2DLayerParams"}, {"name": "conv2d_1", "filters": 60, "kernel_size": {"x": 3, "y": 3, "__cls__": "calamari_ocr.ocr.model.layers.layer:IntVec2D"}, "strides": {"x": 1, "y": 1, "__cls__": "calamari_ocr.ocr.model.layers.layer:IntVec2D"}, "padding": "same", "activation": "relu", "__cls__": "calamari_ocr.ocr.model.layers.conv2d:Conv2DLayerParams"}, {"name": "maxpool2d_1", "pool_size": {"x": 2, "y": 2, "__cls__": "calamari_ocr.ocr.model.layers.layer:IntVec2D"}, "strides": {"x": -1, "y": -1, "__cls__": "calamari_ocr.ocr.model.layers.layer:IntVec2D"}, "padding": "same", "__cls__": "calamari_ocr.ocr.model.layers.pool2d:MaxPool2DLayerParams"}, {"name": "conv2d_2", "filters": 120, "kernel_size": {"x": 3, "y": 3, "__cls__": "calamari_ocr.ocr.model.layers.layer:IntVec2D"}, "strides": {"x": 1, "y": 1, "__cls__": "calamari_ocr.ocr.model.layers.layer:IntVec2D"}, "padding": "same", "activation": "relu", "__cls__": "calamari_ocr.ocr.model.layers.conv2d:Conv2DLayerParams"}, {"name": "lstm_0", "hidden_nodes": 200, "merge_mode": "concat", "__cls__": "calamari_ocr.ocr.model.layers.bilstm:BiLSTMLayerParams"}, {"name": "dropout_0", "rate": 0.5, "__cls__": "calamari_ocr.ocr.model.layers.dropout:DropoutLayerParams"}, {"name": "lstm_1", "hidden_nodes": 200, "merge_mode": "concat", "__cls__": "calamari_ocr.ocr.model.layers.bilstm:BiLSTMLayerParams"}, {"name": "dropout_1", "rate": 0.5, "__cls__": "calamari_ocr.ocr.model.layers.dropout:DropoutLayerParams"}, {"name": "lstm_2", "hidden_nodes": 200, "merge_mode": "concat", "__cls__": "calamari_ocr.ocr.model.layers.bilstm:BiLSTMLayerParams"}, {"name": "dropout_2", "rate": 0.5, "__cls__": "calamari_ocr.ocr.model.layers.dropout:DropoutLayerParams"}], "classes": 50, "ctc_merge_repeated": true, "ensemble": 0, "temperature": -1, "masking_mode": false, "__cls__": "calamari_ocr.ocr.model.params:ModelParams"}, "model_kwargs": {}, "graph_kwargs": {}}, "name": "root", "inbound_nodes": [{"predict": {"img": ["lambda", 0, 0, {}], "img_len": ["lambda", 0, 1, {}]}}]}], "input_layers": {"img": ["img", 0, 0], "img_len": ["img_len", 0, 0]}, "output_layers": {"blank_last_logits": ["root", 0, 0], "blank_last_softmax": ["root", 0, 1], "out_len": ["root", 0, 4], "logits": ["root", 0, 3], "softmax": ["root", 0, 5], "decoded": ["root", 0, 2]}}, "shared_object_id": 4, "input_spec": [{"class_name": "InputSpec", "config": {"dtype": null, "shape": {"class_name": "__tuple__", "items": [null, null, 48, 1]}, "ndim": 4, "max_ndim": null, "min_ndim": null, "axes": {}}}, {"class_name": "InputSpec", "config": {"dtype": null, "shape": {"class_name": "__tuple__", "items": [null, 1]}, "ndim": 2, "max_ndim": null, "min_ndim": null, "axes": {}}}], "build_input_shape": {"img": {"class_name": "TensorShape", "items": [null, null, 48, 1]}, "img_len": {"class_name": "TensorShape", "items": [null, 1]}}, "is_graph_network": true, "full_save_spec": {"class_name": "__tuple__", "items": [[{"img": {"class_name": "TypeSpec", "type_spec": "tf.TensorSpec", "serialized": [{"class_name": "TensorShape", "items": [null, null, 48, 1]}, "uint8", "img"]}, "img_len": {"class_name": "TypeSpec", "type_spec": "tf.TensorSpec", "serialized": [{"class_name": "TensorShape", "items": [null, 1]}, "int32", "img_len"]}}], {}]}, "save_spec": {"img": {"class_name": "TypeSpec", "type_spec": "tf.TensorSpec", "serialized": [{"class_name": "TensorShape", "items": [null, null, 48, 1]}, "uint8", "img"]}, "img_len": {"class_name": "TypeSpec", "type_spec": "tf.TensorSpec", "serialized": [{"class_name": "TensorShape", "items": [null, 1]}, "int32", "img_len"]}}, "keras_version": "2.15.0", "backend": "tensorflow", "model_config": {"class_name": "Functional", "config": {"name": "model", "trainable": true, "layers": [{"class_name": "InputLayer", "config": {"batch_input_shape": {"class_name": "__tuple__", "items": [null, null, 48, 1]}, "dtype": "uint8", "sparse": false, "ragged": false, "name": "img"}, "name": "img", "inbound_nodes": [], "shared_object_id": 0}, {"class_name": "InputLayer", "config": {"batch_input_shape": {"class_name": "__tuple__", "items": [null, 1]}, "dtype": "int32", "sparse": false, "ragged": false, "name": "img_len"}, "name": "img_len", "inbound_nodes": [], "shared_object_id": 1}, {"class_name": "Lambda", "config": {"name": "lambda", "trainable": true, "dtype": "float32", "function": {"class_name": "__tuple__", "items": ["4wEAAAAAAAAAAAAAAAIAAAATAAAA8woAAACXAGQBfABpAVMAqQJO2gdwcmVkaWN0qQCpAdoBeHMB\nAAAAIPpAL3Vzci9sb2NhbC9saWIvcHl0aG9uMy4xMS9zaXRlLXBhY2thZ2VzL3RmYWlwL21vZGVs\nL2dyYXBoYmFzZS5wefoIPGxhbWJkYT76I1Jvb3RHcmFwaC5wcmVkaWN0Ljxsb2NhbHM+LjxsYW1i\nZGE+FAEAAPMKAAAAgACwGbhBsA6AAPMAAAAA\n", null, null]}, "function_type": "lambda", "module": "tfaip.model.graphbase", "output_shape": null, "output_shape_type": "raw", "output_shape_module": null, "arguments": {}}, "name": "lambda", "inbound_nodes": [{"img": ["img", 0, 0, {}], "img_len": ["img_len", 0, 0, {}]}], "shared_object_id": 2}, {"class_name": "RootGraph", "config": {"name": "root", "trainable": true, "dtype": "float32", "params": {"layers": [{"name": "conv2d_0", "filters": 40, "kernel_size": {"x": 3, "y": 3, "__cls__": "calamari_ocr.ocr.model.layers.layer:IntVec2D"}, "strides": {"x": 1, "y": 1, "__cls__": "calamari_ocr.ocr.model.layers.layer:IntVec2D"}, "padding": "same", "activation": "relu", "__cls__": "calamari_ocr.ocr.model.layers.conv2d:Conv2DLayerParams"}, {"name": "maxpool2d_0", "pool_size": {"x": 2, "y": 2, "__cls__": "calamari_ocr.ocr.model.layers.layer:IntVec2D"}, "strides": {"x": -1, "y": -1, "__cls__": "calamari_ocr.ocr.model.layers.layer:IntVec2D"}, "padding": "same", "__cls__": "calamari_ocr.ocr.model.layers.pool2d:MaxPool2DLayerParams"}, {"name": "conv2d_1", "filters": 60, "kernel_size": {"x": 3, "y": 3, "__cls__": "calamari_ocr.ocr.model.layers.layer:IntVec2D"}, "strides": {"x": 1, "y": 1, "__cls__": "calamari_ocr.ocr.model.layers.layer:IntVec2D"}, "padding": "same", "activation": "relu", "__cls__": "calamari_ocr.ocr.model.layers.conv2d:Conv2DLayerParams"}, {"name": "maxpool2d_1", "pool_size": {"x": 2, "y": 2, "__cls__": "calamari_ocr.ocr.model.layers.layer:IntVec2D"}, "strides": {"x": -1, "y": -1, "__cls__": "calamari_ocr.ocr.model.layers.layer:IntVec2D"}, "padding": "same", "__cls__": "calamari_ocr.ocr.model.layers.pool2d:MaxPool2DLayerParams"}, {"name": "conv2d_2", "filters": 120, "kernel_size": {"x": 3, "y": 3, "__cls__": "calamari_ocr.ocr.model.layers.layer:IntVec2D"}, "strides": {"x": 1, "y": 1, "__cls__": "calamari_ocr.ocr.model.layers.layer:IntVec2D"}, "padding": "same", "activation": "relu", "__cls__": "calamari_ocr.ocr.model.layers.conv2d:Conv2DLayerParams"}, {"name": "lstm_0", "hidden_nodes": 200, "merge_mode": "concat", "__cls__": "calamari_ocr.ocr.model.layers.bilstm:BiLSTMLayerParams"}, {"name": "dropout_0", "rate": 0.5, "__cls__": "calamari_ocr.ocr.model.layers.dropout:DropoutLayerParams"}, {"name": "lstm_1", "hidden_nodes": 200, "merge_mode": "concat", "__cls__": "calamari_ocr.ocr.model.layers.bilstm:BiLSTMLayerParams"}, {"name": "dropout_1", "rate": 0.5, "__cls__": "calamari_ocr.ocr.model.layers.dropout:DropoutLayerParams"}, {"name": "lstm_2", "hidden_nodes": 200, "merge_mode": "concat", "__cls__": "calamari_ocr.ocr.model.layers.bilstm:BiLSTMLayerParams"}, {"name": "dropout_2", "rate": 0.5, "__cls__": "calamari_ocr.ocr.model.layers.dropout:DropoutLayerParams"}], "classes": 50, "ctc_merge_repeated": true, "ensemble": 0, "temperature": -1, "masking_mode": false, "__cls__": "calamari_ocr.ocr.model.params:ModelParams"}, "model_kwargs": {}, "graph_kwargs": {}}, "name": "root", "inbound_nodes": [{"predict": {"img": ["lambda", 0, 0, {}], "img_len": ["lambda", 0, 1, {}]}}], "shared_object_id": 3}], "input_layers": {"img": ["img", 0, 0], "img_len": ["img_len", 0, 0]}, "output_layers": {"blank_last_logits": ["root", 0, 0], "blank_last_softmax": ["root", 0, 1], "out_len": ["root", 0, 4], "logits": ["root", 0, 3], "softmax": ["root", 0, 5], "decoded": ["root", 0, 2]}}}}2 + root.layer-0"_tf_keras_input_layer*{"class_name": "InputLayer", "name": "img", "dtype": "uint8", "sparse": false, "ragged": false, "batch_input_shape": {"class_name": "__tuple__", "items": [null, null, 48, 1]}, "config": {"batch_input_shape": {"class_name": "__tuple__", "items": [null, null, 48, 1]}, "dtype": "uint8", "sparse": false, "ragged": false, "name": "img"}}2 + root.layer-1"_tf_keras_input_layer*{"class_name": "InputLayer", "name": "img_len", "dtype": "int32", "sparse": false, "ragged": false, "batch_input_shape": {"class_name": "__tuple__", "items": [null, 1]}, "config": {"batch_input_shape": {"class_name": "__tuple__", "items": [null, 1]}, "dtype": "int32", "sparse": false, "ragged": false, "name": "img_len"}}2 + root.layer-2"_tf_keras_layer*{"name": "lambda", "trainable": true, "expects_training_arg": true, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "Lambda", "config": {"name": "lambda", "trainable": true, "dtype": "float32", "function": {"class_name": "__tuple__", "items": ["4wEAAAAAAAAAAAAAAAIAAAATAAAA8woAAACXAGQBfABpAVMAqQJO2gdwcmVkaWN0qQCpAdoBeHMB\nAAAAIPpAL3Vzci9sb2NhbC9saWIvcHl0aG9uMy4xMS9zaXRlLXBhY2thZ2VzL3RmYWlwL21vZGVs\nL2dyYXBoYmFzZS5wefoIPGxhbWJkYT76I1Jvb3RHcmFwaC5wcmVkaWN0Ljxsb2NhbHM+LjxsYW1i\nZGE+FAEAAPMKAAAAgACwGbhBsA6AAPMAAAAA\n", null, null]}, "function_type": "lambda", "module": "tfaip.model.graphbase", "output_shape": null, "output_shape_type": "raw", "output_shape_module": null, "arguments": {}}, "inbound_nodes": [{"img": ["img", 0, 0, {}], "img_len": ["img_len", 0, 0, {}]}], "shared_object_id": 2, "build_input_shape": {"img": {"class_name": "TensorShape", "items": [null, null, 48, 1]}, "img_len": {"class_name": "TensorShape", "items": [null, 1]}}}2 +root.layer_with_weights-0"_tf_keras_layer*{"name": "root", "trainable": true, "expects_training_arg": true, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "RootGraph", "config": {"name": "root", "trainable": true, "dtype": "float32", "params": {"layers": [{"name": "conv2d_0", "filters": 40, "kernel_size": {"x": 3, "y": 3, "__cls__": "calamari_ocr.ocr.model.layers.layer:IntVec2D"}, "strides": {"x": 1, "y": 1, "__cls__": "calamari_ocr.ocr.model.layers.layer:IntVec2D"}, "padding": "same", "activation": "relu", "__cls__": "calamari_ocr.ocr.model.layers.conv2d:Conv2DLayerParams"}, {"name": "maxpool2d_0", "pool_size": {"x": 2, "y": 2, "__cls__": "calamari_ocr.ocr.model.layers.layer:IntVec2D"}, "strides": {"x": -1, "y": -1, "__cls__": "calamari_ocr.ocr.model.layers.layer:IntVec2D"}, "padding": "same", "__cls__": "calamari_ocr.ocr.model.layers.pool2d:MaxPool2DLayerParams"}, {"name": "conv2d_1", "filters": 60, "kernel_size": {"x": 3, "y": 3, "__cls__": "calamari_ocr.ocr.model.layers.layer:IntVec2D"}, "strides": {"x": 1, "y": 1, "__cls__": "calamari_ocr.ocr.model.layers.layer:IntVec2D"}, "padding": "same", "activation": "relu", "__cls__": "calamari_ocr.ocr.model.layers.conv2d:Conv2DLayerParams"}, {"name": "maxpool2d_1", "pool_size": {"x": 2, "y": 2, "__cls__": "calamari_ocr.ocr.model.layers.layer:IntVec2D"}, "strides": {"x": -1, "y": -1, "__cls__": "calamari_ocr.ocr.model.layers.layer:IntVec2D"}, "padding": "same", "__cls__": "calamari_ocr.ocr.model.layers.pool2d:MaxPool2DLayerParams"}, {"name": "conv2d_2", "filters": 120, "kernel_size": {"x": 3, "y": 3, "__cls__": "calamari_ocr.ocr.model.layers.layer:IntVec2D"}, "strides": {"x": 1, "y": 1, "__cls__": "calamari_ocr.ocr.model.layers.layer:IntVec2D"}, "padding": "same", "activation": "relu", "__cls__": "calamari_ocr.ocr.model.layers.conv2d:Conv2DLayerParams"}, {"name": "lstm_0", "hidden_nodes": 200, "merge_mode": "concat", "__cls__": "calamari_ocr.ocr.model.layers.bilstm:BiLSTMLayerParams"}, {"name": "dropout_0", "rate": 0.5, "__cls__": "calamari_ocr.ocr.model.layers.dropout:DropoutLayerParams"}, {"name": "lstm_1", "hidden_nodes": 200, "merge_mode": "concat", "__cls__": "calamari_ocr.ocr.model.layers.bilstm:BiLSTMLayerParams"}, {"name": "dropout_1", "rate": 0.5, "__cls__": "calamari_ocr.ocr.model.layers.dropout:DropoutLayerParams"}, {"name": "lstm_2", "hidden_nodes": 200, "merge_mode": "concat", "__cls__": "calamari_ocr.ocr.model.layers.bilstm:BiLSTMLayerParams"}, {"name": "dropout_2", "rate": 0.5, "__cls__": "calamari_ocr.ocr.model.layers.dropout:DropoutLayerParams"}], "classes": 50, "ctc_merge_repeated": true, "ensemble": 0, "temperature": -1, "masking_mode": false, "__cls__": "calamari_ocr.ocr.model.params:ModelParams"}, "model_kwargs": {}, "graph_kwargs": {}}, "inbound_nodes": [{"predict": {"img": ["lambda", 0, 0, {}], "img_len": ["lambda", 0, 1, {}]}}], "shared_object_id": 3, "build_input_shape": {"predict": {"img": {"class_name": "TensorShape", "items": [null, null, 48, 1]}, "img_len": {"class_name": "TensorShape", "items": [null, 1]}}}}2 + root.layer_with_weights-0._graph"_tf_keras_layer*{"name": "CalamariGraph", "trainable": true, "expects_training_arg": true, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "CalamariGraph", "config": {"name": "CalamariGraph", "trainable": true, "dtype": "float32", "params": {"layers": [{"name": "conv2d_0", "filters": 40, "kernel_size": {"x": 3, "y": 3, "__cls__": "calamari_ocr.ocr.model.layers.layer:IntVec2D"}, "strides": {"x": 1, "y": 1, "__cls__": "calamari_ocr.ocr.model.layers.layer:IntVec2D"}, "padding": "same", "activation": "relu", "__cls__": "calamari_ocr.ocr.model.layers.conv2d:Conv2DLayerParams"}, {"name": "maxpool2d_0", "pool_size": {"x": 2, "y": 2, "__cls__": "calamari_ocr.ocr.model.layers.layer:IntVec2D"}, "strides": {"x": -1, "y": -1, "__cls__": "calamari_ocr.ocr.model.layers.layer:IntVec2D"}, "padding": "same", "__cls__": "calamari_ocr.ocr.model.layers.pool2d:MaxPool2DLayerParams"}, {"name": "conv2d_1", "filters": 60, "kernel_size": {"x": 3, "y": 3, "__cls__": "calamari_ocr.ocr.model.layers.layer:IntVec2D"}, "strides": {"x": 1, "y": 1, "__cls__": "calamari_ocr.ocr.model.layers.layer:IntVec2D"}, "padding": "same", "activation": "relu", "__cls__": "calamari_ocr.ocr.model.layers.conv2d:Conv2DLayerParams"}, {"name": "maxpool2d_1", "pool_size": {"x": 2, "y": 2, "__cls__": "calamari_ocr.ocr.model.layers.layer:IntVec2D"}, "strides": {"x": -1, "y": -1, "__cls__": "calamari_ocr.ocr.model.layers.layer:IntVec2D"}, "padding": "same", "__cls__": "calamari_ocr.ocr.model.layers.pool2d:MaxPool2DLayerParams"}, {"name": "conv2d_2", "filters": 120, "kernel_size": {"x": 3, "y": 3, "__cls__": "calamari_ocr.ocr.model.layers.layer:IntVec2D"}, "strides": {"x": 1, "y": 1, "__cls__": "calamari_ocr.ocr.model.layers.layer:IntVec2D"}, "padding": "same", "activation": "relu", "__cls__": "calamari_ocr.ocr.model.layers.conv2d:Conv2DLayerParams"}, {"name": "lstm_0", "hidden_nodes": 200, "merge_mode": "concat", "__cls__": "calamari_ocr.ocr.model.layers.bilstm:BiLSTMLayerParams"}, {"name": "dropout_0", "rate": 0.5, "__cls__": "calamari_ocr.ocr.model.layers.dropout:DropoutLayerParams"}, {"name": "lstm_1", "hidden_nodes": 200, "merge_mode": "concat", "__cls__": "calamari_ocr.ocr.model.layers.bilstm:BiLSTMLayerParams"}, {"name": "dropout_1", "rate": 0.5, "__cls__": "calamari_ocr.ocr.model.layers.dropout:DropoutLayerParams"}, {"name": "lstm_2", "hidden_nodes": 200, "merge_mode": "concat", "__cls__": "calamari_ocr.ocr.model.layers.bilstm:BiLSTMLayerParams"}, {"name": "dropout_2", "rate": 0.5, "__cls__": "calamari_ocr.ocr.model.layers.dropout:DropoutLayerParams"}], "classes": 50, "ctc_merge_repeated": true, "ensemble": 0, "temperature": -1, "masking_mode": false, "__cls__": "calamari_ocr.ocr.model.params:ModelParams"}}, "shared_object_id": 7, "build_input_shape": {"predict": {"img": {"class_name": "TensorShape", "items": [null, null, 48, 1]}, "img_len": {"class_name": "TensorShape", "items": [null, 1]}}}}2 +Z(root.layer_with_weights-0._graph.reshape"_tf_keras_layer*{"name": "to_input_dims_layer", "trainable": true, "expects_training_arg": true, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "ToInputDimsLayer", "config": {"layer was saved without config": true}, "build_input_shape": {"class_name": "TensorShape", "items": [null, null, 400]}}2 +['root.layer_with_weights-0._graph.logits"_tf_keras_layer*{"name": "logits", "trainable": true, "expects_training_arg": false, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "Dense", "config": {"name": "logits", "trainable": true, "dtype": "float32", "units": 50, "activation": "linear", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 8}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 9}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "shared_object_id": 10, "input_spec": {"class_name": "InputSpec", "config": {"dtype": null, "shape": null, "ndim": null, "max_ndim": null, "min_ndim": 2, "axes": {"-1": 400}}, "shared_object_id": 11}, "build_input_shape": {"class_name": "TensorShape", "items": [null, null, 400]}}2 +\(root.layer_with_weights-0._graph.softmax"_tf_keras_layer*{"name": "softmax", "trainable": true, "expects_training_arg": false, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "Softmax", "config": {"name": "softmax", "trainable": true, "dtype": "float32", "axis": -1}, "shared_object_id": 12, "build_input_shape": {"class_name": "TensorShape", "items": [null, null, 50]}}2 +b2root.layer_with_weights-0._graph.layer_instances.0"_tf_keras_layer*{"name": "conv2d_0", "trainable": true, "expects_training_arg": true, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "Conv2DLayer", "config": {"name": "conv2d_0", "trainable": true, "dtype": "float32"}, "shared_object_id": 13, "build_input_shape": {"class_name": "TensorShape", "items": [null, null, 48, 1]}}2 +c2root.layer_with_weights-0._graph.layer_instances.1"_tf_keras_layer*{"name": "maxpool2d_0", "trainable": true, "expects_training_arg": true, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "MaxPool2DLayer", "config": {"name": "maxpool2d_0", "trainable": true, "dtype": "float32"}, "shared_object_id": 14, "build_input_shape": {"class_name": "TensorShape", "items": [null, null, 48, 40]}}2 +d2root.layer_with_weights-0._graph.layer_instances.2"_tf_keras_layer*{"name": "conv2d_1", "trainable": true, "expects_training_arg": true, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "Conv2DLayer", "config": {"name": "conv2d_1", "trainable": true, "dtype": "float32"}, "shared_object_id": 15, "build_input_shape": {"class_name": "TensorShape", "items": [null, null, 24, 40]}}2 +e2root.layer_with_weights-0._graph.layer_instances.3"_tf_keras_layer*{"name": "maxpool2d_1", "trainable": true, "expects_training_arg": true, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "MaxPool2DLayer", "config": {"name": "maxpool2d_1", "trainable": true, "dtype": "float32"}, "shared_object_id": 16, "build_input_shape": {"class_name": "TensorShape", "items": [null, null, 24, 60]}}2 +f2root.layer_with_weights-0._graph.layer_instances.4"_tf_keras_layer*{"name": "conv2d_2", "trainable": true, "expects_training_arg": true, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "Conv2DLayer", "config": {"name": "conv2d_2", "trainable": true, "dtype": "float32"}, "shared_object_id": 17, "build_input_shape": {"class_name": "TensorShape", "items": [null, null, 12, 60]}}2 +g2root.layer_with_weights-0._graph.layer_instances.5"_tf_keras_layer*{"name": "lstm_0", "trainable": true, "expects_training_arg": true, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "BiLSTMLayer", "config": {"name": "lstm_0", "trainable": true, "dtype": "float32"}, "shared_object_id": 18, "build_input_shape": {"class_name": "TensorShape", "items": [null, null, 12, 120]}}2 +h2root.layer_with_weights-0._graph.layer_instances.6"_tf_keras_layer*{"name": "dropout_0", "trainable": true, "expects_training_arg": true, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "DropoutLayer", "config": {"name": "dropout_0", "trainable": true, "dtype": "float32"}, "shared_object_id": 19, "build_input_shape": {"class_name": "TensorShape", "items": [null, null, 400]}}2 +i2root.layer_with_weights-0._graph.layer_instances.7"_tf_keras_layer*{"name": "lstm_1", "trainable": true, "expects_training_arg": true, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "BiLSTMLayer", "config": {"name": "lstm_1", "trainable": true, "dtype": "float32"}, "shared_object_id": 20, "build_input_shape": {"class_name": "TensorShape", "items": [null, null, 400]}}2 +j2root.layer_with_weights-0._graph.layer_instances.8"_tf_keras_layer*{"name": "dropout_1", "trainable": true, "expects_training_arg": true, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "DropoutLayer", "config": {"name": "dropout_1", "trainable": true, "dtype": "float32"}, "shared_object_id": 21, "build_input_shape": {"class_name": "TensorShape", "items": [null, null, 400]}}2 +k2root.layer_with_weights-0._graph.layer_instances.9"_tf_keras_layer*{"name": "lstm_2", "trainable": true, "expects_training_arg": true, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "BiLSTMLayer", "config": {"name": "lstm_2", "trainable": true, "dtype": "float32"}, "shared_object_id": 22, "build_input_shape": {"class_name": "TensorShape", "items": [null, null, 400]}}2 +l3root.layer_with_weights-0._graph.layer_instances.10"_tf_keras_layer*{"name": "dropout_2", "trainable": true, "expects_training_arg": true, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "DropoutLayer", "config": {"name": "dropout_2", "trainable": true, "dtype": "float32"}, "shared_object_id": 23, "build_input_shape": {"class_name": "TensorShape", "items": [null, null, 400]}}2 + +7root.layer_with_weights-0._graph.layer_instances.0.conv"_tf_keras_layer* {"name": "conv", "trainable": true, "expects_training_arg": false, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "Conv2D", "config": {"name": "conv", "trainable": true, "dtype": "float32", "filters": 40, "kernel_size": {"class_name": "__tuple__", "items": [3, 3]}, "strides": {"class_name": "__tuple__", "items": [1, 1]}, "padding": "same", "data_format": "channels_last", "dilation_rate": {"class_name": "__tuple__", "items": [1, 1]}, "groups": 1, "activation": "relu", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 24}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 25}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "shared_object_id": 26, "input_spec": {"class_name": "InputSpec", "config": {"dtype": null, "shape": null, "ndim": null, "max_ndim": null, "min_ndim": 4, "axes": {"-1": 1}}, "shared_object_id": 27}, "build_input_shape": {"class_name": "TensorShape", "items": [null, null, 48, 1]}}2 +7root.layer_with_weights-0._graph.layer_instances.1.conv"_tf_keras_layer*{"name": "conv", "trainable": true, "expects_training_arg": false, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "MaxPooling2D", "config": {"name": "conv", "trainable": true, "dtype": "float32", "pool_size": {"class_name": "__tuple__", "items": [2, 2]}, "padding": "same", "strides": {"class_name": "__tuple__", "items": [2, 2]}, "data_format": "channels_last"}, "shared_object_id": 28, "input_spec": {"class_name": "InputSpec", "config": {"dtype": null, "shape": null, "ndim": 4, "max_ndim": null, "min_ndim": null, "axes": {}}, "shared_object_id": 29}, "build_input_shape": {"class_name": "TensorShape", "items": [null, null, 48, 40]}}2 + +7root.layer_with_weights-0._graph.layer_instances.2.conv"_tf_keras_layer* {"name": "conv", "trainable": true, "expects_training_arg": false, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "Conv2D", "config": {"name": "conv", "trainable": true, "dtype": "float32", "filters": 60, "kernel_size": {"class_name": "__tuple__", "items": [3, 3]}, "strides": {"class_name": "__tuple__", "items": [1, 1]}, "padding": "same", "data_format": "channels_last", "dilation_rate": {"class_name": "__tuple__", "items": [1, 1]}, "groups": 1, "activation": "relu", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 30}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 31}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "shared_object_id": 32, "input_spec": {"class_name": "InputSpec", "config": {"dtype": null, "shape": null, "ndim": null, "max_ndim": null, "min_ndim": 4, "axes": {"-1": 40}}, "shared_object_id": 33}, "build_input_shape": {"class_name": "TensorShape", "items": [null, null, 24, 40]}}2 +7root.layer_with_weights-0._graph.layer_instances.3.conv"_tf_keras_layer*{"name": "conv", "trainable": true, "expects_training_arg": false, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "MaxPooling2D", "config": {"name": "conv", "trainable": true, "dtype": "float32", "pool_size": {"class_name": "__tuple__", "items": [2, 2]}, "padding": "same", "strides": {"class_name": "__tuple__", "items": [2, 2]}, "data_format": "channels_last"}, "shared_object_id": 34, "input_spec": {"class_name": "InputSpec", "config": {"dtype": null, "shape": null, "ndim": 4, "max_ndim": null, "min_ndim": null, "axes": {}}, "shared_object_id": 35}, "build_input_shape": {"class_name": "TensorShape", "items": [null, null, 24, 60]}}2 + +7root.layer_with_weights-0._graph.layer_instances.4.conv"_tf_keras_layer* {"name": "conv", "trainable": true, "expects_training_arg": false, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "Conv2D", "config": {"name": "conv", "trainable": true, "dtype": "float32", "filters": 120, "kernel_size": {"class_name": "__tuple__", "items": [3, 3]}, "strides": {"class_name": "__tuple__", "items": [1, 1]}, "padding": "same", "data_format": "channels_last", "dilation_rate": {"class_name": "__tuple__", "items": [1, 1]}, "groups": 1, "activation": "relu", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 36}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 37}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "shared_object_id": 38, "input_spec": {"class_name": "InputSpec", "config": {"dtype": null, "shape": null, "ndim": null, "max_ndim": null, "min_ndim": 4, "axes": {"-1": 60}}, "shared_object_id": 39}, "build_input_shape": {"class_name": "TensorShape", "items": [null, null, 12, 60]}}2 + 7root.layer_with_weights-0._graph.layer_instances.5.lstm"_tf_keras_layer* {"name": "bidirectional", "trainable": true, "expects_training_arg": true, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "Bidirectional", "config": {"name": "bidirectional", "trainable": true, "dtype": "float32", "layer": {"class_name": "LSTM", "config": {"name": "lstm", "trainable": true, "dtype": "float32", "return_sequences": true, "return_state": false, "go_backwards": false, "stateful": false, "unroll": false, "time_major": false, "units": 200, "activation": "tanh", "recurrent_activation": "sigmoid", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 40}, "recurrent_initializer": {"class_name": "Orthogonal", "config": {"gain": 1.0, "seed": null}, "shared_object_id": 41}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 42}, "unit_forget_bias": true, "kernel_regularizer": null, "recurrent_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "recurrent_constraint": null, "bias_constraint": null, "dropout": 0.0, "recurrent_dropout": 0.0, "implementation": 2}, "shared_object_id": 44}, "merge_mode": "concat"}, "shared_object_id": 45, "input_spec": [{"class_name": "InputSpec", "config": {"dtype": null, "shape": null, "ndim": 3, "max_ndim": null, "min_ndim": null, "axes": {}}, "shared_object_id": 46}], "build_input_shape": {"class_name": "TensorShape", "items": [null, null, 1440]}}2 +:root.layer_with_weights-0._graph.layer_instances.6.dropout"_tf_keras_layer*{"name": "dropout", "trainable": true, "expects_training_arg": true, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "Dropout", "config": {"name": "dropout", "trainable": true, "dtype": "float32", "rate": 0.5, "noise_shape": null, "seed": null}, "shared_object_id": 47, "build_input_shape": {"class_name": "TensorShape", "items": [null, null, 400]}}2 + 7root.layer_with_weights-0._graph.layer_instances.7.lstm"_tf_keras_layer* {"name": "bidirectional", "trainable": true, "expects_training_arg": true, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "Bidirectional", "config": {"name": "bidirectional", "trainable": true, "dtype": "float32", "layer": {"class_name": "LSTM", "config": {"name": "lstm", "trainable": true, "dtype": "float32", "return_sequences": true, "return_state": false, "go_backwards": false, "stateful": false, "unroll": false, "time_major": false, "units": 200, "activation": "tanh", "recurrent_activation": "sigmoid", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 48}, "recurrent_initializer": {"class_name": "Orthogonal", "config": {"gain": 1.0, "seed": null}, "shared_object_id": 49}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 50}, "unit_forget_bias": true, "kernel_regularizer": null, "recurrent_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "recurrent_constraint": null, "bias_constraint": null, "dropout": 0.0, "recurrent_dropout": 0.0, "implementation": 2}, "shared_object_id": 52}, "merge_mode": "concat"}, "shared_object_id": 53, "input_spec": [{"class_name": "InputSpec", "config": {"dtype": null, "shape": null, "ndim": 3, "max_ndim": null, "min_ndim": null, "axes": {}}, "shared_object_id": 54}], "build_input_shape": {"class_name": "TensorShape", "items": [null, null, 400]}}2 +:root.layer_with_weights-0._graph.layer_instances.8.dropout"_tf_keras_layer*{"name": "dropout_1", "trainable": true, "expects_training_arg": true, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "Dropout", "config": {"name": "dropout_1", "trainable": true, "dtype": "float32", "rate": 0.5, "noise_shape": null, "seed": null}, "shared_object_id": 55, "build_input_shape": {"class_name": "TensorShape", "items": [null, null, 400]}}2 + 7root.layer_with_weights-0._graph.layer_instances.9.lstm"_tf_keras_layer* {"name": "bidirectional", "trainable": true, "expects_training_arg": true, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "Bidirectional", "config": {"name": "bidirectional", "trainable": true, "dtype": "float32", "layer": {"class_name": "LSTM", "config": {"name": "lstm", "trainable": true, "dtype": "float32", "return_sequences": true, "return_state": false, "go_backwards": false, "stateful": false, "unroll": false, "time_major": false, "units": 200, "activation": "tanh", "recurrent_activation": "sigmoid", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 56}, "recurrent_initializer": {"class_name": "Orthogonal", "config": {"gain": 1.0, "seed": null}, "shared_object_id": 57}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 58}, "unit_forget_bias": true, "kernel_regularizer": null, "recurrent_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "recurrent_constraint": null, "bias_constraint": null, "dropout": 0.0, "recurrent_dropout": 0.0, "implementation": 2}, "shared_object_id": 60}, "merge_mode": "concat"}, "shared_object_id": 61, "input_spec": [{"class_name": "InputSpec", "config": {"dtype": null, "shape": null, "ndim": 3, "max_ndim": null, "min_ndim": null, "axes": {}}, "shared_object_id": 62}], "build_input_shape": {"class_name": "TensorShape", "items": [null, null, 400]}}2 +;root.layer_with_weights-0._graph.layer_instances.10.dropout"_tf_keras_layer*{"name": "dropout_2", "trainable": true, "expects_training_arg": true, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "Dropout", "config": {"name": "dropout_2", "trainable": true, "dtype": "float32", "rate": 0.5, "noise_shape": null, "seed": null}, "shared_object_id": 63, "build_input_shape": {"class_name": "TensorShape", "items": [null, null, 400]}}2 + Eroot.layer_with_weights-0._graph.layer_instances.5.lstm.forward_layer"_tf_keras_rnn_layer* {"name": "forward_lstm", "trainable": true, "expects_training_arg": true, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "LSTM", "config": {"name": "forward_lstm", "trainable": true, "dtype": "float32", "return_sequences": true, "return_state": false, "go_backwards": false, "stateful": false, "unroll": false, "time_major": false, "zero_output_for_mask": true, "units": 200, "activation": "tanh", "recurrent_activation": "sigmoid", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 64}, "recurrent_initializer": {"class_name": "Orthogonal", "config": {"gain": 1.0, "seed": null}, "shared_object_id": 65}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 66}, "unit_forget_bias": true, "kernel_regularizer": null, "recurrent_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "recurrent_constraint": null, "bias_constraint": null, "dropout": 0.0, "recurrent_dropout": 0.0, "implementation": 2}, "shared_object_id": 68, "input_spec": [{"class_name": "InputSpec", "config": {"dtype": null, "shape": {"class_name": "__tuple__", "items": [null, null, 1440]}, "ndim": 3, "max_ndim": null, "min_ndim": null, "axes": {}}, "shared_object_id": 69}], "build_input_shape": {"class_name": "TensorShape", "items": [null, null, 1440]}}2 + Froot.layer_with_weights-0._graph.layer_instances.5.lstm.backward_layer"_tf_keras_rnn_layer* {"name": "backward_lstm", "trainable": true, "expects_training_arg": true, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "LSTM", "config": {"name": "backward_lstm", "trainable": true, "dtype": "float32", "return_sequences": true, "return_state": false, "go_backwards": true, "stateful": false, "unroll": false, "time_major": false, "zero_output_for_mask": true, "units": 200, "activation": "tanh", "recurrent_activation": "sigmoid", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 70}, "recurrent_initializer": {"class_name": "Orthogonal", "config": {"gain": 1.0, "seed": null}, "shared_object_id": 71}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 72}, "unit_forget_bias": true, "kernel_regularizer": null, "recurrent_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "recurrent_constraint": null, "bias_constraint": null, "dropout": 0.0, "recurrent_dropout": 0.0, "implementation": 2}, "shared_object_id": 74, "input_spec": [{"class_name": "InputSpec", "config": {"dtype": null, "shape": {"class_name": "__tuple__", "items": [null, null, 1440]}, "ndim": 3, "max_ndim": null, "min_ndim": null, "axes": {}}, "shared_object_id": 75}], "build_input_shape": {"class_name": "TensorShape", "items": [null, null, 1440]}}2 + Eroot.layer_with_weights-0._graph.layer_instances.7.lstm.forward_layer"_tf_keras_rnn_layer* {"name": "forward_lstm", "trainable": true, "expects_training_arg": true, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "LSTM", "config": {"name": "forward_lstm", "trainable": true, "dtype": "float32", "return_sequences": true, "return_state": false, "go_backwards": false, "stateful": false, "unroll": false, "time_major": false, "zero_output_for_mask": true, "units": 200, "activation": "tanh", "recurrent_activation": "sigmoid", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 76}, "recurrent_initializer": {"class_name": "Orthogonal", "config": {"gain": 1.0, "seed": null}, "shared_object_id": 77}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 78}, "unit_forget_bias": true, "kernel_regularizer": null, "recurrent_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "recurrent_constraint": null, "bias_constraint": null, "dropout": 0.0, "recurrent_dropout": 0.0, "implementation": 2}, "shared_object_id": 80, "input_spec": [{"class_name": "InputSpec", "config": {"dtype": null, "shape": {"class_name": "__tuple__", "items": [null, null, 400]}, "ndim": 3, "max_ndim": null, "min_ndim": null, "axes": {}}, "shared_object_id": 81}], "build_input_shape": {"class_name": "TensorShape", "items": [null, null, 400]}}2 + Froot.layer_with_weights-0._graph.layer_instances.7.lstm.backward_layer"_tf_keras_rnn_layer* {"name": "backward_lstm", "trainable": true, "expects_training_arg": true, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "LSTM", "config": {"name": "backward_lstm", "trainable": true, "dtype": "float32", "return_sequences": true, "return_state": false, "go_backwards": true, "stateful": false, "unroll": false, "time_major": false, "zero_output_for_mask": true, "units": 200, "activation": "tanh", "recurrent_activation": "sigmoid", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 82}, "recurrent_initializer": {"class_name": "Orthogonal", "config": {"gain": 1.0, "seed": null}, "shared_object_id": 83}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 84}, "unit_forget_bias": true, "kernel_regularizer": null, "recurrent_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "recurrent_constraint": null, "bias_constraint": null, "dropout": 0.0, "recurrent_dropout": 0.0, "implementation": 2}, "shared_object_id": 86, "input_spec": [{"class_name": "InputSpec", "config": {"dtype": null, "shape": {"class_name": "__tuple__", "items": [null, null, 400]}, "ndim": 3, "max_ndim": null, "min_ndim": null, "axes": {}}, "shared_object_id": 87}], "build_input_shape": {"class_name": "TensorShape", "items": [null, null, 400]}}2 + Eroot.layer_with_weights-0._graph.layer_instances.9.lstm.forward_layer"_tf_keras_rnn_layer* {"name": "forward_lstm", "trainable": true, "expects_training_arg": true, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "LSTM", "config": {"name": "forward_lstm", "trainable": true, "dtype": "float32", "return_sequences": true, "return_state": false, "go_backwards": false, "stateful": false, "unroll": false, "time_major": false, "zero_output_for_mask": true, "units": 200, "activation": "tanh", "recurrent_activation": "sigmoid", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 88}, "recurrent_initializer": {"class_name": "Orthogonal", "config": {"gain": 1.0, "seed": null}, "shared_object_id": 89}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 90}, "unit_forget_bias": true, "kernel_regularizer": null, "recurrent_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "recurrent_constraint": null, "bias_constraint": null, "dropout": 0.0, "recurrent_dropout": 0.0, "implementation": 2}, "shared_object_id": 92, "input_spec": [{"class_name": "InputSpec", "config": {"dtype": null, "shape": {"class_name": "__tuple__", "items": [null, null, 400]}, "ndim": 3, "max_ndim": null, "min_ndim": null, "axes": {}}, "shared_object_id": 93}], "build_input_shape": {"class_name": "TensorShape", "items": [null, null, 400]}}2 + Froot.layer_with_weights-0._graph.layer_instances.9.lstm.backward_layer"_tf_keras_rnn_layer* {"name": "backward_lstm", "trainable": true, "expects_training_arg": true, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "LSTM", "config": {"name": "backward_lstm", "trainable": true, "dtype": "float32", "return_sequences": true, "return_state": false, "go_backwards": true, "stateful": false, "unroll": false, "time_major": false, "zero_output_for_mask": true, "units": 200, "activation": "tanh", "recurrent_activation": "sigmoid", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 94}, "recurrent_initializer": {"class_name": "Orthogonal", "config": {"gain": 1.0, "seed": null}, "shared_object_id": 95}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 96}, "unit_forget_bias": true, "kernel_regularizer": null, "recurrent_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "recurrent_constraint": null, "bias_constraint": null, "dropout": 0.0, "recurrent_dropout": 0.0, "implementation": 2}, "shared_object_id": 98, "input_spec": [{"class_name": "InputSpec", "config": {"dtype": null, "shape": {"class_name": "__tuple__", "items": [null, null, 400]}, "ndim": 3, "max_ndim": null, "min_ndim": null, "axes": {}}, "shared_object_id": 99}], "build_input_shape": {"class_name": "TensorShape", "items": [null, null, 400]}}2 + Jroot.layer_with_weights-0._graph.layer_instances.5.lstm.forward_layer.cell"_tf_keras_layer*{"name": "lstm_cell", "trainable": true, "expects_training_arg": true, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "LSTMCell", "config": {"name": "lstm_cell", "trainable": true, "dtype": "float32", "units": 200, "activation": "tanh", "recurrent_activation": "sigmoid", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 64}, "recurrent_initializer": {"class_name": "Orthogonal", "config": {"gain": 1.0, "seed": null}, "shared_object_id": 65}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 66}, "unit_forget_bias": true, "kernel_regularizer": null, "recurrent_regularizer": null, "bias_regularizer": null, "kernel_constraint": null, "recurrent_constraint": null, "bias_constraint": null, "dropout": 0.0, "recurrent_dropout": 0.0, "implementation": 2}, "shared_object_id": 67, "build_input_shape": {"class_name": "__tuple__", "items": [null, 1440]}}2 + Kroot.layer_with_weights-0._graph.layer_instances.5.lstm.backward_layer.cell"_tf_keras_layer*{"name": "lstm_cell", "trainable": true, "expects_training_arg": true, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "LSTMCell", "config": {"name": "lstm_cell", "trainable": true, "dtype": "float32", "units": 200, "activation": "tanh", "recurrent_activation": "sigmoid", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 70}, "recurrent_initializer": {"class_name": "Orthogonal", "config": {"gain": 1.0, "seed": null}, "shared_object_id": 71}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 72}, "unit_forget_bias": true, "kernel_regularizer": null, "recurrent_regularizer": null, "bias_regularizer": null, "kernel_constraint": null, "recurrent_constraint": null, "bias_constraint": null, "dropout": 0.0, "recurrent_dropout": 0.0, "implementation": 2}, "shared_object_id": 73, "build_input_shape": {"class_name": "__tuple__", "items": [null, 1440]}}2 + Jroot.layer_with_weights-0._graph.layer_instances.7.lstm.forward_layer.cell"_tf_keras_layer*{"name": "lstm_cell", "trainable": true, "expects_training_arg": true, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "LSTMCell", "config": {"name": "lstm_cell", "trainable": true, "dtype": "float32", "units": 200, "activation": "tanh", "recurrent_activation": "sigmoid", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 76}, "recurrent_initializer": {"class_name": "Orthogonal", "config": {"gain": 1.0, "seed": null}, "shared_object_id": 77}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 78}, "unit_forget_bias": true, "kernel_regularizer": null, "recurrent_regularizer": null, "bias_regularizer": null, "kernel_constraint": null, "recurrent_constraint": null, "bias_constraint": null, "dropout": 0.0, "recurrent_dropout": 0.0, "implementation": 2}, "shared_object_id": 79, "build_input_shape": {"class_name": "__tuple__", "items": [null, 400]}}2 + Kroot.layer_with_weights-0._graph.layer_instances.7.lstm.backward_layer.cell"_tf_keras_layer*{"name": "lstm_cell", "trainable": true, "expects_training_arg": true, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "LSTMCell", "config": {"name": "lstm_cell", "trainable": true, "dtype": "float32", "units": 200, "activation": "tanh", "recurrent_activation": "sigmoid", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 82}, "recurrent_initializer": {"class_name": "Orthogonal", "config": {"gain": 1.0, "seed": null}, "shared_object_id": 83}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 84}, "unit_forget_bias": true, "kernel_regularizer": null, "recurrent_regularizer": null, "bias_regularizer": null, "kernel_constraint": null, "recurrent_constraint": null, "bias_constraint": null, "dropout": 0.0, "recurrent_dropout": 0.0, "implementation": 2}, "shared_object_id": 85, "build_input_shape": {"class_name": "__tuple__", "items": [null, 400]}}2 + Jroot.layer_with_weights-0._graph.layer_instances.9.lstm.forward_layer.cell"_tf_keras_layer*{"name": "lstm_cell", "trainable": true, "expects_training_arg": true, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "LSTMCell", "config": {"name": "lstm_cell", "trainable": true, "dtype": "float32", "units": 200, "activation": "tanh", "recurrent_activation": "sigmoid", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 88}, "recurrent_initializer": {"class_name": "Orthogonal", "config": {"gain": 1.0, "seed": null}, "shared_object_id": 89}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 90}, "unit_forget_bias": true, "kernel_regularizer": null, "recurrent_regularizer": null, "bias_regularizer": null, "kernel_constraint": null, "recurrent_constraint": null, "bias_constraint": null, "dropout": 0.0, "recurrent_dropout": 0.0, "implementation": 2}, "shared_object_id": 91, "build_input_shape": {"class_name": "__tuple__", "items": [null, 400]}}2 + Kroot.layer_with_weights-0._graph.layer_instances.9.lstm.backward_layer.cell"_tf_keras_layer*{"name": "lstm_cell", "trainable": true, "expects_training_arg": true, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "LSTMCell", "config": {"name": "lstm_cell", "trainable": true, "dtype": "float32", "units": 200, "activation": "tanh", "recurrent_activation": "sigmoid", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 94}, "recurrent_initializer": {"class_name": "Orthogonal", "config": {"gain": 1.0, "seed": null}, "shared_object_id": 95}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 96}, "unit_forget_bias": true, "kernel_regularizer": null, "recurrent_regularizer": null, "bias_regularizer": null, "kernel_constraint": null, "recurrent_constraint": null, "bias_constraint": null, "dropout": 0.0, "recurrent_dropout": 0.0, "implementation": 2}, "shared_object_id": 97, "build_input_shape": {"class_name": "__tuple__", "items": [null, 400]}}2 \ No newline at end of file diff --git a/rodan-main/code/rodan/jobs/text_alignment/models/salzinnes_stgall/saved_model.pb b/rodan-main/code/rodan/jobs/text_alignment/models/salzinnes_stgall/saved_model.pb new file mode 100644 index 0000000000000000000000000000000000000000..c9065c7ad1afc402a62a18ba1eb85997668b2bab GIT binary patch literal 6173907 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
  • 0I{N2xI&^@PH{oOC5 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⩔v^Ywjul{nTb)sZ3I40A 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 UlIt!n&)PLbn?LV|>-@X_1Ne<{9 delta 54607 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 Brz`*f literal 0 HcmV?d00001 diff --git a/rodan-main/code/rodan/jobs/text_alignment/requirements.txt b/rodan-main/code/rodan/jobs/text_alignment/requirements.txt index 95de7747a..41bfa6f04 100644 --- a/rodan-main/code/rodan/jobs/text_alignment/requirements.txt +++ b/rodan-main/code/rodan/jobs/text_alignment/requirements.txt @@ -1,11 +1,9 @@ -#numpy==1.17.3; python_version > "3.4" -# Specify the tensorflow url link to prevent docker hub build failure due to hash mismatch -https://files.pythonhosted.org/packages/63/b2/2822fad63bdaedf3da841443daf92775d6fff16aba7199415e06f8d8c50f/tensorflow-2.5.1-cp37-cp37m-manylinux2010_x86_64.whl; python_version > "3.4" -# Install calamari and tfaip from our DDMAL fork -https://github.com/DDMAL/calamari/archive/refs/tags/DDMAL-v1.0.0.zip#egg=calamari_ocr; python_version > "3.4" -https://github.com/DDMAL/tfaip/archive/refs/tags/v1.0.0.zip#egg=tfaip; python_version > "3.4" -paiargparse==1.1.2; python_version > "3.4" -scipy==1.7.3; python_version > "3.4" -Unidecode==1.0.22; python_version > "3.4" -scikit-image==0.17.2; python_version > "3.4" -keras==2.5.0rc0; python_version > "3.4" \ No newline at end of file +# text_alignment OCR runs on upstream Calamari-OCR, which supports Python 3.11 and +# TensorFlow <= 2.15 via ocrd-fork-tfaip 1.2.7 (replaces the old DDMAL calamari/tfaip +# forks that were cp37 / TF 2.5.1 only). TensorFlow itself is provided by the GPU image +# (tensorflow[and-cuda]==2.15.1); calamari pulls scipy/paiargparse/pillow transitively. +# The bundled salzinnes_stgall model has been pre-migrated to the calamari v6 SavedModel +# format so it loads without any runtime migration write. +calamari-ocr==2.3.1 +numpy==1.26.4 +scikit-image>=0.22.0 diff --git a/rodan-main/code/rodan/jobs/text_alignment/text_alignment.py b/rodan-main/code/rodan/jobs/text_alignment/text_alignment.py index 93b34aee4..76b4e04c1 100644 --- a/rodan-main/code/rodan/jobs/text_alignment/text_alignment.py +++ b/rodan-main/code/rodan/jobs/text_alignment/text_alignment.py @@ -83,3 +83,28 @@ def run_my_task(self, inputs, settings, outputs): json.dump(align.to_JSON_dict(syl_boxes, lines_peak_locs), file) return True + + def test_my_task(self, testcase): + # Calamari-OCR is installed only in the GPU worker image; skip gracefully where it + # is absent (e.g. the CPU-only CI image) so test_all_jobs stays green. Real coverage + # runs on the GPU worker (per-job harness / live run). Uses the bundled test case. + try: + import calamari_ocr # noqa: F401 + except ImportError: + return + import os + base = os.path.join(os.path.dirname(__file__), 'test_cases') + output_path = testcase.new_available_path() + inputs = { + 'Text Layer': [{'resource_type': 'image/rgb+png', + 'resource_path': os.path.join(base, 'test1.png')}], + 'Transcript': [{'resource_type': 'text/plain', + 'resource_path': os.path.join(base, 'test1.txt')}], + } + outputs = {'Text Alignment JSON': [{'resource_type': 'application/json', + 'resource_path': output_path}]} + self.run_my_task(inputs, {'OCR Model': 0}, outputs) + with open(output_path) as f: + result = json.load(f) + testcase.assertIn('syl_boxes', result) + testcase.assertGreater(len(result['syl_boxes']), 0) diff --git a/rodan-main/code/rodan/registerJobs.yaml b/rodan-main/code/rodan/registerJobs.yaml index 9da813652..aec8af369 100644 --- a/rodan-main/code/rodan/registerJobs.yaml +++ b/rodan-main/code/rodan/registerJobs.yaml @@ -146,12 +146,11 @@ } "RODAN_GPU_JOBS": { - # text_alignment is deferred in the py3.11/TF2.15 modernization: it depends on the - # DDMAL calamari/tfaip forks, which ship only cp37 wheels pinned to TF 2.5.1 and have - # no Python 3.11 build. Re-enable once those are ported. - # "rodan.jobs.text_alignment" : { - # "rodan.jobs.text_alignment.text_alignment" : [ "text_alignment" ] - # }, + # text_alignment runs on upstream Calamari-OCR (py3.11 + TF2.15 via ocrd-fork-tfaip 1.2.7); + # the bundled salzinnes_stgall model is pre-migrated to the calamari v6 SavedModel format. + "rodan.jobs.text_alignment" : { + "rodan.jobs.text_alignment.text_alignment" : [ "text_alignment" ] + }, "rodan.jobs.Paco_classifier" : { "rodan.jobs.Paco_classifier.fast_paco_trainer" : [ "FastPacoTrainer"], diff --git a/scripts/install_gpu_rodan_jobs b/scripts/install_gpu_rodan_jobs index 2134d724e..511df1b8b 100644 --- a/scripts/install_gpu_rodan_jobs +++ b/scripts/install_gpu_rodan_jobs @@ -10,9 +10,9 @@ set -o xtrace # Print commands and their arguments as they are executed. # rodan-main (no CUDA) the same requirements pull the CPU TensorFlow, which is enough to # import/register the jobs in the API. # -# text_alignment is intentionally NOT installed: it depends on the DDMAL calamari/tfaip -# forks (cp37-only wheels, TF 2.5.1) with no Python 3.11 build, so it is deferred (also -# commented out in rodan/registerJobs.yaml). Re-add its install once those are ported. +# text_alignment's code lives inside the Rodan repo (rodan/jobs/text_alignment), so it is +# not cloned here; it only needs the OCR engine. Upstream Calamari-OCR supports py3.11 + +# TF2.15 via ocrd-fork-tfaip 1.2.7, installed from the job's own requirements below. PIP=$(which pip3) || PIP=$(which pip) @@ -36,3 +36,6 @@ git clone -b py311 --depth 1 https://github.com/DDMAL/Paco_classifier.git mv Paco_classifier .Paco_classifier cd .Paco_classifier $PIP install --no-cache-dir . + +# text_alignment (calamari OCR engine; the job code itself is in-Rodan) +$PIP install --no-cache-dir -r /code/Rodan/rodan/jobs/text_alignment/requirements.txt From 1bbdec0025e7f964e755c3f11bdd4390ce968cab Mon Sep 17 00:00:00 2001 From: amirsadraabdollahi Date: Sat, 11 Jul 2026 17:08:28 -0400 Subject: [PATCH 16/18] Fix: guard job_list bookkeeping so bare job-module imports don't raise spurious AttributeError --- rodan-main/code/rodan/jobs/base.py | 21 ++++++++++++++----- .../code/rodan/jobs/register_all_jobs.py | 18 ++++++++-------- 2 files changed, 25 insertions(+), 14 deletions(-) diff --git a/rodan-main/code/rodan/jobs/base.py b/rodan-main/code/rodan/jobs/base.py index 32c96ef63..3f7765e79 100644 --- a/rodan-main/code/rodan/jobs/base.py +++ b/rodan-main/code/rodan/jobs/base.py @@ -520,11 +520,22 @@ def check_port_types(which): check_port_types("in") check_port_types("out") - # Process done - from rodan.jobs.load import job_list - - if attrs["name"] in job_list: - job_list.remove(attrs["name"]) + # Process done. + # + # `job_list` is load.py's running tally of catalogue jobs still awaiting a code + # module; each job crosses itself off here so load.py can flag the leftovers as + # orphaned. Only do this when load.py is the active orchestrator (already in + # sys.modules). Importing it from a standalone job-module import (e.g. a bare + # `import rodan.jobs..`) would run load.py's module-level registration + # while THIS class is still mid-definition; that registration then getattrs the + # not-yet-bound class off its half-imported module and raises a spurious + # AttributeError (swallowed by register_all_jobs.py). Skipping the tally when + # load.py isn't orchestrating is harmless — there is no orphan sweep to feed. + if "rodan.jobs.load" in sys.modules: + from rodan.jobs.load import job_list + + if attrs["name"] in job_list: + job_list.remove(attrs["name"]) @staticmethod def _resolve_resource_types(value): diff --git a/rodan-main/code/rodan/jobs/register_all_jobs.py b/rodan-main/code/rodan/jobs/register_all_jobs.py index 1954e9f11..c7cb73d1c 100644 --- a/rodan-main/code/rodan/jobs/register_all_jobs.py +++ b/rodan-main/code/rodan/jobs/register_all_jobs.py @@ -28,39 +28,39 @@ def register_base(): for path in allJobs['BASE_JOB_PACKAGES']: for base_job in allJobs['BASE_JOB_PACKAGES'][path]: - try: + try: # from path import base_job as job_name - job_class = getattr(importlib.import_module(path), base_job) + job_class = getattr(importlib.import_module(path), base_job) app.register_task(job_class) except Exception as exception: - print(base_job + " failed to import with the following error:", exception.__class__.__name__) + print(base_job + " failed to import with the following error:", repr(exception)) # Python3 Jobs def register_py3(): for pack in allJobs['RODAN_PYTHON3_JOBS']: for path in allJobs['RODAN_PYTHON3_JOBS'][pack]: for py3_job in allJobs['RODAN_PYTHON3_JOBS'][pack][path]: - try: + try: #from path import py3_job as job_name - job_class = getattr(importlib.import_module(path), py3_job) + job_class = getattr(importlib.import_module(path), py3_job) app.register_task(job_class) except Exception as exception: - print(py3_job + " failed to import with the following error:", exception.__class__.__name__) + print(py3_job + " failed to import with the following error:", repr(exception)) def register_gpu(): for pack in allJobs["RODAN_GPU_JOBS"]: for path in allJobs["RODAN_GPU_JOBS"][pack]: for gpu_job in allJobs["RODAN_GPU_JOBS"][pack][path]: - try: + try: #from path import py3_job as job_name - job_class = getattr(importlib.import_module(path), gpu_job) + job_class = getattr(importlib.import_module(path), gpu_job) app.register_task(job_class) except Exception as exception: - print(gpu_job + " failed to import with the following error:", exception.__class__.__name__) + print(gpu_job + " failed to import with the following error:", repr(exception)) if __name__ == "__main__": register_all() From 0d18ca213c1063b79f0fdaf8ed67a1858ad6d0a1 Mon Sep 17 00:00:00 2001 From: amirsadraabdollahi Date: Mon, 13 Jul 2026 10:06:27 -0400 Subject: [PATCH 17/18] Fix: editor-open --- rodan-main/code/rodan/jobs/base.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/rodan-main/code/rodan/jobs/base.py b/rodan-main/code/rodan/jobs/base.py index 3f7765e79..4da84da5e 100644 --- a/rodan-main/code/rodan/jobs/base.py +++ b/rodan-main/code/rodan/jobs/base.py @@ -1128,7 +1128,12 @@ def get_interface(self, runjob_id): else: with open(template_file, "r") as f: t = Template(f.read()) - _django_template_cache = t + # NB: index into the cache dict — assigning `_django_template_cache = t` + # would replace the dict with a Template, so the NEXT interactive + # `get_interface` in the same worker process hits `template_file in

    v;&?B*V~5;N5TNQPEJpnH5$O`;>?74KfT< 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 KY{N~;AwQ_Q-G!YJ0BJZvrbq#A9~#1(NP&Py0- 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