Skip to content

Conversation

shwstppr
Copy link
Contributor

@shwstppr shwstppr commented Oct 1, 2025

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?

Copy link

codecov bot commented Oct 1, 2025

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 45 commits behind head on main.

Files with missing lines Patch % Lines
...ain/java/com/cloud/network/NetworkServiceImpl.java 40.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     
Flag Coverage Δ
uitests 3.59% <ø> (-0.03%) ⬇️
unittests 18.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 Copilot October 1, 2025 07:25
Copy link
Contributor

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

File Description
NetworkServiceImpl.java Enhanced project network filtering logic to handle project=-1 case and updated method signatures
NetworkServiceImplTest.java Added 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
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 <[email protected]>
@shwstppr
Copy link
Contributor Author

@blueorangutan package

@blueorangutan
Copy link

@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
Contributor Author

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
Copy link
Member

@weizhouapache weizhouapache left a comment

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

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

@DaanHoogland
Copy link
Contributor

@blueorangutan test keepEnv

@blueorangutan
Copy link

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

Sign up for free to 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

5 participants