Open
Conversation
1339a57 to
1ebb8d9
Compare
0182b36 to
2c2573a
Compare
- Include submit_tasks.py in examples readme and documentation. - Implement skip_examples.txt for top-level examples in CI. - Add submit_tasks.py to skip_examples.txt as it requires a running scheduler.
gxuu
reviewed
Feb 10, 2026
gxuu
reviewed
Feb 10, 2026
gxuu
previously approved these changes
Feb 13, 2026
- Remove aiohttp dependency and RESTful API implementation. - Rename ORBAdapter to ORBWorkerAdapter. - Implement ZMQ DEALER connection to scheduler for commands and heartbeats. - Update start/shutdown logic to return status codes consistent with the new protocol. - Clean up configuration by removing now-unused WebConfig.
rafa-be
previously approved these changes
Feb 18, 2026
gxuu
previously approved these changes
Feb 19, 2026
Replace camelcase_dict with direct use of asdict output, which already produces snake_case keys matching the ORBTemplate dataclass field names.
Remove unused sections (server, metrics, performance, events, naming, circuit_breaker, etc.) to reduce config to the minimal required structure.
Resolves merge conflicts with origin/main, taking main's desired state. Updates orb adapter to match the worker_manager_* naming convention introduced in main: renames entry point file and CLI command, and updates orb documentation to reflect the new command name and adapter overview structure.
…ove initialization - Rename worker_adapter/orb/ to worker_manager_adapter/orb/ and worker_adapter.py to worker_manager.py - Extract AWS/ORB setup into a lazy __initialize() method called at runtime - Add proper Optional type annotations for deferred fields - Add assert guards before connector usage - Fix unlimited workers check (max_workers == -1) - Condense multi-line imports in uv_ymq __init__, .pyi, and test file
- Move dict_utils (camelcase/snakecase) out of formatter into its own module - Move ORB config files to worker_manager_adapter/orb/config/ and delete from drivers/orb/config/ - Inject AWS region into ORB config at runtime rather than requiring pre-configured files - Remove allowed_ip config field; drop ingress security group rules (workers connect outbound only) - Extract _poll_for_instance_id helper and run it in executor to avoid blocking the event loop - Fix orb_config_path default to use package-relative path - Update docs and entry point references to scaler_worker_manager_orb
Populate instance_types in the generated template so ORB can resolve
the EC2 instance type when requesting machines. Also fix the region
injection in ORBHelper, which was iterating the wrong key ("providers"
instead of "provider.providers") and silently leaving the region as
us-east-1 regardless of config.
…light When an adapter takes a long time to fulfill a command (e.g. ORB polling for instance IDs), repeated heartbeats caused the scheduler to send new commands before the previous response arrived. This resulted in duplicate StartWorkerGroup commands, WorkerGroupTooMuch errors, and spurious "no pending command found" warnings.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This pull request implements the ORB (Open Resource Broker) Worker Manager, enabling Scaler to dynamically scale worker instances on AWS using the ORB CLI.
Caveats
Key Changes
ORBWorkerAdapterinsrc/scaler/worker_manager_adapter/orb/, which handles:ORBHelperto interface with theorbcommand-line tool, including support for templates, machines, and provisioning requests. AWS region is injected into ORB config at runtime.ami/directory with Packer configuration (opengris-scaler.pkr.hcl) and a build script (build.sh) to create AMIs pre-configured withopengris-scaler.ORBWorkerAdapterConfigfor detailed adapter settings, with ORB config templates bundled inworker_manager_adapter/orb/config/.scaler_worker_manager_orbentry point and corresponding run script.no_random_worker_idsinClusterandWorkerclasses to facilitate deterministic worker identification in cloud environments.WorkerAdapterControllernow waits for a pending command to complete before sending a new one. This prevents duplicateStartWorkerGroupcommands being sent during the long ORB polling period, which causedWorkerGroupTooMucherrors and spurious "no pending command found" warnings.Implementation Details
start_worker_group,shutdown_worker_group)Dependencies
orb-pyandboto3to theorbandallextra dependency groups inpyproject.toml