From 9b11f3aca07c021c35ff16bb65f1b0feba9e1455 Mon Sep 17 00:00:00 2001 From: "zhong.zhou" Date: Fri, 17 Jul 2026 15:55:31 +0800 Subject: [PATCH] [kvm]: rename global property: skip.ipv6 to disable.ip6tables GlobalPropertyImpact Resolves: ZSV-9753 Change-Id: I71626269747462746d766f6b66697678696a726a --- .../org/zstack/network/l3/NetworkGlobalProperty.java | 3 +++ .../src/main/java/org/zstack/kvm/KVMAgentCommands.java | 2 ++ plugin/kvm/src/main/java/org/zstack/kvm/KVMHost.java | 4 ++-- .../java/org/zstack/kvm/KVMHostDeployArguments.java | 10 ++++++++++ .../java/org/zstack/kvm/KVMSecurityGroupBackend.java | 4 ++-- .../kvm/nic/MigrateVmSetDefaultRuleCase.groovy | 4 ++-- 6 files changed, 21 insertions(+), 6 deletions(-) diff --git a/network/src/main/java/org/zstack/network/l3/NetworkGlobalProperty.java b/network/src/main/java/org/zstack/network/l3/NetworkGlobalProperty.java index 0c62383e3e1..4cf7cd892de 100644 --- a/network/src/main/java/org/zstack/network/l3/NetworkGlobalProperty.java +++ b/network/src/main/java/org/zstack/network/l3/NetworkGlobalProperty.java @@ -15,4 +15,7 @@ public class NetworkGlobalProperty { @GlobalProperty(name = "bridge.disable.iptables", defaultValue = "false") public static boolean BRIDGE_DISABLE_IPTABLES; + + @GlobalProperty(name = "bridge.disable.ip6tables", defaultValue = "false") + public static boolean BRIDGE_DISABLE_IP6TABLES; } diff --git a/plugin/kvm/src/main/java/org/zstack/kvm/KVMAgentCommands.java b/plugin/kvm/src/main/java/org/zstack/kvm/KVMAgentCommands.java index cc7c9083a7a..1abd2b06c64 100755 --- a/plugin/kvm/src/main/java/org/zstack/kvm/KVMAgentCommands.java +++ b/plugin/kvm/src/main/java/org/zstack/kvm/KVMAgentCommands.java @@ -3840,6 +3840,7 @@ public static class RefreshAllRulesOnHostResponse extends AgentResponse { public static class CheckDefaultSecurityGroupCmd extends AgentCommand { Boolean skipIpv6; + Boolean disableIp6Tables; } public static class CheckDefaultSecurityGroupResponse extends AgentResponse { @@ -3863,6 +3864,7 @@ public static class UpdateGroupMemberResponse extends AgentResponse { public static class CleanupUnusedRulesOnHostCmd extends AgentCommand { Boolean skipIpv6; + Boolean disableIp6Tables; } public static class CleanupUnusedRulesOnHostResponse extends AgentResponse { diff --git a/plugin/kvm/src/main/java/org/zstack/kvm/KVMHost.java b/plugin/kvm/src/main/java/org/zstack/kvm/KVMHost.java index a5b16157a01..f11a39ea918 100755 --- a/plugin/kvm/src/main/java/org/zstack/kvm/KVMHost.java +++ b/plugin/kvm/src/main/java/org/zstack/kvm/KVMHost.java @@ -6235,8 +6235,8 @@ public void run(final FlowTrigger trigger, Map data) { deployArguments.setInit("true"); runner.setFullDeploy(true); } - if (NetworkGlobalProperty.SKIP_IPV6) { - deployArguments.setSkipIpv6("true"); + if (NetworkGlobalProperty.SKIP_IPV6 || NetworkGlobalProperty.BRIDGE_DISABLE_IP6TABLES) { + deployArguments.setDisableIp6Tables("true"); } for (KvmHostAgentDeploymentExtensionPoint ext : pluginRegistry.getExtensionList(KvmHostAgentDeploymentExtensionPoint.class)) { diff --git a/plugin/kvm/src/main/java/org/zstack/kvm/KVMHostDeployArguments.java b/plugin/kvm/src/main/java/org/zstack/kvm/KVMHostDeployArguments.java index 9a8488b5157..a00713448c8 100644 --- a/plugin/kvm/src/main/java/org/zstack/kvm/KVMHostDeployArguments.java +++ b/plugin/kvm/src/main/java/org/zstack/kvm/KVMHostDeployArguments.java @@ -10,6 +10,8 @@ public class KVMHostDeployArguments extends SyncTimeRequestedDeployArguments { private String init; @SerializedName("skipIpv6") private String skipIpv6; + @SerializedName("disableIp6Tables") + private String disableIp6Tables; @SerializedName("isBareMetal2Gateway") private String isBareMetal2Gateway; @SerializedName("bridgeDisableIptables") @@ -53,6 +55,14 @@ public void setSkipIpv6(String skipIpv6) { this.skipIpv6 = skipIpv6; } + public String getDisableIp6Tables() { + return disableIp6Tables; + } + + public void setDisableIp6Tables(String disableIp6Tables) { + this.disableIp6Tables = disableIp6Tables; + } + public String getIsBareMetal2Gateway() { return isBareMetal2Gateway; } diff --git a/plugin/kvm/src/main/java/org/zstack/kvm/KVMSecurityGroupBackend.java b/plugin/kvm/src/main/java/org/zstack/kvm/KVMSecurityGroupBackend.java index 2edc3a92f80..27d57eb861e 100755 --- a/plugin/kvm/src/main/java/org/zstack/kvm/KVMSecurityGroupBackend.java +++ b/plugin/kvm/src/main/java/org/zstack/kvm/KVMSecurityGroupBackend.java @@ -129,7 +129,7 @@ public void applyRules(final HostRuleTO hto, final Completion complete) { @Override public void checkDefaultRules(String hostUuid, Completion completion) { CheckDefaultSecurityGroupCmd cmd = new CheckDefaultSecurityGroupCmd(); - cmd.skipIpv6 = NetworkGlobalProperty.SKIP_IPV6; + cmd.disableIp6Tables = NetworkGlobalProperty.SKIP_IPV6 || NetworkGlobalProperty.BRIDGE_DISABLE_IP6TABLES; KVMHostAsyncHttpCallMsg msg = new KVMHostAsyncHttpCallMsg(); msg.setHostUuid(hostUuid); @@ -193,7 +193,7 @@ public void run(MessageReply reply) { @Override public void cleanUpUnusedRuleOnHost(String hostUuid, final Completion completion) { KVMAgentCommands.CleanupUnusedRulesOnHostCmd cmd = new KVMAgentCommands.CleanupUnusedRulesOnHostCmd(); - cmd.skipIpv6 = NetworkGlobalProperty.SKIP_IPV6; + cmd.disableIp6Tables = NetworkGlobalProperty.SKIP_IPV6 || NetworkGlobalProperty.BRIDGE_DISABLE_IP6TABLES; KVMHostAsyncHttpCallMsg msg = new KVMHostAsyncHttpCallMsg(); msg.setHostUuid(hostUuid); msg.setCommand(cmd); diff --git a/test/src/test/groovy/org/zstack/test/integration/kvm/nic/MigrateVmSetDefaultRuleCase.groovy b/test/src/test/groovy/org/zstack/test/integration/kvm/nic/MigrateVmSetDefaultRuleCase.groovy index 1728b728419..b3280d60ce8 100644 --- a/test/src/test/groovy/org/zstack/test/integration/kvm/nic/MigrateVmSetDefaultRuleCase.groovy +++ b/test/src/test/groovy/org/zstack/test/integration/kvm/nic/MigrateVmSetDefaultRuleCase.groovy @@ -196,9 +196,9 @@ class MigrateVmSetDefaultRuleCase extends SubCase { retryInSecs { assert cmd != null - assert cmd.skipIpv6 == false + assert cmd.disableIp6Tables == false assert ccmd != null - assert ccmd.skipIpv6 == false + assert ccmd.disableIp6Tables == false } } }