Clarify VR public IP labels#13240
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #13240 +/- ##
============================================
+ Coverage 18.09% 18.10% +0.01%
- Complexity 16721 16749 +28
============================================
Files 6037 6037
Lines 542546 542935 +389
Branches 66431 66488 +57
============================================
+ Hits 98159 98293 +134
- Misses 433368 433594 +226
- Partials 11019 11048 +29
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
| "label.router.health.checks": "Health checks", | ||
| "label.routercount": "Total of virtual routers", | ||
| "label.routerip": "IPv4 address for the VR in this Network.", | ||
| "label.routerip": "Public IPv4 address for the VR", |
There was a problem hiding this comment.
actually routerip is the ip address of VR on the guest network, not on Public network
| <a-form-item v-if="isVirtualRouterForAtLeastOneService" name="routerip" ref="routerip"> | ||
| <template #label> | ||
| <tooltip-label :title="$t('label.routerip')" :tooltip="apiParams.routerip.description"/> | ||
| <tooltip-label :title="$t('label.sharedrouterip')" :tooltip="apiParams.routerip.description"/> |
There was a problem hiding this comment.
idea was to add prexix Public and to also separate "...for network" (Isolated) vs "...for VPC" (VPC)
There was a problem hiding this comment.
Pull request overview
This PR clarifies UI and API wording for the optional public IPv4 (Source NAT) address that can be assigned to Virtual Routers during isolated network and VPC creation, and avoids mislabeling shared-network router IP fields.
Changes:
- Update shared network creation to use dedicated shared-network router IP labels (
label.sharedrouterip/label.sharedrouteripv6). - Clarify isolated network gateway label when Source NAT is supported by the selected offering.
- Refine
sourcenatipaddressAPI parameter descriptions for network and VPC creation, and update the English UI label forlabel.routerip.
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| ui/src/views/network/CreateSharedNetworkForm.vue | Switch router IP label keys to shared-network-specific translations. |
| ui/src/views/network/CreateIsolatedNetworkForm.vue | Introduce conditional gateway label text based on Source NAT support. |
| ui/public/locales/en.json | Add a new gateway label and clarify label.routerip wording in English. |
| api/src/main/java/org/apache/cloudstack/api/command/user/vpc/CreateVPCCmd.java | Clarify sourcenatipaddress description for VPC creation. |
| api/src/main/java/org/apache/cloudstack/api/command/user/network/CreateNetworkCmd.java | Clarify sourcenatipaddress description for isolated network creation. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| "label.routercount": "Total of virtual routers", | ||
| "label.routerip": "IPv4 address for the VR in this Network.", | ||
| "label.routerip": "Public IPv4 address for the VR", | ||
| "label.routeripv6": "IPv6 address for the VR in this Network.", |

Description
This PR clarifies the wording for the optional public IPv4 address assigned to virtual routers during isolated network and VPC creation.
The existing
label.routeriptext was reused forsourcenatipaddressin the isolated network and VPC forms, where the value represents the optional public interface / Source NAT address of the VR. The old wording,IPv4 address for the VR in this Network, could be confused with the internal router IP or gateway address. The label now readsPublic IPv4 address for the VR.The API descriptions for
sourcenatipaddressare also updated to explicitly describe the value as optional and assigned to the public interface. The VPC API wording now refers to the VPC router and VPC implementation rather than a generic Network router/implementation.Shared network router IP fields are not necessarily public. To avoid changing their meaning,
CreateSharedNetworkForm.vuenow uses the dedicated shared-network labels,label.sharedrouteripandlabel.sharedrouteripv6, instead of the genericlabel.routeripandlabel.routeripv6. This keeps shared network creation wording unchanged while allowing the generic label to be accurate for the Source NAT/public VR address fields.No functional behavior is changed; this is a UI/API-description wording improvement only.
Types of changes
Feature/Enhancement Scale or Bug Severity
Feature/Enhancement Scale
Bug Severity
Screenshots (if appropriate):
N/A
How Has This Been Tested?
ui/public/locales/en.jsonsuccessfully.git diff --checkon the changed files.label.sharedrouteripandlabel.sharedrouteripv6, so shared network router IP fields do not inherit the new public IPv4 wording.How did you try to break this feature and the system with this change?
Checked each use of the affected labels in the network creation views to confirm the public wording is only used by the
sourcenatipaddressfields in isolated network and VPC creation, while shared network creation retains dedicated shared-network labels.