Skip to content

<feature>[mgt-ipv6]: support ipv6 management network#4329

Open
ZStack-Robot wants to merge 1 commit into
5.5.28from
sync/shixin.ruan/shixin-ZSTAC-79206-5.5.28@@4
Open

<feature>[mgt-ipv6]: support ipv6 management network#4329
ZStack-Robot wants to merge 1 commit into
5.5.28from
sync/shixin.ruan/shixin-ZSTAC-79206-5.5.28@@4

Conversation

@ZStack-Robot

Copy link
Copy Markdown
Collaborator

Squashed cherry-pick from feature-5.5.28-IPv6-management-network to 5.5.28. Jira: ZSTAC-79206.

sync from gitlab !10289

@coderabbitai

coderabbitai Bot commented Jun 24, 2026

Copy link
Copy Markdown

Warning

Review limit reached

@MatheMatrix, we couldn't start this review because you've reached your PR review rate limit.

More reviews will be available in 30 minutes and 24 seconds. Learn how PR review limits work.

Your organization has used up its prepaid credits, and credit purchases are no longer available. Enable the review add-on in the billing tab to keep reviews running — you're only billed for reviews past your plan's rate limits ($0.25/file).

⌛ How to resolve this issue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based credits.

🚦 How do rate limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please see our Fair Usage Limits Policy for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: 36f2be17-8e86-41cd-aeb6-99bef17de5ca

📥 Commits

Reviewing files that changed from the base of the PR and between 768a99d and 3b6d635.

⛔ Files ignored due to path filters (7)
  • conf/springConfigXml/DatabaseFacade.xml is excluded by !**/*.xml
  • conf/springConfigXml/PrimaryStorageManager.xml is excluded by !**/*.xml
  • conf/springConfigXml/SftpBackupStorage.xml is excluded by !**/*.xml
  • conf/springConfigXml/ZoneManager.xml is excluded by !**/*.xml
  • conf/springConfigXml/ceph.xml is excluded by !**/*.xml
  • conf/zstack.xml is excluded by !**/*.xml
  • test/src/test/resources/unitTestSuiteXml/BackupStorageManager.xml is excluded by !**/*.xml
📒 Files selected for processing (121)
  • compute/src/main/java/org/zstack/compute/allocator/TagAllocatorFlow.java
  • compute/src/main/java/org/zstack/compute/host/HostApiInterceptor.java
  • compute/src/main/java/org/zstack/compute/vm/VmCreateOnHypervisorFlow.java
  • compute/src/main/java/org/zstack/compute/vm/VmInstantiateResourceForChangeImageFlow.java
  • compute/src/main/java/org/zstack/compute/vm/VmInstantiateResourcePostFlow.java
  • compute/src/main/java/org/zstack/compute/vm/VmInstantiateResourcePreFlow.java
  • compute/src/main/java/org/zstack/compute/vm/VmReleaseResourceFlow.java
  • compute/src/main/java/org/zstack/compute/zone/ManagementNetworkIpVersionManagerImpl.java
  • compute/src/main/java/org/zstack/compute/zone/ZoneManagerImpl.java
  • compute/src/main/java/org/zstack/compute/zone/ZoneSystemTags.java
  • conf/db/upgrade/V5.5.28__schema.sql
  • conf/deploydb.sh
  • conf/deployuidb.sh
  • conf/zstack.properties
  • console/src/main/java/org/zstack/console/ConsoleApiInterceptor.java
  • console/src/main/java/org/zstack/console/ConsoleManagerImpl.java
  • console/src/main/java/org/zstack/console/ConsoleProxyBase.java
  • console/src/main/java/org/zstack/console/ManagementServerConsoleProxyBackend.java
  • core/src/main/java/org/zstack/core/CoreGlobalProperty.java
  • core/src/main/java/org/zstack/core/Platform.java
  • core/src/main/java/org/zstack/core/agent/AgentManagerImpl.java
  • core/src/main/java/org/zstack/core/ansible/AnsibleRunner.java
  • core/src/main/java/org/zstack/core/ansible/CallBackNetworkChecker.java
  • core/src/main/java/org/zstack/core/cloudbus/CloudBusImpl3.java
  • core/src/main/java/org/zstack/core/config/GlobalConfig.java
  • core/src/main/java/org/zstack/core/config/GlobalConfigConstant.java
  • core/src/main/java/org/zstack/core/config/GlobalConfigFacadeImpl.java
  • core/src/main/java/org/zstack/core/db/DatabaseFacadeImpl.java
  • core/src/main/java/org/zstack/core/db/GLock.java
  • core/src/main/java/org/zstack/core/db/Q.java
  • core/src/main/java/org/zstack/core/db/SimpleQueryImpl.java
  • core/src/main/java/org/zstack/core/rest/RESTFacadeImpl.java
  • core/src/main/java/org/zstack/core/search/SearchBackendConstant.java
  • core/src/main/java/org/zstack/core/search/ZStackZSha2JGroupsBackend.java
  • core/src/main/java/org/zstack/core/search/ZStackZSha2NodeSelector.java
  • core/src/main/java/org/zstack/core/timeout/ApiTimeoutManagerImpl.java
  • header/src/main/java/org/zstack/header/console/APIUpdateConsoleProxyAgentMsg.java
  • header/src/main/java/org/zstack/header/console/APIUpdateConsoleProxyAgentMsgDoc_zh_cn.groovy
  • header/src/main/java/org/zstack/header/console/ConsoleProxyAgentInventory.java
  • header/src/main/java/org/zstack/header/console/ConsoleProxyAgentVO.java
  • header/src/main/java/org/zstack/header/console/UpdateConsoleProxyAgentMsg.java
  • header/src/main/java/org/zstack/header/host/APIAddHostMsg.java
  • header/src/main/java/org/zstack/header/host/APIUpdateHostMsgDoc_zh_cn.groovy
  • header/src/main/java/org/zstack/header/rest/RESTFacade.java
  • header/src/main/java/org/zstack/header/zone/APICreateZoneMsg.java
  • header/src/main/java/org/zstack/header/zone/ManagementNetworkIpVersionManager.java
  • header/src/main/java/org/zstack/header/zone/ManagementNetworkIpVersionResourceExtensionPoint.java
  • network/src/main/java/org/zstack/network/l3/L3NetworkApiInterceptor.java
  • plugin/applianceVm/src/main/java/org/zstack/appliancevm/ApplianceVmBase.java
  • plugin/applianceVm/src/main/java/org/zstack/appliancevm/ApplianceVmConstant.java
  • plugin/applianceVm/src/main/java/org/zstack/appliancevm/ApplianceVmFacadeImpl.java
  • plugin/ceph/src/main/java/org/zstack/storage/ceph/CephApiInterceptor.java
  • plugin/ceph/src/main/java/org/zstack/storage/ceph/MonUri.java
  • plugin/ceph/src/main/java/org/zstack/storage/ceph/backup/CephBackupStorageMetaDataMaker.java
  • plugin/ceph/src/main/java/org/zstack/storage/ceph/backup/CephBackupStorageMonBase.java
  • plugin/ceph/src/main/java/org/zstack/storage/ceph/primary/CephPrimaryStorageBase.java
  • plugin/ceph/src/main/java/org/zstack/storage/ceph/primary/CephPrimaryStorageMonBase.java
  • plugin/flatNetworkProvider/src/main/java/org/zstack/network/service/flat/FlatDhcpBackend.java
  • plugin/kvm/src/main/java/org/zstack/kvm/APIAddKVMHostMsgDoc_zh_cn.groovy
  • plugin/kvm/src/main/java/org/zstack/kvm/APIUpdateKVMHostMsgDoc_zh_cn.groovy
  • plugin/kvm/src/main/java/org/zstack/kvm/KVMConsoleHypervisorBackend.java
  • plugin/kvm/src/main/java/org/zstack/kvm/KVMHost.java
  • plugin/kvm/src/main/java/org/zstack/kvm/KVMHostFactory.java
  • plugin/kvm/src/main/java/org/zstack/kvm/KVMHostUtils.java
  • plugin/kvm/src/main/java/org/zstack/kvm/KvmHostIpmiPowerExecutor.java
  • plugin/kvm/src/main/java/org/zstack/kvm/VmCpuVendorKvmStartVmExtension.java
  • plugin/localstorage/src/main/java/org/zstack/storage/primary/local/LocalStorageConstants.java
  • plugin/nfsPrimaryStorage/src/main/java/org/zstack/storage/primary/nfs/NfsApiParamChecker.java
  • plugin/sftpBackupStorage/src/main/java/org/zstack/storage/backup/sftp/SftpBackupStorage.java
  • plugin/sftpBackupStorage/src/main/java/org/zstack/storage/backup/sftp/SftpBackupStorageApiInterceptor.java
  • plugin/sftpBackupStorage/src/main/java/org/zstack/storage/backup/sftp/SftpBackupStorageMetaDataMaker.java
  • plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/VirtualRouter.java
  • plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/VirtualRouterApiInterceptor.java
  • plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/VirtualRouterManager.java
  • plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/VirtualRouterManagerImpl.java
  • plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/lifecycle/VirtualRouterDeployAgentFlow.java
  • plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/vyos/VyosConnectFlow.java
  • plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetworkPool/APICreateVxlanPoolRemoteVtepMsg.java
  • plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetworkPool/APIDeleteVxlanPoolRemoteVtepMsg.java
  • plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetworkPool/VxlanNetworkPoolConstant.java
  • plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetworkPool/VxlanPoolApiInterceptor.java
  • plugin/zbs/src/main/java/org/zstack/storage/zbs/MdsUri.java
  • plugin/zbs/src/main/java/org/zstack/storage/zbs/ZbsAgentUrl.java
  • portal/src/main/java/org/zstack/portal/managementnode/ManagementNodeManagerImpl.java
  • resourceconfig/src/main/java/org/zstack/resourceconfig/ResourceConfig.java
  • resourceconfig/src/main/java/org/zstack/resourceconfig/ResourceConfigFacadeImpl.java
  • sdk/src/main/java/org/zstack/sdk/ConsoleProxyAgentInventory.java
  • sdk/src/main/java/org/zstack/sdk/CreateVxlanPoolRemoteVtepAction.java
  • sdk/src/main/java/org/zstack/sdk/DeleteVxlanPoolRemoteVtepAction.java
  • sdk/src/main/java/org/zstack/sdk/SetIpOnHostNetworkInterfaceAction.java
  • sdk/src/main/java/org/zstack/sdk/UpdateConsoleProxyAgentAction.java
  • storage/src/main/java/org/zstack/storage/ManagementNetworkIpVersionStorageExtension.java
  • storage/src/main/java/org/zstack/storage/backup/BackupStorageApiInterceptor.java
  • storage/src/main/java/org/zstack/storage/primary/PrimaryStorageApiInterceptor.java
  • storage/src/main/java/org/zstack/storage/primary/PrimaryStorageFeatureAllocatorFlow.java
  • storage/src/main/java/org/zstack/storage/primary/PrimaryStorageTagAllocatorFlow.java
  • test/src/test/groovy/org/zstack/compute/host/HostApiInterceptorIpv6Case.groovy
  • test/src/test/groovy/org/zstack/kvm/KVMHostFactoryIpv6Case.groovy
  • test/src/test/groovy/org/zstack/test/integration/appliancevm/ApplianceVmIpv6Case.groovy
  • test/src/test/groovy/org/zstack/test/integration/console/ConsoleProxyCase.groovy
  • test/src/test/groovy/org/zstack/test/integration/core/ManagementNetworkIpv6Case.groovy
  • test/src/test/groovy/org/zstack/test/integration/core/MustFailCase.groovy
  • test/src/test/groovy/org/zstack/test/integration/kvm/host/KvmHostIpv6Case.groovy
  • test/src/test/groovy/org/zstack/test/integration/network/l3network/ipv6/IPv6DhcpCase.groovy
  • test/src/test/groovy/org/zstack/test/integration/network/l3network/ipv6/Ipv6RangeCase.groovy
  • test/src/test/groovy/org/zstack/test/integration/network/vxlanNetwork/AddRemoteVxlanVtepIpCase.groovy
  • test/src/test/groovy/org/zstack/test/integration/network/vxlanNetwork/AddVxlanVtepIpCase.groovy
  • test/src/test/groovy/org/zstack/test/integration/storage/ManagementNetworkIpVersionStorageConstraintCase.groovy
  • test/src/test/groovy/org/zstack/test/integration/storage/primary/addon/zbs/ZbsPrimaryStorageCase.groovy
  • test/src/test/groovy/org/zstack/test/unittest/utils/NetworkUtilsCase.groovy
  • test/src/test/java/org/zstack/test/kvm/KVMHostUtilsTest.java
  • utils/src/main/java/org/zstack/utils/TagUtils.java
  • utils/src/main/java/org/zstack/utils/URLBuilder.java
  • utils/src/main/java/org/zstack/utils/clouderrorcode/CloudOperationsErrorCode.java
  • utils/src/main/java/org/zstack/utils/network/IPv6Constants.java
  • utils/src/main/java/org/zstack/utils/network/IPv6NetworkUtils.java
  • utils/src/main/java/org/zstack/utils/network/ManagementNetworkIpVersionUtils.java
  • utils/src/main/java/org/zstack/utils/network/NetworkUtils.java
  • utils/src/main/java/org/zstack/utils/ssh/Ssh.java
  • utils/src/main/java/org/zstack/utils/ssh/SshShell.java
  • utils/src/main/java/org/zstack/utils/zsha2/ZSha2Helper.java

Warning

.coderabbit.yaml has a parsing error

The CodeRabbit configuration file in this repository has a parsing error and default settings were used instead. Please fix the error(s) in the configuration file. You can initialize chat with CodeRabbit to get help with the configuration file.

💥 Parsing errors (1)
Could not fetch remote config from http://open.zstack.ai:20001/code-reviews/zstack-cloud.yaml: TimeoutError: The operation was aborted due to timeout
⚙️ Configuration instructions
  • Please see the configuration documentation for more information.
  • You can also validate your configuration using the online YAML validator.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch sync/shixin.ruan/shixin-ZSTAC-79206-5.5.28@@4

Comment @coderabbitai help to get the list of available commands.

@MatheMatrix MatheMatrix force-pushed the sync/shixin.ruan/shixin-ZSTAC-79206-5.5.28@@4 branch 3 times, most recently from ab05bd8 to 89dc0ff Compare June 26, 2026 02:49
"host", msg.getName(), ORG_ZSTACK_COMPUTE_HOST_10130);
}

static void validateManagementEndpoint(APIAddHostMsg msg) {

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Comment from shixin.ruan:

validateManagementEndpoint 简单的套一层,validateManagementEndpoint 完全没必要

return isValidManagementEndpoint(managementIp) ? null : ORG_ZSTACK_COMPUTE_HOST_10128;
}

private static boolean isValidManagementEndpoint(String endpoint) {

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Comment from shixin.ruan:

这个套娃型的coding也完全没必要

@ZStack-Robot

Copy link
Copy Markdown
Collaborator Author

Comment on compute/src/main/java/org/zstack/compute/zone/ManagementNetworkIpVersionManagerImpl.java:

Comment from shixin.ruan:

重新全部errorcode的使用,不能使用旧的errorcde

"host", msg.getName(), ORG_ZSTACK_COMPUTE_HOST_10130);
}

static void validateManagementEndpoint(APIAddHostMsg msg) {

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Comment from shixin.ruan:

已处理:删除 validateManagementEndpoint(APIAddHostMsg) 这层简单 wrapper,APIAddHostMsg 直接 setManagementIp(validateManagementEndpoint(String))。验证:mvn -pl compute -DskipTests install PASS。Commit: 999facd

String normalizedIpVersion = ManagementNetworkIpVersionUtils.normalizeIpVersion(ipVersion);
if (normalizedIpVersion == null) {
throw new ApiMessageInterceptionException(argerr(
ORG_ZSTACK_COMPUTE_ZONE_10004,

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Comment from shixin.ruan:

已处理:zone 管理网 IP version 的新增错误分支重新分配为独立 error code:invalid tag=10008,existing host mismatch=10009,duplicate tag=10010,IPv6 link-local=10011;未修改 i18n。验证:mvn -pl utils,compute -DskipTests install PASS。Commit: 999facd

@MatheMatrix MatheMatrix force-pushed the sync/shixin.ruan/shixin-ZSTAC-79206-5.5.28@@4 branch from 999facd to 8466141 Compare June 26, 2026 08:26
Squashed from feature-5.5.28-IPv6-management-network onto 5.5.28.

Resolves: ZSTAC-79206

Test: mvn -Dmaven.repo.local=/tmp/zstack-m2 -P premium -pl test -am -DskipTests test-compile

Change-Id: I4835efc0a30b1560dbcd1b9fda33c07e45412d8c
@MatheMatrix MatheMatrix force-pushed the sync/shixin.ruan/shixin-ZSTAC-79206-5.5.28@@4 branch from 8466141 to 3b6d635 Compare June 26, 2026 09:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants