Skip to content

Fixed merging analyses computation_settings on the platform#1813

Merged
sambles merged 5 commits intomainfrom
fix/compuration-settings-platform
Dec 16, 2025
Merged

Fixed merging analyses computation_settings on the platform#1813
sambles merged 5 commits intomainfrom
fix/compuration-settings-platform

Conversation

@sambles
Copy link
Copy Markdown
Contributor

@sambles sambles commented Dec 4, 2025

Fixed merging analyses computation_settings on the platform

The computation_settings sections in analyses and model settings are not pickup and merged by the platform.
Fixed so it works the same way as MDK

Note: we might want to do something better with USER_ROLE so admin accounts can do this but not normal users?

  File "/home/worker/.local/lib/python3.12/site-packages/celery/app/trace.py", line 453, in trace_task
    R = retval = fun(*args, **kwargs)
                 ^^^^^^^^^^^^^^^^^^^^
  File "/home/worker/.local/lib/python3.12/site-packages/celery/app/trace.py", line 736, in __protected_call__
    return self.run(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/worker/.local/lib/python3.12/site-packages/celery/app/autoretry.py", line 60, in run
    ret = task.retry(exc=exc, **retry_kwargs)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/worker/.local/lib/python3.12/site-packages/celery/app/task.py", line 743, in retry
    raise_with_context(exc)
  File "/home/worker/.local/lib/python3.12/site-packages/celery/app/autoretry.py", line 38, in run
    return task._orig_run(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/worker/src/model_execution_worker/tasks.py", line 181, in run
    return fn(self, analysis_pk, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/worker/src/model_execution_worker/tasks.py", line 435, in generate_input
    gen_files_params = OasisManager()._params_generate_oasis_files(**lookup_params)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/worker/.local/lib/python3.12/site-packages/oasislmf/computation/base.py", line 147, in get_arguments
    new_settings.pop("computation_settings", {}), {ROOT_USER_ROLE}
                                                  ^^^^^^^^^^^^^^^^
TypeError: unhashable type: 'set'
During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/worker/.local/lib/python3.12/site-packages/celery/app/trace.py", line 453, in trace_task
    R = retval = fun(*args, **kwargs)
                 ^^^^^^^^^^^^^^^^^^^^
  File "/home/worker/.local/lib/python3.12/site-packages/celery/app/trace.py", line 736, in __protected_call__
    return self.run(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/worker/.local/lib/python3.12/site-packages/celery/app/autoretry.py", line 60, in run
    ret = task.retry(exc=exc, **retry_kwargs)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/worker/.local/lib/python3.12/site-packages/celery/app/task.py", line 743, in retry
    raise_with_context(exc)
  File "/home/worker/.local/lib/python3.12/site-packages/celery/app/autoretry.py", line 38, in run
    return task._orig_run(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/worker/src/model_execution_worker/tasks.py", line 181, in run
    return fn(self, analysis_pk, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/worker/src/model_execution_worker/tasks.py", line 435, in generate_input
    gen_files_params = OasisManager()._params_generate_oasis_files(**lookup_params)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/worker/.local/lib/python3.12/site-packages/oasislmf/computation/base.py", line 145, in get_arguments
    new_settings = settings_info["loader"](setting_fp)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/worker/.local/lib/python3.12/site-packages/ods_tools/oed/settings.py", line 384, in load
    raise OdsException(f'Invalid {self.settings_type} file or file path: {settings_fp}')
ods_tools.oed.common.OdsException: Invalid model_settings file or file path: meta-data/model_settings.json
@sambles sambles requested review from SkylordA and sstruzik December 4, 2025 15:05
@sambles sambles self-assigned this Dec 4, 2025
@sambles sambles requested review from Ha-Ree and removed request for SkylordA December 12, 2025 11:42
@sambles sambles merged commit efda9fe into main Dec 16, 2025
26 checks passed
@sambles sambles deleted the fix/compuration-settings-platform branch December 16, 2025 10:48
sambles added a commit that referenced this pull request Dec 16, 2025
* Add param settings merging into the kwarg func called by the platform

* pep

* fix error in plat

  File "/home/worker/.local/lib/python3.12/site-packages/celery/app/trace.py", line 453, in trace_task
    R = retval = fun(*args, **kwargs)
                 ^^^^^^^^^^^^^^^^^^^^
  File "/home/worker/.local/lib/python3.12/site-packages/celery/app/trace.py", line 736, in __protected_call__
    return self.run(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/worker/.local/lib/python3.12/site-packages/celery/app/autoretry.py", line 60, in run
    ret = task.retry(exc=exc, **retry_kwargs)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/worker/.local/lib/python3.12/site-packages/celery/app/task.py", line 743, in retry
    raise_with_context(exc)
  File "/home/worker/.local/lib/python3.12/site-packages/celery/app/autoretry.py", line 38, in run
    return task._orig_run(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/worker/src/model_execution_worker/tasks.py", line 181, in run
    return fn(self, analysis_pk, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/worker/src/model_execution_worker/tasks.py", line 435, in generate_input
    gen_files_params = OasisManager()._params_generate_oasis_files(**lookup_params)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/worker/.local/lib/python3.12/site-packages/oasislmf/computation/base.py", line 147, in get_arguments
    new_settings.pop("computation_settings", {}), {ROOT_USER_ROLE}
                                                  ^^^^^^^^^^^^^^^^
TypeError: unhashable type: 'set'

* Fix loading default fp thats not set

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/worker/.local/lib/python3.12/site-packages/celery/app/trace.py", line 453, in trace_task
    R = retval = fun(*args, **kwargs)
                 ^^^^^^^^^^^^^^^^^^^^
  File "/home/worker/.local/lib/python3.12/site-packages/celery/app/trace.py", line 736, in __protected_call__
    return self.run(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/worker/.local/lib/python3.12/site-packages/celery/app/autoretry.py", line 60, in run
    ret = task.retry(exc=exc, **retry_kwargs)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/worker/.local/lib/python3.12/site-packages/celery/app/task.py", line 743, in retry
    raise_with_context(exc)
  File "/home/worker/.local/lib/python3.12/site-packages/celery/app/autoretry.py", line 38, in run
    return task._orig_run(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/worker/src/model_execution_worker/tasks.py", line 181, in run
    return fn(self, analysis_pk, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/worker/src/model_execution_worker/tasks.py", line 435, in generate_input
    gen_files_params = OasisManager()._params_generate_oasis_files(**lookup_params)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/worker/.local/lib/python3.12/site-packages/oasislmf/computation/base.py", line 145, in get_arguments
    new_settings = settings_info["loader"](setting_fp)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/worker/.local/lib/python3.12/site-packages/ods_tools/oed/settings.py", line 384, in load
    raise OdsException(f'Invalid {self.settings_type} file or file path: {settings_fp}')
ods_tools.oed.common.OdsException: Invalid model_settings file or file path: meta-data/model_settings.json

* f
@sambles sambles mentioned this pull request Dec 16, 2025
@awsbuild awsbuild added this to the 2.4.11 milestone Dec 16, 2025
@awsbuild awsbuild modified the milestones: 2.4.11, 2.5.0 Feb 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

4 participants