Skip to content

Conversation

@nowgnuesLee
Copy link
Contributor

@nowgnuesLee nowgnuesLee commented Sep 19, 2025

resolves #4256 (FR-1448)

This PR adds support for selecting multiple agents when launching a session, available for Backend.AI manager version 25.15.0 and above.

Key changes:

  • Modified AgentSelect component to handle multiple agent selection
  • Updated agent selection logic in ResourceAllocationFormItems to support multi-agent mode
  • Added special handling for the "auto" option in multi-select mode
  • Implemented proper agent_list generation in session creation payload
  • Added 'multi-agents' feature detection for manager version 25.16.0+
  • Changed agent default value from string to array format ['auto']
  • Removed restrictions that previously disabled cluster settings when a specific agent was selected

for testing, using test server which supports multi node session(like dogbowl)
Prior to version 25.16.0, it must behave identically to the existing version.

how to test:

  • single mode
    • Please verify that the agent_list is sent as a string[] when using multi-agents.
  • multi mode
    • Please verify that the agent_list is being passed as a string array when using multi-agents.

CleanShot 2025-09-19 at 17.15.50@2x.png

CleanShot 2025-09-19 at 17.15.30@2x.png

CleanShot 2025-11-13 at 10.39.50@2x.png

Checklist:

  • Documentation
  • Minium required manager version: 25.16.0
  • Specific setting for review
  • Minimum requirements to check during review
  • Test case(s) to demonstrate the difference of before/after

@github-actions github-actions bot added area:lib Library and SDK related issue. size:M 30~100 LoC labels Sep 19, 2025
Copy link
Contributor Author

nowgnuesLee commented Sep 19, 2025


How to use the Graphite Merge Queue

Add either label to this PR to merge it via the merge queue:

  • flow:merge-queue - adds this PR to the back of the merge queue
  • flow:hotfix - for urgent hot fixes, skip the queue and merge this PR next

You must have a Graphite account in order to use the merge queue. Sign up using this link.

An organization admin has required the Graphite Merge Queue in this repository.

Please do not merge from GitHub as this will restart CI on PRs being processed by the merge queue.

This stack of pull requests is managed by Graphite. Learn more about stacking.

@nowgnuesLee nowgnuesLee marked this pull request as ready for review September 19, 2025 08:19
Copilot AI review requested due to automatic review settings September 19, 2025 08:19
@nowgnuesLee nowgnuesLee force-pushed the feat/select-multi-agents branch from 98e011d to 589e38d Compare September 19, 2025 08:20
Copy link
Contributor

Copilot AI left a 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 enables multi-agent selection when creating multi-node sessions for Backend.AI manager version 25.15.0 and above. It transforms the agent selection from a single dropdown to a multi-select component while maintaining backward compatibility.

  • Added 'multi-agents' feature detection for manager version 25.15.0+
  • Modified AgentSelect component to support multiple agent selection with special "auto" handling
  • Updated session creation payload logic to properly handle agent arrays and cluster size requirements

Reviewed Changes

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

File Description
src/lib/backend.ai-client-esm.ts Added feature flag detection for multi-agents support
react/src/pages/SessionLauncherPage.tsx Updated session creation payload logic and default agent value format
react/src/components/ResourceAllocationFormItems.tsx Modified form to support multi-agent selection and removed cluster restrictions
react/src/components/AgentSelect.tsx Enhanced component to handle multiple selection with auto option logic

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

@github-actions
Copy link

github-actions bot commented Sep 19, 2025

Coverage report for ./react

St.
Category Percentage Covered / Total
🔴 Statements 4.46% 517/11601
🔴 Branches 3.61% 297/8237
🔴 Functions 2.59% 92/3552
🔴 Lines 4.43% 503/11348

Test suite run success

118 tests passing in 13 suites.

Report generated by 🧪jest coverage report action from 7ea5f0e

Copy link
Contributor

@ironAiken2 ironAiken2 left a comment

Choose a reason for hiding this comment

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

please resolve the conflicts :)

Copy link
Member

@yomybaby yomybaby left a comment

Choose a reason for hiding this comment

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

Code improvements

1. ResourceAllocationFormItems.tsx

  • Improved code readability by removing spread operator and passing props directly
  • mode and labelRender props are now more explicitly defined

2. SessionLauncherPage.tsx

  • Simplified array handling by replacing Array.isArray() check with _.castArray()
  • Better utilization of lodash utility function for cleaner code

@yomybaby yomybaby force-pushed the feat/select-multi-agents branch 2 times, most recently from a30d7fe to f0ef289 Compare October 1, 2025 06:52
Copy link
Contributor

@agatha197 agatha197 left a comment

Choose a reason for hiding this comment

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

please resolve the conflicts. and is there any test node? you can reply it in jira comment or teams.

@nowgnuesLee nowgnuesLee force-pushed the feat/select-multi-agents branch from f0ef289 to 9dafe79 Compare November 7, 2025 07:59
@github-actions github-actions bot added size:L 100~500 LoC and removed size:M 30~100 LoC labels Nov 7, 2025
@nowgnuesLee nowgnuesLee force-pushed the feat/select-multi-agents branch from 9dafe79 to 7b6d945 Compare November 7, 2025 08:14
@github-actions github-actions bot added size:M 30~100 LoC and removed size:L 100~500 LoC labels Nov 7, 2025
@nowgnuesLee nowgnuesLee marked this pull request as draft November 10, 2025 05:24
@nowgnuesLee nowgnuesLee force-pushed the feat/select-multi-agents branch from 7b6d945 to 9a85373 Compare November 10, 2025 06:57
@nowgnuesLee nowgnuesLee marked this pull request as ready for review November 10, 2025 07:01
Copy link
Contributor

@agatha197 agatha197 left a comment

Choose a reason for hiding this comment

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

image.png

It needs to handle resource allocation also when user set multiple agent.

@nowgnuesLee nowgnuesLee force-pushed the feat/select-multi-agents branch from 4d0c039 to 5313409 Compare November 13, 2025 01:39
Copy link
Contributor

@agatha197 agatha197 left a comment

Choose a reason for hiding this comment

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

Please update description tooltip also. image.png

@nowgnuesLee nowgnuesLee force-pushed the feat/select-multi-agents branch from 5313409 to 237e10d Compare November 14, 2025 06:41
@github-actions github-actions bot added area:ux UI / UX issue. area:i18n Localization size:L 100~500 LoC and removed size:M 30~100 LoC labels Nov 14, 2025
@nowgnuesLee nowgnuesLee force-pushed the feat/select-multi-agents branch from 237e10d to 9d7f1b2 Compare November 14, 2025 07:25
@nowgnuesLee nowgnuesLee force-pushed the feat/select-multi-agents branch from 9d7f1b2 to 212cf3d Compare November 19, 2025 01:16
Copy link
Contributor

@agatha197 agatha197 left a comment

Choose a reason for hiding this comment

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

LGTM

Copy link
Contributor

@ironAiken2 ironAiken2 left a comment

Choose a reason for hiding this comment

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

How about removing the check icon?

image.png

Copy link
Member

@yomybaby yomybaby left a comment

Choose a reason for hiding this comment

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

LGTM

Copy link
Contributor

@ironAiken2 ironAiken2 left a comment

Choose a reason for hiding this comment

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

LGTM

@yomybaby yomybaby force-pushed the feat/select-multi-agents branch from 14f370c to 0597693 Compare November 19, 2025 06:49
@graphite-app
Copy link

graphite-app bot commented Nov 19, 2025

Merge activity

…node session (#4309)

resolves #4256 (FR-1448)

This PR adds support for selecting multiple agents when launching a session, available for [Backend.AI](http://Backend.AI) manager version 25.15.0 and above.

Key changes:

- Modified `AgentSelect` component to handle multiple agent selection
- Updated agent selection logic in `ResourceAllocationFormItems` to support multi-agent mode
- Added special handling for the "auto" option in multi-select mode
- Implemented proper agent_list generation in session creation payload
- Added 'multi-agents' feature detection for manager version 25.16.0+
- Changed agent default value from string to array format ['auto']
- Removed restrictions that previously disabled cluster settings when a specific agent was selected

**for testing, using test server which supports multi node session(like** **dogbowl)**
**Prior to version 25.16.0, it must behave identically to the existing version.**

how to test:

- single mode
    - Please verify that the agent_list is sent as a string[] when using multi-agents.
- multi mode
    - Please verify that the agent_list is being passed as a string array when using multi-agents.

![CleanShot 2025-09-19 at [email protected]](https://app.graphite.dev/user-attachments/assets/e078b5c2-c9e7-4bb0-b74a-3654f9b22503.png)

![CleanShot 2025-09-19 at [email protected]](https://app.graphite.dev/user-attachments/assets/adcbb2fb-388c-4f98-9d45-161b20e69550.png)

![CleanShot 2025-11-13 at [email protected]](https://app.graphite.com/user-attachments/assets/6dcd76fa-fcc7-4f8c-bfd0-bca9ba34c1a0.png)

**Checklist:**

- [ ] Documentation
- [x] Minium required manager version: 25.16.0
- [ ] Specific setting for review
- [ ] Minimum requirements to check during review
- [ ] Test case(s) to demonstrate the difference of before/after
@graphite-app graphite-app bot force-pushed the feat/select-multi-agents branch from 0597693 to 7ea5f0e Compare November 19, 2025 06:50
@graphite-app graphite-app bot merged commit 7ea5f0e into main Nov 19, 2025
11 checks passed
@graphite-app graphite-app bot deleted the feat/select-multi-agents branch November 19, 2025 06:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:i18n Localization area:lib Library and SDK related issue. area:ux UI / UX issue. size:L 100~500 LoC

Projects

None yet

Development

Successfully merging this pull request may close these issues.

User want to select multiple agents when creating a multi-node session.

5 participants