Skip to content

dynamic-scheduler now uses RPC to reach the catalog - #9599

Merged
mergify[bot] merged 2 commits into
ITISFoundation:masterfrom
GitHK:pr-osparc-replace-catalog-client-dynamic-scheduler
Aug 28, 2026
Merged

dynamic-scheduler now uses RPC to reach the catalog#9599
mergify[bot] merged 2 commits into
ITISFoundation:masterfrom
GitHK:pr-osparc-replace-catalog-client-dynamic-scheduler

Conversation

@GitHK

@GitHK GitHK commented Aug 27, 2026

Copy link
Copy Markdown
Contributor

What do these changes do?

Replaced HTTP client form dynamic-scheduler with the RPC one since the HTTP interface of the catalog is deprecated.

Related issue/s

How to test

Dev-ops

@GitHK GitHK added this to the War Pigs milestone Aug 27, 2026
@GitHK GitHK self-assigned this Aug 27, 2026
@github-actions github-actions Bot added a:infra+ops maintenance of infrastructure or operations (discussed in retro) a:services-library issues on packages/service-libs a:catalog catalog service a:dynamic-scheduler labels Aug 27, 2026
@GitHK
GitHK requested a lite review from Copilot August 27, 2026 06:14
@codecov

codecov Bot commented Aug 27, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 63.15789% with 7 lines in your changes missing coverage. Please review.
✅ Project coverage is 88.16%. Comparing base (89a13e5) to head (9ce24fc).
⚠️ Report is 1 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #9599      +/-   ##
==========================================
- Coverage   88.18%   88.16%   -0.03%     
==========================================
  Files        1563     1559       -4     
  Lines       60661    60596      -65     
  Branches     1583     1583              
==========================================
- Hits        53496    53424      -72     
- Misses       6743     6751       +8     
+ Partials      422      421       -1     
Flag Coverage Δ
integrationtests 72.03% <ø> (+0.10%) ⬆️
unittests 87.01% <63.15%> (-0.02%) ⬇️
Components Coverage Δ
pkg_aws_library 96.83% <ø> (ø)
pkg_celery_library 78.60% <ø> (ø)
pkg_dask_task_models_library 90.70% <ø> (ø)
pkg_models_library 92.62% <ø> (ø)
pkg_notifications_library ∅ <ø> (∅)
pkg_postgres_database 90.13% <ø> (ø)
pkg_service_integration 73.01% <ø> (ø)
pkg_service_library 71.28% <0.00%> (-0.03%) ⬇️
pkg_settings_library 90.93% <ø> (ø)
pkg_simcore_sdk 86.47% <ø> (+0.09%) ⬆️
agent 93.91% <ø> (ø)
api_server 92.97% <ø> (ø)
autoscaling 95.21% <ø> (ø)
catalog 92.51% <100.00%> (+0.03%) ⬆️
clusters_keeper 98.61% <ø> (ø)
dask_sidecar 93.30% <ø> (+0.07%) ⬆️
datcore_adapter 98.08% <ø> (ø)
director 79.01% <ø> (-0.16%) ⬇️
director_v2 92.00% <ø> (-0.07%) ⬇️
dynamic_scheduler 95.96% <66.66%> (-0.22%) ⬇️
dynamic_sidecar 88.66% <ø> (ø)
efs_guardian 89.40% <ø> (ø)
invitations 91.63% <ø> (ø)
payments 92.49% <ø> (ø)
resource_usage_tracker 91.78% <ø> (+0.15%) ⬆️
storage 87.87% <ø> (-0.08%) ⬇️
webclient ∅ <ø> (∅)
webserver ∅ <ø> (∅)

Continue to review full report in Codecov by Harness.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 89a13e5...9ce24fc. Read the comment docs.

🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@GitHK GitHK changed the title use catalog RPC interface instead of http in dynamic-scheduler dynamic-scheduler now uses RPC to reach the catalog Aug 27, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR refactors dynamic-scheduler to use the Catalog RabbitMQ RPC interface (instead of HTTP) when retrieving service docker-image labels, and extends the Catalog RPC surface to expose get_service_labels end-to-end.

Changes:

  • Switch dynamic-scheduler stop logic to fetch service labels via servicelib.rabbitmq.rpc_interfaces.catalog.services.get_service_labels(...).
  • Remove the dynamic-scheduler HTTP thin/public Catalog clients and their related app settings and docker-compose env wiring.
  • Add get_service_labels to Catalog’s RPC server, the shared service-library RPC client, and test/support helpers (plus a Catalog unit test).

Reviewed changes

Copilot reviewed 14 out of 14 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
services/dynamic-scheduler/tests/unit/services/test_catalog.py Removes HTTP-based Catalog client unit tests (client removed).
services/dynamic-scheduler/src/simcore_service_dynamic_scheduler/services/common_interface.py Uses Catalog RPC (get_service_labels) to decide legacy vs dynamic-sidecar stop behavior.
services/dynamic-scheduler/src/simcore_service_dynamic_scheduler/services/catalog/_thin_client.py Removes HTTP thin client implementation.
services/dynamic-scheduler/src/simcore_service_dynamic_scheduler/services/catalog/_setup.py Removes Catalog client lifespan/plugin setup.
services/dynamic-scheduler/src/simcore_service_dynamic_scheduler/services/catalog/_public_client.py Removes HTTP public client wrapper.
services/dynamic-scheduler/src/simcore_service_dynamic_scheduler/services/catalog/init.py Removes Catalog client exports.
services/dynamic-scheduler/src/simcore_service_dynamic_scheduler/core/settings.py Removes Catalog HTTP settings from dynamic-scheduler settings.
services/dynamic-scheduler/src/simcore_service_dynamic_scheduler/core/application.py Removes Catalog plugin configuration from app composition.
services/docker-compose.yml Drops CATALOG_HOST/PORT envs from the dynamic-scheduler service section.
services/catalog/tests/unit/with_dbs/test_api_rpc.py Adds unit test for Catalog RPC get_service_labels.
services/catalog/src/simcore_service_catalog/service/catalog_services.py Adds service-layer helper to fetch/validate labels from director as SimcoreServiceLabels.
services/catalog/src/simcore_service_catalog/api/rpc/_services.py Exposes get_service_labels over Catalog RPC.
packages/service-library/src/servicelib/rabbitmq/rpc_interfaces/catalog/services.py Adds shared RPC client method get_service_labels.
packages/pytest-simcore/src/pytest_simcore/helpers/catalog_rpc.py Extends Catalog RPC test side-effects with get_service_labels.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@GitHK GitHK added the t:maintenance Maintenance work; used to filter tasks for end-of-sprint reporting in Review (Agreed July 3, Retro) label Aug 27, 2026
@GitHK
GitHK marked this pull request as ready for review August 27, 2026 06:27

@sanderegg sanderegg left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thanks

Comment thread services/catalog/src/simcore_service_catalog/api/rpc/_services.py

@pcrespov pcrespov left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thx for following up on this.

Comment thread services/catalog/src/simcore_service_catalog/api/rpc/_services.py
@GitHK GitHK added the 🤖-automerge marks PR as ready to be merged for Mergify label Aug 28, 2026
@GitHK

GitHK commented Aug 28, 2026

Copy link
Copy Markdown
Contributor Author

@Mergifyio queue

@mergify

mergify Bot commented Aug 28, 2026

Copy link
Copy Markdown
Contributor

Merge Queue Status

  • Entered queue2026-08-28 06:13 UTC · Rule: default · triggered by @GitHK with the @mergifyio queue command
  • Checks skipped · PR is already up-to-date
  • Merged2026-08-28 06:14 UTC · at 9ce24fc9630295d532d7fbdf48528597fd0ba678

This pull request spent 46 seconds in the queue, including 2 seconds running CI.

Required conditions to merge

@sonarqubecloud

Copy link
Copy Markdown

@mergify mergify Bot added the queued label Aug 28, 2026
@mergify
mergify Bot merged commit dc5783d into ITISFoundation:master Aug 28, 2026
98 of 99 checks passed
@mergify mergify Bot removed the queued label Aug 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

🤖-automerge marks PR as ready to be merged for Mergify a:catalog catalog service a:dynamic-scheduler a:infra+ops maintenance of infrastructure or operations (discussed in retro) a:services-library issues on packages/service-libs t:maintenance Maintenance work; used to filter tasks for end-of-sprint reporting in Review (Agreed July 3, Retro)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants