Skip to content

feat: create queue - #332

Merged
danielboloc merged 28 commits into
mainfrom
create-queue
Jun 26, 2026
Merged

feat: create queue#332
danielboloc merged 28 commits into
mainfrom
create-queue

Conversation

@danielboloc

@danielboloc danielboloc commented Jun 15, 2026

Copy link
Copy Markdown
Collaborator

Overview

Adds ability to create queues from CLI following the web UI process:

  • using compute presets
  • from scratch
  • create queue + add compute environments (this is implemented, but API endpoint is not yet open)

JIRA

Please add here as many related tasks this PR covers with its brief description, if more than one ticket

Acceptance Criteria

Please add here as many scenarios as in the Story

Normally this acceptance criteria is tested in ADAPT workspace in PROD

Scenario 1 - Workspace admin creates a queue successfully
cloudos queue create \
    --label "from_CLI" \
    --description "generated this queue from CLI cmd" \
    --preset standard-stable \
    --profile adapt
image
Scenario 2 - CLI exposes the same creation options as the UI

Creates queue with presets
image

Creates from scratch (interactive)
image
image
image
image
image

Scenario 3 - Create a queue with multiple compute environments

In the UI, you cannot create queue with multiple environments as a single step. You have to create the queue and it will have 1 CE, then you can add the next 2 (3 in total).

Create a queue

cloudos queue create \
    --label "new_QUEUE_CLI" \
    --profile adapt \
    --description "new_QUEUE_CLI" \
    --profile adapt
image

Add new CE to existing queue. The CE additions, follows the UI create from scratch. The CLI also uses the same. BUT, the api endpoint is not open to use apiKey, therefore this functionality is placed on hold.

cloudos queue create \
    --profile adapt \
    --add-compute-env \
    --label "new_QUEUE_CLI"
image image image image
Scenario 4 - Member is not permitted to create a queue image
Scenario 5 - Created queue is usable by both admins and members image
Scenario 6 - Workspace queue limit reached

CE limit reached

image

Queue limit reached
image

Scenario 7 - API server error during creation image

DEV

This Environment is interchangable with PROD if the acceptance criteria can only be tested in DEV for example. If that is the case please name this section PROD (or any new environment)

Proof this feature/patch works in this environment
cloudos queue create \
    --label "from_CLI" \
    --description "generated this queue from CLI cmd" \
    --preset standard-stable \
    --profile dev
image image

AZURE

Proof this feature/patch works in this environment image

Interactive Analysis

Proof this feature/patch works in this environment
cloudos queue create     --label "from_CLI_IA"     --description "generated this queue from IA session cmd"     --preset standard-stable
image image

✅ Initial self-review with AI agent

@danielboloc
danielboloc marked this pull request as ready for review June 16, 2026 07:23
@danielboloc
danielboloc marked this pull request as draft June 16, 2026 07:33
@danielboloc
danielboloc marked this pull request as ready for review June 16, 2026 07:37

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 adds a new cloudos queue create workflow to the CLI, aligning queue creation options with the web UI (preset-based, from-scratch wizard/flags, and adding compute environments), backed by new queue API helpers and tests.

Changes:

  • Adds queue creation and compute-environment management APIs in cloudos_cli/queue/queue.py, including preset templates and workspace/queue CE limit handling.
  • Implements cloudos queue create CLI with preset creation, --from-scratch wizard/flags, and --add-compute-env flow in cloudos_cli/queue/cli.py.
  • Adds a comprehensive test suite and fixture JSON for queue creation flows.

Reviewed changes

Copilot reviewed 8 out of 8 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
tests/test_queue/test_create_queue.py Adds unit + CLI integration tests covering presets, from-scratch creation, and add-compute-env flows.
tests/test_data/queue/create_queue_response.json Adds fixture response used by queue create tests.
cloudos_cli/utils/errors.py Introduces queue-related exceptions for clearer, actionable errors.
cloudos_cli/queue/queue.py Adds preset templates and new Queue methods to create queues and add compute environments.
cloudos_cli/queue/cli.py Adds queue create command and interactive wizard; extends execution platform handling.
cloudos_cli/queue/init.py Updates package exports.
cloudos_cli/_version.py Bumps version to 2.93.0.
CHANGELOG.md Documents the new queue creation feature set for v2.93.0.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread cloudos_cli/queue/cli.py
Comment thread cloudos_cli/queue/cli.py
Comment thread cloudos_cli/queue/cli.py Outdated
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

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

Copilot reviewed 8 out of 8 changed files in this pull request and generated 4 comments.

Comment thread tests/test_queue/test_create_queue.py Outdated
Comment thread tests/test_queue/test_create_queue.py Outdated
Comment thread cloudos_cli/queue/cli.py Outdated
Comment thread cloudos_cli/queue/queue.py Outdated
danielboloc and others added 2 commits June 16, 2026 11:32
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

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

Copilot reviewed 8 out of 8 changed files in this pull request and generated 7 comments.

Comment thread tests/test_queue/test_create_queue.py
Comment thread tests/test_queue/test_create_queue.py
Comment thread tests/test_queue/test_create_queue.py Outdated
Comment thread tests/test_queue/test_create_queue.py Outdated
Comment thread tests/test_queue/test_create_queue.py Outdated
Comment thread cloudos_cli/queue/cli.py Outdated
Comment thread cloudos_cli/queue/cli.py Outdated
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

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

Copilot reviewed 8 out of 8 changed files in this pull request and generated 2 comments.

Comment thread cloudos_cli/queue/queue.py Outdated
Comment thread cloudos_cli/queue/queue.py Outdated
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

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

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

Comment thread cloudos_cli/queue/cli.py Outdated
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

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

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

Comment thread cloudos_cli/queue/cli.py Outdated

@dapineyro dapineyro left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Hi @danielboloc ! I've added some comments. In addition, there is no new documentation about the new functionality in the README.md

Comment thread cloudos_cli/queue/queue.py Outdated
Comment thread cloudos_cli/queue/queue.py Outdated
Comment thread cloudos_cli/queue/cli.py Outdated
Comment thread cloudos_cli/queue/queue.py
@danielboloc
danielboloc requested a review from dapineyro June 23, 2026 17:06
Comment thread cloudos_cli/queue/queue.py
@danielboloc
danielboloc requested a review from dapineyro June 26, 2026 10:06
@danielboloc
danielboloc marked this pull request as draft June 26, 2026 12:20
@danielboloc
danielboloc marked this pull request as ready for review June 26, 2026 12:54

@dapineyro dapineyro left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Hey @danielboloc ! you commented-out the direct code that triggers --from-scratch but not all the functions that are only used by the functionality. That doesn't look good. We have two options:

  1. Remove ALL --from-scratch code, not only the code you commented-out, but also the related functions that are no longer reached. And I would remove it. Commenting it is kind of useless having git that keeps track of all the changes.
  2. Keep everything as normal code, and add hidden=True as click option for --from-scratch (Also add a security check to show a message in case somebody uses --from-scratch, with a message like --from-scratch will be available soon.

To be honest, I prefer option 1 because is the cleanest and then we don't carry over code that in not necessary yet. However, given that you know how difficult was to develop that --from-scratch, if you think option 2 will save some noticeable time in the future, we can go for it too. You decide

Ah!, and very importantly: remove all mentions to --from-scratch from the README.md and CHANGELOG.md

@danielboloc
danielboloc marked this pull request as draft June 26, 2026 15:09
@danielboloc
danielboloc marked this pull request as ready for review June 26, 2026 15:09

@dapineyro dapineyro left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

LGTM!

@danielboloc
danielboloc merged commit 1e0db1b into main Jun 26, 2026
135 of 136 checks passed
@danielboloc
danielboloc deleted the create-queue branch June 26, 2026 16:52
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.

4 participants