Skip to content

Add real-time watch dashboard for request provisioning#205

Open
kirillsc wants to merge 2 commits intomainfrom
feature/watch-follow
Open

Add real-time watch dashboard for request provisioning#205
kirillsc wants to merge 2 commits intomainfrom
feature/watch-follow

Conversation

@kirillsc
Copy link
Copy Markdown
Contributor

@kirillsc kirillsc commented Apr 19, 2026

Description

Add orb requests watch command — a real-time CLI dashboard for monitoring request provisioning. Displays braille dot-precise progress bar with OD/Spot color segments, per-AZ distribution bars, capacity units, vCPU count, machine count, and elapsed time. Auto-resolves latest request when no ID provided. Supports weighted capacity fleets.

Screenshot 2026-04-19 at 23 33 04

Type of Change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation update
  • Performance improvement
  • Code cleanup or refactor
  • Dependencies update
  • CI/CD or build process changes

Related Issues

Fixes #

How Has This Been Tested?

  • Unit tests added/updated
  • Integration tests added/updated
  • Manual testing performed

Test Configuration

  • Python version: 3.12
  • OS: macOS Darwin 25.3.0
  • AWS region: eu-west-1
  • Dependencies changed: None (Rich already a dependency)

Checklist

  • My code follows the project's style guidelines
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • I have added tests that prove my fix is effective or that my feature works
  • New and existing unit tests pass locally with my changes
  • Any dependent changes have been merged and published
  • I have updated the CHANGELOG.md file
  • I have updated the version number (if applicable)

Additional Notes

  • Progress bar uses same dots-per-unit scale for top bar and per-AZ bars
  • vCPUs stored in Machine.metadata at sync time to keep application layer provider-agnostic
  • skip_cache added to GetRequestQuery to bypass 5min in-memory cache during polling
  • price_type and availability_zone now flow through MachineReferenceDTO and are persisted in storage

Screenshots (if appropriate)

Performance Impact

  • No significant performance impact
  • Performance improved
  • Performance degraded (explain why it's necessary)

Security Considerations

  • No security implications
  • Security improved
  • Potential security concerns (explain and justify)

Dependencies

No new dependencies. Uses Rich (already in project).

Migration Guide

N/A — new additive feature, no breaking changes.

Deployment Notes

No special considerations.

Reviewers

@awslabs/orb-maintainers

ListMachinesHandler.execute_query() used synced_machines[0] after syncing
with AWS, always picking the first instance in the reservation regardless
of which machine was being iterated. This caused return --all to send the
same instance ID repeated N times instead of N unique IDs.

Match synced machine by ID instead of blindly taking the first element.
…spot prices

Weights were not proportional to vCPUs (t3.medium:1, t3.large:2 when both
have 2 vCPUs). Added t3.xlarge to all templates for weight diversity.
Unified max_price to $0.10 (25% above observed t3.xlarge spot price).
@kirillsc kirillsc requested a review from a team as a code owner April 19, 2026 21:58
@github-actions
Copy link
Copy Markdown
Contributor

Test Results Summary

6 439 tests  +1   6 354 ✅ +1   9m 36s ⏱️ +40s
    6 suites ±0      85 💤 ±0 
    6 files   ±0       0 ❌ ±0 

Results for commit 980e24b. ± Comparison against base commit fec26e7.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant