diff --git a/sdk/src/main/java/SourceClassMap.java b/sdk/src/main/java/SourceClassMap.java index 671562c5368..aab13636ece 100644 --- a/sdk/src/main/java/SourceClassMap.java +++ b/sdk/src/main/java/SourceClassMap.java @@ -608,9 +608,9 @@ public class SourceClassMap { put("org.zstack.network.service.virtualrouter.VirtualRouterOfferingInventory", "org.zstack.sdk.VirtualRouterOfferingInventory"); put("org.zstack.network.service.virtualrouter.VirtualRouterSoftwareVersionInventory", "org.zstack.sdk.VirtualRouterSoftwareVersionInventory"); put("org.zstack.network.service.virtualrouter.VirtualRouterVmInventory", "org.zstack.sdk.VirtualRouterVmInventory"); - put("org.zstack.network.zns.L2GeneveNetworkInventory", "org.zstack.sdk.L2GeneveNetworkInventory"); - put("org.zstack.network.zns.ZnsControllerInventory", "org.zstack.sdk.ZnsControllerInventory"); - put("org.zstack.network.zns.ZnsTransportZoneInventory", "org.zstack.sdk.ZnsTransportZoneInventory"); + put("org.zstack.network.zns.L2GeneveNetworkInventory", "org.zstack.sdk.network.zns.L2GeneveNetworkInventory"); + put("org.zstack.network.zns.ZnsControllerInventory", "org.zstack.sdk.network.zns.ZnsControllerInventory"); + put("org.zstack.network.zns.ZnsTransportZoneInventory", "org.zstack.sdk.network.zns.ZnsTransportZoneInventory"); put("org.zstack.observabilityServer.ObservabilityServerOfferingInventory", "org.zstack.sdk.ObservabilityServerOfferingInventory"); put("org.zstack.observabilityServer.ObservabilityServerVmInventory", "org.zstack.sdk.ObservabilityServerVmInventory"); put("org.zstack.observabilityServer.service.ObservabilityServerServiceDataInventory", "org.zstack.sdk.ObservabilityServerServiceDataInventory"); @@ -1188,7 +1188,6 @@ public class SourceClassMap { put("org.zstack.sdk.KvmCephIsoTO", "org.zstack.storage.ceph.primary.KvmCephIsoTO"); put("org.zstack.sdk.KvmHostHypervisorMetadataInventory", "org.zstack.kvm.hypervisor.datatype.KvmHostHypervisorMetadataInventory"); put("org.zstack.sdk.KvmHypervisorInfoInventory", "org.zstack.kvm.hypervisor.datatype.KvmHypervisorInfoInventory"); - put("org.zstack.sdk.L2GeneveNetworkInventory", "org.zstack.network.zns.L2GeneveNetworkInventory"); put("org.zstack.sdk.L2NetworkData", "org.zstack.header.network.l2.L2NetworkData"); put("org.zstack.sdk.L2NetworkInventory", "org.zstack.header.network.l2.L2NetworkInventory"); put("org.zstack.sdk.L2PortGroupNetworkInventory", "org.zstack.network.l2.virtualSwitch.header.L2PortGroupNetworkInventory"); @@ -1627,8 +1626,6 @@ public class SourceClassMap { put("org.zstack.sdk.ZdfsInventory", "org.zstack.header.zdfs.ZdfsInventory"); put("org.zstack.sdk.ZdfsService", "org.zstack.ai.message.ModelCenterServiceInventory$ZdfsService"); put("org.zstack.sdk.ZdfsStorageInventory", "org.zstack.header.zdfs.ZdfsStorageInventory"); - put("org.zstack.sdk.ZnsControllerInventory", "org.zstack.network.zns.ZnsControllerInventory"); - put("org.zstack.sdk.ZnsTransportZoneInventory", "org.zstack.network.zns.ZnsTransportZoneInventory"); put("org.zstack.sdk.ZoneInventory", "org.zstack.header.zone.ZoneInventory"); put("org.zstack.sdk.databasebackup.DatabaseBackupInventory", "org.zstack.header.storage.database.backup.DatabaseBackupInventory"); put("org.zstack.sdk.databasebackup.DatabaseBackupStorageRefInventory", "org.zstack.header.storage.database.backup.DatabaseBackupStorageRefInventory"); @@ -1678,6 +1675,9 @@ public class SourceClassMap { put("org.zstack.sdk.license.header.server.LicenseUsageDetailView", "org.zstack.license.header.server.LicenseUsageDetailView"); put("org.zstack.sdk.license.header.server.LicenseUsageView", "org.zstack.license.header.server.LicenseUsageView"); put("org.zstack.sdk.license.header.server.TotalLicenseAuthorizedCapacityView", "org.zstack.license.header.server.TotalLicenseAuthorizedCapacityView"); + put("org.zstack.sdk.network.zns.L2GeneveNetworkInventory", "org.zstack.network.zns.L2GeneveNetworkInventory"); + put("org.zstack.sdk.network.zns.ZnsControllerInventory", "org.zstack.network.zns.ZnsControllerInventory"); + put("org.zstack.sdk.network.zns.ZnsTransportZoneInventory", "org.zstack.network.zns.ZnsTransportZoneInventory"); put("org.zstack.sdk.sns.SNSAliyunSmsEndpointInventory", "org.zstack.sns.SNSAliyunSmsEndpointInventory"); put("org.zstack.sdk.sns.SNSApplicationEndpointInventory", "org.zstack.sns.SNSApplicationEndpointInventory"); put("org.zstack.sdk.sns.SNSApplicationPlatformInventory", "org.zstack.sns.SNSApplicationPlatformInventory"); diff --git a/sdk/src/main/java/org/zstack/sdk/CreateL2GeneveNetworkAction.java b/sdk/src/main/java/org/zstack/sdk/network/zns/CreateL2GeneveNetworkAction.java similarity index 99% rename from sdk/src/main/java/org/zstack/sdk/CreateL2GeneveNetworkAction.java rename to sdk/src/main/java/org/zstack/sdk/network/zns/CreateL2GeneveNetworkAction.java index e76ddab6ff8..16c4675b2c8 100644 --- a/sdk/src/main/java/org/zstack/sdk/CreateL2GeneveNetworkAction.java +++ b/sdk/src/main/java/org/zstack/sdk/network/zns/CreateL2GeneveNetworkAction.java @@ -1,4 +1,4 @@ -package org.zstack.sdk; +package org.zstack.sdk.network.zns; import java.util.HashMap; import java.util.Map; diff --git a/sdk/src/main/java/org/zstack/sdk/L2GeneveNetworkInventory.java b/sdk/src/main/java/org/zstack/sdk/network/zns/L2GeneveNetworkInventory.java similarity index 89% rename from sdk/src/main/java/org/zstack/sdk/L2GeneveNetworkInventory.java rename to sdk/src/main/java/org/zstack/sdk/network/zns/L2GeneveNetworkInventory.java index bbf314e095c..4d933dae10d 100644 --- a/sdk/src/main/java/org/zstack/sdk/L2GeneveNetworkInventory.java +++ b/sdk/src/main/java/org/zstack/sdk/network/zns/L2GeneveNetworkInventory.java @@ -1,4 +1,4 @@ -package org.zstack.sdk; +package org.zstack.sdk.network.zns; diff --git a/sdk/src/main/java/org/zstack/sdk/ZnsControllerInventory.java b/sdk/src/main/java/org/zstack/sdk/network/zns/ZnsControllerInventory.java similarity index 90% rename from sdk/src/main/java/org/zstack/sdk/ZnsControllerInventory.java rename to sdk/src/main/java/org/zstack/sdk/network/zns/ZnsControllerInventory.java index 2f207674572..c05ef752106 100644 --- a/sdk/src/main/java/org/zstack/sdk/ZnsControllerInventory.java +++ b/sdk/src/main/java/org/zstack/sdk/network/zns/ZnsControllerInventory.java @@ -1,4 +1,4 @@ -package org.zstack.sdk; +package org.zstack.sdk.network.zns; diff --git a/sdk/src/main/java/org/zstack/sdk/ZnsTransportZoneInventory.java b/sdk/src/main/java/org/zstack/sdk/network/zns/ZnsTransportZoneInventory.java similarity index 98% rename from sdk/src/main/java/org/zstack/sdk/ZnsTransportZoneInventory.java rename to sdk/src/main/java/org/zstack/sdk/network/zns/ZnsTransportZoneInventory.java index d3026306804..890e452aa04 100644 --- a/sdk/src/main/java/org/zstack/sdk/ZnsTransportZoneInventory.java +++ b/sdk/src/main/java/org/zstack/sdk/network/zns/ZnsTransportZoneInventory.java @@ -1,4 +1,4 @@ -package org.zstack.sdk; +package org.zstack.sdk.network.zns; diff --git a/testlib/src/main/java/org/zstack/testlib/ApiHelper.groovy b/testlib/src/main/java/org/zstack/testlib/ApiHelper.groovy index 2c6715bc92c..d576a9344d9 100644 --- a/testlib/src/main/java/org/zstack/testlib/ApiHelper.groovy +++ b/testlib/src/main/java/org/zstack/testlib/ApiHelper.groovy @@ -10061,33 +10061,6 @@ abstract class ApiHelper { } - def createL2GeneveNetwork(@DelegatesTo(strategy = Closure.OWNER_FIRST, value = org.zstack.sdk.CreateL2GeneveNetworkAction.class) Closure c) { - def a = new org.zstack.sdk.CreateL2GeneveNetworkAction() - a.sessionId = Test.currentEnvSpec?.session?.uuid - c.resolveStrategy = Closure.OWNER_FIRST - c.delegate = a - c() - - - if (System.getProperty("apipath") != null) { - if (a.apiId == null) { - a.apiId = Platform.uuid - } - - def tracker = new ApiPathTracker(a.apiId) - def out = errorOut(a.call()) - def path = tracker.getApiPath() - if (!path.isEmpty()) { - Test.apiPaths[a.class.name] = path.join(" --->\n") - } - - return out - } else { - return errorOut(a.call()) - } - } - - def createL2HardwareVxlanNetwork(@DelegatesTo(strategy = Closure.OWNER_FIRST, value = org.zstack.sdk.CreateL2HardwareVxlanNetworkAction.class) Closure c) { def a = new org.zstack.sdk.CreateL2HardwareVxlanNetworkAction() a.sessionId = Test.currentEnvSpec?.session?.uuid @@ -51889,6 +51862,33 @@ abstract class ApiHelper { } + def createL2GeneveNetwork(@DelegatesTo(strategy = Closure.OWNER_FIRST, value = org.zstack.sdk.network.zns.CreateL2GeneveNetworkAction.class) Closure c) { + def a = new org.zstack.sdk.network.zns.CreateL2GeneveNetworkAction() + a.sessionId = Test.currentEnvSpec?.session?.uuid + c.resolveStrategy = Closure.OWNER_FIRST + c.delegate = a + c() + + + if (System.getProperty("apipath") != null) { + if (a.apiId == null) { + a.apiId = Platform.uuid + } + + def tracker = new ApiPathTracker(a.apiId) + def out = errorOut(a.call()) + def path = tracker.getApiPath() + if (!path.isEmpty()) { + Test.apiPaths[a.class.name] = path.join(" --->\n") + } + + return out + } else { + return errorOut(a.call()) + } + } + + def addSNSSmsReceiver(@DelegatesTo(strategy = Closure.OWNER_FIRST, value = org.zstack.sdk.sns.AddSNSSmsReceiverAction.class) Closure c) { def a = new org.zstack.sdk.sns.AddSNSSmsReceiverAction() a.sessionId = Test.currentEnvSpec?.session?.uuid 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 32fcb394e0f..7da0c340fdb 100644 --- a/utils/src/main/java/org/zstack/utils/clouderrorcode/CloudOperationsErrorCode.java +++ b/utils/src/main/java/org/zstack/utils/clouderrorcode/CloudOperationsErrorCode.java @@ -11952,15 +11952,26 @@ public class CloudOperationsErrorCode { public static final String ORG_ZSTACK_NETWORK_ZNS_10009 = "ORG_ZSTACK_NETWORK_ZNS_10009"; // ZNS error-code semantic mapping: + // 10000 ZNS async API returned unexpected status (not 200/202) + // 10001 ZNS API returned HTTP error status + // 10002 ZNS API I/O/connection error + // 10003 ZNS API unexpected exception + // 10004 ZNS sync GET failed (without query params) + // 10005 ZNS sync GET failed (with query params) + // 10006 failed to resolve ZNS SdnController for an L2 network + // 10007 failed to resolve ZNS SdnControllerL2 for an L2 network + // 10008 reserved + // 10009 VM NIC cannot change between ZNS and non-ZNS networks // 10010 unsupported API for ZNS controller // 10011 ZNS L2 only supports L3BasicNetwork // 10012 duplicate ZNS L2NoVlan creation under same controller - // 10013 invalid ZNS L2 target type in change-vlan flow - // 10014 Geneve type can only change VNI, not L2 type - // 10015 cannot switch to Geneve / cannot move NIC across ZNS controllers + // 10013 invalid ZNS L2 target type in create/change-vlan flow + // 10014 duplicate/invalid Geneve change (or non-Geneve target from Geneve) + // 10015 VM NIC cannot move across different ZNS controllers // 10016 duplicate Geneve VNI under same controller // 10017 non-ZNS L2 cannot change to Geneve type - // 10018 ZNS non-Geneve L2 network cannot change type to L2GeneveNetwork + // 10018 ZNS non-Geneve L2 cannot change to L2GeneveNetwork + // 10019 only one L3 network is allowed per ZNS L2 network public static final String ORG_ZSTACK_NETWORK_ZNS_10010 = "ORG_ZSTACK_NETWORK_ZNS_10010"; public static final String ORG_ZSTACK_NETWORK_ZNS_10011 = "ORG_ZSTACK_NETWORK_ZNS_10011"; @@ -11978,8 +11989,14 @@ public class CloudOperationsErrorCode { public static final String ORG_ZSTACK_NETWORK_ZNS_10017 = "ORG_ZSTACK_NETWORK_ZNS_10017"; public static final String ORG_ZSTACK_NETWORK_ZNS_10018 = "ORG_ZSTACK_NETWORK_ZNS_10018"; + public static final String ORG_ZSTACK_NETWORK_ZNS_10019 = "ORG_ZSTACK_NETWORK_ZNS_10019"; // ZNS DHCP + // 10020 ZNS DHCP enable/check failed due to invalid L3/segment state + // 10021 reserved + // 10022 reserved + // 10023 reserved + // 10024 unsupported legacy SdnControllerDhcp path for ZNS L3 public static final String ORG_ZSTACK_NETWORK_ZNS_10020 = "ORG_ZSTACK_NETWORK_ZNS_10020"; public static final String ORG_ZSTACK_NETWORK_ZNS_10021 = "ORG_ZSTACK_NETWORK_ZNS_10021"; public static final String ORG_ZSTACK_NETWORK_ZNS_10022 = "ORG_ZSTACK_NETWORK_ZNS_10022";