This is an automated email from the ASF dual-hosted git repository.

winterhazel pushed a commit to branch 4.22
in repository https://gitbox.apache.org/repos/asf/cloudstack.git

commit 21b2025c5055d4580e828f708d406510853f0060
Merge: d1e1aa5d203 c267ad39bcd
Author: Fabricio Duarte <[email protected]>
AuthorDate: Fri May 22 08:31:35 2026 -0300

    Merge release branch 4.20 to 4.22
    
    * 4.20:
      Fix/flasharray delete rename destroy patch conflict (#13049)
      Fix VPC network offerings listing in isolated network creation form 
(#12645)
      Update mysql java connector version to 8.4.0 (matching version for MySQL 
8.4) (#12640)
      adaptive: honor user-provided capacityBytes when provider stats are 
unavailable (#13059)
      Flexibilize public IP selection (#11076)

 .github/workflows/ci.yml                           |  2 +-
 .../cloud/network/dao/PublicIpQuarantineDao.java   | 12 +++
 .../network/dao/PublicIpQuarantineDaoImpl.java     | 22 ++++++
 engine/storage/snapshot/pom.xml                    |  4 +-
 framework/db/pom.xml                               |  4 +-
 packaging/systemd/cloudstack-management.default    |  2 +-
 packaging/systemd/cloudstack-usage.default         |  2 +-
 plugins/network-elements/globodns/pom.xml          |  4 +-
 plugins/network-elements/tungsten/pom.xml          |  4 +-
 .../lifecycle/AdaptiveDataStoreLifeCycleImpl.java  | 13 ++--
 .../adapter/flasharray/FlashArrayAdapter.java      | 67 ++++++++++++----
 pom.xml                                            | 12 +--
 .../com/cloud/network/IpAddressManagerImpl.java    | 91 +++++++++++++---------
 .../com/cloud/network/IpAddressManagerTest.java    |  1 +
 setup/db/deploy-db-dev.sh                          |  5 +-
 test/integration/smoke/test_quarantined_ips.py     |  8 +-
 tools/docker/Dockerfile                            |  2 +-
 tools/marvin/setup.py                              |  2 +-
 ui/public/locales/en.json                          |  1 +
 ui/public/locales/pt_BR.json                       |  1 +
 ui/src/views/network/CreateIsolatedNetworkForm.vue | 28 ++++---
 .../java/com/cloud/usage/UsageSanityChecker.java   |  2 +-
 22 files changed, 193 insertions(+), 96 deletions(-)

diff --cc ui/public/locales/en.json
index 4bc005c0be1,3160e00ba30..fe3678c9f37
--- a/ui/public/locales/en.json
+++ b/ui/public/locales/en.json
@@@ -4089,9 -3728,10 +4089,10 @@@
  "message.vr.alert.upon.network.offering.creation.others": "As none of the 
obligatory services for creating a virtual router (VPN, DHCP, DNS, Firewall, 
LB, UserData, SourceNat, StaticNat, PortForwarding) are enabled, the virtual 
router will not be created and the compute offering will not be used.",
  "message.warn.change.primary.storage.scope": "This feature is tested and 
supported for the following configurations:<br>KVM - NFS/Ceph - 
DefaultPrimary<br>VMware - NFS - DefaultPrimary<br>*There might be extra steps 
involved to make it work for other configurations.",
  "message.warn.filetype": "jpg, jpeg, png, bmp and svg are the only supported 
image formats.",
 -"message.warn.importing.instance.without.nic": "WARNING: This Instance is 
being imported without NICs and many Network resources will not be available. 
Consider creating a NIC via vCenter before importing or as soon as the Instance 
is imported.",
 +"message.warn.importing.instance.without.nic": "WARNING: This Instance is 
being imported without NICs and many Network resources will not be available. 
Consider creating a NIC via vCenter before importing or as soon as the Instance 
is imported. For KVM host, allocate a NIC to Instance after import.",
 +"message.warn.select.template": "Please select a Template for Registration.",
  "message.warn.zone.mtu.update": "Please note that this limit won't affect 
pre-existing Network's MTU settings",
+ "message.warn.vpc.offerings": "VPC offerings will only be shown if the 
selected account has at least one VPC.",
  "message.webhook.deliveries.time.filter": "Webhook deliveries list can be 
filtered based on date-time. Select 'Custom' for specifying start and end date 
range.",
  "message.zone.creation.complete": "Zone creation complete.",
  "message.zone.detail.description": "Populate Zone details.",
diff --cc ui/src/views/network/CreateIsolatedNetworkForm.vue
index 7dc4dbe75e3,93fef14d601..aebc928d371
--- a/ui/src/views/network/CreateIsolatedNetworkForm.vue
+++ b/ui/src/views/network/CreateIsolatedNetworkForm.vue
@@@ -515,13 -521,17 +521,17 @@@ export default 
        if (this.vpc !== null) { // from VPC section
          this.fetchNetworkOfferingData(true)
        } else { // from guest network section
-         var params = {}
+         const params = {
+           account: this.owner.account,
+           projectid: this.owner.projectid,
+           domainid: this.owner.domainid
+         }
          this.networkOfferingLoading = true
          if ('listVPCs' in this.$store.getters.apis) {
 -          api('listVPCs', params).then(json => {
 +          getAPI('listVPCs', params).then(json => {
              const listVPCs = json.listvpcsresponse.vpc
-             var vpcAvailable = this.arrayHasItems(listVPCs)
-             if (vpcAvailable === false) {
+             this.hasVPC = this.arrayHasItems(listVPCs)
+             if (!this.hasVPC) {
                this.fetchNetworkOfferingData(false)
              } else {
                this.fetchNetworkOfferingData()

Reply via email to