From 75daf422c5860eb7605a9eb54cdbc88b89ed5712 Mon Sep 17 00:00:00 2001 From: "haibiao.xiao" Date: Thu, 27 May 2021 09:46:17 +0800 Subject: [PATCH 1/2] [FEATURE: ZSTAC-38238] add AttachL2OvsDpdkNetworkCase ut for high performance network --- testlib/src/main/java/org/zstack/testlib/KVMSimulator.groovy | 2 +- testlib/src/main/java/org/zstack/testlib/L2NetworkSpec.groovy | 2 ++ .../src/main/java/org/zstack/testlib/L2NoVlanNetworkSpec.groovy | 1 + .../src/main/java/org/zstack/testlib/L2VlanNetworkSpec.groovy | 1 + 4 files changed, 5 insertions(+), 1 deletion(-) diff --git a/testlib/src/main/java/org/zstack/testlib/KVMSimulator.groovy b/testlib/src/main/java/org/zstack/testlib/KVMSimulator.groovy index 6e46c4be348..0d433058356 100755 --- a/testlib/src/main/java/org/zstack/testlib/KVMSimulator.groovy +++ b/testlib/src/main/java/org/zstack/testlib/KVMSimulator.groovy @@ -252,7 +252,7 @@ class KVMSimulator implements Simulator { } spec.simulator(KVMConstant.KVM_REALIZE_OVSDPDK_NETWORK_PATH) { - return new KVMAgentCommands.AgentResponse() + return new KVMAgentCommands.CreateBridgeResponse() } spec.simulator(KVMConstant.KVM_GENERATE_VDPA_PATH) { HttpEntity e -> diff --git a/testlib/src/main/java/org/zstack/testlib/L2NetworkSpec.groovy b/testlib/src/main/java/org/zstack/testlib/L2NetworkSpec.groovy index 458ae57ce07..ff89d30beec 100755 --- a/testlib/src/main/java/org/zstack/testlib/L2NetworkSpec.groovy +++ b/testlib/src/main/java/org/zstack/testlib/L2NetworkSpec.groovy @@ -12,6 +12,8 @@ abstract class L2NetworkSpec extends Spec { String description @SpecParam(required = true) String physicalInterface + @SpecParam + String vSwitchType L2NetworkInventory inventory diff --git a/testlib/src/main/java/org/zstack/testlib/L2NoVlanNetworkSpec.groovy b/testlib/src/main/java/org/zstack/testlib/L2NoVlanNetworkSpec.groovy index 5a8e3f1e232..4b0b21781e6 100755 --- a/testlib/src/main/java/org/zstack/testlib/L2NoVlanNetworkSpec.groovy +++ b/testlib/src/main/java/org/zstack/testlib/L2NoVlanNetworkSpec.groovy @@ -27,6 +27,7 @@ class L2NoVlanNetworkSpec extends L2NetworkSpec implements Simulator{ delegate.userTags = userTags delegate.systemTags = systemTags delegate.zoneUuid = (parent as ZoneSpec).inventory.uuid + delegate.vSwitchType = vSwitchType } postCreate { diff --git a/testlib/src/main/java/org/zstack/testlib/L2VlanNetworkSpec.groovy b/testlib/src/main/java/org/zstack/testlib/L2VlanNetworkSpec.groovy index 4414e00df64..9a176677fd4 100755 --- a/testlib/src/main/java/org/zstack/testlib/L2VlanNetworkSpec.groovy +++ b/testlib/src/main/java/org/zstack/testlib/L2VlanNetworkSpec.groovy @@ -27,6 +27,7 @@ class L2VlanNetworkSpec extends L2NetworkSpec implements Simulator{ delegate.systemTags = systemTags delegate.sessionId = sessionId delegate.zoneUuid = (parent as ZoneSpec).inventory.uuid + delegate.vSwitchType = vSwitchType } as L2NetworkInventory postCreate { From ebfffbdbdbee132c35a0a3ffe173f08333e82523 Mon Sep 17 00:00:00 2001 From: "haibiao.xiao" Date: Fri, 4 Jun 2021 11:27:09 +0800 Subject: [PATCH 2/2] update sdk and ApiHelper --- ...aVolumeTemplateFromVolumeBackupAction.java | 3 + ...tVolumeTemplateFromVolumeBackupAction.java | 3 + .../java/org/zstack/sdk/AddImageAction.java | 2 +- .../sdk/ChangeLoadBalancerListenerAction.java | 6 +- .../CreateL2HardwareVxlanNetworkAction.java | 4 +- ...reateL2HardwareVxlanNetworkPoolAction.java | 4 +- .../sdk/CreateL2NoVlanNetworkAction.java | 4 +- .../zstack/sdk/CreateL2VlanNetworkAction.java | 4 +- .../sdk/CreateL2VxlanNetworkAction.java | 4 +- .../sdk/CreateL2VxlanNetworkPoolAction.java | 4 +- ...ootVolumeTemplateFromRootVolumeAction.java | 3 + ...olumeTemplateFromVolumeSnapshotAction.java | 2 +- .../org/zstack/sdk/UpdateImageAction.java | 2 +- .../java/org/zstack/testlib/ApiHelper.groovy | 135 ++++++++++++++---- 14 files changed, 135 insertions(+), 45 deletions(-) diff --git a/sdk/src/main/java/org/zstack/heder/storage/volume/backup/CreateDataVolumeTemplateFromVolumeBackupAction.java b/sdk/src/main/java/org/zstack/heder/storage/volume/backup/CreateDataVolumeTemplateFromVolumeBackupAction.java index 8a240c774fc..444f12d7f9b 100644 --- a/sdk/src/main/java/org/zstack/heder/storage/volume/backup/CreateDataVolumeTemplateFromVolumeBackupAction.java +++ b/sdk/src/main/java/org/zstack/heder/storage/volume/backup/CreateDataVolumeTemplateFromVolumeBackupAction.java @@ -49,6 +49,9 @@ public Result throwExceptionIfError() { @Param(required = false) public boolean system = false; + @Param(required = false) + public java.lang.Boolean virtio; + @Param(required = false) public java.lang.String resourceUuid; diff --git a/sdk/src/main/java/org/zstack/heder/storage/volume/backup/CreateRootVolumeTemplateFromVolumeBackupAction.java b/sdk/src/main/java/org/zstack/heder/storage/volume/backup/CreateRootVolumeTemplateFromVolumeBackupAction.java index 91e77f4a38b..5682eed98f0 100644 --- a/sdk/src/main/java/org/zstack/heder/storage/volume/backup/CreateRootVolumeTemplateFromVolumeBackupAction.java +++ b/sdk/src/main/java/org/zstack/heder/storage/volume/backup/CreateRootVolumeTemplateFromVolumeBackupAction.java @@ -49,6 +49,9 @@ public Result throwExceptionIfError() { @Param(required = false) public boolean system = false; + @Param(required = false) + public java.lang.Boolean virtio; + @Param(required = false) public java.lang.String resourceUuid; diff --git a/sdk/src/main/java/org/zstack/sdk/AddImageAction.java b/sdk/src/main/java/org/zstack/sdk/AddImageAction.java index 7cc20c70c21..94b859e728c 100644 --- a/sdk/src/main/java/org/zstack/sdk/AddImageAction.java +++ b/sdk/src/main/java/org/zstack/sdk/AddImageAction.java @@ -59,7 +59,7 @@ public Result throwExceptionIfError() { public java.lang.String type; @Param(required = false, nonempty = false, nullElements = false, emptyString = true, noTrim = false) - public boolean virtio = false; + public boolean virtio = true; @Param(required = false) public java.lang.String resourceUuid; diff --git a/sdk/src/main/java/org/zstack/sdk/ChangeLoadBalancerListenerAction.java b/sdk/src/main/java/org/zstack/sdk/ChangeLoadBalancerListenerAction.java index 18a0a393e75..943185364db 100644 --- a/sdk/src/main/java/org/zstack/sdk/ChangeLoadBalancerListenerAction.java +++ b/sdk/src/main/java/org/zstack/sdk/ChangeLoadBalancerListenerAction.java @@ -64,15 +64,15 @@ public Result throwExceptionIfError() { @Param(required = false, validValues = {"enable","disable"}, nonempty = false, nullElements = false, emptyString = true, noTrim = false) public java.lang.String aclStatus; + @Param(required = false, validValues = {"tls_cipher_policy_default","tls_cipher_policy_1_0","tls_cipher_policy_1_1","tls_cipher_policy_1_2","tls_cipher_policy_1_2_strict","tls_cipher_policy_1_2_strict_with_1_3"}, nonempty = false, nullElements = false, emptyString = true, noTrim = false) + public java.lang.String securityPolicyType; + @Param(required = false, nonempty = false, nullElements = false, emptyString = true, numberRange = {1L,64L}, noTrim = false) public java.lang.Integer nbprocess; @Param(required = false, validValues = {"http-keep-alive","http-server-close","http-tunnel","httpclose","forceclose"}, nonempty = false, nullElements = false, emptyString = true, noTrim = false) public java.lang.String httpMode; - @Param(required = false, validValues = {"tls_cipher_policy_default","tls_cipher_policy_1_0","tls_cipher_policy_1_1","tls_cipher_policy_1_2","tls_cipher_policy_1_2_strict","tls_cipher_policy_1_2_strict_with_1_3"}, nonempty = false, nullElements = false, emptyString = true, noTrim = false) - public java.lang.String securityPolicyType; - @Param(required = false) public java.util.List systemTags; diff --git a/sdk/src/main/java/org/zstack/sdk/CreateL2HardwareVxlanNetworkAction.java b/sdk/src/main/java/org/zstack/sdk/CreateL2HardwareVxlanNetworkAction.java index 712b4cf8d8b..a6e76ad2769 100644 --- a/sdk/src/main/java/org/zstack/sdk/CreateL2HardwareVxlanNetworkAction.java +++ b/sdk/src/main/java/org/zstack/sdk/CreateL2HardwareVxlanNetworkAction.java @@ -46,8 +46,8 @@ public Result throwExceptionIfError() { @Param(required = false) public java.lang.String type; - @Param(required = false, maxLength = 1024, nonempty = false, nullElements = false, emptyString = true, noTrim = false) - public java.lang.String vSwitchType; + @Param(required = false, validValues = {"LinuxBridge","OvsDpdk"}, maxLength = 1024, nonempty = false, nullElements = false, emptyString = true, noTrim = false) + public java.lang.String vSwitchType = "LinuxBridge"; @Param(required = false) public java.lang.String resourceUuid; diff --git a/sdk/src/main/java/org/zstack/sdk/CreateL2HardwareVxlanNetworkPoolAction.java b/sdk/src/main/java/org/zstack/sdk/CreateL2HardwareVxlanNetworkPoolAction.java index 80f60c50280..2ebce67d315 100644 --- a/sdk/src/main/java/org/zstack/sdk/CreateL2HardwareVxlanNetworkPoolAction.java +++ b/sdk/src/main/java/org/zstack/sdk/CreateL2HardwareVxlanNetworkPoolAction.java @@ -43,8 +43,8 @@ public Result throwExceptionIfError() { @Param(required = false) public java.lang.String type; - @Param(required = false, maxLength = 1024, nonempty = false, nullElements = false, emptyString = true, noTrim = false) - public java.lang.String vSwitchType; + @Param(required = false, validValues = {"LinuxBridge","OvsDpdk"}, maxLength = 1024, nonempty = false, nullElements = false, emptyString = true, noTrim = false) + public java.lang.String vSwitchType = "LinuxBridge"; @Param(required = false) public java.lang.String resourceUuid; diff --git a/sdk/src/main/java/org/zstack/sdk/CreateL2NoVlanNetworkAction.java b/sdk/src/main/java/org/zstack/sdk/CreateL2NoVlanNetworkAction.java index 8017649fd03..2573ecc076c 100644 --- a/sdk/src/main/java/org/zstack/sdk/CreateL2NoVlanNetworkAction.java +++ b/sdk/src/main/java/org/zstack/sdk/CreateL2NoVlanNetworkAction.java @@ -40,8 +40,8 @@ public Result throwExceptionIfError() { @Param(required = false) public java.lang.String type; - @Param(required = false, maxLength = 1024, nonempty = false, nullElements = false, emptyString = true, noTrim = false) - public java.lang.String vSwitchType; + @Param(required = false, validValues = {"LinuxBridge","OvsDpdk"}, maxLength = 1024, nonempty = false, nullElements = false, emptyString = true, noTrim = false) + public java.lang.String vSwitchType = "LinuxBridge"; @Param(required = false) public java.lang.String resourceUuid; diff --git a/sdk/src/main/java/org/zstack/sdk/CreateL2VlanNetworkAction.java b/sdk/src/main/java/org/zstack/sdk/CreateL2VlanNetworkAction.java index 9945e56b087..d4d3f6126e0 100644 --- a/sdk/src/main/java/org/zstack/sdk/CreateL2VlanNetworkAction.java +++ b/sdk/src/main/java/org/zstack/sdk/CreateL2VlanNetworkAction.java @@ -43,8 +43,8 @@ public Result throwExceptionIfError() { @Param(required = false) public java.lang.String type; - @Param(required = false, maxLength = 1024, nonempty = false, nullElements = false, emptyString = true, noTrim = false) - public java.lang.String vSwitchType; + @Param(required = false, validValues = {"LinuxBridge","OvsDpdk"}, maxLength = 1024, nonempty = false, nullElements = false, emptyString = true, noTrim = false) + public java.lang.String vSwitchType = "LinuxBridge"; @Param(required = false) public java.lang.String resourceUuid; diff --git a/sdk/src/main/java/org/zstack/sdk/CreateL2VxlanNetworkAction.java b/sdk/src/main/java/org/zstack/sdk/CreateL2VxlanNetworkAction.java index cc8877e5472..3b851fa4dec 100644 --- a/sdk/src/main/java/org/zstack/sdk/CreateL2VxlanNetworkAction.java +++ b/sdk/src/main/java/org/zstack/sdk/CreateL2VxlanNetworkAction.java @@ -46,8 +46,8 @@ public Result throwExceptionIfError() { @Param(required = false) public java.lang.String type; - @Param(required = false, maxLength = 1024, nonempty = false, nullElements = false, emptyString = true, noTrim = false) - public java.lang.String vSwitchType; + @Param(required = false, validValues = {"LinuxBridge","OvsDpdk"}, maxLength = 1024, nonempty = false, nullElements = false, emptyString = true, noTrim = false) + public java.lang.String vSwitchType = "LinuxBridge"; @Param(required = false) public java.lang.String resourceUuid; diff --git a/sdk/src/main/java/org/zstack/sdk/CreateL2VxlanNetworkPoolAction.java b/sdk/src/main/java/org/zstack/sdk/CreateL2VxlanNetworkPoolAction.java index 99c850cec5a..2555a3e330e 100644 --- a/sdk/src/main/java/org/zstack/sdk/CreateL2VxlanNetworkPoolAction.java +++ b/sdk/src/main/java/org/zstack/sdk/CreateL2VxlanNetworkPoolAction.java @@ -40,8 +40,8 @@ public Result throwExceptionIfError() { @Param(required = false) public java.lang.String type; - @Param(required = false, maxLength = 1024, nonempty = false, nullElements = false, emptyString = true, noTrim = false) - public java.lang.String vSwitchType; + @Param(required = false, validValues = {"LinuxBridge","OvsDpdk"}, maxLength = 1024, nonempty = false, nullElements = false, emptyString = true, noTrim = false) + public java.lang.String vSwitchType = "LinuxBridge"; @Param(required = false) public java.lang.String resourceUuid; diff --git a/sdk/src/main/java/org/zstack/sdk/CreateRootVolumeTemplateFromRootVolumeAction.java b/sdk/src/main/java/org/zstack/sdk/CreateRootVolumeTemplateFromRootVolumeAction.java index 3cadf5297b1..533ff5222b2 100644 --- a/sdk/src/main/java/org/zstack/sdk/CreateRootVolumeTemplateFromRootVolumeAction.java +++ b/sdk/src/main/java/org/zstack/sdk/CreateRootVolumeTemplateFromRootVolumeAction.java @@ -49,6 +49,9 @@ public Result throwExceptionIfError() { @Param(required = false) public java.lang.String architecture; + @Param(required = false) + public boolean virtio = true; + @Param(required = false) public java.lang.String resourceUuid; diff --git a/sdk/src/main/java/org/zstack/sdk/CreateRootVolumeTemplateFromVolumeSnapshotAction.java b/sdk/src/main/java/org/zstack/sdk/CreateRootVolumeTemplateFromVolumeSnapshotAction.java index 0ddda3550a9..d02410456a2 100644 --- a/sdk/src/main/java/org/zstack/sdk/CreateRootVolumeTemplateFromVolumeSnapshotAction.java +++ b/sdk/src/main/java/org/zstack/sdk/CreateRootVolumeTemplateFromVolumeSnapshotAction.java @@ -50,7 +50,7 @@ public Result throwExceptionIfError() { public boolean system = false; @Param(required = false) - public boolean virtio = false; + public boolean virtio = true; @Param(required = false) public java.lang.String resourceUuid; diff --git a/sdk/src/main/java/org/zstack/sdk/UpdateImageAction.java b/sdk/src/main/java/org/zstack/sdk/UpdateImageAction.java index bb3cb90a464..50a3640cb4d 100644 --- a/sdk/src/main/java/org/zstack/sdk/UpdateImageAction.java +++ b/sdk/src/main/java/org/zstack/sdk/UpdateImageAction.java @@ -53,7 +53,7 @@ public Result throwExceptionIfError() { public java.lang.String architecture; @Param(required = false, nonempty = false, nullElements = false, emptyString = true, noTrim = false) - public boolean virtio = false; + public java.lang.Boolean virtio; @Param(required = false) public java.util.List systemTags; diff --git a/testlib/src/main/java/org/zstack/testlib/ApiHelper.groovy b/testlib/src/main/java/org/zstack/testlib/ApiHelper.groovy index e45ed459a22..39f33d59bb0 100644 --- a/testlib/src/main/java/org/zstack/testlib/ApiHelper.groovy +++ b/testlib/src/main/java/org/zstack/testlib/ApiHelper.groovy @@ -17324,6 +17324,33 @@ abstract class ApiHelper { } + def getLicenseRecords(@DelegatesTo(strategy = Closure.OWNER_FIRST, value = org.zstack.sdk.GetLicenseRecordsAction.class) Closure c) { + def a = new org.zstack.sdk.GetLicenseRecordsAction() + + 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 getLocalRaidPhysicalDriveSmart(@DelegatesTo(strategy = Closure.OWNER_FIRST, value = org.zstack.sdk.GetLocalRaidPhysicalDriveSmartAction.class) Closure c) { def a = new org.zstack.sdk.GetLocalRaidPhysicalDriveSmartAction() a.sessionId = Test.currentEnvSpec?.session?.uuid @@ -17432,6 +17459,60 @@ abstract class ApiHelper { } + def getManagementNodeArch(@DelegatesTo(strategy = Closure.OWNER_FIRST, value = org.zstack.sdk.GetManagementNodeArchAction.class) Closure c) { + def a = new org.zstack.sdk.GetManagementNodeArchAction() + + 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 getManagementNodeOS(@DelegatesTo(strategy = Closure.OWNER_FIRST, value = org.zstack.sdk.GetManagementNodeOSAction.class) Closure c) { + def a = new org.zstack.sdk.GetManagementNodeOSAction() + + 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 getMdevDeviceCandidates(@DelegatesTo(strategy = Closure.OWNER_FIRST, value = org.zstack.sdk.GetMdevDeviceCandidatesAction.class) Closure c) { def a = new org.zstack.sdk.GetMdevDeviceCandidatesAction() a.sessionId = Test.currentEnvSpec?.session?.uuid @@ -18512,6 +18593,33 @@ abstract class ApiHelper { } + def getUploadImageJobDetails(@DelegatesTo(strategy = Closure.OWNER_FIRST, value = org.zstack.sdk.GetUploadImageJobDetailsAction.class) Closure c) { + def a = new org.zstack.sdk.GetUploadImageJobDetailsAction() + 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 getUsbDeviceCandidatesForAttachingVm(@DelegatesTo(strategy = Closure.OWNER_FIRST, value = org.zstack.sdk.GetUsbDeviceCandidatesForAttachingVmAction.class) Closure c) { def a = new org.zstack.sdk.GetUsbDeviceCandidatesForAttachingVmAction() a.sessionId = Test.currentEnvSpec?.session?.uuid @@ -23657,33 +23765,6 @@ abstract class ApiHelper { } - def getLicenseRecords(@DelegatesTo(strategy = Closure.OWNER_FIRST, value = org.zstack.sdk.GetLicenseRecordsAction.class) Closure c) { - def a = new org.zstack.sdk.GetLicenseRecordsAction() - - 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 queryLoadBalancer(@DelegatesTo(strategy = Closure.OWNER_FIRST, value = org.zstack.sdk.QueryLoadBalancerAction.class) Closure c) { def a = new org.zstack.sdk.QueryLoadBalancerAction() a.sessionId = Test.currentEnvSpec?.session?.uuid