Skip to content

server: consistent behaviour for list apis with project=-1 - #11767

Merged
DaanHoogland merged 2 commits into
apache:mainfrom
shapeblue:fix-listapi-project-consistency
Oct 14, 2025
Merged

server: consistent behaviour for list apis with project=-1#11767
DaanHoogland merged 2 commits into
apache:mainfrom
shapeblue:fix-listapi-project-consistency

Conversation

@shwstppr

@shwstpprshwstppr commented Oct 1, 2025

Copy link
Copy Markdown
Contributor

Description

Fixes#9602
Fixes#11517

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?

Created 3 new accounts:

  • user - Normal User in ROOT domain
  • dadmin - Domain Admin in ROOT domain
  • d1admin - Domain Admin in ROOT/d1 domain

Create a new Project test-proj using root admin account and added user and dadmin into it. Create a test network for the project.

Created networks using each of the four accounts - admin, dadmin, user, d1admin
There are now 5 networks:

  • admin-net
  • dadmin-net
  • user-net
  • d1admin-net
  • testproj-net

Verified when project toggle is changed:

  • admin can list all 5 networks
  • dadmin can list all 5 networks
  • user can list 2 networks (user-net, testproj-net)
  • d1admin can list only one network (d1admin-net)
image

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

Fixesapache#9602Fixesapache#11517
Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
@codecov

codecovBot commented Oct 1, 2025

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 40.00000% with 6 lines in your changes missing coverage. Please review.
✅ Project coverage is 17.56%. Comparing base (2c1aad4) to head (a8eec6c).
⚠️ Report is 59 commits behind head on main.

Files with missing linesPatch %Lines
...ain/java/com/cloud/network/NetworkServiceImpl.java40.00%6 Missing ⚠️
Additional details and impacted files
@@ Coverage Diff @@## main #11767 +/- ##
============================================
+ Coverage 17.50% 17.56% +0.05% - Complexity 15427 15521 +94 
============================================
Files 5894 5906 +12 Lines 526845 528382 +1537 Branches 64334 64529 +195 ============================================
+ Hits 92232 92791 +559 - Misses 424236 425160 +924 - Partials 10377 10431 +54 
FlagCoverage Δ
uitests3.59% <ø> (-0.03%)⬇️
unittests18.62% <40.00%> (+0.06%)⬆️

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

☔ View full report in Codecov by Sentry.
📢 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.

@shwstppr
shwstppr requested a review from CopilotOctober 1, 2025 07:25

CopilotAI 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 fixes consistent behavior for list APIs when project parameter is set to -1, ensuring that all networks (including project networks) are included in the search results when project=-1 is specified.

Key changes:

  • Modified the addProjectNetworksConditionToSearch method to handle the special case of projectId=-1
  • Updated all callers to pass the projectId parameter consistently
  • Added comprehensive test coverage for the new functionality

Reviewed Changes

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

FileDescription
NetworkServiceImpl.javaEnhanced project network filtering logic to handle project=-1 case and updated method signatures
NetworkServiceImplTest.javaAdded unit tests to verify the new project network filtering behavior

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

@bernardodemarco

Copy link
Copy Markdown
Member

@shwstppr, thanks for the PR! I believe after this one gets merged, we'll be able to move forward with the apache/cloudstack-cloudmonkey#185 PR.

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
@shwstppr

Copy link
Copy Markdown
ContributorAuthor

@blueorangutan package

@blueorangutan

Copy link
Copy Markdown

@shwstppr a [SL] Jenkins job has been kicked to build packages. It will be bundled with KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress.

@shwstppr

Copy link
Copy Markdown
ContributorAuthor

Tested some of the APIs:

  • listVirtualMachines
  • listNetworks
  • listSshKeypairs
  • listUserdata

Only listNetworks was having different behaviour so fixed that. Testing results around that are added in the description.
Narking this ready for review

@shwstppr
shwstppr marked this pull request as ready for review October 13, 2025 08:09

@weizhouapacheweizhouapache 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.

code lgtm

@blueorangutan

Copy link
Copy Markdown

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

@DaanHoogland

Copy link
Copy Markdown
Contributor

@blueorangutan test keepEnv

@blueorangutan

Copy link
Copy Markdown

@DaanHoogland a [SL] Trillian-Jenkins test job (ol8 mgmt + kvm-ol8) has been kicked to run smoke tests

@blueorangutan

Copy link
Copy Markdown

[SF] Trillian test result (tid-14646)
Environment: kvm-ol8 (x2), zone: Advanced Networking with Mgmt server ol8
Total time taken: 57386 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr11767-t14646-kvm-ol8.zip
Smoke tests completed. 149 look OK, 0 have errors, 0 did not run
Only failed and skipped tests results shown below:

TestResultTime (s)Test File

@DaanHooglandDaanHoogland 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.

clgtm, tested with the use-cases from #9602 and #11517

@DaanHoogland
DaanHoogland merged commit dfcbd2e into apache:mainOct 14, 2025
27 of 28 checks passed
@DaanHoogland
DaanHoogland deleted the fix-listapi-project-consistency branch October 14, 2025 07:06
@DaanHooglandDaanHoogland added this to the 4.22.0 milestone Oct 14, 2025
dhslove pushed a commit to ablecloud-team/ablestack-cloud that referenced this pull request Oct 17, 2025
)
Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Inconsistent behaviour in handling projectid param for different list APIs Enabling the Project toggle doesn't list the admin created networks

6 participants

@shwstppr@bernardodemarco@blueorangutan@DaanHoogland@weizhouapache