From 74b63325724958f9dae80cb78f72a693cf938cf1 Mon Sep 17 00:00:00 2001 From: Hoang Nguyen Date: Tue, 24 Aug 2021 14:14:05 +0700 Subject: [PATCH 1/3] ui: VM - hide button take vm volume snapshot for Destroyed state (#5345) Fixes #5340 --- ui/src/config/section/compute.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/ui/src/config/section/compute.js b/ui/src/config/section/compute.js index a9ffbe0b785..f821ec58002 100644 --- a/ui/src/config/section/compute.js +++ b/ui/src/config/section/compute.js @@ -181,6 +181,10 @@ export default { docHelp: 'adminguide/virtual_machines.html#virtual-machine-snapshots', dataView: true, popup: true, + show: (record) => { + return ((['Running'].includes(record.state) && record.hypervisor !== 'LXC') || + (['Stopped'].includes(record.state) && !['KVM', 'LXC'].includes(record.hypervisor))) + }, component: () => import('@/views/compute/CreateSnapshotWizard.vue') }, { From bc28ae46065a865942c34472709b96fab157a0ae Mon Sep 17 00:00:00 2001 From: Hoang Nguyen Date: Tue, 24 Aug 2021 14:28:41 +0700 Subject: [PATCH 2/3] ui: Add storage name to delete primary/secondary storage dialog (#5359) * Add storage name to delete primary/secondary storage dialog * show display name in alert message * Update AutogenView.vue --- ui/src/config/section/infra/primaryStorages.js | 3 ++- ui/src/config/section/infra/secondaryStorages.js | 3 ++- ui/src/views/AutogenView.vue | 9 +++++++-- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/ui/src/config/section/infra/primaryStorages.js b/ui/src/config/section/infra/primaryStorages.js index eda57176668..dc188000702 100644 --- a/ui/src/config/section/infra/primaryStorages.js +++ b/ui/src/config/section/infra/primaryStorages.js @@ -111,7 +111,8 @@ export default { label: 'label.action.delete.primary.storage', dataView: true, args: ['forced'], - show: (record) => { return (record.state === 'Down' || record.state === 'Maintenance' || record.state === 'Disconnected') } + show: (record) => { return (record.state === 'Down' || record.state === 'Maintenance' || record.state === 'Disconnected') }, + displayName: (record) => { return record.name || record.displayName || record.id } } ] } diff --git a/ui/src/config/section/infra/secondaryStorages.js b/ui/src/config/section/infra/secondaryStorages.js index 17600aaa17b..450db731696 100644 --- a/ui/src/config/section/infra/secondaryStorages.js +++ b/ui/src/config/section/infra/secondaryStorages.js @@ -84,7 +84,8 @@ export default { icon: 'delete', label: 'label.action.delete.secondary.storage', message: 'message.action.delete.secondary.storage', - dataView: true + dataView: true, + displayName: (record) => { return record.name || record.displayName || record.id } } ] } diff --git a/ui/src/views/AutogenView.vue b/ui/src/views/AutogenView.vue index 5f408c75760..f691cf952d5 100644 --- a/ui/src/views/AutogenView.vue +++ b/ui/src/views/AutogenView.vue @@ -143,9 +143,14 @@ - + - + +
+
+ {{ currentAction.displayName(resource) }} +
+

From f822547c3b2299f57133fb8480d6b1a25ce1f511 Mon Sep 17 00:00:00 2001 From: davidjumani Date: Tue, 24 Aug 2021 13:07:52 +0530 Subject: [PATCH 3/3] securitygroups: Fix security_groups for c8/suse (#5354) * Fix security_groups for c8/suse * security_group.py: revert a minor change in #5348 Co-authored-by: Wei Zhou --- scripts/vm/network/security_group.py | 4 ++-- test/integration/component/test_multiple_nic_support.py | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/scripts/vm/network/security_group.py b/scripts/vm/network/security_group.py index 6be06edbfcd..ebd0039d9fa 100755 --- a/scripts/vm/network/security_group.py +++ b/scripts/vm/network/security_group.py @@ -1369,13 +1369,13 @@ def verify_network_rules(vm_name, vm_id, vm_ip, vm_ip6, vm_mac, vif, brname, sec vm_id = vm_name.split("-")[-2] if brname is None: - brname = execute("virsh domiflist %s |grep -w '%s' |tr -s ' '|cut -d ' ' -f3" % (vm_name, vm_mac)).strip() + brname = execute("virsh domiflist %s |grep -w '%s' | awk '{print $3}'" % (vm_name, vm_mac)).strip() if not brname: print("Cannot find bridge") sys.exit(1) if vif is None: - vif = execute("virsh domiflist %s |grep -w '%s' |tr -s ' '|cut -d ' ' -f1" % (vm_name, vm_mac)).strip() + vif = execute("virsh domiflist %s |grep -w '%s' | awk '{print $1}'" % (vm_name, vm_mac)).strip() if not vif: print("Cannot find vif") sys.exit(1) diff --git a/test/integration/component/test_multiple_nic_support.py b/test/integration/component/test_multiple_nic_support.py index 5b1bb7194ff..333dae58c7d 100644 --- a/test/integration/component/test_multiple_nic_support.py +++ b/test/integration/component/test_multiple_nic_support.py @@ -224,7 +224,7 @@ class TestMulipleNicSupport(cloudstackTestCase): cls.virtual_machine1.default_network_id = nic.networkid break except Exception as e: - cls.fail(f"Exception while deploying virtual machine: {e}") + cls.fail("Exception while deploying virtual machine: %s" % {e}) try: cls.virtual_machine2 = VirtualMachine.create( @@ -243,7 +243,7 @@ class TestMulipleNicSupport(cloudstackTestCase): cls.virtual_machine2.default_network_id = nic.networkid break except Exception as e: - cls.fail(f"Exception while deploying virtual machine: {e}") + cls.fail("Exception while deploying virtual machine: %s" % {e}) cls._cleanup.append(cls.virtual_machine1) cls._cleanup.append(cls.virtual_machine2)