- 
                Notifications
    
You must be signed in to change notification settings  - Fork 32
 
✨Computational clusters: connect autoscaling to RabbitMQ ⚠️ #7485
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
✨Computational clusters: connect autoscaling to RabbitMQ ⚠️ #7485
Conversation
          Codecov ReportAll modified and coverable lines are covered by tests ✅ 
 Additional details and impacted files@@            Coverage Diff             @@
##           master    #7485      +/-   ##
==========================================
+ Coverage   87.60%   87.63%   +0.03%     
==========================================
  Files        1758     1751       -7     
  Lines       68116    67942     -174     
  Branches     1124     1124              
==========================================
- Hits        59672    59540     -132     
+ Misses       8135     8093      -42     
  Partials      309      309              
 
 Continue to review full report in Codecov by Sentry. 
 🚀 New features to boost your workflow:
  | 
    
6ab02df    to
    2bf6e94      
    Compare
  
            
          
                services/clusters-keeper/src/simcore_service_clusters_keeper/utils/clusters.py
          
            Show resolved
            Hide resolved
        
      There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nice!
        
          
                services/clusters-keeper/src/simcore_service_clusters_keeper/core/settings.py
          
            Show resolved
            Hide resolved
        
      a1c0e94    to
    9c35879      
    Compare
  
    There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could you elaborate on open ports on self-hosted rabbit containers? I don't fully follow
9c35879    to
    47f6be2      
    Compare
  
    There was a problem hiding this comment.
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 integrates RabbitMQ settings for autoscaling in private clusters by introducing a new environment variable and updating related settings and tests.
- Added a new environment variable to inject RabbitMQ settings into Docker Compose.
 - Updated the settings schema, tests, and related utilities to propagate and validate the RabbitMQ configuration.
 
Reviewed Changes
Copilot reviewed 10 out of 10 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description | 
|---|---|
| services/docker-compose.yml | Added PRIMARY_EC2_INSTANCES_RABBIT_SETTINGS environment variable for RabbitMQ. | 
| services/clusters-keeper/tests/unit/test_utils_clusters.py | Included new RabbitMQ fixtures and tests to verify RabbitMQ settings propagation. | 
| services/clusters-keeper/tests/unit/test_modules_dask.py | Updated TLSAuthentication usage to the new model_json_schema() pattern. | 
| services/clusters-keeper/tests/unit/conftest.py | Modified fixture to properly unset RABBIT_HOST when disabling RabbitMQ. | 
| services/clusters-keeper/src/simcore_service_clusters_keeper/utils/clusters.py | Appended AUTOSCALING_RABBITMQ into environment variables using RabbitSettings. | 
| services/clusters-keeper/src/simcore_service_clusters_keeper/data/docker-compose.yml | Injected AUTOSCALING_RABBITMQ in the deploy compose file. | 
| services/clusters-keeper/src/simcore_service_clusters_keeper/core/settings.py | Added PRIMARY_EC2_INSTANCES_RABBIT field in the settings schema. | 
| services/autoscaling/tests/unit/test_modules_dask.py | Reformatted async call for task results, along with TLSAuthentication update. | 
| packages/settings-library/src/settings_library/rabbit.py | Revised allowed_schemes typing and JSON schema examples for Rabbit settings. | 
| packages/models-library/src/models_library/clusters.py | Updated schema examples for TLSAuthentication and cluster configuration. | 
Comments suppressed due to low confidence (1)
services/docker-compose.yml:223
- Environment variable 'PRIMARY_EC2_INSTANCES_RABBIT_SETTINGS' is inconsistent with the settings field 'PRIMARY_EC2_INSTANCES_RABBIT'. Consider renaming it to 'PRIMARY_EC2_INSTANCES_RABBIT' for consistency.
 
PRIMARY_EC2_INSTANCES_RABBIT_SETTINGS: ${PRIMARY_EC2_INSTANCES_RABBIT_SETTINGS}
          
 | 
    



What do these changes do?
PRIMARY_EC2_INSTANCES_RABBITfor setting RabbitMQ settings in user private clustersThis PR shall allow private cluster autoscaling to send logs to the main simcore rabbitMQ.
This is a pre-requisite to see logs about scaling up/down of clusters and also send information about the cluster current status.
Related issue/s
How to test
Dev-ops checklist