Skip to content

new tenant instead of add account - #13981

Open
DaanHoogland wants to merge 2 commits into
mainfrom
ghi13975-add-account-ux
Open

DaanHoogland wants to merge 2 commits into
mainfrom
ghi13975-add-account-ux

Conversation

@DaanHoogland

Copy link
Copy Markdown
Contributor

Description

This PR...

Fixes: #13975

Types of changes

  • Breaking change (fix or feature that would cause existing functionality to change)
  • New feature (non-breaking change which adds functionality)
  • Bug fix (non-breaking change which fixes an issue)
  • Enhancement (improves an existing feature and functionality)
  • Cleanup (Code refactoring and cleanup, that may add test cases)
  • Build/CI
  • Test (unit or integration test code)

Feature/Enhancement Scale or Bug Severity

Feature/Enhancement Scale

  • Major
  • Minor

Bug Severity

  • BLOCKER
  • Critical
  • Major
  • Minor
  • Trivial

Screenshots (if appropriate):

How Has This Been Tested?

How did you try to break this feature and the system with this change?

@DaanHoogland DaanHoogland added this to the 24.0.0 milestone Aug 26, 2026
@DaanHoogland

Copy link
Copy Markdown
Contributor Author

@blueorangutan ui

@DaanHoogland
DaanHoogland requested review from NuxRo and ingox August 26, 2026 12:50
@blueorangutan

Copy link
Copy Markdown

@DaanHoogland a Jenkins job has been kicked to build UI QA env. I'll keep you posted as I make progress.

@codecov

codecov Bot commented Aug 26, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 20.05%. Comparing base (0a5bf30) to head (de451c1).

Additional details and impacted files
@@            Coverage Diff            @@
##               main   #13981   +/-   ##
=========================================
  Coverage     20.05%   20.05%           
- Complexity    20656    20658    +2     
=========================================
  Files          6427     6427           
  Lines        584905   584907    +2     
  Branches      71658    71658           
=========================================
+ Hits         117278   117279    +1     
- Misses       454802   454805    +3     
+ Partials      12825    12823    -2     
Flag Coverage Δ
uitests 3.72% <ø> (-0.01%) ⬇️
unittests 21.32% <ø> (+<0.01%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@blueorangutan

Copy link
Copy Markdown

UI build: ✔️
Live QA URL: https://qa.cloudstack.cloud/simulator/pr/13981 (QA-JID-983)

@github-actions

github-actions Bot commented Aug 26, 2026 •

Copy link
Copy Markdown

🔴 Test Coverage Grade: D — Marginal

Metric Value
Line coverage 25.00%
Branch coverage 19.27%

Grade Scale

Grade Line Coverage Meaning
🟢 A ≥ 80% Excellent - this code sleeps well at night 😴
🟡 B 60-79% Good - almost there, don't stop now 😉
🟠 C 40-59% Acceptable - your code is wearing a seatbelt, but no airbags 😬
🔴 D 20-39% Marginal - boldly shipping where no test has gone before 🖖
⛔ F < 20% Failing - tests? what tests? 🔥

Branch coverage is shown as a secondary signal. Grade is determined by line coverage.
View full Actions run

@daviftorres

Copy link
Copy Markdown
Contributor

Dear @DaanHoogland,

Thank you for taking this nomenclature issue seriously and working on a fix. This is also a constant source of confusion in our organization.

Regarding ACS's use of the word "Account," you recently labeled it "New Tenant Account." While this is an improvement, it may still cause some confusion.

Have you considered using "Department" or "Organizational Unit" instead?

Regards,

@ingox

ingox commented Aug 26, 2026

Copy link
Copy Markdown
Collaborator

@daviftorres I agree with your recommendations in the scope of a corporate organization.

But think of a public cloud where each account could represent a single user. AWS also names it accounts. So maybe renaming is not needed. Just decouple accounts from users and don't have them in the same dialog.

@ingox

ingox commented Aug 27, 2026

Copy link
Copy Markdown
Collaborator

@DaanHoogland a few thoughts and observations:

  • the add user button does not have any text in it
  • now we have "NEW" Tenant Account and "ADD" LDAP Account - that should be named the same
  • I'd prefer to remove the user creation from the account creation page. If that is not possible because the first user has to be created we may split that into two areas where the first one does focus on the account and the second one will cover the creation of the FIRST user in the account

@davift

davift commented Aug 27, 2026

Copy link
Copy Markdown

@daviftorres I agree with your recommendations in the scope of a corporate organization.

But think of a public cloud where each account could represent a single user. AWS also names it accounts. So maybe renaming is not needed. Just decouple accounts from users and don't have them in the same dialog.

I see your point and makes sense. But I guess there is no size fits all for this case. And the word "account" is misleading. I am fine with what ever @DaanHoogland decide, but I still think we should diverge the attention of the administrator to the user creation page.

@DaanHoogland

Copy link
Copy Markdown
Contributor Author

@luganofer closed his issue and I am not sure how to continue. He raised a serious design issue which is not in line with the UI fix I am creating here. How do you think we should continue, @ingox @davift ?

@luganofer

Copy link
Copy Markdown

@luganofer closed his issue and I am not sure how to continue. He raised a serious design issue which is not in line with the UI fix I am creating here. How do you think we should continue, @ingox @davift ?

Sorry for the confusion – I closed the issue accidentally while trying to reply. It's reopened now.

@DaanHoogland DaanHoogland moved this from Backlog to conflict/waiting in CloudStack Testing Aug 31, 2026
@kiranchavala

Copy link
Copy Markdown
Member

@blueorangutan package

@blueorangutan

Copy link
Copy Markdown

@kiranchavala a [SL] Jenkins job has been kicked to build packages. It will be bundled with no SystemVM templates. I'll keep you posted as I make progress.

@blueorangutan

Copy link
Copy Markdown

Packaging result [SF]: ✔️ el8 ✔️ el9 ✔️ el10 ✔️ debian ✔️ suse15. SL-JID 19159

@kiranchavala kiranchavala left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

@DaanHoogland

The add user icon is not clearly visible

Image Image

@github-actions

Copy link
Copy Markdown

This pull request has merge conflicts. Dear author, please fix the conflicts and sync your branch with the base branch.

Copilot AI lite review requested due to automatic review settings September 24, 2026 11:52
@DaanHoogland

Copy link
Copy Markdown
Contributor Author

@blueorangutan package

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.

Copilot review overview

🟡 Changes recommended

Unresolved critical and moderate issues affect account targeting, action rendering, and localization.

Get a fresh assessment by requesting another Copilot review.

Review effort: Lite
Findings: 2 High severity · 2 Medium severity

Open (4)
What changed in this PR

This PR distinguishes tenant-account creation from adding users to an existing account.

Changes:

  • Renames account creation to “New Tenant Account.”
  • Adds account-scoped user creation with account/domain prefilling.
  • Adds tenant-isolation warning and English localization.
File Summary and findings
ui/​src/​views/​iam/​AddUser.vue Prefills account/domain; critical stale-resource issue (1 vote) may create users under the wrong account.
ui/​src/​views/​iam/​AddAccount.vue Adds the tenant-creation warning.
ui/​src/​config/​section/​account.js Adds account user action; critical list-level action may target the first account (4 votes), and moderate icon/label is unregistered or unrecognized (2 votes).
ui/​public/​locales/​en.json Adds labels and warning text; moderate existing API-unavailable translation is overwritten (3 votes).

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment on lines +116 to +117
listView: true,
dataView: true,
Comment on lines +256 to +257
this.account = (this.$route.query && this.$route.query.account) || this.resource?.name || null
this.domainid = (this.$route.query && this.$route.query.domainid) || this.resource?.domainid || null
Comment thread ui/public/locales/en.json
"message.action.vmsnapshot.disk-only.delete": "Please confirm that you want to delete this Instance Snapshot.",
"message.activate.project": "Are you sure you want to activate this project?",
"message.api.not.available": "API is not available.",
"message.add.account.warning": "Creating a new account creates a separate tenant with its own resource limits and isolated resources. Users in different accounts cannot share Instances or Volumes. Networks can be shared between accounts when the appropriate permissions are granted. To add a new user to an existing account instead, use the <b>Add User</b> action from the account's list or details view.",
},
{
api: 'createUser',
icon: 'usergroup-add-outlined',
@sonarqubecloud

Copy link
Copy Markdown

This branch has not been deployed

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

Projects

Status: conflict/waiting

Development

Successfully merging this pull request may close these issues.

[UI] "Add Account" form misleads users into creating unintended multi‑account tenants instead of adding users

9 participants