From fd4223295a05878fbfeef7a9c1a00dd380de351b Mon Sep 17 00:00:00 2001 From: Abhishek Kumar Date: Wed, 30 Jul 2025 10:56:33 +0530 Subject: [PATCH 1/2] ui: fix advance setting behaviour in autoscale form (#11306) Fixes #11269 The current dysfunctional behaviour was introduced in #6571. In advanced settings interface for ssh keypairs, userdata, affinity group, etc are show but the toggle to show/hide them was not working correctly. Signed-off-by: Abhishek Kumar --- ui/src/views/compute/CreateAutoScaleVmGroup.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ui/src/views/compute/CreateAutoScaleVmGroup.vue b/ui/src/views/compute/CreateAutoScaleVmGroup.vue index 981c2b0ab18..ae295e7f94f 100644 --- a/ui/src/views/compute/CreateAutoScaleVmGroup.vue +++ b/ui/src/views/compute/CreateAutoScaleVmGroup.vue @@ -738,7 +738,7 @@ {{ $t('label.isadvanced') }} -
+
Date: Wed, 30 Jul 2025 11:04:58 +0530 Subject: [PATCH 2/2] kvm, ui: fix interface when using vlan subnet for storage traffic type (#11245) * kvm, ui: fix interface when using vlan subnet for storage traffic type Fixes #7816 Signed-off-by: Abhishek Kumar --- .../cloud/hypervisor/kvm/resource/BridgeVifDriver.java | 9 +++++++++ ui/src/views/infra/network/IpRangesTabStorage.vue | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/BridgeVifDriver.java b/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/BridgeVifDriver.java index 39ecc9182f0..67f093a933a 100644 --- a/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/BridgeVifDriver.java +++ b/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/BridgeVifDriver.java @@ -252,6 +252,15 @@ public class BridgeVifDriver extends VifDriverBase { intf.defBridgeNet(_bridges.get("private"), null, nic.getMac(), getGuestNicModel(guestOsType, nicAdapter)); } else if (nic.getType() == Networks.TrafficType.Storage) { String storageBrName = nic.getName() == null ? _bridges.get("private") : nic.getName(); + if (nic.getBroadcastType() == Networks.BroadcastDomainType.Storage) { + vNetId = Networks.BroadcastDomainType.getValue(nic.getBroadcastUri()); + protocol = Networks.BroadcastDomainType.Vlan.scheme(); + } + if (isValidProtocolAndVnetId(vNetId, protocol)) { + s_logger.debug(String.format("creating a vNet dev and bridge for %s traffic per traffic label %s", + Networks.TrafficType.Storage.name(), trafficLabel)); + storageBrName = createVnetBr(vNetId, storageBrName, protocol); + } intf.defBridgeNet(storageBrName, null, nic.getMac(), getGuestNicModel(guestOsType, nicAdapter)); } if (nic.getPxeDisable()) { diff --git a/ui/src/views/infra/network/IpRangesTabStorage.vue b/ui/src/views/infra/network/IpRangesTabStorage.vue index c8665d6d9b5..881f9ceadea 100644 --- a/ui/src/views/infra/network/IpRangesTabStorage.vue +++ b/ui/src/views/infra/network/IpRangesTabStorage.vue @@ -166,7 +166,7 @@ export default { }, { title: this.$t('label.vlan'), - dataIndex: 'vlanid' + dataIndex: 'vlan' }, { title: this.$t('label.startip'),