From b83551f915f87aa55dafd42f50f08b8415fefb83 Mon Sep 17 00:00:00 2001 From: "shan.wu" Date: Mon, 23 Mar 2026 11:37:45 +0800 Subject: [PATCH] [dpu-bm2]: support dpu bm2 instance 1. add BareMetal2DpuChassisSpec for UT 2. Return baremetal2 IPMI information and dpu information through Query API, and desensitize the password 3. Some simple code optimization 4. support online resizing of volume of dpu baremetal2 instance Resolves/Related: ZSTAC-83415 Change-Id: I636d637a7168656a6c726c6769777a726e616974 --- .../zstack/header/volume/VolumeProtocol.java | 3 +- .../volume/VolumeProtocolCapability.java | 8 ++++ sdk/src/main/java/SourceClassMap.java | 2 + .../sdk/BareMetal2DpuChassisConfig.java | 37 +++++++++++++++++++ .../sdk/BareMetal2DpuChassisInventory.java | 19 +++++----- .../CloudOperationsErrorCode.java | 2 + 6 files changed, 61 insertions(+), 10 deletions(-) create mode 100644 sdk/src/main/java/org/zstack/sdk/BareMetal2DpuChassisConfig.java diff --git a/header/src/main/java/org/zstack/header/volume/VolumeProtocol.java b/header/src/main/java/org/zstack/header/volume/VolumeProtocol.java index 8cfebdf6080..aadc4cf15d3 100644 --- a/header/src/main/java/org/zstack/header/volume/VolumeProtocol.java +++ b/header/src/main/java/org/zstack/header/volume/VolumeProtocol.java @@ -5,5 +5,6 @@ public enum VolumeProtocol { iSCSI, Vhost, CBD, - NBD + NBD, + RBD } diff --git a/header/src/main/java/org/zstack/header/volume/VolumeProtocolCapability.java b/header/src/main/java/org/zstack/header/volume/VolumeProtocolCapability.java index c0ce747a9bb..344badbe8a2 100644 --- a/header/src/main/java/org/zstack/header/volume/VolumeProtocolCapability.java +++ b/header/src/main/java/org/zstack/header/volume/VolumeProtocolCapability.java @@ -65,4 +65,12 @@ public boolean isSupportReadonly() { public void setSupportReadonly(boolean supportReadonly) { this.supportReadonly = supportReadonly; } + + public String getProtocol() { + return protocol; + } + + public String getHypervisor() { + return hypervisor; + } } diff --git a/sdk/src/main/java/SourceClassMap.java b/sdk/src/main/java/SourceClassMap.java index 614350ecd69..ab5ec3770f3 100644 --- a/sdk/src/main/java/SourceClassMap.java +++ b/sdk/src/main/java/SourceClassMap.java @@ -66,6 +66,7 @@ public class SourceClassMap { put("org.zstack.baremetal2.chassis.BareMetal2ChassisInventory", "org.zstack.sdk.BareMetal2ChassisInventory"); put("org.zstack.baremetal2.chassis.BareMetal2ChassisNicInventory", "org.zstack.sdk.BareMetal2ChassisNicInventory"); put("org.zstack.baremetal2.chassis.BareMetal2ChassisPciDeviceInventory", "org.zstack.sdk.BareMetal2ChassisPciDeviceInventory"); + put("org.zstack.baremetal2.chassis.dpu.BareMetal2DpuChassisConfig", "org.zstack.sdk.BareMetal2DpuChassisConfig"); put("org.zstack.baremetal2.chassis.dpu.BareMetal2DpuChassisInventory", "org.zstack.sdk.BareMetal2DpuChassisInventory"); put("org.zstack.baremetal2.chassis.ipmi.BareMetal2IpmiChassisInventory", "org.zstack.sdk.BareMetal2IpmiChassisInventory"); put("org.zstack.baremetal2.configuration.BareMetal2ChassisOfferingInventory", "org.zstack.sdk.BareMetal2ChassisOfferingInventory"); @@ -960,6 +961,7 @@ public class SourceClassMap { put("org.zstack.sdk.BareMetal2ChassisNicInventory", "org.zstack.baremetal2.chassis.BareMetal2ChassisNicInventory"); put("org.zstack.sdk.BareMetal2ChassisOfferingInventory", "org.zstack.baremetal2.configuration.BareMetal2ChassisOfferingInventory"); put("org.zstack.sdk.BareMetal2ChassisPciDeviceInventory", "org.zstack.baremetal2.chassis.BareMetal2ChassisPciDeviceInventory"); + put("org.zstack.sdk.BareMetal2DpuChassisConfig", "org.zstack.baremetal2.chassis.dpu.BareMetal2DpuChassisConfig"); put("org.zstack.sdk.BareMetal2DpuChassisInventory", "org.zstack.baremetal2.chassis.dpu.BareMetal2DpuChassisInventory"); put("org.zstack.sdk.BareMetal2DpuHostInventory", "org.zstack.baremetal2.dpu.BareMetal2DpuHostInventory"); put("org.zstack.sdk.BareMetal2GatewayInventory", "org.zstack.baremetal2.gateway.BareMetal2GatewayInventory"); diff --git a/sdk/src/main/java/org/zstack/sdk/BareMetal2DpuChassisConfig.java b/sdk/src/main/java/org/zstack/sdk/BareMetal2DpuChassisConfig.java new file mode 100644 index 00000000000..3809f97f992 --- /dev/null +++ b/sdk/src/main/java/org/zstack/sdk/BareMetal2DpuChassisConfig.java @@ -0,0 +1,37 @@ +package org.zstack.sdk; + +public class BareMetal2DpuChassisConfig { + + public java.lang.String ipmiAddress; + public void setIpmiAddress(java.lang.String ipmiAddress) { + this.ipmiAddress = ipmiAddress; + } + public java.lang.String getIpmiAddress() { + return this.ipmiAddress; + } + + public java.lang.Integer ipmiPort; + public void setIpmiPort(java.lang.Integer ipmiPort) { + this.ipmiPort = ipmiPort; + } + public java.lang.Integer getIpmiPort() { + return this.ipmiPort; + } + + public java.lang.String ipmiUsername; + public void setIpmiUsername(java.lang.String ipmiUsername) { + this.ipmiUsername = ipmiUsername; + } + public java.lang.String getIpmiUsername() { + return this.ipmiUsername; + } + + public java.lang.String ipmiPassword; + public void setIpmiPassword(java.lang.String ipmiPassword) { + this.ipmiPassword = ipmiPassword; + } + public java.lang.String getIpmiPassword() { + return this.ipmiPassword; + } + +} diff --git a/sdk/src/main/java/org/zstack/sdk/BareMetal2DpuChassisInventory.java b/sdk/src/main/java/org/zstack/sdk/BareMetal2DpuChassisInventory.java index a68225a7c45..0eaffdc2162 100644 --- a/sdk/src/main/java/org/zstack/sdk/BareMetal2DpuChassisInventory.java +++ b/sdk/src/main/java/org/zstack/sdk/BareMetal2DpuChassisInventory.java @@ -1,23 +1,24 @@ package org.zstack.sdk; - +import org.zstack.sdk.BareMetal2DpuChassisConfig; +import org.zstack.sdk.BareMetal2DpuHostInventory; public class BareMetal2DpuChassisInventory extends org.zstack.sdk.BareMetal2ChassisInventory { - public java.lang.String config; - public void setConfig(java.lang.String config) { + public BareMetal2DpuChassisConfig config; + public void setConfig(BareMetal2DpuChassisConfig config) { this.config = config; } - public java.lang.String getConfig() { + public BareMetal2DpuChassisConfig getConfig() { return this.config; } - public java.lang.String hostUuid; - public void setHostUuid(java.lang.String hostUuid) { - this.hostUuid = hostUuid; + public BareMetal2DpuHostInventory dpuHost; + public void setDpuHost(BareMetal2DpuHostInventory dpuHost) { + this.dpuHost = dpuHost; } - public java.lang.String getHostUuid() { - return this.hostUuid; + public BareMetal2DpuHostInventory getDpuHost() { + return this.dpuHost; } } diff --git a/utils/src/main/java/org/zstack/utils/clouderrorcode/CloudOperationsErrorCode.java b/utils/src/main/java/org/zstack/utils/clouderrorcode/CloudOperationsErrorCode.java index 0deb26d677d..4abe4832481 100644 --- a/utils/src/main/java/org/zstack/utils/clouderrorcode/CloudOperationsErrorCode.java +++ b/utils/src/main/java/org/zstack/utils/clouderrorcode/CloudOperationsErrorCode.java @@ -5490,6 +5490,8 @@ public class CloudOperationsErrorCode { public static final String ORG_ZSTACK_BAREMETAL2_DPU_10001 = "ORG_ZSTACK_BAREMETAL2_DPU_10001"; + public static final String ORG_ZSTACK_BAREMETAL2_DPU_10002 = "ORG_ZSTACK_BAREMETAL2_DPU_10002"; + public static final String ORG_ZSTACK_STORAGE_PRIMARY_SHAREDBLOCK_10000 = "ORG_ZSTACK_STORAGE_PRIMARY_SHAREDBLOCK_10000"; public static final String ORG_ZSTACK_STORAGE_PRIMARY_SHAREDBLOCK_10001 = "ORG_ZSTACK_STORAGE_PRIMARY_SHAREDBLOCK_10001";