diff --git a/compute/src/main/java/org/zstack/compute/allocator/AbstractHostAllocatorStrategyFactory.java b/compute/src/main/java/org/zstack/compute/allocator/AbstractHostAllocatorStrategyFactory.java index 8117e0afaa2..0930509e396 100755 --- a/compute/src/main/java/org/zstack/compute/allocator/AbstractHostAllocatorStrategyFactory.java +++ b/compute/src/main/java/org/zstack/compute/allocator/AbstractHostAllocatorStrategyFactory.java @@ -1,7 +1,14 @@ package org.zstack.compute.allocator; import org.zstack.header.Component; -import org.zstack.header.allocator.*; +import org.zstack.header.allocator.AllocateHostMsg; +import org.zstack.header.allocator.DesignatedAllocateHostMsg; +import org.zstack.header.allocator.HostAllocatorConstant; +import org.zstack.header.allocator.HostAllocatorSpec; +import org.zstack.header.allocator.HostAllocatorStrategy; +import org.zstack.header.allocator.HostAllocatorStrategyFactory; +import org.zstack.header.allocator.HostAllocatorStrategyType; +import org.zstack.header.allocator.HostSortorStrategy; import java.util.ArrayList; import java.util.List; diff --git a/compute/src/main/java/org/zstack/compute/allocator/AttachedL2NetworkAllocatorFlow.java b/compute/src/main/java/org/zstack/compute/allocator/AttachedL2NetworkAllocatorFlow.java index 4ff56bb51ac..ea65d528d33 100644 --- a/compute/src/main/java/org/zstack/compute/allocator/AttachedL2NetworkAllocatorFlow.java +++ b/compute/src/main/java/org/zstack/compute/allocator/AttachedL2NetworkAllocatorFlow.java @@ -11,12 +11,21 @@ import org.zstack.header.allocator.AbstractHostAllocatorFlow; import org.zstack.header.host.HostVO; import org.zstack.header.host.HostVO_; -import org.zstack.header.network.l2.*; +import org.zstack.header.network.l2.L2NetworkAttachStatus; +import org.zstack.header.network.l2.L2NetworkClusterRefVO; +import org.zstack.header.network.l2.L2NetworkHostRefVO; +import org.zstack.header.network.l2.L2NetworkHostRefVO_; import org.zstack.header.network.l3.L3NetworkInventory; import javax.persistence.Tuple; import javax.persistence.TypedQuery; -import java.util.*; +import java.util.ArrayList; +import java.util.Collection; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; import java.util.stream.Collectors; import org.zstack.utils.logging.CLogger; diff --git a/compute/src/main/java/org/zstack/compute/allocator/AttachedVolumePrimaryStorageAllocatorFlow.java b/compute/src/main/java/org/zstack/compute/allocator/AttachedVolumePrimaryStorageAllocatorFlow.java index e9ffde6e721..215ab651d5c 100755 --- a/compute/src/main/java/org/zstack/compute/allocator/AttachedVolumePrimaryStorageAllocatorFlow.java +++ b/compute/src/main/java/org/zstack/compute/allocator/AttachedVolumePrimaryStorageAllocatorFlow.java @@ -18,7 +18,12 @@ import org.zstack.utils.CollectionUtils; import org.zstack.utils.function.Function; -import java.util.*; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; import static org.zstack.utils.clouderrorcode.CloudOperationsErrorCode.*; /** diff --git a/compute/src/main/java/org/zstack/compute/allocator/DesignatedHostAllocatorStrategyFactory.java b/compute/src/main/java/org/zstack/compute/allocator/DesignatedHostAllocatorStrategyFactory.java index 3442f493018..79c121c01ba 100755 --- a/compute/src/main/java/org/zstack/compute/allocator/DesignatedHostAllocatorStrategyFactory.java +++ b/compute/src/main/java/org/zstack/compute/allocator/DesignatedHostAllocatorStrategyFactory.java @@ -1,6 +1,10 @@ package org.zstack.compute.allocator; -import org.zstack.header.allocator.*; +import org.zstack.header.allocator.AllocateHostMsg; +import org.zstack.header.allocator.DesignatedAllocateHostMsg; +import org.zstack.header.allocator.HostAllocatorConstant; +import org.zstack.header.allocator.HostAllocatorSpec; +import org.zstack.header.allocator.HostAllocatorStrategyType; public class DesignatedHostAllocatorStrategyFactory extends AbstractHostAllocatorStrategyFactory { private static final HostAllocatorStrategyType type = new HostAllocatorStrategyType(HostAllocatorConstant.DESIGNATED_HOST_ALLOCATOR_STRATEGY_TYPE, false); diff --git a/compute/src/main/java/org/zstack/compute/allocator/HostAllocatorManagerImpl.java b/compute/src/main/java/org/zstack/compute/allocator/HostAllocatorManagerImpl.java index a6598082004..a1991f81f00 100755 --- a/compute/src/main/java/org/zstack/compute/allocator/HostAllocatorManagerImpl.java +++ b/compute/src/main/java/org/zstack/compute/allocator/HostAllocatorManagerImpl.java @@ -15,23 +15,66 @@ import org.zstack.core.thread.ThreadFacade; import org.zstack.core.workflow.FlowChainBuilder; import org.zstack.header.AbstractService; -import org.zstack.header.allocator.*; +import org.zstack.header.allocator.APIGetCpuMemoryCapacityMsg; +import org.zstack.header.allocator.APIGetCpuMemoryCapacityReply; +import org.zstack.header.allocator.APIGetHostAllocatorStrategiesMsg; +import org.zstack.header.allocator.APIGetHostAllocatorStrategiesReply; +import org.zstack.header.allocator.AllocateHostDryRunReply; +import org.zstack.header.allocator.AllocateHostMsg; +import org.zstack.header.allocator.AllocateHostReply; +import org.zstack.header.allocator.BackupStorageAllocatorFilterExtensionPoint; +import org.zstack.header.allocator.CollectCapacityUnsupportedVmTypeExtensionPoint; +import org.zstack.header.allocator.DesignatedAllocateHostMsg; +import org.zstack.header.allocator.HostAllocatorConstant; +import org.zstack.header.allocator.HostAllocatorSpec; +import org.zstack.header.allocator.HostAllocatorStrategy; +import org.zstack.header.allocator.HostAllocatorStrategyExtensionPoint; +import org.zstack.header.allocator.HostAllocatorStrategyFactory; +import org.zstack.header.allocator.HostAllocatorStrategyType; +import org.zstack.header.allocator.HostCapacityOverProvisioningManager; +import org.zstack.header.allocator.HostCapacityStruct; +import org.zstack.header.allocator.HostCapacityVO; +import org.zstack.header.allocator.HostCpuOverProvisioningManager; +import org.zstack.header.allocator.HostSortorStrategy; +import org.zstack.header.allocator.ReportHostCapacityExtensionPoint; +import org.zstack.header.allocator.ReservedHostCapacity; +import org.zstack.header.allocator.ReturnHostCapacityMsg; +import org.zstack.header.allocator.UnableToReserveHostCapacityException; import org.zstack.header.allocator.datatypes.CpuMemoryCapacityData; import org.zstack.header.cluster.ClusterVO; import org.zstack.header.cluster.ClusterVO_; import org.zstack.header.cluster.ReportHostCapacityMessage; import org.zstack.header.core.Completion; import org.zstack.header.core.ReturnValueCompletion; -import org.zstack.header.core.workflow.*; +import org.zstack.header.core.workflow.Flow; +import org.zstack.header.core.workflow.FlowChain; +import org.zstack.header.core.workflow.FlowDoneHandler; +import org.zstack.header.core.workflow.FlowErrorHandler; +import org.zstack.header.core.workflow.FlowRollback; +import org.zstack.header.core.workflow.FlowTrigger; +import org.zstack.header.core.workflow.NoRollbackFlow; import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.exception.CloudRuntimeException; -import org.zstack.header.host.*; +import org.zstack.header.host.Host; +import org.zstack.header.host.HostAllocateExtensionPoint; +import org.zstack.header.host.HostInventory; +import org.zstack.header.host.HostState; +import org.zstack.header.host.HostStatus; +import org.zstack.header.host.HostVO; +import org.zstack.header.host.HostVO_; +import org.zstack.header.host.HypervisorType; +import org.zstack.header.host.RecalculateHostCapacityMsg; import org.zstack.header.image.APIGetCandidateBackupStorageForCreatingImageMsg; import org.zstack.header.image.APIGetCandidateBackupStorageForCreatingImageReply; import org.zstack.header.message.APIMessage; import org.zstack.header.message.Message; import org.zstack.header.message.MessageReply; -import org.zstack.header.storage.backup.*; +import org.zstack.header.storage.backup.BackupStorageInventory; +import org.zstack.header.storage.backup.BackupStorageState; +import org.zstack.header.storage.backup.BackupStorageStatus; +import org.zstack.header.storage.backup.BackupStorageVO; +import org.zstack.header.storage.backup.BackupStorageVO_; +import org.zstack.header.storage.backup.BackupStorageZoneRefVO; import org.zstack.header.storage.primary.PrimaryStorageType; import org.zstack.header.storage.primary.PrimaryStorageVO; import org.zstack.header.vm.VmAbnormalLifeCycleExtensionPoint; @@ -48,7 +91,13 @@ import javax.persistence.Tuple; import javax.persistence.TypedQuery; import java.text.DecimalFormat; -import java.util.*; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; import java.util.concurrent.Callable; import static org.zstack.core.Platform.operr; @@ -496,6 +545,7 @@ public void fail(ErrorCode errorCode) { String allocatedHosts = "HOST_CANDIDATES"; chain.setName("do-handle-allocate-host-flow"); + // DEBT: NoRollbackFlow — reason TBD chain.then(new NoRollbackFlow() { String __name__ = "allocate-host-candidates"; @@ -550,6 +600,7 @@ public void rollback(FlowRollback trigger, Map data) { } trigger.rollback(); } + // DEBT: NoRollbackFlow — in rollback }).then(new NoRollbackFlow() { @Override public void run(FlowTrigger trigger, Map data) { diff --git a/compute/src/main/java/org/zstack/compute/allocator/HostOsVersionAllocatorFlow.java b/compute/src/main/java/org/zstack/compute/allocator/HostOsVersionAllocatorFlow.java index 41fc0c0b3af..30ad9d5512f 100755 --- a/compute/src/main/java/org/zstack/compute/allocator/HostOsVersionAllocatorFlow.java +++ b/compute/src/main/java/org/zstack/compute/allocator/HostOsVersionAllocatorFlow.java @@ -8,13 +8,23 @@ import org.zstack.core.db.Q; import org.zstack.header.allocator.AbstractHostAllocatorFlow; import org.zstack.header.allocator.HostAllocatorConstant; -import org.zstack.header.host.*; +import org.zstack.header.host.HostAO; +import org.zstack.header.host.HostOperationSystem; +import org.zstack.header.host.HostVO; +import org.zstack.header.host.HostVO_; +import org.zstack.header.host.HypervisorFactory; +import org.zstack.header.host.HypervisorType; import org.zstack.header.vm.VmInstanceInventory; import org.zstack.header.vo.ResourceVO; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; -import java.util.*; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; import java.util.Map.Entry; import java.util.function.Function; import java.util.stream.Collectors; diff --git a/compute/src/main/java/org/zstack/compute/allocator/HostPrimaryStorageAllocatorFlow.java b/compute/src/main/java/org/zstack/compute/allocator/HostPrimaryStorageAllocatorFlow.java index c229cde82ad..14e3c7a7dc4 100755 --- a/compute/src/main/java/org/zstack/compute/allocator/HostPrimaryStorageAllocatorFlow.java +++ b/compute/src/main/java/org/zstack/compute/allocator/HostPrimaryStorageAllocatorFlow.java @@ -11,7 +11,18 @@ import org.zstack.header.allocator.AbstractHostAllocatorFlow; import org.zstack.header.allocator.HostAllocatorSpec; import org.zstack.header.host.HostVO; -import org.zstack.header.storage.primary.*; +import org.zstack.header.storage.primary.ImageCacheVO; +import org.zstack.header.storage.primary.ImageCacheVO_; +import org.zstack.header.storage.primary.PrimaryStorageCapacityVO; +import org.zstack.header.storage.primary.PrimaryStorageClusterRefVO; +import org.zstack.header.storage.primary.PrimaryStorageClusterRefVO_; +import org.zstack.header.storage.primary.PrimaryStorageHostRefVO; +import org.zstack.header.storage.primary.PrimaryStorageHostRefVO_; +import org.zstack.header.storage.primary.PrimaryStorageHostStatus; +import org.zstack.header.storage.primary.PrimaryStorageOverProvisioningManager; +import org.zstack.header.storage.primary.PrimaryStorageState; +import org.zstack.header.storage.primary.PrimaryStorageStatus; +import org.zstack.header.storage.primary.PrimaryStorageVO; import org.zstack.header.vm.VmInstanceConstant.VmOperation; import org.zstack.header.vo.ResourceVO; import org.zstack.utils.CollectionUtils; @@ -20,7 +31,13 @@ import javax.persistence.Tuple; import javax.persistence.TypedQuery; -import java.util.*; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; import java.util.stream.Collectors; import static org.zstack.utils.clouderrorcode.CloudOperationsErrorCode.*; diff --git a/compute/src/main/java/org/zstack/compute/allocator/HostSortorChain.java b/compute/src/main/java/org/zstack/compute/allocator/HostSortorChain.java index 28c36ff5d51..0e3698404a0 100644 --- a/compute/src/main/java/org/zstack/compute/allocator/HostSortorChain.java +++ b/compute/src/main/java/org/zstack/compute/allocator/HostSortorChain.java @@ -8,11 +8,21 @@ import org.zstack.core.errorcode.ErrorFacade; import org.zstack.core.workflow.FlowChainBuilder; import org.zstack.core.workflow.ShareFlow; -import org.zstack.header.allocator.*; +import org.zstack.header.allocator.AbstractHostSortorFlow; +import org.zstack.header.allocator.HostAllocatorConstant; +import org.zstack.header.allocator.HostAllocatorReserveExtensionPoint; +import org.zstack.header.allocator.HostAllocatorSpec; +import org.zstack.header.allocator.HostSortorStrategy; +import org.zstack.header.allocator.UnableToReserveHostCapacityException; import org.zstack.header.core.Completion; import org.zstack.header.core.WhileDoneCompletion; import org.zstack.header.core.ReturnValueCompletion; -import org.zstack.header.core.workflow.*; +import org.zstack.header.core.workflow.Flow; +import org.zstack.header.core.workflow.FlowChain; +import org.zstack.header.core.workflow.FlowDoneHandler; +import org.zstack.header.core.workflow.FlowErrorHandler; +import org.zstack.header.core.workflow.FlowRollback; +import org.zstack.header.core.workflow.FlowTrigger; import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.errorcode.ErrorCodeList; import org.zstack.header.host.HostInventory; diff --git a/compute/src/main/java/org/zstack/compute/allocator/ImageBackupStorageAllocatorFlow.java b/compute/src/main/java/org/zstack/compute/allocator/ImageBackupStorageAllocatorFlow.java index 0bdf96f01de..8c0904d3e32 100755 --- a/compute/src/main/java/org/zstack/compute/allocator/ImageBackupStorageAllocatorFlow.java +++ b/compute/src/main/java/org/zstack/compute/allocator/ImageBackupStorageAllocatorFlow.java @@ -16,7 +16,11 @@ import org.zstack.header.host.HostVO; import org.zstack.header.image.ImageBackupStorageRefInventory; import org.zstack.header.image.ImageStatus; -import org.zstack.header.storage.backup.*; +import org.zstack.header.storage.backup.BackupStorageStatus; +import org.zstack.header.storage.backup.BackupStorageVO; +import org.zstack.header.storage.backup.BackupStorageVO_; +import org.zstack.header.storage.backup.BackupStorageZoneRefVO; +import org.zstack.header.storage.backup.BackupStorageZoneRefVO_; import org.zstack.header.storage.primary.ImageCacheVO; import org.zstack.header.storage.primary.ImageCacheVO_; import org.zstack.header.storage.primary.PrimaryStorageClusterRefVO; diff --git a/compute/src/main/java/org/zstack/compute/allocator/LeastVmPreferredSortFlow.java b/compute/src/main/java/org/zstack/compute/allocator/LeastVmPreferredSortFlow.java index 1fb90dc1017..f633c09a501 100755 --- a/compute/src/main/java/org/zstack/compute/allocator/LeastVmPreferredSortFlow.java +++ b/compute/src/main/java/org/zstack/compute/allocator/LeastVmPreferredSortFlow.java @@ -12,7 +12,12 @@ import org.zstack.utils.logging.CLogger; import javax.persistence.Tuple; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; import java.util.stream.Collectors; /** diff --git a/compute/src/main/java/org/zstack/compute/allocator/QuotaAllocatorFlow.java b/compute/src/main/java/org/zstack/compute/allocator/QuotaAllocatorFlow.java index 4d9d469c796..a1f38d87e6c 100644 --- a/compute/src/main/java/org/zstack/compute/allocator/QuotaAllocatorFlow.java +++ b/compute/src/main/java/org/zstack/compute/allocator/QuotaAllocatorFlow.java @@ -20,7 +20,8 @@ import org.zstack.core.db.SimpleQuery; import org.zstack.header.host.*; import javax.persistence.TypedQuery; -import java.util.*; +import java.util.HashSet; +import java.util.Set; @Configurable(preConstruction = true, autowire = Autowire.BY_TYPE) diff --git a/compute/src/main/java/org/zstack/compute/allocator/StoppedVmAwareLeastVmPreferredSortFlow.java b/compute/src/main/java/org/zstack/compute/allocator/StoppedVmAwareLeastVmPreferredSortFlow.java index 216795e2a33..2d48deb0983 100644 --- a/compute/src/main/java/org/zstack/compute/allocator/StoppedVmAwareLeastVmPreferredSortFlow.java +++ b/compute/src/main/java/org/zstack/compute/allocator/StoppedVmAwareLeastVmPreferredSortFlow.java @@ -15,7 +15,10 @@ import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; import javax.persistence.Tuple; -import java.util.*; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; import java.util.stream.Collectors; @Configurable(preConstruction = true, autowire = Autowire.BY_TYPE) diff --git a/compute/src/main/java/org/zstack/compute/cluster/BaseClusterFactory.java b/compute/src/main/java/org/zstack/compute/cluster/BaseClusterFactory.java index 3788f3e4a19..9d8a1e23afb 100755 --- a/compute/src/main/java/org/zstack/compute/cluster/BaseClusterFactory.java +++ b/compute/src/main/java/org/zstack/compute/cluster/BaseClusterFactory.java @@ -4,7 +4,12 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Configurable; import org.zstack.core.db.DatabaseFacade; -import org.zstack.header.cluster.*; +import org.zstack.header.cluster.Cluster; +import org.zstack.header.cluster.ClusterConstant; +import org.zstack.header.cluster.ClusterFactory; +import org.zstack.header.cluster.ClusterType; +import org.zstack.header.cluster.ClusterVO; +import org.zstack.header.cluster.CreateClusterMessage; @Configurable(preConstruction = true, autowire = Autowire.BY_TYPE) public class BaseClusterFactory implements ClusterFactory { static final ClusterType type = new ClusterType(ClusterConstant.ZSTACK_CLUSTER_TYPE); diff --git a/compute/src/main/java/org/zstack/compute/cluster/ClusterApiInterceptor.java b/compute/src/main/java/org/zstack/compute/cluster/ClusterApiInterceptor.java index 5c6209a2cc8..eda080e4620 100755 --- a/compute/src/main/java/org/zstack/compute/cluster/ClusterApiInterceptor.java +++ b/compute/src/main/java/org/zstack/compute/cluster/ClusterApiInterceptor.java @@ -8,7 +8,14 @@ import org.zstack.header.apimediator.ApiMessageInterceptionException; import org.zstack.header.apimediator.ApiMessageInterceptor; import org.zstack.header.apimediator.StopRoutingException; -import org.zstack.header.cluster.*; +import org.zstack.header.cluster.APICreateClusterMsg; +import org.zstack.header.cluster.APIDeleteClusterEvent; +import org.zstack.header.cluster.APIDeleteClusterMsg; +import org.zstack.header.cluster.APIUpdateClusterOSMsg; +import org.zstack.header.cluster.ClusterConstant; +import org.zstack.header.cluster.ClusterMessage; +import org.zstack.header.cluster.ClusterVO; +import org.zstack.header.cluster.ClusterVO_; import org.zstack.header.host.HostState; import org.zstack.header.host.HostStatus; import org.zstack.header.host.HostVO; diff --git a/compute/src/main/java/org/zstack/compute/cluster/ClusterBase.java b/compute/src/main/java/org/zstack/compute/cluster/ClusterBase.java index 59becb09e23..89a7eea868b 100755 --- a/compute/src/main/java/org/zstack/compute/cluster/ClusterBase.java +++ b/compute/src/main/java/org/zstack/compute/cluster/ClusterBase.java @@ -19,11 +19,35 @@ import org.zstack.core.thread.SyncTaskChain; import org.zstack.core.thread.ThreadFacade; import org.zstack.core.workflow.FlowChainBuilder; -import org.zstack.header.cluster.*; +import org.zstack.header.cluster.APIChangeClusterStateEvent; +import org.zstack.header.cluster.APIChangeClusterStateMsg; +import org.zstack.header.cluster.APIDeleteClusterEvent; +import org.zstack.header.cluster.APIDeleteClusterMsg; +import org.zstack.header.cluster.APIUpdateClusterEvent; +import org.zstack.header.cluster.APIUpdateClusterMsg; +import org.zstack.header.cluster.APIUpdateClusterOSEvent; +import org.zstack.header.cluster.APIUpdateClusterOSMsg; +import org.zstack.header.cluster.ChangeClusterStateMsg; +import org.zstack.header.cluster.ChangeClusterStateReply; +import org.zstack.header.cluster.Cluster; +import org.zstack.header.cluster.ClusterDeletionMsg; +import org.zstack.header.cluster.ClusterDeletionReply; +import org.zstack.header.cluster.ClusterException; +import org.zstack.header.cluster.ClusterInventory; +import org.zstack.header.cluster.ClusterState; +import org.zstack.header.cluster.ClusterStateEvent; +import org.zstack.header.cluster.ClusterVO; +import org.zstack.header.cluster.UpdateClusterOSMsg; +import org.zstack.header.cluster.UpdateClusterOSReply; +import org.zstack.header.cluster.UpdateClusterOSStruct; import org.zstack.header.core.Completion; import org.zstack.header.core.WhileDoneCompletion; import org.zstack.header.core.NopeCompletion; -import org.zstack.header.core.workflow.*; +import org.zstack.header.core.workflow.FlowChain; +import org.zstack.header.core.workflow.FlowDoneHandler; +import org.zstack.header.core.workflow.FlowErrorHandler; +import org.zstack.header.core.workflow.FlowTrigger; +import org.zstack.header.core.workflow.NoRollbackFlow; import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.errorcode.ErrorCodeList; import org.zstack.header.errorcode.SysErrors; @@ -180,6 +204,7 @@ protected void handle(final APIDeleteClusterMsg msg) { FlowChain chain = FlowChainBuilder.newSimpleFlowChain(); chain.setName(String.format("delete-cluster-%s", msg.getUuid())); if (msg.getDeletionMode() == APIDeleteMessage.DeletionMode.Permissive) { + // DEBT: NoRollbackFlow — reason TBD chain.then(new NoRollbackFlow() { @Override public void run(final FlowTrigger trigger, Map data) { @@ -195,6 +220,7 @@ public void fail(ErrorCode errorCode) { } }); } + // DEBT: NoRollbackFlow — reason TBD }).then(new NoRollbackFlow() { @Override public void run(final FlowTrigger trigger, Map data) { @@ -212,6 +238,7 @@ public void fail(ErrorCode errorCode) { } }); } else { + // DEBT: NoRollbackFlow — reason TBD chain.then(new NoRollbackFlow() { @Override public void run(final FlowTrigger trigger, Map data) { diff --git a/compute/src/main/java/org/zstack/compute/cluster/ClusterCascadeExtension.java b/compute/src/main/java/org/zstack/compute/cluster/ClusterCascadeExtension.java index b994678181e..f84a1e5dcd7 100755 --- a/compute/src/main/java/org/zstack/compute/cluster/ClusterCascadeExtension.java +++ b/compute/src/main/java/org/zstack/compute/cluster/ClusterCascadeExtension.java @@ -1,13 +1,21 @@ package org.zstack.compute.cluster; import org.springframework.beans.factory.annotation.Autowired; -import org.zstack.core.cascade.*; +import org.zstack.core.cascade.AbstractAsyncCascadeExtension; +import org.zstack.core.cascade.CascadeAction; +import org.zstack.core.cascade.CascadeConstant; +import org.zstack.core.cascade.CascadeException; import org.zstack.core.cloudbus.CloudBus; import org.zstack.core.cloudbus.CloudBusListCallBack; import org.zstack.core.db.DatabaseFacade; import org.zstack.core.db.SimpleQuery; import org.zstack.core.errorcode.ErrorFacade; -import org.zstack.header.cluster.*; +import org.zstack.header.cluster.ClusterConstant; +import org.zstack.header.cluster.ClusterDeletionMsg; +import org.zstack.header.cluster.ClusterException; +import org.zstack.header.cluster.ClusterInventory; +import org.zstack.header.cluster.ClusterVO; +import org.zstack.header.cluster.ClusterVO_; import org.zstack.header.core.Completion; import org.zstack.header.message.MessageReply; import org.zstack.header.zone.ZoneInventory; diff --git a/compute/src/main/java/org/zstack/compute/cluster/ClusterExtensionPointEmitter.java b/compute/src/main/java/org/zstack/compute/cluster/ClusterExtensionPointEmitter.java index 0492a66741f..d24f6944647 100755 --- a/compute/src/main/java/org/zstack/compute/cluster/ClusterExtensionPointEmitter.java +++ b/compute/src/main/java/org/zstack/compute/cluster/ClusterExtensionPointEmitter.java @@ -3,7 +3,15 @@ import org.springframework.beans.factory.annotation.Autowired; import org.zstack.core.componentloader.PluginRegistry; import org.zstack.header.Component; -import org.zstack.header.cluster.*; +import org.zstack.header.cluster.ClusterChangeStateExtensionPoint; +import org.zstack.header.cluster.ClusterDeleteExtensionPoint; +import org.zstack.header.cluster.ClusterException; +import org.zstack.header.cluster.ClusterInventory; +import org.zstack.header.cluster.ClusterState; +import org.zstack.header.cluster.ClusterStateEvent; +import org.zstack.header.cluster.ClusterUpdateOSExtensionPoint; +import org.zstack.header.cluster.ClusterVO; +import org.zstack.header.cluster.UpdateClusterOSStruct; import org.zstack.header.errorcode.ErrorCode; import org.zstack.utils.CollectionUtils; import org.zstack.utils.Utils; diff --git a/compute/src/main/java/org/zstack/compute/cluster/ClusterExtensionToZone.java b/compute/src/main/java/org/zstack/compute/cluster/ClusterExtensionToZone.java index 9f9cf4a0c78..ea810c6ea97 100755 --- a/compute/src/main/java/org/zstack/compute/cluster/ClusterExtensionToZone.java +++ b/compute/src/main/java/org/zstack/compute/cluster/ClusterExtensionToZone.java @@ -5,9 +5,19 @@ import org.zstack.core.db.DatabaseFacade; import org.zstack.core.db.SimpleQuery; import org.zstack.core.db.SimpleQuery.Op; -import org.zstack.header.cluster.*; +import org.zstack.header.cluster.ChangeClusterStateMsg; +import org.zstack.header.cluster.ChangeClusterStateReply; +import org.zstack.header.cluster.ClusterConstant; +import org.zstack.header.cluster.ClusterException; +import org.zstack.header.cluster.ClusterStateEvent; +import org.zstack.header.cluster.ClusterVO; +import org.zstack.header.cluster.ClusterVO_; import org.zstack.header.message.MessageReply; -import org.zstack.header.zone.*; +import org.zstack.header.zone.ZoneChangeStateExtensionPoint; +import org.zstack.header.zone.ZoneException; +import org.zstack.header.zone.ZoneInventory; +import org.zstack.header.zone.ZoneState; +import org.zstack.header.zone.ZoneStateEvent; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; diff --git a/compute/src/main/java/org/zstack/compute/cluster/ClusterManagerImpl.java b/compute/src/main/java/org/zstack/compute/cluster/ClusterManagerImpl.java index 306d73e6088..37978d10399 100755 --- a/compute/src/main/java/org/zstack/compute/cluster/ClusterManagerImpl.java +++ b/compute/src/main/java/org/zstack/compute/cluster/ClusterManagerImpl.java @@ -10,7 +10,21 @@ import org.zstack.core.db.DbEntityLister; import org.zstack.core.defer.Deferred; import org.zstack.header.AbstractService; -import org.zstack.header.cluster.*; +import org.zstack.header.cluster.APICreateClusterEvent; +import org.zstack.header.cluster.APICreateClusterMsg; +import org.zstack.header.cluster.Cluster; +import org.zstack.header.cluster.ClusterConstant; +import org.zstack.header.cluster.ClusterDeletionMsg; +import org.zstack.header.cluster.ClusterEO; +import org.zstack.header.cluster.ClusterFactory; +import org.zstack.header.cluster.ClusterInventory; +import org.zstack.header.cluster.ClusterMessage; +import org.zstack.header.cluster.ClusterState; +import org.zstack.header.cluster.ClusterType; +import org.zstack.header.cluster.ClusterVO; +import org.zstack.header.cluster.CreateClusterMessage; +import org.zstack.header.cluster.CreateClusterMsg; +import org.zstack.header.cluster.CreateClusterReply; import org.zstack.header.core.ReturnValueCompletion; import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.exception.CloudRuntimeException; @@ -24,7 +38,11 @@ import org.zstack.utils.data.FieldPrinter; import org.zstack.utils.logging.CLogger; -import java.util.*; +import java.util.Collections; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Map; +import java.util.Set; public class ClusterManagerImpl extends AbstractService implements ClusterManager { private static final CLogger logger = Utils.getLogger(ClusterManager.class); diff --git a/compute/src/main/java/org/zstack/compute/cluster/arch/ClusterResourceConfigInitializerImpl.java b/compute/src/main/java/org/zstack/compute/cluster/arch/ClusterResourceConfigInitializerImpl.java index 03b1f176837..e697683b14d 100644 --- a/compute/src/main/java/org/zstack/compute/cluster/arch/ClusterResourceConfigInitializerImpl.java +++ b/compute/src/main/java/org/zstack/compute/cluster/arch/ClusterResourceConfigInitializerImpl.java @@ -11,13 +11,18 @@ import org.zstack.header.cluster.ClusterVO_; import org.zstack.header.exception.CloudRuntimeException; import org.zstack.header.managementnode.PrepareDbInitialValueExtensionPoint; -import org.zstack.resourceconfig.*; +import org.zstack.resourceconfig.ResourceConfig; +import org.zstack.resourceconfig.ResourceConfigFacade; import org.zstack.utils.BeanUtils; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; import javax.persistence.Tuple; -import java.util.*; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; /** * @author Lei Liu lei.liu@zstack.io diff --git a/compute/src/main/java/org/zstack/compute/host/HostApiInterceptor.java b/compute/src/main/java/org/zstack/compute/host/HostApiInterceptor.java index 0bbbe166d1c..3f03fcb3d58 100755 --- a/compute/src/main/java/org/zstack/compute/host/HostApiInterceptor.java +++ b/compute/src/main/java/org/zstack/compute/host/HostApiInterceptor.java @@ -11,7 +11,23 @@ import org.zstack.header.apimediator.ApiMessageInterceptionException; import org.zstack.header.apimediator.ApiMessageInterceptor; import org.zstack.header.apimediator.StopRoutingException; -import org.zstack.header.host.*; +import org.zstack.header.host.APIAddHostMsg; +import org.zstack.header.host.APIChangeHostStateMsg; +import org.zstack.header.host.APICreateHostNetworkServiceTypeMsg; +import org.zstack.header.host.APIDeleteHostEvent; +import org.zstack.header.host.APIDeleteHostMsg; +import org.zstack.header.host.APIDeleteHostNetworkServiceTypeMsg; +import org.zstack.header.host.APIGetHostWebSshUrlMsg; +import org.zstack.header.host.APIUpdateHostMsg; +import org.zstack.header.host.APIUpdateHostNetworkServiceTypeMsg; +import org.zstack.header.host.HostConstant; +import org.zstack.header.host.HostMessage; +import org.zstack.header.host.HostNetworkLabelVO; +import org.zstack.header.host.HostNetworkLabelVO_; +import org.zstack.header.host.HostStateEvent; +import org.zstack.header.host.HostStatus; +import org.zstack.header.host.HostVO; +import org.zstack.header.host.HostVO_; import org.zstack.header.message.APIMessage; import org.zstack.utils.ShellResult; import org.zstack.utils.ShellUtils; diff --git a/compute/src/main/java/org/zstack/compute/host/HostBase.java b/compute/src/main/java/org/zstack/compute/host/HostBase.java index 919d92631fc..e54e498044a 100755 --- a/compute/src/main/java/org/zstack/compute/host/HostBase.java +++ b/compute/src/main/java/org/zstack/compute/host/HostBase.java @@ -19,7 +19,10 @@ import org.zstack.core.db.Q; import org.zstack.core.db.SQL; import org.zstack.core.errorcode.ErrorFacade; -import org.zstack.core.thread.*; +import org.zstack.core.thread.ChainTask; +import org.zstack.core.thread.SingleFlightTask; +import org.zstack.core.thread.SyncTaskChain; +import org.zstack.core.thread.ThreadFacade; import org.zstack.core.workflow.FlowChainBuilder; import org.zstack.core.workflow.ShareFlow; import org.zstack.header.allocator.AllocationScene; @@ -28,13 +31,88 @@ import org.zstack.header.core.NoErrorCompletion; import org.zstack.header.core.ReturnValueCompletion; import org.zstack.header.core.WhileDoneCompletion; -import org.zstack.header.core.workflow.*; +import org.zstack.header.core.workflow.Flow; +import org.zstack.header.core.workflow.FlowChain; +import org.zstack.header.core.workflow.FlowDoneHandler; +import org.zstack.header.core.workflow.FlowErrorHandler; +import org.zstack.header.core.workflow.FlowFinallyHandler; +import org.zstack.header.core.workflow.FlowTrigger; +import org.zstack.header.core.workflow.NoRollbackFlow; import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.errorcode.ErrorCodeList; import org.zstack.header.errorcode.OperationFailureException; import org.zstack.header.errorcode.SysErrors; import org.zstack.header.exception.CloudRuntimeException; -import org.zstack.header.host.*; +import org.zstack.header.host.APIChangeHostStateEvent; +import org.zstack.header.host.APIChangeHostStateMsg; +import org.zstack.header.host.APIDeleteHostEvent; +import org.zstack.header.host.APIDeleteHostMsg; +import org.zstack.header.host.APIGetHostPowerStatusEvent; +import org.zstack.header.host.APIGetHostPowerStatusMsg; +import org.zstack.header.host.APIPowerOnHostEvent; +import org.zstack.header.host.APIPowerOnHostMsg; +import org.zstack.header.host.APIPowerResetHostEvent; +import org.zstack.header.host.APIPowerResetHostMsg; +import org.zstack.header.host.APIReconnectHostEvent; +import org.zstack.header.host.APIReconnectHostMsg; +import org.zstack.header.host.APIShutdownHostEvent; +import org.zstack.header.host.APIShutdownHostMsg; +import org.zstack.header.host.APIUpdateHostEvent; +import org.zstack.header.host.APIUpdateHostIpmiEvent; +import org.zstack.header.host.APIUpdateHostIpmiMsg; +import org.zstack.header.host.APIUpdateHostMsg; +import org.zstack.header.host.AfterChangeHostStatusExtensionPoint; +import org.zstack.header.host.ChangeHostConnectionStateMsg; +import org.zstack.header.host.ChangeHostConnectionStateReply; +import org.zstack.header.host.ChangeHostStateMsg; +import org.zstack.header.host.ChangeHostStateReply; +import org.zstack.header.host.ChangeHostStatusMsg; +import org.zstack.header.host.ChangeHostStatusReply; +import org.zstack.header.host.ConnectHostInfo; +import org.zstack.header.host.ConnectHostMsg; +import org.zstack.header.host.ConnectHostReply; +import org.zstack.header.host.GetHostPowerStatusMsg; +import org.zstack.header.host.GetHostPowerStatusReply; +import org.zstack.header.host.Host; +import org.zstack.header.host.HostAfterConnectedExtensionPoint; +import org.zstack.header.host.HostAfterMaintenanceExtensionPoint; +import org.zstack.header.host.HostBaseExtensionFactory; +import org.zstack.header.host.HostCanonicalEvents; +import org.zstack.header.host.HostConstant; +import org.zstack.header.host.HostDeletionMsg; +import org.zstack.header.host.HostDeletionReply; +import org.zstack.header.host.HostErrors; +import org.zstack.header.host.HostException; +import org.zstack.header.host.HostInventory; +import org.zstack.header.host.HostIpmiInventory; +import org.zstack.header.host.HostIpmiVO; +import org.zstack.header.host.HostMaintenanceExtensionPoint; +import org.zstack.header.host.HostMaintenancePolicyExtensionPoint; +import org.zstack.header.host.HostPowerManagementMethod; +import org.zstack.header.host.HostPowerStatus; +import org.zstack.header.host.HostState; +import org.zstack.header.host.HostStateEvent; +import org.zstack.header.host.HostStatus; +import org.zstack.header.host.HostStatusEvent; +import org.zstack.header.host.HostVO; +import org.zstack.header.host.HostVO_; +import org.zstack.header.host.HypervisorType; +import org.zstack.header.host.OrderVmBeforeMigrationDuringHostMaintenanceExtensionPoint; +import org.zstack.header.host.PingHostMsg; +import org.zstack.header.host.PingHostReply; +import org.zstack.header.host.PowerOnHostMsg; +import org.zstack.header.host.PowerOnHostReply; +import org.zstack.header.host.RebootHostMsg; +import org.zstack.header.host.RebootHostReply; +import org.zstack.header.host.RecalculateHostCapacityMsg; +import org.zstack.header.host.ReconnectHostMsg; +import org.zstack.header.host.ReconnectHostReply; +import org.zstack.header.host.ScanVmPortMsg; +import org.zstack.header.host.ScanVmPortReply; +import org.zstack.header.host.ShutdownHostMsg; +import org.zstack.header.host.ShutdownHostReply; +import org.zstack.header.host.UpdateHostOSMsg; +import org.zstack.header.host.UpdateHostOSReply; import org.zstack.header.host.HostCanonicalEvents.HostDeletedData; import org.zstack.header.host.HostCanonicalEvents.HostStatusChangedData; import org.zstack.header.host.HostErrors.Opaque; @@ -45,14 +123,31 @@ import org.zstack.header.message.MessageReply; import org.zstack.header.tag.SystemTagVO; import org.zstack.header.tag.SystemTagVO_; -import org.zstack.header.vm.*; +import org.zstack.header.vm.MigrateVmMsg; +import org.zstack.header.vm.StopVmInstanceMsg; +import org.zstack.header.vm.VmInstanceConstant; +import org.zstack.header.vm.VmInstanceState; +import org.zstack.header.vm.VmInstanceVO; +import org.zstack.header.vm.VmInstanceVO_; +import org.zstack.header.vm.VmTracerCanonicalEvents; import org.zstack.tag.SystemTagCreator; -import org.zstack.utils.*; +import org.zstack.utils.CollectionUtils; +import org.zstack.utils.DebugUtils; +import org.zstack.utils.Utils; import org.zstack.utils.data.Pair; import org.zstack.utils.function.ForEachFunction; import org.zstack.utils.logging.CLogger; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import java.util.Set; import java.util.concurrent.TimeUnit; import java.util.function.Consumer; @@ -392,6 +487,7 @@ protected void maintenanceHook(ChangeHostStateMsg changeHostStateMsg, final Comp chain.then(new ShareFlow() { @Override public void setup() { + // DEBT: NoRollbackFlow — in maintenanceHook flow(new NoRollbackFlow() { String __name__ = "try-migrate-vm"; @@ -477,6 +573,7 @@ public void done(ErrorCodeList errorCodeList) { } }); + // DEBT: NoRollbackFlow — reason TBD flow(new NoRollbackFlow() { String __name__ = "stop-vm-not-migrated"; @@ -530,6 +627,7 @@ public void done(ErrorCodeList errorCodeList) { } }); + // DEBT: NoRollbackFlow — in stopFailedToMigrateVms flow(new NoRollbackFlow() { String __name__ = "run-extension-point-after-maintenance"; @@ -619,6 +717,7 @@ private void deleteHostByApiMessage(APIDeleteHostMsg msg) { FlowChain chain = FlowChainBuilder.newSimpleFlowChain(); chain.setName(String.format("delete-host-%s", msg.getUuid())); if (msg.getDeletionMode() == APIDeleteMessage.DeletionMode.Permissive) { + // DEBT: NoRollbackFlow — in deleteHostByApiMessage chain.then(new NoRollbackFlow() { @Override public void run(final FlowTrigger trigger, Map data) { @@ -634,6 +733,7 @@ public void fail(ErrorCode errorCode) { } }); } + // DEBT: NoRollbackFlow — in deleteHostByApiMessage }).then(new NoRollbackFlow() { @Override public void run(final FlowTrigger trigger, Map data) { @@ -651,6 +751,7 @@ public void fail(ErrorCode errorCode) { } }); } else { + // DEBT: NoRollbackFlow — in deleteHostByApiMessage chain.then(new NoRollbackFlow() { @Override public void run(final FlowTrigger trigger, Map data) { @@ -669,6 +770,7 @@ public void fail(ErrorCode errorCode) { }); } + // DEBT: NoRollbackFlow — reason TBD chain.then(new NoRollbackFlow() { @Override public void run(FlowTrigger trigger, Map data) { @@ -1286,6 +1388,7 @@ public void run(SyncTaskChain chain) { flowChain.then(new ShareFlow() { @Override public void setup() { + // DEBT: NoRollbackFlow — in getSyncLevel flow(new NoRollbackFlow() { String __name__ = "check-conditions-of-connection"; @@ -1305,6 +1408,7 @@ public void fail(ErrorCode errorCode) { } }); + // DEBT: NoRollbackFlow — in getSyncLevel flow(new NoRollbackFlow() { String __name__ = "connect-host"; @@ -1325,6 +1429,7 @@ public void fail(ErrorCode errorCode) { } }); + // DEBT: NoRollbackFlow — reason TBD flow(new NoRollbackFlow() { String __name__ = "call-pre-connect-extensions"; @@ -1357,6 +1462,7 @@ public void handle(ErrorCode errCode, Map data) { } }); + // DEBT: NoRollbackFlow — reason TBD flow(new NoRollbackFlow() { String __name__ = "call-post-connect-extensions"; @@ -1389,6 +1495,7 @@ public void handle(ErrorCode errCode, Map data) { } }); + // DEBT: NoRollbackFlow — reason TBD flow(new NoRollbackFlow() { String __name__ = "recalculate-host-capacity"; diff --git a/compute/src/main/java/org/zstack/compute/host/HostCascadeExtension.java b/compute/src/main/java/org/zstack/compute/host/HostCascadeExtension.java index 6924580062b..9e7f449309a 100755 --- a/compute/src/main/java/org/zstack/compute/host/HostCascadeExtension.java +++ b/compute/src/main/java/org/zstack/compute/host/HostCascadeExtension.java @@ -2,7 +2,9 @@ import org.springframework.beans.factory.annotation.Autowired; import org.zstack.core.asyncbatch.While; -import org.zstack.core.cascade.*; +import org.zstack.core.cascade.AbstractAsyncCascadeExtension; +import org.zstack.core.cascade.CascadeAction; +import org.zstack.core.cascade.CascadeConstant; import org.zstack.core.cloudbus.CloudBus; import org.zstack.core.cloudbus.CloudBusCallBack; import org.zstack.core.cloudbus.CloudBusListCallBack; @@ -15,7 +17,13 @@ import org.zstack.header.core.Completion; import org.zstack.header.core.WhileDoneCompletion; import org.zstack.header.errorcode.ErrorCodeList; -import org.zstack.header.host.*; +import org.zstack.header.host.DetachDataVolumeFromHostMsg; +import org.zstack.header.host.HostConstant; +import org.zstack.header.host.HostDeletionMsg; +import org.zstack.header.host.HostException; +import org.zstack.header.host.HostInventory; +import org.zstack.header.host.HostVO; +import org.zstack.header.host.HostVO_; import org.zstack.header.message.MessageReply; import org.zstack.header.volume.VolumeHostRefVO; import org.zstack.header.volume.VolumeHostRefVO_; diff --git a/compute/src/main/java/org/zstack/compute/host/HostExtensionPointEmitter.java b/compute/src/main/java/org/zstack/compute/host/HostExtensionPointEmitter.java index 86a9d5ccb6a..2b94cb52a6d 100755 --- a/compute/src/main/java/org/zstack/compute/host/HostExtensionPointEmitter.java +++ b/compute/src/main/java/org/zstack/compute/host/HostExtensionPointEmitter.java @@ -6,7 +6,17 @@ import org.zstack.header.core.Completion; import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.errorcode.OperationFailureException; -import org.zstack.header.host.*; +import org.zstack.header.host.HostAddExtensionPoint; +import org.zstack.header.host.HostChangeStateExtensionPoint; +import org.zstack.header.host.HostConnectionReestablishExtensionPoint; +import org.zstack.header.host.HostDeleteExtensionPoint; +import org.zstack.header.host.HostException; +import org.zstack.header.host.HostInventory; +import org.zstack.header.host.HostPingTaskExtensionPoint; +import org.zstack.header.host.HostState; +import org.zstack.header.host.HostStateEvent; +import org.zstack.header.host.HostVO; +import org.zstack.header.host.HypervisorType; import org.zstack.utils.CollectionUtils; import org.zstack.utils.Utils; import org.zstack.utils.function.ForEachFunction; diff --git a/compute/src/main/java/org/zstack/compute/host/HostExtensionToCluster.java b/compute/src/main/java/org/zstack/compute/host/HostExtensionToCluster.java index c84cca89065..91e2461642b 100755 --- a/compute/src/main/java/org/zstack/compute/host/HostExtensionToCluster.java +++ b/compute/src/main/java/org/zstack/compute/host/HostExtensionToCluster.java @@ -5,8 +5,19 @@ import org.zstack.core.db.DatabaseFacade; import org.zstack.core.db.SimpleQuery; import org.zstack.core.db.SimpleQuery.Op; -import org.zstack.header.cluster.*; -import org.zstack.header.host.*; +import org.zstack.header.cluster.ClusterChangeStateExtensionPoint; +import org.zstack.header.cluster.ClusterException; +import org.zstack.header.cluster.ClusterInventory; +import org.zstack.header.cluster.ClusterState; +import org.zstack.header.cluster.ClusterStateEvent; +import org.zstack.header.host.ChangeHostStateMsg; +import org.zstack.header.host.ChangeHostStateReply; +import org.zstack.header.host.HostConstant; +import org.zstack.header.host.HostException; +import org.zstack.header.host.HostState; +import org.zstack.header.host.HostStateEvent; +import org.zstack.header.host.HostVO; +import org.zstack.header.host.HostVO_; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; diff --git a/compute/src/main/java/org/zstack/compute/host/HostManagerImpl.java b/compute/src/main/java/org/zstack/compute/host/HostManagerImpl.java index a15ac71e227..62dedb6c65e 100755 --- a/compute/src/main/java/org/zstack/compute/host/HostManagerImpl.java +++ b/compute/src/main/java/org/zstack/compute/host/HostManagerImpl.java @@ -5,15 +5,31 @@ import org.zstack.core.CoreGlobalProperty; import org.zstack.core.Platform; import org.zstack.core.asyncbatch.While; -import org.zstack.core.cloudbus.*; +import org.zstack.core.cloudbus.CloudBus; +import org.zstack.core.cloudbus.CloudBusCallBack; +import org.zstack.core.cloudbus.CloudBusSteppingCallback; +import org.zstack.core.cloudbus.EventCallback; +import org.zstack.core.cloudbus.EventFacade; +import org.zstack.core.cloudbus.MessageSafe; +import org.zstack.core.cloudbus.ResourceDestinationMaker; import org.zstack.core.componentloader.PluginRegistry; import org.zstack.core.config.GlobalConfig; import org.zstack.core.config.GlobalConfigUpdateExtensionPoint; -import org.zstack.core.db.*; +import org.zstack.core.db.DatabaseFacade; +import org.zstack.core.db.DbEntityLister; +import org.zstack.core.db.Q; +import org.zstack.core.db.SQL; +import org.zstack.core.db.SimpleQuery; import org.zstack.core.db.SimpleQuery.Op; import org.zstack.core.defer.Deferred; import org.zstack.core.errorcode.ErrorFacade; -import org.zstack.core.thread.*; +import org.zstack.core.thread.AsyncThread; +import org.zstack.core.thread.ChainTask; +import org.zstack.core.thread.PeriodicTask; +import org.zstack.core.thread.SyncTaskChain; +import org.zstack.core.thread.SyncThread; +import org.zstack.core.thread.ThreadFacade; +import org.zstack.core.thread.ThreadGlobalProperty; import org.zstack.core.workflow.FlowChainBuilder; import org.zstack.header.AbstractService; import org.zstack.header.allocator.HostAllocatorConstant; @@ -21,15 +37,71 @@ import org.zstack.header.cluster.ClusterInventory; import org.zstack.header.cluster.ClusterVO; import org.zstack.header.cluster.ClusterVO_; -import org.zstack.header.core.*; -import org.zstack.header.core.workflow.*; +import org.zstack.header.core.Completion; +import org.zstack.header.core.NopeWhileDoneCompletion; +import org.zstack.header.core.ReturnValueCompletion; +import org.zstack.header.core.WhileDoneCompletion; +import org.zstack.header.core.workflow.FlowChain; +import org.zstack.header.core.workflow.FlowDoneHandler; +import org.zstack.header.core.workflow.FlowErrorHandler; +import org.zstack.header.core.workflow.FlowTrigger; +import org.zstack.header.core.workflow.NoRollbackFlow; import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.errorcode.ErrorCodeList; import org.zstack.header.errorcode.OperationFailureException; import org.zstack.header.errorcode.SysErrors; import org.zstack.header.exception.CloudRuntimeException; -import org.zstack.header.host.*; -import org.zstack.header.managementnode.*; +import org.zstack.header.host.APIAddHostEvent; +import org.zstack.header.host.APIAddHostMsg; +import org.zstack.header.host.APICreateHostNetworkServiceTypeEvent; +import org.zstack.header.host.APICreateHostNetworkServiceTypeMsg; +import org.zstack.header.host.APIDeleteHostNetworkServiceTypeEvent; +import org.zstack.header.host.APIDeleteHostNetworkServiceTypeMsg; +import org.zstack.header.host.APIGetHostWebSshUrlEvent; +import org.zstack.header.host.APIGetHostWebSshUrlMsg; +import org.zstack.header.host.APIGetHypervisorTypesMsg; +import org.zstack.header.host.APIGetHypervisorTypesReply; +import org.zstack.header.host.APIUpdateHostNetworkServiceTypeEvent; +import org.zstack.header.host.APIUpdateHostNetworkServiceTypeMsg; +import org.zstack.header.host.AddHostMessage; +import org.zstack.header.host.AddHostMsg; +import org.zstack.header.host.AddHostReply; +import org.zstack.header.host.CancelHostTaskMsg; +import org.zstack.header.host.CancelHostTasksMsg; +import org.zstack.header.host.CancelHostsTaskReply; +import org.zstack.header.host.ChangeHostConnectionStateMsg; +import org.zstack.header.host.CheckHostCapacityMsg; +import org.zstack.header.host.ConnectHostMsg; +import org.zstack.header.host.FailToAddHostExtensionPoint; +import org.zstack.header.host.GetHostWebSshUrlMsg; +import org.zstack.header.host.GetHostWebSshUrlReply; +import org.zstack.header.host.Host; +import org.zstack.header.host.HostAddExtensionPoint; +import org.zstack.header.host.HostBaseExtensionFactory; +import org.zstack.header.host.HostConstant; +import org.zstack.header.host.HostDeletionMsg; +import org.zstack.header.host.HostEO; +import org.zstack.header.host.HostInventory; +import org.zstack.header.host.HostIpmiVO; +import org.zstack.header.host.HostIpmiVO_; +import org.zstack.header.host.HostMessage; +import org.zstack.header.host.HostNetworkLabelExtensionPoint; +import org.zstack.header.host.HostNetworkLabelInventory; +import org.zstack.header.host.HostNetworkLabelVO; +import org.zstack.header.host.HostPowerStatus; +import org.zstack.header.host.HostState; +import org.zstack.header.host.HostStatus; +import org.zstack.header.host.HostStatusEvent; +import org.zstack.header.host.HostVO; +import org.zstack.header.host.HostVO_; +import org.zstack.header.host.HypervisorFactory; +import org.zstack.header.host.HypervisorType; +import org.zstack.header.host.RecalculateHostCapacityMsg; +import org.zstack.header.managementnode.ManagementNodeChangeListener; +import org.zstack.header.managementnode.ManagementNodeInventory; +import org.zstack.header.managementnode.ManagementNodeReadyExtensionPoint; +import org.zstack.header.managementnode.ManagementNodeVO; +import org.zstack.header.managementnode.ManagementNodeVO_; import org.zstack.header.message.APIMessage; import org.zstack.header.message.Message; import org.zstack.header.message.MessageReply; @@ -45,13 +117,24 @@ import org.zstack.resourceconfig.ResourceConfig; import org.zstack.resourceconfig.ResourceConfigFacade; import org.zstack.tag.TagManager; -import org.zstack.utils.*; +import org.zstack.utils.Bucket; +import org.zstack.utils.CollectionUtils; +import org.zstack.utils.ObjectUtils; +import org.zstack.utils.Utils; import org.zstack.utils.data.Pair; import org.zstack.utils.function.ForEachFunction; import org.zstack.utils.logging.CLogger; import javax.persistence.Tuple; -import java.util.*; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import java.util.Set; import java.util.concurrent.Future; import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; @@ -419,6 +502,7 @@ private void doAddHost(final AddHostMessage msg, ReturnValueCompletion() { @Override public void run(VmDetachVolumeExtensionPoint arg) { + // DEBT: NoRollbackFlow — in afterDetachVolume chain.then(new NoRollbackFlow() { @Override public void run(FlowTrigger trigger, Map data) { diff --git a/compute/src/main/java/org/zstack/compute/vm/VmInstanceHookManager.java b/compute/src/main/java/org/zstack/compute/vm/VmInstanceHookManager.java index 90111580500..19a1f0a4bc9 100755 --- a/compute/src/main/java/org/zstack/compute/vm/VmInstanceHookManager.java +++ b/compute/src/main/java/org/zstack/compute/vm/VmInstanceHookManager.java @@ -1,6 +1,10 @@ package org.zstack.compute.vm; -import org.zstack.header.vm.hooks.*; +import org.zstack.header.vm.hooks.VmInstanceCreateHook; +import org.zstack.header.vm.hooks.VmInstanceDestroyHook; +import org.zstack.header.vm.hooks.VmInstanceRebootHook; +import org.zstack.header.vm.hooks.VmInstanceStartHook; +import org.zstack.header.vm.hooks.VmInstanceStopHook; import java.util.function.Supplier; diff --git a/compute/src/main/java/org/zstack/compute/vm/VmInstanceHookManagerImpl.java b/compute/src/main/java/org/zstack/compute/vm/VmInstanceHookManagerImpl.java index 798f0e33006..1bb2035e2a3 100755 --- a/compute/src/main/java/org/zstack/compute/vm/VmInstanceHookManagerImpl.java +++ b/compute/src/main/java/org/zstack/compute/vm/VmInstanceHookManagerImpl.java @@ -4,8 +4,37 @@ import org.zstack.core.defer.Deferred; import org.zstack.header.core.ExceptionSafe; import org.zstack.header.errorcode.ErrorCode; -import org.zstack.header.vm.*; -import org.zstack.header.vm.hooks.*; +import org.zstack.header.vm.VmInstanceDestroyExtensionPoint; +import org.zstack.header.vm.VmInstanceInventory; +import org.zstack.header.vm.VmInstanceRebootExtensionPoint; +import org.zstack.header.vm.VmInstanceStartExtensionPoint; +import org.zstack.header.vm.VmInstanceStartNewCreatedVmExtensionPoint; +import org.zstack.header.vm.VmInstanceStopExtensionPoint; +import org.zstack.header.vm.hooks.VmInstanceAfterCreateHook; +import org.zstack.header.vm.hooks.VmInstanceAfterDestroyHook; +import org.zstack.header.vm.hooks.VmInstanceAfterRebootHook; +import org.zstack.header.vm.hooks.VmInstanceAfterStartHook; +import org.zstack.header.vm.hooks.VmInstanceAfterStopHook; +import org.zstack.header.vm.hooks.VmInstanceBeforeCreateHook; +import org.zstack.header.vm.hooks.VmInstanceBeforeDestroyHook; +import org.zstack.header.vm.hooks.VmInstanceBeforeRebootHook; +import org.zstack.header.vm.hooks.VmInstanceBeforeStartHook; +import org.zstack.header.vm.hooks.VmInstanceBeforeStopHook; +import org.zstack.header.vm.hooks.VmInstanceCreateHook; +import org.zstack.header.vm.hooks.VmInstanceDestroyHook; +import org.zstack.header.vm.hooks.VmInstanceFailToCreateHook; +import org.zstack.header.vm.hooks.VmInstanceFailToDestroyHook; +import org.zstack.header.vm.hooks.VmInstanceFailToRebootHook; +import org.zstack.header.vm.hooks.VmInstanceFailToStartHook; +import org.zstack.header.vm.hooks.VmInstanceFailToStopHook; +import org.zstack.header.vm.hooks.VmInstancePreCreateHook; +import org.zstack.header.vm.hooks.VmInstancePreDestroyHook; +import org.zstack.header.vm.hooks.VmInstancePreRebootHook; +import org.zstack.header.vm.hooks.VmInstancePreStartHook; +import org.zstack.header.vm.hooks.VmInstancePreStopHook; +import org.zstack.header.vm.hooks.VmInstanceRebootHook; +import org.zstack.header.vm.hooks.VmInstanceStartHook; +import org.zstack.header.vm.hooks.VmInstanceStopHook; import java.util.ArrayList; import java.util.Collections; diff --git a/compute/src/main/java/org/zstack/compute/vm/VmInstanceManager.java b/compute/src/main/java/org/zstack/compute/vm/VmInstanceManager.java index f75386bf818..33b57f4bb89 100755 --- a/compute/src/main/java/org/zstack/compute/vm/VmInstanceManager.java +++ b/compute/src/main/java/org/zstack/compute/vm/VmInstanceManager.java @@ -2,7 +2,12 @@ import org.zstack.header.core.workflow.FlowChain; import org.zstack.header.message.Message; -import org.zstack.header.vm.*; +import org.zstack.header.vm.VmInstanceBaseExtensionFactory; +import org.zstack.header.vm.VmInstanceFactory; +import org.zstack.header.vm.VmInstanceInventory; +import org.zstack.header.vm.VmInstanceNicFactory; +import org.zstack.header.vm.VmInstanceType; +import org.zstack.header.vm.VmNicType; public interface VmInstanceManager { FlowChain getCreateVmWorkFlowChain(VmInstanceInventory inv); diff --git a/compute/src/main/java/org/zstack/compute/vm/VmInstanceManagerImpl.java b/compute/src/main/java/org/zstack/compute/vm/VmInstanceManagerImpl.java index 321c7b3325d..c8e531044f3 100755 --- a/compute/src/main/java/org/zstack/compute/vm/VmInstanceManagerImpl.java +++ b/compute/src/main/java/org/zstack/compute/vm/VmInstanceManagerImpl.java @@ -7,22 +7,44 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; import org.zstack.compute.allocator.HostAllocatorManager; -import org.zstack.compute.vm.quota.*; +import org.zstack.compute.vm.quota.DataVolumeNumQuotaDefinition; +import org.zstack.compute.vm.quota.VmRunningCpuNumQuotaDefinition; +import org.zstack.compute.vm.quota.VmRunningMemoryNumQuotaDefinition; +import org.zstack.compute.vm.quota.VmRunningNumQuotaDefinition; +import org.zstack.compute.vm.quota.VmTotalNumQuotaDefinition; +import org.zstack.compute.vm.quota.VolumeSizeQuotaDefinition; import org.zstack.configuration.DiskOfferingSystemTags; import org.zstack.configuration.InstanceOfferingSystemTags; import org.zstack.configuration.OfferingUserConfigUtils; import org.zstack.core.Platform; import org.zstack.core.asyncbatch.While; -import org.zstack.core.cloudbus.*; +import org.zstack.core.cloudbus.CloudBus; +import org.zstack.core.cloudbus.CloudBusCallBack; +import org.zstack.core.cloudbus.CloudBusListCallBack; +import org.zstack.core.cloudbus.EventCallback; +import org.zstack.core.cloudbus.EventFacade; +import org.zstack.core.cloudbus.ResourceDestinationMaker; import org.zstack.core.componentloader.PluginRegistry; import org.zstack.core.config.GlobalConfig; import org.zstack.core.config.GlobalConfigBeforeUpdateExtensionPoint; import org.zstack.core.config.GlobalConfigUpdateExtensionPoint; -import org.zstack.core.db.*; +import org.zstack.core.db.DatabaseFacade; +import org.zstack.core.db.DbEntityLister; +import org.zstack.core.db.Q; +import org.zstack.core.db.SQL; +import org.zstack.core.db.SQLBatch; +import org.zstack.core.db.SQLBatchWithReturn; +import org.zstack.core.db.SimpleQuery; import org.zstack.core.db.SimpleQuery.Op; import org.zstack.core.errorcode.ErrorFacade; import org.zstack.core.jsonlabel.JsonLabel; -import org.zstack.core.thread.*; +import org.zstack.core.thread.AsyncThread; +import org.zstack.core.thread.CancelablePeriodicTask; +import org.zstack.core.thread.ChainTask; +import org.zstack.core.thread.SingleFlightTask; +import org.zstack.core.thread.SyncTaskChain; +import org.zstack.core.thread.Task; +import org.zstack.core.thread.ThreadFacade; import org.zstack.core.workflow.FlowChainBuilder; import org.zstack.core.workflow.ShareFlow; import org.zstack.directory.ResourceDirectoryRefVO; @@ -34,47 +56,186 @@ import org.zstack.header.apimediator.GlobalApiMessageInterceptor; import org.zstack.header.cluster.ClusterInventory; import org.zstack.header.cluster.ClusterVO; -import org.zstack.header.configuration.*; +import org.zstack.header.configuration.DiskOfferingInventory; +import org.zstack.header.configuration.DiskOfferingState; +import org.zstack.header.configuration.DiskOfferingVO; +import org.zstack.header.configuration.DiskOfferingVO_; +import org.zstack.header.configuration.InstanceOfferingVO; +import org.zstack.header.configuration.InstanceOfferingVO_; import org.zstack.header.configuration.userconfig.DiskOfferingUserConfig; import org.zstack.header.configuration.userconfig.InstanceOfferingUserConfig; -import org.zstack.header.core.*; -import org.zstack.header.core.workflow.*; +import org.zstack.header.core.Completion; +import org.zstack.header.core.NoErrorCompletion; +import org.zstack.header.core.NopeWhileDoneCompletion; +import org.zstack.header.core.ReturnValueCompletion; +import org.zstack.header.core.WhileDoneCompletion; +import org.zstack.header.core.workflow.Flow; +import org.zstack.header.core.workflow.FlowChain; +import org.zstack.header.core.workflow.FlowDoneHandler; +import org.zstack.header.core.workflow.FlowErrorHandler; +import org.zstack.header.core.workflow.FlowRollback; +import org.zstack.header.core.workflow.FlowTrigger; +import org.zstack.header.core.workflow.NoRollbackFlow; import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.errorcode.ErrorCodeList; import org.zstack.header.errorcode.OperationFailureException; import org.zstack.header.exception.CloudConfigureFailException; import org.zstack.header.exception.CloudRuntimeException; -import org.zstack.header.host.*; -import org.zstack.header.identity.*; +import org.zstack.header.host.AfterChangeHostStatusExtensionPoint; +import org.zstack.header.host.HostConstant; +import org.zstack.header.host.HostInventory; +import org.zstack.header.host.HostStatus; +import org.zstack.header.identity.APIChangeResourceOwnerMsg; +import org.zstack.header.identity.AccountConstant; +import org.zstack.header.identity.AccountResourceRefInventory; +import org.zstack.header.identity.AccountResourceRefVO; +import org.zstack.header.identity.AccountResourceRefVO_; +import org.zstack.header.identity.Quota; +import org.zstack.header.identity.ReportQuotaExtensionPoint; +import org.zstack.header.identity.ResourceOwnerAfterChangeExtensionPoint; import org.zstack.header.identity.Quota.QuotaPair; import org.zstack.header.identity.quota.QuotaMessageHandler; -import org.zstack.header.image.*; +import org.zstack.header.image.ImageArchitecture; +import org.zstack.header.image.ImageBackupStorageRefVO; +import org.zstack.header.image.ImageBootMode; +import org.zstack.header.image.ImageConstant; +import org.zstack.header.image.ImageInventory; +import org.zstack.header.image.ImageVO; +import org.zstack.header.image.ImageVO_; import org.zstack.header.image.ImageConstant.ImageMediaType; import org.zstack.header.managementnode.ManagementNodeReadyExtensionPoint; -import org.zstack.header.message.*; -import org.zstack.header.network.l3.*; +import org.zstack.header.message.APICreateMessage; +import org.zstack.header.message.APIMessage; +import org.zstack.header.message.AbstractBeforeDeliveryMessageInterceptor; +import org.zstack.header.message.Message; +import org.zstack.header.message.MessageReply; +import org.zstack.header.message.NeedQuotaCheckMessage; +import org.zstack.header.network.l3.AllocateIpMsg; +import org.zstack.header.network.l3.AllocateIpReply; +import org.zstack.header.network.l3.L3NetworkConstant; +import org.zstack.header.network.l3.L3NetworkDeleteExtensionPoint; +import org.zstack.header.network.l3.L3NetworkException; +import org.zstack.header.network.l3.L3NetworkInventory; +import org.zstack.header.network.l3.L3NetworkVO; +import org.zstack.header.network.l3.L3NetworkVO_; +import org.zstack.header.network.l3.ReturnIpMsg; +import org.zstack.header.network.l3.UsedIpInventory; import org.zstack.header.storage.backup.BackupStorageInventory; import org.zstack.header.storage.backup.BackupStorageType; import org.zstack.header.storage.backup.BackupStorageVO; import org.zstack.header.storage.backup.BackupStorageVO_; -import org.zstack.header.storage.primary.*; +import org.zstack.header.storage.primary.AllocatePrimaryStorageDryRunReply; +import org.zstack.header.storage.primary.AllocatePrimaryStorageMsg; +import org.zstack.header.storage.primary.PrimaryStorageAllocationPurpose; +import org.zstack.header.storage.primary.PrimaryStorageClusterRefVO; +import org.zstack.header.storage.primary.PrimaryStorageConstant; +import org.zstack.header.storage.primary.PrimaryStorageType; +import org.zstack.header.storage.primary.PrimaryStorageVO; +import org.zstack.header.storage.primary.PrimaryStorageVO_; import org.zstack.header.tag.SystemTagCreateMessageValidator; import org.zstack.header.tag.SystemTagVO; import org.zstack.header.tag.SystemTagValidator; -import org.zstack.header.vm.*; +import org.zstack.header.vm.APICreateVmInstanceEvent; +import org.zstack.header.vm.APICreateVmInstanceMsg; +import org.zstack.header.vm.APICreateVmNicEvent; +import org.zstack.header.vm.APICreateVmNicMsg; +import org.zstack.header.vm.APIDeleteVmNicEvent; +import org.zstack.header.vm.APIDeleteVmNicMsg; +import org.zstack.header.vm.APIGetCandidatePrimaryStoragesForCreatingVmMsg; +import org.zstack.header.vm.APIGetCandidatePrimaryStoragesForCreatingVmReply; +import org.zstack.header.vm.APIGetCandidateVmForAttachingIsoMsg; +import org.zstack.header.vm.APIGetCandidateVmForAttachingIsoReply; +import org.zstack.header.vm.APIGetCandidateZonesClustersHostsForCreatingVmMsg; +import org.zstack.header.vm.APIGetCandidateZonesClustersHostsForCreatingVmReply; +import org.zstack.header.vm.APIGetInterdependentL3NetworkImageReply; +import org.zstack.header.vm.APIGetInterdependentL3NetworksBackupStoragesMsg; +import org.zstack.header.vm.APIGetInterdependentL3NetworksBackupStoragesReply; +import org.zstack.header.vm.APIGetInterdependentL3NetworksImagesMsg; +import org.zstack.header.vm.APIGetSpiceCertificatesMsg; +import org.zstack.header.vm.APIGetSpiceCertificatesReply; +import org.zstack.header.vm.APIGetVmNicAttachedNetworkServiceMsg; +import org.zstack.header.vm.APIGetVmNicAttachedNetworkServiceReply; +import org.zstack.header.vm.APIGetVmsCapabilitiesMsg; +import org.zstack.header.vm.APIGetVmsCapabilitiesReply; +import org.zstack.header.vm.APIRecoverVmInstanceMsg; +import org.zstack.header.vm.APIStartVmInstanceMsg; +import org.zstack.header.vm.APIUpdatePriorityConfigEvent; +import org.zstack.header.vm.APIUpdatePriorityConfigMsg; +import org.zstack.header.vm.CreateVmInstanceMsg; +import org.zstack.header.vm.CreateVmInstanceReply; +import org.zstack.header.vm.DestroyVmInstanceMsg; +import org.zstack.header.vm.DetachNicFromVmMsg; +import org.zstack.header.vm.ExpungeVmMsg; +import org.zstack.header.vm.InstantiateNewCreatedVmInstanceMsg; +import org.zstack.header.vm.InstantiateNewCreatedVmInstanceReply; +import org.zstack.header.vm.NewVmInstanceMessage; +import org.zstack.header.vm.NicManageExtensionPoint; +import org.zstack.header.vm.PriorityConfigStruct; +import org.zstack.header.vm.ReleaseNetworkServiceOnDeletingNicExtensionPoint; +import org.zstack.header.vm.StartVmInstanceMsg; +import org.zstack.header.vm.UpdatePriorityConfigExtensionPoint; +import org.zstack.header.vm.UpdateVmPriorityMsg; +import org.zstack.header.vm.UpdateVmPriorityReply; +import org.zstack.header.vm.ValidateL3SecurityGroupExtensionPoint; +import org.zstack.header.vm.VmAttachIsoExtensionPoint; +import org.zstack.header.vm.VmAttachOtherDiskExtensionPoint; +import org.zstack.header.vm.VmBootDevice; +import org.zstack.header.vm.VmCanonicalEvents; +import org.zstack.header.vm.VmCapabilities; +import org.zstack.header.vm.VmCreationStrategy; +import org.zstack.header.vm.VmInstance; +import org.zstack.header.vm.VmInstanceBaseExtensionFactory; +import org.zstack.header.vm.VmInstanceBeforeStartExtensionPoint; +import org.zstack.header.vm.VmInstanceConstant; +import org.zstack.header.vm.VmInstanceCreateExtensionPoint; +import org.zstack.header.vm.VmInstanceDeletionMsg; +import org.zstack.header.vm.VmInstanceDeletionPolicyManager; +import org.zstack.header.vm.VmInstanceEO; +import org.zstack.header.vm.VmInstanceFactory; +import org.zstack.header.vm.VmInstanceInventory; +import org.zstack.header.vm.VmInstanceMessage; +import org.zstack.header.vm.VmInstanceMigrateExtensionPoint; +import org.zstack.header.vm.VmInstanceNicFactory; +import org.zstack.header.vm.VmInstanceSequenceNumberVO; +import org.zstack.header.vm.VmInstanceState; +import org.zstack.header.vm.VmInstanceType; +import org.zstack.header.vm.VmInstanceVO; +import org.zstack.header.vm.VmInstanceVO_; +import org.zstack.header.vm.VmMachineType; +import org.zstack.header.vm.VmNicChangeNetworkExtensionPoint; +import org.zstack.header.vm.VmNicInventory; +import org.zstack.header.vm.VmNicSpec; +import org.zstack.header.vm.VmNicType; +import org.zstack.header.vm.VmNicVO; +import org.zstack.header.vm.VmNicVO_; +import org.zstack.header.vm.VmPriorityConfigVO; +import org.zstack.header.vm.VmPriorityConfigVO_; +import org.zstack.header.vm.VmPriorityLevel; +import org.zstack.header.vm.VmStateChangedOnHostMsg; import org.zstack.header.vm.VmInstanceConstant.VmOperation; import org.zstack.header.vm.VmInstanceDeletionPolicyManager.VmInstanceDeletionPolicy; import org.zstack.header.vm.cdrom.VmCdRomVO; import org.zstack.header.vm.cdrom.VmCdRomVO_; -import org.zstack.header.volume.*; +import org.zstack.header.volume.APICreateDataVolumeMsg; +import org.zstack.header.volume.APIRecoverDataVolumeMsg; +import org.zstack.header.volume.VolumeType; +import org.zstack.header.volume.VolumeVO; +import org.zstack.header.volume.VolumeVO_; import org.zstack.header.zone.ZoneInventory; import org.zstack.header.zone.ZoneVO; import org.zstack.identity.AccountManager; import org.zstack.identity.QuotaUtil; import org.zstack.network.l3.L3NetworkManager; -import org.zstack.resourceconfig.*; -import org.zstack.tag.*; -import org.zstack.utils.*; +import org.zstack.resourceconfig.ResourceConfig; +import org.zstack.resourceconfig.ResourceConfigFacade; +import org.zstack.tag.PatternedSystemTag; +import org.zstack.tag.SystemTagCreator; +import org.zstack.tag.SystemTagUtils; +import org.zstack.tag.TagManager; +import org.zstack.utils.CollectionUtils; +import org.zstack.utils.ExceptionDSL; +import org.zstack.utils.ObjectUtils; +import org.zstack.utils.Utils; import org.zstack.utils.function.Function; import org.zstack.utils.logging.CLogger; import org.zstack.utils.network.IPv6NetworkUtils; @@ -85,7 +246,17 @@ import javax.persistence.TypedQuery; import java.sql.SQLIntegrityConstraintViolationException; import java.sql.Timestamp; -import java.util.*; +import java.util.ArrayList; +import java.util.Base64; +import java.util.Collections; +import java.util.Date; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import java.util.Set; import java.util.concurrent.Future; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicInteger; @@ -923,6 +1094,7 @@ private void handle(APICreateVmNicMsg msg) { FlowChain flowChain = FlowChainBuilder.newSimpleFlowChain(); flowChain.setName(String.format("create-nic-on-l3-network-%s", msg.getL3NetworkUuid())); + // DEBT: NoRollbackFlow — reason TBD flowChain.then(new NoRollbackFlow() { String __name__ = "create-nic-and-presist-to-db"; @@ -1384,6 +1556,7 @@ public void run(MessageReply reply) { } if (Objects.equals(msg.getStrategy(), VmCreationStrategy.InstantStart.toString()) && attachOtherDisk) { + // DEBT: NoRollbackFlow — in rollback flow(new NoRollbackFlow() { String __name__ = "start-vm"; @@ -1516,6 +1689,7 @@ public void run(SyncTaskChain chain) { FlowChain fchain = FlowChainBuilder.newSimpleFlowChain(); fchain.setName(String.format("detach-network-service-from-vmnic-%s", nic.getUuid())); for (ReleaseNetworkServiceOnDeletingNicExtensionPoint ext : pluginRgty.getExtensionList(ReleaseNetworkServiceOnDeletingNicExtensionPoint.class)) { + // DEBT: NoRollbackFlow — in getSyncSignature fchain.then(new NoRollbackFlow() { @Override public void run(FlowTrigger trigger, Map data) { @@ -1528,6 +1702,7 @@ public void done() { } }); } + // DEBT: NoRollbackFlow — in getSyncSignature fchain.then(new NoRollbackFlow() { @Override public void run(FlowTrigger trigger, Map data) { diff --git a/compute/src/main/java/org/zstack/compute/vm/VmInstanceUtils.java b/compute/src/main/java/org/zstack/compute/vm/VmInstanceUtils.java index f0bdeded2af..04808e8b2ef 100644 --- a/compute/src/main/java/org/zstack/compute/vm/VmInstanceUtils.java +++ b/compute/src/main/java/org/zstack/compute/vm/VmInstanceUtils.java @@ -12,7 +12,14 @@ import org.zstack.header.errorcode.OperationFailureException; import org.zstack.header.image.ImageVO; import org.zstack.header.image.ImageVO_; -import org.zstack.header.vm.*; +import org.zstack.header.vm.APIChangeInstanceOfferingMsg; +import org.zstack.header.vm.APICreateVmInstanceMsg; +import org.zstack.header.vm.CreateVmInstanceMsg; +import org.zstack.header.vm.NewVmInstanceMessage2; +import org.zstack.header.vm.UpdateVmInstanceMsg; +import org.zstack.header.vm.UpdateVmInstanceSpec; +import org.zstack.header.vm.VmInstanceConstant; +import org.zstack.header.vm.VmInstanceVO; import org.zstack.tag.SystemTagUtils; import java.util.List; diff --git a/compute/src/main/java/org/zstack/compute/vm/VmInstantiateOtherDiskFlow.java b/compute/src/main/java/org/zstack/compute/vm/VmInstantiateOtherDiskFlow.java index 19a715c9a87..148d2ea8133 100644 --- a/compute/src/main/java/org/zstack/compute/vm/VmInstantiateOtherDiskFlow.java +++ b/compute/src/main/java/org/zstack/compute/vm/VmInstantiateOtherDiskFlow.java @@ -14,23 +14,54 @@ import org.zstack.header.configuration.DiskOfferingVO; import org.zstack.header.configuration.DiskOfferingVO_; import org.zstack.header.core.Completion; -import org.zstack.header.core.workflow.*; +import org.zstack.header.core.workflow.Flow; +import org.zstack.header.core.workflow.FlowChain; +import org.zstack.header.core.workflow.FlowDoneHandler; +import org.zstack.header.core.workflow.FlowErrorHandler; +import org.zstack.header.core.workflow.FlowRollback; +import org.zstack.header.core.workflow.FlowTrigger; +import org.zstack.header.core.workflow.NoRollbackFlow; import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.image.ImageBackupStorageRefVO; import org.zstack.header.image.ImageVO; import org.zstack.header.message.MessageReply; import org.zstack.header.storage.backup.BackupStorageVO; import org.zstack.header.storage.backup.BackupStorageVO_; -import org.zstack.header.storage.primary.*; -import org.zstack.header.vm.*; -import org.zstack.header.volume.*; +import org.zstack.header.storage.primary.AllocatePrimaryStorageDryRunReply; +import org.zstack.header.storage.primary.AllocatePrimaryStorageSpaceMsg; +import org.zstack.header.storage.primary.AllocatePrimaryStorageSpaceReply; +import org.zstack.header.storage.primary.PrimaryStorageAllocationPurpose; +import org.zstack.header.storage.primary.PrimaryStorageConstant; +import org.zstack.header.storage.primary.ReleasePrimaryStorageSpaceMsg; +import org.zstack.header.vm.APICreateVmInstanceMsg; +import org.zstack.header.vm.AttachDataVolumeToVmMsg; +import org.zstack.header.vm.VmAttachOtherDiskExtensionPoint; +import org.zstack.header.vm.VmInstanceConstant; +import org.zstack.header.vm.VmInstanceInventory; +import org.zstack.header.volume.CreateDataVolumeFromVolumeTemplateMsg; +import org.zstack.header.volume.CreateDataVolumeFromVolumeTemplateReply; +import org.zstack.header.volume.CreateVolumeMsg; +import org.zstack.header.volume.CreateVolumeReply; +import org.zstack.header.volume.DeleteVolumeMsg; +import org.zstack.header.volume.InstantiateVolumeMsg; +import org.zstack.header.volume.VolumeConstant; +import org.zstack.header.volume.VolumeDeletionPolicyManager; +import org.zstack.header.volume.VolumeFormat; +import org.zstack.header.volume.VolumeInventory; +import org.zstack.header.volume.VolumeType; +import org.zstack.header.volume.VolumeVO; +import org.zstack.header.volume.VolumeVO_; import org.zstack.identity.AccountManager; import org.zstack.utils.CollectionUtils; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; import java.sql.Array; -import java.util.*; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; +import java.util.Map; +import java.util.Objects; import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; @@ -227,6 +258,7 @@ public void run(MessageReply reply) { } }); + // DEBT: NoRollbackFlow — in rollback flow(new NoRollbackFlow() { String __name__ = "instantiate-data-volume"; @@ -257,6 +289,7 @@ public void run(MessageReply reply) { private void setupVolumeFromTemplateUuidFlows() { final String[] allocatedPrimaryStorageUuid = new String[1]; + // DEBT: NoRollbackFlow — in setupVolumeFromTemplateUuidFlows flow(new NoRollbackFlow() { String __name__ = String.format("dryrun-allocate-primary-storage-for-templateUuid-%s", diskAO.getTemplateUuid()); @@ -377,6 +410,7 @@ public void run(MessageReply reply) { } private void setupAttachVolumeFlows() { + // DEBT: NoRollbackFlow — in setupAttachVolumeFlows flow(new NoRollbackFlow() { String __name__ = String.format("attach-volume-to-vm-%s", vmUuid); @@ -401,6 +435,7 @@ public void run(MessageReply reply) { } private void setupAttachOtherDiskFlows() { + // DEBT: NoRollbackFlow — in setupAttachOtherDiskFlows flow(new NoRollbackFlow() { String __name__ = String.format("attach-other-Disk-to-vm-%s", vmUuid); diff --git a/compute/src/main/java/org/zstack/compute/vm/VmInstantiateResourceForChangeImageFlow.java b/compute/src/main/java/org/zstack/compute/vm/VmInstantiateResourceForChangeImageFlow.java index bbdb2978036..7357217d97c 100755 --- a/compute/src/main/java/org/zstack/compute/vm/VmInstantiateResourceForChangeImageFlow.java +++ b/compute/src/main/java/org/zstack/compute/vm/VmInstantiateResourceForChangeImageFlow.java @@ -10,7 +10,10 @@ import org.zstack.header.core.workflow.FlowRollback; import org.zstack.header.core.workflow.FlowTrigger; import org.zstack.header.errorcode.ErrorCode; -import org.zstack.header.vm.*; +import org.zstack.header.vm.ChangeVmImageExtensionPoint; +import org.zstack.header.vm.VmInstanceConstant; +import org.zstack.header.vm.VmInstanceSpec; +import org.zstack.header.vm.VmInstantiateResourceException; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; diff --git a/compute/src/main/java/org/zstack/compute/vm/VmInstantiateResourceOnAttachingNicFlow.java b/compute/src/main/java/org/zstack/compute/vm/VmInstantiateResourceOnAttachingNicFlow.java index e009c26395f..c7310900eae 100755 --- a/compute/src/main/java/org/zstack/compute/vm/VmInstantiateResourceOnAttachingNicFlow.java +++ b/compute/src/main/java/org/zstack/compute/vm/VmInstantiateResourceOnAttachingNicFlow.java @@ -11,7 +11,10 @@ import org.zstack.header.core.workflow.FlowTrigger; import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.network.l3.L3NetworkInventory; -import org.zstack.header.vm.*; +import org.zstack.header.vm.InstantiateResourceOnAttachingNicExtensionPoint; +import org.zstack.header.vm.VmInstanceConstant; +import org.zstack.header.vm.VmInstanceSpec; +import org.zstack.header.vm.VmNicSpec; import java.util.Iterator; import java.util.List; diff --git a/compute/src/main/java/org/zstack/compute/vm/VmMigrateOnHypervisorFlow.java b/compute/src/main/java/org/zstack/compute/vm/VmMigrateOnHypervisorFlow.java index 24529a31df3..de43141433b 100755 --- a/compute/src/main/java/org/zstack/compute/vm/VmMigrateOnHypervisorFlow.java +++ b/compute/src/main/java/org/zstack/compute/vm/VmMigrateOnHypervisorFlow.java @@ -13,7 +13,9 @@ import org.zstack.header.host.HostConstant; import org.zstack.header.message.MessageReply; import org.zstack.header.host.MigrateVmOnHypervisorMsg; -import org.zstack.header.vm.*; +import org.zstack.header.vm.MigrateVmMessage; +import org.zstack.header.vm.VmInstanceConstant; +import org.zstack.header.vm.VmInstanceSpec; import org.zstack.longjob.LongJobUtils; import java.util.Map; diff --git a/compute/src/main/java/org/zstack/compute/vm/VmMigrationCheckL2NetworkOnHostFlow.java b/compute/src/main/java/org/zstack/compute/vm/VmMigrationCheckL2NetworkOnHostFlow.java index 98a343691a6..af87c9ce066 100755 --- a/compute/src/main/java/org/zstack/compute/vm/VmMigrationCheckL2NetworkOnHostFlow.java +++ b/compute/src/main/java/org/zstack/compute/vm/VmMigrationCheckL2NetworkOnHostFlow.java @@ -15,7 +15,10 @@ import org.zstack.header.network.l2.L2NetworkVO; import org.zstack.header.network.l2.VSwitchType; import org.zstack.header.network.l3.L3NetworkInventory; -import org.zstack.header.vm.*; +import org.zstack.header.vm.MigrateVmMessage; +import org.zstack.header.vm.VmInstanceConstant; +import org.zstack.header.vm.VmInstanceSpec; +import org.zstack.header.vm.VmNicSpec; import java.util.ArrayList; import java.util.List; diff --git a/compute/src/main/java/org/zstack/compute/vm/VmNicFactory.java b/compute/src/main/java/org/zstack/compute/vm/VmNicFactory.java index 758d217c39c..7eefa22d27e 100755 --- a/compute/src/main/java/org/zstack/compute/vm/VmNicFactory.java +++ b/compute/src/main/java/org/zstack/compute/vm/VmNicFactory.java @@ -5,7 +5,13 @@ import org.zstack.header.core.workflow.FlowException; import org.zstack.header.network.l2.L2NetworkConstant; import org.zstack.header.network.l2.VSwitchType; -import org.zstack.header.vm.*; +import org.zstack.header.vm.VmErrors; +import org.zstack.header.vm.VmInstanceConstant; +import org.zstack.header.vm.VmInstanceNicFactory; +import org.zstack.header.vm.VmInstanceSpec; +import org.zstack.header.vm.VmNicInventory; +import org.zstack.header.vm.VmNicType; +import org.zstack.header.vm.VmNicVO; import org.zstack.identity.Account; import org.zstack.utils.ExceptionDSL; import org.zstack.utils.Utils; diff --git a/compute/src/main/java/org/zstack/compute/vm/VmPreAllocateNicIpFlow.java b/compute/src/main/java/org/zstack/compute/vm/VmPreAllocateNicIpFlow.java index fa3cb81a3ab..f92dfbbba50 100755 --- a/compute/src/main/java/org/zstack/compute/vm/VmPreAllocateNicIpFlow.java +++ b/compute/src/main/java/org/zstack/compute/vm/VmPreAllocateNicIpFlow.java @@ -4,11 +4,13 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Configurable; import org.zstack.core.componentloader.PluginRegistry; -import org.zstack.core.db.*; +import org.zstack.core.db.DatabaseFacade; import org.zstack.header.core.workflow.FlowTrigger; import org.zstack.header.core.workflow.NoRollbackFlow; -import org.zstack.header.network.l3.*; -import org.zstack.header.vm.*; +import org.zstack.header.network.l3.L3NetworkInventory; +import org.zstack.header.vm.VmInstanceConstant; +import org.zstack.header.vm.VmInstanceInventory; +import org.zstack.header.vm.VmPreAttachL3NetworkExtensionPoint; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; diff --git a/compute/src/main/java/org/zstack/compute/vm/VmPriorityOperator.java b/compute/src/main/java/org/zstack/compute/vm/VmPriorityOperator.java index 12b93c1f16d..ba801e99977 100644 --- a/compute/src/main/java/org/zstack/compute/vm/VmPriorityOperator.java +++ b/compute/src/main/java/org/zstack/compute/vm/VmPriorityOperator.java @@ -10,7 +10,10 @@ import org.zstack.core.db.Q; import org.zstack.header.identity.AccountConstant; import org.zstack.header.managementnode.PrepareDbInitialValueExtensionPoint; -import org.zstack.header.vm.*; +import org.zstack.header.vm.VmInstanceState; +import org.zstack.header.vm.VmPriorityConfigVO; +import org.zstack.header.vm.VmPriorityConfigVO_; +import org.zstack.header.vm.VmPriorityLevel; import org.zstack.tag.SystemTagCreator; import java.util.List; diff --git a/compute/src/main/java/org/zstack/compute/vm/VmPriorityUpgradeExtension.java b/compute/src/main/java/org/zstack/compute/vm/VmPriorityUpgradeExtension.java index f182c443925..51f50060c66 100644 --- a/compute/src/main/java/org/zstack/compute/vm/VmPriorityUpgradeExtension.java +++ b/compute/src/main/java/org/zstack/compute/vm/VmPriorityUpgradeExtension.java @@ -1,14 +1,30 @@ package org.zstack.compute.vm; import org.springframework.beans.factory.annotation.Autowired; -import org.zstack.core.cloudbus.*; +import org.zstack.core.cloudbus.CloudBus; +import org.zstack.core.cloudbus.CloudBusCallBack; +import org.zstack.core.cloudbus.EventCallback; +import org.zstack.core.cloudbus.EventFacade; +import org.zstack.core.cloudbus.ResourceDestinationMaker; import org.zstack.core.db.Q; import org.zstack.header.Component; -import org.zstack.header.host.*; +import org.zstack.header.host.HostCanonicalEvents; +import org.zstack.header.host.HostConstant; +import org.zstack.header.host.HostInventory; +import org.zstack.header.host.HostStatus; import org.zstack.header.message.MessageReply; import org.zstack.header.tag.SystemTagVO; import org.zstack.header.tag.SystemTagVO_; -import org.zstack.header.vm.*; +import org.zstack.header.vm.PriorityConfigStruct; +import org.zstack.header.vm.UpdateVmPriorityMsg; +import org.zstack.header.vm.UpdateVmPriorityReply; +import org.zstack.header.vm.VmInstanceConstant; +import org.zstack.header.vm.VmInstanceState; +import org.zstack.header.vm.VmInstanceVO; +import org.zstack.header.vm.VmInstanceVO_; +import org.zstack.header.vm.VmPriorityConfigVO; +import org.zstack.header.vm.VmPriorityConfigVO_; +import org.zstack.header.vm.VmPriorityLevel; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; diff --git a/compute/src/main/java/org/zstack/compute/vm/VmQuotaOperator.java b/compute/src/main/java/org/zstack/compute/vm/VmQuotaOperator.java index bb63bbc9991..9d6990d4fbd 100644 --- a/compute/src/main/java/org/zstack/compute/vm/VmQuotaOperator.java +++ b/compute/src/main/java/org/zstack/compute/vm/VmQuotaOperator.java @@ -16,8 +16,22 @@ import org.zstack.header.message.APIMessage; import org.zstack.header.message.NeedQuotaCheckMessage; import org.zstack.header.configuration.InstanceOfferingVO; -import org.zstack.header.vm.*; -import org.zstack.header.volume.*; +import org.zstack.header.vm.APIChangeInstanceOfferingMsg; +import org.zstack.header.vm.APICreateVmInstanceMsg; +import org.zstack.header.vm.APIRecoverVmInstanceMsg; +import org.zstack.header.vm.APIStartVmInstanceMsg; +import org.zstack.header.vm.APIUpdateVmInstanceMsg; +import org.zstack.header.vm.StartVmInstanceMsg; +import org.zstack.header.vm.VmCreationStrategy; +import org.zstack.header.vm.VmErrors; +import org.zstack.header.vm.VmInstanceState; +import org.zstack.header.vm.VmInstanceVO; +import org.zstack.header.vm.VmInstanceVO_; +import org.zstack.header.volume.APICreateDataVolumeMsg; +import org.zstack.header.volume.APIRecoverDataVolumeMsg; +import org.zstack.header.volume.VolumeType; +import org.zstack.header.volume.VolumeVO; +import org.zstack.header.volume.VolumeVO_; import org.zstack.identity.QuotaUtil; import org.zstack.utils.data.Pair; diff --git a/compute/src/main/java/org/zstack/compute/vm/VmReleaseResourceOnDetachingNicFlow.java b/compute/src/main/java/org/zstack/compute/vm/VmReleaseResourceOnDetachingNicFlow.java index 56cd81a1145..2141a1060c4 100755 --- a/compute/src/main/java/org/zstack/compute/vm/VmReleaseResourceOnDetachingNicFlow.java +++ b/compute/src/main/java/org/zstack/compute/vm/VmReleaseResourceOnDetachingNicFlow.java @@ -7,7 +7,10 @@ import org.zstack.header.core.NoErrorCompletion; import org.zstack.header.core.workflow.FlowTrigger; import org.zstack.header.core.workflow.NoRollbackFlow; -import org.zstack.header.vm.*; +import org.zstack.header.vm.ReleaseNetworkServiceOnDetachingNicExtensionPoint; +import org.zstack.header.vm.VmInstanceConstant; +import org.zstack.header.vm.VmInstanceSpec; +import org.zstack.header.vm.VmNicInventory; import java.util.Iterator; import java.util.Map; diff --git a/compute/src/main/java/org/zstack/compute/vm/VmReturnReleaseNicFlow.java b/compute/src/main/java/org/zstack/compute/vm/VmReturnReleaseNicFlow.java index 0fd0e2aa068..e44c7f48343 100755 --- a/compute/src/main/java/org/zstack/compute/vm/VmReturnReleaseNicFlow.java +++ b/compute/src/main/java/org/zstack/compute/vm/VmReturnReleaseNicFlow.java @@ -15,7 +15,11 @@ import org.zstack.header.network.l3.L3NetworkConstant; import org.zstack.header.network.l3.ReturnIpMsg; import org.zstack.header.network.l3.UsedIpInventory; -import org.zstack.header.vm.*; +import org.zstack.header.vm.VmInstanceConstant; +import org.zstack.header.vm.VmInstanceDeletionPolicyManager; +import org.zstack.header.vm.VmInstanceSpec; +import org.zstack.header.vm.VmNicInventory; +import org.zstack.header.vm.VmNicVO; import org.zstack.header.vm.VmInstanceDeletionPolicyManager.VmInstanceDeletionPolicy; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; diff --git a/compute/src/main/java/org/zstack/compute/vm/VmSchedHistoryRecorder.java b/compute/src/main/java/org/zstack/compute/vm/VmSchedHistoryRecorder.java index 42bf69104b2..048549d7d86 100644 --- a/compute/src/main/java/org/zstack/compute/vm/VmSchedHistoryRecorder.java +++ b/compute/src/main/java/org/zstack/compute/vm/VmSchedHistoryRecorder.java @@ -6,7 +6,11 @@ import org.zstack.core.db.DatabaseFacade; import org.zstack.core.db.SQL; import org.zstack.core.db.SQLBatchWithReturn; -import org.zstack.header.vm.*; +import org.zstack.header.vm.VmInstanceInventory; +import org.zstack.header.vm.VmInstanceVO; +import org.zstack.header.vm.VmInstanceVO_; +import org.zstack.header.vm.VmSchedHistoryVO; +import org.zstack.header.vm.VmSchedHistoryVO_; import org.zstack.identity.AccountManager; import org.zstack.utils.DebugUtils; import org.zstack.utils.data.Pair; diff --git a/compute/src/main/java/org/zstack/compute/vm/VmSetDefaultL3NetworkOnAttachingFlow.java b/compute/src/main/java/org/zstack/compute/vm/VmSetDefaultL3NetworkOnAttachingFlow.java index 407129606f6..58b23310a1a 100755 --- a/compute/src/main/java/org/zstack/compute/vm/VmSetDefaultL3NetworkOnAttachingFlow.java +++ b/compute/src/main/java/org/zstack/compute/vm/VmSetDefaultL3NetworkOnAttachingFlow.java @@ -8,7 +8,10 @@ import org.zstack.header.core.workflow.FlowRollback; import org.zstack.header.core.workflow.FlowTrigger; import org.zstack.header.network.l3.L3NetworkInventory; -import org.zstack.header.vm.*; +import org.zstack.header.vm.VmInstanceConstant; +import org.zstack.header.vm.VmInstanceSpec; +import org.zstack.header.vm.VmInstanceVO; +import org.zstack.header.vm.VmNicSpec; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; diff --git a/compute/src/main/java/org/zstack/compute/vm/VmStartOnHypervisorFlow.java b/compute/src/main/java/org/zstack/compute/vm/VmStartOnHypervisorFlow.java index 20965f61655..2d4a69de84a 100755 --- a/compute/src/main/java/org/zstack/compute/vm/VmStartOnHypervisorFlow.java +++ b/compute/src/main/java/org/zstack/compute/vm/VmStartOnHypervisorFlow.java @@ -11,7 +11,11 @@ import org.zstack.header.core.workflow.FlowTrigger; import org.zstack.header.host.HostConstant; import org.zstack.header.message.MessageReply; -import org.zstack.header.vm.*; +import org.zstack.header.vm.StartVmOnHypervisorMsg; +import org.zstack.header.vm.StopVmOnHypervisorMsg; +import org.zstack.header.vm.VmBeforeStartOnHypervisorExtensionPoint; +import org.zstack.header.vm.VmInstanceConstant; +import org.zstack.header.vm.VmInstanceSpec; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; diff --git a/compute/src/main/java/org/zstack/compute/vm/VmStopOnHypervisorFlow.java b/compute/src/main/java/org/zstack/compute/vm/VmStopOnHypervisorFlow.java index 96120fbb7a5..e16d982682b 100755 --- a/compute/src/main/java/org/zstack/compute/vm/VmStopOnHypervisorFlow.java +++ b/compute/src/main/java/org/zstack/compute/vm/VmStopOnHypervisorFlow.java @@ -13,7 +13,11 @@ import org.zstack.header.host.HostConstant; import org.zstack.header.host.HostErrors; import org.zstack.header.message.MessageReply; -import org.zstack.header.vm.*; +import org.zstack.header.vm.RebootVmInstanceMsg; +import org.zstack.header.vm.StopVmMessage; +import org.zstack.header.vm.StopVmOnHypervisorMsg; +import org.zstack.header.vm.VmInstanceConstant; +import org.zstack.header.vm.VmInstanceSpec; import java.util.Map; diff --git a/compute/src/main/java/org/zstack/compute/vm/VmTracer.java b/compute/src/main/java/org/zstack/compute/vm/VmTracer.java index e76ee3da398..6bd63de8903 100755 --- a/compute/src/main/java/org/zstack/compute/vm/VmTracer.java +++ b/compute/src/main/java/org/zstack/compute/vm/VmTracer.java @@ -9,13 +9,21 @@ import org.zstack.core.thread.SyncTask; import org.zstack.core.thread.ThreadFacade; import org.zstack.header.exception.CloudRuntimeException; -import org.zstack.header.vm.*; +import org.zstack.header.vm.VmInstanceConstant; +import org.zstack.header.vm.VmInstanceState; +import org.zstack.header.vm.VmInstanceVO; +import org.zstack.header.vm.VmStateChangedOnHostMsg; +import org.zstack.header.vm.VmTracerCanonicalEvents; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; import javax.persistence.Tuple; import javax.persistence.TypedQuery; -import java.util.*; +import java.util.HashMap; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; +import java.util.Set; import static org.zstack.utils.CollectionDSL.list; diff --git a/compute/src/main/java/org/zstack/compute/vm/VmUpdateNicOnHypervisorFlow.java b/compute/src/main/java/org/zstack/compute/vm/VmUpdateNicOnHypervisorFlow.java index 0f9d665e6ea..07a272792e6 100755 --- a/compute/src/main/java/org/zstack/compute/vm/VmUpdateNicOnHypervisorFlow.java +++ b/compute/src/main/java/org/zstack/compute/vm/VmUpdateNicOnHypervisorFlow.java @@ -10,7 +10,10 @@ import org.zstack.header.host.HostConstant; import org.zstack.header.host.HostInventory; import org.zstack.header.message.MessageReply; -import org.zstack.header.vm.*; +import org.zstack.header.vm.VmInstanceConstant; +import org.zstack.header.vm.VmInstanceInventory; +import org.zstack.header.vm.VmInstanceSpec; +import org.zstack.header.vm.VmUpdateNicOnHypervisorMsg; import java.util.Map; diff --git a/compute/src/main/java/org/zstack/compute/vm/devices/VmInstanceDeviceManagerImpl.java b/compute/src/main/java/org/zstack/compute/vm/devices/VmInstanceDeviceManagerImpl.java index 96bd11d0b37..c58ee42e3a6 100644 --- a/compute/src/main/java/org/zstack/compute/vm/devices/VmInstanceDeviceManagerImpl.java +++ b/compute/src/main/java/org/zstack/compute/vm/devices/VmInstanceDeviceManagerImpl.java @@ -10,10 +10,22 @@ import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.errorcode.OperationFailureException; import org.zstack.header.exception.CloudRuntimeException; -import org.zstack.header.vm.*; +import org.zstack.header.vm.VmInstanceInventory; +import org.zstack.header.vm.VmInstanceVO; +import org.zstack.header.vm.VmInstanceVO_; +import org.zstack.header.vm.VmNicVO; +import org.zstack.header.vm.VmNicVO_; import org.zstack.header.vm.cdrom.VmCdRomVO; import org.zstack.header.vm.cdrom.VmCdRomVO_; -import org.zstack.header.vm.devices.*; +import org.zstack.header.vm.devices.DeviceAddress; +import org.zstack.header.vm.devices.VirtualDeviceInfo; +import org.zstack.header.vm.devices.VmInstanceDeviceAddressArchiveVO; +import org.zstack.header.vm.devices.VmInstanceDeviceAddressArchiveVO_; +import org.zstack.header.vm.devices.VmInstanceDeviceAddressGroupVO; +import org.zstack.header.vm.devices.VmInstanceDeviceAddressGroupVO_; +import org.zstack.header.vm.devices.VmInstanceDeviceAddressVO; +import org.zstack.header.vm.devices.VmInstanceDeviceAddressVO_; +import org.zstack.header.vm.devices.VmInstanceDeviceManager; import org.zstack.header.volume.VolumeVO; import org.zstack.header.volume.VolumeVO_; import org.zstack.utils.Utils; diff --git a/compute/src/main/java/org/zstack/compute/zone/BaseZoneFactory.java b/compute/src/main/java/org/zstack/compute/zone/BaseZoneFactory.java index 8b653611b4c..62f0fb6bd7a 100755 --- a/compute/src/main/java/org/zstack/compute/zone/BaseZoneFactory.java +++ b/compute/src/main/java/org/zstack/compute/zone/BaseZoneFactory.java @@ -4,7 +4,11 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Configurable; import org.zstack.core.db.DatabaseFacade; -import org.zstack.header.zone.*; +import org.zstack.header.zone.APICreateZoneMsg; +import org.zstack.header.zone.Zone; +import org.zstack.header.zone.ZoneFactory; +import org.zstack.header.zone.ZoneType; +import org.zstack.header.zone.ZoneVO; @Configurable(preConstruction = true, autowire = Autowire.BY_TYPE) public class BaseZoneFactory implements ZoneFactory { diff --git a/compute/src/main/java/org/zstack/compute/zone/ZoneApiInterceptor.java b/compute/src/main/java/org/zstack/compute/zone/ZoneApiInterceptor.java index 2856d140e79..d35660ba856 100755 --- a/compute/src/main/java/org/zstack/compute/zone/ZoneApiInterceptor.java +++ b/compute/src/main/java/org/zstack/compute/zone/ZoneApiInterceptor.java @@ -7,7 +7,11 @@ import org.zstack.header.apimediator.ApiMessageInterceptor; import org.zstack.header.apimediator.StopRoutingException; import org.zstack.header.message.APIMessage; -import org.zstack.header.zone.*; +import org.zstack.header.zone.APIDeleteZoneEvent; +import org.zstack.header.zone.APIDeleteZoneMsg; +import org.zstack.header.zone.ZoneConstant; +import org.zstack.header.zone.ZoneMessage; +import org.zstack.header.zone.ZoneVO; /** * Created with IntelliJ IDEA. diff --git a/compute/src/main/java/org/zstack/compute/zone/ZoneBase.java b/compute/src/main/java/org/zstack/compute/zone/ZoneBase.java index ba1f889a46f..7e2b7753fad 100755 --- a/compute/src/main/java/org/zstack/compute/zone/ZoneBase.java +++ b/compute/src/main/java/org/zstack/compute/zone/ZoneBase.java @@ -17,13 +17,30 @@ import org.zstack.core.workflow.FlowChainBuilder; import org.zstack.header.core.Completion; import org.zstack.header.core.NopeCompletion; -import org.zstack.header.core.workflow.*; +import org.zstack.header.core.workflow.FlowChain; +import org.zstack.header.core.workflow.FlowDoneHandler; +import org.zstack.header.core.workflow.FlowErrorHandler; +import org.zstack.header.core.workflow.FlowTrigger; +import org.zstack.header.core.workflow.NoRollbackFlow; import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.errorcode.SysErrors; import org.zstack.header.message.APIDeleteMessage; import org.zstack.header.message.APIMessage; import org.zstack.header.message.Message; -import org.zstack.header.zone.*; +import org.zstack.header.zone.APIChangeZoneStateEvent; +import org.zstack.header.zone.APIChangeZoneStateMsg; +import org.zstack.header.zone.APIDeleteZoneEvent; +import org.zstack.header.zone.APIDeleteZoneMsg; +import org.zstack.header.zone.APIUpdateZoneEvent; +import org.zstack.header.zone.APIUpdateZoneMsg; +import org.zstack.header.zone.ZoneDeletionMsg; +import org.zstack.header.zone.ZoneDeletionReply; +import org.zstack.header.zone.ZoneException; +import org.zstack.header.zone.ZoneInventory; +import org.zstack.header.zone.ZoneState; +import org.zstack.header.zone.ZoneStateEvent; +import org.zstack.header.zone.ZoneVO; +import org.zstack.header.zone.ZoneVO_; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; @@ -181,6 +198,7 @@ protected void handle(APIDeleteZoneMsg msg) { FlowChain chain = FlowChainBuilder.newSimpleFlowChain(); chain.setName(String.format("delete-zone-%s", msg.getUuid())); if (msg.getDeletionMode() == APIDeleteMessage.DeletionMode.Permissive) { + // DEBT: NoRollbackFlow — in getName chain.then(new NoRollbackFlow() { @Override public void run(final FlowTrigger trigger, Map data) { @@ -196,6 +214,7 @@ public void fail(ErrorCode errorCode) { } }); } + // DEBT: NoRollbackFlow — in getName }).then(new NoRollbackFlow() { @Override public void run(final FlowTrigger trigger, Map data) { @@ -213,6 +232,7 @@ public void fail(ErrorCode errorCode) { } }); } else { + // DEBT: NoRollbackFlow — reason TBD chain.then(new NoRollbackFlow() { @Override public void run(final FlowTrigger trigger, Map data) { diff --git a/compute/src/main/java/org/zstack/compute/zone/ZoneCascadeExtension.java b/compute/src/main/java/org/zstack/compute/zone/ZoneCascadeExtension.java index f888a0a86cd..aca31bf67b1 100755 --- a/compute/src/main/java/org/zstack/compute/zone/ZoneCascadeExtension.java +++ b/compute/src/main/java/org/zstack/compute/zone/ZoneCascadeExtension.java @@ -1,14 +1,20 @@ package org.zstack.compute.zone; import org.springframework.beans.factory.annotation.Autowired; -import org.zstack.core.cascade.*; +import org.zstack.core.cascade.AbstractAsyncCascadeExtension; +import org.zstack.core.cascade.CascadeAction; +import org.zstack.core.cascade.CascadeConstant; import org.zstack.core.cloudbus.CloudBus; import org.zstack.core.cloudbus.CloudBusListCallBack; import org.zstack.core.db.DatabaseFacade; import org.zstack.core.errorcode.ErrorFacade; import org.zstack.header.core.Completion; import org.zstack.header.message.MessageReply; -import org.zstack.header.zone.*; +import org.zstack.header.zone.ZoneConstant; +import org.zstack.header.zone.ZoneDeletionMsg; +import org.zstack.header.zone.ZoneException; +import org.zstack.header.zone.ZoneInventory; +import org.zstack.header.zone.ZoneVO; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; diff --git a/compute/src/main/java/org/zstack/compute/zone/ZoneExtensionPointEmitter.java b/compute/src/main/java/org/zstack/compute/zone/ZoneExtensionPointEmitter.java index 532b3ac040b..39482f06547 100755 --- a/compute/src/main/java/org/zstack/compute/zone/ZoneExtensionPointEmitter.java +++ b/compute/src/main/java/org/zstack/compute/zone/ZoneExtensionPointEmitter.java @@ -4,7 +4,13 @@ import org.zstack.core.componentloader.PluginExtension; import org.zstack.core.componentloader.PluginRegistry; import org.zstack.header.Component; -import org.zstack.header.zone.*; +import org.zstack.header.zone.ZoneChangeStateExtensionPoint; +import org.zstack.header.zone.ZoneDeleteExtensionPoint; +import org.zstack.header.zone.ZoneException; +import org.zstack.header.zone.ZoneInventory; +import org.zstack.header.zone.ZoneState; +import org.zstack.header.zone.ZoneStateEvent; +import org.zstack.header.zone.ZoneVO; import org.zstack.utils.CollectionUtils; import org.zstack.utils.Utils; import org.zstack.utils.function.ForEachFunction; diff --git a/compute/src/main/java/org/zstack/compute/zone/ZoneManagerImpl.java b/compute/src/main/java/org/zstack/compute/zone/ZoneManagerImpl.java index e450fa75f9b..c36ad2a9558 100755 --- a/compute/src/main/java/org/zstack/compute/zone/ZoneManagerImpl.java +++ b/compute/src/main/java/org/zstack/compute/zone/ZoneManagerImpl.java @@ -20,14 +20,31 @@ import org.zstack.header.exception.CloudRuntimeException; import org.zstack.header.message.APIMessage; import org.zstack.header.message.Message; -import org.zstack.header.zone.*; +import org.zstack.header.zone.APICreateZoneEvent; +import org.zstack.header.zone.APICreateZoneMsg; +import org.zstack.header.zone.APIGetZoneMsg; +import org.zstack.header.zone.APIGetZoneReply; +import org.zstack.header.zone.Zone; +import org.zstack.header.zone.ZoneConstant; +import org.zstack.header.zone.ZoneDeletionMsg; +import org.zstack.header.zone.ZoneEO; +import org.zstack.header.zone.ZoneFactory; +import org.zstack.header.zone.ZoneInventory; +import org.zstack.header.zone.ZoneMessage; +import org.zstack.header.zone.ZoneType; +import org.zstack.header.zone.ZoneVO; +import org.zstack.header.zone.ZoneVO_; import org.zstack.search.SearchQuery; import org.zstack.tag.TagManager; import org.zstack.utils.ObjectUtils; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; -import java.util.*; +import java.util.Collections; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Map; +import java.util.Set; import static org.zstack.core.Platform.err; import static java.util.Arrays.asList; diff --git a/configuration/src/main/java/org/zstack/configuration/ConfigurationApiInterceptor.java b/configuration/src/main/java/org/zstack/configuration/ConfigurationApiInterceptor.java index 4a706a88b55..6ab8238bd4f 100755 --- a/configuration/src/main/java/org/zstack/configuration/ConfigurationApiInterceptor.java +++ b/configuration/src/main/java/org/zstack/configuration/ConfigurationApiInterceptor.java @@ -9,7 +9,16 @@ import org.zstack.header.apimediator.ApiMessageInterceptionException; import org.zstack.header.apimediator.ApiMessageInterceptor; import org.zstack.header.apimediator.StopRoutingException; -import org.zstack.header.configuration.*; +import org.zstack.header.configuration.APICreateDiskOfferingMsg; +import org.zstack.header.configuration.APICreateInstanceOfferingMsg; +import org.zstack.header.configuration.APIDeleteDiskOfferingEvent; +import org.zstack.header.configuration.APIDeleteDiskOfferingMsg; +import org.zstack.header.configuration.APIUpdateInstanceOfferingMsg; +import org.zstack.header.configuration.ConfigurationConstant; +import org.zstack.header.configuration.DiskOfferingMessage; +import org.zstack.header.configuration.DiskOfferingVO; +import org.zstack.header.configuration.InstanceOfferingMessage; +import org.zstack.header.configuration.InstanceOfferingType; import org.zstack.header.message.APIMessage; import org.zstack.header.storage.primary.PrimaryStorageAllocatorStrategyType; import org.zstack.utils.data.SizeUnit; diff --git a/configuration/src/main/java/org/zstack/configuration/ConfigurationManagerImpl.java b/configuration/src/main/java/org/zstack/configuration/ConfigurationManagerImpl.java index ad0aa1efb24..67133e33755 100755 --- a/configuration/src/main/java/org/zstack/configuration/ConfigurationManagerImpl.java +++ b/configuration/src/main/java/org/zstack/configuration/ConfigurationManagerImpl.java @@ -27,14 +27,62 @@ import org.zstack.header.AbstractService; import org.zstack.header.allocator.HostAllocatorConstant; import org.zstack.header.allocator.HostAllocatorStrategyType; -import org.zstack.header.configuration.*; +import org.zstack.header.configuration.APICreateDiskOfferingEvent; +import org.zstack.header.configuration.APICreateDiskOfferingMsg; +import org.zstack.header.configuration.APICreateInstanceOfferingEvent; +import org.zstack.header.configuration.APICreateInstanceOfferingMsg; +import org.zstack.header.configuration.APIGenerateApiJsonTemplateEvent; +import org.zstack.header.configuration.APIGenerateApiJsonTemplateMsg; +import org.zstack.header.configuration.APIGenerateGroovyClassEvent; +import org.zstack.header.configuration.APIGenerateGroovyClassMsg; +import org.zstack.header.configuration.APIGenerateSqlForeignKeyEvent; +import org.zstack.header.configuration.APIGenerateSqlForeignKeyMsg; +import org.zstack.header.configuration.APIGenerateSqlIndexEvent; +import org.zstack.header.configuration.APIGenerateSqlIndexMsg; +import org.zstack.header.configuration.APIGenerateSqlVOViewEvent; +import org.zstack.header.configuration.APIGenerateSqlVOViewMsg; +import org.zstack.header.configuration.APIGenerateTestLinkDocumentEvent; +import org.zstack.header.configuration.APIGenerateTestLinkDocumentMsg; +import org.zstack.header.configuration.APIGetGlobalPropertyMsg; +import org.zstack.header.configuration.APIGetGlobalPropertyReply; +import org.zstack.header.configuration.ConfigurationConstant; +import org.zstack.header.configuration.DiskOffering; +import org.zstack.header.configuration.DiskOfferingDeletionMsg; +import org.zstack.header.configuration.DiskOfferingEO; +import org.zstack.header.configuration.DiskOfferingFactory; +import org.zstack.header.configuration.DiskOfferingInventory; +import org.zstack.header.configuration.DiskOfferingMessage; +import org.zstack.header.configuration.DiskOfferingState; +import org.zstack.header.configuration.DiskOfferingVO; +import org.zstack.header.configuration.InstanceOffering; +import org.zstack.header.configuration.InstanceOfferingDeletionMsg; +import org.zstack.header.configuration.InstanceOfferingDuration; +import org.zstack.header.configuration.InstanceOfferingEO; +import org.zstack.header.configuration.InstanceOfferingFactory; +import org.zstack.header.configuration.InstanceOfferingInventory; +import org.zstack.header.configuration.InstanceOfferingMessage; +import org.zstack.header.configuration.InstanceOfferingState; +import org.zstack.header.configuration.InstanceOfferingVO; +import org.zstack.header.configuration.NoPython; +import org.zstack.header.configuration.PythonApiBindingWriter; +import org.zstack.header.configuration.PythonClass; +import org.zstack.header.configuration.PythonClassInventory; import org.zstack.header.configuration.userconfig.DiskOfferingUserConfigValidator; import org.zstack.header.configuration.userconfig.InstanceOfferingUserConfigValidator; import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.errorcode.OperationFailureException; import org.zstack.header.exception.CloudRuntimeException; import org.zstack.header.log.NoLogging; -import org.zstack.header.message.*; +import org.zstack.header.message.APICreateMessage; +import org.zstack.header.message.APIDeleteMessage; +import org.zstack.header.message.APIEvent; +import org.zstack.header.message.APIListMessage; +import org.zstack.header.message.APIMessage; +import org.zstack.header.message.APIParam; +import org.zstack.header.message.APIReply; +import org.zstack.header.message.Message; +import org.zstack.header.message.OverriddenApiParam; +import org.zstack.header.message.OverriddenApiParams; import org.zstack.header.rest.APINoSee; import org.zstack.header.rest.RestRequest; import org.zstack.header.search.APIGetMessage; @@ -59,7 +107,17 @@ import java.io.File; import java.io.IOException; import java.lang.reflect.Field; -import java.util.*; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; +import java.util.Comparator; +import java.util.Enumeration; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Properties; +import java.util.Set; import java.util.stream.Collectors; import static org.zstack.core.Platform.argerr; diff --git a/configuration/src/main/java/org/zstack/configuration/DefaultDiskOfferingFactory.java b/configuration/src/main/java/org/zstack/configuration/DefaultDiskOfferingFactory.java index 7ecd41206f3..b1669e7d1f2 100755 --- a/configuration/src/main/java/org/zstack/configuration/DefaultDiskOfferingFactory.java +++ b/configuration/src/main/java/org/zstack/configuration/DefaultDiskOfferingFactory.java @@ -3,7 +3,12 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; import org.zstack.core.db.DatabaseFacade; -import org.zstack.header.configuration.*; +import org.zstack.header.configuration.APICreateDiskOfferingMsg; +import org.zstack.header.configuration.DiskOffering; +import org.zstack.header.configuration.DiskOfferingFactory; +import org.zstack.header.configuration.DiskOfferingInventory; +import org.zstack.header.configuration.DiskOfferingType; +import org.zstack.header.configuration.DiskOfferingVO; /** * Created with IntelliJ IDEA. diff --git a/configuration/src/main/java/org/zstack/configuration/DiskOfferingBase.java b/configuration/src/main/java/org/zstack/configuration/DiskOfferingBase.java index 7055b40e46e..c75a869e04c 100755 --- a/configuration/src/main/java/org/zstack/configuration/DiskOfferingBase.java +++ b/configuration/src/main/java/org/zstack/configuration/DiskOfferingBase.java @@ -9,10 +9,26 @@ import org.zstack.core.db.DatabaseFacade; import org.zstack.core.errorcode.ErrorFacade; import org.zstack.core.workflow.FlowChainBuilder; -import org.zstack.header.configuration.*; +import org.zstack.header.configuration.APIChangeDiskOfferingStateEvent; +import org.zstack.header.configuration.APIChangeDiskOfferingStateMsg; +import org.zstack.header.configuration.APIDeleteDiskOfferingEvent; +import org.zstack.header.configuration.APIDeleteDiskOfferingMsg; +import org.zstack.header.configuration.APIUpdateDiskOfferingEvent; +import org.zstack.header.configuration.APIUpdateDiskOfferingMsg; +import org.zstack.header.configuration.DiskOffering; +import org.zstack.header.configuration.DiskOfferingDeletionMsg; +import org.zstack.header.configuration.DiskOfferingDeletionReply; +import org.zstack.header.configuration.DiskOfferingInventory; +import org.zstack.header.configuration.DiskOfferingState; +import org.zstack.header.configuration.DiskOfferingStateEvent; +import org.zstack.header.configuration.DiskOfferingVO; import org.zstack.header.core.Completion; import org.zstack.header.core.NopeCompletion; -import org.zstack.header.core.workflow.*; +import org.zstack.header.core.workflow.FlowChain; +import org.zstack.header.core.workflow.FlowDoneHandler; +import org.zstack.header.core.workflow.FlowErrorHandler; +import org.zstack.header.core.workflow.FlowTrigger; +import org.zstack.header.core.workflow.NoRollbackFlow; import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.errorcode.SysErrors; import org.zstack.header.message.APIDeleteMessage; @@ -130,6 +146,7 @@ private void handle(APIDeleteDiskOfferingMsg msg) { FlowChain chain = FlowChainBuilder.newSimpleFlowChain(); chain.setName(String.format("delete-disk-offering-%s", msg.getUuid())); if (msg.getDeletionMode() == APIDeleteMessage.DeletionMode.Permissive) { + // DEBT: NoRollbackFlow — reason TBD chain.then(new NoRollbackFlow() { @Override public void run(final FlowTrigger trigger, Map data) { @@ -145,6 +162,7 @@ public void fail(ErrorCode errorCode) { } }); } + // DEBT: NoRollbackFlow — reason TBD }).then(new NoRollbackFlow() { @Override public void run(final FlowTrigger trigger, Map data) { @@ -162,6 +180,7 @@ public void fail(ErrorCode errorCode) { } }); } else { + // DEBT: NoRollbackFlow — reason TBD chain.then(new NoRollbackFlow() { @Override public void run(final FlowTrigger trigger, Map data) { diff --git a/configuration/src/main/java/org/zstack/configuration/InstanceOfferingBase.java b/configuration/src/main/java/org/zstack/configuration/InstanceOfferingBase.java index 2c017583f43..575f4c31dfe 100755 --- a/configuration/src/main/java/org/zstack/configuration/InstanceOfferingBase.java +++ b/configuration/src/main/java/org/zstack/configuration/InstanceOfferingBase.java @@ -9,10 +9,26 @@ import org.zstack.core.db.DatabaseFacade; import org.zstack.core.errorcode.ErrorFacade; import org.zstack.header.core.NopeCompletion; -import org.zstack.header.core.workflow.*; +import org.zstack.header.core.workflow.FlowChain; +import org.zstack.header.core.workflow.FlowDoneHandler; +import org.zstack.header.core.workflow.FlowErrorHandler; +import org.zstack.header.core.workflow.FlowTrigger; +import org.zstack.header.core.workflow.NoRollbackFlow; import org.zstack.header.errorcode.SysErrors; -import org.zstack.core.workflow.*; -import org.zstack.header.configuration.*; +import org.zstack.core.workflow.FlowChainBuilder; +import org.zstack.header.configuration.APIChangeInstanceOfferingStateEvent; +import org.zstack.header.configuration.APIChangeInstanceOfferingStateMsg; +import org.zstack.header.configuration.APIDeleteInstanceOfferingEvent; +import org.zstack.header.configuration.APIDeleteInstanceOfferingMsg; +import org.zstack.header.configuration.APIUpdateInstanceOfferingEvent; +import org.zstack.header.configuration.APIUpdateInstanceOfferingMsg; +import org.zstack.header.configuration.InstanceOffering; +import org.zstack.header.configuration.InstanceOfferingDeletionMsg; +import org.zstack.header.configuration.InstanceOfferingDeletionReply; +import org.zstack.header.configuration.InstanceOfferingInventory; +import org.zstack.header.configuration.InstanceOfferingState; +import org.zstack.header.configuration.InstanceOfferingStateEvent; +import org.zstack.header.configuration.InstanceOfferingVO; import org.zstack.header.core.Completion; import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.message.APIDeleteMessage; @@ -134,6 +150,7 @@ private void handle(APIDeleteInstanceOfferingMsg msg) { FlowChain chain = FlowChainBuilder.newSimpleFlowChain(); chain.setName(String.format("delete-instance-offering-%s", msg.getUuid())); if (msg.getDeletionMode() == APIDeleteMessage.DeletionMode.Permissive) { + // DEBT: NoRollbackFlow — in updateInstanceOffering chain.then(new NoRollbackFlow() { @Override public void run(final FlowTrigger trigger, Map data) { @@ -149,6 +166,7 @@ public void fail(ErrorCode errorCode) { } }); } + // DEBT: NoRollbackFlow — reason TBD }).then(new NoRollbackFlow() { @Override public void run(final FlowTrigger trigger, Map data) { @@ -166,6 +184,7 @@ public void fail(ErrorCode errorCode) { } }); } else { + // DEBT: NoRollbackFlow — reason TBD chain.then(new NoRollbackFlow() { @Override public void run(final FlowTrigger trigger, Map data) { diff --git a/configuration/src/main/java/org/zstack/configuration/SqlForeignKeyGenerator.java b/configuration/src/main/java/org/zstack/configuration/SqlForeignKeyGenerator.java index 3cdd9919001..6916d2b6a10 100755 --- a/configuration/src/main/java/org/zstack/configuration/SqlForeignKeyGenerator.java +++ b/configuration/src/main/java/org/zstack/configuration/SqlForeignKeyGenerator.java @@ -19,7 +19,12 @@ import java.io.File; import java.io.IOException; import java.lang.reflect.Field; -import java.util.*; +import java.util.ArrayList; +import java.util.Collections; +import java.util.Comparator; +import java.util.HashMap; +import java.util.List; +import java.util.Map; /** */ diff --git a/configuration/src/main/java/org/zstack/configuration/SqlIndexGenerator.java b/configuration/src/main/java/org/zstack/configuration/SqlIndexGenerator.java index 050517b6bdc..1a59e177c65 100755 --- a/configuration/src/main/java/org/zstack/configuration/SqlIndexGenerator.java +++ b/configuration/src/main/java/org/zstack/configuration/SqlIndexGenerator.java @@ -16,7 +16,13 @@ import java.io.File; import java.io.IOException; import java.lang.reflect.Field; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.Comparator; +import java.util.HashMap; +import java.util.List; +import java.util.Map; /** */ diff --git a/configuration/src/main/java/org/zstack/configuration/UserVmInstanceOfferingFactory.java b/configuration/src/main/java/org/zstack/configuration/UserVmInstanceOfferingFactory.java index fd0644fc8c1..314c3915f15 100755 --- a/configuration/src/main/java/org/zstack/configuration/UserVmInstanceOfferingFactory.java +++ b/configuration/src/main/java/org/zstack/configuration/UserVmInstanceOfferingFactory.java @@ -3,7 +3,13 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; import org.zstack.core.db.DatabaseFacade; -import org.zstack.header.configuration.*; +import org.zstack.header.configuration.APICreateInstanceOfferingMsg; +import org.zstack.header.configuration.ConfigurationConstant; +import org.zstack.header.configuration.InstanceOffering; +import org.zstack.header.configuration.InstanceOfferingFactory; +import org.zstack.header.configuration.InstanceOfferingInventory; +import org.zstack.header.configuration.InstanceOfferingType; +import org.zstack.header.configuration.InstanceOfferingVO; public class UserVmInstanceOfferingFactory implements InstanceOfferingFactory { static final InstanceOfferingType type = new InstanceOfferingType(ConfigurationConstant.USER_VM_INSTANCE_OFFERING_TYPE); diff --git a/console/src/main/java/org/zstack/console/AbstractConsoleProxyBackend.java b/console/src/main/java/org/zstack/console/AbstractConsoleProxyBackend.java index c9091daac28..bc13842af4a 100755 --- a/console/src/main/java/org/zstack/console/AbstractConsoleProxyBackend.java +++ b/console/src/main/java/org/zstack/console/AbstractConsoleProxyBackend.java @@ -162,6 +162,7 @@ public void grantConsoleAccess(final SessionInventory session, final VmInstanceI @Override public void setup() { + // DEBT: NoRollbackFlow — in grantConsoleAccess flow(new NoRollbackFlow() { String __name__ = "delete-old-console"; @@ -181,6 +182,7 @@ public void fail(ErrorCode errorCode) { } }); + // DEBT: NoRollbackFlow — reason TBD flow(new NoRollbackFlow() { String __name__ = "create-new-console"; diff --git a/console/src/main/java/org/zstack/console/ManagementServerConsoleProxyBackend.java b/console/src/main/java/org/zstack/console/ManagementServerConsoleProxyBackend.java index b909b98be60..99f731094c9 100755 --- a/console/src/main/java/org/zstack/console/ManagementServerConsoleProxyBackend.java +++ b/console/src/main/java/org/zstack/console/ManagementServerConsoleProxyBackend.java @@ -486,6 +486,7 @@ private void handle(UpdateConsoleProxyAgentMsg msg) { @Override public void setup() { + // DEBT: NoRollbackFlow — reason TBD flow(new NoRollbackFlow() { String __name__ = "verify-console-proxy-port"; @Override @@ -580,6 +581,7 @@ public void rollback(FlowRollback trigger, Map data) { } }); + // DEBT: NoRollbackFlow — in rollback flow(new NoRollbackFlow() { String __name__ = "reconnect-console-proxy"; @Override diff --git a/core/src/main/java/org/zstack/core/CoreManagerImpl.java b/core/src/main/java/org/zstack/core/CoreManagerImpl.java index f8e172cd41c..9c63543855a 100644 --- a/core/src/main/java/org/zstack/core/CoreManagerImpl.java +++ b/core/src/main/java/org/zstack/core/CoreManagerImpl.java @@ -10,7 +10,13 @@ import org.zstack.core.singleflight.MultiNodeSingleFlightImpl; import org.zstack.core.thread.ThreadFacade; import org.zstack.header.AbstractService; -import org.zstack.header.core.*; +import org.zstack.header.core.APIGetChainTaskMsg; +import org.zstack.header.core.APIGetChainTaskReply; +import org.zstack.header.core.CoreConstant; +import org.zstack.header.core.GetLocalTaskMsg; +import org.zstack.header.core.GetLocalTaskReply; +import org.zstack.header.core.ReturnValueCompletion; +import org.zstack.header.core.WhileDoneCompletion; import org.zstack.header.core.progress.ChainInfo; import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.errorcode.ErrorCodeList; diff --git a/core/src/main/java/org/zstack/core/Platform.java b/core/src/main/java/org/zstack/core/Platform.java index ce5bada0d6c..3fc9155989e 100755 --- a/core/src/main/java/org/zstack/core/Platform.java +++ b/core/src/main/java/org/zstack/core/Platform.java @@ -31,7 +31,17 @@ import org.zstack.header.exception.CloudRuntimeException; import org.zstack.header.identity.IdentityErrors; import org.zstack.header.vo.BaseResource; -import org.zstack.utils.*; +import org.zstack.utils.BeanUtils; +import org.zstack.utils.BootErrorLog; +import org.zstack.utils.CollectionDSL; +import org.zstack.utils.FieldUtils; +import org.zstack.utils.Linux; +import org.zstack.utils.ProcessFinder; +import org.zstack.utils.ShellResult; +import org.zstack.utils.ShellUtils; +import org.zstack.utils.StringDSL; +import org.zstack.utils.TimeUtils; +import org.zstack.utils.TypeUtils; import org.zstack.utils.data.StringTemplate; import org.zstack.utils.logging.CLogger; import org.zstack.utils.logging.CLoggerImpl; @@ -58,7 +68,17 @@ import java.net.SocketException; import java.net.UnknownHostException; import java.sql.Timestamp; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.Enumeration; +import java.util.HashMap; +import java.util.List; +import java.util.Locale; +import java.util.Map; +import java.util.Properties; +import java.util.Set; +import java.util.UUID; import java.util.concurrent.TimeUnit; import java.util.function.Function; import java.util.function.Supplier; diff --git a/core/src/main/java/org/zstack/core/agent/AgentManagerImpl.java b/core/src/main/java/org/zstack/core/agent/AgentManagerImpl.java index 0e0482f2442..07a3487a459 100755 --- a/core/src/main/java/org/zstack/core/agent/AgentManagerImpl.java +++ b/core/src/main/java/org/zstack/core/agent/AgentManagerImpl.java @@ -19,7 +19,11 @@ import org.zstack.header.core.Completion; import org.zstack.header.core.NoErrorCompletion; import org.zstack.header.core.ReturnValueCompletion; -import org.zstack.header.core.workflow.*; +import org.zstack.header.core.workflow.FlowChain; +import org.zstack.header.core.workflow.FlowDoneHandler; +import org.zstack.header.core.workflow.FlowErrorHandler; +import org.zstack.header.core.workflow.FlowTrigger; +import org.zstack.header.core.workflow.NoRollbackFlow; import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.exception.CloudRuntimeException; import org.zstack.header.message.Message; @@ -118,6 +122,7 @@ private String url(String path) { @Override public void setup() { + // DEBT: NoRollbackFlow — in url flow(new NoRollbackFlow() { String __name__ = "echo-server"; @@ -137,6 +142,7 @@ public void fail(ErrorCode errorCode) { } }); + // DEBT: NoRollbackFlow — in url flow(new NoRollbackFlow() { String __name__= "init-server"; diff --git a/core/src/main/java/org/zstack/core/ansible/AnsibleFacadeImpl.java b/core/src/main/java/org/zstack/core/ansible/AnsibleFacadeImpl.java index dada8634e59..7dd0bad169d 100755 --- a/core/src/main/java/org/zstack/core/ansible/AnsibleFacadeImpl.java +++ b/core/src/main/java/org/zstack/core/ansible/AnsibleFacadeImpl.java @@ -36,7 +36,12 @@ import java.io.IOException; import java.nio.file.Files; import java.nio.file.Paths; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; +import java.util.HashMap; +import java.util.List; +import java.util.Map; import java.util.concurrent.TimeUnit; import static org.zstack.core.Platform.operr; diff --git a/core/src/main/java/org/zstack/core/ansible/AnsibleRunner.java b/core/src/main/java/org/zstack/core/ansible/AnsibleRunner.java index b05e66ef2ff..7f7de63a231 100755 --- a/core/src/main/java/org/zstack/core/ansible/AnsibleRunner.java +++ b/core/src/main/java/org/zstack/core/ansible/AnsibleRunner.java @@ -26,7 +26,10 @@ import java.io.File; import java.io.IOException; import java.net.URI; -import java.util.*; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; import java.util.concurrent.TimeUnit; import static org.zstack.core.Platform.operr; diff --git a/core/src/main/java/org/zstack/core/ansible/SshChronyConfigChecker.java b/core/src/main/java/org/zstack/core/ansible/SshChronyConfigChecker.java index e9afbb1ee09..843d58fbbd1 100644 --- a/core/src/main/java/org/zstack/core/ansible/SshChronyConfigChecker.java +++ b/core/src/main/java/org/zstack/core/ansible/SshChronyConfigChecker.java @@ -6,7 +6,8 @@ import org.zstack.utils.ssh.Ssh; import org.zstack.utils.ssh.SshResult; -import java.util.*; +import java.util.Arrays; +import java.util.Set; import java.util.stream.Collectors; import java.util.stream.Stream; diff --git a/core/src/main/java/org/zstack/core/captcha/CaptchaImpl.java b/core/src/main/java/org/zstack/core/captcha/CaptchaImpl.java index 03f0db339cc..da85a5d857b 100644 --- a/core/src/main/java/org/zstack/core/captcha/CaptchaImpl.java +++ b/core/src/main/java/org/zstack/core/captcha/CaptchaImpl.java @@ -16,7 +16,11 @@ import org.zstack.header.AbstractService; import org.zstack.header.Component; import org.zstack.header.core.ReturnValueCompletion; -import org.zstack.header.core.captcha.*; +import org.zstack.header.core.captcha.Captcha; +import org.zstack.header.core.captcha.CaptchaConstant; +import org.zstack.header.core.captcha.CaptchaStruct; +import org.zstack.header.core.captcha.CaptchaVO; +import org.zstack.header.core.captcha.CaptchaVO_; import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.message.APIMessage; import org.zstack.header.message.Message; @@ -25,7 +29,7 @@ import javax.imageio.ImageIO; import javax.persistence.Query; -import java.awt.*; +import java.awt.Color; import java.io.ByteArrayOutputStream; import java.io.FileNotFoundException; import java.io.IOException; diff --git a/core/src/main/java/org/zstack/core/cascade/CascadeFacadeImpl.java b/core/src/main/java/org/zstack/core/cascade/CascadeFacadeImpl.java index f7dad373ce1..dc097edc3f1 100755 --- a/core/src/main/java/org/zstack/core/cascade/CascadeFacadeImpl.java +++ b/core/src/main/java/org/zstack/core/cascade/CascadeFacadeImpl.java @@ -2,10 +2,14 @@ import org.springframework.beans.factory.annotation.Autowired; import org.zstack.core.componentloader.PluginRegistry; -import org.zstack.core.workflow.*; +import org.zstack.core.workflow.FlowChainBuilder; import org.zstack.header.Component; import org.zstack.header.core.Completion; -import org.zstack.header.core.workflow.*; +import org.zstack.header.core.workflow.FlowChain; +import org.zstack.header.core.workflow.FlowDoneHandler; +import org.zstack.header.core.workflow.FlowErrorHandler; +import org.zstack.header.core.workflow.FlowTrigger; +import org.zstack.header.core.workflow.NoRollbackFlow; import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.exception.CloudRuntimeException; import org.zstack.utils.Bucket; @@ -13,7 +17,13 @@ import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; -import java.util.*; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import java.util.TreeSet; import java.util.concurrent.Callable; /** @@ -218,6 +228,7 @@ public void asyncCascade(CascadeAction action, final Completion completion) { for (Bucket path : paths) { final Node node = path.get(0); final CascadeAction caction = path.get(1); + // DEBT: NoRollbackFlow — in asyncCascade chain.then(new NoRollbackFlow() { String __name__ = String.format("async-cascade(%s)[%s --> %s]", caction.getActionCode(), caction.getParentIssuer(), node.getName()); @Override @@ -276,6 +287,7 @@ private void runNode(Node node, CascadeAction caction, Completion completion) { FlowChain chain = FlowChainBuilder.newSimpleFlowChain(); chain.setName(String.format("branch-cascade-extension-points-for-%s", node.getName())); + // DEBT: NoRollbackFlow — in runNode branches.forEach(b -> chain.then(new NoRollbackFlow() { String __name__ = String.format("branch-asycascade-extension-points-for-%s", b.getCascadeResourceName()); @Override @@ -298,6 +310,7 @@ public void fail(ErrorCode errorCode) { CascadeExtensionPoint addon = wrapper.findAddon(caction.getParentIssuer()); if (addon != null) { + // DEBT: NoRollbackFlow — in runNode chain.then(new NoRollbackFlow() { String __name__ = String.format("call-addon-%s", addon.getClass().getName()); diff --git a/core/src/main/java/org/zstack/core/cloudbus/CloudBus.java b/core/src/main/java/org/zstack/core/cloudbus/CloudBus.java index 2ae626dcebf..f28d8238533 100755 --- a/core/src/main/java/org/zstack/core/cloudbus/CloudBus.java +++ b/core/src/main/java/org/zstack/core/cloudbus/CloudBus.java @@ -6,7 +6,15 @@ import org.zstack.header.core.FutureCompletion; import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.exception.CloudConfigureFailException; -import org.zstack.header.message.*; +import org.zstack.header.message.APIEvent; +import org.zstack.header.message.APIMessage; +import org.zstack.header.message.BeforeDeliveryMessageInterceptor; +import org.zstack.header.message.BeforePublishEventInterceptor; +import org.zstack.header.message.BeforeSendMessageInterceptor; +import org.zstack.header.message.Event; +import org.zstack.header.message.Message; +import org.zstack.header.message.MessageReply; +import org.zstack.header.message.NeedReplyMessage; import javax.servlet.http.HttpServletResponse; import java.util.List; diff --git a/core/src/main/java/org/zstack/core/cloudbus/CloudBus3ManagementNodeLifeCycleTracker.java b/core/src/main/java/org/zstack/core/cloudbus/CloudBus3ManagementNodeLifeCycleTracker.java index 5914d88b051..50d3fb4caea 100755 --- a/core/src/main/java/org/zstack/core/cloudbus/CloudBus3ManagementNodeLifeCycleTracker.java +++ b/core/src/main/java/org/zstack/core/cloudbus/CloudBus3ManagementNodeLifeCycleTracker.java @@ -10,7 +10,15 @@ import org.zstack.header.exception.CloudRuntimeException; import org.zstack.header.managementnode.ManagementNodeChangeListener; import org.zstack.header.managementnode.ManagementNodeInventory; -import org.zstack.header.message.*; +import org.zstack.header.message.APIEvent; +import org.zstack.header.message.APIMessage; +import org.zstack.header.message.APIReply; +import org.zstack.header.message.APISyncCallMessage; +import org.zstack.header.message.BeforeDeliveryMessageInterceptor; +import org.zstack.header.message.BeforeSendMessageInterceptor; +import org.zstack.header.message.Message; +import org.zstack.header.message.MessageReply; +import org.zstack.header.message.NeedReplyMessage; import org.zstack.utils.gson.JSONObjectUtil; import java.util.Iterator; diff --git a/core/src/main/java/org/zstack/core/cloudbus/CloudBusGson.java b/core/src/main/java/org/zstack/core/cloudbus/CloudBusGson.java index 5c2b17f1179..0c76baa8805 100755 --- a/core/src/main/java/org/zstack/core/cloudbus/CloudBusGson.java +++ b/core/src/main/java/org/zstack/core/cloudbus/CloudBusGson.java @@ -10,7 +10,7 @@ import java.lang.reflect.Type; import java.time.OffsetDateTime; -import java.util.*; +import java.util.Map; public class CloudBusGson { private static Gson gson = new GsonUtil().setCoder(Message.class, new GsonTypeCoder() { diff --git a/core/src/main/java/org/zstack/core/cloudbus/CloudBusImpl2.java b/core/src/main/java/org/zstack/core/cloudbus/CloudBusImpl2.java index 85e16f1e39f..90f755975be 100755 --- a/core/src/main/java/org/zstack/core/cloudbus/CloudBusImpl2.java +++ b/core/src/main/java/org/zstack/core/cloudbus/CloudBusImpl2.java @@ -14,7 +14,11 @@ import org.zstack.core.errorcode.ErrorFacade; import org.zstack.core.jmx.JmxFacade; import org.zstack.core.log.LogUtils; -import org.zstack.core.thread.*; +import org.zstack.core.thread.AsyncThread; +import org.zstack.core.thread.PeriodicTask; +import org.zstack.core.thread.SyncTask; +import org.zstack.core.thread.SyncThread; +import org.zstack.core.thread.ThreadFacade; import org.zstack.core.thread.ThreadFacadeImpl.TimeoutTaskReceipt; import org.zstack.core.timeout.ApiTimeoutManager; import org.zstack.header.Constants; @@ -32,10 +36,29 @@ import org.zstack.header.exception.CloudRuntimeException; import org.zstack.header.managementnode.ManagementNodeChangeListener; import org.zstack.header.managementnode.ManagementNodeInventory; -import org.zstack.header.message.*; +import org.zstack.header.message.APIEvent; +import org.zstack.header.message.APIMessage; +import org.zstack.header.message.APIReply; +import org.zstack.header.message.APISyncCallMessage; +import org.zstack.header.message.BeforeDeliveryMessageInterceptor; +import org.zstack.header.message.BeforePublishEventInterceptor; +import org.zstack.header.message.BeforeSendMessageInterceptor; +import org.zstack.header.message.Event; +import org.zstack.header.message.GsonTransient; +import org.zstack.header.message.JsonSchemaBuilder; +import org.zstack.header.message.LockResourceMessage; +import org.zstack.header.message.Message; +import org.zstack.header.message.MessageReply; +import org.zstack.header.message.NeedReplyMessage; import org.zstack.header.search.APISearchMessage; import org.zstack.header.search.APISearchReply; -import org.zstack.utils.*; +import org.zstack.utils.BeanUtils; +import org.zstack.utils.CollectionUtils; +import org.zstack.utils.Compresser; +import org.zstack.utils.DebugUtils; +import org.zstack.utils.ExceptionDSL; +import org.zstack.utils.FieldUtils; +import org.zstack.utils.Utils; import org.zstack.utils.function.Function; import org.zstack.utils.gson.GsonTypeCoder; import org.zstack.utils.gson.GsonUtil; @@ -48,8 +71,21 @@ import java.lang.reflect.Field; import java.lang.reflect.Type; import java.sql.Timestamp; -import java.util.*; -import java.util.concurrent.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Comparator; +import java.util.Date; +import java.util.HashMap; +import java.util.Iterator; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; +import java.util.concurrent.ArrayBlockingQueue; +import java.util.concurrent.BlockingQueue; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.TimeUnit; +import java.util.concurrent.TimeoutException; import java.util.concurrent.atomic.AtomicBoolean; import static org.zstack.core.Platform.*; diff --git a/core/src/main/java/org/zstack/core/cloudbus/CloudBusImpl3.java b/core/src/main/java/org/zstack/core/cloudbus/CloudBusImpl3.java index 93e8555b875..8bdd29ff3c6 100755 --- a/core/src/main/java/org/zstack/core/cloudbus/CloudBusImpl3.java +++ b/core/src/main/java/org/zstack/core/cloudbus/CloudBusImpl3.java @@ -36,7 +36,11 @@ import org.zstack.header.Constants; import org.zstack.header.Service; import org.zstack.header.apimediator.StopRoutingException; -import org.zstack.header.core.*; +import org.zstack.header.core.ExceptionSafe; +import org.zstack.header.core.FutureCompletion; +import org.zstack.header.core.FutureReturnValueCompletion; +import org.zstack.header.core.NopeWhileDoneCompletion; +import org.zstack.header.core.WhileDoneCompletion; import org.zstack.header.core.cloudbus.CloudBusExtensionPoint; import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.errorcode.ErrorCodeList; diff --git a/core/src/main/java/org/zstack/core/cloudbus/CloudBusJMX.java b/core/src/main/java/org/zstack/core/cloudbus/CloudBusJMX.java index 3085b037bf6..c5c46f506d4 100755 --- a/core/src/main/java/org/zstack/core/cloudbus/CloudBusJMX.java +++ b/core/src/main/java/org/zstack/core/cloudbus/CloudBusJMX.java @@ -6,7 +6,15 @@ import org.zstack.core.jmx.JmxFacade; import org.zstack.header.Component; import org.zstack.header.apimediator.ApiMediatorConstant; -import org.zstack.header.message.*; +import org.zstack.header.message.APIEvent; +import org.zstack.header.message.APIMessage; +import org.zstack.header.message.BeforeDeliveryMessageInterceptor; +import org.zstack.header.message.BeforePublishEventInterceptor; +import org.zstack.header.message.BeforeSendMessageInterceptor; +import org.zstack.header.message.Event; +import org.zstack.header.message.Message; +import org.zstack.header.message.MessageReply; +import org.zstack.header.message.NeedReplyMessage; import org.zstack.utils.BeanUtils; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; diff --git a/core/src/main/java/org/zstack/core/cloudbus/EventFacadeImpl.java b/core/src/main/java/org/zstack/core/cloudbus/EventFacadeImpl.java index be38ed18737..d2442bfce02 100755 --- a/core/src/main/java/org/zstack/core/cloudbus/EventFacadeImpl.java +++ b/core/src/main/java/org/zstack/core/cloudbus/EventFacadeImpl.java @@ -19,7 +19,11 @@ import static org.zstack.core.Platform.argerr; -import java.util.*; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.StringTokenizer; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.atomic.AtomicBoolean; import java.util.stream.Collectors; diff --git a/core/src/main/java/org/zstack/core/cloudbus/MessageStatistic.java b/core/src/main/java/org/zstack/core/cloudbus/MessageStatistic.java index 06eef05bcc5..fe91824a301 100755 --- a/core/src/main/java/org/zstack/core/cloudbus/MessageStatistic.java +++ b/core/src/main/java/org/zstack/core/cloudbus/MessageStatistic.java @@ -4,7 +4,10 @@ import org.zstack.header.exception.CloudRuntimeException; import javax.management.MXBean; -import javax.management.openmbean.*; +import javax.management.openmbean.CompositeType; +import javax.management.openmbean.OpenDataException; +import javax.management.openmbean.OpenType; +import javax.management.openmbean.SimpleType; /** */ diff --git a/core/src/main/java/org/zstack/core/componentloader/PluginRegistryImpl.java b/core/src/main/java/org/zstack/core/componentloader/PluginRegistryImpl.java index ffba155f80f..137b52673c5 100755 --- a/core/src/main/java/org/zstack/core/componentloader/PluginRegistryImpl.java +++ b/core/src/main/java/org/zstack/core/componentloader/PluginRegistryImpl.java @@ -9,7 +9,11 @@ import org.zstack.utils.logging.CLogger; import org.zstack.utils.logging.CLoggerImpl; -import java.util.*; +import java.util.ArrayList; +import java.util.Comparator; +import java.util.HashMap; +import java.util.List; +import java.util.Map; public class PluginRegistryImpl implements PluginRegistryIN, BannedModule { diff --git a/core/src/main/java/org/zstack/core/config/GlobalConfigFacadeImpl.java b/core/src/main/java/org/zstack/core/config/GlobalConfigFacadeImpl.java index 2e551e9c0d7..76363a00c7e 100755 --- a/core/src/main/java/org/zstack/core/config/GlobalConfigFacadeImpl.java +++ b/core/src/main/java/org/zstack/core/config/GlobalConfigFacadeImpl.java @@ -14,7 +14,11 @@ import org.zstack.core.workflow.FlowChainBuilder; import org.zstack.header.AbstractService; import org.zstack.header.core.WhileDoneCompletion; -import org.zstack.header.core.workflow.*; +import org.zstack.header.core.workflow.FlowChain; +import org.zstack.header.core.workflow.FlowDoneHandler; +import org.zstack.header.core.workflow.FlowErrorHandler; +import org.zstack.header.core.workflow.FlowTrigger; +import org.zstack.header.core.workflow.NoRollbackFlow; import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.errorcode.ErrorCodeList; import org.zstack.header.exception.CloudRuntimeException; @@ -39,7 +43,14 @@ import java.lang.reflect.Field; import java.lang.reflect.Method; import java.lang.reflect.Modifier; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import java.util.Set; import java.util.concurrent.ConcurrentHashMap; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -103,6 +114,7 @@ private void handle(APIRefreshGuestOsMetadataMsg msg) { APIRefreshGuestOsMetadataEvent evt = new APIRefreshGuestOsMetadataEvent(msg.getId()); FlowChain chain = FlowChainBuilder.newSimpleFlowChain(); chain.setName("refresh-guest-os-metadata"); + // DEBT: NoRollbackFlow — in handleMessage chain.then(new NoRollbackFlow() { @Override public void run(FlowTrigger trigger, Map data) { @@ -133,6 +145,7 @@ public void done(ErrorCodeList errorCodeList) { } }); } + // DEBT: NoRollbackFlow — reason TBD }).then(new NoRollbackFlow() { @Override public void run(FlowTrigger trigger, Map data) { diff --git a/core/src/main/java/org/zstack/core/config/schema/GuestOsCategory.java b/core/src/main/java/org/zstack/core/config/schema/GuestOsCategory.java index 9757f8491b8..84757e8f02d 100644 --- a/core/src/main/java/org/zstack/core/config/schema/GuestOsCategory.java +++ b/core/src/main/java/org/zstack/core/config/schema/GuestOsCategory.java @@ -2,7 +2,11 @@ import org.zstack.header.image.ImagePlatform; -import javax.xml.bind.annotation.*; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; import java.util.ArrayList; import java.util.List; diff --git a/core/src/main/java/org/zstack/core/config/schema/GuestOsCharacter.java b/core/src/main/java/org/zstack/core/config/schema/GuestOsCharacter.java index ee7df2894cb..50636cba737 100644 --- a/core/src/main/java/org/zstack/core/config/schema/GuestOsCharacter.java +++ b/core/src/main/java/org/zstack/core/config/schema/GuestOsCharacter.java @@ -1,6 +1,10 @@ package org.zstack.core.config.schema; -import javax.xml.bind.annotation.*; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; import java.io.Serializable; import java.util.List; diff --git a/core/src/main/java/org/zstack/core/db/DBGraph.java b/core/src/main/java/org/zstack/core/db/DBGraph.java index e41b6b779e2..dee3864d5ef 100755 --- a/core/src/main/java/org/zstack/core/db/DBGraph.java +++ b/core/src/main/java/org/zstack/core/db/DBGraph.java @@ -8,7 +8,14 @@ import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; -import java.util.*; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.Stack; public class DBGraph { private static CLogger logger = Utils.getLogger(DBGraph.class); diff --git a/core/src/main/java/org/zstack/core/db/DatabaseFacadeImpl.java b/core/src/main/java/org/zstack/core/db/DatabaseFacadeImpl.java index d0a92426313..83fa2bfb181 100755 --- a/core/src/main/java/org/zstack/core/db/DatabaseFacadeImpl.java +++ b/core/src/main/java/org/zstack/core/db/DatabaseFacadeImpl.java @@ -17,7 +17,11 @@ import org.zstack.header.vo.EO; import org.zstack.header.vo.SoftDeletionCascade; import org.zstack.header.vo.SoftDeletionCascades; -import org.zstack.utils.*; +import org.zstack.utils.BeanUtils; +import org.zstack.utils.DebugUtils; +import org.zstack.utils.FieldUtils; +import org.zstack.utils.ObjectUtils; +import org.zstack.utils.VersionComparator; import org.zstack.utils.logging.CLogger; import org.zstack.utils.logging.CLoggerImpl; @@ -27,7 +31,13 @@ import java.lang.reflect.Field; import java.sql.SQLIntegrityConstraintViolationException; import java.sql.Timestamp; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; import java.util.concurrent.atomic.AtomicLong; import static org.zstack.utils.CollectionDSL.list; diff --git a/core/src/main/java/org/zstack/core/db/EntityMetadata.java b/core/src/main/java/org/zstack/core/db/EntityMetadata.java index 8305d737b24..14dbf221b6c 100755 --- a/core/src/main/java/org/zstack/core/db/EntityMetadata.java +++ b/core/src/main/java/org/zstack/core/db/EntityMetadata.java @@ -9,7 +9,13 @@ import javax.persistence.Entity; import javax.persistence.Id; import java.lang.reflect.Field; -import java.util.*; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; public class EntityMetadata { private static class Metadata { diff --git a/core/src/main/java/org/zstack/core/db/hibernate/InlineIdsOrClauseUpdateHandlerImpl2.java b/core/src/main/java/org/zstack/core/db/hibernate/InlineIdsOrClauseUpdateHandlerImpl2.java index 774312ba368..114e2912175 100644 --- a/core/src/main/java/org/zstack/core/db/hibernate/InlineIdsOrClauseUpdateHandlerImpl2.java +++ b/core/src/main/java/org/zstack/core/db/hibernate/InlineIdsOrClauseUpdateHandlerImpl2.java @@ -12,7 +12,11 @@ import java.sql.PreparedStatement; import java.sql.SQLException; -import java.util.*; +import java.util.ArrayList; +import java.util.Collections; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; /** * Created by lining on 2020/4/17. diff --git a/core/src/main/java/org/zstack/core/encrypt/EncryptFacadeImpl.java b/core/src/main/java/org/zstack/core/encrypt/EncryptFacadeImpl.java index 92b0e2c7178..3d8965a4fa9 100644 --- a/core/src/main/java/org/zstack/core/encrypt/EncryptFacadeImpl.java +++ b/core/src/main/java/org/zstack/core/encrypt/EncryptFacadeImpl.java @@ -4,7 +4,9 @@ import org.springframework.beans.factory.annotation.Autowired; import org.zstack.core.Platform; import org.zstack.core.componentloader.PluginRegistry; -import org.zstack.core.config.*; +import org.zstack.core.config.GlobalConfig; +import org.zstack.core.config.GlobalConfigBeforeUpdateExtensionPoint; +import org.zstack.core.config.GlobalConfigUpdateExtensionPoint; import org.zstack.core.convert.PasswordConverter; import org.zstack.core.convert.SpecialDataConverter; import org.zstack.core.db.DatabaseFacade; @@ -12,7 +14,13 @@ import org.zstack.core.db.SQL; import org.zstack.core.db.SQLBatch; import org.zstack.header.Component; -import org.zstack.header.core.encrypt.*; +import org.zstack.header.core.encrypt.CovertSubClass; +import org.zstack.header.core.encrypt.CovertSubClasses; +import org.zstack.header.core.encrypt.EncryptEntityMetadataVO; +import org.zstack.header.core.encrypt.EncryptEntityMetadataVO_; +import org.zstack.header.core.encrypt.EncryptEntityState; +import org.zstack.header.core.encrypt.EncryptedFieldBundle; +import org.zstack.header.core.encrypt.PasswordEncryptType; import org.zstack.header.errorcode.ErrorableValue; import org.zstack.header.errorcode.OperationFailureException; import org.zstack.header.exception.CloudRuntimeException; @@ -26,7 +34,13 @@ import javax.persistence.Query; import javax.persistence.Table; import java.lang.reflect.Field; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; import java.util.stream.Collectors; import static org.zstack.core.Platform.operr; diff --git a/core/src/main/java/org/zstack/core/encrypt/EncryptManagerImpl.java b/core/src/main/java/org/zstack/core/encrypt/EncryptManagerImpl.java index de71a244821..6e83dd5b491 100644 --- a/core/src/main/java/org/zstack/core/encrypt/EncryptManagerImpl.java +++ b/core/src/main/java/org/zstack/core/encrypt/EncryptManagerImpl.java @@ -4,17 +4,19 @@ import org.springframework.transaction.annotation.Transactional; import org.zstack.core.Platform; import org.zstack.core.cloudbus.CloudBus; -import org.zstack.core.db.*; +import org.zstack.core.db.DatabaseFacade; import org.zstack.header.AbstractService; -import org.zstack.header.core.encrypt.*; +import org.zstack.header.core.encrypt.APIUpdateEncryptKeyEvent; +import org.zstack.header.core.encrypt.APIUpdateEncryptKeyMsg; import org.zstack.header.message.APIMessage; import org.zstack.header.message.Message; -import org.zstack.utils.*; +import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; import javax.persistence.*; import java.lang.reflect.Method; -import java.util.*; +import java.util.List; +import java.util.Set; /** * Created by mingjian.deng on 16/12/28. diff --git a/core/src/main/java/org/zstack/core/errorcode/ElaborationManagerImpl.java b/core/src/main/java/org/zstack/core/errorcode/ElaborationManagerImpl.java index b5f2d6f200a..7afd3f5a034 100644 --- a/core/src/main/java/org/zstack/core/errorcode/ElaborationManagerImpl.java +++ b/core/src/main/java/org/zstack/core/errorcode/ElaborationManagerImpl.java @@ -19,7 +19,11 @@ import org.zstack.header.AbstractService; import org.zstack.header.core.Completion; import org.zstack.header.core.ReturnValueCompletion; -import org.zstack.header.core.workflow.*; +import org.zstack.header.core.workflow.FlowChain; +import org.zstack.header.core.workflow.FlowDoneHandler; +import org.zstack.header.core.workflow.FlowErrorHandler; +import org.zstack.header.core.workflow.FlowTrigger; +import org.zstack.header.core.workflow.NoRollbackFlow; import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.errorcode.OperationFailureException; import org.zstack.header.message.Message; @@ -34,7 +38,13 @@ import java.io.File; import java.io.IOException; -import java.util.*; +import java.util.ArrayList; +import java.util.Collections; +import java.util.Comparator; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; import static org.zstack.core.Platform.argerr; import static org.zstack.core.Platform.operr; @@ -95,6 +105,7 @@ private void preCheckElaborationContent(String filename, String jsonContent, Ret @Override public void setup() { if (filename != null) { + // DEBT: NoRollbackFlow — in preCheckElaborationContent flow(new NoRollbackFlow() { @Override public void run(FlowTrigger trigger, Map data) { @@ -117,6 +128,7 @@ public void run(FlowTrigger trigger, Map data) { } }); + // DEBT: NoRollbackFlow — reason TBD flow(new NoRollbackFlow() { String __name__ = "FileNameWithoutJson"; @Override @@ -132,6 +144,7 @@ public void run(FlowTrigger trigger, Map data) { }); + // DEBT: NoRollbackFlow — reason TBD flow(new NoRollbackFlow() { String __name__ = "InValidJsonArraySchema"; @Override @@ -164,6 +177,7 @@ public void run(FlowTrigger trigger, Map data) { } }); } else { + // DEBT: NoRollbackFlow — reason TBD flow(new NoRollbackFlow() { String __name__ = "InValidJsonArraySchema"; @Override @@ -186,6 +200,7 @@ public void run(FlowTrigger trigger, Map data) { }); } + // DEBT: NoRollbackFlow — reason TBD flow(new NoRollbackFlow() { String __name__ = "RegexAlreadyExisted, DuplicatedRegex, MessageNotFound and RegexNotFound"; @Override @@ -219,6 +234,7 @@ public void run(FlowTrigger trigger, Map data) { } }); + // DEBT: NoRollbackFlow — reason TBD flow(new NoRollbackFlow() { String __name__ = "CategoryNotFound and NotSameCategoriesInFile"; @Override @@ -235,6 +251,7 @@ public void run(FlowTrigger trigger, Map data) { } }); + // DEBT: NoRollbackFlow — reason TBD flow(new NoRollbackFlow() { String __name__ = "DuplicatedErrorCode and ErrorCodeAlreadyExisted"; @Override @@ -306,6 +323,7 @@ public void fail(ErrorCode errorCode) { private void refreshElaboration(final Completion completion) { FlowChain chain = FlowChainBuilder.newSimpleFlowChain(); chain.setName("refresh-elaboration"); + // DEBT: NoRollbackFlow — in refreshElaboration chain.then(new NoRollbackFlow() { String __name__ = "check elaboration contents first"; @Override @@ -326,6 +344,7 @@ public void fail(ErrorCode errorCode) { } }); } + // DEBT: NoRollbackFlow — in refreshElaboration }).then(new NoRollbackFlow() { String __name__ = "refresh error templates"; @Override diff --git a/core/src/main/java/org/zstack/core/errorcode/GlobalErrorCodeI18nServiceImpl.java b/core/src/main/java/org/zstack/core/errorcode/GlobalErrorCodeI18nServiceImpl.java index f4def1fc071..a232d261238 100644 --- a/core/src/main/java/org/zstack/core/errorcode/GlobalErrorCodeI18nServiceImpl.java +++ b/core/src/main/java/org/zstack/core/errorcode/GlobalErrorCodeI18nServiceImpl.java @@ -1,152 +1,156 @@ -package org.zstack.core.errorcode; - -import org.zstack.header.Component; -import org.zstack.header.errorcode.ErrorCode; -import org.zstack.header.errorcode.ErrorCodeList; -import org.zstack.utils.Utils; -import org.zstack.utils.gson.JSONObjectUtil; -import org.zstack.utils.logging.CLogger; -import org.zstack.utils.path.PathUtil; - -import java.io.File; -import java.nio.charset.StandardCharsets; -import java.nio.file.Files; -import java.util.*; -import java.util.concurrent.ConcurrentHashMap; - -public class GlobalErrorCodeI18nServiceImpl implements GlobalErrorCodeI18nService, Component { - private static final CLogger logger = Utils.getLogger(GlobalErrorCodeI18nServiceImpl.class); - - private static final String I18N_FOLDER = "i18n" + File.separator + "globalErrorCodeMapping"; - private static final String FILE_PREFIX = "global-error-"; - private static final String FILE_SUFFIX = ".json"; - - // locale -> (globalErrorCode -> template) - private final Map> localeMessages = new ConcurrentHashMap<>(); - - @Override - public boolean start() { - loadAllJsonFiles(); - return true; - } - - @Override - public boolean stop() { - return true; - } - - private void loadAllJsonFiles() { - try { - List paths = PathUtil.scanFolderOnClassPath(I18N_FOLDER); - for (String path : paths) { - if (!path.endsWith(FILE_SUFFIX)) { - continue; - } - - File file = new File(path); - String fileName = file.getName(); - if (!fileName.startsWith(FILE_PREFIX)) { - continue; - } - - String locale = fileName.substring(FILE_PREFIX.length(), - fileName.length() - FILE_SUFFIX.length()); - - try { - String content = new String(Files.readAllBytes(file.toPath()), StandardCharsets.UTF_8); - @SuppressWarnings("unchecked") - Map messages = JSONObjectUtil.toObject(content, LinkedHashMap.class); - localeMessages.put(locale, messages); - logger.info(String.format("loaded %d i18n error messages for locale [%s]", - messages.size(), locale)); - } catch (Exception e) { - logger.warn(String.format("failed to load i18n file [%s]: %s", path, e.getMessage()), e); - } - } - } catch (Exception e) { - logger.warn(String.format("failed to scan i18n folder: %s", e.getMessage())); - } - - logger.info(String.format("GlobalErrorCodeI18nService loaded %d locales: %s", - localeMessages.size(), localeMessages.keySet())); - } - - @Override - public Set getAvailableLocales() { - return Collections.unmodifiableSet(localeMessages.keySet()); - } - - @Override - public String getLocalizedMessage(String globalErrorCode, String locale, String[] formatArgs) { - if (globalErrorCode == null || locale == null) { - return null; - } - - String template = getTemplate(globalErrorCode, locale); - if (template == null) { - return null; - } - - return formatTemplate(template, formatArgs); - } - - private String getTemplate(String globalErrorCode, String locale) { - Map messages = localeMessages.get(locale); - if (messages != null) { - String template = messages.get(globalErrorCode); - if (template != null) { - return template; - } - } - - // fallback to en_US - if (!"en_US".equals(locale)) { - Map enMessages = localeMessages.get("en_US"); - if (enMessages != null) { - return enMessages.get(globalErrorCode); - } - } - - return null; - } - - private String formatTemplate(String template, String[] formatArgs) { - if (formatArgs == null || formatArgs.length == 0) { - return template; - } - - try { - return String.format(template, (Object[]) formatArgs); - } catch (Exception e) { - logger.debug(String.format("failed to format i18n template [%s]: %s", template, e.getMessage())); - return template; - } - } - - @Override - public void localizeErrorCode(ErrorCode error, String locale) { - if (error == null || locale == null) { - return; - } - - if (error.getGlobalErrorCode() != null) { - String message = getLocalizedMessage(error.getGlobalErrorCode(), locale, error.getFormatArgs()); - if (message != null) { - error.setMessage(message); - } - } - - if (error.getCause() != null) { - localizeErrorCode(error.getCause(), locale); - } - - if (error instanceof ErrorCodeList) { - List causes = ((ErrorCodeList) error).getCauses(); - if (causes != null) { - for (ErrorCode cause : causes) { - localizeErrorCode(cause, locale); - } - } - } - } -} +package org.zstack.core.errorcode; + +import org.zstack.header.Component; +import org.zstack.header.errorcode.ErrorCode; +import org.zstack.header.errorcode.ErrorCodeList; +import org.zstack.utils.Utils; +import org.zstack.utils.gson.JSONObjectUtil; +import org.zstack.utils.logging.CLogger; +import org.zstack.utils.path.PathUtil; + +import java.io.File; +import java.nio.charset.StandardCharsets; +import java.nio.file.Files; +import java.util.Collections; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.concurrent.ConcurrentHashMap; + +public class GlobalErrorCodeI18nServiceImpl implements GlobalErrorCodeI18nService, Component { + private static final CLogger logger = Utils.getLogger(GlobalErrorCodeI18nServiceImpl.class); + + private static final String I18N_FOLDER = "i18n" + File.separator + "globalErrorCodeMapping"; + private static final String FILE_PREFIX = "global-error-"; + private static final String FILE_SUFFIX = ".json"; + + // locale -> (globalErrorCode -> template) + private final Map> localeMessages = new ConcurrentHashMap<>(); + + @Override + public boolean start() { + loadAllJsonFiles(); + return true; + } + + @Override + public boolean stop() { + return true; + } + + private void loadAllJsonFiles() { + try { + List paths = PathUtil.scanFolderOnClassPath(I18N_FOLDER); + for (String path : paths) { + if (!path.endsWith(FILE_SUFFIX)) { + continue; + } + + File file = new File(path); + String fileName = file.getName(); + if (!fileName.startsWith(FILE_PREFIX)) { + continue; + } + + String locale = fileName.substring(FILE_PREFIX.length(), + fileName.length() - FILE_SUFFIX.length()); + + try { + String content = new String(Files.readAllBytes(file.toPath()), StandardCharsets.UTF_8); + @SuppressWarnings("unchecked") + Map messages = JSONObjectUtil.toObject(content, LinkedHashMap.class); + localeMessages.put(locale, messages); + logger.info(String.format("loaded %d i18n error messages for locale [%s]", + messages.size(), locale)); + } catch (Exception e) { + logger.warn(String.format("failed to load i18n file [%s]: %s", path, e.getMessage()), e); + } + } + } catch (Exception e) { + logger.warn(String.format("failed to scan i18n folder: %s", e.getMessage()), e); + } + + logger.info(String.format("GlobalErrorCodeI18nService loaded %d locales: %s", + localeMessages.size(), localeMessages.keySet())); + } + + @Override + public Set getAvailableLocales() { + return Collections.unmodifiableSet(localeMessages.keySet()); + } + + @Override + public String getLocalizedMessage(String globalErrorCode, String locale, String[] formatArgs) { + if (globalErrorCode == null || locale == null) { + return null; + } + + String template = getTemplate(globalErrorCode, locale); + if (template == null) { + return null; + } + + return formatTemplate(template, formatArgs); + } + + private String getTemplate(String globalErrorCode, String locale) { + Map messages = localeMessages.get(locale); + if (messages != null) { + String template = messages.get(globalErrorCode); + if (template != null) { + return template; + } + } + + // fallback to en_US + if (!"en_US".equals(locale)) { + Map enMessages = localeMessages.get("en_US"); + if (enMessages != null) { + return enMessages.get(globalErrorCode); + } + } + + return null; + } + + private String formatTemplate(String template, String[] formatArgs) { + if (formatArgs == null || formatArgs.length == 0) { + return template; + } + + try { + return String.format(template, (Object[]) formatArgs); + } catch (Exception e) { + logger.debug(String.format("failed to format i18n template [%s]: %s", template, e.getMessage())); + return template; + } + } + + @Override + public void localizeErrorCode(ErrorCode error, String locale) { + if (error == null || locale == null) { + return; + } + + if (error.getGlobalErrorCode() != null) { + String message = getLocalizedMessage(error.getGlobalErrorCode(), locale, error.getFormatArgs()); + if (message != null) { + error.setMessage(message); + } + } + + if (error.getCause() != null) { + localizeErrorCode(error.getCause(), locale); + } + + if (error instanceof ErrorCodeList) { + List causes = ((ErrorCodeList) error).getCauses(); + if (causes != null) { + for (ErrorCode cause : causes) { + localizeErrorCode(cause, locale); + } + } + } + } +} diff --git a/core/src/main/java/org/zstack/core/errorcode/LocaleUtils.java b/core/src/main/java/org/zstack/core/errorcode/LocaleUtils.java index bb1bcbea3a6..88c0a555f20 100644 --- a/core/src/main/java/org/zstack/core/errorcode/LocaleUtils.java +++ b/core/src/main/java/org/zstack/core/errorcode/LocaleUtils.java @@ -1,125 +1,131 @@ -package org.zstack.core.errorcode; - -import org.zstack.utils.Utils; -import org.zstack.utils.logging.CLogger; - -import java.util.*; - -public class LocaleUtils { - private static final CLogger logger = Utils.getLogger(LocaleUtils.class); - public static final String DEFAULT_LOCALE = "en_US"; - - private static final Map LANGUAGE_TO_LOCALE = new HashMap<>(); - - // Languages that use underscore format in locale file names (e.g. zh_CN, en_US) - private static final Set UNDERSCORE_LANGS = new HashSet<>(Arrays.asList("zh", "en")); - - static { - LANGUAGE_TO_LOCALE.put("zh", "zh_CN"); - LANGUAGE_TO_LOCALE.put("en", "en_US"); - LANGUAGE_TO_LOCALE.put("ja", "ja-JP"); - LANGUAGE_TO_LOCALE.put("ko", "ko-KR"); - LANGUAGE_TO_LOCALE.put("de", "de-DE"); - LANGUAGE_TO_LOCALE.put("fr", "fr-FR"); - LANGUAGE_TO_LOCALE.put("ru", "ru-RU"); - LANGUAGE_TO_LOCALE.put("th", "th-TH"); - LANGUAGE_TO_LOCALE.put("id", "id-ID"); - } - - /** - * Parse Accept-Language header and return the best matching locale key - * from the set of available locales. - * - * @param acceptLanguage the Accept-Language header value - * @param availableLocales the set of locale keys loaded from JSON files - * @return the best matching locale key, or en_US as fallback - */ - public static String resolveLocale(String acceptLanguage, Set availableLocales) { - if (acceptLanguage == null || acceptLanguage.trim().isEmpty()) { - return DEFAULT_LOCALE; - } - - List entries = parseAcceptLanguage(acceptLanguage); - for (LocaleEntry entry : entries) { - if (entry.quality <= 0) { - continue; - } - - String normalized = normalizeTag(entry.tag); - if (availableLocales.contains(normalized)) { - return normalized; - } - - String lang = entry.tag.split("[-_]")[0].toLowerCase(); - String mapped = LANGUAGE_TO_LOCALE.get(lang); - if (mapped != null && availableLocales.contains(mapped)) { - return mapped; - } - } - - return DEFAULT_LOCALE; - } - - /** - * Normalize an HTTP language tag to match file locale keys. - * e.g. "zh-CN" -> "zh_CN", "en-US" -> "en_US", "ja-JP" -> "ja-JP" - * See UNDERSCORE_LANGS for languages that use underscore format. - */ - static String normalizeTag(String tag) { - tag = tag.trim(); - String[] parts = tag.split("[-_]"); - if (parts.length == 2) { - String lang = parts[0].toLowerCase(); - String region = parts[1].toUpperCase(); - if (UNDERSCORE_LANGS.contains(lang)) { - return lang + "_" + region; - } - return lang + "-" + region; - } - return tag; - } - - private static List parseAcceptLanguage(String header) { - List entries = new ArrayList<>(); - String[] parts = header.split(","); - for (String part : parts) { - part = part.trim(); - if (part.isEmpty()) { - continue; - } - String[] tagAndParams = part.split(";"); - if (tagAndParams.length == 0) { - continue; - } - String tag = tagAndParams[0].trim(); - if (tag.isEmpty()) { - continue; - } - double quality = 1.0; - for (int i = 1; i < tagAndParams.length; i++) { - String param = tagAndParams[i].trim(); - if (param.startsWith("q=")) { - try { - quality = Double.parseDouble(param.substring(2).trim()); - } catch (NumberFormatException e) { - logger.debug(String.format("failed to parse quality value [%s]: %s", param, e.getMessage())); - quality = 0; - } - } - } - entries.add(new LocaleEntry(tag, quality)); - } - entries.sort((a, b) -> Double.compare(b.quality, a.quality)); - return entries; - } - - private static class LocaleEntry { - final String tag; - final double quality; - - LocaleEntry(String tag, double quality) { - this.tag = tag; - this.quality = quality; - } - } -} +package org.zstack.core.errorcode; + +import org.zstack.utils.Utils; +import org.zstack.utils.logging.CLogger; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +public class LocaleUtils { + private static final CLogger logger = Utils.getLogger(LocaleUtils.class); + public static final String DEFAULT_LOCALE = "en_US"; + + private static final Map LANGUAGE_TO_LOCALE = new HashMap<>(); + + // Languages that use underscore format in locale file names (e.g. zh_CN, en_US) + private static final Set UNDERSCORE_LANGS = new HashSet<>(Arrays.asList("zh", "en")); + + static { + LANGUAGE_TO_LOCALE.put("zh", "zh_CN"); + LANGUAGE_TO_LOCALE.put("en", "en_US"); + LANGUAGE_TO_LOCALE.put("ja", "ja-JP"); + LANGUAGE_TO_LOCALE.put("ko", "ko-KR"); + LANGUAGE_TO_LOCALE.put("de", "de-DE"); + LANGUAGE_TO_LOCALE.put("fr", "fr-FR"); + LANGUAGE_TO_LOCALE.put("ru", "ru-RU"); + LANGUAGE_TO_LOCALE.put("th", "th-TH"); + LANGUAGE_TO_LOCALE.put("id", "id-ID"); + } + + /** + * Parse Accept-Language header and return the best matching locale key + * from the set of available locales. + * + * @param acceptLanguage the Accept-Language header value + * @param availableLocales the set of locale keys loaded from JSON files + * @return the best matching locale key, or en_US as fallback + */ + public static String resolveLocale(String acceptLanguage, Set availableLocales) { + if (acceptLanguage == null || acceptLanguage.trim().isEmpty()) { + return DEFAULT_LOCALE; + } + + List entries = parseAcceptLanguage(acceptLanguage); + for (LocaleEntry entry : entries) { + if (entry.quality <= 0) { + continue; + } + + String normalized = normalizeTag(entry.tag); + if (availableLocales.contains(normalized)) { + return normalized; + } + + String lang = entry.tag.split("[-_]")[0].toLowerCase(); + String mapped = LANGUAGE_TO_LOCALE.get(lang); + if (mapped != null && availableLocales.contains(mapped)) { + return mapped; + } + } + + return DEFAULT_LOCALE; + } + + /** + * Normalize an HTTP language tag to match file locale keys. + * e.g. "zh-CN" -> "zh_CN", "en-US" -> "en_US", "ja-JP" -> "ja-JP" + * See UNDERSCORE_LANGS for languages that use underscore format. + */ + static String normalizeTag(String tag) { + tag = tag.trim(); + String[] parts = tag.split("[-_]"); + if (parts.length == 2) { + String lang = parts[0].toLowerCase(); + String region = parts[1].toUpperCase(); + if (UNDERSCORE_LANGS.contains(lang)) { + return lang + "_" + region; + } + return lang + "-" + region; + } + return tag; + } + + private static List parseAcceptLanguage(String header) { + List entries = new ArrayList<>(); + String[] parts = header.split(","); + for (String part : parts) { + part = part.trim(); + if (part.isEmpty()) { + continue; + } + String[] tagAndParams = part.split(";"); + if (tagAndParams.length == 0) { + continue; + } + String tag = tagAndParams[0].trim(); + if (tag.isEmpty()) { + continue; + } + double quality = 1.0; + for (int i = 1; i < tagAndParams.length; i++) { + String param = tagAndParams[i].trim(); + if (param.startsWith("q=")) { + try { + quality = Double.parseDouble(param.substring(2).trim()); + } catch (NumberFormatException e) { + logger.debug(String.format("failed to parse quality value [%s]: %s", param, e.getMessage())); + quality = 0; + } + } + } + entries.add(new LocaleEntry(tag, quality)); + } + entries.sort((a, b) -> Double.compare(b.quality, a.quality)); + return entries; + } + + private static class LocaleEntry { + final String tag; + final double quality; + + LocaleEntry(String tag, double quality) { + this.tag = tag; + this.quality = quality; + } + } +} diff --git a/core/src/main/java/org/zstack/core/externalservice/ExternalServiceManagerImpl.java b/core/src/main/java/org/zstack/core/externalservice/ExternalServiceManagerImpl.java index 4d39ffc4888..e3cbb36b428 100755 --- a/core/src/main/java/org/zstack/core/externalservice/ExternalServiceManagerImpl.java +++ b/core/src/main/java/org/zstack/core/externalservice/ExternalServiceManagerImpl.java @@ -17,8 +17,29 @@ import org.zstack.header.core.Completion; import org.zstack.header.core.ReturnValueCompletion; import org.zstack.header.core.WhileDoneCompletion; -import org.zstack.header.core.external.service.*; -import org.zstack.header.core.workflow.*; +import org.zstack.header.core.external.service.APIAddExternalServiceConfigurationEvent; +import org.zstack.header.core.external.service.APIAddExternalServiceConfigurationMsg; +import org.zstack.header.core.external.service.APIDeleteExternalServiceConfigurationEvent; +import org.zstack.header.core.external.service.APIDeleteExternalServiceConfigurationMsg; +import org.zstack.header.core.external.service.APIGetExternalServicesMsg; +import org.zstack.header.core.external.service.APIGetExternalServicesReply; +import org.zstack.header.core.external.service.APIReloadExternalServiceEvent; +import org.zstack.header.core.external.service.APIReloadExternalServiceMsg; +import org.zstack.header.core.external.service.APIUpdateExternalServiceConfigurationEvent; +import org.zstack.header.core.external.service.APIUpdateExternalServiceConfigurationMsg; +import org.zstack.header.core.external.service.ApplyExternalConfigurationResult; +import org.zstack.header.core.external.service.ApplyExternalServiceConfigurationMsg; +import org.zstack.header.core.external.service.ApplyExternalServiceConfigurationReply; +import org.zstack.header.core.external.service.ExternalServiceConfigurationInventory; +import org.zstack.header.core.external.service.ExternalServiceConfigurationVO; +import org.zstack.header.core.external.service.ExternalServiceInventory; +import org.zstack.header.core.external.service.ExternalServiceStatus; +import org.zstack.header.core.workflow.Flow; +import org.zstack.header.core.workflow.FlowChain; +import org.zstack.header.core.workflow.FlowDoneHandler; +import org.zstack.header.core.workflow.FlowErrorHandler; +import org.zstack.header.core.workflow.FlowRollback; +import org.zstack.header.core.workflow.FlowTrigger; import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.errorcode.ErrorCodeList; import org.zstack.header.errorcode.OperationFailureException; diff --git a/core/src/main/java/org/zstack/core/gc/GarbageCollectorVO.java b/core/src/main/java/org/zstack/core/gc/GarbageCollectorVO.java index 84ca4beca1d..53ee3f26da8 100755 --- a/core/src/main/java/org/zstack/core/gc/GarbageCollectorVO.java +++ b/core/src/main/java/org/zstack/core/gc/GarbageCollectorVO.java @@ -1,7 +1,8 @@ package org.zstack.core.gc; import org.zstack.header.managementnode.ManagementNodeVO; -import org.zstack.header.vo.*; +import org.zstack.header.vo.BaseResource; +import org.zstack.header.vo.ResourceVO; import org.zstack.header.vo.ForeignKey; import javax.persistence.*; diff --git a/core/src/main/java/org/zstack/core/job/JobQueueFacadeImpl2.java b/core/src/main/java/org/zstack/core/job/JobQueueFacadeImpl2.java index 0fd6d66953c..f20abbafe8b 100755 --- a/core/src/main/java/org/zstack/core/job/JobQueueFacadeImpl2.java +++ b/core/src/main/java/org/zstack/core/job/JobQueueFacadeImpl2.java @@ -35,7 +35,12 @@ import javax.persistence.TypedQuery; import java.io.IOException; import java.sql.Timestamp; -import java.util.*; +import java.util.Collections; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Queue; import static org.zstack.core.Platform.err; import static org.zstack.core.Platform.inerr; diff --git a/core/src/main/java/org/zstack/core/jsonlabel/JsonLabel.java b/core/src/main/java/org/zstack/core/jsonlabel/JsonLabel.java index 314b369025c..61bcd88163b 100755 --- a/core/src/main/java/org/zstack/core/jsonlabel/JsonLabel.java +++ b/core/src/main/java/org/zstack/core/jsonlabel/JsonLabel.java @@ -3,7 +3,11 @@ import org.springframework.beans.factory.annotation.Autowire; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Configurable; -import org.zstack.core.db.*; +import org.zstack.core.db.DatabaseFacade; +import org.zstack.core.db.GLock; +import org.zstack.core.db.Q; +import org.zstack.core.db.SQL; +import org.zstack.core.db.SimpleQuery; import org.zstack.core.db.SimpleQuery.Op; import org.zstack.core.defer.Defer; import org.zstack.core.defer.Deferred; diff --git a/core/src/main/java/org/zstack/core/keyvalue/KeyValueEntityProxy.java b/core/src/main/java/org/zstack/core/keyvalue/KeyValueEntityProxy.java index 2f3c730c4d6..0e3f55fc542 100755 --- a/core/src/main/java/org/zstack/core/keyvalue/KeyValueEntityProxy.java +++ b/core/src/main/java/org/zstack/core/keyvalue/KeyValueEntityProxy.java @@ -11,7 +11,12 @@ import java.lang.reflect.Field; import java.lang.reflect.Method; -import java.util.*; +import java.util.ArrayList; +import java.util.Collection; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Stack; /** */ diff --git a/core/src/main/java/org/zstack/core/keyvalue/KeyValueSerializer.java b/core/src/main/java/org/zstack/core/keyvalue/KeyValueSerializer.java index 9c07b55ad1a..9b1abab61b0 100755 --- a/core/src/main/java/org/zstack/core/keyvalue/KeyValueSerializer.java +++ b/core/src/main/java/org/zstack/core/keyvalue/KeyValueSerializer.java @@ -11,7 +11,12 @@ import java.lang.reflect.Field; import java.lang.reflect.Modifier; import java.sql.Timestamp; -import java.util.*; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Stack; import java.util.Map.Entry; /** diff --git a/core/src/main/java/org/zstack/core/log/Log4jXMLModifier.java b/core/src/main/java/org/zstack/core/log/Log4jXMLModifier.java index efd99da942f..ec2fc3871fc 100644 --- a/core/src/main/java/org/zstack/core/log/Log4jXMLModifier.java +++ b/core/src/main/java/org/zstack/core/log/Log4jXMLModifier.java @@ -1,6 +1,10 @@ package org.zstack.core.log; -import org.w3c.dom.*; +import org.w3c.dom.Document; +import org.w3c.dom.Element; +import org.w3c.dom.NamedNodeMap; +import org.w3c.dom.Node; +import org.w3c.dom.NodeList; import org.zstack.utils.data.SizeUnit; import org.zstack.utils.path.PathUtil; import javax.xml.parsers.DocumentBuilder; diff --git a/core/src/main/java/org/zstack/core/log/LogManagerImpl.java b/core/src/main/java/org/zstack/core/log/LogManagerImpl.java index 813ab7b8a19..e67b7bbd602 100644 --- a/core/src/main/java/org/zstack/core/log/LogManagerImpl.java +++ b/core/src/main/java/org/zstack/core/log/LogManagerImpl.java @@ -1,6 +1,10 @@ package org.zstack.core.log; -import org.zstack.core.config.*; +import org.zstack.core.config.GlobalConfig; +import org.zstack.core.config.GlobalConfigBeforeUpdateExtensionPoint; +import org.zstack.core.config.GlobalConfigException; +import org.zstack.core.config.GlobalConfigUpdateExtensionPoint; +import org.zstack.core.config.GlobalConfigValidatorExtensionPoint; import org.zstack.core.thread.AsyncThread; import org.zstack.header.Component; import org.zstack.header.managementnode.ManagementNodeReadyExtensionPoint; diff --git a/core/src/main/java/org/zstack/core/plugin/PluginManagerImpl.java b/core/src/main/java/org/zstack/core/plugin/PluginManagerImpl.java index 619d960edae..867dde7dd20 100644 --- a/core/src/main/java/org/zstack/core/plugin/PluginManagerImpl.java +++ b/core/src/main/java/org/zstack/core/plugin/PluginManagerImpl.java @@ -21,7 +21,16 @@ import org.zstack.core.thread.ThreadFacade; import org.zstack.header.AbstractService; import org.zstack.header.core.WhileDoneCompletion; -import org.zstack.header.core.external.plugin.*; +import org.zstack.header.core.external.plugin.APIDeletePluginDriversEvent; +import org.zstack.header.core.external.plugin.APIDeletePluginDriversMsg; +import org.zstack.header.core.external.plugin.APIRefreshPluginDriversEvent; +import org.zstack.header.core.external.plugin.APIRefreshPluginDriversMsg; +import org.zstack.header.core.external.plugin.DeletePluginDriversMsg; +import org.zstack.header.core.external.plugin.DeletePluginDriversReply; +import org.zstack.header.core.external.plugin.PluginDriverVO; +import org.zstack.header.core.external.plugin.PluginDriverVO_; +import org.zstack.header.core.external.plugin.RefreshPluginDriversMsg; +import org.zstack.header.core.external.plugin.RefreshPluginDriversReply; import org.zstack.header.errorcode.ErrorCodeList; import org.zstack.header.errorcode.OperationFailureException; import org.zstack.header.exception.CloudRuntimeException; @@ -41,7 +50,13 @@ import java.net.MalformedURLException; import java.net.URL; import java.net.URLClassLoader; -import java.util.*; +import java.util.ArrayList; +import java.util.Enumeration; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; import java.util.concurrent.ConcurrentHashMap; import java.util.jar.JarEntry; import java.util.jar.JarFile; diff --git a/core/src/main/java/org/zstack/core/progress/ParallelTaskStage.java b/core/src/main/java/org/zstack/core/progress/ParallelTaskStage.java index 6f31196e543..78b601886c6 100644 --- a/core/src/main/java/org/zstack/core/progress/ParallelTaskStage.java +++ b/core/src/main/java/org/zstack/core/progress/ParallelTaskStage.java @@ -2,7 +2,10 @@ import org.zstack.header.core.progress.TaskProgressRange; -import java.util.*; +import java.util.Collections; +import java.util.Comparator; +import java.util.List; +import java.util.Map; import java.util.concurrent.ConcurrentHashMap; import java.util.function.Consumer; diff --git a/core/src/main/java/org/zstack/core/progress/ProgressReportService.java b/core/src/main/java/org/zstack/core/progress/ProgressReportService.java index bab9acc163a..c0c35ef5d17 100755 --- a/core/src/main/java/org/zstack/core/progress/ProgressReportService.java +++ b/core/src/main/java/org/zstack/core/progress/ProgressReportService.java @@ -10,7 +10,11 @@ import org.zstack.core.cloudbus.MessageSafe; import org.zstack.core.config.GlobalConfig; import org.zstack.core.config.GlobalConfigUpdateExtensionPoint; -import org.zstack.core.db.*; +import org.zstack.core.db.DatabaseFacade; +import org.zstack.core.db.Q; +import org.zstack.core.db.SQL; +import org.zstack.core.db.SQLBatch; +import org.zstack.core.db.SimpleQuery; import org.zstack.core.defer.Defer; import org.zstack.core.defer.Deferred; import org.zstack.core.errorcode.ErrorFacade; @@ -21,10 +25,22 @@ import org.zstack.header.AbstractService; import org.zstack.header.Constants; import org.zstack.header.core.ExceptionSafe; -import org.zstack.header.core.progress.*; +import org.zstack.header.core.progress.APIGetTaskProgressMsg; +import org.zstack.header.core.progress.APIGetTaskProgressReply; +import org.zstack.header.core.progress.ProgressConstants; +import org.zstack.header.core.progress.ProgressUpdateExtensionPoint; +import org.zstack.header.core.progress.TaskProgressInventory; +import org.zstack.header.core.progress.TaskProgressRange; +import org.zstack.header.core.progress.TaskProgressVO; +import org.zstack.header.core.progress.TaskProgressVO_; +import org.zstack.header.core.progress.TaskType; import org.zstack.header.longjob.APISubmitLongJobEvent; import org.zstack.header.managementnode.ManagementNodeReadyExtensionPoint; -import org.zstack.header.message.*; +import org.zstack.header.message.APIEvent; +import org.zstack.header.message.APIMessage; +import org.zstack.header.message.AbstractBeforePublishEventInterceptor; +import org.zstack.header.message.Event; +import org.zstack.header.message.Message; import org.zstack.header.rest.RESTFacade; import org.zstack.header.rest.SyncHttpCallHandler; import org.zstack.utils.DebugUtils; @@ -36,7 +52,13 @@ import javax.persistence.Query; import javax.persistence.Tuple; import java.math.BigInteger; -import java.util.*; +import java.util.ArrayList; +import java.util.Collections; +import java.util.Comparator; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Optional; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.Future; import java.util.concurrent.TimeUnit; diff --git a/core/src/main/java/org/zstack/core/propertyvalidator/ValidatorTool.java b/core/src/main/java/org/zstack/core/propertyvalidator/ValidatorTool.java index 858154ea4b9..3670317abf2 100644 --- a/core/src/main/java/org/zstack/core/propertyvalidator/ValidatorTool.java +++ b/core/src/main/java/org/zstack/core/propertyvalidator/ValidatorTool.java @@ -11,7 +11,10 @@ import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; -import java.util.*; +import java.util.Arrays; +import java.util.HashMap; +import java.util.Map; +import java.util.Set; import static org.zstack.utils.BeanUtils.reflections; diff --git a/core/src/main/java/org/zstack/core/puppet/PuppetFacadeImpl.java b/core/src/main/java/org/zstack/core/puppet/PuppetFacadeImpl.java index 398fd5e804f..3029f6858d9 100755 --- a/core/src/main/java/org/zstack/core/puppet/PuppetFacadeImpl.java +++ b/core/src/main/java/org/zstack/core/puppet/PuppetFacadeImpl.java @@ -24,7 +24,11 @@ import java.net.InetAddress; import java.net.URL; import java.net.UnknownHostException; -import java.util.*; +import java.util.ArrayList; +import java.util.Collection; +import java.util.HashMap; +import java.util.List; +import java.util.Map; public class PuppetFacadeImpl extends AbstractService implements PuppetFacade { private static final CLogger logger = Utils.getLogger(PuppetFacadeImpl.class); diff --git a/core/src/main/java/org/zstack/core/rest/RESTApiFacadeImpl.java b/core/src/main/java/org/zstack/core/rest/RESTApiFacadeImpl.java index db25fa2bb21..38023978c8d 100755 --- a/core/src/main/java/org/zstack/core/rest/RESTApiFacadeImpl.java +++ b/core/src/main/java/org/zstack/core/rest/RESTApiFacadeImpl.java @@ -19,7 +19,12 @@ import org.zstack.header.apimediator.ApiMediatorConstant; import org.zstack.header.exception.CloudRuntimeException; import org.zstack.header.log.MaskSensitiveInfo; -import org.zstack.header.message.*; +import org.zstack.header.message.APIEvent; +import org.zstack.header.message.APIListMessage; +import org.zstack.header.message.APIMessage; +import org.zstack.header.message.Event; +import org.zstack.header.message.Message; +import org.zstack.header.message.MessageReply; import org.zstack.header.rest.RESTApiFacade; import org.zstack.header.rest.RestAPIResponse; import org.zstack.header.rest.RestAPIState; @@ -33,7 +38,12 @@ import javax.persistence.EntityManagerFactory; import javax.persistence.EntityTransaction; import javax.persistence.Query; -import java.util.*; +import java.util.ArrayList; +import java.util.Collections; +import java.util.Date; +import java.util.HashSet; +import java.util.List; +import java.util.Set; import java.util.concurrent.Future; import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; diff --git a/core/src/main/java/org/zstack/core/rest/RESTApiJsonTemplateGenerator.java b/core/src/main/java/org/zstack/core/rest/RESTApiJsonTemplateGenerator.java index 40e01fcfcff..572b1291e3d 100755 --- a/core/src/main/java/org/zstack/core/rest/RESTApiJsonTemplateGenerator.java +++ b/core/src/main/java/org/zstack/core/rest/RESTApiJsonTemplateGenerator.java @@ -15,7 +15,13 @@ import java.lang.reflect.ParameterizedType; import java.lang.reflect.Type; import java.sql.Timestamp; -import java.util.*; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Stack; public class RESTApiJsonTemplateGenerator { private static final CLogger logger = Utils.getLogger(RESTApiJsonTemplateGenerator.class); diff --git a/core/src/main/java/org/zstack/core/rest/RESTFacadeImpl.java b/core/src/main/java/org/zstack/core/rest/RESTFacadeImpl.java index 516fd500ef6..c907c9b9453 100755 --- a/core/src/main/java/org/zstack/core/rest/RESTFacadeImpl.java +++ b/core/src/main/java/org/zstack/core/rest/RESTFacadeImpl.java @@ -41,7 +41,16 @@ import org.zstack.header.errorcode.OperationFailureException; import org.zstack.header.errorcode.SysErrors; import org.zstack.header.exception.CloudRuntimeException; -import org.zstack.header.rest.*; +import org.zstack.header.rest.AsyncRESTCallback; +import org.zstack.header.rest.BeforeAsyncJsonPostInterceptor; +import org.zstack.header.rest.HttpCallHandler; +import org.zstack.header.rest.HttpCallStatistic; +import org.zstack.header.rest.JsonAsyncRESTCallback; +import org.zstack.header.rest.RESTConstant; +import org.zstack.header.rest.RESTFacade; +import org.zstack.header.rest.RestHttp; +import org.zstack.header.rest.SyncHttpCallHandler; +import org.zstack.header.rest.TimeoutRestTemplate; import org.zstack.utils.ExceptionDSL; import org.zstack.utils.IptablesUtils; import org.zstack.utils.Utils; @@ -53,7 +62,12 @@ import java.io.BufferedReader; import java.io.IOException; import java.net.URI; -import java.util.*; +import java.util.ArrayList; +import java.util.Collections; +import java.util.Enumeration; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicBoolean; diff --git a/core/src/main/java/org/zstack/core/salt/SaltFacadeImpl.java b/core/src/main/java/org/zstack/core/salt/SaltFacadeImpl.java index 7f522167ca9..fc8a8f3d984 100755 --- a/core/src/main/java/org/zstack/core/salt/SaltFacadeImpl.java +++ b/core/src/main/java/org/zstack/core/salt/SaltFacadeImpl.java @@ -22,7 +22,12 @@ import java.io.File; import java.io.FileInputStream; import java.io.IOException; -import java.util.*; +import java.util.ArrayList; +import java.util.Collection; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Properties; /** */ diff --git a/core/src/main/java/org/zstack/core/singleflight/AbstractSingleFlight.java b/core/src/main/java/org/zstack/core/singleflight/AbstractSingleFlight.java index 38e5d8e5528..d22eae74549 100644 --- a/core/src/main/java/org/zstack/core/singleflight/AbstractSingleFlight.java +++ b/core/src/main/java/org/zstack/core/singleflight/AbstractSingleFlight.java @@ -4,7 +4,12 @@ import org.zstack.header.core.ReturnValueCompletion; import org.zstack.header.errorcode.ErrorCode; -import java.util.*; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; import static org.zstack.core.Platform.operr; import static org.zstack.utils.clouderrorcode.CloudOperationsErrorCode.*; diff --git a/core/src/main/java/org/zstack/core/thread/AbstractFuture.java b/core/src/main/java/org/zstack/core/thread/AbstractFuture.java index 8e40210e5ed..e2cc6d72f73 100755 --- a/core/src/main/java/org/zstack/core/thread/AbstractFuture.java +++ b/core/src/main/java/org/zstack/core/thread/AbstractFuture.java @@ -2,7 +2,11 @@ import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; -import java.util.concurrent.*; +import java.util.concurrent.CancellationException; +import java.util.concurrent.ExecutionException; +import java.util.concurrent.Future; +import java.util.concurrent.TimeUnit; +import java.util.concurrent.TimeoutException; import java.util.concurrent.atomic.AtomicBoolean; public abstract class AbstractFuture implements Future { diff --git a/core/src/main/java/org/zstack/core/thread/DispatchQueueImpl.java b/core/src/main/java/org/zstack/core/thread/DispatchQueueImpl.java index 961b192ac7c..9af6ce527be 100755 --- a/core/src/main/java/org/zstack/core/thread/DispatchQueueImpl.java +++ b/core/src/main/java/org/zstack/core/thread/DispatchQueueImpl.java @@ -34,7 +34,18 @@ import org.zstack.utils.logging.CLogger; import org.zstack.utils.logging.CLoggerImpl; -import java.util.*; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.HashSet; +import java.util.LinkedHashMap; +import java.util.LinkedList; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import java.util.Queue; +import java.util.Set; +import java.util.Timer; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentLinkedQueue; import java.util.concurrent.Future; diff --git a/core/src/main/java/org/zstack/core/thread/GroupedConsumeQueue.java b/core/src/main/java/org/zstack/core/thread/GroupedConsumeQueue.java index 0aaa4b3b583..587a97c6a3d 100644 --- a/core/src/main/java/org/zstack/core/thread/GroupedConsumeQueue.java +++ b/core/src/main/java/org/zstack/core/thread/GroupedConsumeQueue.java @@ -1,6 +1,13 @@ package org.zstack.core.thread; -import java.util.*; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Queue; +import java.util.Timer; import java.util.TimerTask; import java.util.concurrent.LinkedBlockingQueue; diff --git a/core/src/main/java/org/zstack/core/thread/ThreadFacadeImpl.java b/core/src/main/java/org/zstack/core/thread/ThreadFacadeImpl.java index 2f8d4d5b425..c98c0e893b6 100755 --- a/core/src/main/java/org/zstack/core/thread/ThreadFacadeImpl.java +++ b/core/src/main/java/org/zstack/core/thread/ThreadFacadeImpl.java @@ -19,8 +19,19 @@ import org.zstack.utils.logging.CLoggerImpl; import javax.annotation.Nonnull; -import java.util.*; -import java.util.concurrent.*; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.Timer; +import java.util.concurrent.Callable; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.Future; +import java.util.concurrent.RejectedExecutionHandler; +import java.util.concurrent.ScheduledFuture; +import java.util.concurrent.ThreadFactory; +import java.util.concurrent.ThreadPoolExecutor; +import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicInteger; import java.util.stream.Collectors; diff --git a/core/src/main/java/org/zstack/core/timeout/ApiTimeoutManagerImpl.java b/core/src/main/java/org/zstack/core/timeout/ApiTimeoutManagerImpl.java index e1a6697918f..bbd0a32eb2d 100755 --- a/core/src/main/java/org/zstack/core/timeout/ApiTimeoutManagerImpl.java +++ b/core/src/main/java/org/zstack/core/timeout/ApiTimeoutManagerImpl.java @@ -4,17 +4,37 @@ import org.zstack.core.Platform; import org.zstack.core.cloudbus.CloudBus; import org.zstack.core.componentloader.PluginRegistry; -import org.zstack.core.config.*; +import org.zstack.core.config.GlobalConfig; +import org.zstack.core.config.GlobalConfigFacade; +import org.zstack.core.config.GlobalConfigInitExtensionPoint; +import org.zstack.core.config.GlobalConfigVO; +import org.zstack.core.config.GlobalConfigVO_; +import org.zstack.core.config.GlobalConfigValidatorExtensionPoint; import org.zstack.core.db.Q; import org.zstack.core.thread.ThreadFacade; import org.zstack.header.Component; import org.zstack.header.errorcode.OperationFailureException; import org.zstack.header.exception.CloudRuntimeException; -import org.zstack.header.message.*; -import org.zstack.utils.*; +import org.zstack.header.message.APIMessage; +import org.zstack.header.message.APISyncCallMessage; +import org.zstack.header.message.BeforeDeliveryMessageInterceptor; +import org.zstack.header.message.ConfigurableTimeoutMessage; +import org.zstack.header.message.DefaultTimeout; +import org.zstack.header.message.Message; +import org.zstack.header.message.NeedReplyMessage; +import org.zstack.utils.BeanUtils; +import org.zstack.utils.BootErrorLog; +import org.zstack.utils.StringDSL; +import org.zstack.utils.TaskContext; +import org.zstack.utils.TimeUtils; +import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; -import java.util.*; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Set; import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; diff --git a/core/src/main/java/org/zstack/core/tracker/PingTracker.java b/core/src/main/java/org/zstack/core/tracker/PingTracker.java index ffb0ec22268..cc5b9b944a2 100755 --- a/core/src/main/java/org/zstack/core/tracker/PingTracker.java +++ b/core/src/main/java/org/zstack/core/tracker/PingTracker.java @@ -14,7 +14,15 @@ import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; -import java.util.*; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Random; +import java.util.Set; import java.util.concurrent.Future; import java.util.concurrent.TimeUnit; diff --git a/core/src/main/java/org/zstack/core/trash/StorageRecycleImpl.java b/core/src/main/java/org/zstack/core/trash/StorageRecycleImpl.java index 7fe37198856..c22f901c740 100644 --- a/core/src/main/java/org/zstack/core/trash/StorageRecycleImpl.java +++ b/core/src/main/java/org/zstack/core/trash/StorageRecycleImpl.java @@ -26,13 +26,22 @@ import org.zstack.header.image.ImageVO; import org.zstack.header.message.MessageReply; import org.zstack.header.storage.backup.BackupStorageVO; -import org.zstack.header.storage.primary.*; +import org.zstack.header.storage.primary.CleanUpTrashOnPrimaryStroageMsg; +import org.zstack.header.storage.primary.ImageCacheVO; +import org.zstack.header.storage.primary.ImageCacheVO_; +import org.zstack.header.storage.primary.PrimaryStorageConstant; +import org.zstack.header.storage.primary.PrimaryStorageVO; import org.zstack.header.storage.snapshot.VolumeSnapshotAfterDeleteExtensionPoint; import org.zstack.header.storage.snapshot.VolumeSnapshotInventory; import org.zstack.header.storage.snapshot.VolumeSnapshotVO; import org.zstack.header.storage.snapshot.VolumeSnapshotVO_; import org.zstack.header.vo.ResourceVO; -import org.zstack.header.volume.*; +import org.zstack.header.volume.VolumeBeforeExpungeExtensionPoint; +import org.zstack.header.volume.VolumeFormat; +import org.zstack.header.volume.VolumeInventory; +import org.zstack.header.volume.VolumeJustBeforeDeleteFromDbExtensionPoint; +import org.zstack.header.volume.VolumeVO; +import org.zstack.header.volume.VolumeVO_; import org.zstack.utils.CollectionDSL; import org.zstack.utils.DebugUtils; import org.zstack.utils.Utils; diff --git a/core/src/main/java/org/zstack/core/upgrade/AgentVersionVO.java b/core/src/main/java/org/zstack/core/upgrade/AgentVersionVO.java index 6d025fd98f6..7d834a4fd57 100644 --- a/core/src/main/java/org/zstack/core/upgrade/AgentVersionVO.java +++ b/core/src/main/java/org/zstack/core/upgrade/AgentVersionVO.java @@ -1,6 +1,8 @@ package org.zstack.core.upgrade; -import org.zstack.header.vo.*; +import org.zstack.header.vo.ResourceVO; +import org.zstack.header.vo.SoftDeletionCascade; +import org.zstack.header.vo.SoftDeletionCascades; import org.zstack.header.vo.ForeignKey; import javax.persistence.*; diff --git a/core/src/main/java/org/zstack/core/upgrade/UpgradeChecker.java b/core/src/main/java/org/zstack/core/upgrade/UpgradeChecker.java index 90639caf24c..eb849f10802 100644 --- a/core/src/main/java/org/zstack/core/upgrade/UpgradeChecker.java +++ b/core/src/main/java/org/zstack/core/upgrade/UpgradeChecker.java @@ -33,7 +33,15 @@ import java.io.File; import java.io.IOException; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Set; import java.util.concurrent.ConcurrentLinkedQueue; import java.util.regex.Matcher; import java.util.regex.Pattern; diff --git a/core/src/main/java/org/zstack/core/webhook/WebhookManagerImpl.java b/core/src/main/java/org/zstack/core/webhook/WebhookManagerImpl.java index 0b99685e6c7..9ee77a44a32 100755 --- a/core/src/main/java/org/zstack/core/webhook/WebhookManagerImpl.java +++ b/core/src/main/java/org/zstack/core/webhook/WebhookManagerImpl.java @@ -9,7 +9,15 @@ import org.zstack.core.db.SQLBatchWithReturn; import org.zstack.core.db.UpdateQuery; import org.zstack.header.AbstractService; -import org.zstack.header.core.webhooks.*; +import org.zstack.header.core.webhooks.APICreateWebhookEvent; +import org.zstack.header.core.webhooks.APICreateWebhookMsg; +import org.zstack.header.core.webhooks.APIDeleteWebhookEvent; +import org.zstack.header.core.webhooks.APIDeleteWebhookMsg; +import org.zstack.header.core.webhooks.APIUpdateWebhookEvent; +import org.zstack.header.core.webhooks.APIUpdateWebhookMsg; +import org.zstack.header.core.webhooks.WebhookInventory; +import org.zstack.header.core.webhooks.WebhookVO; +import org.zstack.header.core.webhooks.WebhookVO_; import org.zstack.header.message.APIMessage; import org.zstack.header.message.Message; diff --git a/core/src/main/java/org/zstack/core/workflow/ShareFlow.java b/core/src/main/java/org/zstack/core/workflow/ShareFlow.java index a11c0608b5c..b2453bbba5f 100755 --- a/core/src/main/java/org/zstack/core/workflow/ShareFlow.java +++ b/core/src/main/java/org/zstack/core/workflow/ShareFlow.java @@ -1,6 +1,11 @@ package org.zstack.core.workflow; -import org.zstack.header.core.workflow.*; +import org.zstack.header.core.workflow.Flow; +import org.zstack.header.core.workflow.FlowDoneHandler; +import org.zstack.header.core.workflow.FlowErrorHandler; +import org.zstack.header.core.workflow.FlowFinallyHandler; +import org.zstack.header.core.workflow.FlowRollback; +import org.zstack.header.core.workflow.FlowTrigger; import java.util.Map; diff --git a/core/src/main/java/org/zstack/core/workflow/SimpleFlowChain.java b/core/src/main/java/org/zstack/core/workflow/SimpleFlowChain.java index a78a2172e97..8a6b4876e7b 100755 --- a/core/src/main/java/org/zstack/core/workflow/SimpleFlowChain.java +++ b/core/src/main/java/org/zstack/core/workflow/SimpleFlowChain.java @@ -15,7 +15,21 @@ import org.zstack.core.errorcode.ErrorFacade; import org.zstack.core.telemetry.TelemetryFacade; import org.zstack.core.telemetry.TelemetryGlobalProperty; -import org.zstack.header.core.workflow.*; +import org.zstack.header.core.workflow.AfterDone; +import org.zstack.header.core.workflow.AfterError; +import org.zstack.header.core.workflow.AfterFinal; +import org.zstack.header.core.workflow.Flow; +import org.zstack.header.core.workflow.FlowChain; +import org.zstack.header.core.workflow.FlowChainMutable; +import org.zstack.header.core.workflow.FlowChainProcessor; +import org.zstack.header.core.workflow.FlowContextHandler; +import org.zstack.header.core.workflow.FlowDoneHandler; +import org.zstack.header.core.workflow.FlowErrorHandler; +import org.zstack.header.core.workflow.FlowException; +import org.zstack.header.core.workflow.FlowFinallyHandler; +import org.zstack.header.core.workflow.FlowMarshaller; +import org.zstack.header.core.workflow.FlowRollback; +import org.zstack.header.core.workflow.FlowTrigger; import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.errorcode.OperationFailureException; import org.zstack.header.exception.CloudRuntimeException; @@ -28,7 +42,13 @@ import org.zstack.utils.logging.CLogger; import java.lang.reflect.Field; -import java.util.*; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Stack; import java.util.Map.Entry; import java.util.concurrent.ConcurrentHashMap; diff --git a/header/src/main/java/org/zstack/header/allocator/AllocateHostMsg.java b/header/src/main/java/org/zstack/header/allocator/AllocateHostMsg.java index 23869aa1327..ffa8728f807 100755 --- a/header/src/main/java/org/zstack/header/allocator/AllocateHostMsg.java +++ b/header/src/main/java/org/zstack/header/allocator/AllocateHostMsg.java @@ -5,7 +5,10 @@ import org.zstack.header.message.NeedReplyMessage; import org.zstack.header.vm.VmInstanceInventory; -import java.util.*; +import java.util.ArrayList; +import java.util.HashSet; +import java.util.List; +import java.util.Set; public class AllocateHostMsg extends NeedReplyMessage { private long cpuCapacity; diff --git a/header/src/main/java/org/zstack/header/allocator/HostAllocatorSpec.java b/header/src/main/java/org/zstack/header/allocator/HostAllocatorSpec.java index c8d8ddc3af8..56386d23698 100755 --- a/header/src/main/java/org/zstack/header/allocator/HostAllocatorSpec.java +++ b/header/src/main/java/org/zstack/header/allocator/HostAllocatorSpec.java @@ -4,7 +4,12 @@ import org.zstack.header.image.ImageInventory; import org.zstack.header.vm.VmInstanceInventory; -import java.util.*; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; /** */ diff --git a/header/src/main/java/org/zstack/header/allocator/HostAllocatorStrategyType.java b/header/src/main/java/org/zstack/header/allocator/HostAllocatorStrategyType.java index 97d845e6784..62e529ace7b 100755 --- a/header/src/main/java/org/zstack/header/allocator/HostAllocatorStrategyType.java +++ b/header/src/main/java/org/zstack/header/allocator/HostAllocatorStrategyType.java @@ -1,6 +1,11 @@ package org.zstack.header.allocator; -import java.util.*; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; public class HostAllocatorStrategyType { private static Map types = Collections.synchronizedMap(new HashMap()); diff --git a/header/src/main/java/org/zstack/header/console/ConsoleProxyAgentType.java b/header/src/main/java/org/zstack/header/console/ConsoleProxyAgentType.java index bbfbb9f01e6..b02f7893686 100755 --- a/header/src/main/java/org/zstack/header/console/ConsoleProxyAgentType.java +++ b/header/src/main/java/org/zstack/header/console/ConsoleProxyAgentType.java @@ -1,6 +1,10 @@ package org.zstack.header.console; -import java.util.*; +import java.util.Collections; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Map; +import java.util.Set; /** * Created by xing5 on 2016/3/15. diff --git a/header/src/main/java/org/zstack/header/core/progress/TaskProgressVO.java b/header/src/main/java/org/zstack/header/core/progress/TaskProgressVO.java index 35a61c02fee..7babac60a28 100755 --- a/header/src/main/java/org/zstack/header/core/progress/TaskProgressVO.java +++ b/header/src/main/java/org/zstack/header/core/progress/TaskProgressVO.java @@ -1,7 +1,7 @@ package org.zstack.header.core.progress; import org.zstack.header.managementnode.ManagementNodeVO; -import org.zstack.header.vo.*; +import org.zstack.header.vo.BaseResource; import org.zstack.header.vo.ForeignKey; import javax.persistence.*; diff --git a/header/src/main/java/org/zstack/header/host/HypervisorType.java b/header/src/main/java/org/zstack/header/host/HypervisorType.java index 8d48d0f4e6a..9a02d5504f1 100755 --- a/header/src/main/java/org/zstack/header/host/HypervisorType.java +++ b/header/src/main/java/org/zstack/header/host/HypervisorType.java @@ -1,6 +1,10 @@ package org.zstack.header.host; -import java.util.*; +import java.util.Collections; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Map; +import java.util.Set; public class HypervisorType { private static Map types = Collections.synchronizedMap(new HashMap()); diff --git a/header/src/main/java/org/zstack/header/identity/LoginType.java b/header/src/main/java/org/zstack/header/identity/LoginType.java index 80b7f4306c7..a603511285b 100644 --- a/header/src/main/java/org/zstack/header/identity/LoginType.java +++ b/header/src/main/java/org/zstack/header/identity/LoginType.java @@ -2,7 +2,11 @@ import org.zstack.header.host.HypervisorType; -import java.util.*; +import java.util.Collections; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Map; +import java.util.Set; /** * Created by kayo on 2018/7/11. diff --git a/header/src/main/java/org/zstack/header/identity/Quota.java b/header/src/main/java/org/zstack/header/identity/Quota.java index fa00f1b2723..11d73857432 100755 --- a/header/src/main/java/org/zstack/header/identity/Quota.java +++ b/header/src/main/java/org/zstack/header/identity/Quota.java @@ -6,7 +6,11 @@ import org.zstack.header.message.Message; import org.zstack.header.message.NeedQuotaCheckMessage; -import java.util.*; +import java.util.ArrayList; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; /** * Created by frank on 7/13/2015. diff --git a/header/src/main/java/org/zstack/header/identity/login/APILogInMsg.java b/header/src/main/java/org/zstack/header/identity/login/APILogInMsg.java index 9a23ad4f10b..54ee7bb7b7d 100644 --- a/header/src/main/java/org/zstack/header/identity/login/APILogInMsg.java +++ b/header/src/main/java/org/zstack/header/identity/login/APILogInMsg.java @@ -2,7 +2,10 @@ import org.apache.commons.lang.StringUtils; import org.springframework.http.HttpMethod; -import org.zstack.header.identity.*; +import org.zstack.header.identity.APILogInReply; +import org.zstack.header.identity.APISessionMessage; +import org.zstack.header.identity.SessionVO; +import org.zstack.header.identity.SuppressCredentialCheck; import org.zstack.header.log.NoLogging; import org.zstack.header.message.APIMessage; import org.zstack.header.message.APIParam; diff --git a/header/src/main/java/org/zstack/header/identity/login/AdditionalAuthFeature.java b/header/src/main/java/org/zstack/header/identity/login/AdditionalAuthFeature.java index 116248a5e2d..be999f42c88 100644 --- a/header/src/main/java/org/zstack/header/identity/login/AdditionalAuthFeature.java +++ b/header/src/main/java/org/zstack/header/identity/login/AdditionalAuthFeature.java @@ -1,6 +1,10 @@ package org.zstack.header.identity.login; -import java.util.*; +import java.util.Collections; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Map; +import java.util.Set; public class AdditionalAuthFeature { private static final Map types = Collections.synchronizedMap(new HashMap()); diff --git a/header/src/main/java/org/zstack/header/identity/login/LoginBackend.java b/header/src/main/java/org/zstack/header/identity/login/LoginBackend.java index b6b5a97de16..f7885d1caf7 100644 --- a/header/src/main/java/org/zstack/header/identity/login/LoginBackend.java +++ b/header/src/main/java/org/zstack/header/identity/login/LoginBackend.java @@ -3,7 +3,9 @@ import org.zstack.header.core.ReturnValueCompletion; import org.zstack.header.identity.LoginType; -import java.util.*; +import java.util.Collections; +import java.util.List; +import java.util.Set; /** * Login implementation interface. diff --git a/header/src/main/java/org/zstack/header/identity/login/LoginContext.java b/header/src/main/java/org/zstack/header/identity/login/LoginContext.java index faa1cbdc30b..c632d359789 100644 --- a/header/src/main/java/org/zstack/header/identity/login/LoginContext.java +++ b/header/src/main/java/org/zstack/header/identity/login/LoginContext.java @@ -5,7 +5,12 @@ import org.zstack.header.identity.SessionInventory; import java.sql.Timestamp; -import java.util.*; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Set; import java.util.function.Function; /** diff --git a/header/src/main/java/org/zstack/header/identity/rbac/RBAC.java b/header/src/main/java/org/zstack/header/identity/rbac/RBAC.java index 5e1183c8522..f7bc0186860 100755 --- a/header/src/main/java/org/zstack/header/identity/rbac/RBAC.java +++ b/header/src/main/java/org/zstack/header/identity/rbac/RBAC.java @@ -10,7 +10,15 @@ import org.zstack.utils.BeanUtils; import org.zstack.utils.DebugUtils; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import java.util.Set; public class RBAC { public static List permissions = new ArrayList<>(); diff --git a/header/src/main/java/org/zstack/header/identity/role/RoleIdentity.java b/header/src/main/java/org/zstack/header/identity/role/RoleIdentity.java index 2fc0af5a79c..69385b6a458 100644 --- a/header/src/main/java/org/zstack/header/identity/role/RoleIdentity.java +++ b/header/src/main/java/org/zstack/header/identity/role/RoleIdentity.java @@ -1,6 +1,10 @@ package org.zstack.header.identity.role; -import java.util.*; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; public class RoleIdentity { private static Map types = Collections.synchronizedMap(new HashMap<>()); diff --git a/header/src/main/java/org/zstack/header/image/APIAddImageMsg.java b/header/src/main/java/org/zstack/header/image/APIAddImageMsg.java index 1b06bdae020..33616f48cff 100755 --- a/header/src/main/java/org/zstack/header/image/APIAddImageMsg.java +++ b/header/src/main/java/org/zstack/header/image/APIAddImageMsg.java @@ -3,7 +3,11 @@ import org.springframework.http.HttpMethod; import org.zstack.header.identity.Action; import org.zstack.header.log.NoLogging; -import org.zstack.header.message.*; +import org.zstack.header.message.APICreateMessage; +import org.zstack.header.message.APIEvent; +import org.zstack.header.message.APIMessage; +import org.zstack.header.message.APIParam; +import org.zstack.header.message.DefaultTimeout; import org.zstack.header.other.APIAuditor; import org.zstack.header.rest.RestRequest; import org.zstack.header.storage.backup.BackupStorageVO; diff --git a/header/src/main/java/org/zstack/header/image/APICloneImageMsg.java b/header/src/main/java/org/zstack/header/image/APICloneImageMsg.java index 5f614e6f304..a0c4bce3275 100644 --- a/header/src/main/java/org/zstack/header/image/APICloneImageMsg.java +++ b/header/src/main/java/org/zstack/header/image/APICloneImageMsg.java @@ -2,7 +2,10 @@ import org.springframework.http.HttpMethod; import org.zstack.header.identity.Action; -import org.zstack.header.message.*; +import org.zstack.header.message.APICreateMessage; +import org.zstack.header.message.APIEvent; +import org.zstack.header.message.APIMessage; +import org.zstack.header.message.APIParam; import org.zstack.header.other.APIAuditor; import org.zstack.header.rest.RestRequest; import org.zstack.header.tag.TagResourceType; diff --git a/header/src/main/java/org/zstack/header/image/APICreateDataVolumeTemplateFromVolumeMsg.java b/header/src/main/java/org/zstack/header/image/APICreateDataVolumeTemplateFromVolumeMsg.java index 38ee551de98..f20fc9d58b9 100755 --- a/header/src/main/java/org/zstack/header/image/APICreateDataVolumeTemplateFromVolumeMsg.java +++ b/header/src/main/java/org/zstack/header/image/APICreateDataVolumeTemplateFromVolumeMsg.java @@ -2,7 +2,11 @@ import org.springframework.http.HttpMethod; import org.zstack.header.identity.Action; -import org.zstack.header.message.*; +import org.zstack.header.message.APICreateMessage; +import org.zstack.header.message.APIEvent; +import org.zstack.header.message.APIMessage; +import org.zstack.header.message.APIParam; +import org.zstack.header.message.DefaultTimeout; import org.zstack.header.other.APIAuditor; import org.zstack.header.rest.RestRequest; import org.zstack.header.storage.backup.BackupStorageVO; diff --git a/header/src/main/java/org/zstack/header/image/APICreateDataVolumeTemplateFromVolumeSnapshotMsg.java b/header/src/main/java/org/zstack/header/image/APICreateDataVolumeTemplateFromVolumeSnapshotMsg.java index 13612418f74..54f883081ab 100755 --- a/header/src/main/java/org/zstack/header/image/APICreateDataVolumeTemplateFromVolumeSnapshotMsg.java +++ b/header/src/main/java/org/zstack/header/image/APICreateDataVolumeTemplateFromVolumeSnapshotMsg.java @@ -2,7 +2,11 @@ import org.springframework.http.HttpMethod; import org.zstack.header.identity.Action; -import org.zstack.header.message.*; +import org.zstack.header.message.APICreateMessage; +import org.zstack.header.message.APIEvent; +import org.zstack.header.message.APIMessage; +import org.zstack.header.message.APIParam; +import org.zstack.header.message.DefaultTimeout; import org.zstack.header.other.APIAuditor; import org.zstack.header.rest.RestRequest; import org.zstack.header.storage.backup.BackupStorageVO; diff --git a/header/src/main/java/org/zstack/header/image/APICreateRootVolumeTemplateFromRootVolumeMsg.java b/header/src/main/java/org/zstack/header/image/APICreateRootVolumeTemplateFromRootVolumeMsg.java index 16ee8e0f637..d1bdb0872af 100755 --- a/header/src/main/java/org/zstack/header/image/APICreateRootVolumeTemplateFromRootVolumeMsg.java +++ b/header/src/main/java/org/zstack/header/image/APICreateRootVolumeTemplateFromRootVolumeMsg.java @@ -2,7 +2,11 @@ import org.springframework.http.HttpMethod; import org.zstack.header.identity.Action; -import org.zstack.header.message.*; +import org.zstack.header.message.APICreateMessage; +import org.zstack.header.message.APIEvent; +import org.zstack.header.message.APIMessage; +import org.zstack.header.message.APIParam; +import org.zstack.header.message.DefaultTimeout; import org.zstack.header.other.APIAuditor; import org.zstack.header.rest.RestRequest; import org.zstack.header.storage.backup.BackupStorageVO; diff --git a/header/src/main/java/org/zstack/header/image/APICreateRootVolumeTemplateFromVolumeSnapshotMsg.java b/header/src/main/java/org/zstack/header/image/APICreateRootVolumeTemplateFromVolumeSnapshotMsg.java index 67dac2197f9..fc09d69628d 100755 --- a/header/src/main/java/org/zstack/header/image/APICreateRootVolumeTemplateFromVolumeSnapshotMsg.java +++ b/header/src/main/java/org/zstack/header/image/APICreateRootVolumeTemplateFromVolumeSnapshotMsg.java @@ -2,7 +2,11 @@ import org.springframework.http.HttpMethod; import org.zstack.header.identity.Action; -import org.zstack.header.message.*; +import org.zstack.header.message.APICreateMessage; +import org.zstack.header.message.APIEvent; +import org.zstack.header.message.APIMessage; +import org.zstack.header.message.APIParam; +import org.zstack.header.message.DefaultTimeout; import org.zstack.header.other.APIAuditor; import org.zstack.header.rest.RestRequest; import org.zstack.header.storage.backup.BackupStorageVO; diff --git a/header/src/main/java/org/zstack/header/image/AddImageMsg.java b/header/src/main/java/org/zstack/header/image/AddImageMsg.java index 5c5b7eb158a..70ce3aef942 100755 --- a/header/src/main/java/org/zstack/header/image/AddImageMsg.java +++ b/header/src/main/java/org/zstack/header/image/AddImageMsg.java @@ -2,7 +2,7 @@ import org.zstack.header.identity.SessionInventory; import org.zstack.header.log.NoLogging; -import org.zstack.header.message.*; +import org.zstack.header.message.NeedReplyMessage; import java.util.ArrayList; import java.util.List; diff --git a/header/src/main/java/org/zstack/header/image/CreateDataVolumeTemplateFromVolumeMsg.java b/header/src/main/java/org/zstack/header/image/CreateDataVolumeTemplateFromVolumeMsg.java index 2d1c9836a55..3f847eb86dd 100644 --- a/header/src/main/java/org/zstack/header/image/CreateDataVolumeTemplateFromVolumeMsg.java +++ b/header/src/main/java/org/zstack/header/image/CreateDataVolumeTemplateFromVolumeMsg.java @@ -1,7 +1,7 @@ package org.zstack.header.image; import org.zstack.header.identity.SessionInventory; -import org.zstack.header.message.*; +import org.zstack.header.message.NeedReplyMessage; import java.util.List; diff --git a/header/src/main/java/org/zstack/header/image/ImageInventory.java b/header/src/main/java/org/zstack/header/image/ImageInventory.java index 5acb06c38e9..91660ccc2be 100755 --- a/header/src/main/java/org/zstack/header/image/ImageInventory.java +++ b/header/src/main/java/org/zstack/header/image/ImageInventory.java @@ -1,7 +1,11 @@ package org.zstack.header.image; import org.zstack.header.configuration.PythonClassInventory; -import org.zstack.header.query.*; +import org.zstack.header.query.ExpandedQueries; +import org.zstack.header.query.ExpandedQuery; +import org.zstack.header.query.ExpandedQueryAlias; +import org.zstack.header.query.ExpandedQueryAliases; +import org.zstack.header.query.Queryable; import org.zstack.header.search.Inventory; import org.zstack.header.tag.SystemTagInventory; import org.zstack.header.volume.VolumeInventory; diff --git a/header/src/main/java/org/zstack/header/image/ImageType.java b/header/src/main/java/org/zstack/header/image/ImageType.java index 22add46409b..b609049f47f 100755 --- a/header/src/main/java/org/zstack/header/image/ImageType.java +++ b/header/src/main/java/org/zstack/header/image/ImageType.java @@ -1,6 +1,10 @@ package org.zstack.header.image; -import java.util.*; +import java.util.Collections; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Map; +import java.util.Set; public class ImageType { diff --git a/header/src/main/java/org/zstack/header/image/ImageVO.java b/header/src/main/java/org/zstack/header/image/ImageVO.java index 944be03a291..14469ae6c64 100755 --- a/header/src/main/java/org/zstack/header/image/ImageVO.java +++ b/header/src/main/java/org/zstack/header/image/ImageVO.java @@ -1,7 +1,10 @@ package org.zstack.header.image; import org.zstack.header.identity.OwnedByAccount; -import org.zstack.header.vo.*; +import org.zstack.header.vo.BaseResource; +import org.zstack.header.vo.EO; +import org.zstack.header.vo.NoView; +import org.zstack.header.vo.ToInventory; import org.zstack.header.vo.EntityGraph; import javax.persistence.*; diff --git a/header/src/main/java/org/zstack/header/message/APIMessage.java b/header/src/main/java/org/zstack/header/message/APIMessage.java index bffc2cc75d0..3632a3efd21 100755 --- a/header/src/main/java/org/zstack/header/message/APIMessage.java +++ b/header/src/main/java/org/zstack/header/message/APIMessage.java @@ -13,7 +13,14 @@ import java.lang.reflect.Field; import java.lang.reflect.Modifier; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Set; import java.util.regex.Matcher; import java.util.regex.Pattern; import java.util.stream.Collectors; diff --git a/header/src/main/java/org/zstack/header/message/JsonSchemaBuilder.java b/header/src/main/java/org/zstack/header/message/JsonSchemaBuilder.java index 668a5572868..c39c6377162 100755 --- a/header/src/main/java/org/zstack/header/message/JsonSchemaBuilder.java +++ b/header/src/main/java/org/zstack/header/message/JsonSchemaBuilder.java @@ -9,7 +9,13 @@ import java.lang.reflect.Field; import java.lang.reflect.Modifier; -import java.util.*; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; +import java.util.Stack; /** * Created by xing5 on 2016/12/12. diff --git a/header/src/main/java/org/zstack/header/message/Message.java b/header/src/main/java/org/zstack/header/message/Message.java index 42f9fcc6f08..e8d4fb32cee 100755 --- a/header/src/main/java/org/zstack/header/message/Message.java +++ b/header/src/main/java/org/zstack/header/message/Message.java @@ -8,7 +8,12 @@ import org.zstack.utils.DebugUtils; import java.io.Serializable; -import java.util.*; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; +import java.util.UUID; import static org.zstack.utils.BeanUtils.getProperty; import static org.zstack.utils.BeanUtils.setProperty; diff --git a/header/src/main/java/org/zstack/header/network/l2/L2NetworkInventory.java b/header/src/main/java/org/zstack/header/network/l2/L2NetworkInventory.java index d85d6fca496..13d502d886d 100755 --- a/header/src/main/java/org/zstack/header/network/l2/L2NetworkInventory.java +++ b/header/src/main/java/org/zstack/header/network/l2/L2NetworkInventory.java @@ -2,7 +2,11 @@ import org.zstack.header.configuration.PythonClassInventory; import org.zstack.header.network.l3.L3NetworkInventory; -import org.zstack.header.query.*; +import org.zstack.header.query.ExpandedQueries; +import org.zstack.header.query.ExpandedQuery; +import org.zstack.header.query.ExpandedQueryAlias; +import org.zstack.header.query.ExpandedQueryAliases; +import org.zstack.header.query.Queryable; import org.zstack.header.search.Inventory; import org.zstack.header.search.TypeField; import org.zstack.header.zone.ZoneInventory; diff --git a/header/src/main/java/org/zstack/header/network/l2/L2NetworkType.java b/header/src/main/java/org/zstack/header/network/l2/L2NetworkType.java index 792c91f52f2..5c9a31d5c07 100755 --- a/header/src/main/java/org/zstack/header/network/l2/L2NetworkType.java +++ b/header/src/main/java/org/zstack/header/network/l2/L2NetworkType.java @@ -1,6 +1,10 @@ package org.zstack.header.network.l2; -import java.util.*; +import java.util.Collections; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Map; +import java.util.Set; public class L2NetworkType { private static Map types = Collections.synchronizedMap(new HashMap()); diff --git a/header/src/main/java/org/zstack/header/network/l2/L2NetworkVO.java b/header/src/main/java/org/zstack/header/network/l2/L2NetworkVO.java index b01cba2853c..2799751deea 100755 --- a/header/src/main/java/org/zstack/header/network/l2/L2NetworkVO.java +++ b/header/src/main/java/org/zstack/header/network/l2/L2NetworkVO.java @@ -1,7 +1,10 @@ package org.zstack.header.network.l2; import org.zstack.header.identity.OwnedByAccount; -import org.zstack.header.vo.*; +import org.zstack.header.vo.BaseResource; +import org.zstack.header.vo.EO; +import org.zstack.header.vo.NoView; +import org.zstack.header.vo.ToInventory; import org.zstack.header.vo.EntityGraph; import org.zstack.header.zone.ZoneVO; diff --git a/header/src/main/java/org/zstack/header/network/l2/L2ProviderType.java b/header/src/main/java/org/zstack/header/network/l2/L2ProviderType.java index bfb09787630..231b32fce73 100644 --- a/header/src/main/java/org/zstack/header/network/l2/L2ProviderType.java +++ b/header/src/main/java/org/zstack/header/network/l2/L2ProviderType.java @@ -1,6 +1,10 @@ package org.zstack.header.network.l2; -import java.util.*; +import java.util.Collections; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Map; +import java.util.Set; public class L2ProviderType { private static Map types = Collections.synchronizedMap(new HashMap()); diff --git a/header/src/main/java/org/zstack/header/network/l2/VSwitchType.java b/header/src/main/java/org/zstack/header/network/l2/VSwitchType.java index 530d926cbfd..844fabffd8f 100644 --- a/header/src/main/java/org/zstack/header/network/l2/VSwitchType.java +++ b/header/src/main/java/org/zstack/header/network/l2/VSwitchType.java @@ -5,7 +5,11 @@ import org.zstack.utils.gson.JSONObjectUtil; import org.zstack.utils.logging.CLogger; -import java.util.*; +import java.util.Collections; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Map; +import java.util.Set; public class VSwitchType { private static final CLogger logger = Utils.getLogger(VSwitchType.class); diff --git a/header/src/main/java/org/zstack/header/network/l3/APIDeleteIpAddressMsg.java b/header/src/main/java/org/zstack/header/network/l3/APIDeleteIpAddressMsg.java index 15f0540bce8..f09cdc09257 100644 --- a/header/src/main/java/org/zstack/header/network/l3/APIDeleteIpAddressMsg.java +++ b/header/src/main/java/org/zstack/header/network/l3/APIDeleteIpAddressMsg.java @@ -2,7 +2,8 @@ import org.springframework.http.HttpMethod; import org.zstack.header.identity.Action; -import org.zstack.header.message.*; +import org.zstack.header.message.APIDeleteMessage; +import org.zstack.header.message.APIParam; import org.zstack.header.other.APIAuditor; import org.zstack.header.rest.RestRequest; import org.zstack.header.tag.TagResourceType; diff --git a/header/src/main/java/org/zstack/header/network/l3/L3NetworkCategory.java b/header/src/main/java/org/zstack/header/network/l3/L3NetworkCategory.java index c37ca784efb..67ce96d56ad 100644 --- a/header/src/main/java/org/zstack/header/network/l3/L3NetworkCategory.java +++ b/header/src/main/java/org/zstack/header/network/l3/L3NetworkCategory.java @@ -1,6 +1,9 @@ package org.zstack.header.network.l3; -import java.util.*; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; /** * Created by weiwang on 20/09/2017 diff --git a/header/src/main/java/org/zstack/header/network/l3/L3NetworkInventory.java b/header/src/main/java/org/zstack/header/network/l3/L3NetworkInventory.java index f1662f6421f..a4424ea1f73 100755 --- a/header/src/main/java/org/zstack/header/network/l3/L3NetworkInventory.java +++ b/header/src/main/java/org/zstack/header/network/l3/L3NetworkInventory.java @@ -4,7 +4,11 @@ import org.zstack.header.network.l2.L2NetworkInventory; import org.zstack.header.network.service.NetworkServiceL3NetworkRefInventory; import org.zstack.header.network.service.NetworkServiceType; -import org.zstack.header.query.*; +import org.zstack.header.query.ExpandedQueries; +import org.zstack.header.query.ExpandedQuery; +import org.zstack.header.query.ExpandedQueryAlias; +import org.zstack.header.query.ExpandedQueryAliases; +import org.zstack.header.query.Queryable; import org.zstack.header.search.Inventory; import org.zstack.header.vm.VmNicInventory; import org.zstack.header.zone.ZoneInventory; diff --git a/header/src/main/java/org/zstack/header/network/l3/L3NetworkType.java b/header/src/main/java/org/zstack/header/network/l3/L3NetworkType.java index b60fbb45969..31e4096859e 100755 --- a/header/src/main/java/org/zstack/header/network/l3/L3NetworkType.java +++ b/header/src/main/java/org/zstack/header/network/l3/L3NetworkType.java @@ -1,6 +1,10 @@ package org.zstack.header.network.l3; -import java.util.*; +import java.util.Collections; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Map; +import java.util.Set; public class L3NetworkType { private static Map types = Collections.synchronizedMap(new HashMap()); diff --git a/header/src/main/java/org/zstack/header/network/l3/L3NetworkVO.java b/header/src/main/java/org/zstack/header/network/l3/L3NetworkVO.java index 0df379851dd..de165f09e5d 100755 --- a/header/src/main/java/org/zstack/header/network/l3/L3NetworkVO.java +++ b/header/src/main/java/org/zstack/header/network/l3/L3NetworkVO.java @@ -11,7 +11,9 @@ import org.zstack.header.zone.ZoneVO; import javax.persistence.*; -import java.util.*; +import java.util.HashSet; +import java.util.List; +import java.util.Set; import java.util.stream.Collectors; diff --git a/header/src/main/java/org/zstack/header/network/service/APIAttachNetworkServiceToL3NetworkMsg.java b/header/src/main/java/org/zstack/header/network/service/APIAttachNetworkServiceToL3NetworkMsg.java index c51ba7f5423..65c3f944eef 100755 --- a/header/src/main/java/org/zstack/header/network/service/APIAttachNetworkServiceToL3NetworkMsg.java +++ b/header/src/main/java/org/zstack/header/network/service/APIAttachNetworkServiceToL3NetworkMsg.java @@ -10,7 +10,10 @@ import org.zstack.header.network.l3.L3NetworkVO; import org.zstack.header.rest.RestRequest; -import java.util.*; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; /** * @api attach network service to l3Network diff --git a/header/src/main/java/org/zstack/header/network/service/APIDetachNetworkServiceFromL3NetworkMsg.java b/header/src/main/java/org/zstack/header/network/service/APIDetachNetworkServiceFromL3NetworkMsg.java index 00f2b148e2e..4fc91f4477b 100755 --- a/header/src/main/java/org/zstack/header/network/service/APIDetachNetworkServiceFromL3NetworkMsg.java +++ b/header/src/main/java/org/zstack/header/network/service/APIDetachNetworkServiceFromL3NetworkMsg.java @@ -11,7 +11,10 @@ import org.zstack.header.network.l3.L3NetworkVO; import org.zstack.header.rest.RestRequest; -import java.util.*; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; /** * Created by frank on 1/4/2016. diff --git a/header/src/main/java/org/zstack/header/network/service/NetworkServiceProviderInventory.java b/header/src/main/java/org/zstack/header/network/service/NetworkServiceProviderInventory.java index 71c5a9868c0..7e6fa194f2f 100755 --- a/header/src/main/java/org/zstack/header/network/service/NetworkServiceProviderInventory.java +++ b/header/src/main/java/org/zstack/header/network/service/NetworkServiceProviderInventory.java @@ -5,7 +5,11 @@ import javax.persistence.JoinColumn; import java.sql.Timestamp; -import java.util.*; +import java.util.ArrayList; +import java.util.Collection; +import java.util.HashSet; +import java.util.List; +import java.util.Set; @Inventory(mappingVOClass = NetworkServiceProviderVO.class) public class NetworkServiceProviderInventory { diff --git a/header/src/main/java/org/zstack/header/rest/DefaultSSLVerifier.java b/header/src/main/java/org/zstack/header/rest/DefaultSSLVerifier.java index f496cb3d8b8..e2e8a568126 100644 --- a/header/src/main/java/org/zstack/header/rest/DefaultSSLVerifier.java +++ b/header/src/main/java/org/zstack/header/rest/DefaultSSLVerifier.java @@ -3,7 +3,11 @@ import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; -import javax.net.ssl.*; +import javax.net.ssl.SSLContext; +import javax.net.ssl.SSLSession; +import javax.net.ssl.SSLSocketFactory; +import javax.net.ssl.TrustManager; +import javax.net.ssl.X509TrustManager; import java.security.KeyManagementException; import java.security.NoSuchAlgorithmException; diff --git a/header/src/main/java/org/zstack/header/rest/RestHttp.java b/header/src/main/java/org/zstack/header/rest/RestHttp.java index 7c7527698fc..f0891b8410a 100644 --- a/header/src/main/java/org/zstack/header/rest/RestHttp.java +++ b/header/src/main/java/org/zstack/header/rest/RestHttp.java @@ -10,7 +10,11 @@ import org.zstack.utils.TypeUtils; import org.zstack.utils.gson.JSONObjectUtil; -import java.util.*; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; import java.util.function.BiFunction; import java.util.function.Function; diff --git a/header/src/main/java/org/zstack/header/storage/addon/primary/PrimaryStorageControllerSvc.java b/header/src/main/java/org/zstack/header/storage/addon/primary/PrimaryStorageControllerSvc.java index feb4c5c11c7..4a7bfb3ce7f 100644 --- a/header/src/main/java/org/zstack/header/storage/addon/primary/PrimaryStorageControllerSvc.java +++ b/header/src/main/java/org/zstack/header/storage/addon/primary/PrimaryStorageControllerSvc.java @@ -4,7 +4,10 @@ import org.zstack.header.core.Completion; import org.zstack.header.core.ReturnValueCompletion; import org.zstack.header.host.HostInventory; -import org.zstack.header.storage.addon.*; +import org.zstack.header.storage.addon.NodeHealthy; +import org.zstack.header.storage.addon.RemoteTarget; +import org.zstack.header.storage.addon.StorageCapacity; +import org.zstack.header.storage.addon.StorageHealthy; import org.zstack.header.storage.snapshot.VolumeSnapshotStats; import org.zstack.header.volume.VolumeProtocol; import org.zstack.header.volume.VolumeStats; diff --git a/header/src/main/java/org/zstack/header/storage/backup/BackupStorageInventory.java b/header/src/main/java/org/zstack/header/storage/backup/BackupStorageInventory.java index 64ef836b972..71eeabb8268 100755 --- a/header/src/main/java/org/zstack/header/storage/backup/BackupStorageInventory.java +++ b/header/src/main/java/org/zstack/header/storage/backup/BackupStorageInventory.java @@ -2,7 +2,11 @@ import org.zstack.header.configuration.PythonClassInventory; import org.zstack.header.image.ImageBackupStorageRefInventory; -import org.zstack.header.query.*; +import org.zstack.header.query.ExpandedQueries; +import org.zstack.header.query.ExpandedQuery; +import org.zstack.header.query.ExpandedQueryAlias; +import org.zstack.header.query.ExpandedQueryAliases; +import org.zstack.header.query.Queryable; import org.zstack.header.search.Inventory; import org.zstack.header.search.TypeField; import org.zstack.header.storage.snapshot.VolumeSnapshotBackupStorageRefInventory; diff --git a/header/src/main/java/org/zstack/header/storage/backup/BackupStorageType.java b/header/src/main/java/org/zstack/header/storage/backup/BackupStorageType.java index 4fbe06a821a..6d7de1104f6 100755 --- a/header/src/main/java/org/zstack/header/storage/backup/BackupStorageType.java +++ b/header/src/main/java/org/zstack/header/storage/backup/BackupStorageType.java @@ -3,7 +3,14 @@ import org.zstack.utils.CollectionUtils; import org.zstack.utils.function.Function; -import java.util.*; +import java.util.ArrayList; +import java.util.Collections; +import java.util.Comparator; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; public class BackupStorageType { diff --git a/header/src/main/java/org/zstack/header/storage/primary/PrimaryStorageAllocatorStrategyType.java b/header/src/main/java/org/zstack/header/storage/primary/PrimaryStorageAllocatorStrategyType.java index 5f7b2820b97..d5504a2a0e3 100755 --- a/header/src/main/java/org/zstack/header/storage/primary/PrimaryStorageAllocatorStrategyType.java +++ b/header/src/main/java/org/zstack/header/storage/primary/PrimaryStorageAllocatorStrategyType.java @@ -1,6 +1,10 @@ package org.zstack.header.storage.primary; -import java.util.*; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; public class PrimaryStorageAllocatorStrategyType { private static Map types = Collections.synchronizedMap(new HashMap()); diff --git a/header/src/main/java/org/zstack/header/storage/primary/PrimaryStorageHostRefVO.java b/header/src/main/java/org/zstack/header/storage/primary/PrimaryStorageHostRefVO.java index 08619e0e7c4..ef8d2437e9b 100755 --- a/header/src/main/java/org/zstack/header/storage/primary/PrimaryStorageHostRefVO.java +++ b/header/src/main/java/org/zstack/header/storage/primary/PrimaryStorageHostRefVO.java @@ -2,7 +2,9 @@ import org.zstack.header.host.HostEO; import org.zstack.header.host.HostVO; -import org.zstack.header.vo.*; +import org.zstack.header.vo.BaseResource; +import org.zstack.header.vo.SoftDeletionCascade; +import org.zstack.header.vo.SoftDeletionCascades; import org.zstack.header.vo.EntityGraph; import org.zstack.header.vo.ForeignKey; diff --git a/header/src/main/java/org/zstack/header/storage/primary/PrimaryStorageInventory.java b/header/src/main/java/org/zstack/header/storage/primary/PrimaryStorageInventory.java index 643c8709e68..c16a6648d49 100755 --- a/header/src/main/java/org/zstack/header/storage/primary/PrimaryStorageInventory.java +++ b/header/src/main/java/org/zstack/header/storage/primary/PrimaryStorageInventory.java @@ -2,7 +2,11 @@ import org.zstack.header.configuration.PythonClassInventory; import org.zstack.header.log.NoLogging; -import org.zstack.header.query.*; +import org.zstack.header.query.ExpandedQueries; +import org.zstack.header.query.ExpandedQuery; +import org.zstack.header.query.ExpandedQueryAlias; +import org.zstack.header.query.ExpandedQueryAliases; +import org.zstack.header.query.Queryable; import org.zstack.header.search.Inventory; import org.zstack.header.search.TypeField; import org.zstack.header.storage.snapshot.VolumeSnapshotInventory; diff --git a/header/src/main/java/org/zstack/header/storage/primary/PrimaryStorageType.java b/header/src/main/java/org/zstack/header/storage/primary/PrimaryStorageType.java index d1db5fcd67a..e3ef06b04d1 100755 --- a/header/src/main/java/org/zstack/header/storage/primary/PrimaryStorageType.java +++ b/header/src/main/java/org/zstack/header/storage/primary/PrimaryStorageType.java @@ -3,7 +3,12 @@ import org.zstack.utils.CollectionUtils; import org.zstack.utils.function.Function; -import java.util.*; +import java.util.ArrayList; +import java.util.Collections; +import java.util.Comparator; +import java.util.HashMap; +import java.util.List; +import java.util.Map; import java.util.function.Predicate; import java.util.stream.Collectors; diff --git a/header/src/main/java/org/zstack/header/storage/primary/PrimaryStorageVO.java b/header/src/main/java/org/zstack/header/storage/primary/PrimaryStorageVO.java index 6611f883f51..1353f397f40 100755 --- a/header/src/main/java/org/zstack/header/storage/primary/PrimaryStorageVO.java +++ b/header/src/main/java/org/zstack/header/storage/primary/PrimaryStorageVO.java @@ -1,6 +1,9 @@ package org.zstack.header.storage.primary; -import org.zstack.header.vo.*; +import org.zstack.header.vo.BaseResource; +import org.zstack.header.vo.EO; +import org.zstack.header.vo.NoView; +import org.zstack.header.vo.ToInventory; import org.zstack.header.vo.EntityGraph; import org.zstack.header.zone.ZoneVO; diff --git a/header/src/main/java/org/zstack/header/storage/snapshot/APIDeleteVolumeSnapshotMsg.java b/header/src/main/java/org/zstack/header/storage/snapshot/APIDeleteVolumeSnapshotMsg.java index 93003c6211c..feeb2a8862e 100755 --- a/header/src/main/java/org/zstack/header/storage/snapshot/APIDeleteVolumeSnapshotMsg.java +++ b/header/src/main/java/org/zstack/header/storage/snapshot/APIDeleteVolumeSnapshotMsg.java @@ -2,7 +2,9 @@ import org.springframework.http.HttpMethod; import org.zstack.header.identity.Action; -import org.zstack.header.message.*; +import org.zstack.header.message.APIDeleteMessage; +import org.zstack.header.message.APIParam; +import org.zstack.header.message.DefaultTimeout; import org.zstack.header.rest.APINoSee; import org.zstack.header.rest.RestRequest; diff --git a/header/src/main/java/org/zstack/header/storage/snapshot/VolumeSnapshotInventory.java b/header/src/main/java/org/zstack/header/storage/snapshot/VolumeSnapshotInventory.java index d37ba70d14e..b7c0f0340a0 100644 --- a/header/src/main/java/org/zstack/header/storage/snapshot/VolumeSnapshotInventory.java +++ b/header/src/main/java/org/zstack/header/storage/snapshot/VolumeSnapshotInventory.java @@ -1,6 +1,10 @@ package org.zstack.header.storage.snapshot; -import org.zstack.header.query.*; +import org.zstack.header.query.ExpandedQueries; +import org.zstack.header.query.ExpandedQuery; +import org.zstack.header.query.ExpandedQueryAlias; +import org.zstack.header.query.ExpandedQueryAliases; +import org.zstack.header.query.Queryable; import org.zstack.header.search.Inventory; import org.zstack.header.storage.primary.PrimaryStorageInventory; import org.zstack.header.storage.snapshot.group.VolumeSnapshotGroupRefInventory; diff --git a/header/src/main/java/org/zstack/header/storage/snapshot/VolumeSnapshotTree.java b/header/src/main/java/org/zstack/header/storage/snapshot/VolumeSnapshotTree.java index 57b4fab4099..8995d38ef3c 100755 --- a/header/src/main/java/org/zstack/header/storage/snapshot/VolumeSnapshotTree.java +++ b/header/src/main/java/org/zstack/header/storage/snapshot/VolumeSnapshotTree.java @@ -3,7 +3,12 @@ import org.zstack.utils.DebugUtils; import org.zstack.utils.function.Function; -import java.util.*; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Set; import java.util.function.Consumer; /** diff --git a/header/src/main/java/org/zstack/header/storage/snapshot/VolumeSnapshotVO.java b/header/src/main/java/org/zstack/header/storage/snapshot/VolumeSnapshotVO.java index 9f9f9e53b7e..c7bf95208bb 100755 --- a/header/src/main/java/org/zstack/header/storage/snapshot/VolumeSnapshotVO.java +++ b/header/src/main/java/org/zstack/header/storage/snapshot/VolumeSnapshotVO.java @@ -4,7 +4,10 @@ import org.zstack.header.storage.primary.PrimaryStorageVO; import org.zstack.header.storage.snapshot.group.VolumeSnapshotGroupRefVO; import org.zstack.header.vo.EntityGraph; -import org.zstack.header.vo.*; +import org.zstack.header.vo.BaseResource; +import org.zstack.header.vo.EO; +import org.zstack.header.vo.NoView; +import org.zstack.header.vo.ToInventory; import org.zstack.header.volume.VolumeVO; import javax.persistence.*; diff --git a/header/src/main/java/org/zstack/header/storage/snapshot/group/VolumeSnapshotGroupInventory.java b/header/src/main/java/org/zstack/header/storage/snapshot/group/VolumeSnapshotGroupInventory.java index 04eae4bf4f5..34642853b9e 100644 --- a/header/src/main/java/org/zstack/header/storage/snapshot/group/VolumeSnapshotGroupInventory.java +++ b/header/src/main/java/org/zstack/header/storage/snapshot/group/VolumeSnapshotGroupInventory.java @@ -1,6 +1,10 @@ package org.zstack.header.storage.snapshot.group; -import org.zstack.header.query.*; +import org.zstack.header.query.ExpandedQueries; +import org.zstack.header.query.ExpandedQuery; +import org.zstack.header.query.ExpandedQueryAlias; +import org.zstack.header.query.ExpandedQueryAliases; +import org.zstack.header.query.Queryable; import org.zstack.header.search.Inventory; import javax.persistence.JoinColumn; diff --git a/header/src/main/java/org/zstack/header/tag/UserTagVO.java b/header/src/main/java/org/zstack/header/tag/UserTagVO.java index fbd010f9e7b..496d29db870 100755 --- a/header/src/main/java/org/zstack/header/tag/UserTagVO.java +++ b/header/src/main/java/org/zstack/header/tag/UserTagVO.java @@ -1,6 +1,7 @@ package org.zstack.header.tag; -import org.zstack.header.vo.*; +import org.zstack.header.vo.BaseResource; +import org.zstack.header.vo.NoView; import org.zstack.header.vo.EntityGraph; import org.zstack.header.vo.ForeignKey; import org.zstack.header.vo.Index; diff --git a/header/src/main/java/org/zstack/header/vm/APICreateVmInstanceFromVolumeMsg.java b/header/src/main/java/org/zstack/header/vm/APICreateVmInstanceFromVolumeMsg.java index 6b8f4a8e29e..e9423466f78 100644 --- a/header/src/main/java/org/zstack/header/vm/APICreateVmInstanceFromVolumeMsg.java +++ b/header/src/main/java/org/zstack/header/vm/APICreateVmInstanceFromVolumeMsg.java @@ -5,7 +5,11 @@ import org.zstack.header.configuration.InstanceOfferingVO; import org.zstack.header.host.HostVO; import org.zstack.header.identity.Action; -import org.zstack.header.message.*; +import org.zstack.header.message.APICreateMessage; +import org.zstack.header.message.APIEvent; +import org.zstack.header.message.APIMessage; +import org.zstack.header.message.APIParam; +import org.zstack.header.message.DefaultTimeout; import org.zstack.header.network.l3.L3NetworkVO; import org.zstack.header.other.APIAuditor; import org.zstack.header.rest.RestRequest; diff --git a/header/src/main/java/org/zstack/header/vm/APICreateVmInstanceFromVolumeSnapshotMsg.java b/header/src/main/java/org/zstack/header/vm/APICreateVmInstanceFromVolumeSnapshotMsg.java index c0638aa3ab5..67ca9975b34 100644 --- a/header/src/main/java/org/zstack/header/vm/APICreateVmInstanceFromVolumeSnapshotMsg.java +++ b/header/src/main/java/org/zstack/header/vm/APICreateVmInstanceFromVolumeSnapshotMsg.java @@ -5,7 +5,11 @@ import org.zstack.header.configuration.InstanceOfferingVO; import org.zstack.header.host.HostVO; import org.zstack.header.identity.Action; -import org.zstack.header.message.*; +import org.zstack.header.message.APICreateMessage; +import org.zstack.header.message.APIEvent; +import org.zstack.header.message.APIMessage; +import org.zstack.header.message.APIParam; +import org.zstack.header.message.DefaultTimeout; import org.zstack.header.network.l3.L3NetworkVO; import org.zstack.header.other.APIAuditor; import org.zstack.header.rest.RestRequest; diff --git a/header/src/main/java/org/zstack/header/vm/APICreateVmInstanceMsg.java b/header/src/main/java/org/zstack/header/vm/APICreateVmInstanceMsg.java index d6c0a4fd7a7..7ae63827b34 100755 --- a/header/src/main/java/org/zstack/header/vm/APICreateVmInstanceMsg.java +++ b/header/src/main/java/org/zstack/header/vm/APICreateVmInstanceMsg.java @@ -8,7 +8,11 @@ import org.zstack.header.host.HostVO; import org.zstack.header.identity.Action; import org.zstack.header.image.ImageVO; -import org.zstack.header.message.*; +import org.zstack.header.message.APICreateMessage; +import org.zstack.header.message.APIEvent; +import org.zstack.header.message.APIMessage; +import org.zstack.header.message.APIParam; +import org.zstack.header.message.DefaultTimeout; import org.zstack.header.network.l3.L3NetworkVO; import org.zstack.header.other.APIAuditor; import org.zstack.header.rest.APINoSee; diff --git a/header/src/main/java/org/zstack/header/vm/APIGetCandidateIsoForAttachingVmReply.java b/header/src/main/java/org/zstack/header/vm/APIGetCandidateIsoForAttachingVmReply.java index 0b0f5ac20b7..f7c7c8aec68 100755 --- a/header/src/main/java/org/zstack/header/vm/APIGetCandidateIsoForAttachingVmReply.java +++ b/header/src/main/java/org/zstack/header/vm/APIGetCandidateIsoForAttachingVmReply.java @@ -1,6 +1,10 @@ package org.zstack.header.vm; -import org.zstack.header.image.*; +import org.zstack.header.image.ImageBackupStorageRefInventory; +import org.zstack.header.image.ImageConstant; +import org.zstack.header.image.ImageInventory; +import org.zstack.header.image.ImagePlatform; +import org.zstack.header.image.ImageStatus; import org.zstack.header.message.APIReply; import org.zstack.header.rest.RestResponse; diff --git a/header/src/main/java/org/zstack/header/vm/APIGetVmAttachableL3NetworkReply.java b/header/src/main/java/org/zstack/header/vm/APIGetVmAttachableL3NetworkReply.java index fb578be980b..798637d88f7 100755 --- a/header/src/main/java/org/zstack/header/vm/APIGetVmAttachableL3NetworkReply.java +++ b/header/src/main/java/org/zstack/header/vm/APIGetVmAttachableL3NetworkReply.java @@ -1,7 +1,10 @@ package org.zstack.header.vm; import org.zstack.header.message.APIReply; -import org.zstack.header.network.l3.*; +import org.zstack.header.network.l3.IpRangeInventory; +import org.zstack.header.network.l3.L3NetworkConstant; +import org.zstack.header.network.l3.L3NetworkInventory; +import org.zstack.header.network.l3.L3NetworkState; import org.zstack.header.network.service.NetworkServiceConstants; import org.zstack.header.network.service.NetworkServiceL3NetworkRefInventory; import org.zstack.header.network.service.NetworkServiceType; diff --git a/header/src/main/java/org/zstack/header/vm/VmInstanceState.java b/header/src/main/java/org/zstack/header/vm/VmInstanceState.java index 2f61f0c7e2e..09315c3978c 100755 --- a/header/src/main/java/org/zstack/header/vm/VmInstanceState.java +++ b/header/src/main/java/org/zstack/header/vm/VmInstanceState.java @@ -3,7 +3,12 @@ import org.zstack.header.configuration.PythonClass; import org.zstack.header.exception.CloudRuntimeException; -import java.util.*; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; @PythonClass public enum VmInstanceState { diff --git a/header/src/main/java/org/zstack/header/vm/VmInstanceVO.java b/header/src/main/java/org/zstack/header/vm/VmInstanceVO.java index 39dc0607e25..5fccfa9dac0 100755 --- a/header/src/main/java/org/zstack/header/vm/VmInstanceVO.java +++ b/header/src/main/java/org/zstack/header/vm/VmInstanceVO.java @@ -6,9 +6,14 @@ import org.zstack.header.identity.OwnedByAccount; import org.zstack.header.image.ImageVO; import org.zstack.header.vm.cdrom.VmCdRomVO; -import org.zstack.header.vo.*; +import org.zstack.header.vo.BaseResource; +import org.zstack.header.vo.EO; +import org.zstack.header.vo.NoView; +import org.zstack.header.vo.ToInventory; import org.zstack.header.vo.EntityGraph; -import org.zstack.header.volume.*; +import org.zstack.header.volume.VolumeAO; +import org.zstack.header.volume.VolumeType; +import org.zstack.header.volume.VolumeVO; import org.zstack.header.zone.ZoneVO; import javax.persistence.*; diff --git a/header/src/main/java/org/zstack/header/vm/VmNicType.java b/header/src/main/java/org/zstack/header/vm/VmNicType.java index 3fd9612742a..3c753e502fc 100755 --- a/header/src/main/java/org/zstack/header/vm/VmNicType.java +++ b/header/src/main/java/org/zstack/header/vm/VmNicType.java @@ -1,6 +1,8 @@ package org.zstack.header.vm; -import java.util.*; +import java.util.Collections; +import java.util.HashMap; +import java.util.Map; public class VmNicType { public enum VmNicSubType { diff --git a/header/src/main/java/org/zstack/header/vm/VmNicVO.java b/header/src/main/java/org/zstack/header/vm/VmNicVO.java index e5b2edc9085..ea9b3b10695 100755 --- a/header/src/main/java/org/zstack/header/vm/VmNicVO.java +++ b/header/src/main/java/org/zstack/header/vm/VmNicVO.java @@ -4,7 +4,9 @@ import org.zstack.header.network.l3.L3NetworkEO; import org.zstack.header.network.l3.L3NetworkVO; import org.zstack.header.network.l3.UsedIpVO; -import org.zstack.header.vo.*; +import org.zstack.header.vo.BaseResource; +import org.zstack.header.vo.NoView; +import org.zstack.header.vo.ResourceVO; import org.zstack.header.vo.EntityGraph; import org.zstack.header.vo.ForeignKey; import org.zstack.header.vo.ForeignKey.ReferenceOption; diff --git a/header/src/main/java/org/zstack/header/vm/cdrom/VmCdRomVO.java b/header/src/main/java/org/zstack/header/vm/cdrom/VmCdRomVO.java index 38032b73cee..d30d3456e77 100644 --- a/header/src/main/java/org/zstack/header/vm/cdrom/VmCdRomVO.java +++ b/header/src/main/java/org/zstack/header/vm/cdrom/VmCdRomVO.java @@ -4,7 +4,8 @@ import org.zstack.header.image.ImageEO; import org.zstack.header.vm.VmInstanceEO; import org.zstack.header.vm.VmInstanceVO; -import org.zstack.header.vo.*; +import org.zstack.header.vo.BaseResource; +import org.zstack.header.vo.ResourceVO; import org.zstack.header.vo.EntityGraph; import org.zstack.header.vo.ForeignKey; import org.zstack.header.vo.ForeignKey.ReferenceOption; diff --git a/header/src/main/java/org/zstack/header/vo/ToInventory.java b/header/src/main/java/org/zstack/header/vo/ToInventory.java index 2d638690bbb..6a6fa134fbc 100755 --- a/header/src/main/java/org/zstack/header/vo/ToInventory.java +++ b/header/src/main/java/org/zstack/header/vo/ToInventory.java @@ -10,7 +10,11 @@ import java.lang.reflect.Method; import java.lang.reflect.Modifier; -import java.util.*; +import java.util.ArrayList; +import java.util.Collection; +import java.util.HashMap; +import java.util.List; +import java.util.Map; public interface ToInventory { CLogger logger = Utils.getLogger(ToInventory.class); diff --git a/header/src/main/java/org/zstack/header/volume/APICreateDataVolumeFromVolumeSnapshotMsg.java b/header/src/main/java/org/zstack/header/volume/APICreateDataVolumeFromVolumeSnapshotMsg.java index d267ba9326b..638d0a6c005 100755 --- a/header/src/main/java/org/zstack/header/volume/APICreateDataVolumeFromVolumeSnapshotMsg.java +++ b/header/src/main/java/org/zstack/header/volume/APICreateDataVolumeFromVolumeSnapshotMsg.java @@ -2,7 +2,11 @@ import org.springframework.http.HttpMethod; import org.zstack.header.identity.Action; -import org.zstack.header.message.*; +import org.zstack.header.message.APICreateMessage; +import org.zstack.header.message.APIEvent; +import org.zstack.header.message.APIMessage; +import org.zstack.header.message.APIParam; +import org.zstack.header.message.DefaultTimeout; import org.zstack.header.other.APIAuditor; import org.zstack.header.rest.RestRequest; import org.zstack.header.storage.primary.PrimaryStorageVO; diff --git a/header/src/main/java/org/zstack/header/volume/APICreateDataVolumeFromVolumeTemplateMsg.java b/header/src/main/java/org/zstack/header/volume/APICreateDataVolumeFromVolumeTemplateMsg.java index 7a3e81085b1..e178493f122 100755 --- a/header/src/main/java/org/zstack/header/volume/APICreateDataVolumeFromVolumeTemplateMsg.java +++ b/header/src/main/java/org/zstack/header/volume/APICreateDataVolumeFromVolumeTemplateMsg.java @@ -4,7 +4,11 @@ import org.zstack.header.host.HostVO; import org.zstack.header.identity.Action; import org.zstack.header.image.ImageVO; -import org.zstack.header.message.*; +import org.zstack.header.message.APICreateMessage; +import org.zstack.header.message.APIEvent; +import org.zstack.header.message.APIMessage; +import org.zstack.header.message.APIParam; +import org.zstack.header.message.DefaultTimeout; import org.zstack.header.other.APIAuditor; import org.zstack.header.rest.RestRequest; import org.zstack.header.storage.primary.PrimaryStorageVO; diff --git a/header/src/main/java/org/zstack/header/volume/APICreateDataVolumeMsg.java b/header/src/main/java/org/zstack/header/volume/APICreateDataVolumeMsg.java index 9fbb753f19d..c5fd972013e 100755 --- a/header/src/main/java/org/zstack/header/volume/APICreateDataVolumeMsg.java +++ b/header/src/main/java/org/zstack/header/volume/APICreateDataVolumeMsg.java @@ -3,7 +3,11 @@ import org.springframework.http.HttpMethod; import org.zstack.header.configuration.DiskOfferingVO; import org.zstack.header.identity.Action; -import org.zstack.header.message.*; +import org.zstack.header.message.APICreateMessage; +import org.zstack.header.message.APIEvent; +import org.zstack.header.message.APIMessage; +import org.zstack.header.message.APIParam; +import org.zstack.header.message.DefaultTimeout; import org.zstack.header.other.APIAuditor; import org.zstack.header.rest.RestRequest; import org.zstack.header.storage.primary.PrimaryStorageVO; diff --git a/header/src/main/java/org/zstack/header/volume/APICreateVolumeSnapshotGroupMsg.java b/header/src/main/java/org/zstack/header/volume/APICreateVolumeSnapshotGroupMsg.java index 5c0bcca5332..29ac164a7e3 100644 --- a/header/src/main/java/org/zstack/header/volume/APICreateVolumeSnapshotGroupMsg.java +++ b/header/src/main/java/org/zstack/header/volume/APICreateVolumeSnapshotGroupMsg.java @@ -3,7 +3,11 @@ import org.springframework.http.HttpMethod; import org.zstack.header.identity.Action; -import org.zstack.header.message.*; +import org.zstack.header.message.APICreateMessage; +import org.zstack.header.message.APIEvent; +import org.zstack.header.message.APIMessage; +import org.zstack.header.message.APIParam; +import org.zstack.header.message.DefaultTimeout; import org.zstack.header.other.APIAuditor; import org.zstack.header.other.APIMultiAuditor; import org.zstack.header.rest.APINoSee; diff --git a/header/src/main/java/org/zstack/header/volume/APICreateVolumeSnapshotMsg.java b/header/src/main/java/org/zstack/header/volume/APICreateVolumeSnapshotMsg.java index 79aece7c44c..c84988cfcd2 100755 --- a/header/src/main/java/org/zstack/header/volume/APICreateVolumeSnapshotMsg.java +++ b/header/src/main/java/org/zstack/header/volume/APICreateVolumeSnapshotMsg.java @@ -2,7 +2,11 @@ import org.springframework.http.HttpMethod; import org.zstack.header.identity.Action; -import org.zstack.header.message.*; +import org.zstack.header.message.APICreateMessage; +import org.zstack.header.message.APIEvent; +import org.zstack.header.message.APIMessage; +import org.zstack.header.message.APIParam; +import org.zstack.header.message.DefaultTimeout; import org.zstack.header.other.APIAuditor; import org.zstack.header.rest.RestRequest; import org.zstack.header.storage.snapshot.VolumeSnapshotConstant; diff --git a/header/src/main/java/org/zstack/header/volume/VolumeFormat.java b/header/src/main/java/org/zstack/header/volume/VolumeFormat.java index f9695c5fb24..e07ad4596da 100755 --- a/header/src/main/java/org/zstack/header/volume/VolumeFormat.java +++ b/header/src/main/java/org/zstack/header/volume/VolumeFormat.java @@ -7,7 +7,14 @@ import org.zstack.utils.function.Function; import org.zstack.utils.logging.CLogger; -import java.util.*; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; /** */ diff --git a/identity/src/main/java/org/zstack/identity/Account.java b/identity/src/main/java/org/zstack/identity/Account.java index 285d03f5122..4eb864f79a2 100755 --- a/identity/src/main/java/org/zstack/identity/Account.java +++ b/identity/src/main/java/org/zstack/identity/Account.java @@ -5,7 +5,13 @@ import org.zstack.core.config.GlobalConfigVO_; import org.zstack.core.db.Q; import org.zstack.core.db.SQLBatchWithReturn; -import org.zstack.header.identity.*; +import org.zstack.header.identity.AccountConstant; +import org.zstack.header.identity.AccountInventory; +import org.zstack.header.identity.AccountResourceRefVO; +import org.zstack.header.identity.AccountResourceRefVO_; +import org.zstack.header.identity.AccountType; +import org.zstack.header.identity.AccountVO; +import org.zstack.header.identity.QuotaVO; import org.zstack.header.message.Message; import org.zstack.utils.DebugUtils; diff --git a/identity/src/main/java/org/zstack/identity/AccountAPIRequestChecker.java b/identity/src/main/java/org/zstack/identity/AccountAPIRequestChecker.java index 5266998a6ef..7e719df6204 100755 --- a/identity/src/main/java/org/zstack/identity/AccountAPIRequestChecker.java +++ b/identity/src/main/java/org/zstack/identity/AccountAPIRequestChecker.java @@ -16,7 +16,14 @@ import javax.persistence.Tuple; import java.lang.reflect.Field; -import java.util.*; +import java.util.ArrayList; +import java.util.Collection; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.UUID; import static org.zstack.utils.clouderrorcode.CloudOperationsErrorCode.*; @Configurable(preConstruction = true, autowire = Autowire.BY_TYPE) diff --git a/identity/src/main/java/org/zstack/identity/AccountBase.java b/identity/src/main/java/org/zstack/identity/AccountBase.java index 20f072628c4..0c208f60474 100755 --- a/identity/src/main/java/org/zstack/identity/AccountBase.java +++ b/identity/src/main/java/org/zstack/identity/AccountBase.java @@ -29,7 +29,85 @@ import org.zstack.header.core.workflow.NoRollbackFlow; import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.errorcode.OperationFailureException; -import org.zstack.header.identity.*; +import org.zstack.header.identity.APIAddUserToGroupEvent; +import org.zstack.header.identity.APIAddUserToGroupMsg; +import org.zstack.header.identity.APIAttachPoliciesToUserEvent; +import org.zstack.header.identity.APIAttachPoliciesToUserMsg; +import org.zstack.header.identity.APIAttachPolicyToUserEvent; +import org.zstack.header.identity.APIAttachPolicyToUserGroupEvent; +import org.zstack.header.identity.APIAttachPolicyToUserGroupMsg; +import org.zstack.header.identity.APIAttachPolicyToUserMsg; +import org.zstack.header.identity.APICreatePolicyEvent; +import org.zstack.header.identity.APICreatePolicyMsg; +import org.zstack.header.identity.APICreateUserEvent; +import org.zstack.header.identity.APICreateUserGroupEvent; +import org.zstack.header.identity.APICreateUserGroupMsg; +import org.zstack.header.identity.APICreateUserMsg; +import org.zstack.header.identity.APIDeleteAccountEvent; +import org.zstack.header.identity.APIDeleteAccountMsg; +import org.zstack.header.identity.APIDeletePolicyEvent; +import org.zstack.header.identity.APIDeletePolicyMsg; +import org.zstack.header.identity.APIDeleteUserEvent; +import org.zstack.header.identity.APIDeleteUserGroupEvent; +import org.zstack.header.identity.APIDeleteUserGroupMsg; +import org.zstack.header.identity.APIDeleteUserMsg; +import org.zstack.header.identity.APIDetachPoliciesFromUserEvent; +import org.zstack.header.identity.APIDetachPoliciesFromUserMsg; +import org.zstack.header.identity.APIDetachPolicyFromUserEvent; +import org.zstack.header.identity.APIDetachPolicyFromUserGroupEvent; +import org.zstack.header.identity.APIDetachPolicyFromUserGroupMsg; +import org.zstack.header.identity.APIDetachPolicyFromUserMsg; +import org.zstack.header.identity.APIGetAccountQuotaUsageMsg; +import org.zstack.header.identity.APIGetAccountQuotaUsageReply; +import org.zstack.header.identity.APIRemoveUserFromGroupEvent; +import org.zstack.header.identity.APIRemoveUserFromGroupMsg; +import org.zstack.header.identity.APIRevokeResourceSharingEvent; +import org.zstack.header.identity.APIRevokeResourceSharingMsg; +import org.zstack.header.identity.APIShareResourceEvent; +import org.zstack.header.identity.APIShareResourceMsg; +import org.zstack.header.identity.APIUpdateAccountEvent; +import org.zstack.header.identity.APIUpdateAccountMsg; +import org.zstack.header.identity.APIUpdateQuotaEvent; +import org.zstack.header.identity.APIUpdateQuotaMsg; +import org.zstack.header.identity.APIUpdateUserEvent; +import org.zstack.header.identity.APIUpdateUserGroupEvent; +import org.zstack.header.identity.APIUpdateUserGroupMsg; +import org.zstack.header.identity.APIUpdateUserMsg; +import org.zstack.header.identity.AccountConstant; +import org.zstack.header.identity.AccountDeletionMsg; +import org.zstack.header.identity.AccountDeletionReply; +import org.zstack.header.identity.AccountInventory; +import org.zstack.header.identity.AccountResourceRefVO; +import org.zstack.header.identity.AccountResourceRefVO_; +import org.zstack.header.identity.AccountVO; +import org.zstack.header.identity.AfterCreateUserExtensionPoint; +import org.zstack.header.identity.BeforeDeleteAccountExtensionPoint; +import org.zstack.header.identity.BeforeUpdateAccountExtensionPoint; +import org.zstack.header.identity.DeleteAccountMsg; +import org.zstack.header.identity.DeleteAccountReply; +import org.zstack.header.identity.IdentityCanonicalEvents; +import org.zstack.header.identity.PolicyInventory; +import org.zstack.header.identity.PolicyType; +import org.zstack.header.identity.PolicyVO; +import org.zstack.header.identity.PolicyVO_; +import org.zstack.header.identity.Quota; +import org.zstack.header.identity.QuotaInventory; +import org.zstack.header.identity.QuotaVO; +import org.zstack.header.identity.QuotaVO_; +import org.zstack.header.identity.SharedResourceVO; +import org.zstack.header.identity.SharedResourceVO_; +import org.zstack.header.identity.UserGroupInventory; +import org.zstack.header.identity.UserGroupPolicyRefVO; +import org.zstack.header.identity.UserGroupPolicyRefVO_; +import org.zstack.header.identity.UserGroupUserRefVO; +import org.zstack.header.identity.UserGroupUserRefVO_; +import org.zstack.header.identity.UserGroupVO; +import org.zstack.header.identity.UserGroupVO_; +import org.zstack.header.identity.UserInventory; +import org.zstack.header.identity.UserPolicyRefVO; +import org.zstack.header.identity.UserPolicyRefVO_; +import org.zstack.header.identity.UserVO; +import org.zstack.header.identity.UserVO_; import org.zstack.header.identity.IdentityCanonicalEvents.AccountDeletedData; import org.zstack.header.identity.IdentityCanonicalEvents.UserDeletedData; import org.zstack.header.identity.quota.QuotaDefinition; @@ -172,6 +250,7 @@ private void deleteAccount(Completion completion) { chain.then(new ShareFlow() { @Override public void setup() { + // DEBT: NoRollbackFlow — in deleteAccount flow(new NoRollbackFlow() { String __name__ = "delete"; diff --git a/identity/src/main/java/org/zstack/identity/AccountLoginBackend.java b/identity/src/main/java/org/zstack/identity/AccountLoginBackend.java index f23e3ade43b..34e844842fe 100644 --- a/identity/src/main/java/org/zstack/identity/AccountLoginBackend.java +++ b/identity/src/main/java/org/zstack/identity/AccountLoginBackend.java @@ -4,12 +4,23 @@ import org.zstack.core.componentloader.PluginRegistry; import org.zstack.core.db.Q; import org.zstack.header.core.ReturnValueCompletion; -import org.zstack.header.identity.*; -import org.zstack.header.identity.login.*; +import org.zstack.header.identity.AccountConstant; +import org.zstack.header.identity.AccountVO; +import org.zstack.header.identity.AccountVO_; +import org.zstack.header.identity.IdentityErrors; +import org.zstack.header.identity.LoginType; +import org.zstack.header.identity.login.AdditionalAuthFeature; +import org.zstack.header.identity.login.LoginAuthConstant; +import org.zstack.header.identity.login.LoginBackend; +import org.zstack.header.identity.login.LoginContext; +import org.zstack.header.identity.login.LoginSessionInfo; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; -import java.util.*; +import java.util.Arrays; +import java.util.HashSet; +import java.util.List; +import java.util.Set; import static org.zstack.core.Platform.err; import static org.zstack.utils.clouderrorcode.CloudOperationsErrorCode.*; diff --git a/identity/src/main/java/org/zstack/identity/AccountManager.java b/identity/src/main/java/org/zstack/identity/AccountManager.java index feb61018d8e..25a1cdeee2a 100755 --- a/identity/src/main/java/org/zstack/identity/AccountManager.java +++ b/identity/src/main/java/org/zstack/identity/AccountManager.java @@ -1,6 +1,10 @@ package org.zstack.identity; -import org.zstack.header.identity.*; +import org.zstack.header.identity.AccountInventory; +import org.zstack.header.identity.AccountResourceRefInventory; +import org.zstack.header.identity.CreateAccountMsg; +import org.zstack.header.identity.Quota; +import org.zstack.header.identity.SessionInventory; import org.zstack.header.identity.quota.QuotaDefinition; import org.zstack.header.identity.quota.QuotaMessageHandler; import org.zstack.header.message.APIMessage; diff --git a/identity/src/main/java/org/zstack/identity/AccountManagerImpl.java b/identity/src/main/java/org/zstack/identity/AccountManagerImpl.java index e11ee611ffe..ac92b4f4ccb 100755 --- a/identity/src/main/java/org/zstack/identity/AccountManagerImpl.java +++ b/identity/src/main/java/org/zstack/identity/AccountManagerImpl.java @@ -8,8 +8,21 @@ import org.zstack.core.cloudbus.EventFacade; import org.zstack.core.cloudbus.MessageSafe; import org.zstack.core.componentloader.PluginRegistry; -import org.zstack.core.config.*; -import org.zstack.core.db.*; +import org.zstack.core.config.GlobalConfig; +import org.zstack.core.config.GlobalConfigException; +import org.zstack.core.config.GlobalConfigUpdateExtensionPoint; +import org.zstack.core.config.GlobalConfigVO; +import org.zstack.core.config.GlobalConfigVO_; +import org.zstack.core.config.GlobalConfigValidatorExtensionPoint; +import org.zstack.core.db.DatabaseFacade; +import org.zstack.core.db.EntityEvent; +import org.zstack.core.db.HardDeleteEntityExtensionPoint; +import org.zstack.core.db.Q; +import org.zstack.core.db.SQL; +import org.zstack.core.db.SQLBatch; +import org.zstack.core.db.SQLBatchWithReturn; +import org.zstack.core.db.SimpleQuery; +import org.zstack.core.db.SoftDeleteEntityExtensionPoint; import org.zstack.core.db.SimpleQuery.Op; import org.zstack.core.thread.ChainTask; import org.zstack.core.thread.SyncTask; @@ -23,12 +36,91 @@ import org.zstack.header.apimediator.ApiMessageInterceptionException; import org.zstack.header.apimediator.ApiMessageInterceptor; import org.zstack.header.core.NoErrorCompletion; -import org.zstack.header.core.workflow.*; +import org.zstack.header.core.workflow.FlowChain; +import org.zstack.header.core.workflow.FlowDoneHandler; +import org.zstack.header.core.workflow.FlowErrorHandler; +import org.zstack.header.core.workflow.FlowTrigger; +import org.zstack.header.core.workflow.NoRollbackFlow; import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.errorcode.OperationFailureException; import org.zstack.header.errorcode.SysErrors; import org.zstack.header.exception.CloudRuntimeException; -import org.zstack.header.identity.*; +import org.zstack.header.identity.APIAddUserToGroupMsg; +import org.zstack.header.identity.APIAttachPolicyToUserGroupMsg; +import org.zstack.header.identity.APIAttachPolicyToUserMsg; +import org.zstack.header.identity.APIChangeResourceOwnerEvent; +import org.zstack.header.identity.APIChangeResourceOwnerMsg; +import org.zstack.header.identity.APICheckApiPermissionMsg; +import org.zstack.header.identity.APICheckApiPermissionReply; +import org.zstack.header.identity.APICreateAccountEvent; +import org.zstack.header.identity.APICreateAccountMsg; +import org.zstack.header.identity.APICreatePolicyMsg; +import org.zstack.header.identity.APICreateUserGroupMsg; +import org.zstack.header.identity.APICreateUserMsg; +import org.zstack.header.identity.APIDeleteAccountMsg; +import org.zstack.header.identity.APIDetachPolicyFromUserGroupMsg; +import org.zstack.header.identity.APIDetachPolicyFromUserMsg; +import org.zstack.header.identity.APIGetAccountQuotaUsageMsg; +import org.zstack.header.identity.APIGetResourceAccountMsg; +import org.zstack.header.identity.APIGetResourceAccountReply; +import org.zstack.header.identity.APIGetSupportedIdentityModelsMsg; +import org.zstack.header.identity.APIGetSupportedIdentityModelsReply; +import org.zstack.header.identity.APILogInByAccountMsg; +import org.zstack.header.identity.APILogInByUserMsg; +import org.zstack.header.identity.APILogInReply; +import org.zstack.header.identity.APILogOutMsg; +import org.zstack.header.identity.APILogOutReply; +import org.zstack.header.identity.APIRenewSessionEvent; +import org.zstack.header.identity.APIRenewSessionMsg; +import org.zstack.header.identity.APIRevokeResourceSharingMsg; +import org.zstack.header.identity.APIShareResourceMsg; +import org.zstack.header.identity.APIUpdateAccountMsg; +import org.zstack.header.identity.APIUpdateQuotaMsg; +import org.zstack.header.identity.APIUpdateUserMsg; +import org.zstack.header.identity.APIValidateSessionMsg; +import org.zstack.header.identity.APIValidateSessionReply; +import org.zstack.header.identity.AccountConstant; +import org.zstack.header.identity.AccountInventory; +import org.zstack.header.identity.AccountMessage; +import org.zstack.header.identity.AccountResourceRefInventory; +import org.zstack.header.identity.AccountResourceRefVO; +import org.zstack.header.identity.AccountResourceRefVO_; +import org.zstack.header.identity.AccountType; +import org.zstack.header.identity.AccountVO; +import org.zstack.header.identity.AccountVO_; +import org.zstack.header.identity.Action; +import org.zstack.header.identity.AddtionalResourceTypeExtensionPoint; +import org.zstack.header.identity.AfterCreateAccountExtensionPoint; +import org.zstack.header.identity.BeforeCreateAccountExtensionPoint; +import org.zstack.header.identity.CreateAccountMsg; +import org.zstack.header.identity.CreateAccountReply; +import org.zstack.header.identity.IdentityCanonicalEvents; +import org.zstack.header.identity.IdentityErrors; +import org.zstack.header.identity.OwnedByAccount; +import org.zstack.header.identity.PolicyInventory; +import org.zstack.header.identity.PolicyStatement; +import org.zstack.header.identity.PolicyStatementEffect; +import org.zstack.header.identity.PolicyVO; +import org.zstack.header.identity.Quota; +import org.zstack.header.identity.QuotaVO; +import org.zstack.header.identity.QuotaVO_; +import org.zstack.header.identity.ReportApiAccountControlExtensionPoint; +import org.zstack.header.identity.ReportQuotaExtensionPoint; +import org.zstack.header.identity.ResourceOwnerAfterChangeExtensionPoint; +import org.zstack.header.identity.ResourceOwnerPreChangeExtensionPoint; +import org.zstack.header.identity.SessionInventory; +import org.zstack.header.identity.SessionVO; +import org.zstack.header.identity.SessionVO_; +import org.zstack.header.identity.SharedResourceVO; +import org.zstack.header.identity.SharedResourceVO_; +import org.zstack.header.identity.SuppressCredentialCheck; +import org.zstack.header.identity.UserGroupPolicyRefVO; +import org.zstack.header.identity.UserGroupUserRefVO; +import org.zstack.header.identity.UserGroupVO; +import org.zstack.header.identity.UserGroupVO_; +import org.zstack.header.identity.UserPolicyRefVO; +import org.zstack.header.identity.UserVO; +import org.zstack.header.identity.UserVO_; import org.zstack.header.identity.Quota.QuotaPair; import org.zstack.header.identity.quota.QuotaDefinition; import org.zstack.header.identity.quota.QuotaMessageHandler; @@ -36,13 +128,26 @@ import org.zstack.header.identity.login.LogInReply; import org.zstack.header.identity.login.LoginManager; import org.zstack.header.managementnode.PrepareDbInitialValueExtensionPoint; -import org.zstack.header.message.*; +import org.zstack.header.message.APIMessage; +import org.zstack.header.message.APIParam; +import org.zstack.header.message.BeforeDeliveryMessageInterceptor; +import org.zstack.header.message.Message; +import org.zstack.header.message.MessageReply; +import org.zstack.header.message.NeedQuotaCheckMessage; import org.zstack.header.rest.RestAuthenticationBackend; import org.zstack.header.rest.RestAuthenticationParams; import org.zstack.header.rest.RestAuthenticationType; -import org.zstack.header.vo.*; +import org.zstack.header.vo.APIGetResourceNamesMsg; +import org.zstack.header.vo.APIGetResourceNamesReply; +import org.zstack.header.vo.ResourceInventory; +import org.zstack.header.vo.ResourceTypeMetadata; +import org.zstack.header.vo.ResourceVO; import org.zstack.identity.rbac.PolicyUtils; -import org.zstack.utils.*; +import org.zstack.utils.BeanUtils; +import org.zstack.utils.CollectionUtils; +import org.zstack.utils.DebugUtils; +import org.zstack.utils.FieldUtils; +import org.zstack.utils.Utils; import org.zstack.utils.function.ForEachFunction; import org.zstack.utils.gson.JSONObjectUtil; import org.zstack.utils.logging.CLogger; @@ -52,7 +157,16 @@ import javax.persistence.TypedQuery; import java.lang.reflect.Field; import java.sql.Timestamp; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; +import java.util.Collections; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.UUID; import java.util.concurrent.ConcurrentLinkedQueue; import java.util.concurrent.Future; import java.util.regex.Matcher; @@ -310,6 +424,7 @@ private void doChangeResourceOwnerInQueue(APIChangeResourceOwnerMsg msg, NoError APIChangeResourceOwnerEvent evt = new APIChangeResourceOwnerEvent(msg.getId()); FlowChain chain = new SimpleFlowChain(); + // DEBT: NoRollbackFlow — in doChangeResourceOwnerInQueue chain.then(new NoRollbackFlow() { @Override public void run(FlowTrigger trigger, Map data) { @@ -339,6 +454,7 @@ public void run(FlowTrigger trigger, Map data) { new QuotaUtil().checkQuota(msg, resourceOriginalOwnerAccountUuid, msg.getAccountUuid()); trigger.next(); } + // DEBT: NoRollbackFlow — in doChangeResourceOwnerInQueue }).then(new NoRollbackFlow() { @Override public void run(FlowTrigger trigger, Map data) { diff --git a/identity/src/main/java/org/zstack/identity/IAMIdentityResourceGenerator.java b/identity/src/main/java/org/zstack/identity/IAMIdentityResourceGenerator.java index ca045613d5f..6901c593bca 100644 --- a/identity/src/main/java/org/zstack/identity/IAMIdentityResourceGenerator.java +++ b/identity/src/main/java/org/zstack/identity/IAMIdentityResourceGenerator.java @@ -1,7 +1,12 @@ package org.zstack.identity; import org.zstack.core.db.SQLBatch; -import org.zstack.header.identity.*; +import org.zstack.header.identity.APIUpdateUserMsg; +import org.zstack.header.identity.AccountConstant; +import org.zstack.header.identity.PolicyStatement; +import org.zstack.header.identity.PolicyStatementEffect; +import org.zstack.header.identity.PolicyVO; +import org.zstack.header.identity.PolicyVO_; import org.zstack.header.identity.rbac.RBAC; import org.zstack.header.message.APIMessage; import org.zstack.header.message.APISyncCallMessage; diff --git a/identity/src/main/java/org/zstack/identity/IdentityGlobalConfig.java b/identity/src/main/java/org/zstack/identity/IdentityGlobalConfig.java index 6d467236492..91cf0f6f2d4 100755 --- a/identity/src/main/java/org/zstack/identity/IdentityGlobalConfig.java +++ b/identity/src/main/java/org/zstack/identity/IdentityGlobalConfig.java @@ -1,6 +1,8 @@ package org.zstack.identity; -import org.zstack.core.config.*; +import org.zstack.core.config.GlobalConfig; +import org.zstack.core.config.GlobalConfigDefinition; +import org.zstack.core.config.GlobalConfigValidation; import org.zstack.header.core.encrypt.GlobalConfigEncrypt; /** diff --git a/identity/src/main/java/org/zstack/identity/QuotaUtil.java b/identity/src/main/java/org/zstack/identity/QuotaUtil.java index d7b29015624..579d6bc1ffe 100644 --- a/identity/src/main/java/org/zstack/identity/QuotaUtil.java +++ b/identity/src/main/java/org/zstack/identity/QuotaUtil.java @@ -13,7 +13,16 @@ import org.zstack.header.apimediator.ApiMessageInterceptionException; import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.exception.CloudRuntimeException; -import org.zstack.header.identity.*; +import org.zstack.header.identity.AccountConstant; +import org.zstack.header.identity.AccountResourceRefVO; +import org.zstack.header.identity.AccountResourceRefVO_; +import org.zstack.header.identity.AccountType; +import org.zstack.header.identity.AccountVO; +import org.zstack.header.identity.AccountVO_; +import org.zstack.header.identity.IdentityErrors; +import org.zstack.header.identity.Quota; +import org.zstack.header.identity.QuotaVO; +import org.zstack.header.identity.QuotaVO_; import org.zstack.header.identity.quota.FixedSizeRequiredRequest; import org.zstack.header.identity.quota.FunctionalSizeRequiredRequest; import org.zstack.header.identity.quota.QuotaMessageHandler; diff --git a/identity/src/main/java/org/zstack/identity/Session.java b/identity/src/main/java/org/zstack/identity/Session.java index 0f48c5d639a..b3619482db2 100755 --- a/identity/src/main/java/org/zstack/identity/Session.java +++ b/identity/src/main/java/org/zstack/identity/Session.java @@ -8,13 +8,24 @@ import org.zstack.core.cloudbus.EventCallback; import org.zstack.core.cloudbus.EventFacade; import org.zstack.core.componentloader.PluginRegistry; -import org.zstack.core.db.*; +import org.zstack.core.db.DatabaseFacade; +import org.zstack.core.db.Q; +import org.zstack.core.db.SQL; +import org.zstack.core.db.SQLBatch; +import org.zstack.core.db.SQLBatchWithReturn; +import org.zstack.core.db.SimpleQuery; import org.zstack.core.thread.PeriodicTask; import org.zstack.core.thread.ThreadFacade; import org.zstack.header.Component; import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.errorcode.OperationFailureException; -import org.zstack.header.identity.*; +import org.zstack.header.identity.ForceLogoutSessionExtensionPoint; +import org.zstack.header.identity.IdentityCanonicalEvents; +import org.zstack.header.identity.IdentityErrors; +import org.zstack.header.identity.SessionInventory; +import org.zstack.header.identity.SessionLogoutExtensionPoint; +import org.zstack.header.identity.SessionVO; +import org.zstack.header.identity.SessionVO_; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; diff --git a/identity/src/main/java/org/zstack/identity/login/LoginManagerImpl.java b/identity/src/main/java/org/zstack/identity/login/LoginManagerImpl.java index 45086320dba..812fa07f035 100644 --- a/identity/src/main/java/org/zstack/identity/login/LoginManagerImpl.java +++ b/identity/src/main/java/org/zstack/identity/login/LoginManagerImpl.java @@ -6,7 +6,11 @@ import org.zstack.core.workflow.FlowChainBuilder; import org.zstack.header.AbstractService; import org.zstack.header.core.ReturnValueCompletion; -import org.zstack.header.core.workflow.*; +import org.zstack.header.core.workflow.FlowChain; +import org.zstack.header.core.workflow.FlowDoneHandler; +import org.zstack.header.core.workflow.FlowErrorHandler; +import org.zstack.header.core.workflow.FlowTrigger; +import org.zstack.header.core.workflow.NoRollbackFlow; import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.errorcode.OperationFailureException; import org.zstack.header.exception.CloudRuntimeException; @@ -14,14 +18,31 @@ import org.zstack.header.identity.APISessionMessage; import org.zstack.header.identity.AccountConstant; import org.zstack.header.identity.SessionInventory; -import org.zstack.header.identity.login.*; +import org.zstack.header.identity.login.APIGetLoginProceduresMsg; +import org.zstack.header.identity.login.APIGetLoginProceduresReply; +import org.zstack.header.identity.login.APILogInMsg; +import org.zstack.header.identity.login.AdditionalAuthFeature; +import org.zstack.header.identity.login.LogInMsg; +import org.zstack.header.identity.login.LogInReply; +import org.zstack.header.identity.login.LoginAPIAdapter; +import org.zstack.header.identity.login.LoginAuthConstant; +import org.zstack.header.identity.login.LoginAuthExtensionPoint; +import org.zstack.header.identity.login.LoginAuthenticationProcedureDesc; +import org.zstack.header.identity.login.LoginBackend; +import org.zstack.header.identity.login.LoginContext; +import org.zstack.header.identity.login.LoginManager; +import org.zstack.header.identity.login.LoginSessionInfo; import org.zstack.header.message.Message; import org.zstack.identity.Session; import org.zstack.utils.BeanUtils; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; -import java.util.*; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; import java.util.stream.Collectors; import static org.zstack.core.Platform.operr; @@ -192,6 +213,7 @@ private void doLogIn(LoginContext loginContext, ReturnValueCompletion refs = new ArrayList<>(); for (final ImageBackupStorageRefVO ref : toDelete) { + // DEBT: NoRollbackFlow — reason TBD chain.then(new NoRollbackFlow() { String __name__ = String.format("delete-image-%s-from-backup-storage-%s", self.getUuid(), ref.getBackupStorageUuid()); @@ -966,6 +1050,7 @@ private void handle(APIDeleteImageMsg msg) { FlowChain chain = FlowChainBuilder.newSimpleFlowChain(); chain.setName(String.format("delete-image-%s", msg.getUuid())); if (msg.getDeletionMode() == APIDeleteMessage.DeletionMode.Permissive) { + // DEBT: NoRollbackFlow — reason TBD chain.then(new NoRollbackFlow() { @Override public void run(final FlowTrigger trigger, Map data) { @@ -981,6 +1066,7 @@ public void fail(ErrorCode errorCode) { } }); } + // DEBT: NoRollbackFlow — reason TBD }).then(new NoRollbackFlow() { @Override public void run(final FlowTrigger trigger, Map data) { @@ -998,6 +1084,7 @@ public void fail(ErrorCode errorCode) { } }); } else { + // DEBT: NoRollbackFlow — reason TBD chain.then(new NoRollbackFlow() { @Override public void run(final FlowTrigger trigger, Map data) { diff --git a/image/src/main/java/org/zstack/image/ImageCascadeExtension.java b/image/src/main/java/org/zstack/image/ImageCascadeExtension.java index aa675fa6be3..ffc2aae3886 100755 --- a/image/src/main/java/org/zstack/image/ImageCascadeExtension.java +++ b/image/src/main/java/org/zstack/image/ImageCascadeExtension.java @@ -11,7 +11,13 @@ import org.zstack.header.core.Completion; import org.zstack.header.identity.AccountInventory; import org.zstack.header.identity.AccountVO; -import org.zstack.header.image.*; +import org.zstack.header.image.ImageBackupStorageRefVO; +import org.zstack.header.image.ImageConstant; +import org.zstack.header.image.ImageDeletionMsg; +import org.zstack.header.image.ImageDeletionStruct; +import org.zstack.header.image.ImageEO; +import org.zstack.header.image.ImageInventory; +import org.zstack.header.image.ImageVO; import org.zstack.header.image.ImageDeletionPolicyManager.ImageDeletionPolicy; import org.zstack.header.message.MessageReply; import org.zstack.header.storage.backup.BackupStorageInventory; @@ -23,7 +29,11 @@ import javax.persistence.Tuple; import javax.persistence.TypedQuery; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; import java.util.concurrent.Callable; /** diff --git a/image/src/main/java/org/zstack/image/ImageMessageFiller.java b/image/src/main/java/org/zstack/image/ImageMessageFiller.java index afbdceb164e..86ae02b60ca 100644 --- a/image/src/main/java/org/zstack/image/ImageMessageFiller.java +++ b/image/src/main/java/org/zstack/image/ImageMessageFiller.java @@ -5,7 +5,11 @@ import org.zstack.core.config.schema.GuestOsCategory; import org.zstack.core.db.Q; import org.zstack.core.db.SQL; -import org.zstack.header.image.*; +import org.zstack.header.image.AddImageMessage; +import org.zstack.header.image.ImageArchitecture; +import org.zstack.header.image.ImageBootMode; +import org.zstack.header.image.ImageConstant; +import org.zstack.header.image.ImagePlatform; import org.zstack.header.vm.VmInstanceVO; import org.zstack.header.vm.VmInstanceVO_; import org.zstack.header.volume.VolumeVO; diff --git a/image/src/main/java/org/zstack/image/ImageUpgradeExtension.java b/image/src/main/java/org/zstack/image/ImageUpgradeExtension.java index 6483e312a18..6544520a0b7 100755 --- a/image/src/main/java/org/zstack/image/ImageUpgradeExtension.java +++ b/image/src/main/java/org/zstack/image/ImageUpgradeExtension.java @@ -11,12 +11,21 @@ import org.zstack.core.db.UpdateQuery; import org.zstack.header.Component; import org.zstack.header.exception.CloudRuntimeException; -import org.zstack.header.image.*; +import org.zstack.header.image.ImageBackupStorageRefVO; +import org.zstack.header.image.ImageConstant; +import org.zstack.header.image.ImageInventory; +import org.zstack.header.image.ImageVO; +import org.zstack.header.image.SyncImageSizeMsg; +import org.zstack.header.image.SyncImageSizeReply; import org.zstack.header.message.MessageReply; import org.zstack.header.storage.backup.BackupStorageCanonicalEvents; import org.zstack.header.storage.backup.BackupStorageCanonicalEvents.BackupStorageStatusChangedData; import org.zstack.header.storage.backup.BackupStorageStatus; -import org.zstack.header.storage.primary.*; +import org.zstack.header.storage.primary.ImageCacheVO; +import org.zstack.header.storage.primary.ImageCacheVO_; +import org.zstack.header.storage.primary.PrimaryStorageConstant; +import org.zstack.header.storage.primary.PrimaryStorageVO; +import org.zstack.header.storage.primary.RecalculatePrimaryStorageCapacityMsg; import org.zstack.utils.CollectionUtils; import org.zstack.utils.StringDSL; import org.zstack.utils.Utils; diff --git a/image/src/main/java/org/zstack/image/UploadImageTracker.java b/image/src/main/java/org/zstack/image/UploadImageTracker.java index 388d226c23a..a548fb6ddb7 100644 --- a/image/src/main/java/org/zstack/image/UploadImageTracker.java +++ b/image/src/main/java/org/zstack/image/UploadImageTracker.java @@ -15,7 +15,17 @@ import org.zstack.core.thread.ThreadFacade; import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.errorcode.OperationFailureException; -import org.zstack.header.image.*; +import org.zstack.header.image.AddImageExtensionPoint; +import org.zstack.header.image.ImageBackupStorageRefVO; +import org.zstack.header.image.ImageBackupStorageRefVO_; +import org.zstack.header.image.ImageCanonicalEvents; +import org.zstack.header.image.ImageConstant; +import org.zstack.header.image.ImageDeletionMsg; +import org.zstack.header.image.ImageDeletionPolicyManager; +import org.zstack.header.image.ImageErrors; +import org.zstack.header.image.ImageInventory; +import org.zstack.header.image.ImageStatus; +import org.zstack.header.image.ImageVO; import org.zstack.header.longjob.LongJobVO; import org.zstack.header.longjob.LongJobVO_; import org.zstack.header.message.MessageReply; diff --git a/network/src/main/java/org/zstack/network/l2/L2NetworkApiInterceptor.java b/network/src/main/java/org/zstack/network/l2/L2NetworkApiInterceptor.java index 6f0b796e5b8..5438a2b0c5d 100755 --- a/network/src/main/java/org/zstack/network/l2/L2NetworkApiInterceptor.java +++ b/network/src/main/java/org/zstack/network/l2/L2NetworkApiInterceptor.java @@ -19,7 +19,21 @@ import org.zstack.header.host.HostVO; import org.zstack.header.host.HostVO_; import org.zstack.header.message.APIMessage; -import org.zstack.header.network.l2.*; +import org.zstack.header.network.l2.APIAttachL2NetworkToClusterMsg; +import org.zstack.header.network.l2.APIChangeL2NetworkVlanIdMsg; +import org.zstack.header.network.l2.APICreateL2NetworkMsg; +import org.zstack.header.network.l2.APIDeleteL2NetworkEvent; +import org.zstack.header.network.l2.APIDeleteL2NetworkMsg; +import org.zstack.header.network.l2.APIDetachL2NetworkFromClusterMsg; +import org.zstack.header.network.l2.L2Network; +import org.zstack.header.network.l2.L2NetworkClusterRefVO; +import org.zstack.header.network.l2.L2NetworkClusterRefVO_; +import org.zstack.header.network.l2.L2NetworkConstant; +import org.zstack.header.network.l2.L2NetworkMessage; +import org.zstack.header.network.l2.L2NetworkType; +import org.zstack.header.network.l2.L2NetworkVO; +import org.zstack.header.network.l2.L2NetworkVO_; +import org.zstack.header.network.l2.VSwitchType; import org.zstack.utils.network.NetworkUtils; import java.util.List; diff --git a/network/src/main/java/org/zstack/network/l2/L2NetworkCascadeExtension.java b/network/src/main/java/org/zstack/network/l2/L2NetworkCascadeExtension.java index 1c78cb16f67..c469af302a5 100755 --- a/network/src/main/java/org/zstack/network/l2/L2NetworkCascadeExtension.java +++ b/network/src/main/java/org/zstack/network/l2/L2NetworkCascadeExtension.java @@ -16,7 +16,14 @@ import org.zstack.header.identity.AccountInventory; import org.zstack.header.identity.AccountVO; import org.zstack.header.message.MessageReply; -import org.zstack.header.network.l2.*; +import org.zstack.header.network.l2.DetachL2NetworkFromClusterMsg; +import org.zstack.header.network.l2.L2NetworkConstant; +import org.zstack.header.network.l2.L2NetworkDeletionMsg; +import org.zstack.header.network.l2.L2NetworkDetachStruct; +import org.zstack.header.network.l2.L2NetworkException; +import org.zstack.header.network.l2.L2NetworkInventory; +import org.zstack.header.network.l2.L2NetworkVO; +import org.zstack.header.network.l2.L2NetworkVO_; import org.zstack.header.network.sdncontroller.SdnControllerInventory; import org.zstack.header.network.sdncontroller.SdnControllerVO; import org.zstack.header.zone.ZoneInventory; diff --git a/network/src/main/java/org/zstack/network/l2/L2NetworkHostHelper.java b/network/src/main/java/org/zstack/network/l2/L2NetworkHostHelper.java index a612b3847c5..c718860bcd3 100644 --- a/network/src/main/java/org/zstack/network/l2/L2NetworkHostHelper.java +++ b/network/src/main/java/org/zstack/network/l2/L2NetworkHostHelper.java @@ -9,7 +9,11 @@ import org.zstack.header.host.HostStatus; import org.zstack.header.host.HostVO; import org.zstack.header.host.HostVO_; -import org.zstack.header.network.l2.*; +import org.zstack.header.network.l2.L2NetworkAttachStatus; +import org.zstack.header.network.l2.L2NetworkHostRefInventory; +import org.zstack.header.network.l2.L2NetworkHostRefVO; +import org.zstack.header.network.l2.L2NetworkHostRefVO_; +import org.zstack.header.network.l2.L2NetworkInventory; import java.util.ArrayList; import java.util.HashSet; diff --git a/network/src/main/java/org/zstack/network/l2/L2NetworkManager.java b/network/src/main/java/org/zstack/network/l2/L2NetworkManager.java index fa6211b20dd..68a7495ec0e 100755 --- a/network/src/main/java/org/zstack/network/l2/L2NetworkManager.java +++ b/network/src/main/java/org/zstack/network/l2/L2NetworkManager.java @@ -1,7 +1,12 @@ package org.zstack.network.l2; import org.zstack.header.host.HypervisorType; -import org.zstack.header.network.l2.*; +import org.zstack.header.network.l2.L2NetworkAttachClusterExtensionPoint; +import org.zstack.header.network.l2.L2NetworkFactory; +import org.zstack.header.network.l2.L2NetworkRealizationExtensionPoint; +import org.zstack.header.network.l2.L2NetworkType; +import org.zstack.header.network.l2.L2ProviderType; +import org.zstack.header.network.l2.VSwitchType; public interface L2NetworkManager { L2NetworkFactory getL2NetworkFactory(L2NetworkType type); diff --git a/network/src/main/java/org/zstack/network/l2/L2NetworkManagerImpl.java b/network/src/main/java/org/zstack/network/l2/L2NetworkManagerImpl.java index a62e87ddc4f..65ac6116469 100755 --- a/network/src/main/java/org/zstack/network/l2/L2NetworkManagerImpl.java +++ b/network/src/main/java/org/zstack/network/l2/L2NetworkManagerImpl.java @@ -22,7 +22,35 @@ import org.zstack.header.message.APIMessage; import org.zstack.header.message.Message; import org.zstack.header.network.NetworkException; -import org.zstack.header.network.l2.*; +import org.zstack.header.network.l2.APICreateL2NetworkEvent; +import org.zstack.header.network.l2.APICreateL2NetworkMsg; +import org.zstack.header.network.l2.APIGetCandidateClustersForAttachingL2NetworkMsg; +import org.zstack.header.network.l2.APIGetCandidateClustersForAttachingL2NetworkReply; +import org.zstack.header.network.l2.APIGetCandidateL2NetworksForAttachingClusterMsg; +import org.zstack.header.network.l2.APIGetCandidateL2NetworksForAttachingClusterReply; +import org.zstack.header.network.l2.APIGetL2NetworkTypesMsg; +import org.zstack.header.network.l2.APIGetL2NetworkTypesReply; +import org.zstack.header.network.l2.APIGetVSwitchTypesMsg; +import org.zstack.header.network.l2.APIGetVSwitchTypesReply; +import org.zstack.header.network.l2.L2Network; +import org.zstack.header.network.l2.L2NetworkAttachClusterExtensionPoint; +import org.zstack.header.network.l2.L2NetworkClusterRefVO; +import org.zstack.header.network.l2.L2NetworkConstant; +import org.zstack.header.network.l2.L2NetworkCreateExtensionPoint; +import org.zstack.header.network.l2.L2NetworkData; +import org.zstack.header.network.l2.L2NetworkDeletionMsg; +import org.zstack.header.network.l2.L2NetworkEO; +import org.zstack.header.network.l2.L2NetworkFactory; +import org.zstack.header.network.l2.L2NetworkInventory; +import org.zstack.header.network.l2.L2NetworkMessage; +import org.zstack.header.network.l2.L2NetworkRealizationExtensionPoint; +import org.zstack.header.network.l2.L2NetworkType; +import org.zstack.header.network.l2.L2NetworkVO; +import org.zstack.header.network.l2.L2NetworkVO_; +import org.zstack.header.network.l2.L2ProviderType; +import org.zstack.header.network.l2.L2VlanNetworkVO; +import org.zstack.header.network.l2.L2VlanNetworkVO_; +import org.zstack.header.network.l2.VSwitchType; import org.zstack.resourceconfig.ResourceConfig; import org.zstack.resourceconfig.ResourceConfigFacade; import org.zstack.tag.TagManager; @@ -30,7 +58,13 @@ import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; -import java.util.*; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; import java.util.stream.Collectors; import static org.zstack.core.Platform.err; diff --git a/network/src/main/java/org/zstack/network/l2/L2NoVlanL2NetworkFactory.java b/network/src/main/java/org/zstack/network/l2/L2NoVlanL2NetworkFactory.java index 3d5720ccd26..324d16067f3 100755 --- a/network/src/main/java/org/zstack/network/l2/L2NoVlanL2NetworkFactory.java +++ b/network/src/main/java/org/zstack/network/l2/L2NoVlanL2NetworkFactory.java @@ -10,10 +10,24 @@ import org.zstack.header.core.Completion; import org.zstack.header.core.ReturnValueCompletion; import org.zstack.header.core.WhileDoneCompletion; -import org.zstack.header.core.workflow.*; +import org.zstack.header.core.workflow.Flow; +import org.zstack.header.core.workflow.FlowChain; +import org.zstack.header.core.workflow.FlowDoneHandler; +import org.zstack.header.core.workflow.FlowErrorHandler; +import org.zstack.header.core.workflow.FlowRollback; +import org.zstack.header.core.workflow.FlowTrigger; +import org.zstack.header.core.workflow.NoRollbackFlow; import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.errorcode.ErrorCodeList; -import org.zstack.header.network.l2.*; +import org.zstack.header.network.l2.APICreateL2NetworkMsg; +import org.zstack.header.network.l2.L2Network; +import org.zstack.header.network.l2.L2NetworkConstant; +import org.zstack.header.network.l2.L2NetworkCreateExtensionPoint; +import org.zstack.header.network.l2.L2NetworkFactory; +import org.zstack.header.network.l2.L2NetworkGetVniExtensionPoint; +import org.zstack.header.network.l2.L2NetworkInventory; +import org.zstack.header.network.l2.L2NetworkType; +import org.zstack.header.network.l2.L2NetworkVO; import org.zstack.network.service.NetworkServiceGlobalConfig; import org.zstack.resourceconfig.ResourceConfigFacade; import org.zstack.utils.Utils; @@ -59,6 +73,7 @@ public void rollback(FlowRollback trigger, Map data) { dbf.removeByPrimaryKey(vo.getUuid(), L2NetworkVO.class); trigger.rollback(); } + // DEBT: NoRollbackFlow — in rollback }).then(new NoRollbackFlow() { String __name__ = "create-l2-network-extension"; diff --git a/network/src/main/java/org/zstack/network/l2/L2NoVlanNetwork.java b/network/src/main/java/org/zstack/network/l2/L2NoVlanNetwork.java index 821a76ad462..a1c7dec25b4 100755 --- a/network/src/main/java/org/zstack/network/l2/L2NoVlanNetwork.java +++ b/network/src/main/java/org/zstack/network/l2/L2NoVlanNetwork.java @@ -10,7 +10,11 @@ import org.zstack.core.cloudbus.CloudBusCallBack; import org.zstack.core.cloudbus.CloudBusListCallBack; import org.zstack.core.componentloader.PluginRegistry; -import org.zstack.core.db.*; +import org.zstack.core.db.DatabaseFacade; +import org.zstack.core.db.Q; +import org.zstack.core.db.SQL; +import org.zstack.core.db.SQLBatch; +import org.zstack.core.db.SimpleQuery; import org.zstack.core.db.SimpleQuery.Op; import org.zstack.core.errorcode.ErrorFacade; import org.zstack.core.thread.ChainTask; @@ -24,19 +28,72 @@ import org.zstack.header.core.NoErrorCompletion; import org.zstack.header.core.NopeCompletion; import org.zstack.header.core.WhileDoneCompletion; -import org.zstack.header.core.workflow.*; +import org.zstack.header.core.workflow.Flow; +import org.zstack.header.core.workflow.FlowChain; +import org.zstack.header.core.workflow.FlowDoneHandler; +import org.zstack.header.core.workflow.FlowErrorHandler; +import org.zstack.header.core.workflow.FlowRollback; +import org.zstack.header.core.workflow.FlowTrigger; +import org.zstack.header.core.workflow.NoRollbackFlow; import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.errorcode.ErrorCodeList; import org.zstack.header.errorcode.OperationFailureException; import org.zstack.header.errorcode.SysErrors; -import org.zstack.header.host.*; +import org.zstack.header.host.HostConstant; +import org.zstack.header.host.HostInventory; +import org.zstack.header.host.HostState; +import org.zstack.header.host.HostStatus; +import org.zstack.header.host.HostVO; +import org.zstack.header.host.HostVO_; +import org.zstack.header.host.HypervisorType; import org.zstack.header.identity.SharedResourceVO; import org.zstack.header.identity.SharedResourceVO_; import org.zstack.header.message.APIDeleteMessage; import org.zstack.header.message.APIMessage; import org.zstack.header.message.Message; import org.zstack.header.message.MessageReply; -import org.zstack.header.network.l2.*; +import org.zstack.header.network.l2.APIAttachL2NetworkToClusterEvent; +import org.zstack.header.network.l2.APIAttachL2NetworkToClusterMsg; +import org.zstack.header.network.l2.APIChangeL2NetworkVlanIdEvent; +import org.zstack.header.network.l2.APIChangeL2NetworkVlanIdMsg; +import org.zstack.header.network.l2.APIDeleteL2NetworkEvent; +import org.zstack.header.network.l2.APIDeleteL2NetworkMsg; +import org.zstack.header.network.l2.APIDetachL2NetworkFromClusterEvent; +import org.zstack.header.network.l2.APIDetachL2NetworkFromClusterMsg; +import org.zstack.header.network.l2.APIUpdateL2NetworkEvent; +import org.zstack.header.network.l2.APIUpdateL2NetworkMsg; +import org.zstack.header.network.l2.AttachL2NetworkToClusterMsg; +import org.zstack.header.network.l2.AttachL2NetworkToClusterReply; +import org.zstack.header.network.l2.CheckL2NetworkOnHostMsg; +import org.zstack.header.network.l2.CheckL2NetworkOnHostReply; +import org.zstack.header.network.l2.CheckNetworkPhysicalInterfaceMsg; +import org.zstack.header.network.l2.DeleteL2NetworkMsg; +import org.zstack.header.network.l2.DeleteL2NetworkReply; +import org.zstack.header.network.l2.DetachL2NetworkFromClusterMsg; +import org.zstack.header.network.l2.DetachL2NetworkFromClusterReply; +import org.zstack.header.network.l2.L2Errors; +import org.zstack.header.network.l2.L2Network; +import org.zstack.header.network.l2.L2NetworkAttachClusterExtensionPoint; +import org.zstack.header.network.l2.L2NetworkClusterRefVO; +import org.zstack.header.network.l2.L2NetworkClusterRefVO_; +import org.zstack.header.network.l2.L2NetworkConstant; +import org.zstack.header.network.l2.L2NetworkDeleteExtensionPoint; +import org.zstack.header.network.l2.L2NetworkDeletionMsg; +import org.zstack.header.network.l2.L2NetworkDeletionReply; +import org.zstack.header.network.l2.L2NetworkDetachFromClusterMsg; +import org.zstack.header.network.l2.L2NetworkDetachFromClusterReply; +import org.zstack.header.network.l2.L2NetworkDetachStruct; +import org.zstack.header.network.l2.L2NetworkHostRefInventory; +import org.zstack.header.network.l2.L2NetworkInventory; +import org.zstack.header.network.l2.L2NetworkRealizationExtensionPoint; +import org.zstack.header.network.l2.L2NetworkType; +import org.zstack.header.network.l2.L2NetworkVO; +import org.zstack.header.network.l2.L2NetworkVO_; +import org.zstack.header.network.l2.L2VlanNetworkVO; +import org.zstack.header.network.l2.L2VlanNetworkVO_; +import org.zstack.header.network.l2.PrepareL2NetworkOnHostMsg; +import org.zstack.header.network.l2.PrepareL2NetworkOnHostReply; +import org.zstack.header.network.l2.VSwitchType; import org.zstack.header.network.l3.L3NetworkVO; import org.zstack.header.network.l3.L3NetworkVO_; import org.zstack.network.l3.ServiceTypeExtensionPoint; @@ -44,7 +101,12 @@ import org.zstack.utils.logging.CLogger; import javax.transaction.Transactional; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; import java.util.concurrent.ConcurrentHashMap; import java.util.stream.Collectors; @@ -159,6 +221,7 @@ private void handle(DeleteL2NetworkMsg msg) { FlowChain chain = FlowChainBuilder.newSimpleFlowChain(); chain.setName(String.format("delete-l2Network-%s", msg.getL2NetworkUuid())); if (msg.isForceDelete() == false) { + // DEBT: NoRollbackFlow — reason TBD chain.then(new NoRollbackFlow() { @Override public void run(final FlowTrigger trigger, Map data) { @@ -174,6 +237,7 @@ public void fail(ErrorCode errorCode) { } }); } + // DEBT: NoRollbackFlow — reason TBD }).then(new NoRollbackFlow() { @Override public void run(final FlowTrigger trigger, Map data) { @@ -191,6 +255,7 @@ public void fail(ErrorCode errorCode) { } }); } else { + // DEBT: NoRollbackFlow — reason TBD chain.then(new NoRollbackFlow() { @Override public void run(final FlowTrigger trigger, Map data) { @@ -346,6 +411,7 @@ private void handle(L2NetworkDeletionMsg msg) { FlowChain chain = new SimpleFlowChain(); chain.setName("delete-l2-network-" + inv.getUuid()); + // DEBT: NoRollbackFlow — reason TBD chain.then(new NoRollbackFlow() { String __name__ = "delete-l2-network-extension"; @@ -368,6 +434,7 @@ public void done(ErrorCodeList errorCodeList) { } }); } + // DEBT: NoRollbackFlow — reason TBD }).then(new NoRollbackFlow() { String __name__ = "delete-l2-network"; @@ -681,6 +748,7 @@ public void handle(ErrorCode errCode, Map data) { protected void prepareL2NetworkOnHosts(final List hosts, String providerType, final Completion completion) { FlowChain chain = FlowChainBuilder.newSimpleFlowChain(); chain.setName(String.format("prepare-l2-%s-on-hosts", self.getUuid())); + // DEBT: NoRollbackFlow — in prepareL2NetworkOnHosts chain.then(new NoRollbackFlow() { @Override public boolean skip(Map data) { @@ -717,6 +785,7 @@ public void run(List replies) { } }); } + // DEBT: NoRollbackFlow — in prepareL2NetworkOnHosts }).then(new NoRollbackFlow() { @Override @@ -753,6 +822,7 @@ public void done(ErrorCodeList errorCodeList) { }); } + // DEBT: NoRollbackFlow — reason TBD }).then(new NoRollbackFlow() { String __name__ = "after-l2-network-attached"; @@ -858,6 +928,7 @@ private void handle(APIDeleteL2NetworkMsg msg) { FlowChain chain = FlowChainBuilder.newSimpleFlowChain(); chain.setName(String.format("delete-l2Network-%s", msg.getL2NetworkUuid())); if (msg.getDeletionMode() == APIDeleteMessage.DeletionMode.Permissive) { + // DEBT: NoRollbackFlow — in getName chain.then(new NoRollbackFlow() { @Override public void run(final FlowTrigger trigger, Map data) { @@ -873,6 +944,7 @@ public void fail(ErrorCode errorCode) { } }); } + // DEBT: NoRollbackFlow — in getName }).then(new NoRollbackFlow() { @Override public void run(final FlowTrigger trigger, Map data) { @@ -890,6 +962,7 @@ public void fail(ErrorCode errorCode) { } }); } else { + // DEBT: NoRollbackFlow — in getName chain.then(new NoRollbackFlow() { @Override public void run(final FlowTrigger trigger, Map data) { diff --git a/network/src/main/java/org/zstack/network/l2/L2VlanNetwork.java b/network/src/main/java/org/zstack/network/l2/L2VlanNetwork.java index cb788e5dc66..6e5cbef05ac 100755 --- a/network/src/main/java/org/zstack/network/l2/L2VlanNetwork.java +++ b/network/src/main/java/org/zstack/network/l2/L2VlanNetwork.java @@ -1,6 +1,9 @@ package org.zstack.network.l2; -import org.zstack.header.network.l2.*; +import org.zstack.header.network.l2.L2NetworkInventory; +import org.zstack.header.network.l2.L2NetworkVO; +import org.zstack.header.network.l2.L2VlanNetworkInventory; +import org.zstack.header.network.l2.L2VlanNetworkVO; import org.zstack.network.service.NetworkServiceGlobalConfig; public class L2VlanNetwork extends L2NoVlanNetwork { diff --git a/network/src/main/java/org/zstack/network/l2/L2VlanNetworkFactory.java b/network/src/main/java/org/zstack/network/l2/L2VlanNetworkFactory.java index 35c34f1799a..6e94f306492 100755 --- a/network/src/main/java/org/zstack/network/l2/L2VlanNetworkFactory.java +++ b/network/src/main/java/org/zstack/network/l2/L2VlanNetworkFactory.java @@ -12,12 +12,30 @@ import org.zstack.header.core.Completion; import org.zstack.header.core.ReturnValueCompletion; import org.zstack.header.core.WhileDoneCompletion; -import org.zstack.header.core.workflow.*; +import org.zstack.header.core.workflow.Flow; +import org.zstack.header.core.workflow.FlowChain; +import org.zstack.header.core.workflow.FlowDoneHandler; +import org.zstack.header.core.workflow.FlowErrorHandler; +import org.zstack.header.core.workflow.FlowRollback; +import org.zstack.header.core.workflow.FlowTrigger; +import org.zstack.header.core.workflow.NoRollbackFlow; import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.errorcode.ErrorCodeList; import org.zstack.header.message.APIMessage; import org.zstack.header.message.Message; -import org.zstack.header.network.l2.*; +import org.zstack.header.network.l2.APICreateL2NetworkMsg; +import org.zstack.header.network.l2.APICreateL2VlanNetworkMsg; +import org.zstack.header.network.l2.L2Network; +import org.zstack.header.network.l2.L2NetworkConstant; +import org.zstack.header.network.l2.L2NetworkCreateExtensionPoint; +import org.zstack.header.network.l2.L2NetworkFactory; +import org.zstack.header.network.l2.L2NetworkGetVniExtensionPoint; +import org.zstack.header.network.l2.L2NetworkInventory; +import org.zstack.header.network.l2.L2NetworkType; +import org.zstack.header.network.l2.L2NetworkVO; +import org.zstack.header.network.l2.L2VlanNetworkInventory; +import org.zstack.header.network.l2.L2VlanNetworkVO; +import org.zstack.header.network.l2.L2VlanNetworkVO_; import org.zstack.network.service.MtuGetter; import org.zstack.network.service.NetworkServiceGlobalConfig; import org.zstack.query.QueryFacade; @@ -70,6 +88,7 @@ public void rollback(FlowRollback trigger, Map data) { dbf.removeByPrimaryKey(ovo.getUuid(), L2VlanNetworkVO.class); trigger.rollback(); } + // DEBT: NoRollbackFlow — in rollback }).then(new NoRollbackFlow() { String __name__ = "create-l2-network-extension"; diff --git a/network/src/main/java/org/zstack/network/l2/SdnControllerCascadeExtension.java b/network/src/main/java/org/zstack/network/l2/SdnControllerCascadeExtension.java index 2fd70fb4c7c..ba868e27b0d 100644 --- a/network/src/main/java/org/zstack/network/l2/SdnControllerCascadeExtension.java +++ b/network/src/main/java/org/zstack/network/l2/SdnControllerCascadeExtension.java @@ -18,7 +18,13 @@ import org.zstack.header.identity.AccountInventory; import org.zstack.header.identity.AccountVO; import org.zstack.header.message.MessageReply; -import org.zstack.header.network.sdncontroller.*; +import org.zstack.header.network.sdncontroller.SdnControllerConstant; +import org.zstack.header.network.sdncontroller.SdnControllerDeletionMsg; +import org.zstack.header.network.sdncontroller.SdnControllerHostRefVO; +import org.zstack.header.network.sdncontroller.SdnControllerHostRefVO_; +import org.zstack.header.network.sdncontroller.SdnControllerInventory; +import org.zstack.header.network.sdncontroller.SdnControllerRemoveHostMsg; +import org.zstack.header.network.sdncontroller.SdnControllerVO; import org.zstack.utils.CollectionUtils; import org.zstack.utils.Utils; import org.zstack.utils.function.Function; diff --git a/network/src/main/java/org/zstack/network/l3/AbstractIpAllocatorStrategy.java b/network/src/main/java/org/zstack/network/l3/AbstractIpAllocatorStrategy.java index 490408c5c93..ce602837dd4 100755 --- a/network/src/main/java/org/zstack/network/l3/AbstractIpAllocatorStrategy.java +++ b/network/src/main/java/org/zstack/network/l3/AbstractIpAllocatorStrategy.java @@ -7,7 +7,21 @@ import org.zstack.core.db.SimpleQuery; import org.zstack.core.errorcode.ErrorFacade; import org.zstack.header.errorcode.OperationFailureException; -import org.zstack.header.network.l3.*; +import org.zstack.header.network.l3.AddressPoolVO; +import org.zstack.header.network.l3.AddressPoolVO_; +import org.zstack.header.network.l3.AfterAllocateRequiredIpExtensionPoint; +import org.zstack.header.network.l3.IpAllocateMessage; +import org.zstack.header.network.l3.IpAllocatorStrategy; +import org.zstack.header.network.l3.IpRangeType; +import org.zstack.header.network.l3.IpRangeVO; +import org.zstack.header.network.l3.IpRangeVO_; +import org.zstack.header.network.l3.L3Errors; +import org.zstack.header.network.l3.L3NetworkConstant; +import org.zstack.header.network.l3.L3NetworkVO; +import org.zstack.header.network.l3.L3NetworkVO_; +import org.zstack.header.network.l3.NormalIpRangeVO; +import org.zstack.header.network.l3.NormalIpRangeVO_; +import org.zstack.header.network.l3.UsedIpInventory; import org.zstack.utils.CollectionUtils; import org.zstack.utils.Utils; import org.zstack.utils.function.Function; diff --git a/network/src/main/java/org/zstack/network/l3/AddressPoolIpRangeFactory.java b/network/src/main/java/org/zstack/network/l3/AddressPoolIpRangeFactory.java index aae2711248b..c141c05c79c 100644 --- a/network/src/main/java/org/zstack/network/l3/AddressPoolIpRangeFactory.java +++ b/network/src/main/java/org/zstack/network/l3/AddressPoolIpRangeFactory.java @@ -7,7 +7,13 @@ import org.zstack.core.db.SQLBatchWithReturn; import org.zstack.header.core.ReturnValueCompletion; import org.zstack.header.message.APICreateMessage; -import org.zstack.header.network.l3.*; +import org.zstack.header.network.l3.AddressPoolInventory; +import org.zstack.header.network.l3.AddressPoolVO; +import org.zstack.header.network.l3.AfterAddIpRangeExtensionPoint; +import org.zstack.header.network.l3.IpRangeFactory; +import org.zstack.header.network.l3.IpRangeInventory; +import org.zstack.header.network.l3.IpRangeType; +import org.zstack.header.network.l3.IpRangeVO; import org.zstack.utils.CollectionUtils; import org.zstack.utils.function.ForEachFunction; diff --git a/network/src/main/java/org/zstack/network/l3/AscDelayRecycleIpAllocatorStrategy.java b/network/src/main/java/org/zstack/network/l3/AscDelayRecycleIpAllocatorStrategy.java index 47337b221e3..c89ca62d2dd 100755 --- a/network/src/main/java/org/zstack/network/l3/AscDelayRecycleIpAllocatorStrategy.java +++ b/network/src/main/java/org/zstack/network/l3/AscDelayRecycleIpAllocatorStrategy.java @@ -2,7 +2,15 @@ import org.zstack.core.db.Q; import org.zstack.header.errorcode.ErrorCode; -import org.zstack.header.network.l3.*; +import org.zstack.header.network.l3.IpAllocateMessage; +import org.zstack.header.network.l3.IpAllocatorType; +import org.zstack.header.network.l3.IpRangeDeletionExtensionPoint; +import org.zstack.header.network.l3.IpRangeInventory; +import org.zstack.header.network.l3.IpRangeType; +import org.zstack.header.network.l3.IpRangeVO; +import org.zstack.header.network.l3.L3NetworkConstant; +import org.zstack.header.network.l3.L3NetworkVO; +import org.zstack.header.network.l3.UsedIpInventory; import org.zstack.header.tag.SystemTagVO; import org.zstack.header.tag.SystemTagVO_; import org.zstack.tag.PatternedSystemTag; diff --git a/network/src/main/java/org/zstack/network/l3/FirstAvailableIpAllocatorStrategy.java b/network/src/main/java/org/zstack/network/l3/FirstAvailableIpAllocatorStrategy.java index 20a9cffc1fb..8c1553ce906 100755 --- a/network/src/main/java/org/zstack/network/l3/FirstAvailableIpAllocatorStrategy.java +++ b/network/src/main/java/org/zstack/network/l3/FirstAvailableIpAllocatorStrategy.java @@ -4,7 +4,11 @@ import org.zstack.core.db.Q; import org.zstack.core.db.SimpleQuery; import org.zstack.core.db.SimpleQuery.Op; -import org.zstack.header.network.l3.*; +import org.zstack.header.network.l3.IpAllocateMessage; +import org.zstack.header.network.l3.IpAllocatorType; +import org.zstack.header.network.l3.IpRangeVO; +import org.zstack.header.network.l3.L3NetworkConstant; +import org.zstack.header.network.l3.UsedIpInventory; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; import org.zstack.utils.network.IPv6Constants; diff --git a/network/src/main/java/org/zstack/network/l3/FirstAvailableIpv6AllocatorStrategy.java b/network/src/main/java/org/zstack/network/l3/FirstAvailableIpv6AllocatorStrategy.java index 63723dc7073..6976968527d 100755 --- a/network/src/main/java/org/zstack/network/l3/FirstAvailableIpv6AllocatorStrategy.java +++ b/network/src/main/java/org/zstack/network/l3/FirstAvailableIpv6AllocatorStrategy.java @@ -1,7 +1,11 @@ package org.zstack.network.l3; import org.zstack.core.db.Q; -import org.zstack.header.network.l3.*; +import org.zstack.header.network.l3.IpAllocateMessage; +import org.zstack.header.network.l3.IpAllocatorType; +import org.zstack.header.network.l3.IpRangeVO; +import org.zstack.header.network.l3.L3NetworkConstant; +import org.zstack.header.network.l3.UsedIpInventory; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; import org.zstack.utils.network.IPv6Constants; diff --git a/network/src/main/java/org/zstack/network/l3/IpRangeCascadeExtension.java b/network/src/main/java/org/zstack/network/l3/IpRangeCascadeExtension.java index 115dea698ee..44bc6ab0c08 100755 --- a/network/src/main/java/org/zstack/network/l3/IpRangeCascadeExtension.java +++ b/network/src/main/java/org/zstack/network/l3/IpRangeCascadeExtension.java @@ -15,7 +15,15 @@ import org.zstack.header.core.WhileDoneCompletion; import org.zstack.header.errorcode.ErrorCodeList; import org.zstack.header.message.MessageReply; -import org.zstack.header.network.l3.*; +import org.zstack.header.network.l3.AddressPoolVO; +import org.zstack.header.network.l3.AddressPoolVO_; +import org.zstack.header.network.l3.IpRangeDeletionMsg; +import org.zstack.header.network.l3.IpRangeInventory; +import org.zstack.header.network.l3.IpRangeVO; +import org.zstack.header.network.l3.IpRangeVO_; +import org.zstack.header.network.l3.L3NetworkConstant; +import org.zstack.header.network.l3.L3NetworkInventory; +import org.zstack.header.network.l3.L3NetworkVO; import org.zstack.utils.CollectionUtils; import org.zstack.utils.Utils; import org.zstack.utils.function.Function; diff --git a/network/src/main/java/org/zstack/network/l3/IpRangeHelper.java b/network/src/main/java/org/zstack/network/l3/IpRangeHelper.java index fffbff32665..80978fc4f83 100644 --- a/network/src/main/java/org/zstack/network/l3/IpRangeHelper.java +++ b/network/src/main/java/org/zstack/network/l3/IpRangeHelper.java @@ -8,7 +8,22 @@ import org.apache.commons.net.util.SubnetUtils; import org.zstack.core.db.Q; import org.zstack.core.db.SQL; -import org.zstack.header.network.l3.*; +import org.zstack.header.network.l3.AddressPoolInventory; +import org.zstack.header.network.l3.AddressPoolVO; +import org.zstack.header.network.l3.AddressPoolVO_; +import org.zstack.header.network.l3.FreeIpInventory; +import org.zstack.header.network.l3.IpRangeInventory; +import org.zstack.header.network.l3.IpRangeType; +import org.zstack.header.network.l3.IpRangeVO; +import org.zstack.header.network.l3.IpRangeVO_; +import org.zstack.header.network.l3.L3NetworkInventory; +import org.zstack.header.network.l3.L3NetworkVO; +import org.zstack.header.network.l3.L3NetworkVO_; +import org.zstack.header.network.l3.NormalIpRangeInventory; +import org.zstack.header.network.l3.NormalIpRangeVO; +import org.zstack.header.network.l3.NormalIpRangeVO_; +import org.zstack.header.network.l3.UsedIpVO; +import org.zstack.header.network.l3.UsedIpVO_; import org.zstack.utils.CollectionUtils; import org.zstack.utils.function.Function; import org.zstack.utils.network.IPv6Constants; @@ -20,7 +35,8 @@ import java.util.Collections; import java.util.List; import java.util.stream.Collectors; -import java.util.*; +import java.util.HashMap; +import java.util.Map; import static org.junit.runner.Request.aClass; diff --git a/network/src/main/java/org/zstack/network/l3/L3BasicNetwork.java b/network/src/main/java/org/zstack/network/l3/L3BasicNetwork.java index b1b0b92d497..78bdd3f25cf 100755 --- a/network/src/main/java/org/zstack/network/l3/L3BasicNetwork.java +++ b/network/src/main/java/org/zstack/network/l3/L3BasicNetwork.java @@ -11,7 +11,10 @@ import org.zstack.core.cloudbus.CloudBus; import org.zstack.core.cloudbus.CloudBusCallBack; import org.zstack.core.componentloader.PluginRegistry; -import org.zstack.core.db.*; +import org.zstack.core.db.DatabaseFacade; +import org.zstack.core.db.Q; +import org.zstack.core.db.SQL; +import org.zstack.core.db.SimpleQuery; import org.zstack.core.db.SimpleQuery.Op; import org.zstack.core.defer.Deferred; import org.zstack.core.errorcode.ErrorFacade; @@ -27,22 +30,127 @@ import org.zstack.header.core.NopeCompletion; import org.zstack.header.core.ReturnValueCompletion; import org.zstack.header.core.WhileDoneCompletion; -import org.zstack.header.core.workflow.*; +import org.zstack.header.core.workflow.Flow; +import org.zstack.header.core.workflow.FlowChain; +import org.zstack.header.core.workflow.FlowDoneHandler; +import org.zstack.header.core.workflow.FlowErrorHandler; +import org.zstack.header.core.workflow.FlowRollback; +import org.zstack.header.core.workflow.FlowTrigger; +import org.zstack.header.core.workflow.NoRollbackFlow; import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.errorcode.ErrorCodeList; import org.zstack.header.host.HostVO; import org.zstack.header.host.HostVO_; import org.zstack.header.identity.SharedResourceVO; import org.zstack.header.identity.SharedResourceVO_; -import org.zstack.header.message.*; +import org.zstack.header.message.APIDeleteMessage; +import org.zstack.header.message.APIMessage; +import org.zstack.header.message.Message; +import org.zstack.header.message.MessageReply; import org.zstack.header.network.IpAllocatedReason; import org.zstack.header.network.l2.L2NetworkClusterRefVO; import org.zstack.header.network.l2.L2NetworkClusterRefVO_; import org.zstack.header.network.l2.L2NetworkConstant; import org.zstack.header.network.l2.L2NetworkVO; -import org.zstack.header.network.l3.*; +import org.zstack.header.network.l3.APIAddDnsToL3NetworkEvent; +import org.zstack.header.network.l3.APIAddDnsToL3NetworkMsg; +import org.zstack.header.network.l3.APIAddHostRouteToL3NetworkEvent; +import org.zstack.header.network.l3.APIAddHostRouteToL3NetworkMsg; +import org.zstack.header.network.l3.APIAddIpRangeByNetworkCidrEvent; +import org.zstack.header.network.l3.APIAddIpRangeByNetworkCidrMsg; +import org.zstack.header.network.l3.APIAddIpRangeEvent; +import org.zstack.header.network.l3.APIAddIpRangeMsg; +import org.zstack.header.network.l3.APIAddIpv6RangeByNetworkCidrMsg; +import org.zstack.header.network.l3.APIAddIpv6RangeMsg; +import org.zstack.header.network.l3.APIAddReservedIpRangeEvent; +import org.zstack.header.network.l3.APIAddReservedIpRangeMsg; +import org.zstack.header.network.l3.APIChangeL3NetworkStateEvent; +import org.zstack.header.network.l3.APIChangeL3NetworkStateMsg; +import org.zstack.header.network.l3.APICheckIpAvailabilityMsg; +import org.zstack.header.network.l3.APICheckIpAvailabilityReply; +import org.zstack.header.network.l3.APIDeleteIpAddressEvent; +import org.zstack.header.network.l3.APIDeleteIpAddressMsg; +import org.zstack.header.network.l3.APIDeleteIpRangeEvent; +import org.zstack.header.network.l3.APIDeleteIpRangeMsg; +import org.zstack.header.network.l3.APIDeleteL3NetworkEvent; +import org.zstack.header.network.l3.APIDeleteL3NetworkMsg; +import org.zstack.header.network.l3.APIDeleteReservedIpRangeMsg; +import org.zstack.header.network.l3.APIGetFreeIpMsg; +import org.zstack.header.network.l3.APIGetFreeIpReply; +import org.zstack.header.network.l3.APIGetL3NetworkRouterInterfaceIpMsg; +import org.zstack.header.network.l3.APIGetL3NetworkRouterInterfaceIpReply; +import org.zstack.header.network.l3.APIRemoveDnsFromL3NetworkEvent; +import org.zstack.header.network.l3.APIRemoveDnsFromL3NetworkMsg; +import org.zstack.header.network.l3.APIRemoveHostRouteFromL3NetworkEvent; +import org.zstack.header.network.l3.APIRemoveHostRouteFromL3NetworkMsg; +import org.zstack.header.network.l3.APISetL3NetworkRouterInterfaceIpEvent; +import org.zstack.header.network.l3.APISetL3NetworkRouterInterfaceIpMsg; +import org.zstack.header.network.l3.APIUpdateIpRangeEvent; +import org.zstack.header.network.l3.APIUpdateIpRangeMsg; +import org.zstack.header.network.l3.APIUpdateL3NetworkEvent; +import org.zstack.header.network.l3.APIUpdateL3NetworkMsg; +import org.zstack.header.network.l3.AddressPoolVO; +import org.zstack.header.network.l3.AddressPoolVO_; +import org.zstack.header.network.l3.AfterDeleteIpRangeExtensionPoint; +import org.zstack.header.network.l3.AllocateIpMsg; +import org.zstack.header.network.l3.AllocateIpReply; +import org.zstack.header.network.l3.CheckIpAvailabilityMsg; +import org.zstack.header.network.l3.CheckIpAvailabilityReply; +import org.zstack.header.network.l3.FreeIpInventory; +import org.zstack.header.network.l3.IpAllocatorStrategy; +import org.zstack.header.network.l3.IpAllocatorType; +import org.zstack.header.network.l3.IpRangeDeletionExtensionPoint; +import org.zstack.header.network.l3.IpRangeDeletionMsg; +import org.zstack.header.network.l3.IpRangeDeletionReply; +import org.zstack.header.network.l3.IpRangeFactory; +import org.zstack.header.network.l3.IpRangeInventory; +import org.zstack.header.network.l3.IpRangeType; +import org.zstack.header.network.l3.IpRangeVO; +import org.zstack.header.network.l3.IpRangeVO_; +import org.zstack.header.network.l3.L3Errors; +import org.zstack.header.network.l3.L3Network; +import org.zstack.header.network.l3.L3NetworkCategory; +import org.zstack.header.network.l3.L3NetworkConstant; +import org.zstack.header.network.l3.L3NetworkDeletionMsg; +import org.zstack.header.network.l3.L3NetworkDeletionReply; +import org.zstack.header.network.l3.L3NetworkDnsVO; +import org.zstack.header.network.l3.L3NetworkDnsVO_; +import org.zstack.header.network.l3.L3NetworkHostRouteVO; +import org.zstack.header.network.l3.L3NetworkHostRouteVO_; +import org.zstack.header.network.l3.L3NetworkInventory; +import org.zstack.header.network.l3.L3NetworkState; +import org.zstack.header.network.l3.L3NetworkStateEvent; +import org.zstack.header.network.l3.L3NetworkVO; +import org.zstack.header.network.l3.L3NetworkVO_; +import org.zstack.header.network.l3.NormalIpRangeVO; +import org.zstack.header.network.l3.NormalIpRangeVO_; +import org.zstack.header.network.l3.ReservedIpRangeInventory; +import org.zstack.header.network.l3.ReservedIpRangeVO; +import org.zstack.header.network.l3.ReservedIpRangeVO_; +import org.zstack.header.network.l3.ReturnIpMsg; +import org.zstack.header.network.l3.ReturnIpReply; +import org.zstack.header.network.l3.SdnControllerDisableDHCPMsg; +import org.zstack.header.network.l3.SdnControllerL3; +import org.zstack.header.network.l3.SdnControllerUpdateDHCPMsg; +import org.zstack.header.network.l3.UsedIpInventory; +import org.zstack.header.network.l3.UsedIpVO; +import org.zstack.header.network.l3.UsedIpVO_; import org.zstack.header.network.sdncontroller.SdnControllerConstant; -import org.zstack.header.network.service.*; +import org.zstack.header.network.service.APIAttachNetworkServiceToL3NetworkEvent; +import org.zstack.header.network.service.APIAttachNetworkServiceToL3NetworkMsg; +import org.zstack.header.network.service.APIDetachNetworkServiceFromL3NetworkEvent; +import org.zstack.header.network.service.APIDetachNetworkServiceFromL3NetworkMsg; +import org.zstack.header.network.service.AddDnsMsg; +import org.zstack.header.network.service.AddHostRouteMsg; +import org.zstack.header.network.service.NetworkServiceConstants; +import org.zstack.header.network.service.NetworkServiceL3NetworkRefVO; +import org.zstack.header.network.service.NetworkServiceL3NetworkRefVO_; +import org.zstack.header.network.service.NetworkServiceProviderType; +import org.zstack.header.network.service.NetworkServiceProviderVO; +import org.zstack.header.network.service.NetworkServiceType; +import org.zstack.header.network.service.RemoveDnsMsg; +import org.zstack.header.network.service.RemoveHostRouteMsg; +import org.zstack.header.network.service.SdnControllerDhcp; import org.zstack.identity.AccountManager; import org.zstack.network.service.NetworkServiceManager; import org.zstack.resourceconfig.ResourceConfigFacade; @@ -61,7 +169,15 @@ import javax.persistence.Tuple; import java.math.BigInteger; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.Comparator; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Set; import java.util.stream.Collectors; import static org.zstack.core.Platform.err; @@ -256,6 +372,7 @@ public void run(IpRangeDeletionExtensionPoint arg) { FlowChain chain = new SimpleFlowChain(); chain.setName(String.format("del-ip-range-%s", inv.getUuid())); + // DEBT: NoRollbackFlow — in doDeleteIpRange chain.then(new NoRollbackFlow() { String __name__ = "disable-sdn-dhcp"; @@ -284,6 +401,7 @@ public void run(MessageReply reply) { } }); } + // DEBT: NoRollbackFlow — reason TBD }).then(new NoRollbackFlow() { String __name__ = "delete-ip-range"; @@ -314,6 +432,7 @@ public void fail(ErrorCode errorCode) { trigger.next(); } } + // DEBT: NoRollbackFlow — reason TBD }).then(new NoRollbackFlow() { String __name__ = "remove-db"; @@ -330,6 +449,7 @@ public void run(IpRangeDeletionExtensionPoint arg) { }); trigger.next(); } + // DEBT: NoRollbackFlow — reason TBD }).then(new NoRollbackFlow() { String __name__ = "after-delete-ip-range"; @@ -380,6 +500,7 @@ public void run(SyncTaskChain chain) { FlowChain fchain = new SimpleFlowChain(); fchain.setName(String.format("del-l3-network-%s", msg.getL3NetworkUuid())); + // DEBT: NoRollbackFlow — in getName fchain.then(new NoRollbackFlow() { String __name__ = "remove-from-sdn-controller"; @@ -404,6 +525,7 @@ public void fail(ErrorCode errorCode) { } }); } + // DEBT: NoRollbackFlow — in getName }).then(new NoRollbackFlow() { String __name__ = "remove-db"; @@ -847,6 +969,7 @@ private void handle(APICheckIpAvailabilityMsg msg) { flowChain.setName(String.format("check-ip-address-availability-%s-%s", msg.getL3NetworkUuid(), msg.getIp())); for (CheckIpAddressAvailabilityExtensionPoint exp : pluginRgty.getExtensionList(CheckIpAddressAvailabilityExtensionPoint.class)) { + // DEBT: NoRollbackFlow — reason TBD flowChain.then(new NoRollbackFlow() { String __name__ = "check-ip-address-availability-" + exp.getClass().getSimpleName(); @@ -1213,6 +1336,7 @@ private void handle(final APIRemoveDnsFromL3NetworkMsg msg) { chain.then(new ShareFlow() { @Override public void setup() { + // DEBT: NoRollbackFlow — reason TBD flow(new NoRollbackFlow() { String __name__ = "remove-dns-from-db"; @@ -1230,6 +1354,7 @@ public void run(FlowTrigger trigger, Map data) { } }); + // DEBT: NoRollbackFlow — reason TBD flow(new NoRollbackFlow() { String __name__ = "remove-dns-from-sdn"; @@ -1264,6 +1389,7 @@ public void run(MessageReply reply) { }); if (L3NetworkConstant.L3_BASIC_NETWORK_TYPE.equals(self.getType()) && !self.getNetworkServices().isEmpty()) { + // DEBT: NoRollbackFlow — reason TBD flow(new NoRollbackFlow() { String __name__ = "remove-dns-from-backend"; @@ -1346,6 +1472,7 @@ public void rollback(FlowRollback trigger, Map data) { } }); + // DEBT: NoRollbackFlow — in rollback flow(new NoRollbackFlow() { String __name__ = "apply-to-sdn"; @@ -1380,6 +1507,7 @@ public void run(MessageReply reply) { }); if (L3NetworkConstant.L3_BASIC_NETWORK_TYPE.equals(self.getType()) && !self.getNetworkServices().isEmpty()) { + // DEBT: NoRollbackFlow — in rollback flow(new NoRollbackFlow() { String __name__ = "apply-to-backend"; @@ -1535,6 +1663,7 @@ private void doDeleteIpRange(APIDeleteIpRangeMsg msg, Completion completion) { FlowChain chain = FlowChainBuilder.newSimpleFlowChain(); chain.setName(String.format("delete-ip-range-%s", vo.getUuid())); if (msg.getDeletionMode() == APIDeleteMessage.DeletionMode.Permissive) { + // DEBT: NoRollbackFlow — in doDeleteIpRange chain.then(new NoRollbackFlow() { @Override public void run(final FlowTrigger trigger, Map data) { @@ -1550,6 +1679,7 @@ public void fail(ErrorCode errorCode) { } }); } + // DEBT: NoRollbackFlow — in doDeleteIpRange }).then(new NoRollbackFlow() { @Override public void run(final FlowTrigger trigger, Map data) { @@ -1567,6 +1697,7 @@ public void fail(ErrorCode errorCode) { } }); } else { + // DEBT: NoRollbackFlow — in doDeleteIpRange chain.then(new NoRollbackFlow() { @Override public void run(final FlowTrigger trigger, Map data) { @@ -1656,6 +1787,7 @@ private void doDeleteL3Network(APIDeleteL3NetworkMsg msg, Completion completion) L2NetworkVO l2NetworkVO = dbf.findByUuid(l3NetworkVO.getL2NetworkUuid(), L2NetworkVO.class); chain.setName(String.format("delete-l3-network-%s", msg.getUuid())); if (msg.getDeletionMode() == APIDeleteMessage.DeletionMode.Permissive) { + // DEBT: NoRollbackFlow — in doDeleteL3Network chain.then(new NoRollbackFlow() { @Override public void run(final FlowTrigger trigger, Map data) { @@ -1671,6 +1803,7 @@ public void fail(ErrorCode errorCode) { } }); } + // DEBT: NoRollbackFlow — in doDeleteL3Network }).then(new NoRollbackFlow() { @Override public void run(final FlowTrigger trigger, Map data) { @@ -1688,6 +1821,7 @@ public void fail(ErrorCode errorCode) { } }); } else { + // DEBT: NoRollbackFlow — in doDeleteL3Network chain.then(new NoRollbackFlow() { @Override public void run(final FlowTrigger trigger, Map data) { @@ -1785,6 +1919,7 @@ public void rollback(FlowRollback trigger, Map data) { } }); + // DEBT: NoRollbackFlow — in rollback flow(new NoRollbackFlow() { String __name__ = "apply-to-backend"; @@ -1838,6 +1973,7 @@ private void handle(APIRemoveHostRouteFromL3NetworkMsg msg) { chain.then(new ShareFlow() { @Override public void setup() { + // DEBT: NoRollbackFlow — reason TBD flow(new NoRollbackFlow() { String __name__ = "remove-hostroute-from-db"; @@ -1855,6 +1991,7 @@ public void run(FlowTrigger trigger, Map data) { }); if (!self.getNetworkServices().isEmpty()) { + // DEBT: NoRollbackFlow — reason TBD flow(new NoRollbackFlow() { String __name__ = "remove-hostroute-from-backend"; diff --git a/network/src/main/java/org/zstack/network/l3/L3BasicNetworkFactory.java b/network/src/main/java/org/zstack/network/l3/L3BasicNetworkFactory.java index 620f2fff436..325fbbad6b6 100755 --- a/network/src/main/java/org/zstack/network/l3/L3BasicNetworkFactory.java +++ b/network/src/main/java/org/zstack/network/l3/L3BasicNetworkFactory.java @@ -3,7 +3,13 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; import org.zstack.core.db.DatabaseFacade; -import org.zstack.header.network.l3.*; +import org.zstack.header.network.l3.APICreateL3NetworkMsg; +import org.zstack.header.network.l3.L3Network; +import org.zstack.header.network.l3.L3NetworkConstant; +import org.zstack.header.network.l3.L3NetworkFactory; +import org.zstack.header.network.l3.L3NetworkInventory; +import org.zstack.header.network.l3.L3NetworkType; +import org.zstack.header.network.l3.L3NetworkVO; public class L3BasicNetworkFactory implements L3NetworkFactory { private static final L3NetworkType type = new L3NetworkType(L3NetworkConstant.L3_BASIC_NETWORK_TYPE); diff --git a/network/src/main/java/org/zstack/network/l3/L3NetworkApiInterceptor.java b/network/src/main/java/org/zstack/network/l3/L3NetworkApiInterceptor.java index d4dfa4dc8d6..7f5eaee4208 100755 --- a/network/src/main/java/org/zstack/network/l3/L3NetworkApiInterceptor.java +++ b/network/src/main/java/org/zstack/network/l3/L3NetworkApiInterceptor.java @@ -17,8 +17,55 @@ import org.zstack.header.apimediator.StopRoutingException; import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.message.APIMessage; -import org.zstack.header.network.l2.*; -import org.zstack.header.network.l3.*; +import org.zstack.header.network.l2.L2NetworkClusterRefVO; +import org.zstack.header.network.l2.L2NetworkConstant; +import org.zstack.header.network.l2.L2NetworkInventory; +import org.zstack.header.network.l2.L2NetworkVO; +import org.zstack.header.network.l2.L2NetworkVO_; +import org.zstack.header.network.l3.APIAddDnsToL3NetworkMsg; +import org.zstack.header.network.l3.APIAddHostRouteToL3NetworkMsg; +import org.zstack.header.network.l3.APIAddIpRangeByNetworkCidrMsg; +import org.zstack.header.network.l3.APIAddIpRangeMsg; +import org.zstack.header.network.l3.APIAddIpv6RangeByNetworkCidrMsg; +import org.zstack.header.network.l3.APIAddIpv6RangeMsg; +import org.zstack.header.network.l3.APIAddReservedIpRangeMsg; +import org.zstack.header.network.l3.APICheckIpAvailabilityMsg; +import org.zstack.header.network.l3.APICreateL3NetworkMsg; +import org.zstack.header.network.l3.APIDeleteIpAddressMsg; +import org.zstack.header.network.l3.APIDeleteIpRangeMsg; +import org.zstack.header.network.l3.APIDeleteL3NetworkEvent; +import org.zstack.header.network.l3.APIDeleteL3NetworkMsg; +import org.zstack.header.network.l3.APIGetFreeIpMsg; +import org.zstack.header.network.l3.APIGetIpAddressCapacityMsg; +import org.zstack.header.network.l3.APIGetIpAddressCapacityReply; +import org.zstack.header.network.l3.APIRemoveDnsFromL3NetworkEvent; +import org.zstack.header.network.l3.APIRemoveDnsFromL3NetworkMsg; +import org.zstack.header.network.l3.APIRemoveHostRouteFromL3NetworkMsg; +import org.zstack.header.network.l3.APISetL3NetworkMtuMsg; +import org.zstack.header.network.l3.APISetL3NetworkRouterInterfaceIpMsg; +import org.zstack.header.network.l3.APIUpdateL3NetworkMsg; +import org.zstack.header.network.l3.AddressPoolVO; +import org.zstack.header.network.l3.AddressPoolVO_; +import org.zstack.header.network.l3.IpRangeInventory; +import org.zstack.header.network.l3.IpRangeMessage; +import org.zstack.header.network.l3.IpRangeType; +import org.zstack.header.network.l3.IpRangeVO; +import org.zstack.header.network.l3.IpRangeVO_; +import org.zstack.header.network.l3.L3NetworkCategory; +import org.zstack.header.network.l3.L3NetworkConstant; +import org.zstack.header.network.l3.L3NetworkDnsVO; +import org.zstack.header.network.l3.L3NetworkDnsVO_; +import org.zstack.header.network.l3.L3NetworkHostRouteVO; +import org.zstack.header.network.l3.L3NetworkHostRouteVO_; +import org.zstack.header.network.l3.L3NetworkMessage; +import org.zstack.header.network.l3.L3NetworkType; +import org.zstack.header.network.l3.L3NetworkVO; +import org.zstack.header.network.l3.L3NetworkVO_; +import org.zstack.header.network.l3.NormalIpRangeVO; +import org.zstack.header.network.l3.NormalIpRangeVO_; +import org.zstack.header.network.l3.ReservedIpRangeVO; +import org.zstack.header.network.l3.ReservedIpRangeVO_; +import org.zstack.header.network.l3.UsedIpVO; import org.zstack.header.storage.snapshot.group.MemorySnapshotValidatorExtensionPoint; import org.zstack.header.zone.ZoneVO; import org.zstack.header.zone.ZoneVO_; @@ -30,7 +77,10 @@ import org.zstack.utils.network.IPv6NetworkUtils; import org.zstack.utils.network.NetworkUtils; -import java.util.*; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; import java.util.stream.Collectors; import static org.zstack.core.Platform.argerr; diff --git a/network/src/main/java/org/zstack/network/l3/L3NetworkCascadeExtension.java b/network/src/main/java/org/zstack/network/l3/L3NetworkCascadeExtension.java index 1d8a5359327..1b7cbd2fbfc 100755 --- a/network/src/main/java/org/zstack/network/l3/L3NetworkCascadeExtension.java +++ b/network/src/main/java/org/zstack/network/l3/L3NetworkCascadeExtension.java @@ -16,7 +16,12 @@ import org.zstack.header.message.MessageReply; import org.zstack.header.network.l2.L2NetworkInventory; import org.zstack.header.network.l2.L2NetworkVO; -import org.zstack.header.network.l3.*; +import org.zstack.header.network.l3.L3NetworkConstant; +import org.zstack.header.network.l3.L3NetworkDeletionMsg; +import org.zstack.header.network.l3.L3NetworkException; +import org.zstack.header.network.l3.L3NetworkInventory; +import org.zstack.header.network.l3.L3NetworkVO; +import org.zstack.header.network.l3.L3NetworkVO_; import org.zstack.utils.CollectionUtils; import org.zstack.utils.Utils; import org.zstack.utils.function.Function; diff --git a/network/src/main/java/org/zstack/network/l3/L3NetworkManager.java b/network/src/main/java/org/zstack/network/l3/L3NetworkManager.java index eebbb11b747..e868ebd2980 100755 --- a/network/src/main/java/org/zstack/network/l3/L3NetworkManager.java +++ b/network/src/main/java/org/zstack/network/l3/L3NetworkManager.java @@ -1,7 +1,16 @@ package org.zstack.network.l3; import org.zstack.header.core.ReturnValueCompletion; -import org.zstack.header.network.l3.*; +import org.zstack.header.network.l3.AllocateIpMsg; +import org.zstack.header.network.l3.IpAllocatorStrategy; +import org.zstack.header.network.l3.IpAllocatorType; +import org.zstack.header.network.l3.IpRangeFactory; +import org.zstack.header.network.l3.IpRangeType; +import org.zstack.header.network.l3.IpRangeVO; +import org.zstack.header.network.l3.L3NetworkFactory; +import org.zstack.header.network.l3.L3NetworkType; +import org.zstack.header.network.l3.SdnControllerL3; +import org.zstack.header.network.l3.UsedIpInventory; import org.zstack.header.network.service.SdnControllerDhcp; import org.zstack.header.vm.VmNicInventory; import org.zstack.header.vm.VmNicVO; diff --git a/network/src/main/java/org/zstack/network/l3/L3NetworkManagerImpl.java b/network/src/main/java/org/zstack/network/l3/L3NetworkManagerImpl.java index 384a5d2c1df..43d1c6545ed 100755 --- a/network/src/main/java/org/zstack/network/l3/L3NetworkManagerImpl.java +++ b/network/src/main/java/org/zstack/network/l3/L3NetworkManagerImpl.java @@ -9,7 +9,11 @@ import org.zstack.core.cloudbus.CloudBusCallBack; import org.zstack.core.cloudbus.MessageSafe; import org.zstack.core.componentloader.PluginRegistry; -import org.zstack.core.db.*; +import org.zstack.core.db.DatabaseFacade; +import org.zstack.core.db.DbEntityLister; +import org.zstack.core.db.Q; +import org.zstack.core.db.SQL; +import org.zstack.core.db.SQLBatchWithReturn; import org.zstack.core.defer.Deferred; import org.zstack.core.errorcode.ErrorFacade; import org.zstack.core.workflow.FlowChainBuilder; @@ -18,21 +22,78 @@ import org.zstack.header.core.Completion; import org.zstack.header.core.ReturnValueCompletion; import org.zstack.header.core.WhileDoneCompletion; -import org.zstack.header.core.workflow.*; +import org.zstack.header.core.workflow.Flow; +import org.zstack.header.core.workflow.FlowChain; +import org.zstack.header.core.workflow.FlowDoneHandler; +import org.zstack.header.core.workflow.FlowErrorHandler; +import org.zstack.header.core.workflow.FlowRollback; +import org.zstack.header.core.workflow.FlowTrigger; +import org.zstack.header.core.workflow.NoRollbackFlow; import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.errorcode.ErrorCodeList; import org.zstack.header.errorcode.SysErrors; import org.zstack.header.exception.CloudRuntimeException; import org.zstack.header.host.HostVO; import org.zstack.header.host.HostVO_; -import org.zstack.header.identity.*; +import org.zstack.header.identity.APIChangeResourceOwnerMsg; +import org.zstack.header.identity.AccountResourceRefInventory; +import org.zstack.header.identity.Quota; +import org.zstack.header.identity.ReportQuotaExtensionPoint; +import org.zstack.header.identity.ResourceOwnerPreChangeExtensionPoint; import org.zstack.header.identity.quota.QuotaMessageHandler; import org.zstack.header.managementnode.PrepareDbInitialValueExtensionPoint; import org.zstack.header.message.APIMessage; import org.zstack.header.message.Message; import org.zstack.header.message.MessageReply; -import org.zstack.header.network.l2.*; -import org.zstack.header.network.l3.*; +import org.zstack.header.network.l2.L2NetworkClusterRefVO; +import org.zstack.header.network.l2.L2NetworkClusterRefVO_; +import org.zstack.header.network.l2.L2NetworkConstant; +import org.zstack.header.network.l2.L2NetworkFactory; +import org.zstack.header.network.l2.L2NetworkVO; +import org.zstack.header.network.l2.L2NetworkVO_; +import org.zstack.header.network.l3.APICreateL3NetworkEvent; +import org.zstack.header.network.l3.APICreateL3NetworkMsg; +import org.zstack.header.network.l3.APIGetIpAddressCapacityMsg; +import org.zstack.header.network.l3.APIGetIpAddressCapacityReply; +import org.zstack.header.network.l3.APIGetL3NetworkMtuMsg; +import org.zstack.header.network.l3.APIGetL3NetworkMtuReply; +import org.zstack.header.network.l3.APIGetL3NetworkTypesMsg; +import org.zstack.header.network.l3.APIGetL3NetworkTypesReply; +import org.zstack.header.network.l3.APISetL3NetworkMtuEvent; +import org.zstack.header.network.l3.APISetL3NetworkMtuMsg; +import org.zstack.header.network.l3.AllocateIpMsg; +import org.zstack.header.network.l3.AllocateIpReply; +import org.zstack.header.network.l3.CheckIpAvailabilityMsg; +import org.zstack.header.network.l3.CheckIpAvailabilityReply; +import org.zstack.header.network.l3.IpAllocatorStrategy; +import org.zstack.header.network.l3.IpAllocatorType; +import org.zstack.header.network.l3.IpRangeFactory; +import org.zstack.header.network.l3.IpRangeType; +import org.zstack.header.network.l3.IpRangeVO; +import org.zstack.header.network.l3.IpRangeVO_; +import org.zstack.header.network.l3.L3Network; +import org.zstack.header.network.l3.L3NetworkCategory; +import org.zstack.header.network.l3.L3NetworkConstant; +import org.zstack.header.network.l3.L3NetworkDeletionMsg; +import org.zstack.header.network.l3.L3NetworkEO; +import org.zstack.header.network.l3.L3NetworkFactory; +import org.zstack.header.network.l3.L3NetworkInventory; +import org.zstack.header.network.l3.L3NetworkMessage; +import org.zstack.header.network.l3.L3NetworkQuotaConstant; +import org.zstack.header.network.l3.L3NetworkSequenceNumberVO; +import org.zstack.header.network.l3.L3NetworkState; +import org.zstack.header.network.l3.L3NetworkType; +import org.zstack.header.network.l3.L3NetworkVO; +import org.zstack.header.network.l3.L3NetworkVO_; +import org.zstack.header.network.l3.NormalIpRangeVO; +import org.zstack.header.network.l3.NormalIpRangeVO_; +import org.zstack.header.network.l3.ReturnIpMsg; +import org.zstack.header.network.l3.SdnControllerL3; +import org.zstack.header.network.l3.SdnControllerUpdateDHCPMsg; +import org.zstack.header.network.l3.UsedIpInventory; +import org.zstack.header.network.l3.UsedIpNotAccountMetaDataExtensionPoint; +import org.zstack.header.network.l3.UsedIpVO; +import org.zstack.header.network.l3.UsedIpVO_; import org.zstack.header.network.l3.datatypes.IpCapacityData; import org.zstack.header.network.service.GetSdnControllerExtensionPoint; import org.zstack.header.network.service.SdnControllerDhcp; @@ -64,7 +125,14 @@ import javax.persistence.Tuple; import javax.persistence.TypedQuery; import java.math.BigInteger; -import java.util.*; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.UUID; import java.util.concurrent.Callable; import static org.zstack.core.Platform.err; @@ -160,6 +228,7 @@ private void handle(final APISetL3NetworkMtuMsg msg) { FlowChain chain = FlowChainBuilder.newSimpleFlowChain(); chain.setName("change-l3-network-mtu"); + // DEBT: NoRollbackFlow — in handleApiMessage chain.then(new NoRollbackFlow() { @Override public void run(FlowTrigger trigger, Map data) { @@ -521,6 +590,7 @@ private void handle(APICreateL3NetworkMsg msg) { FlowChain fchain = new SimpleFlowChain(); fchain.setName(String.format("create-l3-network-%s", vo.getUuid())); + // DEBT: NoRollbackFlow — in syncManagementServiceTypeWhileCreate fchain.then(new NoRollbackFlow() { String __name__ = "add-l3-to-sdn-controller"; @@ -546,6 +616,7 @@ public void fail(ErrorCode errorCode) { } }); } + // DEBT: NoRollbackFlow — reason TBD }).then(new NoRollbackFlow() { String __name__ = "save-db"; @@ -980,6 +1051,7 @@ public void rollback(FlowRollback trigger, Map data) { trigger.rollback(); } + // DEBT: NoRollbackFlow — in rollback }).then(new NoRollbackFlow() { String __name__ = "release-old-nic-ip"; diff --git a/network/src/main/java/org/zstack/network/l3/NormalIpRangeFactory.java b/network/src/main/java/org/zstack/network/l3/NormalIpRangeFactory.java index 6b7d70d45eb..3fe3e577a86 100644 --- a/network/src/main/java/org/zstack/network/l3/NormalIpRangeFactory.java +++ b/network/src/main/java/org/zstack/network/l3/NormalIpRangeFactory.java @@ -11,11 +11,27 @@ import org.zstack.core.workflow.SimpleFlowChain; import org.zstack.header.core.Completion; import org.zstack.header.core.ReturnValueCompletion; -import org.zstack.header.core.workflow.*; +import org.zstack.header.core.workflow.Flow; +import org.zstack.header.core.workflow.FlowChain; +import org.zstack.header.core.workflow.FlowDoneHandler; +import org.zstack.header.core.workflow.FlowErrorHandler; +import org.zstack.header.core.workflow.FlowRollback; +import org.zstack.header.core.workflow.FlowTrigger; +import org.zstack.header.core.workflow.NoRollbackFlow; import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.message.APICreateMessage; import org.zstack.header.message.MessageReply; -import org.zstack.header.network.l3.*; +import org.zstack.header.network.l3.AfterAddIpRangeExtensionPoint; +import org.zstack.header.network.l3.IpRangeFactory; +import org.zstack.header.network.l3.IpRangeInventory; +import org.zstack.header.network.l3.IpRangeType; +import org.zstack.header.network.l3.IpRangeVO; +import org.zstack.header.network.l3.L3NetworkVO; +import org.zstack.header.network.l3.NormalIpRangeVO; +import org.zstack.header.network.l3.SdnControllerL3; +import org.zstack.header.network.l3.SdnControllerUpdateDHCPMsg; +import org.zstack.header.network.l3.UsedIpVO; +import org.zstack.header.network.l3.UsedIpVO_; import org.zstack.header.network.sdncontroller.SdnControllerConstant; import org.zstack.header.network.service.SdnControllerDhcp; import org.zstack.utils.CollectionUtils; @@ -112,6 +128,7 @@ public void rollback(FlowRollback trigger, Map data) { dbf.removeCollection(vos, IpRangeVO.class); trigger.rollback(); } + // DEBT: NoRollbackFlow — in rollback }).then(new NoRollbackFlow() { String __name__ = "enable-sdn-dhcp"; @@ -139,6 +156,7 @@ public void run(MessageReply reply) { } }); } + // DEBT: NoRollbackFlow — in rollback }).then(new NoRollbackFlow() { String __name__ = "add-sdn-subnet"; diff --git a/network/src/main/java/org/zstack/network/l3/RandomIpAllocatorStrategy.java b/network/src/main/java/org/zstack/network/l3/RandomIpAllocatorStrategy.java index e4b8d1562f6..68e4eaaac86 100755 --- a/network/src/main/java/org/zstack/network/l3/RandomIpAllocatorStrategy.java +++ b/network/src/main/java/org/zstack/network/l3/RandomIpAllocatorStrategy.java @@ -2,7 +2,14 @@ import org.zstack.core.db.SimpleQuery; import org.zstack.core.db.SimpleQuery.Op; -import org.zstack.header.network.l3.*; +import org.zstack.header.network.l3.IpAllocateMessage; +import org.zstack.header.network.l3.IpAllocatorType; +import org.zstack.header.network.l3.IpRangeAO; +import org.zstack.header.network.l3.IpRangeVO; +import org.zstack.header.network.l3.L3NetworkConstant; +import org.zstack.header.network.l3.UsedIpInventory; +import org.zstack.header.network.l3.UsedIpVO; +import org.zstack.header.network.l3.UsedIpVO_; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; import org.zstack.utils.network.IPv6Constants; diff --git a/network/src/main/java/org/zstack/network/l3/RandomIpv6AllocatorStrategy.java b/network/src/main/java/org/zstack/network/l3/RandomIpv6AllocatorStrategy.java index b9ea4737ec7..96032b4f127 100755 --- a/network/src/main/java/org/zstack/network/l3/RandomIpv6AllocatorStrategy.java +++ b/network/src/main/java/org/zstack/network/l3/RandomIpv6AllocatorStrategy.java @@ -5,12 +5,23 @@ import org.zstack.core.db.Q; import org.zstack.core.db.SimpleQuery; import org.zstack.core.db.SimpleQuery.Op; -import org.zstack.header.network.l3.*; +import org.zstack.header.network.l3.IpAllocateMessage; +import org.zstack.header.network.l3.IpAllocatorType; +import org.zstack.header.network.l3.IpRangeVO; +import org.zstack.header.network.l3.IpRangeVO_; +import org.zstack.header.network.l3.L3NetworkConstant; +import org.zstack.header.network.l3.UsedIpInventory; +import org.zstack.header.network.l3.UsedIpVO; +import org.zstack.header.network.l3.UsedIpVO_; import org.zstack.utils.network.IPv6Constants; import org.zstack.utils.network.IPv6NetworkUtils; import java.math.BigInteger; -import java.util.*; +import java.util.Collections; +import java.util.HashSet; +import java.util.List; +import java.util.Random; +import java.util.Set; import java.util.stream.Collectors; public class RandomIpv6AllocatorStrategy extends AbstractIpAllocatorStrategy { diff --git a/network/src/main/java/org/zstack/network/service/AbstractNetworkServiceExtension.java b/network/src/main/java/org/zstack/network/service/AbstractNetworkServiceExtension.java index f5092b03bc5..e043c68c44c 100755 --- a/network/src/main/java/org/zstack/network/service/AbstractNetworkServiceExtension.java +++ b/network/src/main/java/org/zstack/network/service/AbstractNetworkServiceExtension.java @@ -6,7 +6,12 @@ import org.zstack.core.db.SimpleQuery; import org.zstack.core.errorcode.ErrorFacade; import org.zstack.header.network.l3.L3NetworkInventory; -import org.zstack.header.network.service.*; +import org.zstack.header.network.service.NetworkServiceExtensionPoint; +import org.zstack.header.network.service.NetworkServiceL3NetworkRefInventory; +import org.zstack.header.network.service.NetworkServiceProviderType; +import org.zstack.header.network.service.NetworkServiceProviderVO; +import org.zstack.header.network.service.NetworkServiceProviderVO_; +import org.zstack.header.network.service.NetworkServiceType; import java.util.ArrayList; import java.util.HashMap; diff --git a/network/src/main/java/org/zstack/network/service/CentralizedDnsExtension.java b/network/src/main/java/org/zstack/network/service/CentralizedDnsExtension.java index 05ffadc42b0..a2e0d0b7960 100644 --- a/network/src/main/java/org/zstack/network/service/CentralizedDnsExtension.java +++ b/network/src/main/java/org/zstack/network/service/CentralizedDnsExtension.java @@ -18,7 +18,12 @@ import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; -import java.util.*; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Optional; /** * Created by AlanJager on 2017/7/8. diff --git a/network/src/main/java/org/zstack/network/service/DhcpExtension.java b/network/src/main/java/org/zstack/network/service/DhcpExtension.java index 625c872dc8a..9b56fd82ce8 100755 --- a/network/src/main/java/org/zstack/network/service/DhcpExtension.java +++ b/network/src/main/java/org/zstack/network/service/DhcpExtension.java @@ -14,10 +14,29 @@ import org.zstack.header.core.NoErrorCompletion; import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.exception.CloudRuntimeException; -import org.zstack.header.network.l3.*; +import org.zstack.header.network.l3.IpRangeInventory; +import org.zstack.header.network.l3.IpRangeVO; +import org.zstack.header.network.l3.L3NetworkConstant; +import org.zstack.header.network.l3.L3NetworkInventory; +import org.zstack.header.network.l3.L3NetworkVO; +import org.zstack.header.network.l3.L3NetworkVO_; +import org.zstack.header.network.l3.NormalIpRangeVO; +import org.zstack.header.network.l3.NormalIpRangeVO_; +import org.zstack.header.network.l3.SdnControllerDisableDHCPMsg; +import org.zstack.header.network.l3.SdnControllerEnableDHCPMsg; +import org.zstack.header.network.l3.UsedIpInventory; +import org.zstack.header.network.l3.UsedIpVO; import org.zstack.header.network.sdncontroller.SdnControllerConstant; -import org.zstack.header.network.service.*; -import org.zstack.header.vm.*; +import org.zstack.header.network.service.DhcpStruct; +import org.zstack.header.network.service.NetworkServiceDhcpBackend; +import org.zstack.header.network.service.NetworkServiceProviderType; +import org.zstack.header.network.service.NetworkServiceType; +import org.zstack.header.vm.VmDefaultL3NetworkChangedExtensionPoint; +import org.zstack.header.vm.VmInstanceInventory; +import org.zstack.header.vm.VmInstanceSpec; +import org.zstack.header.vm.VmNicInventory; +import org.zstack.header.vm.VmNicSpec; +import org.zstack.header.vm.VmNicVO; import org.zstack.header.message.MessageReply; import org.zstack.header.vm.VmInstanceSpec.HostName; @@ -33,7 +52,14 @@ import org.zstack.utils.network.IPv6Constants; import org.zstack.utils.network.NetworkUtils; -import java.util.*; +import java.util.ArrayList; +import java.util.Comparator; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; import java.util.stream.Collectors; import static org.zstack.core.Platform.operr; diff --git a/network/src/main/java/org/zstack/network/service/DnsExtension.java b/network/src/main/java/org/zstack/network/service/DnsExtension.java index 1083bc43f5b..bfcbc81c667 100755 --- a/network/src/main/java/org/zstack/network/service/DnsExtension.java +++ b/network/src/main/java/org/zstack/network/service/DnsExtension.java @@ -15,14 +15,26 @@ import org.zstack.header.network.l3.L3NetworkDnsVO_; import org.zstack.header.network.l3.L3NetworkInventory; import org.zstack.header.network.l3.L3NetworkVO; -import org.zstack.header.network.service.*; +import org.zstack.header.network.service.AddDnsMsg; +import org.zstack.header.network.service.AddDnsReply; +import org.zstack.header.network.service.DnsStruct; +import org.zstack.header.network.service.NetworkServiceConstants; +import org.zstack.header.network.service.NetworkServiceDnsBackend; +import org.zstack.header.network.service.NetworkServiceProviderType; +import org.zstack.header.network.service.NetworkServiceType; +import org.zstack.header.network.service.RemoveDnsMsg; +import org.zstack.header.network.service.RemoveDnsReply; import org.zstack.header.vm.VmInstanceSpec; import org.zstack.header.vm.VmNicHelper; import org.zstack.header.vm.VmNicSpec; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; -import java.util.*; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; import java.util.stream.Collectors; import static org.zstack.core.Platform.operr; diff --git a/network/src/main/java/org/zstack/network/service/HostRouteExtension.java b/network/src/main/java/org/zstack/network/service/HostRouteExtension.java index cd04a5ba509..65c99c1a8e7 100755 --- a/network/src/main/java/org/zstack/network/service/HostRouteExtension.java +++ b/network/src/main/java/org/zstack/network/service/HostRouteExtension.java @@ -12,12 +12,21 @@ import org.zstack.header.message.Message; import org.zstack.header.network.l3.L3NetworkInventory; import org.zstack.header.network.l3.L3NetworkVO; -import org.zstack.header.network.service.*; +import org.zstack.header.network.service.AddHostRouteMsg; +import org.zstack.header.network.service.AddHostRouteReply; +import org.zstack.header.network.service.NetworkServiceConstants; +import org.zstack.header.network.service.NetworkServiceHostRouteBackend; +import org.zstack.header.network.service.NetworkServiceProviderType; +import org.zstack.header.network.service.NetworkServiceType; +import org.zstack.header.network.service.RemoveHostRouteMsg; +import org.zstack.header.network.service.RemoveHostRouteReply; import org.zstack.header.vm.VmInstanceSpec; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; -import java.util.*; +import java.util.HashMap; +import java.util.List; +import java.util.Map; import static java.util.Arrays.asList; import static org.zstack.core.Platform.argerr; diff --git a/network/src/main/java/org/zstack/network/service/MtuGetter.java b/network/src/main/java/org/zstack/network/service/MtuGetter.java index 9635ca3f0f5..b7fe69ca667 100644 --- a/network/src/main/java/org/zstack/network/service/MtuGetter.java +++ b/network/src/main/java/org/zstack/network/service/MtuGetter.java @@ -5,7 +5,9 @@ import org.springframework.beans.factory.annotation.Configurable; import org.zstack.core.componentloader.PluginRegistry; import org.zstack.core.db.Q; -import org.zstack.header.network.l2.*; +import org.zstack.header.network.l2.L2NetworkInventory; +import org.zstack.header.network.l2.L2NetworkVO; +import org.zstack.header.network.l2.L2NetworkVO_; import org.zstack.header.network.l3.L3Network; import org.zstack.header.network.l3.L3NetworkVO; import org.zstack.header.network.l3.L3NetworkVO_; diff --git a/network/src/main/java/org/zstack/network/service/NetworkServiceApiInterceptor.java b/network/src/main/java/org/zstack/network/service/NetworkServiceApiInterceptor.java index dad5d87781a..d3b65600816 100755 --- a/network/src/main/java/org/zstack/network/service/NetworkServiceApiInterceptor.java +++ b/network/src/main/java/org/zstack/network/service/NetworkServiceApiInterceptor.java @@ -8,9 +8,24 @@ import org.zstack.header.apimediator.ApiMessageInterceptionException; import org.zstack.header.apimediator.ApiMessageInterceptor; import org.zstack.header.message.APIMessage; -import org.zstack.header.network.l3.*; -import org.zstack.header.network.service.*; -import org.zstack.header.vm.*; +import org.zstack.header.network.l3.FreeIpInventory; +import org.zstack.header.network.l3.IpRangeVO; +import org.zstack.header.network.l3.IpRangeVO_; +import org.zstack.header.network.l3.UsedIpVO; +import org.zstack.header.network.l3.UsedIpVO_; +import org.zstack.header.network.service.APIAttachNetworkServiceToL3NetworkMsg; +import org.zstack.header.network.service.APIDetachNetworkServiceFromL3NetworkMsg; +import org.zstack.header.network.service.NetworkServiceL3NetworkRefVO; +import org.zstack.header.network.service.NetworkServiceL3NetworkRefVO_; +import org.zstack.header.network.service.NetworkServiceProviderVO; +import org.zstack.header.network.service.NetworkServiceType; +import org.zstack.header.network.service.NetworkServiceTypeVO; +import org.zstack.header.network.service.NetworkServiceTypeVO_; +import org.zstack.header.vm.VmInstanceConstant; +import org.zstack.header.vm.VmInstanceVO; +import org.zstack.header.vm.VmInstanceVO_; +import org.zstack.header.vm.VmNicVO; +import org.zstack.header.vm.VmNicVO_; import org.zstack.network.l3.IpRangeHelper; import org.zstack.utils.CollectionUtils; import org.zstack.utils.function.Function; @@ -23,7 +38,13 @@ import static org.zstack.core.Platform.argerr; import static org.zstack.core.Platform.operr; -import java.util.*; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Set; import java.util.stream.Collectors; import static org.zstack.utils.clouderrorcode.CloudOperationsErrorCode.*; diff --git a/network/src/main/java/org/zstack/network/service/NetworkServiceManagerImpl.java b/network/src/main/java/org/zstack/network/service/NetworkServiceManagerImpl.java index 5e353fa1ff2..1177837a714 100755 --- a/network/src/main/java/org/zstack/network/service/NetworkServiceManagerImpl.java +++ b/network/src/main/java/org/zstack/network/service/NetworkServiceManagerImpl.java @@ -12,7 +12,13 @@ import org.zstack.header.AbstractService; import org.zstack.header.core.Completion; import org.zstack.header.core.NoErrorCompletion; -import org.zstack.header.core.workflow.*; +import org.zstack.header.core.workflow.Flow; +import org.zstack.header.core.workflow.FlowChain; +import org.zstack.header.core.workflow.FlowDoneHandler; +import org.zstack.header.core.workflow.FlowErrorHandler; +import org.zstack.header.core.workflow.FlowRollback; +import org.zstack.header.core.workflow.FlowTrigger; +import org.zstack.header.core.workflow.NoRollbackFlow; import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.errorcode.OperationFailureException; import org.zstack.header.exception.CloudRuntimeException; @@ -21,15 +27,55 @@ import org.zstack.header.network.NetworkException; import org.zstack.header.network.l2.L2NetworkInventory; import org.zstack.header.network.l2.L2NetworkVO; -import org.zstack.header.network.l3.*; -import org.zstack.header.network.service.*; +import org.zstack.header.network.l3.L3Network; +import org.zstack.header.network.l3.L3NetworkDnsVO; +import org.zstack.header.network.l3.L3NetworkDnsVO_; +import org.zstack.header.network.l3.L3NetworkInventory; +import org.zstack.header.network.l3.L3NetworkVO; +import org.zstack.header.network.l3.L3NetworkVO_; +import org.zstack.header.network.service.APIAttachNetworkServiceProviderToL2NetworkEvent; +import org.zstack.header.network.service.APIAttachNetworkServiceProviderToL2NetworkMsg; +import org.zstack.header.network.service.APIDetachNetworkServiceProviderFromL2NetworkEvent; +import org.zstack.header.network.service.APIDetachNetworkServiceProviderFromL2NetworkMsg; +import org.zstack.header.network.service.APIGetNetworkServiceTypesMsg; +import org.zstack.header.network.service.APIGetNetworkServiceTypesReply; +import org.zstack.header.network.service.APIQueryNetworkServiceProviderMsg; +import org.zstack.header.network.service.APIQueryNetworkServiceProviderReply; +import org.zstack.header.network.service.ApplyNetworkServiceExtensionPoint; +import org.zstack.header.network.service.DnsServiceExtensionPoint; +import org.zstack.header.network.service.NetworkServiceConstants; +import org.zstack.header.network.service.NetworkServiceErrors; +import org.zstack.header.network.service.NetworkServiceExtensionPoint; +import org.zstack.header.network.service.NetworkServiceL3NetworkRefInventory; +import org.zstack.header.network.service.NetworkServiceProvider; +import org.zstack.header.network.service.NetworkServiceProviderFactory; +import org.zstack.header.network.service.NetworkServiceProviderInventory; +import org.zstack.header.network.service.NetworkServiceProviderL2NetworkRefVO; +import org.zstack.header.network.service.NetworkServiceProviderL2NetworkRefVO_; +import org.zstack.header.network.service.NetworkServiceProviderType; +import org.zstack.header.network.service.NetworkServiceProviderVO; +import org.zstack.header.network.service.NetworkServiceProviderVO_; +import org.zstack.header.network.service.NetworkServiceType; +import org.zstack.header.network.service.NetworkServiceTypeVO; import org.zstack.header.network.service.NetworkServiceExtensionPoint.NetworkServiceExtensionPosition; -import org.zstack.header.vm.*; +import org.zstack.header.vm.InstantiateResourceOnAttachingNicExtensionPoint; +import org.zstack.header.vm.PostVmInstantiateResourceExtensionPoint; +import org.zstack.header.vm.PreVmInstantiateResourceExtensionPoint; +import org.zstack.header.vm.ReleaseNetworkServiceOnDetachingNicExtensionPoint; +import org.zstack.header.vm.VmInstanceConstant; +import org.zstack.header.vm.VmInstanceSpec; +import org.zstack.header.vm.VmNicInventory; +import org.zstack.header.vm.VmReleaseResourceExtensionPoint; import org.zstack.query.QueryFacade; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; -import java.util.*; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; import static org.zstack.core.Platform.err; import static org.zstack.core.Platform.operr; @@ -394,6 +440,7 @@ private void releaseNetworkServices(final VmInstanceSpec spec, NetworkServiceExt continue; } + // DEBT: NoRollbackFlow — in releaseNetworkServices NoRollbackFlow flow = new NoRollbackFlow() { String __name__ = String.format("release-network-service-%s", ns.getNetworkServiceType()); diff --git a/network/src/main/java/org/zstack/network/service/SnatExtension.java b/network/src/main/java/org/zstack/network/service/SnatExtension.java index 188573203d9..738134df017 100755 --- a/network/src/main/java/org/zstack/network/service/SnatExtension.java +++ b/network/src/main/java/org/zstack/network/service/SnatExtension.java @@ -13,11 +13,18 @@ import org.zstack.header.network.service.NetworkServiceType; import org.zstack.header.network.service.NetworkServiceSnatBackend; import org.zstack.header.network.service.SnatStruct; -import org.zstack.header.vm.*; +import org.zstack.header.vm.VmInstanceSpec; +import org.zstack.header.vm.VmNicHelper; +import org.zstack.header.vm.VmNicInventory; +import org.zstack.header.vm.VmNicSpec; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; -import java.util.*; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; import java.util.stream.Collectors; /** diff --git a/plugin/acl/src/main/java/org/zstack/acl/AccessControlListApiInterceptor.java b/plugin/acl/src/main/java/org/zstack/acl/AccessControlListApiInterceptor.java index 52816d25062..7cdb0daeeba 100644 --- a/plugin/acl/src/main/java/org/zstack/acl/AccessControlListApiInterceptor.java +++ b/plugin/acl/src/main/java/org/zstack/acl/AccessControlListApiInterceptor.java @@ -1,196 +1,201 @@ -package org.zstack.acl; - -import com.google.common.collect.ContiguousSet; -import com.google.common.collect.DiscreteDomain; -import com.google.common.collect.Range; -import com.google.common.collect.RangeSet; -import org.apache.commons.lang.StringUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.zstack.core.cloudbus.CloudBus; -import org.zstack.core.db.DatabaseFacade; -import org.zstack.core.errorcode.ErrorFacade; -import org.zstack.header.acl.*; -import org.zstack.header.apimediator.ApiMessageInterceptionException; -import org.zstack.header.apimediator.ApiMessageInterceptor; -import org.zstack.header.message.APIMessage; -import org.zstack.tag.TagManager; -import org.zstack.utils.DebugUtils; -import org.zstack.utils.IpRangeSet; -import org.zstack.utils.logging.CLogger; -import org.zstack.utils.logging.CLoggerImpl; -import org.zstack.utils.network.IPv6Constants; -import org.zstack.utils.network.IPv6NetworkUtils; -import org.zstack.utils.network.NetworkUtils; - -import java.util.List; -import java.util.stream.Collectors; - -import static org.zstack.core.Platform.argerr; -import static org.zstack.core.Platform.operr; -import static org.zstack.utils.clouderrorcode.CloudOperationsErrorCode.*; - -/** - * @author: zhanyong.miao - * @date: 2020-03-12 - **/ -public class AccessControlListApiInterceptor implements ApiMessageInterceptor { - @Autowired - private CloudBus bus; - @Autowired - private DatabaseFacade dbf; - @Autowired - private ErrorFacade errf; - @Autowired - private TagManager tagMgr; - - private static final CLogger logger = CLoggerImpl.getLogger(AccessControlListApiInterceptor.class); - private static String SPLIT = "-"; - private static String IP_SPLIT = ","; - - @Override - public APIMessage intercept(APIMessage msg) throws ApiMessageInterceptionException { - if (msg instanceof APICreateAccessControlListMsg) { - validate ((APICreateAccessControlListMsg) msg); - } else if (msg instanceof APIAddAccessControlListEntryMsg) { - validate ((APIAddAccessControlListEntryMsg) msg); - } else if (msg instanceof APIAddAccessControlListRedirectRuleMsg) { - validate ((APIAddAccessControlListRedirectRuleMsg) msg); - } - return msg; - } - - private void validate (APICreateAccessControlListMsg msg) { - if (msg.getIpVersion() == null) { - msg.setIpVersion(IPv6Constants.IPv4); - } - } - - private boolean validateIpRange(String startIp, String endIp) { - if (NetworkUtils.isIpv4Address(startIp) && !NetworkUtils.isIpv4Address(endIp)) { - return false; - } - - if (IPv6NetworkUtils.isIpv6Address(startIp) && !IPv6NetworkUtils.isIpv6Address(endIp)) { - return false; - } - - try { - if (NetworkUtils.isIpv4Address(startIp)) { - NetworkUtils.validateIpRange(startIp, endIp); - } else { - //IPv6NetworkUtils.validateIpRange(startIp, endIp); - } - return true; - } catch (IllegalArgumentException e) { - return false; - } - } - - private void validateIp(String ips, AccessControlListVO acl) { - DebugUtils.Assert(acl != null, "the invalide null AccessControlListVO"); - Integer ipVer = acl.getIpVersion(); - if (!ipVer.equals(IPv6Constants.IPv4)) { - throw new ApiMessageInterceptionException(argerr(ORG_ZSTACK_ACL_10000, "not support the ip version %d", ipVer)); - } - try { - RangeSet ipRanges = IpRangeSet.listAllRanges(ips); - String[] ipcount = ips.split(IP_SPLIT); - if (ipRanges.asRanges().size() < ipcount.length) { - throw new ApiMessageInterceptionException(argerr(ORG_ZSTACK_ACL_10001, "%s duplicate/overlap ip entry with access-control-list group:%s", ips, acl.getUuid())); - } - for (Range range : ipRanges.asRanges()) { - final Range frange = ContiguousSet.create(range, DiscreteDomain.longs()).range(); - String startIp = NetworkUtils.longToIpv4String(frange.lowerEndpoint()); - String endIp = NetworkUtils.longToIpv4String(frange.upperEndpoint()); - if (!validateIpRange(startIp, endIp)) { - throw new ApiMessageInterceptionException(argerr(ORG_ZSTACK_ACL_10002, "ip format only supports ip/iprange/cidr, but find %s", ips)); - } - ipRanges.asRanges().stream().forEach(r -> { - if (!frange.equals(r) && NetworkUtils.isIpv4RangeOverlap(startIp, endIp, NetworkUtils.longToIpv4String(r.lowerEndpoint()), NetworkUtils.longToIpv4String(r.upperEndpoint()))) { - throw new ApiMessageInterceptionException(argerr(ORG_ZSTACK_ACL_10003, "ip range[%s, %s] is overlap with [%s, %s] in access-control-list group:%s", - startIp, endIp, NetworkUtils.longToIpv4String(r.lowerEndpoint()), NetworkUtils.longToIpv4String(r.upperEndpoint()), acl.getUuid())); - } - }); - } - - } catch (IllegalArgumentException e) { - throw new ApiMessageInterceptionException(argerr(ORG_ZSTACK_ACL_10004, "Invalid rule expression, the detail: %s", e.getMessage())); - } - - } - - private void validate (APIAddAccessControlListEntryMsg msg) { - AccessControlListVO acl = dbf.findByUuid(msg.getAclUuid(), AccessControlListVO.class); - - boolean redirectRuleExisted = acl.getEntries().stream().anyMatch(entry -> entry.getType().equals(AclEntryType.RedirectRule.toString())); - - if (redirectRuleExisted) { - throw new ApiMessageInterceptionException(operr(ORG_ZSTACK_ACL_10005, "the access-control-list groups[%s] already own redirect rule, can not add IP Entry", acl.getUuid())); - } - - /*check if the entry is exist*/ - if (acl.getEntries()!= null && !acl.getEntries().isEmpty()) { - if (acl.getEntries().size() >= AccessControlListConstants.MAX_ENTRY_COUNT_PER_GROUP) { - throw new ApiMessageInterceptionException(argerr(ORG_ZSTACK_ACL_10006, "the access-control-list groups[%s] can't be added more than %d ip entries", acl.getUuid(), AccessControlListConstants.MAX_ENTRY_COUNT_PER_GROUP)); - } - - boolean redirectRuleExsit = acl.getEntries().stream().anyMatch(entry -> entry.getType().equals(AclEntryType.RedirectRule.toString())); - if (redirectRuleExsit) { - throw new ApiMessageInterceptionException(operr(ORG_ZSTACK_ACL_10007, "the access-control-list groups[%s] already own redirect rule, can not add ip entry", acl.getUuid())); - } - List ipentries = acl.getEntries().stream().map(entry -> entry.getIpEntries()).collect(Collectors.toList()); - ipentries.add(msg.getEntries()); - /*miaozhanyong to be done*/ - validateIp(StringUtils.join(ipentries.toArray(), ','), acl); - } else { - validateIp(msg.getEntries(), acl); - } - } - - private void validate (APIAddAccessControlListRedirectRuleMsg msg) { - AccessControlListVO acl = dbf.findByUuid(msg.getAclUuid(), AccessControlListVO.class); - boolean ipEntryExisted = acl.getEntries().stream().anyMatch(entry -> entry.getType().equals(AclEntryType.IpEntry.toString())); - boolean redirectRuleExisted = acl.getEntries().stream().anyMatch(entry -> entry.getType().equals(AclEntryType.RedirectRule.toString())); - if (ipEntryExisted) { - throw new ApiMessageInterceptionException(operr(ORG_ZSTACK_ACL_10008, "the access-control-list groups[%s] already own ip entry, can not add redirect rule", acl.getUuid())); - } - - if (redirectRuleExisted) { - throw new ApiMessageInterceptionException(operr(ORG_ZSTACK_ACL_10009, "the access-control-list groups[%s] already own one redirect rule, can not add redirect rule", acl.getUuid())); - } - - if (StringUtils.isBlank(msg.getDomain()) && (StringUtils.isBlank(msg.getUrl()) || msg.getUrl().length() == 1)) { - throw new ApiMessageInterceptionException(operr(ORG_ZSTACK_ACL_10010, "domain and url can not both empty")); - } - - if (StringUtils.isNotBlank(msg.getDomain())) { - if (!AccessControlListUtils.isValidateDomain(msg.getDomain())) { - throw new ApiMessageInterceptionException(argerr(ORG_ZSTACK_ACL_10011, "domain[%s] is not validate domain", msg.getDomain())); - } - - if (msg.getDomain().contains("*")) { - msg.setCriterion("WildcardMatch"); - } else { - msg.setCriterion("AccurateMatch"); - } - - if (StringUtils.isNotBlank(msg.getUrl()) && msg.getUrl().length() > 1) { - if (!AccessControlListUtils.isValidateUrl(msg.getUrl())) { - throw new ApiMessageInterceptionException(argerr(ORG_ZSTACK_ACL_10012, "url[%s] is not validate url", msg.getUrl())); - } - msg.setMatchMethod("DomainAndUrl"); - } else { - if (msg.getUrl().length() == 1 && !msg.getUrl().equals("/")) { - throw new ApiMessageInterceptionException(argerr(ORG_ZSTACK_ACL_10013, "url[%s] is not validate url", msg.getUrl())); - } - msg.setUrl("/"); - msg.setMatchMethod("Domain"); - } - } else { - if (!AccessControlListUtils.isValidateUrl(msg.getUrl())) { - throw new ApiMessageInterceptionException(argerr(ORG_ZSTACK_ACL_10014, "url[%s] is not validate url", msg.getDomain())); - } - msg.setMatchMethod("Url"); - } - } -} +package org.zstack.acl; + +import com.google.common.collect.ContiguousSet; +import com.google.common.collect.DiscreteDomain; +import com.google.common.collect.Range; +import com.google.common.collect.RangeSet; +import org.apache.commons.lang.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.zstack.core.cloudbus.CloudBus; +import org.zstack.core.db.DatabaseFacade; +import org.zstack.core.errorcode.ErrorFacade; +import org.zstack.header.acl.APIAddAccessControlListEntryMsg; +import org.zstack.header.acl.APIAddAccessControlListRedirectRuleMsg; +import org.zstack.header.acl.APICreateAccessControlListMsg; +import org.zstack.header.acl.AccessControlListConstants; +import org.zstack.header.acl.AccessControlListVO; +import org.zstack.header.acl.AclEntryType; +import org.zstack.header.apimediator.ApiMessageInterceptionException; +import org.zstack.header.apimediator.ApiMessageInterceptor; +import org.zstack.header.message.APIMessage; +import org.zstack.tag.TagManager; +import org.zstack.utils.DebugUtils; +import org.zstack.utils.IpRangeSet; +import org.zstack.utils.logging.CLogger; +import org.zstack.utils.logging.CLoggerImpl; +import org.zstack.utils.network.IPv6Constants; +import org.zstack.utils.network.IPv6NetworkUtils; +import org.zstack.utils.network.NetworkUtils; + +import java.util.List; +import java.util.stream.Collectors; + +import static org.zstack.core.Platform.argerr; +import static org.zstack.core.Platform.operr; +import static org.zstack.utils.clouderrorcode.CloudOperationsErrorCode.*; + +/** + * @author: zhanyong.miao + * @date: 2020-03-12 + **/ +public class AccessControlListApiInterceptor implements ApiMessageInterceptor { + @Autowired + private CloudBus bus; + @Autowired + private DatabaseFacade dbf; + @Autowired + private ErrorFacade errf; + @Autowired + private TagManager tagMgr; + + private static final CLogger logger = CLoggerImpl.getLogger(AccessControlListApiInterceptor.class); + private static String SPLIT = "-"; + private static String IP_SPLIT = ","; + + @Override + public APIMessage intercept(APIMessage msg) throws ApiMessageInterceptionException { + if (msg instanceof APICreateAccessControlListMsg) { + validate ((APICreateAccessControlListMsg) msg); + } else if (msg instanceof APIAddAccessControlListEntryMsg) { + validate ((APIAddAccessControlListEntryMsg) msg); + } else if (msg instanceof APIAddAccessControlListRedirectRuleMsg) { + validate ((APIAddAccessControlListRedirectRuleMsg) msg); + } + return msg; + } + + private void validate (APICreateAccessControlListMsg msg) { + if (msg.getIpVersion() == null) { + msg.setIpVersion(IPv6Constants.IPv4); + } + } + + private boolean validateIpRange(String startIp, String endIp) { + if (NetworkUtils.isIpv4Address(startIp) && !NetworkUtils.isIpv4Address(endIp)) { + return false; + } + + if (IPv6NetworkUtils.isIpv6Address(startIp) && !IPv6NetworkUtils.isIpv6Address(endIp)) { + return false; + } + + try { + if (NetworkUtils.isIpv4Address(startIp)) { + NetworkUtils.validateIpRange(startIp, endIp); + } else { + //IPv6NetworkUtils.validateIpRange(startIp, endIp); + } + return true; + } catch (IllegalArgumentException e) { + return false; + } + } + + private void validateIp(String ips, AccessControlListVO acl) { + DebugUtils.Assert(acl != null, "the invalide null AccessControlListVO"); + Integer ipVer = acl.getIpVersion(); + if (!ipVer.equals(IPv6Constants.IPv4)) { + throw new ApiMessageInterceptionException(argerr(ORG_ZSTACK_ACL_10000, "not support the ip version %d", ipVer)); + } + try { + RangeSet ipRanges = IpRangeSet.listAllRanges(ips); + String[] ipcount = ips.split(IP_SPLIT); + if (ipRanges.asRanges().size() < ipcount.length) { + throw new ApiMessageInterceptionException(argerr(ORG_ZSTACK_ACL_10001, "%s duplicate/overlap ip entry with access-control-list group:%s", ips, acl.getUuid())); + } + for (Range range : ipRanges.asRanges()) { + final Range frange = ContiguousSet.create(range, DiscreteDomain.longs()).range(); + String startIp = NetworkUtils.longToIpv4String(frange.lowerEndpoint()); + String endIp = NetworkUtils.longToIpv4String(frange.upperEndpoint()); + if (!validateIpRange(startIp, endIp)) { + throw new ApiMessageInterceptionException(argerr(ORG_ZSTACK_ACL_10002, "ip format only supports ip/iprange/cidr, but find %s", ips)); + } + ipRanges.asRanges().stream().forEach(r -> { + if (!frange.equals(r) && NetworkUtils.isIpv4RangeOverlap(startIp, endIp, NetworkUtils.longToIpv4String(r.lowerEndpoint()), NetworkUtils.longToIpv4String(r.upperEndpoint()))) { + throw new ApiMessageInterceptionException(argerr(ORG_ZSTACK_ACL_10003, "ip range[%s, %s] is overlap with [%s, %s] in access-control-list group:%s", + startIp, endIp, NetworkUtils.longToIpv4String(r.lowerEndpoint()), NetworkUtils.longToIpv4String(r.upperEndpoint()), acl.getUuid())); + } + }); + } + + } catch (IllegalArgumentException e) { + throw new ApiMessageInterceptionException(argerr(ORG_ZSTACK_ACL_10004, "Invalid rule expression, the detail: %s", e.getMessage())); + } + + } + + private void validate (APIAddAccessControlListEntryMsg msg) { + AccessControlListVO acl = dbf.findByUuid(msg.getAclUuid(), AccessControlListVO.class); + + boolean redirectRuleExisted = acl.getEntries().stream().anyMatch(entry -> entry.getType().equals(AclEntryType.RedirectRule.toString())); + + if (redirectRuleExisted) { + throw new ApiMessageInterceptionException(operr(ORG_ZSTACK_ACL_10005, "the access-control-list groups[%s] already own redirect rule, can not add IP Entry", acl.getUuid())); + } + + /*check if the entry is exist*/ + if (acl.getEntries()!= null && !acl.getEntries().isEmpty()) { + if (acl.getEntries().size() >= AccessControlListConstants.MAX_ENTRY_COUNT_PER_GROUP) { + throw new ApiMessageInterceptionException(argerr(ORG_ZSTACK_ACL_10006, "the access-control-list groups[%s] can't be added more than %d ip entries", acl.getUuid(), AccessControlListConstants.MAX_ENTRY_COUNT_PER_GROUP)); + } + + boolean redirectRuleExsit = acl.getEntries().stream().anyMatch(entry -> entry.getType().equals(AclEntryType.RedirectRule.toString())); + if (redirectRuleExsit) { + throw new ApiMessageInterceptionException(operr(ORG_ZSTACK_ACL_10007, "the access-control-list groups[%s] already own redirect rule, can not add ip entry", acl.getUuid())); + } + List ipentries = acl.getEntries().stream().map(entry -> entry.getIpEntries()).collect(Collectors.toList()); + ipentries.add(msg.getEntries()); + /*miaozhanyong to be done*/ + validateIp(StringUtils.join(ipentries.toArray(), ','), acl); + } else { + validateIp(msg.getEntries(), acl); + } + } + + private void validate (APIAddAccessControlListRedirectRuleMsg msg) { + AccessControlListVO acl = dbf.findByUuid(msg.getAclUuid(), AccessControlListVO.class); + boolean ipEntryExisted = acl.getEntries().stream().anyMatch(entry -> entry.getType().equals(AclEntryType.IpEntry.toString())); + boolean redirectRuleExisted = acl.getEntries().stream().anyMatch(entry -> entry.getType().equals(AclEntryType.RedirectRule.toString())); + if (ipEntryExisted) { + throw new ApiMessageInterceptionException(operr(ORG_ZSTACK_ACL_10008, "the access-control-list groups[%s] already own ip entry, can not add redirect rule", acl.getUuid())); + } + + if (redirectRuleExisted) { + throw new ApiMessageInterceptionException(operr(ORG_ZSTACK_ACL_10009, "the access-control-list groups[%s] already own one redirect rule, can not add redirect rule", acl.getUuid())); + } + + if (StringUtils.isBlank(msg.getDomain()) && (StringUtils.isBlank(msg.getUrl()) || msg.getUrl().length() == 1)) { + throw new ApiMessageInterceptionException(operr(ORG_ZSTACK_ACL_10010, "domain and url can not both empty")); + } + + if (StringUtils.isNotBlank(msg.getDomain())) { + if (!AccessControlListUtils.isValidateDomain(msg.getDomain())) { + throw new ApiMessageInterceptionException(argerr(ORG_ZSTACK_ACL_10011, "domain[%s] is not validate domain", msg.getDomain())); + } + + if (msg.getDomain().contains("*")) { + msg.setCriterion("WildcardMatch"); + } else { + msg.setCriterion("AccurateMatch"); + } + + if (StringUtils.isNotBlank(msg.getUrl()) && msg.getUrl().length() > 1) { + if (!AccessControlListUtils.isValidateUrl(msg.getUrl())) { + throw new ApiMessageInterceptionException(argerr(ORG_ZSTACK_ACL_10012, "url[%s] is not validate url", msg.getUrl())); + } + msg.setMatchMethod("DomainAndUrl"); + } else { + if (msg.getUrl().length() == 1 && !msg.getUrl().equals("/")) { + throw new ApiMessageInterceptionException(argerr(ORG_ZSTACK_ACL_10013, "url[%s] is not validate url", msg.getUrl())); + } + msg.setUrl("/"); + msg.setMatchMethod("Domain"); + } + } else { + if (!AccessControlListUtils.isValidateUrl(msg.getUrl())) { + throw new ApiMessageInterceptionException(argerr(ORG_ZSTACK_ACL_10014, "url[%s] is not validate url", msg.getDomain())); + } + msg.setMatchMethod("Url"); + } + } +} diff --git a/plugin/acl/src/main/java/org/zstack/acl/AccessControlListManagerImpl.java b/plugin/acl/src/main/java/org/zstack/acl/AccessControlListManagerImpl.java index af03a142fe4..5c8ffeaf0a4 100644 --- a/plugin/acl/src/main/java/org/zstack/acl/AccessControlListManagerImpl.java +++ b/plugin/acl/src/main/java/org/zstack/acl/AccessControlListManagerImpl.java @@ -1,501 +1,530 @@ -package org.zstack.acl; - -import org.apache.commons.lang.StringUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.zstack.core.Platform; -import org.zstack.core.cascade.CascadeConstant; -import org.zstack.core.cascade.CascadeFacade; -import org.zstack.core.cloudbus.CloudBus; -import org.zstack.core.cloudbus.MessageSafe; -import org.zstack.core.componentloader.PluginRegistry; -import org.zstack.core.db.DatabaseFacade; -import org.zstack.core.db.Q; -import org.zstack.core.db.SQLBatch; -import org.zstack.core.errorcode.ErrorFacade; -import org.zstack.core.thread.ChainTask; -import org.zstack.core.thread.SyncTaskChain; -import org.zstack.core.thread.ThreadFacade; -import org.zstack.core.workflow.FlowChainBuilder; -import org.zstack.header.AbstractService; -import org.zstack.header.Component; -import org.zstack.header.acl.*; -import org.zstack.header.core.Completion; -import org.zstack.header.core.workflow.*; -import org.zstack.header.errorcode.ErrorCode; -import org.zstack.header.message.APIDeleteMessage; -import org.zstack.header.message.APIMessage; -import org.zstack.header.message.Message; -import org.zstack.identity.AccountManager; -import org.zstack.tag.TagManager; -import org.zstack.utils.CollectionUtils; -import org.zstack.utils.Utils; -import org.zstack.utils.function.ForEachFunction; -import org.zstack.utils.logging.CLogger; - -import java.util.Arrays; -import java.util.List; -import java.util.Map; - -/** - * @author: zhanyong.miao - * @date: 2020-03-12 - **/ -public class AccessControlListManagerImpl extends AbstractService implements AccessControlListManager, Component { - private static final CLogger logger = Utils.getLogger(AccessControlListManagerImpl.class); - - @Autowired - private CloudBus bus; - @Autowired - private DatabaseFacade dbf; - @Autowired - private ThreadFacade thdf; - @Autowired - private AccountManager acntMgr; - @Autowired - private ErrorFacade errf; - @Autowired - private PluginRegistry pluginRgty; - @Autowired - private TagManager tagMgr; - @Autowired - protected CascadeFacade casf; - - @Override - @MessageSafe - public void handleMessage(Message msg) { - if (msg instanceof APIMessage) { - handleApiMessage((APIMessage) msg); - } else { - handleLocalMessage(msg); - } - } - - protected void handleApiMessage(APIMessage msg) { - if (msg instanceof APICreateAccessControlListMsg) { - handle((APICreateAccessControlListMsg) msg); - } else if (msg instanceof APIUpdateAccessControlListMsg) { - handle((APIUpdateAccessControlListMsg) msg); - } else if (msg instanceof APIDeleteAccessControlListMsg) { - handle((APIDeleteAccessControlListMsg) msg); - } else if (msg instanceof APIAddAccessControlListEntryMsg) { - handle((APIAddAccessControlListEntryMsg) msg); - } else if (msg instanceof APIChangeAccessControlListRedirectRuleMsg) { - handle((APIChangeAccessControlListRedirectRuleMsg)msg); - } else if (msg instanceof APIAddAccessControlListRedirectRuleMsg) { - handle((APIAddAccessControlListRedirectRuleMsg) msg); - } else if (msg instanceof APIRemoveAccessControlListEntryMsg) { - handle((APIRemoveAccessControlListEntryMsg) msg); - } else { - bus.dealWithUnknownMessage(msg); - } - } - - private void handle(APIChangeAccessControlListRedirectRuleMsg msg) { - APIChangeAccessControlListRedirectRuleEvent evt = new APIChangeAccessControlListRedirectRuleEvent(msg.getId()); - AccessControlListEntryVO entryVO = Q.New(AccessControlListEntryVO.class).eq(AccessControlListEntryVO_.uuid, msg.getUuid()).find(); - if (!StringUtils.equals(msg.getName(), entryVO.getName())) { - entryVO.setName(msg.getName()); - dbf.update(entryVO); - } - evt.setInventory(AccessControlListEntryInventory.valueOf(entryVO)); - bus.publish(evt); - } - - private void handle(APICreateAccessControlListMsg msg) { - APICreateAccessControlListEvent evt = new APICreateAccessControlListEvent(msg.getId()); - AccessControlListVO vo = new AccessControlListVO(); - vo.setUuid(msg.getResourceUuid() == null ? Platform.getUuid() : msg.getResourceUuid()); - vo.setIpVersion(msg.getIpVersion()); - vo.setName(msg.getName()); - vo.setDescription(msg.getDescription()); - vo.setAccountUuid(msg.getSession().getAccountUuid()); - new SQLBatch() { - @Override - protected void scripts() { - persist(vo); - reload(vo); - tagMgr.createTagsFromAPICreateMessage(msg, vo.getUuid(), AccessControlListVO.class.getSimpleName()); - } - }.execute(); - evt.setInventory(vo.toInventory()); - bus.publish(evt); - } - - private void handle(APIUpdateAccessControlListMsg msg) { - AccessControlListVO vo = dbf.findByUuid(msg.getUuid(), AccessControlListVO.class); - boolean update = false; - if (msg.getName() != null) { - vo.setName(msg.getName()); - update = true; - } - if (msg.getDescription() != null) { - vo.setDescription(msg.getDescription()); - update = true; - } - if (update) { - vo = dbf.updateAndRefresh(vo); - } - - APIUpdateAccessControlListEvent event = new APIUpdateAccessControlListEvent(msg.getId()); - event.setInventory(vo.toInventory()); - bus.publish(event); - } - - private void handle(APIDeleteAccessControlListMsg msg) { - APIDeleteAccessControlListEvent evt = new APIDeleteAccessControlListEvent(msg.getId()); - deleteAccessControlList(msg.getUuid(), msg.getDeletionMode(), new Completion(msg) { - @Override - public void success() { - bus.publish(evt); - } - - @Override - public void fail(ErrorCode errorCode) { - evt.setError(errorCode); - bus.publish(evt); - } - }); - } - - private void handle(APIAddAccessControlListEntryMsg msg) { - thdf.chainSubmit(new ChainTask(msg) { - @Override - public String getSyncSignature() { - return String.format("operate-acl-%s", msg.getAclUuid()); - } - - @Override - public void run(final SyncTaskChain chain) { - APIAddAccessControlListEntryEvent evt = new APIAddAccessControlListEntryEvent(msg.getId()); - AccessControlListVO aclVO = dbf.findByUuid(msg.getAclUuid(), AccessControlListVO.class); - AccessControlListEntryVO entry = new AccessControlListEntryVO(); - entry.setType(AclEntryType.IpEntry.toString()); - entry.setUuid(Platform.getUuid()); - entry.setAclUuid(msg.getAclUuid()); - entry.setIpEntries(msg.getEntries()); - entry.setDescription(msg.getDescription()); - - final AccessControlListEntryVO fentry = entry; - CollectionUtils.safeForEach(pluginRgty.getExtensionList(RefreshAccessControlListExtensionPoint.class), - new ForEachFunction() { - @Override - public void run(RefreshAccessControlListExtensionPoint ext) { - logger.debug(String.format("execute before add acl ip entry extension point %s", ext)); - ext.beforeAddIpEntry(aclVO.toInventory(), fentry.toInventory()); - } - }); - - entry = dbf.persistAndRefresh(entry); - /*apply acl*/ - CollectionUtils.safeForEach(pluginRgty.getExtensionList(RefreshAccessControlListExtensionPoint.class), - new ForEachFunction() { - @Override - public void run(RefreshAccessControlListExtensionPoint ext) { - logger.debug(String.format("execute after add acl ip entry extension point %s", ext)); - ext.afterAddIpEntry(aclVO.toInventory(), fentry.toInventory()); - } - }); - - evt.setInventory(entry.toInventory()); - bus.publish(evt); - chain.next(); - } - - @Override - public String getName() { - return "add-acl-ip-entry"; - } - }); - - } - - private void handle(APIAddAccessControlListRedirectRuleMsg msg) { - thdf.chainSubmit(new ChainTask(msg) { - @Override - public String getSyncSignature() { - return String.format("operate-acl-%s", msg.getAclUuid()); - } - - @Override - public void run(final SyncTaskChain chain) { - APIAddAccessControlListEntryEvent evt = new APIAddAccessControlListEntryEvent(msg.getId()); - AccessControlListVO aclVO = dbf.findByUuid(msg.getAclUuid(), AccessControlListVO.class); - AccessControlListEntryVO entry = new AccessControlListEntryVO(); - entry.setName(msg.getName()); - entry.setUuid(Platform.getUuid()); - entry.setAclUuid(msg.getAclUuid()); - entry.setType(AclEntryType.RedirectRule.toString()); - entry.setCriterion(msg.getCriterion()); - entry.setMatchMethod(msg.getMatchMethod()); - entry.setDomain(msg.getDomain()); - entry.setUrl(msg.getUrl()); - entry.setDescription(msg.getDescription()); - entry.setRedirectPort(msg.getRedirectPort()); - String redirectRule = ""; - if (entry.getMatchMethod().equals("Url")) { - redirectRule = "path_beg -i " + entry.getUrl(); - } else { - String domain = entry.getDomain(); - - domain = domain.replace(".", "\\."); - if (entry.getCriterion().equals("WildcardMatch")) { - domain = domain.replace("*", ".*"); - } - - if (entry.getMatchMethod().equals("Domain")) { - redirectRule = "hdr_reg(host) -i " + domain; - } else { - redirectRule = "base_reg -i " + domain + entry.getUrl(); - } - } - entry.setRedirectRule(redirectRule); - - final AccessControlListEntryVO fentry = entry; - CollectionUtils.safeForEach(pluginRgty.getExtensionList(RefreshAccessControlListExtensionPoint.class), - new ForEachFunction() { - @Override - public void run(RefreshAccessControlListExtensionPoint ext) { - logger.debug(String.format("execute before add acl ip entry extension point %s", ext)); - ext.beforeAddIpEntry(aclVO.toInventory(), fentry.toInventory()); - } - }); - - entry = dbf.persistAndRefresh(entry); - /*apply acl*/ - CollectionUtils.safeForEach(pluginRgty.getExtensionList(RefreshAccessControlListExtensionPoint.class), - new ForEachFunction() { - @Override - public void run(RefreshAccessControlListExtensionPoint ext) { - logger.debug(String.format("execute after add acl ip entry extension point %s", ext)); - ext.afterAddIpEntry(aclVO.toInventory(), fentry.toInventory()); - } - }); - - evt.setInventory(entry.toInventory()); - bus.publish(evt); - chain.next(); - } - - @Override - public String getName() { - return "add-acl-ip-entry"; - } - }); - } - - private void handle(APIRemoveAccessControlListEntryMsg msg) { - thdf.chainSubmit(new ChainTask(msg) { - @Override - public String getSyncSignature() { - return String.format("operate-acl-%s", msg.getAclUuid()); - } - - @Override - public void run(final SyncTaskChain chain) { - APIRemoveAccessControlListEntryEvent evt = new APIRemoveAccessControlListEntryEvent(msg.getId()); - AccessControlListVO aclVO = dbf.findByUuid(msg.getAclUuid(), AccessControlListVO.class); - AccessControlListEntryVO entry = dbf.findByUuid(msg.getUuid(), AccessControlListEntryVO.class); - - CollectionUtils.safeForEach(pluginRgty.getExtensionList(RefreshAccessControlListExtensionPoint.class), - new ForEachFunction() { - @Override - public void run(RefreshAccessControlListExtensionPoint ext) { - logger.debug(String.format("execute before del acl ip entry extension point %s", ext)); - ext.beforeDeleteIpEntry(aclVO.toInventory(), entry.toInventory()); - } - }); - - new SQLBatch() { - @Override - protected void scripts() { - remove(entry); - } - }.execute(); - /*apply acl*/ - CollectionUtils.safeForEach(pluginRgty.getExtensionList(RefreshAccessControlListExtensionPoint.class), - new ForEachFunction() { - @Override - public void run(RefreshAccessControlListExtensionPoint ext) { - logger.debug(String.format("execute after del acl ip entry extension point %s", ext)); - ext.afterDeleteIpEntry(aclVO.toInventory(), entry.toInventory()); - } - }); - - bus.publish(evt); - chain.next(); - } - - @Override - public String getName() { - return "remove-acl-ip-entry"; - } - }); - } - - protected void handleLocalMessage(Message msg) { - if (msg instanceof DeleteAccessControlListMsg) { - handle((DeleteAccessControlListMsg)msg); - } - bus.dealWithUnknownMessage(msg); - } - - private void handle(DeleteAccessControlListMsg msg) { - deleteAccessControlList(msg.getUuid(), msg.isForceDelete() ? APIDeleteMessage.DeletionMode.Enforcing : APIDeleteMessage.DeletionMode.Permissive, new Completion(msg) { - @Override - public void success() { - DeleteAccessControlListReply reply = new DeleteAccessControlListReply(); - bus.reply(msg, reply); - } - - @Override - public void fail(ErrorCode errorCode) { - DeleteAccessControlListReply reply = new DeleteAccessControlListReply(); - reply.setError(errorCode); - bus.reply(msg, reply); - } - }); - } - - private void deleteAccessControlList(String uuid, APIDeleteMessage.DeletionMode mode, Completion completion) { - if (uuid == null) { - completion.success(); - return; - } - thdf.chainSubmit(new ChainTask(completion) { - @Override - public String getSyncSignature() { - return String.format("operate-acl-%s", uuid); - } - - @Override - public void run(final SyncTaskChain chain) { - AccessControlListVO aclVO = Q.New(AccessControlListVO.class).eq(AccessControlListVO_.uuid, uuid).find(); - if (aclVO == null) { - completion.success(); - chain.next(); - return; - } - - final String issuer = AccessControlListVO.class.getSimpleName(); - final List ctx = Arrays.asList(AccessControlListInventory.valueOf(aclVO)); - FlowChain fchain = FlowChainBuilder.newSimpleFlowChain(); - fchain.setName(String.format("delete-acl-%s", uuid)); - - if (mode == APIDeleteMessage.DeletionMode.Permissive) { - fchain.then(new NoRollbackFlow() { - @Override - public void run(final FlowTrigger trigger, Map data) { - casf.asyncCascade(CascadeConstant.DELETION_CHECK_CODE, issuer, ctx, new Completion(trigger) { - @Override - public void success() { - trigger.next(); - } - - @Override - public void fail(ErrorCode errorCode) { - trigger.fail(errorCode); - } - }); - } - }).then(new NoRollbackFlow() { - @Override - public void run(final FlowTrigger trigger, Map data) { - casf.asyncCascade(CascadeConstant.DELETION_DELETE_CODE, issuer, ctx, new Completion(trigger) { - @Override - public void success() { - trigger.next(); - } - - @Override - public void fail(ErrorCode errorCode) { - trigger.fail(errorCode); - } - }); - } - }); - } else { - fchain.then(new NoRollbackFlow() { - @Override - public void run(final FlowTrigger trigger, Map data) { - casf.asyncCascade(CascadeConstant.DELETION_FORCE_DELETE_CODE, issuer, ctx, new Completion(trigger) { - @Override - public void success() { - trigger.next(); - } - - @Override - public void fail(ErrorCode errorCode) { - trigger.fail(errorCode); - } - }); - } - }); - } - fchain.done(new FlowDoneHandler(completion) { - @Override - public void handle(Map data) { - // Call extensions before deleting entries - List entries = Q.New(AccessControlListEntryVO.class) - .eq(AccessControlListEntryVO_.aclUuid, aclVO.getUuid()).list(); - - entries.forEach(entry -> { - CollectionUtils.safeForEach(pluginRgty.getExtensionList(RefreshAccessControlListExtensionPoint.class), - ext -> { - logger.debug(String.format("execute before del acl ip entry extension point %s", ext)); - ext.beforeDeleteIpEntry(aclVO.toInventory(), entry.toInventory()); - }); - }); - - new SQLBatch() { - @Override - protected void scripts() { - List entrys = Q.New(AccessControlListEntryVO.class) - .eq(AccessControlListEntryVO_.aclUuid, aclVO.getUuid()).list(); - if (!entrys.isEmpty()) { - entrys.forEach( entry-> remove(entry)); - } - // Call extensions after deleting entries - entries.forEach(entry -> { - CollectionUtils.safeForEach(pluginRgty.getExtensionList(RefreshAccessControlListExtensionPoint.class), - ext -> { - logger.debug(String.format("execute after del acl ip entry extension point %s", ext)); - ext.afterDeleteIpEntry(aclVO.toInventory(), entry.toInventory()); - }); - }); - remove(aclVO); - } - }.execute(); - completion.success(); - chain.next(); - } - }).error(new FlowErrorHandler(completion) { - @Override - public void handle(ErrorCode errCode, Map data) { - completion.fail(errCode); - chain.next(); - } - }).start(); - } - - @Override - public String getName() { - return "del-acl"; - } - }); - } - - @Override - public String getId() { - return bus.makeLocalServiceId(AccessControlListConstants.SERVICE_ID); - } - - @Override - public boolean start() { - return true; - } - - @Override - public boolean stop() { - return true; - } -} +package org.zstack.acl; + +import org.apache.commons.lang.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.zstack.core.Platform; +import org.zstack.core.cascade.CascadeConstant; +import org.zstack.core.cascade.CascadeFacade; +import org.zstack.core.cloudbus.CloudBus; +import org.zstack.core.cloudbus.MessageSafe; +import org.zstack.core.componentloader.PluginRegistry; +import org.zstack.core.db.DatabaseFacade; +import org.zstack.core.db.Q; +import org.zstack.core.db.SQLBatch; +import org.zstack.core.errorcode.ErrorFacade; +import org.zstack.core.thread.ChainTask; +import org.zstack.core.thread.SyncTaskChain; +import org.zstack.core.thread.ThreadFacade; +import org.zstack.core.workflow.FlowChainBuilder; +import org.zstack.header.AbstractService; +import org.zstack.header.Component; +import org.zstack.header.acl.APIAddAccessControlListEntryEvent; +import org.zstack.header.acl.APIAddAccessControlListEntryMsg; +import org.zstack.header.acl.APIAddAccessControlListRedirectRuleMsg; +import org.zstack.header.acl.APIChangeAccessControlListRedirectRuleEvent; +import org.zstack.header.acl.APIChangeAccessControlListRedirectRuleMsg; +import org.zstack.header.acl.APICreateAccessControlListEvent; +import org.zstack.header.acl.APICreateAccessControlListMsg; +import org.zstack.header.acl.APIDeleteAccessControlListEvent; +import org.zstack.header.acl.APIDeleteAccessControlListMsg; +import org.zstack.header.acl.APIRemoveAccessControlListEntryEvent; +import org.zstack.header.acl.APIRemoveAccessControlListEntryMsg; +import org.zstack.header.acl.APIUpdateAccessControlListEvent; +import org.zstack.header.acl.APIUpdateAccessControlListMsg; +import org.zstack.header.acl.AccessControlListConstants; +import org.zstack.header.acl.AccessControlListEntryInventory; +import org.zstack.header.acl.AccessControlListEntryVO; +import org.zstack.header.acl.AccessControlListEntryVO_; +import org.zstack.header.acl.AccessControlListInventory; +import org.zstack.header.acl.AccessControlListVO; +import org.zstack.header.acl.AccessControlListVO_; +import org.zstack.header.acl.AclEntryType; +import org.zstack.header.acl.DeleteAccessControlListMsg; +import org.zstack.header.acl.DeleteAccessControlListReply; +import org.zstack.header.core.Completion; +import org.zstack.header.core.workflow.FlowChain; +import org.zstack.header.core.workflow.FlowDoneHandler; +import org.zstack.header.core.workflow.FlowErrorHandler; +import org.zstack.header.core.workflow.FlowTrigger; +import org.zstack.header.core.workflow.NoRollbackFlow; +import org.zstack.header.errorcode.ErrorCode; +import org.zstack.header.message.APIDeleteMessage; +import org.zstack.header.message.APIMessage; +import org.zstack.header.message.Message; +import org.zstack.identity.AccountManager; +import org.zstack.tag.TagManager; +import org.zstack.utils.CollectionUtils; +import org.zstack.utils.Utils; +import org.zstack.utils.function.ForEachFunction; +import org.zstack.utils.logging.CLogger; + +import java.util.Arrays; +import java.util.List; +import java.util.Map; + +/** + * @author: zhanyong.miao + * @date: 2020-03-12 + **/ +public class AccessControlListManagerImpl extends AbstractService implements AccessControlListManager, Component { + private static final CLogger logger = Utils.getLogger(AccessControlListManagerImpl.class); + + @Autowired + private CloudBus bus; + @Autowired + private DatabaseFacade dbf; + @Autowired + private ThreadFacade thdf; + @Autowired + private AccountManager acntMgr; + @Autowired + private ErrorFacade errf; + @Autowired + private PluginRegistry pluginRgty; + @Autowired + private TagManager tagMgr; + @Autowired + protected CascadeFacade casf; + + @Override + @MessageSafe + public void handleMessage(Message msg) { + if (msg instanceof APIMessage) { + handleApiMessage((APIMessage) msg); + } else { + handleLocalMessage(msg); + } + } + + protected void handleApiMessage(APIMessage msg) { + if (msg instanceof APICreateAccessControlListMsg) { + handle((APICreateAccessControlListMsg) msg); + } else if (msg instanceof APIUpdateAccessControlListMsg) { + handle((APIUpdateAccessControlListMsg) msg); + } else if (msg instanceof APIDeleteAccessControlListMsg) { + handle((APIDeleteAccessControlListMsg) msg); + } else if (msg instanceof APIAddAccessControlListEntryMsg) { + handle((APIAddAccessControlListEntryMsg) msg); + } else if (msg instanceof APIChangeAccessControlListRedirectRuleMsg) { + handle((APIChangeAccessControlListRedirectRuleMsg)msg); + } else if (msg instanceof APIAddAccessControlListRedirectRuleMsg) { + handle((APIAddAccessControlListRedirectRuleMsg) msg); + } else if (msg instanceof APIRemoveAccessControlListEntryMsg) { + handle((APIRemoveAccessControlListEntryMsg) msg); + } else { + bus.dealWithUnknownMessage(msg); + } + } + + private void handle(APIChangeAccessControlListRedirectRuleMsg msg) { + APIChangeAccessControlListRedirectRuleEvent evt = new APIChangeAccessControlListRedirectRuleEvent(msg.getId()); + AccessControlListEntryVO entryVO = Q.New(AccessControlListEntryVO.class).eq(AccessControlListEntryVO_.uuid, msg.getUuid()).find(); + if (!StringUtils.equals(msg.getName(), entryVO.getName())) { + entryVO.setName(msg.getName()); + dbf.update(entryVO); + } + evt.setInventory(AccessControlListEntryInventory.valueOf(entryVO)); + bus.publish(evt); + } + + private void handle(APICreateAccessControlListMsg msg) { + APICreateAccessControlListEvent evt = new APICreateAccessControlListEvent(msg.getId()); + AccessControlListVO vo = new AccessControlListVO(); + vo.setUuid(msg.getResourceUuid() == null ? Platform.getUuid() : msg.getResourceUuid()); + vo.setIpVersion(msg.getIpVersion()); + vo.setName(msg.getName()); + vo.setDescription(msg.getDescription()); + vo.setAccountUuid(msg.getSession().getAccountUuid()); + new SQLBatch() { + @Override + protected void scripts() { + persist(vo); + reload(vo); + tagMgr.createTagsFromAPICreateMessage(msg, vo.getUuid(), AccessControlListVO.class.getSimpleName()); + } + }.execute(); + evt.setInventory(vo.toInventory()); + bus.publish(evt); + } + + private void handle(APIUpdateAccessControlListMsg msg) { + AccessControlListVO vo = dbf.findByUuid(msg.getUuid(), AccessControlListVO.class); + boolean update = false; + if (msg.getName() != null) { + vo.setName(msg.getName()); + update = true; + } + if (msg.getDescription() != null) { + vo.setDescription(msg.getDescription()); + update = true; + } + if (update) { + vo = dbf.updateAndRefresh(vo); + } + + APIUpdateAccessControlListEvent event = new APIUpdateAccessControlListEvent(msg.getId()); + event.setInventory(vo.toInventory()); + bus.publish(event); + } + + private void handle(APIDeleteAccessControlListMsg msg) { + APIDeleteAccessControlListEvent evt = new APIDeleteAccessControlListEvent(msg.getId()); + deleteAccessControlList(msg.getUuid(), msg.getDeletionMode(), new Completion(msg) { + @Override + public void success() { + bus.publish(evt); + } + + @Override + public void fail(ErrorCode errorCode) { + evt.setError(errorCode); + bus.publish(evt); + } + }); + } + + private void handle(APIAddAccessControlListEntryMsg msg) { + thdf.chainSubmit(new ChainTask(msg) { + @Override + public String getSyncSignature() { + return String.format("operate-acl-%s", msg.getAclUuid()); + } + + @Override + public void run(final SyncTaskChain chain) { + APIAddAccessControlListEntryEvent evt = new APIAddAccessControlListEntryEvent(msg.getId()); + AccessControlListVO aclVO = dbf.findByUuid(msg.getAclUuid(), AccessControlListVO.class); + AccessControlListEntryVO entry = new AccessControlListEntryVO(); + entry.setType(AclEntryType.IpEntry.toString()); + entry.setUuid(Platform.getUuid()); + entry.setAclUuid(msg.getAclUuid()); + entry.setIpEntries(msg.getEntries()); + entry.setDescription(msg.getDescription()); + + final AccessControlListEntryVO fentry = entry; + CollectionUtils.safeForEach(pluginRgty.getExtensionList(RefreshAccessControlListExtensionPoint.class), + new ForEachFunction() { + @Override + public void run(RefreshAccessControlListExtensionPoint ext) { + logger.debug(String.format("execute before add acl ip entry extension point %s", ext)); + ext.beforeAddIpEntry(aclVO.toInventory(), fentry.toInventory()); + } + }); + + entry = dbf.persistAndRefresh(entry); + /*apply acl*/ + CollectionUtils.safeForEach(pluginRgty.getExtensionList(RefreshAccessControlListExtensionPoint.class), + new ForEachFunction() { + @Override + public void run(RefreshAccessControlListExtensionPoint ext) { + logger.debug(String.format("execute after add acl ip entry extension point %s", ext)); + ext.afterAddIpEntry(aclVO.toInventory(), fentry.toInventory()); + } + }); + + evt.setInventory(entry.toInventory()); + bus.publish(evt); + chain.next(); + } + + @Override + public String getName() { + return "add-acl-ip-entry"; + } + }); + + } + + private void handle(APIAddAccessControlListRedirectRuleMsg msg) { + thdf.chainSubmit(new ChainTask(msg) { + @Override + public String getSyncSignature() { + return String.format("operate-acl-%s", msg.getAclUuid()); + } + + @Override + public void run(final SyncTaskChain chain) { + APIAddAccessControlListEntryEvent evt = new APIAddAccessControlListEntryEvent(msg.getId()); + AccessControlListVO aclVO = dbf.findByUuid(msg.getAclUuid(), AccessControlListVO.class); + AccessControlListEntryVO entry = new AccessControlListEntryVO(); + entry.setName(msg.getName()); + entry.setUuid(Platform.getUuid()); + entry.setAclUuid(msg.getAclUuid()); + entry.setType(AclEntryType.RedirectRule.toString()); + entry.setCriterion(msg.getCriterion()); + entry.setMatchMethod(msg.getMatchMethod()); + entry.setDomain(msg.getDomain()); + entry.setUrl(msg.getUrl()); + entry.setDescription(msg.getDescription()); + entry.setRedirectPort(msg.getRedirectPort()); + String redirectRule = ""; + if (entry.getMatchMethod().equals("Url")) { + redirectRule = "path_beg -i " + entry.getUrl(); + } else { + String domain = entry.getDomain(); + + domain = domain.replace(".", "\\."); + if (entry.getCriterion().equals("WildcardMatch")) { + domain = domain.replace("*", ".*"); + } + + if (entry.getMatchMethod().equals("Domain")) { + redirectRule = "hdr_reg(host) -i " + domain; + } else { + redirectRule = "base_reg -i " + domain + entry.getUrl(); + } + } + entry.setRedirectRule(redirectRule); + + final AccessControlListEntryVO fentry = entry; + CollectionUtils.safeForEach(pluginRgty.getExtensionList(RefreshAccessControlListExtensionPoint.class), + new ForEachFunction() { + @Override + public void run(RefreshAccessControlListExtensionPoint ext) { + logger.debug(String.format("execute before add acl ip entry extension point %s", ext)); + ext.beforeAddIpEntry(aclVO.toInventory(), fentry.toInventory()); + } + }); + + entry = dbf.persistAndRefresh(entry); + /*apply acl*/ + CollectionUtils.safeForEach(pluginRgty.getExtensionList(RefreshAccessControlListExtensionPoint.class), + new ForEachFunction() { + @Override + public void run(RefreshAccessControlListExtensionPoint ext) { + logger.debug(String.format("execute after add acl ip entry extension point %s", ext)); + ext.afterAddIpEntry(aclVO.toInventory(), fentry.toInventory()); + } + }); + + evt.setInventory(entry.toInventory()); + bus.publish(evt); + chain.next(); + } + + @Override + public String getName() { + return "add-acl-ip-entry"; + } + }); + } + + private void handle(APIRemoveAccessControlListEntryMsg msg) { + thdf.chainSubmit(new ChainTask(msg) { + @Override + public String getSyncSignature() { + return String.format("operate-acl-%s", msg.getAclUuid()); + } + + @Override + public void run(final SyncTaskChain chain) { + APIRemoveAccessControlListEntryEvent evt = new APIRemoveAccessControlListEntryEvent(msg.getId()); + AccessControlListVO aclVO = dbf.findByUuid(msg.getAclUuid(), AccessControlListVO.class); + AccessControlListEntryVO entry = dbf.findByUuid(msg.getUuid(), AccessControlListEntryVO.class); + + CollectionUtils.safeForEach(pluginRgty.getExtensionList(RefreshAccessControlListExtensionPoint.class), + new ForEachFunction() { + @Override + public void run(RefreshAccessControlListExtensionPoint ext) { + logger.debug(String.format("execute before del acl ip entry extension point %s", ext)); + ext.beforeDeleteIpEntry(aclVO.toInventory(), entry.toInventory()); + } + }); + + new SQLBatch() { + @Override + protected void scripts() { + remove(entry); + } + }.execute(); + /*apply acl*/ + CollectionUtils.safeForEach(pluginRgty.getExtensionList(RefreshAccessControlListExtensionPoint.class), + new ForEachFunction() { + @Override + public void run(RefreshAccessControlListExtensionPoint ext) { + logger.debug(String.format("execute after del acl ip entry extension point %s", ext)); + ext.afterDeleteIpEntry(aclVO.toInventory(), entry.toInventory()); + } + }); + + bus.publish(evt); + chain.next(); + } + + @Override + public String getName() { + return "remove-acl-ip-entry"; + } + }); + } + + protected void handleLocalMessage(Message msg) { + if (msg instanceof DeleteAccessControlListMsg) { + handle((DeleteAccessControlListMsg)msg); + } + bus.dealWithUnknownMessage(msg); + } + + private void handle(DeleteAccessControlListMsg msg) { + deleteAccessControlList(msg.getUuid(), msg.isForceDelete() ? APIDeleteMessage.DeletionMode.Enforcing : APIDeleteMessage.DeletionMode.Permissive, new Completion(msg) { + @Override + public void success() { + DeleteAccessControlListReply reply = new DeleteAccessControlListReply(); + bus.reply(msg, reply); + } + + @Override + public void fail(ErrorCode errorCode) { + DeleteAccessControlListReply reply = new DeleteAccessControlListReply(); + reply.setError(errorCode); + bus.reply(msg, reply); + } + }); + } + + private void deleteAccessControlList(String uuid, APIDeleteMessage.DeletionMode mode, Completion completion) { + if (uuid == null) { + completion.success(); + return; + } + thdf.chainSubmit(new ChainTask(completion) { + @Override + public String getSyncSignature() { + return String.format("operate-acl-%s", uuid); + } + + @Override + public void run(final SyncTaskChain chain) { + AccessControlListVO aclVO = Q.New(AccessControlListVO.class).eq(AccessControlListVO_.uuid, uuid).find(); + if (aclVO == null) { + completion.success(); + chain.next(); + return; + } + + final String issuer = AccessControlListVO.class.getSimpleName(); + final List ctx = Arrays.asList(AccessControlListInventory.valueOf(aclVO)); + FlowChain fchain = FlowChainBuilder.newSimpleFlowChain(); + fchain.setName(String.format("delete-acl-%s", uuid)); + + if (mode == APIDeleteMessage.DeletionMode.Permissive) { + // DEBT: NoRollbackFlow — in getSyncSignature + fchain.then(new NoRollbackFlow() { + @Override + public void run(final FlowTrigger trigger, Map data) { + casf.asyncCascade(CascadeConstant.DELETION_CHECK_CODE, issuer, ctx, new Completion(trigger) { + @Override + public void success() { + trigger.next(); + } + + @Override + public void fail(ErrorCode errorCode) { + trigger.fail(errorCode); + } + }); + } + // DEBT: NoRollbackFlow — in getSyncSignature + }).then(new NoRollbackFlow() { + @Override + public void run(final FlowTrigger trigger, Map data) { + casf.asyncCascade(CascadeConstant.DELETION_DELETE_CODE, issuer, ctx, new Completion(trigger) { + @Override + public void success() { + trigger.next(); + } + + @Override + public void fail(ErrorCode errorCode) { + trigger.fail(errorCode); + } + }); + } + }); + } else { + // DEBT: NoRollbackFlow — reason TBD + fchain.then(new NoRollbackFlow() { + @Override + public void run(final FlowTrigger trigger, Map data) { + casf.asyncCascade(CascadeConstant.DELETION_FORCE_DELETE_CODE, issuer, ctx, new Completion(trigger) { + @Override + public void success() { + trigger.next(); + } + + @Override + public void fail(ErrorCode errorCode) { + trigger.fail(errorCode); + } + }); + } + }); + } + fchain.done(new FlowDoneHandler(completion) { + @Override + public void handle(Map data) { + // Call extensions before deleting entries + List entries = Q.New(AccessControlListEntryVO.class) + .eq(AccessControlListEntryVO_.aclUuid, aclVO.getUuid()).list(); + + entries.forEach(entry -> { + CollectionUtils.safeForEach(pluginRgty.getExtensionList(RefreshAccessControlListExtensionPoint.class), + ext -> { + logger.debug(String.format("execute before del acl ip entry extension point %s", ext)); + ext.beforeDeleteIpEntry(aclVO.toInventory(), entry.toInventory()); + }); + }); + + new SQLBatch() { + @Override + protected void scripts() { + List entrys = Q.New(AccessControlListEntryVO.class) + .eq(AccessControlListEntryVO_.aclUuid, aclVO.getUuid()).list(); + if (!entrys.isEmpty()) { + entrys.forEach( entry-> remove(entry)); + } + // Call extensions after deleting entries + entries.forEach(entry -> { + CollectionUtils.safeForEach(pluginRgty.getExtensionList(RefreshAccessControlListExtensionPoint.class), + ext -> { + logger.debug(String.format("execute after del acl ip entry extension point %s", ext)); + ext.afterDeleteIpEntry(aclVO.toInventory(), entry.toInventory()); + }); + }); + remove(aclVO); + } + }.execute(); + completion.success(); + chain.next(); + } + }).error(new FlowErrorHandler(completion) { + @Override + public void handle(ErrorCode errCode, Map data) { + completion.fail(errCode); + chain.next(); + } + }).start(); + } + + @Override + public String getName() { + return "del-acl"; + } + }); + } + + @Override + public String getId() { + return bus.makeLocalServiceId(AccessControlListConstants.SERVICE_ID); + } + + @Override + public boolean start() { + return true; + } + + @Override + public boolean stop() { + return true; + } +} diff --git a/plugin/acl/src/main/java/org/zstack/header/acl/AccessControlListVO.java b/plugin/acl/src/main/java/org/zstack/header/acl/AccessControlListVO.java index 90fbfa7d881..ed81c7beb34 100644 --- a/plugin/acl/src/main/java/org/zstack/header/acl/AccessControlListVO.java +++ b/plugin/acl/src/main/java/org/zstack/header/acl/AccessControlListVO.java @@ -1,111 +1,114 @@ -package org.zstack.header.acl; - -import org.zstack.header.identity.OwnedByAccount; -import org.zstack.header.vo.*; -import org.zstack.header.vo.EntityGraph; - -import javax.persistence.*; -import java.sql.Timestamp; -import java.util.HashSet; -import java.util.Set; - -/** - * @author: zhanyong.miao - * @date: 2020-03-05 - **/ -@Entity -@Table -@BaseResource -@EntityGraph( - friends = { - @EntityGraph.Neighbour(type = AccessControlListEntryVO.class, myField = "aclUuid", targetField = "uuid"), - } -) -public class AccessControlListVO extends ResourceVO implements OwnedByAccount, ToInventory { - @Column - private String name; - - @Column - private String description; - - @Column - private Integer ipVersion; - - @OneToMany(fetch=FetchType.EAGER) - @JoinColumn(name="aclUuid", insertable=false, updatable=false) - @NoView - private Set entries = new HashSet(); - - @Column - private Timestamp createDate; - - @Column - private Timestamp lastOpDate; - - @Transient - private String accountUuid; - - @Override - public String getAccountUuid() { - return accountUuid; - } - - @Override - public void setAccountUuid(String accountUuid) { - this.accountUuid = accountUuid; - } - - - @PreUpdate - private void preUpdate() { - lastOpDate = null; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getDescription() { - return description; - } - - public void setDescription(String description) { - this.description = description; - } - - public Integer getIpVersion() { - return ipVersion; - } - - public void setIpVersion(Integer ipVersion) { - this.ipVersion = ipVersion; - } - - public Set getEntries() { - return entries; - } - - public void setEntries(Set entries) { - this.entries = entries; - } - - public Timestamp getCreateDate() { - return createDate; - } - - public void setCreateDate(Timestamp createDate) { - this.createDate = createDate; - } - - public Timestamp getLastOpDate() { - return lastOpDate; - } - - public void setLastOpDate(Timestamp lastOpDate) { - this.lastOpDate = lastOpDate; - } -} +package org.zstack.header.acl; + +import org.zstack.header.identity.OwnedByAccount; +import org.zstack.header.vo.BaseResource; +import org.zstack.header.vo.NoView; +import org.zstack.header.vo.ResourceVO; +import org.zstack.header.vo.ToInventory; +import org.zstack.header.vo.EntityGraph; + +import javax.persistence.*; +import java.sql.Timestamp; +import java.util.HashSet; +import java.util.Set; + +/** + * @author: zhanyong.miao + * @date: 2020-03-05 + **/ +@Entity +@Table +@BaseResource +@EntityGraph( + friends = { + @EntityGraph.Neighbour(type = AccessControlListEntryVO.class, myField = "aclUuid", targetField = "uuid"), + } +) +public class AccessControlListVO extends ResourceVO implements OwnedByAccount, ToInventory { + @Column + private String name; + + @Column + private String description; + + @Column + private Integer ipVersion; + + @OneToMany(fetch=FetchType.EAGER) + @JoinColumn(name="aclUuid", insertable=false, updatable=false) + @NoView + private Set entries = new HashSet(); + + @Column + private Timestamp createDate; + + @Column + private Timestamp lastOpDate; + + @Transient + private String accountUuid; + + @Override + public String getAccountUuid() { + return accountUuid; + } + + @Override + public void setAccountUuid(String accountUuid) { + this.accountUuid = accountUuid; + } + + + @PreUpdate + private void preUpdate() { + lastOpDate = null; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public Integer getIpVersion() { + return ipVersion; + } + + public void setIpVersion(Integer ipVersion) { + this.ipVersion = ipVersion; + } + + public Set getEntries() { + return entries; + } + + public void setEntries(Set entries) { + this.entries = entries; + } + + public Timestamp getCreateDate() { + return createDate; + } + + public void setCreateDate(Timestamp createDate) { + this.createDate = createDate; + } + + public Timestamp getLastOpDate() { + return lastOpDate; + } + + public void setLastOpDate(Timestamp lastOpDate) { + this.lastOpDate = lastOpDate; + } +} diff --git a/plugin/applianceVm/src/main/java/org/zstack/appliancevm/ApplianceVmAllocateNicFlow.java b/plugin/applianceVm/src/main/java/org/zstack/appliancevm/ApplianceVmAllocateNicFlow.java index 5f2b1e29088..6f003a8b8dd 100755 --- a/plugin/applianceVm/src/main/java/org/zstack/appliancevm/ApplianceVmAllocateNicFlow.java +++ b/plugin/applianceVm/src/main/java/org/zstack/appliancevm/ApplianceVmAllocateNicFlow.java @@ -26,16 +26,34 @@ import org.zstack.header.message.MessageReply; import org.zstack.header.network.l2.L2NetworkVO; import org.zstack.header.network.l2.VSwitchType; -import org.zstack.header.network.l3.*; +import org.zstack.header.network.l3.AllocateIpMsg; +import org.zstack.header.network.l3.AllocateIpReply; +import org.zstack.header.network.l3.L3NetworkConstant; +import org.zstack.header.network.l3.L3NetworkInventory; +import org.zstack.header.network.l3.L3NetworkVO; +import org.zstack.header.network.l3.ReturnIpMsg; +import org.zstack.header.network.l3.UsedIpInventory; +import org.zstack.header.network.l3.UsedIpVO; import org.zstack.header.tag.SystemTagVO; import org.zstack.header.tag.SystemTagVO_; -import org.zstack.header.vm.*; +import org.zstack.header.vm.VmInstanceConstant; +import org.zstack.header.vm.VmInstanceNicFactory; +import org.zstack.header.vm.VmInstanceSpec; +import org.zstack.header.vm.VmNicInventory; +import org.zstack.header.vm.VmNicState; +import org.zstack.header.vm.VmNicType; +import org.zstack.header.vm.VmNicVO; +import org.zstack.header.vm.VmNicVO_; import org.zstack.network.l3.L3NetworkManager; import org.zstack.network.service.NetworkServiceGlobalConfig; import org.zstack.utils.network.IPv6Constants; import org.zstack.utils.network.NetworkUtils; -import java.util.*; +import java.util.ArrayList; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; import java.util.stream.Collectors; /** diff --git a/plugin/applianceVm/src/main/java/org/zstack/appliancevm/ApplianceVmBase.java b/plugin/applianceVm/src/main/java/org/zstack/appliancevm/ApplianceVmBase.java index b506da2aceb..15c124631cc 100755 --- a/plugin/applianceVm/src/main/java/org/zstack/appliancevm/ApplianceVmBase.java +++ b/plugin/applianceVm/src/main/java/org/zstack/appliancevm/ApplianceVmBase.java @@ -19,7 +19,13 @@ import org.zstack.header.configuration.DiskOfferingVO_; import org.zstack.header.core.Completion; import org.zstack.header.core.NoErrorCompletion; -import org.zstack.header.core.workflow.*; +import org.zstack.header.core.workflow.Flow; +import org.zstack.header.core.workflow.FlowChain; +import org.zstack.header.core.workflow.FlowDoneHandler; +import org.zstack.header.core.workflow.FlowErrorHandler; +import org.zstack.header.core.workflow.FlowRollback; +import org.zstack.header.core.workflow.FlowTrigger; +import org.zstack.header.core.workflow.NoRollbackFlow; import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.errorcode.SysErrors; import org.zstack.header.host.HypervisorType; @@ -31,7 +37,18 @@ import org.zstack.header.network.l3.L3NetworkVO_; import org.zstack.header.rest.JsonAsyncRESTCallback; import org.zstack.header.rest.RESTFacade; -import org.zstack.header.vm.*; +import org.zstack.header.vm.InstantiateNewCreatedVmInstanceMsg; +import org.zstack.header.vm.InstantiateNewCreatedVmInstanceReply; +import org.zstack.header.vm.VmBootDevice; +import org.zstack.header.vm.VmInstanceConstant; +import org.zstack.header.vm.VmInstanceInventory; +import org.zstack.header.vm.VmInstanceSpec; +import org.zstack.header.vm.VmInstanceState; +import org.zstack.header.vm.VmInstanceStateEvent; +import org.zstack.header.vm.VmInstanceVO; +import org.zstack.header.vm.VmNicInventory; +import org.zstack.header.vm.VmNicSpec; +import org.zstack.header.vm.VmNicVO; import org.zstack.header.vm.VmInstanceConstant.VmOperation; import org.zstack.header.vm.VmInstanceDeletionPolicyManager.VmInstanceDeletionPolicy; import org.zstack.header.volume.VolumeFormat; @@ -40,7 +57,11 @@ import org.zstack.utils.RangeSet.Range; import org.zstack.utils.function.Function; -import java.util.*; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; import static org.zstack.core.Platform.operr; import static org.zstack.utils.CollectionDSL.list; @@ -580,6 +601,7 @@ public void rollback(FlowRollback trigger, Map data) { } } + // DEBT: NoRollbackFlow — in rollback chain.then(new NoRollbackFlow() { String __name__ = "change-appliancevm-status-to-connected"; @@ -645,6 +667,7 @@ public void rollback(FlowRollback trigger, Map data) { } } + // DEBT: NoRollbackFlow — in rollback chain.then(new NoRollbackFlow() { String __name__ = "change-appliancevm-status-to-connected"; @@ -715,6 +738,7 @@ public void rollback(FlowRollback trigger, Map data) { } } + // DEBT: NoRollbackFlow — in rollback chain.then(new NoRollbackFlow() { String __name__ = "change-appliancevm-status-to-connected"; @@ -773,6 +797,7 @@ public void rollback(FlowRollback trigger, Map data) { } } + // DEBT: NoRollbackFlow — in rollback chain.then(new NoRollbackFlow() { String __name__ = "change-appliancevm-status-to-connected"; @@ -826,6 +851,7 @@ protected void provisionApplianceVmAfterCreate(VmInstanceSpec spec, ApplianceVmS } } + // DEBT: NoRollbackFlow — in provisionApplianceVmAfterCreate chain.then(new NoRollbackFlow() { String __name__ = "change-appliancevm-status-to-connected"; @@ -950,6 +976,7 @@ public DiskOfferingVO call(DiskOfferingVO arg) { } } + // DEBT: NoRollbackFlow — reason TBD chain.then(new NoRollbackFlow() { String __name__ = "change-appliancevm-status-to-connected"; @@ -1044,6 +1071,7 @@ protected void changeApplianceVmStatus(ApplianceVmStatus newStatus) { } private Flow setApplianceStateRunningFlow() { + // DEBT: NoRollbackFlow — in setApplianceStateRunningFlow return new NoRollbackFlow() { String __name__ = "set applianceVm state running"; diff --git a/plugin/applianceVm/src/main/java/org/zstack/appliancevm/ApplianceVmCascadeExtension.java b/plugin/applianceVm/src/main/java/org/zstack/appliancevm/ApplianceVmCascadeExtension.java index d2134ad3f8c..a701ed0dfe5 100755 --- a/plugin/applianceVm/src/main/java/org/zstack/appliancevm/ApplianceVmCascadeExtension.java +++ b/plugin/applianceVm/src/main/java/org/zstack/appliancevm/ApplianceVmCascadeExtension.java @@ -17,11 +17,18 @@ import org.zstack.core.thread.ChainTask; import org.zstack.core.thread.SyncTaskChain; import org.zstack.core.thread.ThreadFacade; -import org.zstack.core.workflow.*; +import org.zstack.core.workflow.FlowChainBuilder; +import org.zstack.core.workflow.ShareFlow; import org.zstack.header.cluster.ClusterInventory; import org.zstack.header.cluster.ClusterVO; -import org.zstack.header.core.*; -import org.zstack.header.core.workflow.*; +import org.zstack.header.core.Completion; +import org.zstack.header.core.WhileDoneCompletion; +import org.zstack.header.core.workflow.Flow; +import org.zstack.header.core.workflow.FlowChain; +import org.zstack.header.core.workflow.FlowDoneHandler; +import org.zstack.header.core.workflow.FlowErrorHandler; +import org.zstack.header.core.workflow.FlowTrigger; +import org.zstack.header.core.workflow.NoRollbackFlow; import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.errorcode.ErrorCodeList; import org.zstack.header.errorcode.OperationFailureException; @@ -34,12 +41,31 @@ import org.zstack.header.network.l2.L2NetworkConstant; import org.zstack.header.network.l2.L2NetworkDetachStruct; import org.zstack.header.network.l2.L2NetworkVO; -import org.zstack.header.network.l3.*; +import org.zstack.header.network.l3.IpRangeInventory; +import org.zstack.header.network.l3.IpRangeVO; +import org.zstack.header.network.l3.L3NetworkConstant; +import org.zstack.header.network.l3.L3NetworkInventory; +import org.zstack.header.network.l3.L3NetworkVO; +import org.zstack.header.network.l3.L3NetworkVO_; +import org.zstack.header.network.l3.NormalIpRangeVO; +import org.zstack.header.network.l3.NormalIpRangeVO_; +import org.zstack.header.network.l3.ReturnIpMsg; +import org.zstack.header.network.l3.UsedIpInventory; +import org.zstack.header.network.l3.UsedIpVO; import org.zstack.header.storage.primary.PrimaryStorageConstant; import org.zstack.header.storage.primary.PrimaryStorageDetachStruct; import org.zstack.header.storage.primary.PrimaryStorageInventory; import org.zstack.header.storage.primary.PrimaryStorageVO; -import org.zstack.header.vm.*; +import org.zstack.header.vm.DetachNicFromVmMsg; +import org.zstack.header.vm.GetVmMigrationTargetHostMsg; +import org.zstack.header.vm.GetVmMigrationTargetHostReply; +import org.zstack.header.vm.MigrateVmMsg; +import org.zstack.header.vm.VmInstanceConstant; +import org.zstack.header.vm.VmInstanceDeletionMsg; +import org.zstack.header.vm.VmInstanceState; +import org.zstack.header.vm.VmInstanceVO; +import org.zstack.header.vm.VmNicInventory; +import org.zstack.header.vm.VmNicVO; import org.zstack.header.volume.VolumeType; import org.zstack.header.zone.ZoneInventory; import org.zstack.header.zone.ZoneVO; @@ -54,7 +80,15 @@ import org.zstack.utils.network.IPv6Constants; import javax.persistence.TypedQuery; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.HashMap; +import java.util.HashSet; +import java.util.LinkedList; +import java.util.List; +import java.util.Map; +import java.util.Set; import java.util.concurrent.Callable; import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; @@ -191,6 +225,7 @@ public MigrateVmMsg call(VmInstanceVO arg) { } }); + // DEBT: NoRollbackFlow — in migrateOrStopVmOnClusterDetach flow(new NoRollbackFlow() { String __name__ = "migrate-appliance-vm"; @@ -213,6 +248,7 @@ public void run(List replies) { } }); + // DEBT: NoRollbackFlow — in migrateOrStopVmOnClusterDetach flow(new NoRollbackFlow() { String __name__ = "delete-appliance-vm"; @@ -394,6 +430,7 @@ public String getName() { } protected Flow returnUsedIpFlow() { + // DEBT: NoRollbackFlow — in returnUsedIpFlow return new NoRollbackFlow() { String __name__ = "delete-ip"; @@ -441,6 +478,7 @@ public void done(ErrorCodeList errorCodeList) { } protected Flow deleteVmNicFlow() { + // DEBT: NoRollbackFlow — in deleteVmNicFlow return new NoRollbackFlow() { String __name__ = "delete-vmnic"; @@ -544,6 +582,7 @@ public String call(ClusterInventory arg) { final List finalAvoidHostUuids = avoidHostUuids; if (!apvmToMigrate.isEmpty()) { + // DEBT: NoRollbackFlow — reason TBD flow(new NoRollbackFlow() { String __name__ = "try-migrate-appliancevm"; @@ -581,6 +620,7 @@ public void run(List replies) { } }); + // DEBT: NoRollbackFlow — reason TBD flow(new NoRollbackFlow() { String __name__ = "migrate-appliancevm"; @@ -631,6 +671,7 @@ public void setup() { flow(returnUsedIpFlow()); flow(deleteVmNicFlow()); + // DEBT: NoRollbackFlow — reason TBD flow(new NoRollbackFlow() { String __name__ = "delete-appliancevm"; diff --git a/plugin/applianceVm/src/main/java/org/zstack/appliancevm/ApplianceVmDeployAgentFlow.java b/plugin/applianceVm/src/main/java/org/zstack/appliancevm/ApplianceVmDeployAgentFlow.java index 63ba7bdf8f4..0ccfb68826a 100755 --- a/plugin/applianceVm/src/main/java/org/zstack/appliancevm/ApplianceVmDeployAgentFlow.java +++ b/plugin/applianceVm/src/main/java/org/zstack/appliancevm/ApplianceVmDeployAgentFlow.java @@ -20,7 +20,11 @@ import org.zstack.core.workflow.ShareFlow; import org.zstack.header.core.Completion; import org.zstack.header.core.ReturnValueCompletion; -import org.zstack.header.core.workflow.*; +import org.zstack.header.core.workflow.FlowChain; +import org.zstack.header.core.workflow.FlowDoneHandler; +import org.zstack.header.core.workflow.FlowErrorHandler; +import org.zstack.header.core.workflow.FlowTrigger; +import org.zstack.header.core.workflow.NoRollbackFlow; import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.message.MessageReply; import org.zstack.header.rest.RESTFacade; @@ -60,6 +64,7 @@ private void continueConnect(final String echoUrl, final String apvmUuid, final chain.then(new ShareFlow() { @Override public void setup() { + // DEBT: NoRollbackFlow — in continueConnect flow(new NoRollbackFlow() { String __name__ = "echo"; @@ -79,6 +84,7 @@ public void fail(ErrorCode errorCode) { } }); + // DEBT: NoRollbackFlow — in continueConnect flow(new NoRollbackFlow() { String __name__ = "init"; diff --git a/plugin/applianceVm/src/main/java/org/zstack/appliancevm/ApplianceVmFacadeImpl.java b/plugin/applianceVm/src/main/java/org/zstack/appliancevm/ApplianceVmFacadeImpl.java index 0faf04c9f65..d2f8fbda2cf 100755 --- a/plugin/applianceVm/src/main/java/org/zstack/appliancevm/ApplianceVmFacadeImpl.java +++ b/plugin/applianceVm/src/main/java/org/zstack/appliancevm/ApplianceVmFacadeImpl.java @@ -8,7 +8,10 @@ import org.zstack.core.CoreGlobalProperty; import org.zstack.core.Platform; import org.zstack.core.ansible.AnsibleFacade; -import org.zstack.core.cloudbus.*; +import org.zstack.core.cloudbus.CloudBus; +import org.zstack.core.cloudbus.CloudBusCallBack; +import org.zstack.core.cloudbus.EventFacade; +import org.zstack.core.cloudbus.MessageSafe; import org.zstack.core.componentloader.PluginExtension; import org.zstack.core.componentloader.PluginRegistry; import org.zstack.core.config.GlobalConfigFacade; @@ -30,12 +33,22 @@ import org.zstack.header.message.APIMessage; import org.zstack.header.message.Message; import org.zstack.header.message.MessageReply; -import org.zstack.header.network.l2.*; +import org.zstack.header.network.l2.L2NetworkGetVniExtensionPoint; +import org.zstack.header.network.l2.L2NetworkVO; +import org.zstack.header.network.l2.L2NetworkVO_; import org.zstack.header.network.l3.L3NetworkVO; import org.zstack.header.network.l3.L3NetworkVO_; import org.zstack.header.rest.RESTFacade; import org.zstack.header.rest.SyncHttpCallHandler; -import org.zstack.header.vm.*; +import org.zstack.header.vm.DestroyVmInstanceMsg; +import org.zstack.header.vm.RebootVmInstanceMsg; +import org.zstack.header.vm.StartVmInstanceMsg; +import org.zstack.header.vm.StopVmInstanceMsg; +import org.zstack.header.vm.VmInstanceConstant; +import org.zstack.header.vm.VmInstanceInventory; +import org.zstack.header.vm.VmInstanceSpec; +import org.zstack.header.vm.VmNicInventory; +import org.zstack.header.vm.VmNicVO; import org.zstack.network.l2.L2NetworkManager; import org.zstack.network.service.MtuGetter; import org.zstack.header.vm.hooks.VmInstanceAfterCreateHook; @@ -48,7 +61,11 @@ import org.zstack.utils.logging.CLogger; import javax.persistence.Query; -import java.util.*; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; import java.util.stream.Collectors; /** diff --git a/plugin/applianceVm/src/main/java/org/zstack/appliancevm/ApplianceVmFactory.java b/plugin/applianceVm/src/main/java/org/zstack/appliancevm/ApplianceVmFactory.java index 86e605fb28f..0f6804939f3 100755 --- a/plugin/applianceVm/src/main/java/org/zstack/appliancevm/ApplianceVmFactory.java +++ b/plugin/applianceVm/src/main/java/org/zstack/appliancevm/ApplianceVmFactory.java @@ -6,7 +6,11 @@ import org.zstack.core.db.DatabaseFacade; import org.zstack.header.Component; import org.zstack.header.exception.CloudRuntimeException; -import org.zstack.header.vm.*; +import org.zstack.header.vm.CreateVmInstanceMsg; +import org.zstack.header.vm.VmInstance; +import org.zstack.header.vm.VmInstanceFactory; +import org.zstack.header.vm.VmInstanceType; +import org.zstack.header.vm.VmInstanceVO; import org.zstack.utils.DebugUtils; import java.util.HashMap; diff --git a/plugin/applianceVm/src/main/java/org/zstack/appliancevm/ApplianceVmManagementIpChecker.java b/plugin/applianceVm/src/main/java/org/zstack/appliancevm/ApplianceVmManagementIpChecker.java index aaf9e7cb21f..beb3bf1e47b 100755 --- a/plugin/applianceVm/src/main/java/org/zstack/appliancevm/ApplianceVmManagementIpChecker.java +++ b/plugin/applianceVm/src/main/java/org/zstack/appliancevm/ApplianceVmManagementIpChecker.java @@ -9,7 +9,11 @@ import org.zstack.header.vm.VmBeforeStartOnHypervisorExtensionPoint; import org.zstack.header.vm.VmInstanceSpec; import org.zstack.header.vm.VmNicInventory; -import org.zstack.utils.*; +import org.zstack.utils.CollectionUtils; +import org.zstack.utils.DebugUtils; +import org.zstack.utils.ShellResult; +import org.zstack.utils.ShellUtils; +import org.zstack.utils.Utils; import org.zstack.utils.function.Function; import org.zstack.utils.logging.CLogger; import org.zstack.utils.network.NetworkUtils; diff --git a/plugin/applianceVm/src/main/java/org/zstack/appliancevm/ApplianceVmNicTO.java b/plugin/applianceVm/src/main/java/org/zstack/appliancevm/ApplianceVmNicTO.java index c9905a78667..23561956633 100755 --- a/plugin/applianceVm/src/main/java/org/zstack/appliancevm/ApplianceVmNicTO.java +++ b/plugin/applianceVm/src/main/java/org/zstack/appliancevm/ApplianceVmNicTO.java @@ -1,7 +1,9 @@ package org.zstack.appliancevm; import org.zstack.core.db.Q; -import org.zstack.header.network.l3.*; +import org.zstack.header.network.l3.NormalIpRangeVO; +import org.zstack.header.network.l3.NormalIpRangeVO_; +import org.zstack.header.network.l3.UsedIpInventory; import org.zstack.header.vm.VmNicInventory; import org.zstack.utils.network.IPv6Constants; diff --git a/plugin/applianceVm/src/main/java/org/zstack/appliancevm/ApplianceVmPriorityUpgradeConfigExtensionPoint.java b/plugin/applianceVm/src/main/java/org/zstack/appliancevm/ApplianceVmPriorityUpgradeConfigExtensionPoint.java index 354a68e340c..f70f9f946df 100644 --- a/plugin/applianceVm/src/main/java/org/zstack/appliancevm/ApplianceVmPriorityUpgradeConfigExtensionPoint.java +++ b/plugin/applianceVm/src/main/java/org/zstack/appliancevm/ApplianceVmPriorityUpgradeConfigExtensionPoint.java @@ -4,7 +4,11 @@ import org.zstack.compute.vm.VmGlobalProperty; import org.zstack.compute.vm.VmPriorityOperator; import org.zstack.core.asyncbatch.While; -import org.zstack.core.cloudbus.*; +import org.zstack.core.cloudbus.CloudBus; +import org.zstack.core.cloudbus.CloudBusCallBack; +import org.zstack.core.cloudbus.EventCallback; +import org.zstack.core.cloudbus.EventFacade; +import org.zstack.core.cloudbus.ResourceDestinationMaker; import org.zstack.core.db.Q; import org.zstack.header.Component; import org.zstack.header.core.NopeWhileDoneCompletion; @@ -17,7 +21,16 @@ import org.zstack.header.message.MessageReply; import org.zstack.header.tag.SystemTagVO; import org.zstack.header.tag.SystemTagVO_; -import org.zstack.header.vm.*; +import org.zstack.header.vm.PriorityConfigStruct; +import org.zstack.header.vm.UpdatePriorityConfigExtensionPoint; +import org.zstack.header.vm.UpdateVmPriorityMsg; +import org.zstack.header.vm.VmInstanceSpec; +import org.zstack.header.vm.VmInstanceState; +import org.zstack.header.vm.VmInstanceVO; +import org.zstack.header.vm.VmInstanceVO_; +import org.zstack.header.vm.VmPriorityConfigVO; +import org.zstack.header.vm.VmPriorityConfigVO_; +import org.zstack.header.vm.VmPriorityLevel; import org.zstack.kvm.KVMAgentCommands; import org.zstack.kvm.KVMHostInventory; import org.zstack.kvm.KVMStartVmExtensionPoint; diff --git a/plugin/applianceVm/src/main/java/org/zstack/appliancevm/ApplianceVmSetFirewallFlow.java b/plugin/applianceVm/src/main/java/org/zstack/appliancevm/ApplianceVmSetFirewallFlow.java index d1f3e9851be..172178565bb 100755 --- a/plugin/applianceVm/src/main/java/org/zstack/appliancevm/ApplianceVmSetFirewallFlow.java +++ b/plugin/applianceVm/src/main/java/org/zstack/appliancevm/ApplianceVmSetFirewallFlow.java @@ -13,7 +13,11 @@ import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; -import java.util.*; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; import java.util.Map.Entry; /** diff --git a/plugin/applianceVm/src/main/java/org/zstack/appliancevm/ApplianceVmType.java b/plugin/applianceVm/src/main/java/org/zstack/appliancevm/ApplianceVmType.java index 8bdadfae1f9..bef86263275 100755 --- a/plugin/applianceVm/src/main/java/org/zstack/appliancevm/ApplianceVmType.java +++ b/plugin/applianceVm/src/main/java/org/zstack/appliancevm/ApplianceVmType.java @@ -1,7 +1,11 @@ package org.zstack.appliancevm; import java.io.Serializable; -import java.util.*; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; import java.util.stream.Collectors; /** diff --git a/plugin/applianceVm/src/main/java/org/zstack/appliancevm/CreateApplianceVmJob.java b/plugin/applianceVm/src/main/java/org/zstack/appliancevm/CreateApplianceVmJob.java index f25d80f4818..af5191d0173 100755 --- a/plugin/applianceVm/src/main/java/org/zstack/appliancevm/CreateApplianceVmJob.java +++ b/plugin/applianceVm/src/main/java/org/zstack/appliancevm/CreateApplianceVmJob.java @@ -19,7 +19,12 @@ import org.zstack.core.workflow.SimpleFlowChain; import org.zstack.header.configuration.InstanceOfferingVO; import org.zstack.header.core.ReturnValueCompletion; -import org.zstack.header.core.workflow.*; +import org.zstack.header.core.workflow.Flow; +import org.zstack.header.core.workflow.FlowChain; +import org.zstack.header.core.workflow.FlowDoneHandler; +import org.zstack.header.core.workflow.FlowErrorHandler; +import org.zstack.header.core.workflow.FlowRollback; +import org.zstack.header.core.workflow.FlowTrigger; import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.image.ImageVO; import org.zstack.header.image.ImageVO_; @@ -28,7 +33,11 @@ import org.zstack.header.network.l3.L3NetworkInventory; import org.zstack.header.network.l3.L3NetworkVO; import org.zstack.header.network.l3.L3NetworkVO_; -import org.zstack.header.vm.*; +import org.zstack.header.vm.VmInstanceConstant; +import org.zstack.header.vm.VmInstanceSequenceNumberVO; +import org.zstack.header.vm.VmInstanceState; +import org.zstack.header.vm.VmInstanceVO; +import org.zstack.header.vm.VmNicSpec; import org.zstack.kvm.KVMConstant; import org.zstack.kvm.KVMGlobalConfig; import org.zstack.resourceconfig.ResourceConfig; diff --git a/plugin/cbd/src/main/java/org/zstack/cbd/kvm/KvmCbdNodeServer.java b/plugin/cbd/src/main/java/org/zstack/cbd/kvm/KvmCbdNodeServer.java index 78439bb113e..ed69eea7000 100644 --- a/plugin/cbd/src/main/java/org/zstack/cbd/kvm/KvmCbdNodeServer.java +++ b/plugin/cbd/src/main/java/org/zstack/cbd/kvm/KvmCbdNodeServer.java @@ -13,18 +13,36 @@ import org.zstack.header.Component; import org.zstack.header.core.Completion; import org.zstack.header.core.ReturnValueCompletion; -import org.zstack.header.core.workflow.*; +import org.zstack.header.core.workflow.FlowChain; +import org.zstack.header.core.workflow.FlowDoneHandler; +import org.zstack.header.core.workflow.FlowErrorHandler; +import org.zstack.header.core.workflow.FlowTrigger; +import org.zstack.header.core.workflow.NoRollbackFlow; import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.host.HostConstant; import org.zstack.header.host.HostInventory; import org.zstack.header.host.HostVO; import org.zstack.header.message.MessageReply; -import org.zstack.header.storage.addon.primary.*; +import org.zstack.header.storage.addon.primary.BaseVolumeInfo; +import org.zstack.header.storage.addon.primary.ExternalPrimaryStorageHostRefVO; +import org.zstack.header.storage.addon.primary.ExternalPrimaryStorageHostRefVO_; +import org.zstack.header.storage.addon.primary.HeartbeatVolumeTopology; +import org.zstack.header.storage.addon.primary.PrimaryStorageNodeSvc; import org.zstack.header.vm.VmInstanceInventory; import org.zstack.header.vm.VmInstanceSpec; import org.zstack.header.volume.VolumeInventory; import org.zstack.header.volume.VolumeProtocol; -import org.zstack.kvm.*; +import org.zstack.kvm.KVMAgentCommands; +import org.zstack.kvm.KVMAttachVolumeExtensionPoint; +import org.zstack.kvm.KVMConvertVolumeExtensionPoint; +import org.zstack.kvm.KVMDetachVolumeExtensionPoint; +import org.zstack.kvm.KVMHostAsyncHttpCallMsg; +import org.zstack.kvm.KVMHostAsyncHttpCallReply; +import org.zstack.kvm.KVMHostInventory; +import org.zstack.kvm.KVMPreAttachIsoExtensionPoint; +import org.zstack.kvm.KVMStartVmExtensionPoint; +import org.zstack.kvm.KvmSetupSelfFencerExtensionPoint; +import org.zstack.kvm.VolumeTO; import org.zstack.storage.addon.primary.ExternalHostIdGetter; import org.zstack.storage.addon.primary.ExternalPrimaryStorageFactory; import org.zstack.utils.DebugUtils; @@ -86,6 +104,7 @@ public void kvmSetupSelfFencer(KvmSetupSelfFencerParam param, Completion complet @Override public void setup() { + // DEBT: NoRollbackFlow — in kvmSetupSelfFencer flow(new NoRollbackFlow() { final String __name__ = "deploy-client"; @@ -105,6 +124,7 @@ public void fail(ErrorCode errorCode) { } }); + // DEBT: NoRollbackFlow — in kvmSetupSelfFencer flow(new NoRollbackFlow() { final String __name__ = "activate-cbd-heartbeat-volume"; @@ -125,6 +145,7 @@ public void fail(ErrorCode errorCode) { } }); + // DEBT: NoRollbackFlow — in kvmSetupSelfFencer flow(new NoRollbackFlow() { final String __name__ = "setup-cbd-self-fencer-on-kvm"; diff --git a/plugin/ceph/src/main/java/org/zstack/storage/ceph/CephApiInterceptor.java b/plugin/ceph/src/main/java/org/zstack/storage/ceph/CephApiInterceptor.java index 7d334680e97..8252d73f2db 100755 --- a/plugin/ceph/src/main/java/org/zstack/storage/ceph/CephApiInterceptor.java +++ b/plugin/ceph/src/main/java/org/zstack/storage/ceph/CephApiInterceptor.java @@ -14,8 +14,21 @@ import org.zstack.header.storage.primary.APIAttachPrimaryStorageToClusterMsg; import org.zstack.header.storage.primary.PrimaryStorageClusterRefVO; import org.zstack.header.storage.primary.PrimaryStorageClusterRefVO_; -import org.zstack.storage.ceph.backup.*; -import org.zstack.storage.ceph.primary.*; +import org.zstack.storage.ceph.backup.APIAddCephBackupStorageMsg; +import org.zstack.storage.ceph.backup.APIAddMonToCephBackupStorageMsg; +import org.zstack.storage.ceph.backup.APIUpdateCephBackupStorageMonMsg; +import org.zstack.storage.ceph.backup.CephBackupStorageMonVO; +import org.zstack.storage.ceph.backup.CephBackupStorageMonVO_; +import org.zstack.storage.ceph.primary.APIAddCephPrimaryStorageMsg; +import org.zstack.storage.ceph.primary.APIAddCephPrimaryStoragePoolMsg; +import org.zstack.storage.ceph.primary.APIAddMonToCephPrimaryStorageMsg; +import org.zstack.storage.ceph.primary.APIDeleteCephPrimaryStoragePoolMsg; +import org.zstack.storage.ceph.primary.APIUpdateCephPrimaryStorageMonMsg; +import org.zstack.storage.ceph.primary.APIUpdateCephPrimaryStoragePoolMsg; +import org.zstack.storage.ceph.primary.CephPrimaryStorageMonVO; +import org.zstack.storage.ceph.primary.CephPrimaryStorageMonVO_; +import org.zstack.storage.ceph.primary.CephPrimaryStoragePoolVO; +import org.zstack.storage.ceph.primary.CephPrimaryStoragePoolVO_; import org.zstack.utils.CharacterUtils; import org.zstack.utils.CollectionDSL; import org.zstack.utils.CollectionUtils; diff --git a/plugin/ceph/src/main/java/org/zstack/storage/ceph/CephVmImageChangeExtension.java b/plugin/ceph/src/main/java/org/zstack/storage/ceph/CephVmImageChangeExtension.java index 056173b1541..c9a772036e5 100644 --- a/plugin/ceph/src/main/java/org/zstack/storage/ceph/CephVmImageChangeExtension.java +++ b/plugin/ceph/src/main/java/org/zstack/storage/ceph/CephVmImageChangeExtension.java @@ -6,7 +6,10 @@ import org.zstack.header.vm.VmInstanceConstant; import org.zstack.header.vm.VmInstanceSpec; import org.zstack.header.vm.VmInstantiateResourceException; -import org.zstack.header.volume.*; +import org.zstack.header.volume.VolumeStatus; +import org.zstack.header.volume.VolumeType; +import org.zstack.header.volume.VolumeVO; +import org.zstack.header.volume.VolumeVO_; import org.zstack.tag.SystemTagCreator; import java.util.List; diff --git a/plugin/ceph/src/main/java/org/zstack/storage/ceph/backup/CephBackupStorageBase.java b/plugin/ceph/src/main/java/org/zstack/storage/ceph/backup/CephBackupStorageBase.java index e4de089aaa0..b43ccb4e2ad 100755 --- a/plugin/ceph/src/main/java/org/zstack/storage/ceph/backup/CephBackupStorageBase.java +++ b/plugin/ceph/src/main/java/org/zstack/storage/ceph/backup/CephBackupStorageBase.java @@ -23,23 +23,82 @@ import org.zstack.core.workflow.ShareFlow; import org.zstack.header.Constants; import org.zstack.header.HasThreadContext; -import org.zstack.header.core.*; +import org.zstack.header.core.AsyncLatch; +import org.zstack.header.core.Completion; +import org.zstack.header.core.NoErrorCompletion; +import org.zstack.header.core.ReturnValueCompletion; +import org.zstack.header.core.WhileDoneCompletion; import org.zstack.header.core.progress.TaskProgressRange; -import org.zstack.header.core.workflow.*; +import org.zstack.header.core.workflow.Flow; +import org.zstack.header.core.workflow.FlowChain; +import org.zstack.header.core.workflow.FlowDoneHandler; +import org.zstack.header.core.workflow.FlowErrorHandler; +import org.zstack.header.core.workflow.FlowRollback; +import org.zstack.header.core.workflow.FlowTrigger; +import org.zstack.header.core.workflow.NoRollbackFlow; import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.errorcode.ErrorCodeList; import org.zstack.header.errorcode.OperationFailureException; import org.zstack.header.errorcode.SysErrors; import org.zstack.header.exception.CloudRuntimeException; -import org.zstack.header.image.*; +import org.zstack.header.image.CancelDownloadImageMsg; +import org.zstack.header.image.CancelDownloadImageReply; +import org.zstack.header.image.ImageBackupStorageRefInventory; +import org.zstack.header.image.ImageBackupStorageRefVO; +import org.zstack.header.image.ImageBackupStorageRefVO_; +import org.zstack.header.image.ImageInventory; +import org.zstack.header.image.ImageVO; +import org.zstack.header.image.ImageVO_; import org.zstack.header.log.NoLogging; import org.zstack.header.message.APIMessage; import org.zstack.header.message.Message; import org.zstack.header.message.MessageReply; import org.zstack.header.rest.RESTFacade; -import org.zstack.header.storage.backup.*; +import org.zstack.header.storage.backup.APIDeleteExportedImageFromBackupStorageEvent; +import org.zstack.header.storage.backup.APIDeleteExportedImageFromBackupStorageMsg; +import org.zstack.header.storage.backup.APIExportImageFromBackupStorageEvent; +import org.zstack.header.storage.backup.APIExportImageFromBackupStorageMsg; +import org.zstack.header.storage.backup.BackupStorageAskInstallPathMsg; +import org.zstack.header.storage.backup.BackupStorageAskInstallPathReply; +import org.zstack.header.storage.backup.BackupStorageConstant; +import org.zstack.header.storage.backup.BackupStorageVO; +import org.zstack.header.storage.backup.BakeImageMetadataMsg; +import org.zstack.header.storage.backup.BakeImageMetadataReply; +import org.zstack.header.storage.backup.CalculateImageHashOnBackupStorageMsg; +import org.zstack.header.storage.backup.CalculateImageHashOnBackupStorageReply; +import org.zstack.header.storage.backup.DeleteBitsOnBackupStorageMsg; +import org.zstack.header.storage.backup.DeleteBitsOnBackupStorageReply; +import org.zstack.header.storage.backup.DownloadImageMsg; +import org.zstack.header.storage.backup.DownloadImageReply; +import org.zstack.header.storage.backup.DownloadVolumeMsg; +import org.zstack.header.storage.backup.DownloadVolumeReply; +import org.zstack.header.storage.backup.ExportImageFromBackupStorageMsg; +import org.zstack.header.storage.backup.ExportImageFromBackupStorageReply; +import org.zstack.header.storage.backup.GetImageDownloadProgressMsg; +import org.zstack.header.storage.backup.GetImageDownloadProgressReply; +import org.zstack.header.storage.backup.GetImageEncryptedOnBackupStorageMsg; +import org.zstack.header.storage.backup.GetImageEncryptedOnBackupStorageReply; +import org.zstack.header.storage.backup.GetImageSizeOnBackupStorageMsg; +import org.zstack.header.storage.backup.GetImageSizeOnBackupStorageReply; +import org.zstack.header.storage.backup.GetLocalFileSizeOnBackupStorageMsg; +import org.zstack.header.storage.backup.GetLocalFileSizeOnBackupStorageReply; +import org.zstack.header.storage.backup.RestoreImagesBackupStorageMetadataToDatabaseMsg; +import org.zstack.header.storage.backup.RestoreImagesBackupStorageMetadataToDatabaseReply; +import org.zstack.header.storage.backup.SyncImageSizeOnBackupStorageMsg; +import org.zstack.header.storage.backup.SyncImageSizeOnBackupStorageReply; import org.zstack.storage.backup.BackupStorageBase; -import org.zstack.storage.ceph.*; +import org.zstack.storage.ceph.CephAgentUrl; +import org.zstack.storage.ceph.CephCapacity; +import org.zstack.storage.ceph.CephCapacityUpdater; +import org.zstack.storage.ceph.CephCapacityVO; +import org.zstack.storage.ceph.CephCapacityVO_; +import org.zstack.storage.ceph.CephConstants; +import org.zstack.storage.ceph.CephGlobalConfig; +import org.zstack.storage.ceph.CephMonBase; +import org.zstack.storage.ceph.CephPoolCapacity; +import org.zstack.storage.ceph.CephSystemTags; +import org.zstack.storage.ceph.MonStatus; +import org.zstack.storage.ceph.MonUri; import org.zstack.storage.ceph.CephMonBase.PingResult; import org.zstack.storage.ceph.primary.CephPrimaryStorageVO; import org.zstack.storage.ceph.primary.CephPrimaryStorageVO_; @@ -54,7 +113,14 @@ import javax.persistence.TypedQuery; import java.io.Serializable; import java.net.URISyntaxException; -import java.util.*; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Set; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicBoolean; @@ -1309,6 +1375,7 @@ public void fail(ErrorCode errorCode) { chain.then(new ShareFlow() { @Override public void setup() { + // DEBT: NoRollbackFlow — reason TBD flow(new NoRollbackFlow() { String __name__ = "connect-monitor"; @@ -1318,6 +1385,7 @@ public void run(FlowTrigger trigger, Map data) { } }); + // DEBT: NoRollbackFlow — reason TBD flow(new NoRollbackFlow() { String __name__ = "check-mon-integrity"; @@ -1397,6 +1465,7 @@ public void done(ErrorCodeList errorCodeList) { } }); + // DEBT: NoRollbackFlow — reason TBD flow(new NoRollbackFlow() { String _name_ = "check-pool"; @@ -1428,6 +1497,7 @@ public void success(CheckRsp ret) { } }); + // DEBT: NoRollbackFlow — reason TBD flow(new NoRollbackFlow() { String __name__ = "init"; @@ -1464,6 +1534,7 @@ public void success(InitRsp ret) { } }); + // DEBT: NoRollbackFlow — reason TBD flow(new NoRollbackFlow() { String __name__ = "generate-ceph-images-metadata-file"; @Override @@ -1881,6 +1952,7 @@ public void rollback(FlowRollback trigger, Map data) { } }); + // DEBT: NoRollbackFlow — in rollback flow(new NoRollbackFlow() { String __name__ = "connect-mons"; @@ -1922,6 +1994,7 @@ public void fail(ErrorCode errorCode) { } }); + // DEBT: NoRollbackFlow — in rollback flow(new NoRollbackFlow() { String __name__ = "check-mon-integrity"; diff --git a/plugin/ceph/src/main/java/org/zstack/storage/ceph/backup/CephBackupStorageFactory.java b/plugin/ceph/src/main/java/org/zstack/storage/ceph/backup/CephBackupStorageFactory.java index 4e30d6bf998..f39434337f4 100755 --- a/plugin/ceph/src/main/java/org/zstack/storage/ceph/backup/CephBackupStorageFactory.java +++ b/plugin/ceph/src/main/java/org/zstack/storage/ceph/backup/CephBackupStorageFactory.java @@ -8,8 +8,21 @@ import org.zstack.core.ansible.AnsibleFacade; import org.zstack.core.db.DatabaseFacade; import org.zstack.header.Component; -import org.zstack.header.storage.backup.*; -import org.zstack.storage.ceph.*; +import org.zstack.header.storage.backup.APIAddBackupStorageMsg; +import org.zstack.header.storage.backup.BackupStorage; +import org.zstack.header.storage.backup.BackupStorageFactory; +import org.zstack.header.storage.backup.BackupStorageFindRelatedPrimaryStorage; +import org.zstack.header.storage.backup.BackupStorageInventory; +import org.zstack.header.storage.backup.BackupStorageType; +import org.zstack.header.storage.backup.BackupStorageVO; +import org.zstack.storage.ceph.CephCapacity; +import org.zstack.storage.ceph.CephCapacityUpdateExtensionPoint; +import org.zstack.storage.ceph.CephConstants; +import org.zstack.storage.ceph.CephGlobalProperty; +import org.zstack.storage.ceph.CephPoolCapacity; +import org.zstack.storage.ceph.CephSystemTags; +import org.zstack.storage.ceph.MonStatus; +import org.zstack.storage.ceph.MonUri; import org.zstack.tag.SystemTagCreator; import javax.persistence.LockModeType; diff --git a/plugin/ceph/src/main/java/org/zstack/storage/ceph/backup/CephBackupStorageMetaDataMaker.java b/plugin/ceph/src/main/java/org/zstack/storage/ceph/backup/CephBackupStorageMetaDataMaker.java index 2b346280ce9..4747375e2b0 100755 --- a/plugin/ceph/src/main/java/org/zstack/storage/ceph/backup/CephBackupStorageMetaDataMaker.java +++ b/plugin/ceph/src/main/java/org/zstack/storage/ceph/backup/CephBackupStorageMetaDataMaker.java @@ -11,7 +11,20 @@ import org.zstack.core.errorcode.ErrorFacade; import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.identity.AccountConstant; -import org.zstack.header.image.*; +import org.zstack.header.image.AddImageExtensionPoint; +import org.zstack.header.image.CreateTemplateExtensionPoint; +import org.zstack.header.image.ExpungeImageExtensionPoint; +import org.zstack.header.image.ImageBackupStorageRefInventory; +import org.zstack.header.image.ImageBackupStorageRefVO; +import org.zstack.header.image.ImageBackupStorageRefVO_; +import org.zstack.header.image.ImageConstant; +import org.zstack.header.image.ImageEO; +import org.zstack.header.image.ImageHelper; +import org.zstack.header.image.ImageInventory; +import org.zstack.header.image.ImagePlatform; +import org.zstack.header.image.ImageState; +import org.zstack.header.image.ImageStatus; +import org.zstack.header.image.ImageVO; import org.zstack.header.message.MessageReply; import org.zstack.header.rest.JsonAsyncRESTCallback; import org.zstack.header.rest.RESTFacade; @@ -32,7 +45,11 @@ import org.zstack.utils.logging.CLogger; import javax.persistence.TypedQuery; -import java.util.*; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; import java.util.stream.Collectors; /** diff --git a/plugin/ceph/src/main/java/org/zstack/storage/ceph/backup/CephBackupStorageMonBase.java b/plugin/ceph/src/main/java/org/zstack/storage/ceph/backup/CephBackupStorageMonBase.java index 6bf2c810034..ff30933d4bf 100755 --- a/plugin/ceph/src/main/java/org/zstack/storage/ceph/backup/CephBackupStorageMonBase.java +++ b/plugin/ceph/src/main/java/org/zstack/storage/ceph/backup/CephBackupStorageMonBase.java @@ -3,7 +3,12 @@ import org.springframework.beans.factory.annotation.Autowired; import org.zstack.core.CoreGlobalProperty; import org.zstack.core.Platform; -import org.zstack.core.ansible.*; +import org.zstack.core.ansible.AnsibleGlobalProperty; +import org.zstack.core.ansible.AnsibleRunner; +import org.zstack.core.ansible.CallBackNetworkChecker; +import org.zstack.core.ansible.SshChronyConfigChecker; +import org.zstack.core.ansible.SshFileMd5Checker; +import org.zstack.core.ansible.SshYumRepoChecker; import org.zstack.core.asyncbatch.While; import org.zstack.core.cloudbus.CloudBusGlobalProperty; import org.zstack.core.componentloader.PluginRegistry; @@ -19,13 +24,24 @@ import org.zstack.header.core.Completion; import org.zstack.header.core.ReturnValueCompletion; import org.zstack.header.core.WhileDoneCompletion; -import org.zstack.header.core.workflow.*; +import org.zstack.header.core.workflow.FlowChain; +import org.zstack.header.core.workflow.FlowDoneHandler; +import org.zstack.header.core.workflow.FlowErrorHandler; +import org.zstack.header.core.workflow.FlowTrigger; +import org.zstack.header.core.workflow.NoRollbackFlow; import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.errorcode.ErrorCodeList; import org.zstack.header.errorcode.OperationFailureException; import org.zstack.header.rest.JsonAsyncRESTCallback; import org.zstack.storage.backup.BackupStorageGlobalConfig; -import org.zstack.storage.ceph.*; +import org.zstack.storage.ceph.CephAgentUrl; +import org.zstack.storage.ceph.CephConstants; +import org.zstack.storage.ceph.CephGlobalConfig; +import org.zstack.storage.ceph.CephGlobalProperty; +import org.zstack.storage.ceph.CephMonAO; +import org.zstack.storage.ceph.CephMonBase; +import org.zstack.storage.ceph.CephMonExtensionPoint; +import org.zstack.storage.ceph.MonStatus; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; import org.zstack.utils.path.PathUtil; @@ -160,6 +176,7 @@ private void doConnect(final Completion completion) { @Override public void setup() { if (!CoreGlobalProperty.UNIT_TEST_ON) { + // DEBT: NoRollbackFlow — in doConnect flow(new NoRollbackFlow() { String __name__ = "check-tools"; @@ -170,6 +187,7 @@ public void run(FlowTrigger trigger, Map data) { } }); + // DEBT: NoRollbackFlow — in doConnect flow(new NoRollbackFlow() { String __name__ = "deploy-agent"; @@ -230,6 +248,7 @@ public void fail(ErrorCode errorCode) { } }); + // DEBT: NoRollbackFlow — reason TBD flow(new NoRollbackFlow() { String __name__ = "deploy-more-agent-to-backupStorage"; @Override @@ -238,6 +257,7 @@ public void run(FlowTrigger trigger, Map data) { FlowChain chain = FlowChainBuilder.newSimpleFlowChain(); chain.allowEmptyFlow(); for(CephMonExtensionPoint ext: exts) { + // DEBT: NoRollbackFlow — reason TBD chain.then(new NoRollbackFlow() { @Override public void run(FlowTrigger trigger1, Map data) { @@ -269,6 +289,7 @@ public void handle(ErrorCode errCode, Map data) { } }); + // DEBT: NoRollbackFlow — reason TBD flow(new NoRollbackFlow() { String __name__ = "configure-iptables"; @@ -302,6 +323,7 @@ public void run(FlowTrigger trigger, Map data) { } }); + // DEBT: NoRollbackFlow — reason TBD flow(new NoRollbackFlow() { String __name__ = "echo-agent"; @@ -321,6 +343,7 @@ public void fail(ErrorCode errorCode) { } }); + // DEBT: NoRollbackFlow — reason TBD flow(new NoRollbackFlow() { String __name__ = "connect-agent"; @Override diff --git a/plugin/ceph/src/main/java/org/zstack/storage/ceph/primary/APIAddCephPrimaryStorageMsg.java b/plugin/ceph/src/main/java/org/zstack/storage/ceph/primary/APIAddCephPrimaryStorageMsg.java index fd7f7590f15..40b334c7a60 100755 --- a/plugin/ceph/src/main/java/org/zstack/storage/ceph/primary/APIAddCephPrimaryStorageMsg.java +++ b/plugin/ceph/src/main/java/org/zstack/storage/ceph/primary/APIAddCephPrimaryStorageMsg.java @@ -2,7 +2,9 @@ import org.springframework.http.HttpMethod; import org.zstack.header.log.NoLogging; -import org.zstack.header.message.*; +import org.zstack.header.message.APIParam; +import org.zstack.header.message.OverriddenApiParam; +import org.zstack.header.message.OverriddenApiParams; import org.zstack.header.rest.RestRequest; import org.zstack.header.storage.primary.APIAddPrimaryStorageEvent; import org.zstack.header.storage.primary.APIAddPrimaryStorageMsg; diff --git a/plugin/ceph/src/main/java/org/zstack/storage/ceph/primary/CephKvmExtension.java b/plugin/ceph/src/main/java/org/zstack/storage/ceph/primary/CephKvmExtension.java index 461e841f69f..280f9179feb 100755 --- a/plugin/ceph/src/main/java/org/zstack/storage/ceph/primary/CephKvmExtension.java +++ b/plugin/ceph/src/main/java/org/zstack/storage/ceph/primary/CephKvmExtension.java @@ -10,7 +10,12 @@ import org.zstack.header.core.Completion; import org.zstack.header.core.FutureCompletion; import org.zstack.header.core.WhileDoneCompletion; -import org.zstack.header.core.workflow.*; +import org.zstack.header.core.workflow.Flow; +import org.zstack.header.core.workflow.FlowChain; +import org.zstack.header.core.workflow.FlowDoneHandler; +import org.zstack.header.core.workflow.FlowErrorHandler; +import org.zstack.header.core.workflow.FlowTrigger; +import org.zstack.header.core.workflow.NoRollbackFlow; import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.errorcode.ErrorCodeList; import org.zstack.header.errorcode.OperationFailureException; @@ -129,6 +134,7 @@ public void done(ErrorCodeList errorCodeList) { @Override public Flow createKvmHostConnectingFlow(final KVMHostConnectedContext context) { + // DEBT: NoRollbackFlow — in createKvmHostConnectingFlow return new NoRollbackFlow() { String __name__ = "prepare-ceph-primary-storage"; @@ -193,6 +199,7 @@ public void done(ErrorCodeList errorCodeList) { private void doPrepareCephPrimaryStorage(final KVMHostConnectedContext context, Completion completion) { FlowChain chain = FlowChainBuilder.newSimpleFlowChain(); chain.setName("do-prepare-ceph-primary-storage"); + // DEBT: NoRollbackFlow — in doPrepareCephPrimaryStorage chain.then(new NoRollbackFlow() { @Override public void run(FlowTrigger trigger, Map data) { @@ -208,6 +215,7 @@ public void fail(ErrorCode errorCode) { } }); } + // DEBT: NoRollbackFlow — in doPrepareCephPrimaryStorage }).then(new NoRollbackFlow() { @Override public void run(FlowTrigger trigger, Map data) { diff --git a/plugin/ceph/src/main/java/org/zstack/storage/ceph/primary/CephOsdGroupVO.java b/plugin/ceph/src/main/java/org/zstack/storage/ceph/primary/CephOsdGroupVO.java index 8e024873283..38fc2fb456e 100644 --- a/plugin/ceph/src/main/java/org/zstack/storage/ceph/primary/CephOsdGroupVO.java +++ b/plugin/ceph/src/main/java/org/zstack/storage/ceph/primary/CephOsdGroupVO.java @@ -3,7 +3,8 @@ import org.zstack.header.storage.primary.PrimaryStorageEO; import org.zstack.header.storage.primary.PrimaryStorageVO; import org.zstack.header.storage.primary.StorageCapacityAO; -import org.zstack.header.vo.*; +import org.zstack.header.vo.SoftDeletionCascade; +import org.zstack.header.vo.SoftDeletionCascades; import org.zstack.header.vo.ForeignKey; import org.zstack.header.vo.Index; diff --git a/plugin/ceph/src/main/java/org/zstack/storage/ceph/primary/CephPrimaryStorageBase.java b/plugin/ceph/src/main/java/org/zstack/storage/ceph/primary/CephPrimaryStorageBase.java index 140e94c13a8..1fb72aafe86 100755 --- a/plugin/ceph/src/main/java/org/zstack/storage/ceph/primary/CephPrimaryStorageBase.java +++ b/plugin/ceph/src/main/java/org/zstack/storage/ceph/primary/CephPrimaryStorageBase.java @@ -16,7 +16,12 @@ import org.zstack.core.db.SQLBatch; import org.zstack.core.db.SimpleQuery; import org.zstack.core.db.SimpleQuery.Op; -import org.zstack.core.thread.*; +import org.zstack.core.thread.AsyncThread; +import org.zstack.core.thread.ChainTask; +import org.zstack.core.thread.RunInQueue; +import org.zstack.core.thread.SingleFlightTask; +import org.zstack.core.thread.SyncTaskChain; +import org.zstack.core.thread.ThreadFacade; import org.zstack.core.trash.StorageTrash; import org.zstack.core.trash.TrashType; import org.zstack.core.upgrade.GrayVersion; @@ -28,18 +33,34 @@ import org.zstack.header.agent.ReloadableCommand; import org.zstack.header.cluster.ClusterVO; import org.zstack.header.cluster.ClusterVO_; -import org.zstack.header.core.*; +import org.zstack.header.core.AsyncLatch; +import org.zstack.header.core.Completion; +import org.zstack.header.core.FutureReturnValueCompletion; +import org.zstack.header.core.NoErrorCompletion; +import org.zstack.header.core.PaginateCompletion; +import org.zstack.header.core.ReturnValueCompletion; +import org.zstack.header.core.WhileDoneCompletion; import org.zstack.header.core.progress.TaskProgressRange; import org.zstack.header.core.trash.InstallPathRecycleInventory; import org.zstack.header.core.trash.TrashCleanupResult; import org.zstack.header.core.validation.Validation; -import org.zstack.header.core.workflow.*; +import org.zstack.header.core.workflow.Flow; +import org.zstack.header.core.workflow.FlowChain; +import org.zstack.header.core.workflow.FlowDoneHandler; +import org.zstack.header.core.workflow.FlowErrorHandler; +import org.zstack.header.core.workflow.FlowRollback; +import org.zstack.header.core.workflow.FlowTrigger; +import org.zstack.header.core.workflow.NoRollbackFlow; import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.errorcode.ErrorCodeList; import org.zstack.header.errorcode.OperationFailureException; import org.zstack.header.errorcode.SysErrors; import org.zstack.header.exception.CloudRuntimeException; -import org.zstack.header.host.*; +import org.zstack.header.host.HostConstant; +import org.zstack.header.host.HostState; +import org.zstack.header.host.HostStatus; +import org.zstack.header.host.HostVO; +import org.zstack.header.host.HostVO_; import org.zstack.header.image.ImageBackupStorageRefInventory; import org.zstack.header.image.ImageConstant.ImageMediaType; import org.zstack.header.image.ImageInventory; @@ -50,10 +71,143 @@ import org.zstack.header.message.Message; import org.zstack.header.message.MessageReply; import org.zstack.header.rest.RESTFacade; -import org.zstack.header.storage.backup.*; -import org.zstack.header.storage.primary.*; +import org.zstack.header.storage.backup.BackupStorageAskInstallPathMsg; +import org.zstack.header.storage.backup.BackupStorageAskInstallPathReply; +import org.zstack.header.storage.backup.BackupStorageConstant; +import org.zstack.header.storage.backup.BackupStorageInventory; +import org.zstack.header.storage.backup.BackupStorageVO; +import org.zstack.header.storage.backup.BackupStorageVO_; +import org.zstack.header.storage.primary.APICleanUpImageCacheOnPrimaryStorageEvent; +import org.zstack.header.storage.primary.APICleanUpImageCacheOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.APICleanUpStorageTrashOnPrimaryStorageEvent; +import org.zstack.header.storage.primary.APICleanUpStorageTrashOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.APICleanUpTrashOnPrimaryStorageEvent; +import org.zstack.header.storage.primary.APICleanUpTrashOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.APIReconnectPrimaryStorageEvent; +import org.zstack.header.storage.primary.APIReconnectPrimaryStorageMsg; +import org.zstack.header.storage.primary.AfterCreateImageCacheExtensionPoint; +import org.zstack.header.storage.primary.AllocatePrimaryStorageSpaceMsg; +import org.zstack.header.storage.primary.AllocatePrimaryStorageSpaceReply; +import org.zstack.header.storage.primary.AskInstallPathForNewSnapshotMsg; +import org.zstack.header.storage.primary.AskInstallPathForNewSnapshotReply; +import org.zstack.header.storage.primary.AskVolumeSnapshotCapabilityMsg; +import org.zstack.header.storage.primary.AskVolumeSnapshotCapabilityReply; +import org.zstack.header.storage.primary.BackupStorageMediator; +import org.zstack.header.storage.primary.BackupVolumeSnapshotFromPrimaryStorageToBackupStorageMsg; +import org.zstack.header.storage.primary.BackupVolumeSnapshotFromPrimaryStorageToBackupStorageReply; +import org.zstack.header.storage.primary.CancelDownloadBitsFromKVMHostToPrimaryStorageMsg; +import org.zstack.header.storage.primary.CancelDownloadBitsFromKVMHostToPrimaryStorageReply; +import org.zstack.header.storage.primary.CancelJobOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.CancelJobOnPrimaryStorageReply; +import org.zstack.header.storage.primary.CheckSnapshotMsg; +import org.zstack.header.storage.primary.CheckSnapshotReply; +import org.zstack.header.storage.primary.CheckVolumeSnapshotOperationOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.CheckVolumeSnapshotOperationOnPrimaryStorageReply; +import org.zstack.header.storage.primary.CleanUpStorageTrashOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.CleanUpStorageTrashOnPrimaryStorageReply; +import org.zstack.header.storage.primary.CleanUpTrashOnPrimaryStroageMsg; +import org.zstack.header.storage.primary.CreateImageCacheFromVolumeOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.CreateImageCacheFromVolumeOnPrimaryStorageReply; +import org.zstack.header.storage.primary.CreateImageCacheFromVolumeSnapshotOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.CreateImageCacheFromVolumeSnapshotOnPrimaryStorageReply; +import org.zstack.header.storage.primary.CreateTemplateFromVolumeOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.CreateTemplateFromVolumeOnPrimaryStorageReply; +import org.zstack.header.storage.primary.CreateTemplateFromVolumeSnapshotOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.CreateVolumeFromVolumeSnapshotOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.CreateVolumeFromVolumeSnapshotOnPrimaryStorageReply; +import org.zstack.header.storage.primary.DeleteBitsOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.DeleteBitsOnPrimaryStorageReply; +import org.zstack.header.storage.primary.DeleteImageCacheOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.DeleteImageCacheOnPrimaryStorageReply; +import org.zstack.header.storage.primary.DeleteIsoFromPrimaryStorageMsg; +import org.zstack.header.storage.primary.DeleteIsoFromPrimaryStorageReply; +import org.zstack.header.storage.primary.DeleteSnapshotOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.DeleteSnapshotOnPrimaryStorageReply; +import org.zstack.header.storage.primary.DeleteVolumeBitsOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.DeleteVolumeBitsOnPrimaryStorageReply; +import org.zstack.header.storage.primary.DeleteVolumeChainOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.DeleteVolumeChainOnPrimaryStorageReply; +import org.zstack.header.storage.primary.DeleteVolumeOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.DeleteVolumeOnPrimaryStorageReply; +import org.zstack.header.storage.primary.DownloadBitsFromKVMHostToPrimaryStorageMsg; +import org.zstack.header.storage.primary.DownloadBitsFromKVMHostToPrimaryStorageReply; +import org.zstack.header.storage.primary.DownloadBitsFromNbdToPrimaryStorageMsg; +import org.zstack.header.storage.primary.DownloadBitsFromNbdToPrimaryStorageReply; +import org.zstack.header.storage.primary.DownloadBitsFromRemoteTargetOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.DownloadDataVolumeToPrimaryStorageMsg; +import org.zstack.header.storage.primary.DownloadDataVolumeToPrimaryStorageReply; +import org.zstack.header.storage.primary.DownloadIsoToPrimaryStorageMsg; +import org.zstack.header.storage.primary.DownloadIsoToPrimaryStorageReply; +import org.zstack.header.storage.primary.DownloadVolumeTemplateToPrimaryStorageMsg; +import org.zstack.header.storage.primary.DownloadVolumeTemplateToPrimaryStorageReply; +import org.zstack.header.storage.primary.FlattenVolumeOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.FlattenVolumeOnPrimaryStorageReply; +import org.zstack.header.storage.primary.GetDownloadBitsFromKVMHostProgressMsg; +import org.zstack.header.storage.primary.GetDownloadBitsFromKVMHostProgressReply; +import org.zstack.header.storage.primary.GetInstallPathForDataVolumeDownloadMsg; +import org.zstack.header.storage.primary.GetInstallPathForDataVolumeDownloadReply; +import org.zstack.header.storage.primary.GetOwningVolumePathFromInternalSnapshotMsg; +import org.zstack.header.storage.primary.GetOwningVolumePathFromInternalSnapshotReply; +import org.zstack.header.storage.primary.GetPrimaryStorageResourceLocationMsg; +import org.zstack.header.storage.primary.GetPrimaryStorageResourceLocationReply; +import org.zstack.header.storage.primary.GetPrimaryStorageUsageReportMsg; +import org.zstack.header.storage.primary.GetPrimaryStorageUsedPhysicalCapacityForecastReply; +import org.zstack.header.storage.primary.GetVolumeBackingChainFromPrimaryStorageMsg; +import org.zstack.header.storage.primary.GetVolumeBackingChainFromPrimaryStorageReply; +import org.zstack.header.storage.primary.GetVolumeSnapshotEncryptedOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.GetVolumeSnapshotEncryptedOnPrimaryStorageReply; +import org.zstack.header.storage.primary.ImageCacheInventory; +import org.zstack.header.storage.primary.ImageCacheState; +import org.zstack.header.storage.primary.ImageCacheVO; +import org.zstack.header.storage.primary.ImageCacheVO_; +import org.zstack.header.storage.primary.ImageCacheVolumeRefVO; +import org.zstack.header.storage.primary.IncreasePrimaryStorageCapacityMsg; +import org.zstack.header.storage.primary.InstantiateRootVolumeFromTemplateOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.InstantiateVolumeOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.InstantiateVolumeOnPrimaryStorageReply; +import org.zstack.header.storage.primary.MediatorDownloadParam; +import org.zstack.header.storage.primary.MediatorUploadParam; +import org.zstack.header.storage.primary.MergeVolumeSnapshotOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.MergeVolumeSnapshotOnPrimaryStorageReply; +import org.zstack.header.storage.primary.PrimaryStorageAllocationPurpose; +import org.zstack.header.storage.primary.PrimaryStorageCapacityVO; +import org.zstack.header.storage.primary.PrimaryStorageConstant; +import org.zstack.header.storage.primary.PrimaryStorageHostStatus; +import org.zstack.header.storage.primary.PrimaryStorageLicenseInfo; +import org.zstack.header.storage.primary.PrimaryStorageLicenseInfoFactory; +import org.zstack.header.storage.primary.PrimaryStorageToBackupStorageMediatorExtensionPoint; +import org.zstack.header.storage.primary.PrimaryStorageVO; +import org.zstack.header.storage.primary.PurgeSnapshotOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.PurgeSnapshotOnPrimaryStorageReply; +import org.zstack.header.storage.primary.ReInitRootVolumeFromTemplateOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.ReInitRootVolumeFromTemplateOnPrimaryStorageReply; +import org.zstack.header.storage.primary.ReconnectPrimaryStorageMsg; +import org.zstack.header.storage.primary.ReleasePrimaryStorageSpaceMsg; +import org.zstack.header.storage.primary.ResizeVolumeOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.RevertVolumeFromSnapshotOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.RevertVolumeFromSnapshotOnPrimaryStorageReply; +import org.zstack.header.storage.primary.SyncVolumeSizeOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.SyncVolumeSizeOnPrimaryStorageReply; +import org.zstack.header.storage.primary.TakeSnapshotMsg; +import org.zstack.header.storage.primary.TakeSnapshotReply; +import org.zstack.header.storage.primary.UpdatePrimaryStorageHostStatusMsg; +import org.zstack.header.storage.primary.UsageReport; +import org.zstack.header.storage.primary.VolumeSnapshotCapability; import org.zstack.header.storage.primary.VolumeSnapshotCapability.VolumeSnapshotArrangementType; -import org.zstack.header.storage.snapshot.*; +import org.zstack.header.storage.snapshot.CreateTemplateFromVolumeSnapshotMsg; +import org.zstack.header.storage.snapshot.CreateTemplateFromVolumeSnapshotReply; +import org.zstack.header.storage.snapshot.CreateVolumeSnapshotMsg; +import org.zstack.header.storage.snapshot.CreateVolumeSnapshotReply; +import org.zstack.header.storage.snapshot.DeleteVolumeSnapshotDirection; +import org.zstack.header.storage.snapshot.DeleteVolumeSnapshotScope; +import org.zstack.header.storage.snapshot.GetVolumeSnapshotSizeOnPrimaryStorageMsg; +import org.zstack.header.storage.snapshot.GetVolumeSnapshotSizeOnPrimaryStorageReply; +import org.zstack.header.storage.snapshot.ShrinkVolumeSnapshotOnPrimaryStorageMsg; +import org.zstack.header.storage.snapshot.VolumeSnapshotConstant; +import org.zstack.header.storage.snapshot.VolumeSnapshotDeletionMsg; +import org.zstack.header.storage.snapshot.VolumeSnapshotInventory; +import org.zstack.header.storage.snapshot.VolumeSnapshotVO; +import org.zstack.header.storage.snapshot.VolumeSnapshotVO_; import org.zstack.header.tag.SystemTagVO; import org.zstack.header.tag.SystemTagVO_; import org.zstack.header.vm.VmInstanceSpec; @@ -61,21 +215,58 @@ import org.zstack.header.vm.VmInstanceVO; import org.zstack.header.vm.VmInstanceVO_; import org.zstack.header.vo.ResourceVO; -import org.zstack.header.volume.*; +import org.zstack.header.volume.BatchSyncVolumeSizeOnPrimaryStorageMsg; +import org.zstack.header.volume.BatchSyncVolumeSizeOnPrimaryStorageReply; +import org.zstack.header.volume.VolumeConstant; +import org.zstack.header.volume.VolumeInventory; +import org.zstack.header.volume.VolumeType; +import org.zstack.header.volume.VolumeVO; +import org.zstack.header.volume.VolumeVO_; import org.zstack.identity.AccountManager; -import org.zstack.kvm.*; +import org.zstack.kvm.GetKVMHostDownloadCredentialMsg; +import org.zstack.kvm.GetKVMHostDownloadCredentialReply; +import org.zstack.kvm.KVMAgentCommands; +import org.zstack.kvm.KVMConstant; +import org.zstack.kvm.KVMHostAsyncHttpCallMsg; +import org.zstack.kvm.KVMHostAsyncHttpCallReply; +import org.zstack.kvm.KvmCommandFailureChecker; +import org.zstack.kvm.KvmCommandSender; +import org.zstack.kvm.KvmResponseWrapper; import org.zstack.kvm.KvmSetupSelfFencerExtensionPoint.KvmCancelSelfFencerParam; import org.zstack.kvm.KvmSetupSelfFencerExtensionPoint.KvmSetupSelfFencerParam; import org.zstack.storage.backup.sftp.GetSftpBackupStorageDownloadCredentialMsg; import org.zstack.storage.backup.sftp.GetSftpBackupStorageDownloadCredentialReply; import org.zstack.storage.backup.sftp.SftpBackupStorageConstant; -import org.zstack.storage.ceph.*; +import org.zstack.storage.ceph.CephCapacity; +import org.zstack.storage.ceph.CephCapacityUpdater; +import org.zstack.storage.ceph.CephCapacityVO; +import org.zstack.storage.ceph.CephCapacityVO_; +import org.zstack.storage.ceph.CephConstants; +import org.zstack.storage.ceph.CephGlobalConfig; +import org.zstack.storage.ceph.CephMonBase; +import org.zstack.storage.ceph.CephMonSystemTags; +import org.zstack.storage.ceph.CephPoolCapacity; +import org.zstack.storage.ceph.CephSystemTags; +import org.zstack.storage.ceph.MonStatus; +import org.zstack.storage.ceph.MonUri; import org.zstack.storage.ceph.CephMonBase.PingResult; import org.zstack.storage.ceph.backup.CephBackupStorageVO; import org.zstack.storage.ceph.backup.CephBackupStorageVO_; import org.zstack.storage.ceph.primary.CephPrimaryStorageMonBase.PingOperationFailure; import org.zstack.storage.ceph.primary.capacity.CephOsdGroupCapacityHelper; -import org.zstack.storage.primary.*; +import org.zstack.storage.primary.CheckHostStorageConnectionMsg; +import org.zstack.storage.primary.CheckHostStorageConnectionReply; +import org.zstack.storage.primary.EstimateVolumeTemplateSizeOnPrimaryStorageMsg; +import org.zstack.storage.primary.EstimateVolumeTemplateSizeOnPrimaryStorageReply; +import org.zstack.storage.primary.GetPrimaryStorageLicenseInfoMsg; +import org.zstack.storage.primary.GetPrimaryStorageLicenseInfoReply; +import org.zstack.storage.primary.ImageCacheCleanParam; +import org.zstack.storage.primary.ImageCacheUtil; +import org.zstack.storage.primary.PrimaryStorageBase; +import org.zstack.storage.primary.PrimaryStorageGlobalConfig; +import org.zstack.storage.primary.PrimaryStorageGlobalProperty; +import org.zstack.storage.primary.PrimaryStoragePhysicalCapacityManager; +import org.zstack.storage.primary.PrimaryStorageSystemTags; import org.zstack.storage.snapshot.DeleteVolumeSnapshotGC; import org.zstack.storage.snapshot.VolumeSnapshotGlobalConfig; import org.zstack.storage.volume.VolumeErrors; @@ -83,7 +274,10 @@ import org.zstack.tag.SystemTag; import org.zstack.tag.SystemTagCreator; import org.zstack.tag.TagManager; -import org.zstack.utils.*; +import org.zstack.utils.CollectionDSL; +import org.zstack.utils.CollectionUtils; +import org.zstack.utils.DebugUtils; +import org.zstack.utils.Utils; import org.zstack.utils.function.Function; import org.zstack.utils.gson.JSONObjectUtil; import org.zstack.utils.logging.CLogger; @@ -92,7 +286,17 @@ import java.io.Serializable; import java.net.URI; import java.net.URISyntaxException; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.Comparator; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import java.util.Set; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicBoolean; import java.util.stream.Collectors; @@ -1462,6 +1666,7 @@ public void download(final ReturnValueCompletion completion) { @Override public void setup() { + // DEBT: NoRollbackFlow — in download flow(new NoRollbackFlow() { String __name__ = "get-sftp-credentials"; @@ -1485,6 +1690,7 @@ public void fail(ErrorCode errorCode) { } }); + // DEBT: NoRollbackFlow — in download flow(new NoRollbackFlow() { String __name__ = "download-image"; @@ -1550,6 +1756,7 @@ public void upload(final ReturnValueCompletion completion) { @Override public void setup() { + // DEBT: NoRollbackFlow — in upload flow(new NoRollbackFlow() { String __name__ = "get-sftp-credentials"; @@ -1573,6 +1780,7 @@ public void fail(ErrorCode errorCode) { } }); + // DEBT: NoRollbackFlow — in upload flow(new NoRollbackFlow() { String __name__ = "get-backup-storage-install-path"; @@ -1600,6 +1808,7 @@ public void run(MessageReply reply) { } }); + // DEBT: NoRollbackFlow — reason TBD flow(new NoRollbackFlow() { String __name__ = "upload-to-backup-storage"; @@ -1808,6 +2017,7 @@ private void cleanTrash(Long trashId, final ReturnValueCompletion replies) { } private Flow attachToKvmCluster(String clusterUuid) { + // DEBT: NoRollbackFlow — in attachToKvmCluster return new NoRollbackFlow() { String __name__ = String.format("create-secret-on-kvm-hosts-in-cluster-%s", clusterUuid); diff --git a/plugin/ceph/src/main/java/org/zstack/storage/ceph/primary/CephPrimaryStorageFactory.java b/plugin/ceph/src/main/java/org/zstack/storage/ceph/primary/CephPrimaryStorageFactory.java index 682fc9dadf2..f9b83411636 100755 --- a/plugin/ceph/src/main/java/org/zstack/storage/ceph/primary/CephPrimaryStorageFactory.java +++ b/plugin/ceph/src/main/java/org/zstack/storage/ceph/primary/CephPrimaryStorageFactory.java @@ -36,7 +36,11 @@ import org.zstack.header.core.Completion; import org.zstack.header.core.WhileDoneCompletion; import org.zstack.header.core.progress.TaskProgressRange; -import org.zstack.header.core.workflow.*; +import org.zstack.header.core.workflow.Flow; +import org.zstack.header.core.workflow.FlowRollback; +import org.zstack.header.core.workflow.FlowTrigger; +import org.zstack.header.core.workflow.NoRollbackFlow; +import org.zstack.header.core.workflow.NopeFlow; import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.errorcode.ErrorCodeList; import org.zstack.header.errorcode.OperationFailureException; @@ -46,14 +50,76 @@ import org.zstack.header.host.HostVO; import org.zstack.header.host.HostVO_; import org.zstack.header.message.MessageReply; -import org.zstack.header.storage.backup.*; -import org.zstack.header.storage.primary.*; -import org.zstack.header.storage.snapshot.*; -import org.zstack.header.vm.*; -import org.zstack.header.volume.*; +import org.zstack.header.storage.backup.BackupStorageAskInstallPathMsg; +import org.zstack.header.storage.backup.BackupStorageAskInstallPathReply; +import org.zstack.header.storage.backup.BackupStorageConstant; +import org.zstack.header.storage.backup.BackupStoragePrimaryStorageExtensionPoint; +import org.zstack.header.storage.backup.DeleteBitsOnBackupStorageMsg; +import org.zstack.header.storage.primary.APIAddPrimaryStorageMsg; +import org.zstack.header.storage.primary.AllocatePrimaryStorageSpaceMsg; +import org.zstack.header.storage.primary.CephPrimaryStorageAllocateConfig; +import org.zstack.header.storage.primary.ImageCacheVO; +import org.zstack.header.storage.primary.PSCapacityExtensionPoint; +import org.zstack.header.storage.primary.PrimaryStorage; +import org.zstack.header.storage.primary.PrimaryStorageAllocateConfig; +import org.zstack.header.storage.primary.PrimaryStorageAllocationPurpose; +import org.zstack.header.storage.primary.PrimaryStorageConstant; +import org.zstack.header.storage.primary.PrimaryStorageFactory; +import org.zstack.header.storage.primary.PrimaryStorageFindBackupStorage; +import org.zstack.header.storage.primary.PrimaryStorageInventory; +import org.zstack.header.storage.primary.PrimaryStorageType; +import org.zstack.header.storage.primary.PrimaryStorageVO; +import org.zstack.header.storage.primary.PrimaryStorageVO_; +import org.zstack.header.storage.primary.RecalculatePrimaryStorageCapacityExtensionPoint; +import org.zstack.header.storage.primary.RecalculatePrimaryStorageCapacityStruct; +import org.zstack.header.storage.primary.TakeSnapshotMsg; +import org.zstack.header.storage.primary.TakeSnapshotReply; +import org.zstack.header.storage.snapshot.BeforeTakeLiveSnapshotsOnVolumes; +import org.zstack.header.storage.snapshot.ConsistentType; +import org.zstack.header.storage.snapshot.CreateTemplateFromVolumeSnapshotExtensionPoint; +import org.zstack.header.storage.snapshot.CreateVolumeSnapshotMsg; +import org.zstack.header.storage.snapshot.CreateVolumeSnapshotReply; +import org.zstack.header.storage.snapshot.CreateVolumesSnapshotOverlayInnerMsg; +import org.zstack.header.storage.snapshot.CreateVolumesSnapshotsJobStruct; +import org.zstack.header.storage.snapshot.TakeVolumesSnapshotOnKvmMsg; +import org.zstack.header.storage.snapshot.VolumeSnapshotConstant; +import org.zstack.header.storage.snapshot.VolumeSnapshotInventory; +import org.zstack.header.storage.snapshot.VolumeSnapshotStatus; +import org.zstack.header.storage.snapshot.VolumeSnapshotVO; +import org.zstack.header.storage.snapshot.VolumeSnapshotVO_; +import org.zstack.header.vm.CreateVmInstanceMsg; +import org.zstack.header.vm.PreVmInstantiateResourceExtensionPoint; +import org.zstack.header.vm.VmCapabilities; +import org.zstack.header.vm.VmInstanceConstant; +import org.zstack.header.vm.VmInstanceCreateExtensionPoint; +import org.zstack.header.vm.VmInstanceInventory; +import org.zstack.header.vm.VmInstanceSpec; +import org.zstack.header.vm.VmInstantiateResourceException; +import org.zstack.header.volume.CreateDataVolumeExtensionPoint; +import org.zstack.header.volume.SyncVolumeSizeMsg; +import org.zstack.header.volume.SyncVolumeSizeReply; +import org.zstack.header.volume.VolumeConstant; +import org.zstack.header.volume.VolumeCreateMessage; +import org.zstack.header.volume.VolumeInventory; +import org.zstack.header.volume.VolumeType; +import org.zstack.header.volume.VolumeVO; +import org.zstack.header.volume.VolumeVO_; import org.zstack.kvm.KVMAgentCommands.*; -import org.zstack.kvm.*; -import org.zstack.storage.ceph.*; +import org.zstack.kvm.KVMAttachVolumeExtensionPoint; +import org.zstack.kvm.KVMDetachVolumeExtensionPoint; +import org.zstack.kvm.KVMHostInventory; +import org.zstack.kvm.KVMPreAttachIsoExtensionPoint; +import org.zstack.kvm.KVMStartVmExtensionPoint; +import org.zstack.kvm.KvmSetupSelfFencerExtensionPoint; +import org.zstack.kvm.VolumeTO; +import org.zstack.storage.ceph.CephCapacity; +import org.zstack.storage.ceph.CephCapacityUpdateExtensionPoint; +import org.zstack.storage.ceph.CephConstants; +import org.zstack.storage.ceph.CephGlobalConfig; +import org.zstack.storage.ceph.CephGlobalProperty; +import org.zstack.storage.ceph.CephSystemTags; +import org.zstack.storage.ceph.MonStatus; +import org.zstack.storage.ceph.MonUri; import org.zstack.storage.ceph.primary.KVMCephVolumeTO.MonInfo; import org.zstack.storage.ceph.primary.capacity.CephOsdGroupCapacityHelper; import org.zstack.storage.ceph.primary.capacity.CephPrimaryCapacityUpdater; @@ -70,7 +136,12 @@ import javax.persistence.Tuple; import javax.persistence.TypedQuery; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import java.util.UUID; import java.util.concurrent.Callable; import java.util.concurrent.Future; import java.util.stream.Collectors; @@ -587,6 +658,7 @@ public WorkflowTemplate createTemplateFromVolumeSnapshot(final ParamIn paramIn) final TaskProgressRange UPLOAD_STAGE = new TaskProgressRange(10, 95); final TaskProgressRange parentStage = getTaskStage(); + // DEBT: NoRollbackFlow — in createTemplateFromVolumeSnapshot template.setCreateTemporaryTemplate(new NoRollbackFlow() { @Override public void run(final FlowTrigger trigger, final Map data) { @@ -1108,6 +1180,7 @@ public void validateDiskOfferingUserConfig(String userConfig, String diskOfferin @Override public List markRootVolumeAsSnapshot(VolumeInventory vol, VolumeSnapshotVO vo, String accountUuid) { List flows = new ArrayList<>(); + // DEBT: NoRollbackFlow — reason TBD flows.add(new NoRollbackFlow() { String __name__ = "create-snapshot-before-reimage"; diff --git a/plugin/ceph/src/main/java/org/zstack/storage/ceph/primary/CephPrimaryStorageMonBase.java b/plugin/ceph/src/main/java/org/zstack/storage/ceph/primary/CephPrimaryStorageMonBase.java index 7ca3e710291..238cabdddc2 100755 --- a/plugin/ceph/src/main/java/org/zstack/storage/ceph/primary/CephPrimaryStorageMonBase.java +++ b/plugin/ceph/src/main/java/org/zstack/storage/ceph/primary/CephPrimaryStorageMonBase.java @@ -3,7 +3,12 @@ import org.springframework.beans.factory.annotation.Autowired; import org.zstack.core.CoreGlobalProperty; import org.zstack.core.Platform; -import org.zstack.core.ansible.*; +import org.zstack.core.ansible.AnsibleGlobalProperty; +import org.zstack.core.ansible.AnsibleRunner; +import org.zstack.core.ansible.CallBackNetworkChecker; +import org.zstack.core.ansible.SshChronyConfigChecker; +import org.zstack.core.ansible.SshFileMd5Checker; +import org.zstack.core.ansible.SshYumRepoChecker; import org.zstack.core.asyncbatch.While; import org.zstack.core.cloudbus.CloudBusGlobalProperty; import org.zstack.core.componentloader.PluginRegistry; @@ -18,12 +23,25 @@ import org.zstack.header.core.Completion; import org.zstack.header.core.ReturnValueCompletion; import org.zstack.header.core.WhileDoneCompletion; -import org.zstack.header.core.workflow.*; +import org.zstack.header.core.workflow.FlowChain; +import org.zstack.header.core.workflow.FlowDoneHandler; +import org.zstack.header.core.workflow.FlowErrorHandler; +import org.zstack.header.core.workflow.FlowTrigger; +import org.zstack.header.core.workflow.NoRollbackFlow; import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.errorcode.ErrorCodeList; import org.zstack.header.errorcode.OperationFailureException; import org.zstack.header.rest.JsonAsyncRESTCallback; -import org.zstack.storage.ceph.*; +import org.zstack.storage.ceph.CephAgentUrl; +import org.zstack.storage.ceph.CephCapacity; +import org.zstack.storage.ceph.CephCapacityUpdater; +import org.zstack.storage.ceph.CephConstants; +import org.zstack.storage.ceph.CephGlobalConfig; +import org.zstack.storage.ceph.CephGlobalProperty; +import org.zstack.storage.ceph.CephMonAO; +import org.zstack.storage.ceph.CephMonBase; +import org.zstack.storage.ceph.CephMonExtensionPoint; +import org.zstack.storage.ceph.MonStatus; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; import org.zstack.utils.path.PathUtil; @@ -156,6 +174,7 @@ private void doConnect(final Completion completion) { @Override public void setup() { if (!CoreGlobalProperty.UNIT_TEST_ON) { + // DEBT: NoRollbackFlow — in doConnect flow(new NoRollbackFlow() { String __name__ = "check-tools"; @@ -167,6 +186,7 @@ public void run(FlowTrigger trigger, Map data) { } }); + // DEBT: NoRollbackFlow — in doConnect flow(new NoRollbackFlow() { String __name__ = "deploy-agent"; @@ -231,6 +251,7 @@ public void fail(ErrorCode errorCode) { } + // DEBT: NoRollbackFlow — reason TBD flow(new NoRollbackFlow() { String __name__ = "deploy-more-agent-to-primaryStorage"; @Override @@ -239,6 +260,7 @@ public void run(FlowTrigger trigger, Map data) { FlowChain chain = FlowChainBuilder.newSimpleFlowChain(); chain.allowEmptyFlow(); for(CephMonExtensionPoint ext: exts) { + // DEBT: NoRollbackFlow — reason TBD chain.then(new NoRollbackFlow() { @Override public void run(FlowTrigger trigger1, Map data) { @@ -271,6 +293,7 @@ public void handle(ErrorCode errCode, Map data) { }); if (!CoreGlobalProperty.UNIT_TEST_ON) { + // DEBT: NoRollbackFlow — reason TBD flow(new NoRollbackFlow() { String __name__ = "configure-iptables"; @@ -305,6 +328,7 @@ public void run(FlowTrigger trigger, Map data) { }); } + // DEBT: NoRollbackFlow — reason TBD flow(new NoRollbackFlow() { String __name__ = "echo-agent"; @@ -324,6 +348,7 @@ public void fail(ErrorCode errorCode) { } }); + // DEBT: NoRollbackFlow — reason TBD flow(new NoRollbackFlow() { String __name__ = "connect-agent"; diff --git a/plugin/ceph/src/main/java/org/zstack/storage/ceph/primary/CephPrimaryStoragePoolVO.java b/plugin/ceph/src/main/java/org/zstack/storage/ceph/primary/CephPrimaryStoragePoolVO.java index 55746aeb1bf..d60dc3ce27a 100755 --- a/plugin/ceph/src/main/java/org/zstack/storage/ceph/primary/CephPrimaryStoragePoolVO.java +++ b/plugin/ceph/src/main/java/org/zstack/storage/ceph/primary/CephPrimaryStoragePoolVO.java @@ -3,7 +3,9 @@ import org.zstack.header.allocator.HostCapacityVO; import org.zstack.header.storage.primary.PrimaryStorageEO; import org.zstack.header.storage.primary.PrimaryStorageVO; -import org.zstack.header.vo.*; +import org.zstack.header.vo.ResourceVO; +import org.zstack.header.vo.SoftDeletionCascade; +import org.zstack.header.vo.SoftDeletionCascades; import org.zstack.header.vo.ForeignKey; import javax.persistence.*; diff --git a/plugin/ceph/src/main/java/org/zstack/storage/ceph/primary/capacity/EnterpriseCephPrimaryCapacityBaseUpdater.java b/plugin/ceph/src/main/java/org/zstack/storage/ceph/primary/capacity/EnterpriseCephPrimaryCapacityBaseUpdater.java index 163a013691c..1f73f94bd52 100644 --- a/plugin/ceph/src/main/java/org/zstack/storage/ceph/primary/capacity/EnterpriseCephPrimaryCapacityBaseUpdater.java +++ b/plugin/ceph/src/main/java/org/zstack/storage/ceph/primary/capacity/EnterpriseCephPrimaryCapacityBaseUpdater.java @@ -12,7 +12,11 @@ import org.zstack.header.storage.primary.PrimaryStorageCapacityVO; import org.zstack.storage.ceph.CephCapacity; import org.zstack.storage.ceph.CephPoolCapacity; -import org.zstack.storage.ceph.primary.*; +import org.zstack.storage.ceph.primary.CephOsdGroupVO; +import org.zstack.storage.ceph.primary.CephOsdGroupVO_; +import org.zstack.storage.ceph.primary.CephPrimaryStoragePoolVO; +import org.zstack.storage.ceph.primary.CephPrimaryStoragePoolVO_; +import org.zstack.storage.ceph.primary.CephPrimaryStorageVO; import org.zstack.storage.primary.PrimaryStorageCapacityUpdater; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; diff --git a/plugin/ceph/src/main/java/org/zstack/storage/ceph/primary/capacity/OpenSourceCephPrimaryCapacityUpdater.java b/plugin/ceph/src/main/java/org/zstack/storage/ceph/primary/capacity/OpenSourceCephPrimaryCapacityUpdater.java index a3b065d5120..5e8676e8807 100644 --- a/plugin/ceph/src/main/java/org/zstack/storage/ceph/primary/capacity/OpenSourceCephPrimaryCapacityUpdater.java +++ b/plugin/ceph/src/main/java/org/zstack/storage/ceph/primary/capacity/OpenSourceCephPrimaryCapacityUpdater.java @@ -12,12 +12,19 @@ import org.zstack.storage.ceph.CephCapacity; import org.zstack.storage.ceph.CephConstants; import org.zstack.storage.ceph.CephPoolCapacity; -import org.zstack.storage.ceph.primary.*; +import org.zstack.storage.ceph.primary.CephOsdGroupVO; +import org.zstack.storage.ceph.primary.CephOsdGroupVO_; +import org.zstack.storage.ceph.primary.CephPrimaryStoragePoolVO; +import org.zstack.storage.ceph.primary.CephPrimaryStoragePoolVO_; +import org.zstack.storage.ceph.primary.CephPrimaryStorageVO; import org.zstack.storage.primary.PrimaryStorageCapacityUpdater; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; -import java.util.*; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.Set; import java.util.stream.Collectors; import static java.util.stream.Collectors.groupingBy; diff --git a/plugin/directory/src/main/java/org/zstack/directory/DirectoryManagerImpl.java b/plugin/directory/src/main/java/org/zstack/directory/DirectoryManagerImpl.java index b6ec6bee8e9..9c790662cea 100644 --- a/plugin/directory/src/main/java/org/zstack/directory/DirectoryManagerImpl.java +++ b/plugin/directory/src/main/java/org/zstack/directory/DirectoryManagerImpl.java @@ -24,7 +24,8 @@ import org.zstack.utils.logging.CLogger; import java.sql.Timestamp; -import java.util.*; +import java.util.Date; +import java.util.List; import java.util.stream.Collectors; import static java.util.Arrays.asList; diff --git a/plugin/directory/src/main/java/org/zstack/directory/ResourceDirectoryRefVO.java b/plugin/directory/src/main/java/org/zstack/directory/ResourceDirectoryRefVO.java index 593e67f836e..465110aea52 100644 --- a/plugin/directory/src/main/java/org/zstack/directory/ResourceDirectoryRefVO.java +++ b/plugin/directory/src/main/java/org/zstack/directory/ResourceDirectoryRefVO.java @@ -1,7 +1,10 @@ package org.zstack.directory; -import org.zstack.header.vo.*; +import org.zstack.header.vo.ResourceVO; +import org.zstack.header.vo.SoftDeletionCascade; +import org.zstack.header.vo.SoftDeletionCascades; +import org.zstack.header.vo.ToInventory; import org.zstack.header.vo.ForeignKey; import javax.persistence.*; diff --git a/plugin/eip/src/main/java/org/zstack/network/service/eip/APIGetVmNicAttachableEipsMsg.java b/plugin/eip/src/main/java/org/zstack/network/service/eip/APIGetVmNicAttachableEipsMsg.java index ee072923e45..31cd88dbe25 100644 --- a/plugin/eip/src/main/java/org/zstack/network/service/eip/APIGetVmNicAttachableEipsMsg.java +++ b/plugin/eip/src/main/java/org/zstack/network/service/eip/APIGetVmNicAttachableEipsMsg.java @@ -5,7 +5,8 @@ import org.zstack.header.message.APIGetMessage; import org.zstack.header.message.APIParam; import org.zstack.header.rest.RestRequest; -import org.zstack.header.vm.*; +import org.zstack.header.vm.VmInstanceConstant; +import org.zstack.header.vm.VmNicVO; @Action(category = VmInstanceConstant.ACTION_CATEGORY, names = {"read"}) @RestRequest( diff --git a/plugin/eip/src/main/java/org/zstack/network/service/eip/EipExtension.java b/plugin/eip/src/main/java/org/zstack/network/service/eip/EipExtension.java index 129859cd508..989c8e28f99 100755 --- a/plugin/eip/src/main/java/org/zstack/network/service/eip/EipExtension.java +++ b/plugin/eip/src/main/java/org/zstack/network/service/eip/EipExtension.java @@ -15,7 +15,12 @@ import org.zstack.header.network.l3.UsedIpVO; import org.zstack.header.network.service.NetworkServiceProviderType; import org.zstack.header.network.service.NetworkServiceType; -import org.zstack.header.vm.*; +import org.zstack.header.vm.ReleaseNetworkServiceOnDeletingNicExtensionPoint; +import org.zstack.header.vm.VmInstanceConstant; +import org.zstack.header.vm.VmInstanceSpec; +import org.zstack.header.vm.VmNicInventory; +import org.zstack.header.vm.VmNicSpec; +import org.zstack.header.vm.VmNicVO; import org.zstack.header.vm.VmInstanceConstant.VmOperation; import org.zstack.network.l3.L3NetworkManager; import org.zstack.network.service.AbstractNetworkServiceExtension; @@ -30,7 +35,12 @@ import javax.persistence.Query; import javax.persistence.TypedQuery; -import java.util.*; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Optional; import java.util.stream.Collectors; import static org.zstack.core.Platform.operr; diff --git a/plugin/eip/src/main/java/org/zstack/network/service/eip/EipManagerImpl.java b/plugin/eip/src/main/java/org/zstack/network/service/eip/EipManagerImpl.java index 8e23e2a9175..13e107951d6 100755 --- a/plugin/eip/src/main/java/org/zstack/network/service/eip/EipManagerImpl.java +++ b/plugin/eip/src/main/java/org/zstack/network/service/eip/EipManagerImpl.java @@ -7,7 +7,11 @@ import org.zstack.core.cloudbus.CloudBus; import org.zstack.core.cloudbus.MessageSafe; import org.zstack.core.componentloader.PluginRegistry; -import org.zstack.core.db.*; +import org.zstack.core.db.DatabaseFacade; +import org.zstack.core.db.Q; +import org.zstack.core.db.SQL; +import org.zstack.core.db.SQLBatchWithReturn; +import org.zstack.core.db.SimpleQuery; import org.zstack.core.db.SimpleQuery.Op; import org.zstack.core.thread.ChainTask; import org.zstack.core.thread.SyncTaskChain; @@ -16,27 +20,59 @@ import org.zstack.core.workflow.ShareFlow; import org.zstack.header.AbstractService; import org.zstack.header.core.Completion; -import org.zstack.header.core.workflow.*; +import org.zstack.header.core.workflow.Flow; +import org.zstack.header.core.workflow.FlowChain; +import org.zstack.header.core.workflow.FlowDoneHandler; +import org.zstack.header.core.workflow.FlowErrorHandler; +import org.zstack.header.core.workflow.FlowRollback; +import org.zstack.header.core.workflow.FlowTrigger; +import org.zstack.header.core.workflow.NoRollbackFlow; import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.errorcode.OperationFailureException; import org.zstack.header.exception.CloudRuntimeException; -import org.zstack.header.identity.*; +import org.zstack.header.identity.APIChangeResourceOwnerMsg; +import org.zstack.header.identity.AccountResourceRefInventory; +import org.zstack.header.identity.Quota; +import org.zstack.header.identity.ReportQuotaExtensionPoint; +import org.zstack.header.identity.ResourceOwnerAfterChangeExtensionPoint; import org.zstack.header.identity.quota.QuotaMessageHandler; import org.zstack.header.managementnode.ManagementNodeReadyExtensionPoint; import org.zstack.header.message.APIMessage; import org.zstack.header.message.Message; import org.zstack.header.network.l2.L2NetworkClusterRefVO; import org.zstack.header.network.l2.L2NetworkClusterRefVO_; -import org.zstack.header.network.l3.*; +import org.zstack.header.network.l3.L3NetworkInventory; +import org.zstack.header.network.l3.L3NetworkVO; +import org.zstack.header.network.l3.L3NetworkVO_; +import org.zstack.header.network.l3.UsedIpInventory; +import org.zstack.header.network.l3.UsedIpVO; import org.zstack.header.network.service.NetworkServiceProviderType; import org.zstack.header.query.AddExpandedQueryExtensionPoint; import org.zstack.header.query.ExpandedQueryAliasStruct; import org.zstack.header.query.ExpandedQueryStruct; -import org.zstack.header.vm.*; +import org.zstack.header.vm.FilterAttachableL3NetworkExtensionPoint; +import org.zstack.header.vm.VmInstanceConstant; +import org.zstack.header.vm.VmInstanceInventory; +import org.zstack.header.vm.VmInstanceState; +import org.zstack.header.vm.VmInstanceVO; +import org.zstack.header.vm.VmInstanceVO_; +import org.zstack.header.vm.VmIpChangedExtensionPoint; +import org.zstack.header.vm.VmNicChangeNetworkExtensionPoint; +import org.zstack.header.vm.VmNicHelper; +import org.zstack.header.vm.VmNicInventory; +import org.zstack.header.vm.VmNicVO; +import org.zstack.header.vm.VmNicVO_; +import org.zstack.header.vm.VmPreAttachL3NetworkExtensionPoint; import org.zstack.identity.AccountManager; import org.zstack.network.l3.L3NetworkManager; import org.zstack.network.service.NetworkServiceManager; -import org.zstack.network.service.vip.*; +import org.zstack.network.service.vip.ModifyVipAttributesStruct; +import org.zstack.network.service.vip.Vip; +import org.zstack.network.service.vip.VipGetServiceReferencePoint; +import org.zstack.network.service.vip.VipInventory; +import org.zstack.network.service.vip.VipReleaseExtensionPoint; +import org.zstack.network.service.vip.VipVO; +import org.zstack.network.service.vip.VipVO_; import org.zstack.tag.TagManager; import org.zstack.utils.CollectionUtils; import org.zstack.utils.Utils; @@ -48,7 +84,13 @@ import javax.persistence.Query; import javax.persistence.Tuple; import javax.persistence.TypedQuery; -import java.util.*; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Set; import java.util.stream.Collectors; import static org.zstack.core.Platform.operr; @@ -722,6 +764,7 @@ private List getAdditionalApplyEipFlow(EipStruct eipStruct, NetworkService String temp = flowName; + // DEBT: NoRollbackFlow — in rollback flows.add(new NoRollbackFlow() { String __name__ = String.format("additional-apply-eip-on-backend-%s", temp); @@ -769,6 +812,7 @@ private List getAdditionalDeleteEipFlow(EipStruct eipStruct, NetworkServic String temp = flowName; + // DEBT: NoRollbackFlow — reason TBD flows.add(new NoRollbackFlow() { String __name__ = String.format("additional-delete-eip-from-backend-%s", temp); @@ -875,6 +919,7 @@ public void fail(ErrorCode errorCode) { chain.then(new ShareFlow() { @Override public void setup() { + // DEBT: NoRollbackFlow — in deleteEip flow(new NoRollbackFlow() { String __name__ = "pre-delete-eip"; @@ -888,6 +933,7 @@ public void run(FlowTrigger trigger, Map data) { } }); + // DEBT: NoRollbackFlow — reason TBD flow(new NoRollbackFlow() { String __name__ = "delete-eip-from-backend"; @@ -915,6 +961,7 @@ public void fail(ErrorCode errorCode) { flow(f); } + // DEBT: NoRollbackFlow — reason TBD flow(new NoRollbackFlow() { String __name__ = "release-vip"; @@ -1208,6 +1255,7 @@ private void detachEip(final EipStruct struct, final String providerType, final chain.then(new ShareFlow() { @Override public void setup() { + // DEBT: NoRollbackFlow — in detachEip flow(new NoRollbackFlow() { String __name__ = "pre-delete-eip"; @@ -1221,6 +1269,7 @@ public void run(FlowTrigger trigger, Map data) { } }); + // DEBT: NoRollbackFlow — in detachEip flow(new NoRollbackFlow() { String __name__ = "delete-eip-from-backend"; @@ -1250,6 +1299,7 @@ public void fail(ErrorCode errorCode) { } } + // DEBT: NoRollbackFlow — reason TBD flow(new NoRollbackFlow() { String __name__ = "remove-l3network-from-vip"; @Override @@ -1329,6 +1379,7 @@ private void doAttachEip(final EipStruct struct, final String providerType, fina chain.then(new ShareFlow() { @Override public void setup() { + // DEBT: NoRollbackFlow — in doAttachEip flow(new NoRollbackFlow() { String __name__ = "pre-create-eip"; diff --git a/plugin/expon/src/main/java/org/zstack/expon/ExponApiHelper.java b/plugin/expon/src/main/java/org/zstack/expon/ExponApiHelper.java index 0bf3df33f8d..148597e9c77 100644 --- a/plugin/expon/src/main/java/org/zstack/expon/ExponApiHelper.java +++ b/plugin/expon/src/main/java/org/zstack/expon/ExponApiHelper.java @@ -7,20 +7,159 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Configurable; import org.zstack.core.singleflight.MultiNodeSingleFlightImpl; -import org.zstack.expon.sdk.*; +import org.zstack.expon.sdk.ExponAction; +import org.zstack.expon.sdk.ExponApiException; +import org.zstack.expon.sdk.ExponClient; +import org.zstack.expon.sdk.ExponQueryRequest; +import org.zstack.expon.sdk.ExponQueryResponse; +import org.zstack.expon.sdk.ExponRequest; +import org.zstack.expon.sdk.ExponResponse; +import org.zstack.expon.sdk.LoginExponRequest; +import org.zstack.expon.sdk.LoginExponResponse; import org.zstack.expon.sdk.cluster.QueryTianshuClusterRequest; import org.zstack.expon.sdk.cluster.QueryTianshuClusterResponse; import org.zstack.expon.sdk.cluster.TianshuClusterModule; import org.zstack.expon.sdk.config.SetTrashExpireTimeRequest; import org.zstack.expon.sdk.config.SetTrashExpireTimeResponse; -import org.zstack.expon.sdk.iscsi.*; -import org.zstack.expon.sdk.nvmf.*; -import org.zstack.expon.sdk.pool.*; +import org.zstack.expon.sdk.iscsi.AddIscsiClientGroupToIscsiTargetRequest; +import org.zstack.expon.sdk.iscsi.AddIscsiClientGroupToIscsiTargetResponse; +import org.zstack.expon.sdk.iscsi.ChangeIscsiClientGroupRequest; +import org.zstack.expon.sdk.iscsi.ChangeIscsiClientGroupResponse; +import org.zstack.expon.sdk.iscsi.ChangeSnapshotInIscsiClientGroupRequest; +import org.zstack.expon.sdk.iscsi.ChangeSnapshotInIscsiClientGroupResponse; +import org.zstack.expon.sdk.iscsi.ChangeVolumeInIscsiClientGroupRequest; +import org.zstack.expon.sdk.iscsi.ChangeVolumeInIscsiClientGroupResponse; +import org.zstack.expon.sdk.iscsi.CreateIscsiClientGroupRequest; +import org.zstack.expon.sdk.iscsi.CreateIscsiClientGroupResponse; +import org.zstack.expon.sdk.iscsi.CreateIscsiTargetRequest; +import org.zstack.expon.sdk.iscsi.CreateIscsiTargetResponse; +import org.zstack.expon.sdk.iscsi.DeleteIscsiClientGroupRequest; +import org.zstack.expon.sdk.iscsi.DeleteIscsiClientGroupResponse; +import org.zstack.expon.sdk.iscsi.DeleteIscsiTargetRequest; +import org.zstack.expon.sdk.iscsi.DeleteIscsiTargetResponse; +import org.zstack.expon.sdk.iscsi.GetIscsiClientGroupAttachedTargetRequest; +import org.zstack.expon.sdk.iscsi.GetIscsiClientGroupAttachedTargetResponse; +import org.zstack.expon.sdk.iscsi.GetIscsiClientGroupRequest; +import org.zstack.expon.sdk.iscsi.GetIscsiClientGroupResponse; +import org.zstack.expon.sdk.iscsi.GetIscsiTargetRequest; +import org.zstack.expon.sdk.iscsi.GetIscsiTargetResponse; +import org.zstack.expon.sdk.iscsi.GetIscsiTargetServerRequest; +import org.zstack.expon.sdk.iscsi.GetIscsiTargetServerResponse; +import org.zstack.expon.sdk.iscsi.GetSnapshotsInIscsiClientGroupRequest; +import org.zstack.expon.sdk.iscsi.GetSnapshotsInIscsiClientGroupResponse; +import org.zstack.expon.sdk.iscsi.GetVolumeBoundIscsiClientGroupRequest; +import org.zstack.expon.sdk.iscsi.GetVolumeBoundIscsiClientGroupResponse; +import org.zstack.expon.sdk.iscsi.GetVolumesInIscsiClientGroupRequest; +import org.zstack.expon.sdk.iscsi.GetVolumesInIscsiClientGroupResponse; +import org.zstack.expon.sdk.iscsi.IscsiClient; +import org.zstack.expon.sdk.iscsi.IscsiClientGroupModule; +import org.zstack.expon.sdk.iscsi.IscsiClientMappedLunModule; +import org.zstack.expon.sdk.iscsi.IscsiModule; +import org.zstack.expon.sdk.iscsi.IscsiSeverNode; +import org.zstack.expon.sdk.iscsi.IscsiUssResource; +import org.zstack.expon.sdk.iscsi.LunBoundIscsiClientGroupModule; +import org.zstack.expon.sdk.iscsi.QueryIscsiClientGroupRequest; +import org.zstack.expon.sdk.iscsi.QueryIscsiClientGroupResponse; +import org.zstack.expon.sdk.iscsi.QueryIscsiTargetRequest; +import org.zstack.expon.sdk.iscsi.QueryIscsiTargetResponse; +import org.zstack.expon.sdk.iscsi.RemoveIscsiClientGroupFromIscsiTargetRequest; +import org.zstack.expon.sdk.iscsi.RemoveIscsiClientGroupFromIscsiTargetResponse; +import org.zstack.expon.sdk.nvmf.AddNvmeClientGroupToNvmfTargetRequest; +import org.zstack.expon.sdk.nvmf.AddNvmeClientGroupToNvmfTargetResponse; +import org.zstack.expon.sdk.nvmf.BindNvmfTargetToUssRequest; +import org.zstack.expon.sdk.nvmf.BindNvmfTargetToUssResponse; +import org.zstack.expon.sdk.nvmf.ChangeNvmeClientGroupRequest; +import org.zstack.expon.sdk.nvmf.ChangeNvmeClientGroupResponse; +import org.zstack.expon.sdk.nvmf.ChangeVolumeInNvmfClientGroupRequest; +import org.zstack.expon.sdk.nvmf.ChangeVolumeInNvmfClientGroupResponse; +import org.zstack.expon.sdk.nvmf.CreateNvmfClientGroupRequest; +import org.zstack.expon.sdk.nvmf.CreateNvmfClientGroupResponse; +import org.zstack.expon.sdk.nvmf.CreateNvmfTargetRequest; +import org.zstack.expon.sdk.nvmf.CreateNvmfTargetResponse; +import org.zstack.expon.sdk.nvmf.DeleteNvmfClientGroupRequest; +import org.zstack.expon.sdk.nvmf.DeleteNvmfClientGroupResponse; +import org.zstack.expon.sdk.nvmf.DeleteNvmfTargetRequest; +import org.zstack.expon.sdk.nvmf.DeleteNvmfTargetResponse; +import org.zstack.expon.sdk.nvmf.GetNvmfTargetBoundUssRequest; +import org.zstack.expon.sdk.nvmf.GetNvmfTargetBoundUssResponse; +import org.zstack.expon.sdk.nvmf.NvmfBoundUssGatewayRefModule; +import org.zstack.expon.sdk.nvmf.NvmfClient; +import org.zstack.expon.sdk.nvmf.NvmfClientGroupModule; +import org.zstack.expon.sdk.nvmf.NvmfModule; +import org.zstack.expon.sdk.nvmf.QueryNvmfClientGroupRequest; +import org.zstack.expon.sdk.nvmf.QueryNvmfClientGroupResponse; +import org.zstack.expon.sdk.nvmf.QueryNvmfTargetRequest; +import org.zstack.expon.sdk.nvmf.QueryNvmfTargetResponse; +import org.zstack.expon.sdk.nvmf.RemoveNvmeClientGroupFromNvmfTargetRequest; +import org.zstack.expon.sdk.nvmf.RemoveNvmeClientGroupFromNvmfTargetResponse; +import org.zstack.expon.sdk.nvmf.UnbindNvmfTargetFromUssRequest; +import org.zstack.expon.sdk.nvmf.UnbindNvmfTargetFromUssResponse; +import org.zstack.expon.sdk.pool.BlacklistModule; +import org.zstack.expon.sdk.pool.ClearFailureDomainBlacklistRequest; +import org.zstack.expon.sdk.pool.ClearFailureDomainBlacklistResponse; +import org.zstack.expon.sdk.pool.FailureDomainModule; +import org.zstack.expon.sdk.pool.GetFailureDomainBlacklistRequest; +import org.zstack.expon.sdk.pool.GetFailureDomainBlacklistResponse; +import org.zstack.expon.sdk.pool.GetFailureDomainRequest; +import org.zstack.expon.sdk.pool.GetFailureDomainResponse; +import org.zstack.expon.sdk.pool.QueryFailureDomainRequest; +import org.zstack.expon.sdk.pool.QueryFailureDomainResponse; import org.zstack.expon.sdk.uss.QueryUssGatewayRequest; import org.zstack.expon.sdk.uss.QueryUssGatewayResponse; import org.zstack.expon.sdk.uss.UssGatewayModule; -import org.zstack.expon.sdk.vhost.*; -import org.zstack.expon.sdk.volume.*; +import org.zstack.expon.sdk.vhost.AddVhostControllerToUssRequest; +import org.zstack.expon.sdk.vhost.AddVhostControllerToUssResponse; +import org.zstack.expon.sdk.vhost.CreateVhostControllerRequest; +import org.zstack.expon.sdk.vhost.CreateVhostControllerResponse; +import org.zstack.expon.sdk.vhost.DeleteVhostControllerRequest; +import org.zstack.expon.sdk.vhost.DeleteVhostControllerResponse; +import org.zstack.expon.sdk.vhost.GetVhostControllerBoundUssRequest; +import org.zstack.expon.sdk.vhost.GetVhostControllerBoundUssResponse; +import org.zstack.expon.sdk.vhost.QueryVhostControllerRequest; +import org.zstack.expon.sdk.vhost.QueryVhostControllerResponse; +import org.zstack.expon.sdk.vhost.RemoveVhostControllerFromUssRequest; +import org.zstack.expon.sdk.vhost.RemoveVhostControllerFromUssResponse; +import org.zstack.expon.sdk.vhost.VhostControllerModule; +import org.zstack.expon.sdk.volume.AddVolumePathToBlacklistRequest; +import org.zstack.expon.sdk.volume.AddVolumePathToBlacklistResponse; +import org.zstack.expon.sdk.volume.CloneVolumeRequest; +import org.zstack.expon.sdk.volume.CloneVolumeResponse; +import org.zstack.expon.sdk.volume.CopyVolumeSnapshotRequest; +import org.zstack.expon.sdk.volume.CreateVolumeRequest; +import org.zstack.expon.sdk.volume.CreateVolumeResponse; +import org.zstack.expon.sdk.volume.CreateVolumeSnapshotRequest; +import org.zstack.expon.sdk.volume.CreateVolumeSnapshotResponse; +import org.zstack.expon.sdk.volume.DeleteVolumeRequest; +import org.zstack.expon.sdk.volume.DeleteVolumeResponse; +import org.zstack.expon.sdk.volume.DeleteVolumeSnapshotRequest; +import org.zstack.expon.sdk.volume.DeleteVolumeSnapshotResponse; +import org.zstack.expon.sdk.volume.ExpandVolumeRequest; +import org.zstack.expon.sdk.volume.ExpandVolumeResponse; +import org.zstack.expon.sdk.volume.ExponVolumeQos; +import org.zstack.expon.sdk.volume.GetVolumeLunDetailRequest; +import org.zstack.expon.sdk.volume.GetVolumeLunDetailResponse; +import org.zstack.expon.sdk.volume.GetVolumeRequest; +import org.zstack.expon.sdk.volume.GetVolumeResponse; +import org.zstack.expon.sdk.volume.GetVolumeSnapshotRequest; +import org.zstack.expon.sdk.volume.GetVolumeSnapshotResponse; +import org.zstack.expon.sdk.volume.LunResource; +import org.zstack.expon.sdk.volume.QueryVolumeRequest; +import org.zstack.expon.sdk.volume.QueryVolumeResponse; +import org.zstack.expon.sdk.volume.QueryVolumeSnapshotRequest; +import org.zstack.expon.sdk.volume.QueryVolumeSnapshotResponse; +import org.zstack.expon.sdk.volume.RecoveryVolumeSnapshotRequest; +import org.zstack.expon.sdk.volume.RecoveryVolumeSnapshotResponse; +import org.zstack.expon.sdk.volume.RemoveVolumePathFromBlacklistRequest; +import org.zstack.expon.sdk.volume.RemoveVolumePathFromBlacklistResponse; +import org.zstack.expon.sdk.volume.SetVolumeQosRequest; +import org.zstack.expon.sdk.volume.SetVolumeQosResponse; +import org.zstack.expon.sdk.volume.UpdateVolumeRequest; +import org.zstack.expon.sdk.volume.UpdateVolumeResponse; +import org.zstack.expon.sdk.volume.UpdateVolumeSnapshotRequest; +import org.zstack.expon.sdk.volume.UpdateVolumeSnapshotResponse; +import org.zstack.expon.sdk.volume.VolumeLunModule; +import org.zstack.expon.sdk.volume.VolumeModule; +import org.zstack.expon.sdk.volume.VolumeSnapshotModule; import org.zstack.header.core.Completion; import org.zstack.header.core.FutureCompletion; import org.zstack.header.core.ReturnValueCompletion; @@ -34,7 +173,11 @@ import org.zstack.utils.logging.CLogger; import java.time.LocalDate; -import java.util.*; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; +import java.util.Set; +import java.util.UUID; import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; diff --git a/plugin/expon/src/main/java/org/zstack/expon/ExponStorageController.java b/plugin/expon/src/main/java/org/zstack/expon/ExponStorageController.java index df5b1081d08..300e86d5f89 100644 --- a/plugin/expon/src/main/java/org/zstack/expon/ExponStorageController.java +++ b/plugin/expon/src/main/java/org/zstack/expon/ExponStorageController.java @@ -33,12 +33,37 @@ import org.zstack.header.host.HostVO; import org.zstack.header.host.HostVO_; import org.zstack.header.image.ImageConstant; -import org.zstack.header.storage.addon.*; -import org.zstack.header.storage.addon.primary.*; +import org.zstack.header.storage.addon.IscsiRemoteTarget; +import org.zstack.header.storage.addon.NodeHealthy; +import org.zstack.header.storage.addon.NvmeRemoteTarget; +import org.zstack.header.storage.addon.RemoteTarget; +import org.zstack.header.storage.addon.StorageCapacity; +import org.zstack.header.storage.addon.StorageHealthy; +import org.zstack.header.storage.addon.primary.ActiveVolumeClient; +import org.zstack.header.storage.addon.primary.ActiveVolumeTO; +import org.zstack.header.storage.addon.primary.AddonInfo; +import org.zstack.header.storage.addon.primary.AllocateSpaceSpec; +import org.zstack.header.storage.addon.primary.BaseVolumeInfo; +import org.zstack.header.storage.addon.primary.CreateVolumeSnapshotSpec; +import org.zstack.header.storage.addon.primary.CreateVolumeSpec; +import org.zstack.header.storage.addon.primary.ExportSpec; +import org.zstack.header.storage.addon.primary.ExternalPrimaryStorageVO; +import org.zstack.header.storage.addon.primary.ExternalPrimaryStorageVO_; +import org.zstack.header.storage.addon.primary.HeartbeatVolumeTopology; +import org.zstack.header.storage.addon.primary.PingResult; +import org.zstack.header.storage.addon.primary.PrimaryStorageControllerSvc; +import org.zstack.header.storage.addon.primary.PrimaryStorageNodeSvc; +import org.zstack.header.storage.addon.primary.StorageCapabilities; import org.zstack.header.storage.primary.ImageCacheInventory; import org.zstack.header.storage.primary.VolumeSnapshotCapability; import org.zstack.header.storage.snapshot.VolumeSnapshotStats; -import org.zstack.header.volume.*; +import org.zstack.header.volume.Volume; +import org.zstack.header.volume.VolumeConstant; +import org.zstack.header.volume.VolumeInventory; +import org.zstack.header.volume.VolumeProtocol; +import org.zstack.header.volume.VolumeStats; +import org.zstack.header.volume.VolumeVO; +import org.zstack.header.volume.VolumeVO_; import org.zstack.header.volume.block.BlockVolumeVO; import org.zstack.iscsi.IscsiUtils; import org.zstack.iscsi.kvm.IscsiHeartbeatVolumeTO; @@ -56,7 +81,12 @@ import java.io.UnsupportedEncodingException; import java.net.URI; import java.net.URLDecoder; -import java.util.*; +import java.util.Collection; +import java.util.Collections; +import java.util.Comparator; +import java.util.List; +import java.util.Map; +import java.util.Set; import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; @@ -1390,7 +1420,9 @@ private void retry(Runnable r, int retry) { logger.warn("runnable failed, try ", e); try { TimeUnit.SECONDS.sleep(3); - } catch (InterruptedException ignore) {} + } catch (InterruptedException ie) { + Thread.currentThread().interrupt(); + } } } } diff --git a/plugin/expon/src/main/java/org/zstack/expon/ExponStorageFactory.java b/plugin/expon/src/main/java/org/zstack/expon/ExponStorageFactory.java index 4086058d198..3ea6dfc2ffd 100644 --- a/plugin/expon/src/main/java/org/zstack/expon/ExponStorageFactory.java +++ b/plugin/expon/src/main/java/org/zstack/expon/ExponStorageFactory.java @@ -3,7 +3,12 @@ import org.zstack.core.singleflight.MultiNodeSingleFlightImpl; import org.zstack.externalStorage.primary.ExternalStorageFencerType; import org.zstack.header.core.ReturnValueCompletion; -import org.zstack.header.storage.addon.primary.*; +import org.zstack.header.storage.addon.primary.AddonInfo; +import org.zstack.header.storage.addon.primary.BackupStorageSelector; +import org.zstack.header.storage.addon.primary.ExternalPrimaryStorageSvcBuilder; +import org.zstack.header.storage.addon.primary.ExternalPrimaryStorageVO; +import org.zstack.header.storage.addon.primary.PrimaryStorageControllerSvc; +import org.zstack.header.storage.addon.primary.PrimaryStorageNodeSvc; import org.zstack.header.volume.VolumeAfterExpungeExtensionPoint; import org.zstack.header.volume.VolumeInventory; import org.zstack.header.volume.VolumeProtocol; diff --git a/plugin/externalStorage/src/main/java/org/zstack/externalStorage/primary/ExternalPrimaryStorageAllocator.java b/plugin/externalStorage/src/main/java/org/zstack/externalStorage/primary/ExternalPrimaryStorageAllocator.java index 41a0b090fc5..3e6f6ddddd5 100644 --- a/plugin/externalStorage/src/main/java/org/zstack/externalStorage/primary/ExternalPrimaryStorageAllocator.java +++ b/plugin/externalStorage/src/main/java/org/zstack/externalStorage/primary/ExternalPrimaryStorageAllocator.java @@ -109,6 +109,7 @@ public Flow marshalVmOperationFlow(String previousFlowName, String nextFlowName, if (candidateUrls.contains(requiredUrl)) { return null; } else { + // DEBT: NoRollbackFlow — reason TBD return new NoRollbackFlow() { @Override public void run(FlowTrigger trigger, Map data) { diff --git a/plugin/externalStorage/src/main/java/org/zstack/externalStorage/primary/kvm/ExternalPrimaryStorageKvmFactory.java b/plugin/externalStorage/src/main/java/org/zstack/externalStorage/primary/kvm/ExternalPrimaryStorageKvmFactory.java index 6e5c0c591b8..b25d0410ad0 100644 --- a/plugin/externalStorage/src/main/java/org/zstack/externalStorage/primary/kvm/ExternalPrimaryStorageKvmFactory.java +++ b/plugin/externalStorage/src/main/java/org/zstack/externalStorage/primary/kvm/ExternalPrimaryStorageKvmFactory.java @@ -11,8 +11,18 @@ import org.zstack.core.db.SQL; import org.zstack.core.workflow.FlowChainBuilder; import org.zstack.externalStorage.primary.ExternalStorageConstant; -import org.zstack.header.core.*; -import org.zstack.header.core.workflow.*; +import org.zstack.header.core.Completion; +import org.zstack.header.core.NoErrorCompletion; +import org.zstack.header.core.NopeCompletion; +import org.zstack.header.core.ReturnValueCompletion; +import org.zstack.header.core.WhileDoneCompletion; +import org.zstack.header.core.workflow.Flow; +import org.zstack.header.core.workflow.FlowChain; +import org.zstack.header.core.workflow.FlowDoneHandler; +import org.zstack.header.core.workflow.FlowErrorHandler; +import org.zstack.header.core.workflow.FlowTrigger; +import org.zstack.header.core.workflow.NoRollbackFlow; +import org.zstack.header.core.workflow.NopeFlow; import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.errorcode.ErrorCodeList; import org.zstack.header.errorcode.OperationFailureException; @@ -22,14 +32,31 @@ import org.zstack.header.message.MessageReply; import org.zstack.header.storage.addon.NodeHealthy; import org.zstack.header.storage.addon.StorageHealthy; -import org.zstack.header.storage.addon.primary.*; -import org.zstack.header.storage.primary.*; +import org.zstack.header.storage.addon.primary.ActiveVolumeClient; +import org.zstack.header.storage.addon.primary.BaseVolumeInfo; +import org.zstack.header.storage.addon.primary.ExternalPrimaryStorageVO; +import org.zstack.header.storage.addon.primary.ExternalPrimaryStorageVO_; +import org.zstack.header.storage.addon.primary.PrimaryStorageNodeSvc; +import org.zstack.header.storage.primary.PrimaryStorageClusterRefVO; +import org.zstack.header.storage.primary.PrimaryStorageConstant; +import org.zstack.header.storage.primary.PrimaryStorageHostRefVO; +import org.zstack.header.storage.primary.PrimaryStorageHostRefVO_; +import org.zstack.header.storage.primary.PrimaryStorageHostStatus; +import org.zstack.header.storage.primary.PrimaryStorageInventory; +import org.zstack.header.storage.primary.UpdatePrimaryStorageHostStatusMsg; import org.zstack.header.vm.VmInstanceSpec; import org.zstack.header.vm.VmInstanceState; import org.zstack.header.volume.VolumeInventory; import org.zstack.header.volume.VolumeVO; import org.zstack.header.volume.VolumeVO_; -import org.zstack.kvm.*; +import org.zstack.kvm.KVMAgentCommands; +import org.zstack.kvm.KVMConstant; +import org.zstack.kvm.KVMHostConnectExtensionPoint; +import org.zstack.kvm.KVMHostConnectedContext; +import org.zstack.kvm.KVMHostInventory; +import org.zstack.kvm.KVMPingAgentNoFailureExtensionPoint; +import org.zstack.kvm.KVMStartVmExtensionPoint; +import org.zstack.kvm.KvmVmActiveVolumeSyncExtensionPoint; import org.zstack.storage.addon.primary.ExternalPrimaryStorageFactory; import org.zstack.utils.CollectionUtils; import org.zstack.utils.Utils; @@ -85,6 +112,7 @@ public Flow createKvmHostConnectingFlow(KVMHostConnectedContext context) { return new NopeFlow(); } + // DEBT: NoRollbackFlow — in createKvmHostConnectingFlow return new NoRollbackFlow() { final String __name__ = "prepare-external-primary-storage"; @@ -124,6 +152,7 @@ public void done(ErrorCodeList errList) { private void doPrepareExternalPrimaryStorage(final KVMHostConnectedContext context, List extPss, Completion completion) { FlowChain chain = FlowChainBuilder.newSimpleFlowChain(); chain.setName("do-prepare-external-primary-storage"); + // DEBT: NoRollbackFlow — in doPrepareExternalPrimaryStorage chain.then(new NoRollbackFlow() { String __name__ = "deploy-client"; @@ -141,6 +170,7 @@ public void done(ErrorCodeList errorCodeList) { } }); } + // DEBT: NoRollbackFlow — in doPrepareExternalPrimaryStorage }).then(new NoRollbackFlow() { String __name__ = "check-host-status"; diff --git a/plugin/flatNetworkProvider/src/main/java/org/zstack/network/service/flat/DhcpApply.java b/plugin/flatNetworkProvider/src/main/java/org/zstack/network/service/flat/DhcpApply.java index 5e5c3d6a464..08f9281f6ee 100644 --- a/plugin/flatNetworkProvider/src/main/java/org/zstack/network/service/flat/DhcpApply.java +++ b/plugin/flatNetworkProvider/src/main/java/org/zstack/network/service/flat/DhcpApply.java @@ -8,7 +8,11 @@ import org.zstack.core.workflow.ShareFlow; import org.zstack.header.core.Completion; import org.zstack.header.core.WhileDoneCompletion; -import org.zstack.header.core.workflow.*; +import org.zstack.header.core.workflow.FlowChain; +import org.zstack.header.core.workflow.FlowDoneHandler; +import org.zstack.header.core.workflow.FlowErrorHandler; +import org.zstack.header.core.workflow.FlowTrigger; +import org.zstack.header.core.workflow.NoRollbackFlow; import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.errorcode.ErrorCodeList; import org.zstack.header.host.HostConstant; @@ -140,6 +144,7 @@ void apply(Map> e, String hostUuid, boole @Override public void setup() { + // DEBT: NoRollbackFlow — reason TBD flow(new NoRollbackFlow() { String __name__ = "batch-acquire-dhcp-ip"; @@ -174,6 +179,7 @@ public void done(ErrorCodeList errorCodeList) { } }); + // DEBT: NoRollbackFlow — reason TBD flow(new NoRollbackFlow() { String __name__ = "batch-prepare-distributed-dhcp-server-on-host"; @@ -233,6 +239,7 @@ public void done(ErrorCodeList errorCodeList) { } }); + // DEBT: NoRollbackFlow — reason TBD flow(new NoRollbackFlow() { String __name__ = "batch-apply-dhcp"; diff --git a/plugin/flatNetworkProvider/src/main/java/org/zstack/network/service/flat/FlatDhcpBackend.java b/plugin/flatNetworkProvider/src/main/java/org/zstack/network/service/flat/FlatDhcpBackend.java index 962be8fe4ef..9bb491856dc 100755 --- a/plugin/flatNetworkProvider/src/main/java/org/zstack/network/service/flat/FlatDhcpBackend.java +++ b/plugin/flatNetworkProvider/src/main/java/org/zstack/network/service/flat/FlatDhcpBackend.java @@ -25,12 +25,29 @@ import org.zstack.header.AbstractService; import org.zstack.header.apimediator.ApiMessageInterceptionException; import org.zstack.header.apimediator.GlobalApiMessageInterceptor; -import org.zstack.header.core.*; -import org.zstack.header.core.workflow.*; +import org.zstack.header.core.Completion; +import org.zstack.header.core.NoErrorCompletion; +import org.zstack.header.core.NopeCompletion; +import org.zstack.header.core.NopeNoErrorCompletion; +import org.zstack.header.core.ReturnValueCompletion; +import org.zstack.header.core.WhileDoneCompletion; +import org.zstack.header.core.workflow.Flow; +import org.zstack.header.core.workflow.FlowChain; +import org.zstack.header.core.workflow.FlowDoneHandler; +import org.zstack.header.core.workflow.FlowErrorHandler; +import org.zstack.header.core.workflow.FlowRollback; +import org.zstack.header.core.workflow.FlowTrigger; +import org.zstack.header.core.workflow.NoRollbackFlow; import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.errorcode.ErrorCodeList; import org.zstack.header.errorcode.OperationFailureException; -import org.zstack.header.host.*; +import org.zstack.header.host.HostConstant; +import org.zstack.header.host.HostErrors; +import org.zstack.header.host.HostInventory; +import org.zstack.header.host.HostState; +import org.zstack.header.host.HostStatus; +import org.zstack.header.host.HostVO; +import org.zstack.header.host.HostVO_; import org.zstack.header.message.APIMessage; import org.zstack.header.message.Message; import org.zstack.header.message.MessageReply; @@ -38,16 +55,78 @@ import org.zstack.header.network.l2.L2NetworkClusterRefVO; import org.zstack.header.network.l2.L2NetworkInventory; import org.zstack.header.network.l2.L2NetworkVO; -import org.zstack.header.network.l3.*; +import org.zstack.header.network.l3.APIAddIpRangeByNetworkCidrMsg; +import org.zstack.header.network.l3.APIAddIpRangeMsg; +import org.zstack.header.network.l3.APIAddIpv6RangeByNetworkCidrMsg; +import org.zstack.header.network.l3.APIAddIpv6RangeMsg; +import org.zstack.header.network.l3.APIDeleteIpAddressMsg; +import org.zstack.header.network.l3.APIDeleteIpRangeMsg; +import org.zstack.header.network.l3.AfterAddIpRangeExtensionPoint; +import org.zstack.header.network.l3.AllocateIpMsg; +import org.zstack.header.network.l3.AllocateIpReply; +import org.zstack.header.network.l3.CheckIpAvailabilityMsg; +import org.zstack.header.network.l3.CheckIpAvailabilityReply; +import org.zstack.header.network.l3.IpAllocatorStrategy; +import org.zstack.header.network.l3.IpAllocatorType; +import org.zstack.header.network.l3.IpRangeDeletionExtensionPoint; +import org.zstack.header.network.l3.IpRangeInventory; +import org.zstack.header.network.l3.IpRangeVO; +import org.zstack.header.network.l3.L3NetworkConstant; +import org.zstack.header.network.l3.L3NetworkDeleteExtensionPoint; +import org.zstack.header.network.l3.L3NetworkInventory; +import org.zstack.header.network.l3.L3NetworkVO; +import org.zstack.header.network.l3.L3NetworkVO_; +import org.zstack.header.network.l3.NormalIpRangeVO; +import org.zstack.header.network.l3.NormalIpRangeVO_; +import org.zstack.header.network.l3.ReservedIpRangeVO; +import org.zstack.header.network.l3.ReturnIpMsg; +import org.zstack.header.network.l3.UsedIpInventory; +import org.zstack.header.network.l3.UsedIpVO; +import org.zstack.header.network.l3.UsedIpVO_; import org.zstack.header.network.l3.SdnControllerUpdateDHCPMsg; import org.zstack.header.network.sdncontroller.SdnControllerConstant; -import org.zstack.header.network.service.*; +import org.zstack.header.network.service.APIAttachNetworkServiceToL3NetworkMsg; +import org.zstack.header.network.service.APIDetachNetworkServiceFromL3NetworkMsg; +import org.zstack.header.network.service.DhcpServerExtensionPoint; +import org.zstack.header.network.service.DhcpStruct; +import org.zstack.header.network.service.DnsServiceExtensionPoint; +import org.zstack.header.network.service.L3NetworkUpdateDhcpMsg; +import org.zstack.header.network.service.L3NetworkUpdateDhcpReply; +import org.zstack.header.network.service.NetworkServiceDhcpBackend; +import org.zstack.header.network.service.NetworkServiceL3NetworkRefVO; +import org.zstack.header.network.service.NetworkServiceProviderType; +import org.zstack.header.network.service.NetworkServiceProviderVO; +import org.zstack.header.network.service.NetworkServiceProviderVO_; +import org.zstack.header.network.service.NetworkServiceType; import org.zstack.network.l3.L3NetworkHelper; -import org.zstack.header.vm.*; +import org.zstack.header.vm.BeforeStartNewCreatedVmExtensionPoint; +import org.zstack.header.vm.VmAbnormalLifeCycleExtensionPoint; +import org.zstack.header.vm.VmAbnormalLifeCycleStruct; +import org.zstack.header.vm.VmInstanceConstant; +import org.zstack.header.vm.VmInstanceInventory; +import org.zstack.header.vm.VmInstanceMigrateExtensionPoint; +import org.zstack.header.vm.VmInstanceSpec; +import org.zstack.header.vm.VmInstanceState; +import org.zstack.header.vm.VmInstanceVO; +import org.zstack.header.vm.VmInstanceVO_; +import org.zstack.header.vm.VmNicHelper; +import org.zstack.header.vm.VmNicInventory; +import org.zstack.header.vm.VmNicSpec; +import org.zstack.header.vm.VmNicVO; +import org.zstack.header.vm.VmNicVO_; import org.zstack.header.vm.VmAbnormalLifeCycleStruct.VmAbnormalLifeCycleOperation; import org.zstack.identity.AccountManager; -import org.zstack.kvm.*; +import org.zstack.kvm.KVMAgentCommands; +import org.zstack.kvm.KVMConstant; +import org.zstack.kvm.KVMHostAsyncHttpCallMsg; +import org.zstack.kvm.KVMHostAsyncHttpCallReply; +import org.zstack.kvm.KVMHostConnectExtensionPoint; +import org.zstack.kvm.KVMHostConnectedContext; +import org.zstack.kvm.KVMHostInventory; +import org.zstack.kvm.KVMSystemTags; +import org.zstack.kvm.KvmCommandSender; +import org.zstack.kvm.KvmResponseWrapper; import org.zstack.kvm.KvmCommandSender.SteppingSendCallback; import org.zstack.network.l3.CheckIpAddressAvailabilityExtensionPoint; import org.zstack.network.l3.L3NetworkManager; @@ -76,7 +155,14 @@ import javax.persistence.TypedQuery; import java.math.BigInteger; import java.sql.Timestamp; -import java.util.*; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Set; import java.util.concurrent.Callable; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.CopyOnWriteArrayList; @@ -341,6 +427,7 @@ public void rollback(FlowRollback trigger, Map data) { trigger.rollback(); } + // DEBT: NoRollbackFlow — in rollback }).then(new NoRollbackFlow() { String __name__ = "refresh-dhcp-server-on-hosts"; @@ -363,6 +450,7 @@ public void fail(ErrorCode errorCode) { } }); } + // DEBT: NoRollbackFlow — in rollback }).then(new NoRollbackFlow() { String __name__ = "refresh-dhcp-server-on-sdn-controller"; @@ -1691,6 +1779,7 @@ public void fail(ErrorCode errorCode) { @Override public Flow createKvmHostConnectingFlow(final KVMHostConnectedContext context) { + // DEBT: NoRollbackFlow — in createKvmHostConnectingFlow return new NoRollbackFlow() { String __name__ = "prepare-flat-dhcp"; diff --git a/plugin/flatNetworkProvider/src/main/java/org/zstack/network/service/flat/FlatDnsBackend.java b/plugin/flatNetworkProvider/src/main/java/org/zstack/network/service/flat/FlatDnsBackend.java index 552fd1c11a4..eeb182e3b36 100755 --- a/plugin/flatNetworkProvider/src/main/java/org/zstack/network/service/flat/FlatDnsBackend.java +++ b/plugin/flatNetworkProvider/src/main/java/org/zstack/network/service/flat/FlatDnsBackend.java @@ -20,7 +20,10 @@ import org.zstack.header.managementnode.PrepareDbInitialValueExtensionPoint; import org.zstack.header.message.MessageReply; import org.zstack.header.network.l3.L3NetworkInventory; -import org.zstack.header.network.service.*; +import org.zstack.header.network.service.DnsStruct; +import org.zstack.header.network.service.L3NetworkUpdateDhcpMsg; +import org.zstack.header.network.service.NetworkServiceDnsBackend; +import org.zstack.header.network.service.NetworkServiceProviderType; import org.zstack.header.vm.VmInstanceSpec; import org.zstack.kvm.*; import org.zstack.utils.CollectionUtils; @@ -29,7 +32,7 @@ import org.zstack.utils.logging.CLogger; import javax.persistence.TypedQuery; -import java.util.*; +import java.util.List; import java.util.concurrent.Callable; /** diff --git a/plugin/flatNetworkProvider/src/main/java/org/zstack/network/service/flat/FlatEipApiInterceptor.java b/plugin/flatNetworkProvider/src/main/java/org/zstack/network/service/flat/FlatEipApiInterceptor.java index b05ee6c2cc7..0459ce8ecf4 100644 --- a/plugin/flatNetworkProvider/src/main/java/org/zstack/network/service/flat/FlatEipApiInterceptor.java +++ b/plugin/flatNetworkProvider/src/main/java/org/zstack/network/service/flat/FlatEipApiInterceptor.java @@ -14,7 +14,11 @@ import org.zstack.header.vm.VmNicVO; import org.zstack.header.vm.VmNicVO_; import org.zstack.network.service.NetworkServiceManager; -import org.zstack.network.service.eip.*; +import org.zstack.network.service.eip.APIAttachEipMsg; +import org.zstack.network.service.eip.APICreateEipMsg; +import org.zstack.network.service.eip.EipConstant; +import org.zstack.network.service.eip.EipVO; +import org.zstack.network.service.eip.EipVO_; import org.zstack.network.service.vip.Vip; import org.zstack.network.service.vip.VipVO; import org.zstack.network.service.vip.VipVO_; diff --git a/plugin/flatNetworkProvider/src/main/java/org/zstack/network/service/flat/FlatEipBackend.java b/plugin/flatNetworkProvider/src/main/java/org/zstack/network/service/flat/FlatEipBackend.java index 5f0b1fb23e7..101f4a12df8 100755 --- a/plugin/flatNetworkProvider/src/main/java/org/zstack/network/service/flat/FlatEipBackend.java +++ b/plugin/flatNetworkProvider/src/main/java/org/zstack/network/service/flat/FlatEipBackend.java @@ -28,9 +28,31 @@ import org.zstack.header.message.MessageReply; import org.zstack.header.network.l2.L2NetworkClusterRefVO; import org.zstack.header.network.l2.L2NetworkClusterRefVO_; -import org.zstack.header.network.l3.*; -import org.zstack.header.network.service.*; -import org.zstack.header.vm.*; +import org.zstack.header.network.l3.L3Network; +import org.zstack.header.network.l3.L3NetworkCategory; +import org.zstack.header.network.l3.L3NetworkConstant; +import org.zstack.header.network.l3.L3NetworkInventory; +import org.zstack.header.network.l3.L3NetworkVO; +import org.zstack.header.network.l3.L3NetworkVO_; +import org.zstack.header.network.l3.NormalIpRangeVO; +import org.zstack.header.network.l3.NormalIpRangeVO_; +import org.zstack.header.network.l3.UsedIpVO; +import org.zstack.header.network.service.AfterApplyFlatEipExtensionPoint; +import org.zstack.header.network.service.NetworkServiceL3NetworkRefVO; +import org.zstack.header.network.service.NetworkServiceProviderType; +import org.zstack.header.network.service.NetworkServiceProviderVO; +import org.zstack.header.network.service.NetworkServiceProviderVO_; +import org.zstack.header.vm.VmAbnormalLifeCycleExtensionPoint; +import org.zstack.header.vm.VmAbnormalLifeCycleStruct; +import org.zstack.header.vm.VmInstanceInventory; +import org.zstack.header.vm.VmInstanceMigrateExtensionPoint; +import org.zstack.header.vm.VmInstanceNicFactory; +import org.zstack.header.vm.VmInstanceState; +import org.zstack.header.vm.VmInstanceVO; +import org.zstack.header.vm.VmInstanceVO_; +import org.zstack.header.vm.VmNicInventory; +import org.zstack.header.vm.VmNicType; +import org.zstack.header.vm.VmNicVO; import org.zstack.header.vm.VmAbnormalLifeCycleStruct.VmAbnormalLifeCycleOperation; import org.zstack.kvm.KVMHostAsyncHttpCallMsg; import org.zstack.kvm.KVMHostAsyncHttpCallReply; @@ -38,7 +60,15 @@ import org.zstack.kvm.KVMHostConnectedContext; import org.zstack.network.service.NetworkServiceFilter; import org.zstack.network.service.NetworkServiceManager; -import org.zstack.network.service.eip.*; +import org.zstack.network.service.eip.EipBackend; +import org.zstack.network.service.eip.EipConstant; +import org.zstack.network.service.eip.EipInventory; +import org.zstack.network.service.eip.EipStruct; +import org.zstack.network.service.eip.EipVO; +import org.zstack.network.service.eip.EipVO_; +import org.zstack.network.service.eip.FilterVmNicsForEipInVirtualRouterExtensionPoint; +import org.zstack.network.service.eip.GetEipAttachableL3UuidsForVmNicExtensionPoint; +import org.zstack.network.service.eip.GetL3NetworkForEipInVirtualRouterExtensionPoint; import org.zstack.network.service.flat.FlatNetworkServiceConstant.AgentCmd; import org.zstack.network.service.flat.FlatNetworkServiceConstant.AgentRsp; import org.zstack.network.service.vip.VipInventory; @@ -55,7 +85,11 @@ import javax.persistence.Tuple; import javax.persistence.TypedQuery; -import java.util.*; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; import java.util.stream.Collectors; import static java.util.Arrays.asList; @@ -558,6 +592,7 @@ public String call(EipTO arg) { @Override public Flow createKvmHostConnectingFlow(final KVMHostConnectedContext context) { + // DEBT: NoRollbackFlow — in createKvmHostConnectingFlow return new NoRollbackFlow() { String __name__ = "sync-distributed-eip"; diff --git a/plugin/flatNetworkProvider/src/main/java/org/zstack/network/service/flat/FlatHostRouteBackend.java b/plugin/flatNetworkProvider/src/main/java/org/zstack/network/service/flat/FlatHostRouteBackend.java index c48dd792217..cf3c26e2359 100755 --- a/plugin/flatNetworkProvider/src/main/java/org/zstack/network/service/flat/FlatHostRouteBackend.java +++ b/plugin/flatNetworkProvider/src/main/java/org/zstack/network/service/flat/FlatHostRouteBackend.java @@ -11,8 +11,24 @@ import org.zstack.header.core.Completion; import org.zstack.header.managementnode.PrepareDbInitialValueExtensionPoint; import org.zstack.header.message.MessageReply; -import org.zstack.header.network.l3.*; -import org.zstack.header.network.service.*; +import org.zstack.header.network.l3.L3NetworkHostRouteVO; +import org.zstack.header.network.l3.L3NetworkHostRouteVO_; +import org.zstack.header.network.l3.NormalIpRangeVO; +import org.zstack.header.network.l3.NormalIpRangeVO_; +import org.zstack.header.network.service.AddHostRouteMsg; +import org.zstack.header.network.service.DhcpServerExtensionPoint; +import org.zstack.header.network.service.L3NetworkUpdateDhcpMsg; +import org.zstack.header.network.service.NetworkServiceConstants; +import org.zstack.header.network.service.NetworkServiceHostRouteBackend; +import org.zstack.header.network.service.NetworkServiceL3NetworkRefVO; +import org.zstack.header.network.service.NetworkServiceL3NetworkRefVO_; +import org.zstack.header.network.service.NetworkServiceProviderType; +import org.zstack.header.network.service.NetworkServiceProviderVO; +import org.zstack.header.network.service.NetworkServiceProviderVO_; +import org.zstack.header.network.service.NetworkServiceType; +import org.zstack.header.network.service.NetworkServiceTypeVO; +import org.zstack.header.network.service.NetworkServiceTypeVO_; +import org.zstack.header.network.service.RemoveHostRouteMsg; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; import org.zstack.utils.network.NetworkUtils; diff --git a/plugin/flatNetworkProvider/src/main/java/org/zstack/network/service/flat/FlatProviderFactory.java b/plugin/flatNetworkProvider/src/main/java/org/zstack/network/service/flat/FlatProviderFactory.java index dacc2d2a985..2858494bf63 100755 --- a/plugin/flatNetworkProvider/src/main/java/org/zstack/network/service/flat/FlatProviderFactory.java +++ b/plugin/flatNetworkProvider/src/main/java/org/zstack/network/service/flat/FlatProviderFactory.java @@ -11,7 +11,17 @@ import org.zstack.header.network.l2.L2NetworkCreateExtensionPoint; import org.zstack.header.network.l2.L2NetworkInventory; import org.zstack.header.network.l2.VSwitchType; -import org.zstack.header.network.service.*; +import org.zstack.header.network.service.APIAddNetworkServiceProviderMsg; +import org.zstack.header.network.service.NetworkServiceProvider; +import org.zstack.header.network.service.NetworkServiceProviderFactory; +import org.zstack.header.network.service.NetworkServiceProviderInventory; +import org.zstack.header.network.service.NetworkServiceProviderL2NetworkRefVO; +import org.zstack.header.network.service.NetworkServiceProviderType; +import org.zstack.header.network.service.NetworkServiceProviderVO; +import org.zstack.header.network.service.NetworkServiceProviderVO_; +import org.zstack.header.network.service.NetworkServiceType; +import org.zstack.header.network.service.NetworkServiceTypeVO; +import org.zstack.header.network.service.NetworkServiceTypeVO_; import org.zstack.network.service.eip.EipConstant; import org.zstack.network.service.userdata.UserdataConstant; import org.zstack.utils.Utils; diff --git a/plugin/flatNetworkProvider/src/main/java/org/zstack/network/service/flat/FlatUserdataBackend.java b/plugin/flatNetworkProvider/src/main/java/org/zstack/network/service/flat/FlatUserdataBackend.java index 15ef662ad80..09bb58a0cf6 100755 --- a/plugin/flatNetworkProvider/src/main/java/org/zstack/network/service/flat/FlatUserdataBackend.java +++ b/plugin/flatNetworkProvider/src/main/java/org/zstack/network/service/flat/FlatUserdataBackend.java @@ -21,7 +21,12 @@ import org.zstack.header.core.Completion; import org.zstack.header.core.ReturnValueCompletion; import org.zstack.header.core.WhileDoneCompletion; -import org.zstack.header.core.workflow.*; +import org.zstack.header.core.workflow.Flow; +import org.zstack.header.core.workflow.FlowChain; +import org.zstack.header.core.workflow.FlowDoneHandler; +import org.zstack.header.core.workflow.FlowErrorHandler; +import org.zstack.header.core.workflow.FlowTrigger; +import org.zstack.header.core.workflow.NoRollbackFlow; import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.errorcode.ErrorCodeList; import org.zstack.header.host.HostConstant; @@ -31,17 +36,46 @@ import org.zstack.header.message.MessageReply; import org.zstack.header.network.l2.L2NetworkInventory; import org.zstack.header.network.l2.L2NetworkUpdateExtensionPoint; -import org.zstack.header.network.l3.*; -import org.zstack.header.network.service.*; -import org.zstack.header.vm.*; +import org.zstack.header.network.l3.IpRangeVO; +import org.zstack.header.network.l3.L3NetworkDeleteExtensionPoint; +import org.zstack.header.network.l3.L3NetworkDnsVO; +import org.zstack.header.network.l3.L3NetworkInventory; +import org.zstack.header.network.l3.L3NetworkVO; +import org.zstack.header.network.l3.L3NetworkVO_; +import org.zstack.header.network.l3.UsedIpInventory; +import org.zstack.header.network.l3.UsedIpVO; +import org.zstack.header.network.l3.UsedIpVO_; +import org.zstack.header.network.service.NetworkServiceL3NetworkRefInventory; +import org.zstack.header.network.service.NetworkServiceL3NetworkRefVO; +import org.zstack.header.network.service.NetworkServiceProviderType; +import org.zstack.header.network.service.NetworkServiceProviderVO; +import org.zstack.header.vm.VmInstanceConstant; +import org.zstack.header.vm.VmInstanceInventory; +import org.zstack.header.vm.VmInstanceMigrateExtensionPoint; +import org.zstack.header.vm.VmInstanceState; +import org.zstack.header.vm.VmInstanceVO; +import org.zstack.header.vm.VmNicInventory; +import org.zstack.header.vm.VmNicVO; import org.zstack.header.zone.ZoneVO; -import org.zstack.kvm.*; +import org.zstack.kvm.KVMAgentCommands; +import org.zstack.kvm.KVMConstant; +import org.zstack.kvm.KVMHostAsyncHttpCallMsg; +import org.zstack.kvm.KVMHostAsyncHttpCallReply; +import org.zstack.kvm.KVMHostConnectExtensionPoint; +import org.zstack.kvm.KVMHostConnectedContext; +import org.zstack.kvm.KvmCommandFailureChecker; +import org.zstack.kvm.KvmCommandSender; +import org.zstack.kvm.KvmResponseWrapper; import org.zstack.kvm.KVMAgentCommands.AgentResponse; import org.zstack.network.l2.L2NetworkHostHelper; import org.zstack.network.service.NetworkProviderFinder; import org.zstack.network.service.NetworkServiceFilter; import org.zstack.network.service.NetworkServiceManager; -import org.zstack.network.service.userdata.*; +import org.zstack.network.service.userdata.UserdataBackend; +import org.zstack.network.service.userdata.UserdataConstant; +import org.zstack.network.service.userdata.UserdataGlobalConfig; +import org.zstack.network.service.userdata.UserdataGlobalProperty; +import org.zstack.network.service.userdata.UserdataStruct; import org.zstack.utils.CollectionUtils; import org.zstack.utils.Utils; import org.zstack.utils.function.Function; @@ -50,7 +84,15 @@ import javax.persistence.Tuple; import javax.persistence.TypedQuery; -import java.util.*; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import java.util.Set; import java.util.concurrent.Callable; import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; @@ -197,6 +239,7 @@ public Flow createKvmHostConnectingFlow(final KVMHostConnectedContext context) { } private Flow createHostPrepareUserdataFlow(final String hostUuid) { + // DEBT: NoRollbackFlow — in createHostPrepareUserdataFlow return new NoRollbackFlow() { String __name__ = "prepare-userdata"; @@ -745,6 +788,7 @@ public VmNicInventory call(VmNicInventory arg) { @Override public void setup() { + // DEBT: NoRollbackFlow — reason TBD flow(new NoRollbackFlow() { String __name__ = "get-dhcp-server-ip"; @@ -773,6 +817,7 @@ public void run(MessageReply reply) { } }); + // DEBT: NoRollbackFlow — reason TBD flow(new NoRollbackFlow() { String __name__ = "apply-user-data"; @@ -884,6 +929,7 @@ public VmNicInventory call(VmNicInventory arg) { chain.then(new ShareFlow() { @Override public void setup() { + // DEBT: NoRollbackFlow — in releaseUserdata flow(new NoRollbackFlow() { String __name__ = "release-user-data"; diff --git a/plugin/flatNetworkProvider/src/main/java/org/zstack/network/service/flat/FlatVipFactory.java b/plugin/flatNetworkProvider/src/main/java/org/zstack/network/service/flat/FlatVipFactory.java index c7be44c3d74..e863b82a198 100755 --- a/plugin/flatNetworkProvider/src/main/java/org/zstack/network/service/flat/FlatVipFactory.java +++ b/plugin/flatNetworkProvider/src/main/java/org/zstack/network/service/flat/FlatVipFactory.java @@ -2,7 +2,9 @@ import org.zstack.header.core.Completion; import org.zstack.header.message.Message; -import org.zstack.network.service.vip.*; +import org.zstack.network.service.vip.VipBaseBackend; +import org.zstack.network.service.vip.VipFactory; +import org.zstack.network.service.vip.VipVO; /** * Created by xing5 on 2016/12/5. diff --git a/plugin/flatNetworkProvider/src/main/java/org/zstack/network/service/userdata/UserdataExtension.java b/plugin/flatNetworkProvider/src/main/java/org/zstack/network/service/userdata/UserdataExtension.java index 8e75c4edd53..6c55fd3179c 100755 --- a/plugin/flatNetworkProvider/src/main/java/org/zstack/network/service/userdata/UserdataExtension.java +++ b/plugin/flatNetworkProvider/src/main/java/org/zstack/network/service/userdata/UserdataExtension.java @@ -13,7 +13,12 @@ import org.zstack.header.network.l3.L3NetworkInventory; import org.zstack.header.network.l3.L3NetworkVO; import org.zstack.header.network.l3.L3NetworkVO_; -import org.zstack.header.network.service.*; +import org.zstack.header.network.service.NetworkServiceConstants; +import org.zstack.header.network.service.NetworkServiceL3NetworkRefInventory; +import org.zstack.header.network.service.NetworkServiceProviderInventory; +import org.zstack.header.network.service.NetworkServiceProviderType; +import org.zstack.header.network.service.NetworkServiceProviderVO; +import org.zstack.header.network.service.NetworkServiceType; import org.zstack.header.vm.VmInstanceSpec; import org.zstack.header.vm.VmNicInventory; import org.zstack.header.vm.VmNicSpec; @@ -24,7 +29,11 @@ import org.zstack.utils.logging.CLogger; import org.zstack.utils.network.IPv6Constants; -import java.util.*; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Optional; /** * Created by frank on 10/13/2015. diff --git a/plugin/hostNetworkInterface/src/main/java/org/zstack/network/hostNetworkInterface/HostNetworkBondingType.java b/plugin/hostNetworkInterface/src/main/java/org/zstack/network/hostNetworkInterface/HostNetworkBondingType.java index 3dfc2e41bff..5ab3e96af1c 100644 --- a/plugin/hostNetworkInterface/src/main/java/org/zstack/network/hostNetworkInterface/HostNetworkBondingType.java +++ b/plugin/hostNetworkInterface/src/main/java/org/zstack/network/hostNetworkInterface/HostNetworkBondingType.java @@ -1,6 +1,10 @@ package org.zstack.network.hostNetworkInterface; -import java.util.*; +import java.util.Collections; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Map; +import java.util.Set; public class HostNetworkBondingType { private static Map types = Collections.synchronizedMap(new HashMap()); diff --git a/plugin/hostNetworkInterface/src/main/java/org/zstack/network/hostNetworkInterface/HostNetworkBondingVO.java b/plugin/hostNetworkInterface/src/main/java/org/zstack/network/hostNetworkInterface/HostNetworkBondingVO.java index 2424abc1b43..f1e5bf0c8aa 100644 --- a/plugin/hostNetworkInterface/src/main/java/org/zstack/network/hostNetworkInterface/HostNetworkBondingVO.java +++ b/plugin/hostNetworkInterface/src/main/java/org/zstack/network/hostNetworkInterface/HostNetworkBondingVO.java @@ -4,7 +4,11 @@ import org.zstack.header.identity.OwnedByAccount; import org.zstack.header.vo.ForeignKey; import org.zstack.header.vo.Index; -import org.zstack.header.vo.*; +import org.zstack.header.vo.NoView; +import org.zstack.header.vo.ResourceVO; +import org.zstack.header.vo.SoftDeletionCascade; +import org.zstack.header.vo.SoftDeletionCascades; +import org.zstack.header.vo.ToInventory; import javax.persistence.*; import java.sql.Timestamp; diff --git a/plugin/hostNetworkInterface/src/main/java/org/zstack/network/hostNetworkInterface/HostNetworkInterfaceVO.java b/plugin/hostNetworkInterface/src/main/java/org/zstack/network/hostNetworkInterface/HostNetworkInterfaceVO.java index 18a4c1e3269..d5deee9adec 100644 --- a/plugin/hostNetworkInterface/src/main/java/org/zstack/network/hostNetworkInterface/HostNetworkInterfaceVO.java +++ b/plugin/hostNetworkInterface/src/main/java/org/zstack/network/hostNetworkInterface/HostNetworkInterfaceVO.java @@ -4,7 +4,10 @@ import org.zstack.header.identity.OwnedByAccount; import org.zstack.header.vo.ForeignKey; import org.zstack.header.vo.Index; -import org.zstack.header.vo.*; +import org.zstack.header.vo.ResourceVO; +import org.zstack.header.vo.SoftDeletionCascade; +import org.zstack.header.vo.SoftDeletionCascades; +import org.zstack.header.vo.ToInventory; import javax.persistence.*; import java.sql.Timestamp; diff --git a/plugin/hostNetworkInterface/src/main/java/org/zstack/network/hostNetworkInterface/lldp/LldpManagerImpl.java b/plugin/hostNetworkInterface/src/main/java/org/zstack/network/hostNetworkInterface/lldp/LldpManagerImpl.java index 1688bfe5796..bc80ca95b7f 100644 --- a/plugin/hostNetworkInterface/src/main/java/org/zstack/network/hostNetworkInterface/lldp/LldpManagerImpl.java +++ b/plugin/hostNetworkInterface/src/main/java/org/zstack/network/hostNetworkInterface/lldp/LldpManagerImpl.java @@ -11,10 +11,18 @@ import org.zstack.core.Platform; import org.zstack.core.db.SQL; import org.zstack.header.AbstractService; -import org.zstack.header.core.*; +import org.zstack.header.core.Completion; +import org.zstack.header.core.NoErrorCompletion; +import org.zstack.header.core.NopeCompletion; +import org.zstack.header.core.ReturnValueCompletion; +import org.zstack.header.core.WhileDoneCompletion; import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.errorcode.ErrorCodeList; -import org.zstack.header.host.*; +import org.zstack.header.host.HostAfterConnectedExtensionPoint; +import org.zstack.header.host.HostConstant; +import org.zstack.header.host.HostDeleteExtensionPoint; +import org.zstack.header.host.HostException; +import org.zstack.header.host.HostInventory; import org.zstack.header.identity.AccountConstant; import org.zstack.header.message.APIMessage; import org.zstack.header.message.Message; @@ -23,14 +31,33 @@ import org.zstack.kvm.KVMHostAsyncHttpCallReply; import org.zstack.kvm.KVMHostInventory; import org.zstack.kvm.KVMPingAgentNoFailureExtensionPoint; -import org.zstack.network.hostNetworkInterface.*; -import org.zstack.network.hostNetworkInterface.lldp.api.*; -import org.zstack.network.hostNetworkInterface.lldp.entity.*; +import org.zstack.network.hostNetworkInterface.HostNetworkInterfaceCanonicalEvents; +import org.zstack.network.hostNetworkInterface.HostNetworkInterfaceVO; +import org.zstack.network.hostNetworkInterface.HostNetworkInterfaceVO_; +import org.zstack.network.hostNetworkInterface.PhysicalSwitchPortInventory; +import org.zstack.network.hostNetworkInterface.PhysicalSwitchPortVO; +import org.zstack.network.hostNetworkInterface.PhysicalSwitchPortVO_; +import org.zstack.network.hostNetworkInterface.PhysicalSwitchVO; +import org.zstack.network.hostNetworkInterface.PhysicalSwitchVO_; +import org.zstack.network.hostNetworkInterface.lldp.api.APIChangeHostNetworkInterfaceLldpModeEvent; +import org.zstack.network.hostNetworkInterface.lldp.api.APIChangeHostNetworkInterfaceLldpModeMsg; +import org.zstack.network.hostNetworkInterface.lldp.api.APIGetHostNetworkInterfaceLldpMsg; +import org.zstack.network.hostNetworkInterface.lldp.api.APIGetHostNetworkInterfaceLldpReply; +import org.zstack.network.hostNetworkInterface.lldp.api.GetHostNetworkInterfaceLldpMsg; +import org.zstack.network.hostNetworkInterface.lldp.api.GetHostNetworkInterfaceLldpReply; +import org.zstack.network.hostNetworkInterface.lldp.entity.HostNetworkInterfaceLldpInventory; +import org.zstack.network.hostNetworkInterface.lldp.entity.HostNetworkInterfaceLldpRefInventory; +import org.zstack.network.hostNetworkInterface.lldp.entity.HostNetworkInterfaceLldpRefVO; +import org.zstack.network.hostNetworkInterface.lldp.entity.HostNetworkInterfaceLldpRefVO_; +import org.zstack.network.hostNetworkInterface.lldp.entity.HostNetworkInterfaceLldpVO; +import org.zstack.network.hostNetworkInterface.lldp.entity.HostNetworkInterfaceLldpVO_; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; import java.sql.Timestamp; -import java.util.*; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; import java.util.concurrent.ConcurrentHashMap; import java.util.stream.Collectors; diff --git a/plugin/hostNetworkInterface/src/main/java/org/zstack/network/hostNetworkInterface/lldp/entity/HostNetworkInterfaceLldpInventory.java b/plugin/hostNetworkInterface/src/main/java/org/zstack/network/hostNetworkInterface/lldp/entity/HostNetworkInterfaceLldpInventory.java index abf73f59372..11e4b6683e5 100644 --- a/plugin/hostNetworkInterface/src/main/java/org/zstack/network/hostNetworkInterface/lldp/entity/HostNetworkInterfaceLldpInventory.java +++ b/plugin/hostNetworkInterface/src/main/java/org/zstack/network/hostNetworkInterface/lldp/entity/HostNetworkInterfaceLldpInventory.java @@ -1,7 +1,7 @@ package org.zstack.network.hostNetworkInterface.lldp.entity; import org.zstack.header.configuration.PythonClassInventory; -import org.zstack.header.query.*; +import org.zstack.header.query.Queryable; import org.zstack.header.search.Inventory; import javax.persistence.JoinColumn; diff --git a/plugin/hostNetworkInterface/src/main/java/org/zstack/network/hostNetworkInterface/lldp/entity/HostNetworkInterfaceLldpRefVO.java b/plugin/hostNetworkInterface/src/main/java/org/zstack/network/hostNetworkInterface/lldp/entity/HostNetworkInterfaceLldpRefVO.java index f60cff647e2..b58908839a6 100644 --- a/plugin/hostNetworkInterface/src/main/java/org/zstack/network/hostNetworkInterface/lldp/entity/HostNetworkInterfaceLldpRefVO.java +++ b/plugin/hostNetworkInterface/src/main/java/org/zstack/network/hostNetworkInterface/lldp/entity/HostNetworkInterfaceLldpRefVO.java @@ -3,7 +3,9 @@ import org.zstack.header.vo.EntityGraph; import org.zstack.header.vo.ForeignKey; import org.zstack.header.vo.Index; -import org.zstack.header.vo.*; +import org.zstack.header.vo.SoftDeletionCascade; +import org.zstack.header.vo.SoftDeletionCascades; +import org.zstack.header.vo.ToInventory; import javax.persistence.*; import java.sql.Timestamp; diff --git a/plugin/hostNetworkInterface/src/main/java/org/zstack/network/hostNetworkInterface/lldp/entity/HostNetworkInterfaceLldpVO.java b/plugin/hostNetworkInterface/src/main/java/org/zstack/network/hostNetworkInterface/lldp/entity/HostNetworkInterfaceLldpVO.java index 96a23965a47..335ef52f4ee 100644 --- a/plugin/hostNetworkInterface/src/main/java/org/zstack/network/hostNetworkInterface/lldp/entity/HostNetworkInterfaceLldpVO.java +++ b/plugin/hostNetworkInterface/src/main/java/org/zstack/network/hostNetworkInterface/lldp/entity/HostNetworkInterfaceLldpVO.java @@ -2,7 +2,11 @@ import org.zstack.header.identity.OwnedByAccount; import org.zstack.header.vo.ForeignKey; -import org.zstack.header.vo.*; +import org.zstack.header.vo.NoView; +import org.zstack.header.vo.ResourceVO; +import org.zstack.header.vo.SoftDeletionCascade; +import org.zstack.header.vo.SoftDeletionCascades; +import org.zstack.header.vo.ToInventory; import org.zstack.header.vo.Index; import org.zstack.network.hostNetworkInterface.HostNetworkInterfaceVO; diff --git a/plugin/iscsi/src/main/java/org/zstack/iscsi/IscsiUtils.java b/plugin/iscsi/src/main/java/org/zstack/iscsi/IscsiUtils.java index 1fa5af3d517..f96b9f454a7 100644 --- a/plugin/iscsi/src/main/java/org/zstack/iscsi/IscsiUtils.java +++ b/plugin/iscsi/src/main/java/org/zstack/iscsi/IscsiUtils.java @@ -8,7 +8,10 @@ import org.zstack.header.host.HostVO; import org.zstack.header.host.HostVO_; import org.zstack.header.message.MessageReply; -import org.zstack.header.storage.backup.*; +import org.zstack.header.storage.backup.BackupStorageConstant; +import org.zstack.header.storage.backup.BackupStorageVO; +import org.zstack.header.storage.backup.GetBackupStorageManagerHostnameMsg; +import org.zstack.header.storage.backup.GetBackupStorageManagerHostnameReply; import org.zstack.header.tag.SystemTagVO; import org.zstack.header.tag.SystemTagVO_; import org.zstack.header.vm.VmInstanceVO; diff --git a/plugin/iscsi/src/main/java/org/zstack/iscsi/kvm/KvmIscsiNodeServer.java b/plugin/iscsi/src/main/java/org/zstack/iscsi/kvm/KvmIscsiNodeServer.java index 66936e05dc0..1c4a733c8fd 100644 --- a/plugin/iscsi/src/main/java/org/zstack/iscsi/kvm/KvmIscsiNodeServer.java +++ b/plugin/iscsi/src/main/java/org/zstack/iscsi/kvm/KvmIscsiNodeServer.java @@ -13,7 +13,11 @@ import org.zstack.header.core.Completion; import org.zstack.header.core.ReturnValueCompletion; import org.zstack.header.core.WhileDoneCompletion; -import org.zstack.header.core.workflow.*; +import org.zstack.header.core.workflow.FlowChain; +import org.zstack.header.core.workflow.FlowDoneHandler; +import org.zstack.header.core.workflow.FlowErrorHandler; +import org.zstack.header.core.workflow.FlowTrigger; +import org.zstack.header.core.workflow.NoRollbackFlow; import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.errorcode.ErrorCodeList; import org.zstack.header.host.HostConstant; @@ -35,7 +39,18 @@ import org.zstack.iscsi.kvm.KvmIscsiCommands.AgentRsp; import org.zstack.iscsi.kvm.KvmIscsiCommands.KvmCancelSelfFencerCmd; import org.zstack.iscsi.kvm.KvmIscsiCommands.KvmSetupSelfFencerCmd; -import org.zstack.kvm.*; +import org.zstack.kvm.KVMAgentCommands; +import org.zstack.kvm.KVMAttachVolumeExtensionPoint; +import org.zstack.kvm.KVMConstant; +import org.zstack.kvm.KVMConvertVolumeExtensionPoint; +import org.zstack.kvm.KVMDetachVolumeExtensionPoint; +import org.zstack.kvm.KVMHostAsyncHttpCallMsg; +import org.zstack.kvm.KVMHostAsyncHttpCallReply; +import org.zstack.kvm.KVMHostInventory; +import org.zstack.kvm.KVMPreAttachIsoExtensionPoint; +import org.zstack.kvm.KVMStartVmExtensionPoint; +import org.zstack.kvm.KvmSetupSelfFencerExtensionPoint; +import org.zstack.kvm.VolumeTO; import org.zstack.storage.addon.primary.ExternalPrimaryStorageFactory; import org.zstack.utils.DebugUtils; @@ -209,6 +224,7 @@ public void kvmSetupSelfFencer(KvmSetupSelfFencerParam param, Completion complet HeartbeatVolumeTO heartbeatVol; @Override public void setup() { + // DEBT: NoRollbackFlow — in kvmSetupSelfFencer flow(new NoRollbackFlow() { final String __name__ = "activate-iscsi-heartbeat-volume"; @@ -230,6 +246,7 @@ public void fail(ErrorCode errorCode) { } }); + // DEBT: NoRollbackFlow — in kvmSetupSelfFencer flow(new NoRollbackFlow() { final String __name__ = "setup-iscsi-self-fencer-on-kvm"; @@ -287,6 +304,7 @@ public void kvmCancelSelfFencer(KvmCancelSelfFencerParam param, Completion compl @Override public void setup() { + // DEBT: NoRollbackFlow — in kvmCancelSelfFencer flow(new NoRollbackFlow() { @Override public void run(FlowTrigger trigger, Map data) { diff --git a/plugin/kvm/src/main/java/org/zstack/kvm/AbstractKVMConnectExtensionForL2Network.java b/plugin/kvm/src/main/java/org/zstack/kvm/AbstractKVMConnectExtensionForL2Network.java index 0bec0e09099..915ed85068f 100644 --- a/plugin/kvm/src/main/java/org/zstack/kvm/AbstractKVMConnectExtensionForL2Network.java +++ b/plugin/kvm/src/main/java/org/zstack/kvm/AbstractKVMConnectExtensionForL2Network.java @@ -10,23 +10,47 @@ import org.zstack.core.workflow.FlowChainBuilder; import org.zstack.header.core.Completion; import org.zstack.header.core.WhileDoneCompletion; -import org.zstack.header.core.workflow.*; +import org.zstack.header.core.workflow.FlowChain; +import org.zstack.header.core.workflow.FlowDoneHandler; +import org.zstack.header.core.workflow.FlowErrorHandler; +import org.zstack.header.core.workflow.FlowTrigger; +import org.zstack.header.core.workflow.NoRollbackFlow; import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.errorcode.ErrorCodeList; import org.zstack.header.host.HostConstant; import org.zstack.header.host.HostVO; import org.zstack.header.host.HypervisorType; import org.zstack.header.message.MessageReply; -import org.zstack.header.network.l2.*; +import org.zstack.header.network.l2.BatchCheckNetworkPhysicalInterfaceMsg; +import org.zstack.header.network.l2.L2NetworkClusterRefVO; +import org.zstack.header.network.l2.L2NetworkConstant; +import org.zstack.header.network.l2.L2NetworkInventory; +import org.zstack.header.network.l2.L2NetworkIsolatedSyncOnHostMsg; +import org.zstack.header.network.l2.L2NetworkRealizationExtensionPoint; +import org.zstack.header.network.l2.L2NetworkType; +import org.zstack.header.network.l2.L2NetworkVO; +import org.zstack.header.network.l2.L2VlanNetworkInventory; +import org.zstack.header.network.l2.L2VlanNetworkVO; +import org.zstack.header.network.l2.VSwitchType; import org.zstack.header.network.l3.L3NetworkVO; import org.zstack.header.network.l3.L3NetworkVO_; -import org.zstack.header.vm.*; +import org.zstack.header.vm.VmInstanceState; +import org.zstack.header.vm.VmInstanceVO; +import org.zstack.header.vm.VmInstanceVO_; +import org.zstack.header.vm.VmNicVO; +import org.zstack.header.vm.VmNicVO_; import org.zstack.network.l2.L2NetworkManager; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; import javax.persistence.TypedQuery; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Comparator; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.TreeSet; import java.util.stream.Collectors; public abstract class AbstractKVMConnectExtensionForL2Network { @@ -87,6 +111,7 @@ protected void prepareNetwork(final List l2Networks, final S FlowChain chain = FlowChainBuilder.newSimpleFlowChain(); chain.setName(String.format("prepare-l2-for-kvm-%s-connect", hostUuid)); + // DEBT: NoRollbackFlow — in prepareNetwork chain.then(new NoRollbackFlow() { String __name__ = "check-network-physical-interface"; @@ -144,6 +169,7 @@ public void done(ErrorCodeList errorCodeList) { } }); + // DEBT: NoRollbackFlow — reason TBD chain.then(new NoRollbackFlow() { String __name__ = "realize_no_vlan"; @@ -178,6 +204,7 @@ public void done(ErrorCodeList errorCodeList) { } }); + // DEBT: NoRollbackFlow — reason TBD chain.then(new NoRollbackFlow() { String __name__ = "realize_vlan"; @@ -212,6 +239,7 @@ public void done(ErrorCodeList errorCodeList) { } }); + // DEBT: NoRollbackFlow — reason TBD chain.then(new NoRollbackFlow() { String __name__ = "sync_vlan_isolated"; diff --git a/plugin/kvm/src/main/java/org/zstack/kvm/AddKVMHostLongJob.java b/plugin/kvm/src/main/java/org/zstack/kvm/AddKVMHostLongJob.java index 3b9259a39bf..97399e40e86 100644 --- a/plugin/kvm/src/main/java/org/zstack/kvm/AddKVMHostLongJob.java +++ b/plugin/kvm/src/main/java/org/zstack/kvm/AddKVMHostLongJob.java @@ -10,7 +10,10 @@ import org.zstack.header.host.APIAddHostEvent; import org.zstack.header.host.AddHostReply; import org.zstack.header.host.HostConstant; -import org.zstack.header.longjob.*; +import org.zstack.header.longjob.LongJob; +import org.zstack.header.longjob.LongJobFor; +import org.zstack.header.longjob.LongJobVO; +import org.zstack.header.longjob.UseApiTimeout; import org.zstack.header.message.APIEvent; import org.zstack.header.message.MessageReply; import org.zstack.longjob.LongJobUtils; 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 a8a1378288b..5c0e97bc438 100755 --- a/plugin/kvm/src/main/java/org/zstack/kvm/KVMAgentCommands.java +++ b/plugin/kvm/src/main/java/org/zstack/kvm/KVMAgentCommands.java @@ -11,7 +11,10 @@ import org.zstack.header.host.HostNUMANode; import org.zstack.header.host.VmNicRedirectConfig; import org.zstack.header.log.NoLogging; -import org.zstack.header.vm.*; +import org.zstack.header.vm.PriorityConfigStruct; +import org.zstack.header.vm.VmBootDevice; +import org.zstack.header.vm.VmNicInventory; +import org.zstack.header.vm.VmPriorityConfigVO; import org.zstack.header.vm.devices.DeviceAddress; import org.zstack.header.vm.devices.VirtualDeviceInfo; import org.zstack.network.securitygroup.RuleTO; @@ -19,7 +22,13 @@ import org.zstack.network.securitygroup.VmNicSecurityTO; import java.io.Serializable; -import java.util.*; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; +import java.util.Set; import java.util.stream.Collectors; public class KVMAgentCommands { diff --git a/plugin/kvm/src/main/java/org/zstack/kvm/KVMApiInterceptor.java b/plugin/kvm/src/main/java/org/zstack/kvm/KVMApiInterceptor.java index 93fd688935b..0e7a3557686 100755 --- a/plugin/kvm/src/main/java/org/zstack/kvm/KVMApiInterceptor.java +++ b/plugin/kvm/src/main/java/org/zstack/kvm/KVMApiInterceptor.java @@ -16,7 +16,15 @@ import org.zstack.header.network.l2.APIAttachL2NetworkToClusterMsg; import org.zstack.header.network.l2.L2NetworkConstant; import org.zstack.header.network.l2.L2VlanNetworkVO; -import org.zstack.kvm.xmlhook.*; +import org.zstack.kvm.xmlhook.APICreateVmUserDefinedXmlHookScriptMsg; +import org.zstack.kvm.xmlhook.APIExpungeVmUserDefinedXmlHookScriptMsg; +import org.zstack.kvm.xmlhook.APIUpdateVmUserDefinedXmlHookScriptMsg; +import org.zstack.kvm.xmlhook.XmlHookMessage; +import org.zstack.kvm.xmlhook.XmlHookType; +import org.zstack.kvm.xmlhook.XmlHookVO; +import org.zstack.kvm.xmlhook.XmlHookVO_; +import org.zstack.kvm.xmlhook.XmlHookVmInstanceRefVO; +import org.zstack.kvm.xmlhook.XmlHookVmInstanceRefVO_; import org.zstack.utils.CollectionDSL; import org.zstack.utils.network.NetworkUtils; diff --git a/plugin/kvm/src/main/java/org/zstack/kvm/KVMConnectExtensionForL2Network.java b/plugin/kvm/src/main/java/org/zstack/kvm/KVMConnectExtensionForL2Network.java index 133b05dc771..4404f90126c 100755 --- a/plugin/kvm/src/main/java/org/zstack/kvm/KVMConnectExtensionForL2Network.java +++ b/plugin/kvm/src/main/java/org/zstack/kvm/KVMConnectExtensionForL2Network.java @@ -23,6 +23,7 @@ public class KVMConnectExtensionForL2Network extends AbstractKVMConnectExtension @Override public Flow createKvmHostConnectingFlow(final KVMHostConnectedContext context) { + // DEBT: NoRollbackFlow — in createKvmHostConnectingFlow return new NoRollbackFlow() { String __name__ = "prepare-l2-network"; diff --git a/plugin/kvm/src/main/java/org/zstack/kvm/KVMExtensionEmitter.java b/plugin/kvm/src/main/java/org/zstack/kvm/KVMExtensionEmitter.java index 0e723cd16aa..822cd142392 100755 --- a/plugin/kvm/src/main/java/org/zstack/kvm/KVMExtensionEmitter.java +++ b/plugin/kvm/src/main/java/org/zstack/kvm/KVMExtensionEmitter.java @@ -8,7 +8,14 @@ import org.zstack.header.core.WhileDoneCompletion; import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.errorcode.ErrorCodeList; -import org.zstack.header.host.*; +import org.zstack.header.host.CheckSnapshotOnHypervisorMsg; +import org.zstack.header.host.CheckVmStateOnHypervisorMsg; +import org.zstack.header.host.CommitVolumeSnapshotOnHypervisorMsg; +import org.zstack.header.host.CommitVolumeSnapshotOnHypervisorReply; +import org.zstack.header.host.HostInventory; +import org.zstack.header.host.PullVolumeSnapshotOnHypervisorMsg; +import org.zstack.header.host.PullVolumeSnapshotOnHypervisorReply; +import org.zstack.header.host.TakeSnapshotOnHypervisorMsg; import org.zstack.header.vm.VmInstanceInventory; import org.zstack.header.vm.VmInstanceSpec; import org.zstack.header.volume.VolumeInventory; diff --git a/plugin/kvm/src/main/java/org/zstack/kvm/KVMHostAllocatorFilterExtensionPoint.java b/plugin/kvm/src/main/java/org/zstack/kvm/KVMHostAllocatorFilterExtensionPoint.java index 5c12980bb50..587c0aa2db1 100644 --- a/plugin/kvm/src/main/java/org/zstack/kvm/KVMHostAllocatorFilterExtensionPoint.java +++ b/plugin/kvm/src/main/java/org/zstack/kvm/KVMHostAllocatorFilterExtensionPoint.java @@ -8,7 +8,11 @@ import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; -import java.util.*; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; import java.util.stream.Collectors; public class KVMHostAllocatorFilterExtensionPoint implements HostAllocatorFilterExtensionPoint { diff --git a/plugin/kvm/src/main/java/org/zstack/kvm/KVMHostCapacityExtension.java b/plugin/kvm/src/main/java/org/zstack/kvm/KVMHostCapacityExtension.java index 5ad18e49c9f..26d900de0e0 100755 --- a/plugin/kvm/src/main/java/org/zstack/kvm/KVMHostCapacityExtension.java +++ b/plugin/kvm/src/main/java/org/zstack/kvm/KVMHostCapacityExtension.java @@ -11,7 +11,12 @@ import org.zstack.header.core.workflow.FlowTrigger; import org.zstack.header.core.workflow.NoRollbackFlow; import org.zstack.header.errorcode.ErrorCode; -import org.zstack.header.host.*; +import org.zstack.header.host.CheckHostCapacityMsg; +import org.zstack.header.host.HostConnectionReestablishExtensionPoint; +import org.zstack.header.host.HostConstant; +import org.zstack.header.host.HostException; +import org.zstack.header.host.HostInventory; +import org.zstack.header.host.HypervisorType; import org.zstack.header.message.MessageReply; import org.zstack.resourceconfig.ResourceConfigFacade; @@ -57,6 +62,7 @@ public HypervisorType getHypervisorTypeForReestablishExtensionPoint() { @Override public Flow createKvmHostConnectingFlow(final KVMHostConnectedContext context) { + // DEBT: NoRollbackFlow — in createKvmHostConnectingFlow return new NoRollbackFlow() { String __name__ = "sync-host-capacity"; diff --git a/plugin/kvm/src/main/java/org/zstack/kvm/KVMHostConnectionReestablishExtensionForL2Network.java b/plugin/kvm/src/main/java/org/zstack/kvm/KVMHostConnectionReestablishExtensionForL2Network.java index 754cf972496..93a06b4a2eb 100644 --- a/plugin/kvm/src/main/java/org/zstack/kvm/KVMHostConnectionReestablishExtensionForL2Network.java +++ b/plugin/kvm/src/main/java/org/zstack/kvm/KVMHostConnectionReestablishExtensionForL2Network.java @@ -14,15 +14,18 @@ import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.errorcode.ErrorCodeList; import org.zstack.header.errorcode.OperationFailureException; -import org.zstack.header.host.*; +import org.zstack.header.host.HostConnectionReestablishExtensionPoint; +import org.zstack.header.host.HostException; +import org.zstack.header.host.HostInventory; +import org.zstack.header.host.HypervisorType; import org.zstack.header.message.MessageReply; -import org.zstack.header.network.l2.*; +import org.zstack.header.network.l2.L2NetworkInventory; import org.zstack.network.l2.L2NetworkManager; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; import javax.persistence.TypedQuery; -import java.util.*; +import java.util.List; import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; diff --git a/plugin/kvm/src/main/java/org/zstack/kvm/KVMHostFactory.java b/plugin/kvm/src/main/java/org/zstack/kvm/KVMHostFactory.java index acb129fe6dc..07c0bfbaa92 100755 --- a/plugin/kvm/src/main/java/org/zstack/kvm/KVMHostFactory.java +++ b/plugin/kvm/src/main/java/org/zstack/kvm/KVMHostFactory.java @@ -37,7 +37,26 @@ import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.errorcode.OperationFailureException; import org.zstack.header.exception.CloudRuntimeException; -import org.zstack.header.host.*; +import org.zstack.header.host.AddHostMessage; +import org.zstack.header.host.AddHostMsg; +import org.zstack.header.host.ChangeHostStatusMsg; +import org.zstack.header.host.ConnectHostMsg; +import org.zstack.header.host.Host; +import org.zstack.header.host.HostCanonicalEvents; +import org.zstack.header.host.HostConstant; +import org.zstack.header.host.HostHardware; +import org.zstack.header.host.HostInventory; +import org.zstack.header.host.HostNetworkInterfaceServiceType; +import org.zstack.header.host.HostOperationSystem; +import org.zstack.header.host.HostStatus; +import org.zstack.header.host.HostStatusEvent; +import org.zstack.header.host.HostVO; +import org.zstack.header.host.HostVO_; +import org.zstack.header.host.HypervisorFactory; +import org.zstack.header.host.HypervisorMessageFactory; +import org.zstack.header.host.HypervisorType; +import org.zstack.header.host.PingHostMsg; +import org.zstack.header.host.ReconnectHostMsg; import org.zstack.header.managementnode.ManagementNodeReadyExtensionPoint; import org.zstack.header.message.Message; import org.zstack.header.message.MessageReply; diff --git a/plugin/kvm/src/main/java/org/zstack/kvm/KVMHostUtils.java b/plugin/kvm/src/main/java/org/zstack/kvm/KVMHostUtils.java index cf6d16e7560..c694d9a23a0 100644 --- a/plugin/kvm/src/main/java/org/zstack/kvm/KVMHostUtils.java +++ b/plugin/kvm/src/main/java/org/zstack/kvm/KVMHostUtils.java @@ -2,7 +2,11 @@ import org.apache.commons.codec.digest.DigestUtils; import org.zstack.core.db.Q; -import org.zstack.header.network.l2.*; +import org.zstack.header.network.l2.L2NetworkClusterRefVO; +import org.zstack.header.network.l2.L2NetworkClusterRefVO_; +import org.zstack.header.network.l2.L2NetworkConstant; +import org.zstack.header.network.l2.L2NetworkVO; +import org.zstack.header.network.l2.L2NetworkVO_; import org.zstack.header.tag.SystemTagVO; import org.zstack.header.tag.SystemTagVO_; import org.zstack.header.tag.TagType; diff --git a/plugin/kvm/src/main/java/org/zstack/kvm/KVMRealizeL2NoVlanNetworkBackend.java b/plugin/kvm/src/main/java/org/zstack/kvm/KVMRealizeL2NoVlanNetworkBackend.java index 1ed462ecfcd..89ec72c57d5 100755 --- a/plugin/kvm/src/main/java/org/zstack/kvm/KVMRealizeL2NoVlanNetworkBackend.java +++ b/plugin/kvm/src/main/java/org/zstack/kvm/KVMRealizeL2NoVlanNetworkBackend.java @@ -14,7 +14,13 @@ import org.zstack.header.host.HostVO_; import org.zstack.header.host.HypervisorType; import org.zstack.header.message.MessageReply; -import org.zstack.header.network.l2.*; +import org.zstack.header.network.l2.L2NetworkConstant; +import org.zstack.header.network.l2.L2NetworkInventory; +import org.zstack.header.network.l2.L2NetworkRealizationExtensionPoint; +import org.zstack.header.network.l2.L2NetworkType; +import org.zstack.header.network.l2.L2NetworkVO; +import org.zstack.header.network.l2.L2NetworkVO_; +import org.zstack.header.network.l2.VSwitchType; import org.zstack.header.network.l3.L3NetworkInventory; import org.zstack.header.vm.VmNicInventory; import org.zstack.kvm.KVMAgentCommands.CheckBridgeResponse; diff --git a/plugin/kvm/src/main/java/org/zstack/kvm/KVMRealizeL2VlanNetworkBackend.java b/plugin/kvm/src/main/java/org/zstack/kvm/KVMRealizeL2VlanNetworkBackend.java index 74e700dd9f6..00d01ed8a30 100755 --- a/plugin/kvm/src/main/java/org/zstack/kvm/KVMRealizeL2VlanNetworkBackend.java +++ b/plugin/kvm/src/main/java/org/zstack/kvm/KVMRealizeL2VlanNetworkBackend.java @@ -11,7 +11,16 @@ import org.zstack.header.host.HostVO_; import org.zstack.header.host.HypervisorType; import org.zstack.header.message.MessageReply; -import org.zstack.header.network.l2.*; +import org.zstack.header.network.l2.L2NetworkConstant; +import org.zstack.header.network.l2.L2NetworkInventory; +import org.zstack.header.network.l2.L2NetworkRealizationExtensionPoint; +import org.zstack.header.network.l2.L2NetworkType; +import org.zstack.header.network.l2.L2NetworkVO; +import org.zstack.header.network.l2.L2NetworkVO_; +import org.zstack.header.network.l2.L2VlanNetworkInventory; +import org.zstack.header.network.l2.L2VlanNetworkVO; +import org.zstack.header.network.l2.L2VlanNetworkVO_; +import org.zstack.header.network.l2.VSwitchType; import org.zstack.header.network.l3.L3NetworkInventory; import org.zstack.header.vm.VmNicInventory; import org.zstack.kvm.KVMAgentCommands.CheckVlanBridgeResponse; 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 f0be9f261bc..3c29eb4169d 100755 --- a/plugin/kvm/src/main/java/org/zstack/kvm/KVMSecurityGroupBackend.java +++ b/plugin/kvm/src/main/java/org/zstack/kvm/KVMSecurityGroupBackend.java @@ -7,7 +7,10 @@ import org.zstack.core.timeout.ApiTimeoutManager; import org.zstack.header.core.Completion; import org.zstack.header.errorcode.ErrorCode; -import org.zstack.header.host.*; +import org.zstack.header.host.HostAfterConnectedExtensionPoint; +import org.zstack.header.host.HostConstant; +import org.zstack.header.host.HostInventory; +import org.zstack.header.host.HypervisorType; import org.zstack.header.message.MessageReply; import org.zstack.kvm.KVMAgentCommands.ApplySecurityGroupRuleCmd; import org.zstack.kvm.KVMAgentCommands.CheckDefaultSecurityGroupCmd; @@ -16,7 +19,11 @@ import org.zstack.kvm.KVMAgentCommands.CleanupUnusedRulesOnHostResponse; import org.zstack.kvm.KVMAgentCommands.RefreshAllRulesOnHostCmd; import org.zstack.network.l3.NetworkGlobalProperty; -import org.zstack.network.securitygroup.*; +import org.zstack.network.securitygroup.HostRuleTO; +import org.zstack.network.securitygroup.RefreshSecurityGroupRulesOnHostMsg; +import org.zstack.network.securitygroup.SecurityGroupConstant; +import org.zstack.network.securitygroup.SecurityGroupHypervisorBackend; +import org.zstack.network.securitygroup.SecurityGroupMembersTO; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; diff --git a/plugin/kvm/src/main/java/org/zstack/kvm/KvmHostIpmiPowerExecutor.java b/plugin/kvm/src/main/java/org/zstack/kvm/KvmHostIpmiPowerExecutor.java index 025d3913729..17fd09d59bf 100644 --- a/plugin/kvm/src/main/java/org/zstack/kvm/KvmHostIpmiPowerExecutor.java +++ b/plugin/kvm/src/main/java/org/zstack/kvm/KvmHostIpmiPowerExecutor.java @@ -7,7 +7,11 @@ import org.zstack.core.cloudbus.EventFacade; import org.zstack.core.db.DatabaseFacade; import org.zstack.header.Component; -import org.zstack.header.host.*; +import org.zstack.header.host.HostCanonicalEvents; +import org.zstack.header.host.HostIpmiVO; +import org.zstack.header.host.HostPowerStatus; +import org.zstack.header.host.HostStatus; +import org.zstack.header.host.HostVO; import org.zstack.utils.network.NetworkUtils; import java.util.Map; diff --git a/plugin/kvm/src/main/java/org/zstack/kvm/KvmVmActiveVolumeSyncPingTask.java b/plugin/kvm/src/main/java/org/zstack/kvm/KvmVmActiveVolumeSyncPingTask.java index 783b456df1a..6726cf0376e 100644 --- a/plugin/kvm/src/main/java/org/zstack/kvm/KvmVmActiveVolumeSyncPingTask.java +++ b/plugin/kvm/src/main/java/org/zstack/kvm/KvmVmActiveVolumeSyncPingTask.java @@ -24,7 +24,11 @@ import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; -import java.util.*; +import java.util.ArrayList; +import java.util.Collection; +import java.util.HashMap; +import java.util.List; +import java.util.Map; import java.util.stream.Collectors; public class KvmVmActiveVolumeSyncPingTask implements KVMPingAgentNoFailureExtensionPoint, Component { diff --git a/plugin/kvm/src/main/java/org/zstack/kvm/KvmVmSyncPingTask.java b/plugin/kvm/src/main/java/org/zstack/kvm/KvmVmSyncPingTask.java index f618ab49922..afcf2ab1fdc 100755 --- a/plugin/kvm/src/main/java/org/zstack/kvm/KvmVmSyncPingTask.java +++ b/plugin/kvm/src/main/java/org/zstack/kvm/KvmVmSyncPingTask.java @@ -4,7 +4,11 @@ import org.zstack.compute.vm.DeleteVmGC; import org.zstack.compute.vm.VmTracer; import org.zstack.core.Platform; -import org.zstack.core.cloudbus.*; +import org.zstack.core.cloudbus.CloudBus; +import org.zstack.core.cloudbus.CloudBusCallBack; +import org.zstack.core.cloudbus.EventCallback; +import org.zstack.core.cloudbus.EventFacade; +import org.zstack.core.cloudbus.MarshalReplyMessageExtensionPoint; import org.zstack.core.componentloader.PluginRegistry; import org.zstack.core.db.DatabaseFacade; import org.zstack.core.db.SimpleQuery; @@ -22,14 +26,30 @@ import org.zstack.header.core.workflow.NoRollbackFlow; import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.errorcode.OperationFailureException; -import org.zstack.header.host.*; +import org.zstack.header.host.HostAfterConnectedExtensionPoint; +import org.zstack.header.host.HostConnectionReestablishExtensionPoint; +import org.zstack.header.host.HostConstant; +import org.zstack.header.host.HostInventory; +import org.zstack.header.host.HypervisorType; import org.zstack.header.managementnode.ManagementNodeChangeListener; import org.zstack.header.managementnode.ManagementNodeInventory; import org.zstack.header.managementnode.ManagementNodeReadyExtensionPoint; -import org.zstack.header.message.*; +import org.zstack.header.message.APIEvent; +import org.zstack.header.message.APIMessage; +import org.zstack.header.message.AbstractBeforeDeliveryMessageInterceptor; +import org.zstack.header.message.Message; +import org.zstack.header.message.MessageReply; +import org.zstack.header.message.NeedReplyMessage; import org.zstack.header.rest.RESTFacade; import org.zstack.header.rest.SyncHttpCallHandler; -import org.zstack.header.vm.*; +import org.zstack.header.vm.SkipVmTracer; +import org.zstack.header.vm.VmInstanceConstant; +import org.zstack.header.vm.VmInstanceMessage; +import org.zstack.header.vm.VmInstanceState; +import org.zstack.header.vm.VmInstanceVO; +import org.zstack.header.vm.VmInstanceVO_; +import org.zstack.header.vm.VmStateChangedOnHostMsg; +import org.zstack.header.vm.VmTracerCanonicalEvents; import org.zstack.kvm.KVMAgentCommands.ReportVmStateCmd; import org.zstack.kvm.KVMAgentCommands.VmSyncCmd; import org.zstack.kvm.KVMAgentCommands.VmSyncResponse; @@ -37,7 +57,13 @@ import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; -import java.util.*; +import java.util.ArrayList; +import java.util.Collection; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; import java.util.concurrent.ConcurrentHashMap; import static org.zstack.core.Platform.getReflections; @@ -394,6 +420,7 @@ public void afterHostConnected(final HostInventory host) { @Override public Flow createKvmHostConnectingFlow(final KVMHostConnectedContext context) { + // DEBT: NoRollbackFlow — in createKvmHostConnectingFlow return new NoRollbackFlow() { @Override public void run(final FlowTrigger trigger, Map data) { diff --git a/plugin/kvm/src/main/java/org/zstack/kvm/hypervisor/HypervisorMetadataCollectorImpl.java b/plugin/kvm/src/main/java/org/zstack/kvm/hypervisor/HypervisorMetadataCollectorImpl.java index 468025b01bd..9b3b6ddbcb8 100644 --- a/plugin/kvm/src/main/java/org/zstack/kvm/hypervisor/HypervisorMetadataCollectorImpl.java +++ b/plugin/kvm/src/main/java/org/zstack/kvm/hypervisor/HypervisorMetadataCollectorImpl.java @@ -10,7 +10,11 @@ import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; -import java.util.*; +import java.util.Arrays; +import java.util.Collections; +import java.util.Iterator; +import java.util.List; +import java.util.Properties; import java.util.stream.Collectors; import java.util.stream.Stream; diff --git a/plugin/kvm/src/main/java/org/zstack/kvm/hypervisor/KvmHypervisorInfoExtensions.java b/plugin/kvm/src/main/java/org/zstack/kvm/hypervisor/KvmHypervisorInfoExtensions.java index 422d2a6cf31..d612dcefc25 100644 --- a/plugin/kvm/src/main/java/org/zstack/kvm/hypervisor/KvmHypervisorInfoExtensions.java +++ b/plugin/kvm/src/main/java/org/zstack/kvm/hypervisor/KvmHypervisorInfoExtensions.java @@ -11,12 +11,24 @@ import org.zstack.header.host.GetVirtualizerInfoMsg; import org.zstack.header.host.HostConstant; import org.zstack.header.message.MessageReply; -import org.zstack.header.vm.*; +import org.zstack.header.vm.VmAfterExpungeExtensionPoint; +import org.zstack.header.vm.VmInstanceInventory; +import org.zstack.header.vm.VmInstanceMigrateExtensionPoint; +import org.zstack.header.vm.VmInstanceSpec; +import org.zstack.header.vm.VmInstanceVO; +import org.zstack.header.vm.VmInstanceVO_; import org.zstack.kvm.KVMAgentCommands.DestroyVmCmd; import org.zstack.kvm.KVMAgentCommands.RebootVmResponse; import org.zstack.kvm.KVMAgentCommands.StopVmCmd; import org.zstack.kvm.KVMAgentCommands.VmDevicesInfoResponse; -import org.zstack.kvm.*; +import org.zstack.kvm.KVMDestroyVmExtensionPoint; +import org.zstack.kvm.KVMException; +import org.zstack.kvm.KVMHostConnectExtensionPoint; +import org.zstack.kvm.KVMHostConnectedContext; +import org.zstack.kvm.KVMHostInventory; +import org.zstack.kvm.KVMRebootVmExtensionPoint; +import org.zstack.kvm.KVMStopVmExtensionPoint; +import org.zstack.kvm.KVMSyncVmDeviceInfoExtensionPoint; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; @@ -99,6 +111,7 @@ public Flow createKvmHostConnectingFlow(KVMHostConnectedContext context) { final String hostUuid = context.getInventory().getUuid(); final boolean newAdd = context.isNewAddedHost(); + // DEBT: NoRollbackFlow — in createKvmHostConnectingFlow return new NoRollbackFlow() { String __name__ = "collect-virtualizer-info-for-running-vm"; @Override diff --git a/plugin/kvm/src/main/java/org/zstack/kvm/hypervisor/KvmHypervisorInfoHelper.java b/plugin/kvm/src/main/java/org/zstack/kvm/hypervisor/KvmHypervisorInfoHelper.java index 4c0b3613024..706e643b316 100644 --- a/plugin/kvm/src/main/java/org/zstack/kvm/hypervisor/KvmHypervisorInfoHelper.java +++ b/plugin/kvm/src/main/java/org/zstack/kvm/hypervisor/KvmHypervisorInfoHelper.java @@ -14,7 +14,11 @@ import org.zstack.utils.data.Pair; import javax.persistence.Tuple; -import java.util.*; +import java.util.Collection; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; import java.util.stream.Collectors; diff --git a/plugin/kvm/src/main/java/org/zstack/kvm/hypervisor/KvmHypervisorInfoManagerImpl.java b/plugin/kvm/src/main/java/org/zstack/kvm/hypervisor/KvmHypervisorInfoManagerImpl.java index f9501fe279e..d6a42c28cb0 100644 --- a/plugin/kvm/src/main/java/org/zstack/kvm/hypervisor/KvmHypervisorInfoManagerImpl.java +++ b/plugin/kvm/src/main/java/org/zstack/kvm/hypervisor/KvmHypervisorInfoManagerImpl.java @@ -17,14 +17,30 @@ import org.zstack.header.vm.VmInstanceVO; import org.zstack.header.vm.VmInstanceVO_; import org.zstack.kvm.KVMConstant; -import org.zstack.kvm.hypervisor.datatype.*; +import org.zstack.kvm.hypervisor.datatype.HostOsCategoryVO; +import org.zstack.kvm.hypervisor.datatype.HostOsCategoryVO_; +import org.zstack.kvm.hypervisor.datatype.HypervisorVersionState; +import org.zstack.kvm.hypervisor.datatype.KvmHostHypervisorMetadataVO; +import org.zstack.kvm.hypervisor.datatype.KvmHostHypervisorMetadataVO_; +import org.zstack.kvm.hypervisor.datatype.KvmHypervisorInfoVO; +import org.zstack.kvm.hypervisor.datatype.KvmHypervisorInfoVO_; +import org.zstack.kvm.hypervisor.datatype.ResourceHypervisorInfo; import org.zstack.utils.CollectionDSL; import org.zstack.utils.CollectionUtils; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; import javax.persistence.Tuple; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.Comparator; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.TreeSet; import java.util.function.Function; import java.util.stream.Collectors; diff --git a/plugin/kvm/src/main/java/org/zstack/kvm/hypervisor/datatype/KvmHypervisorInfoVO.java b/plugin/kvm/src/main/java/org/zstack/kvm/hypervisor/datatype/KvmHypervisorInfoVO.java index d0c23d180f7..ffbc4d5b085 100644 --- a/plugin/kvm/src/main/java/org/zstack/kvm/hypervisor/datatype/KvmHypervisorInfoVO.java +++ b/plugin/kvm/src/main/java/org/zstack/kvm/hypervisor/datatype/KvmHypervisorInfoVO.java @@ -1,6 +1,9 @@ package org.zstack.kvm.hypervisor.datatype; -import org.zstack.header.vo.*; +import org.zstack.header.vo.ResourceVO; +import org.zstack.header.vo.SoftDeletionCascade; +import org.zstack.header.vo.SoftDeletionCascades; +import org.zstack.header.vo.ToInventory; import org.zstack.header.vo.EntityGraph; import org.zstack.header.vo.Index; import org.zstack.kvm.KVMConstant; diff --git a/plugin/kvm/src/main/java/org/zstack/kvm/hypervisor/datatype/ResourceHypervisorInfo.java b/plugin/kvm/src/main/java/org/zstack/kvm/hypervisor/datatype/ResourceHypervisorInfo.java index b25573c64d9..d77f3b78846 100644 --- a/plugin/kvm/src/main/java/org/zstack/kvm/hypervisor/datatype/ResourceHypervisorInfo.java +++ b/plugin/kvm/src/main/java/org/zstack/kvm/hypervisor/datatype/ResourceHypervisorInfo.java @@ -9,7 +9,11 @@ import org.zstack.header.vo.ResourceVO_; import org.zstack.kvm.hypervisor.KvmHypervisorInfoHelper; -import java.util.*; +import java.util.Collection; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Set; import java.util.function.Function; import java.util.stream.Collectors; diff --git a/plugin/kvm/src/main/java/org/zstack/kvm/xmlhook/APICreateVmUserDefinedXmlHookScriptMsg.java b/plugin/kvm/src/main/java/org/zstack/kvm/xmlhook/APICreateVmUserDefinedXmlHookScriptMsg.java index 7d4a95ac422..52b3993866e 100644 --- a/plugin/kvm/src/main/java/org/zstack/kvm/xmlhook/APICreateVmUserDefinedXmlHookScriptMsg.java +++ b/plugin/kvm/src/main/java/org/zstack/kvm/xmlhook/APICreateVmUserDefinedXmlHookScriptMsg.java @@ -1,7 +1,11 @@ package org.zstack.kvm.xmlhook; import org.springframework.http.HttpMethod; -import org.zstack.header.message.*; +import org.zstack.header.message.APICreateMessage; +import org.zstack.header.message.APIEvent; +import org.zstack.header.message.APIMessage; +import org.zstack.header.message.APIParam; +import org.zstack.header.message.DefaultTimeout; import org.zstack.header.other.APIAuditor; import org.zstack.header.rest.RestRequest; diff --git a/plugin/kvm/src/main/java/org/zstack/kvm/xmlhook/XmlHookBase.java b/plugin/kvm/src/main/java/org/zstack/kvm/xmlhook/XmlHookBase.java index 5a45a5e02f0..8714a80c3f0 100644 --- a/plugin/kvm/src/main/java/org/zstack/kvm/xmlhook/XmlHookBase.java +++ b/plugin/kvm/src/main/java/org/zstack/kvm/xmlhook/XmlHookBase.java @@ -16,7 +16,11 @@ import org.zstack.header.core.Completion; import org.zstack.header.core.ReturnValueCompletion; import org.zstack.header.core.WhileDoneCompletion; -import org.zstack.header.core.workflow.*; +import org.zstack.header.core.workflow.FlowChain; +import org.zstack.header.core.workflow.FlowDoneHandler; +import org.zstack.header.core.workflow.FlowErrorHandler; +import org.zstack.header.core.workflow.FlowTrigger; +import org.zstack.header.core.workflow.NoRollbackFlow; import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.errorcode.ErrorCodeList; import org.zstack.header.message.APIMessage; @@ -27,7 +31,11 @@ import org.zstack.header.vm.VmInstanceState; import org.zstack.utils.CollectionUtils; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.Map; +import java.util.Objects; import static org.zstack.core.Platform.operr; import static org.zstack.utils.clouderrorcode.CloudOperationsErrorCode.*; @@ -150,6 +158,7 @@ public String getName() { private void updateVmUserDefinedXmlHook(APIUpdateVmUserDefinedXmlHookScriptMsg msg, ReturnValueCompletion completion) { FlowChain chain = new SimpleFlowChain(); chain.setName(String.format("update-user-defined-xml-hook-%s-script", msg.getXmlHookUuid())); + // DEBT: NoRollbackFlow — in updateVmUserDefinedXmlHook chain.then(new NoRollbackFlow() { String __name__ = "refresh-db"; @@ -167,6 +176,7 @@ public void run(FlowTrigger trigger, Map data) { dbf.updateAndRefresh(self); trigger.next(); } + // DEBT: NoRollbackFlow — in updateVmUserDefinedXmlHook }).then(new NoRollbackFlow() { String __name__ = "startup-vm-instances"; diff --git a/plugin/kvm/src/main/java/org/zstack/kvm/xmlhook/XmlHookVmInstanceRefVO.java b/plugin/kvm/src/main/java/org/zstack/kvm/xmlhook/XmlHookVmInstanceRefVO.java index a1d53437880..55ab5ff1c49 100644 --- a/plugin/kvm/src/main/java/org/zstack/kvm/xmlhook/XmlHookVmInstanceRefVO.java +++ b/plugin/kvm/src/main/java/org/zstack/kvm/xmlhook/XmlHookVmInstanceRefVO.java @@ -1,7 +1,9 @@ package org.zstack.kvm.xmlhook; import org.zstack.header.vm.VmInstanceVO; -import org.zstack.header.vo.*; +import org.zstack.header.vo.SoftDeletionCascade; +import org.zstack.header.vo.SoftDeletionCascades; +import org.zstack.header.vo.ToInventory; import org.zstack.header.vo.ForeignKey; import javax.persistence.*; diff --git a/plugin/ldap/src/main/java/org/zstack/ldap/DummyTrustManager.java b/plugin/ldap/src/main/java/org/zstack/ldap/DummyTrustManager.java index 3cbfa503447..1fb49e8e2f9 100644 --- a/plugin/ldap/src/main/java/org/zstack/ldap/DummyTrustManager.java +++ b/plugin/ldap/src/main/java/org/zstack/ldap/DummyTrustManager.java @@ -1,7 +1,7 @@ package org.zstack.ldap; -import java.security.cert.*; -import javax.net.ssl.*; +import java.security.cert.CertificateException; +import javax.net.ssl.X509TrustManager; import java.security.cert.X509Certificate; /** diff --git a/plugin/ldap/src/main/java/org/zstack/ldap/LdapEffectiveScope.java b/plugin/ldap/src/main/java/org/zstack/ldap/LdapEffectiveScope.java index 4be9ee9c7c5..9c7f40c51d0 100644 --- a/plugin/ldap/src/main/java/org/zstack/ldap/LdapEffectiveScope.java +++ b/plugin/ldap/src/main/java/org/zstack/ldap/LdapEffectiveScope.java @@ -2,7 +2,11 @@ import org.zstack.header.host.HypervisorType; -import java.util.*; +import java.util.Collections; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Map; +import java.util.Set; public class LdapEffectiveScope { private static Map scopes = Collections.synchronizedMap(new HashMap()); diff --git a/plugin/ldap/src/main/java/org/zstack/ldap/LdapManagerImpl.java b/plugin/ldap/src/main/java/org/zstack/ldap/LdapManagerImpl.java index e6fc66d3d70..241c50b6f55 100755 --- a/plugin/ldap/src/main/java/org/zstack/ldap/LdapManagerImpl.java +++ b/plugin/ldap/src/main/java/org/zstack/ldap/LdapManagerImpl.java @@ -22,12 +22,28 @@ import org.zstack.header.core.ReturnValueCompletion; import org.zstack.header.core.WhileDoneCompletion; import org.zstack.header.core.captcha.Captcha; -import org.zstack.header.core.workflow.*; +import org.zstack.header.core.workflow.FlowChain; +import org.zstack.header.core.workflow.FlowDoneHandler; +import org.zstack.header.core.workflow.FlowErrorHandler; +import org.zstack.header.core.workflow.FlowTrigger; +import org.zstack.header.core.workflow.NoRollbackFlow; import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.errorcode.ErrorCodeList; import org.zstack.header.errorcode.OperationFailureException; -import org.zstack.header.identity.*; -import org.zstack.header.identity.login.*; +import org.zstack.header.identity.AccountConstant; +import org.zstack.header.identity.AccountInventory; +import org.zstack.header.identity.AccountVO; +import org.zstack.header.identity.AccountVO_; +import org.zstack.header.identity.IdentityErrors; +import org.zstack.header.identity.LoginType; +import org.zstack.header.identity.login.AdditionalAuthFeature; +import org.zstack.header.identity.login.LogInMsg; +import org.zstack.header.identity.login.LogInReply; +import org.zstack.header.identity.login.LoginAuthConstant; +import org.zstack.header.identity.login.LoginBackend; +import org.zstack.header.identity.login.LoginContext; +import org.zstack.header.identity.login.LoginManager; +import org.zstack.header.identity.login.LoginSessionInfo; import org.zstack.header.message.APIMessage; import org.zstack.header.message.Message; import org.zstack.header.message.MessageReply; @@ -44,7 +60,10 @@ import javax.persistence.PersistenceException; import javax.persistence.Query; import java.sql.Timestamp; -import java.util.*; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; +import java.util.Map; import static org.zstack.core.Platform.err; import static org.zstack.core.Platform.operr; @@ -296,6 +315,7 @@ private void handle(APIDeleteLdapServerMsg msg) { FlowChain chain = new SimpleFlowChain(); chain.setName("delete-ldap-server"); + // DEBT: NoRollbackFlow — in saveLdapUseAsLoginNameTag chain.then(new NoRollbackFlow() { String __name__ = "before-delete-ldap-server"; diff --git a/plugin/ldap/src/main/java/org/zstack/ldap/externalSearch/AggregateSearch.java b/plugin/ldap/src/main/java/org/zstack/ldap/externalSearch/AggregateSearch.java index 9f8d4a8b620..5c0cc73befc 100644 --- a/plugin/ldap/src/main/java/org/zstack/ldap/externalSearch/AggregateSearch.java +++ b/plugin/ldap/src/main/java/org/zstack/ldap/externalSearch/AggregateSearch.java @@ -15,7 +15,11 @@ import javax.naming.NamingEnumeration; import javax.naming.directory.Attributes; import javax.naming.directory.SearchControls; -import java.util.*; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; import static org.zstack.core.Platform.operr; import static org.zstack.utils.clouderrorcode.CloudOperationsErrorCode.*; diff --git a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/LoadBalancerBase.java b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/LoadBalancerBase.java index f51ed2efb25..d74057984bc 100755 --- a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/LoadBalancerBase.java +++ b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/LoadBalancerBase.java @@ -12,7 +12,11 @@ import org.zstack.core.cloudbus.CloudBus; import org.zstack.core.cloudbus.CloudBusCallBack; import org.zstack.core.componentloader.PluginRegistry; -import org.zstack.core.db.*; +import org.zstack.core.db.DatabaseFacade; +import org.zstack.core.db.Q; +import org.zstack.core.db.SQL; +import org.zstack.core.db.SQLBatch; +import org.zstack.core.db.SimpleQuery; import org.zstack.core.db.SimpleQuery.Op; import org.zstack.core.thread.ChainTask; import org.zstack.core.thread.SyncTaskChain; @@ -27,7 +31,13 @@ import org.zstack.header.core.NoErrorCompletion; import org.zstack.header.core.NopeCompletion; import org.zstack.header.core.WhileDoneCompletion; -import org.zstack.header.core.workflow.*; +import org.zstack.header.core.workflow.Flow; +import org.zstack.header.core.workflow.FlowChain; +import org.zstack.header.core.workflow.FlowDoneHandler; +import org.zstack.header.core.workflow.FlowErrorHandler; +import org.zstack.header.core.workflow.FlowRollback; +import org.zstack.header.core.workflow.FlowTrigger; +import org.zstack.header.core.workflow.NoRollbackFlow; import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.errorcode.ErrorCodeList; import org.zstack.header.errorcode.OperationFailureException; @@ -40,11 +50,19 @@ import org.zstack.header.network.l3.L3NetworkInventory; import org.zstack.header.network.l3.L3NetworkVO; import org.zstack.header.tag.SystemTagInventory; -import org.zstack.header.vm.*; +import org.zstack.header.vm.VmInstanceConstant; +import org.zstack.header.vm.VmInstanceState; +import org.zstack.header.vm.VmInstanceVO; +import org.zstack.header.vm.VmNicInventory; +import org.zstack.header.vm.VmNicVO; +import org.zstack.header.vm.VmNicVO_; import org.zstack.header.vo.ResourceVO; import org.zstack.identity.Account; import org.zstack.network.l3.L3NetworkManager; -import org.zstack.network.service.vip.*; +import org.zstack.network.service.vip.ModifyVipAttributesStruct; +import org.zstack.network.service.vip.Vip; +import org.zstack.network.service.vip.VipVO; +import org.zstack.network.service.vip.VipVO_; import org.zstack.tag.PatternedSystemTag; import org.zstack.tag.SystemTagCreator; import org.zstack.tag.TagManager; @@ -58,7 +76,12 @@ import org.zstack.utils.network.NetworkUtils; import javax.persistence.TypedQuery; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; import java.util.stream.Collectors; import static java.util.Arrays.asList; @@ -403,6 +426,7 @@ public void rollback(FlowRollback trigger, Map data) { } }); + // DEBT: NoRollbackFlow — in rollback flow(new NoRollbackFlow() { String __name__ = "deactive-nics-on-backend"; @@ -492,6 +516,7 @@ public void rollback(FlowRollback trigger, Map data) { } }); + // DEBT: NoRollbackFlow — in rollback flow(new NoRollbackFlow() { String __name__ = "active-nics-on-backend"; @@ -909,6 +934,7 @@ public void fail(ErrorCode errorCode) { FlowChain flowChain = new SimpleFlowChain(); flowChain.setName("detach-vip-from-lb-and-release-vip"); + // DEBT: NoRollbackFlow — reason TBD flowChain.then(new NoRollbackFlow() { @Override public void run(FlowTrigger trigger, Map data) { @@ -925,6 +951,7 @@ public void fail(ErrorCode errorCode) { } }); } + // DEBT: NoRollbackFlow — reason TBD }).then(new NoRollbackFlow() { String __name__ = "release-vip"; @Transactional(readOnly = true) @@ -1110,6 +1137,7 @@ private void handle(final APIDeleteLoadBalancerMsg msg) { @Override public void setup() { if (msg.getDeletionMode() == APIDeleteMessage.DeletionMode.Permissive) { + // DEBT: NoRollbackFlow — in getName flow(new NoRollbackFlow() { String __name__ = "delete-loadBalancer-permissive-check"; @@ -1129,6 +1157,7 @@ public void fail(ErrorCode errorCode) { } }); + // DEBT: NoRollbackFlow — in getName flow(new NoRollbackFlow() { String __name__ = "delete-loadBalancer-permissive-delete"; @@ -1148,6 +1177,7 @@ public void fail(ErrorCode errorCode) { } }); } else { + // DEBT: NoRollbackFlow — reason TBD flow(new NoRollbackFlow() { String __name__ = "delete-loadBalancer-force-delete"; @@ -1194,6 +1224,7 @@ private void delete(final Completion completion) { chain.then(new ShareFlow() { @Override public void setup() { + // DEBT: NoRollbackFlow — in delete flow(new NoRollbackFlow() { String __name__ = "delete-lb"; @@ -1220,6 +1251,7 @@ public void fail(ErrorCode errorCode) { } }); + // DEBT: NoRollbackFlow — in delete flow(new NoRollbackFlow() { String __name__ = "release-vip"; @Transactional(readOnly = true) @@ -1705,6 +1737,7 @@ public void rollback(FlowRollback trigger, Map data) { } }); + // DEBT: NoRollbackFlow — in rollback flow(new NoRollbackFlow() { String __name__ = "add-nic-to-lb"; @@ -2030,6 +2063,7 @@ private void doAddAccessControlListToLoadBalancer(APIAddAccessControlListToLoadB final LoadBalancerListenerVO lblVo = dbf.findByUuid(msg.getListenerUuid(), LoadBalancerListenerVO.class); flowChain.setData(data); + // DEBT: NoRollbackFlow — in doAddAccessControlListToLoadBalancer flowChain.then(new NoRollbackFlow() { String __name__ = "add-acl-to-lb-listener"; @Override @@ -2073,6 +2107,7 @@ public void run(FlowTrigger trigger, Map data) { data.put("refs", refs); trigger.next(); } + // DEBT: NoRollbackFlow — reason TBD }).then(new NoRollbackFlow() { String __name__ = "refresh-lb-listener"; @@ -2870,6 +2905,7 @@ public void rollback(FlowRollback trigger, Map data) { }); + // DEBT: NoRollbackFlow — in rollback flow(new NoRollbackFlow() { String __name__ = "add-to-backend"; diff --git a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/LoadBalancerCascadeExtension.java b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/LoadBalancerCascadeExtension.java index 74acb10f15d..98d192f909a 100755 --- a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/LoadBalancerCascadeExtension.java +++ b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/LoadBalancerCascadeExtension.java @@ -16,7 +16,11 @@ import org.zstack.header.acl.AccessControlListVO; import org.zstack.header.core.Completion; import org.zstack.header.core.WhileDoneCompletion; -import org.zstack.header.core.workflow.*; +import org.zstack.header.core.workflow.FlowChain; +import org.zstack.header.core.workflow.FlowDoneHandler; +import org.zstack.header.core.workflow.FlowErrorHandler; +import org.zstack.header.core.workflow.FlowTrigger; +import org.zstack.header.core.workflow.NoRollbackFlow; import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.errorcode.ErrorCodeList; import org.zstack.header.identity.AccountInventory; @@ -32,7 +36,12 @@ import org.zstack.utils.logging.CLogger; import javax.persistence.TypedQuery; -import java.util.*; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; import java.util.concurrent.Callable; import java.util.stream.Collectors; @@ -125,6 +134,7 @@ public void done(ErrorCodeList errorCodeList) { FlowChain chain = new SimpleFlowChain(); chain.setName("delete-lb-and-lb-certs"); + // DEBT: NoRollbackFlow — reason TBD chain.then(new NoRollbackFlow() { @Override public void run(FlowTrigger trigger, Map data) { @@ -145,6 +155,7 @@ public void fail(ErrorCode errorCode) { } }); } + // DEBT: NoRollbackFlow — reason TBD }).then(new NoRollbackFlow() { @Override public void run(FlowTrigger trigger, Map data) { @@ -189,6 +200,7 @@ public void done(ErrorCodeList errorCodeList) { } }); } + // DEBT: NoRollbackFlow — reason TBD }).then(new NoRollbackFlow() { @Override public void run(FlowTrigger trigger, Map data) { diff --git a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/LoadBalancerExtension.java b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/LoadBalancerExtension.java index e20e57ce05a..23ca3f07d13 100755 --- a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/LoadBalancerExtension.java +++ b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/LoadBalancerExtension.java @@ -18,7 +18,12 @@ import org.zstack.header.core.Completion; import org.zstack.header.core.NoErrorCompletion; import org.zstack.header.core.NopeWhileDoneCompletion; -import org.zstack.header.core.workflow.*; +import org.zstack.header.core.workflow.Flow; +import org.zstack.header.core.workflow.FlowChain; +import org.zstack.header.core.workflow.FlowDoneHandler; +import org.zstack.header.core.workflow.FlowErrorHandler; +import org.zstack.header.core.workflow.FlowRollback; +import org.zstack.header.core.workflow.FlowTrigger; import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.message.MessageReply; import org.zstack.header.message.NeedReplyMessage; @@ -39,7 +44,15 @@ import javax.persistence.Tuple; import javax.persistence.TypedQuery; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import java.util.Set; import java.util.Map.Entry; import java.util.stream.Collectors; diff --git a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/LoadBalancerListenerInventory.java b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/LoadBalancerListenerInventory.java index 3650a9fd9b2..91bea9079fb 100755 --- a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/LoadBalancerListenerInventory.java +++ b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/LoadBalancerListenerInventory.java @@ -9,7 +9,11 @@ import java.io.Serializable; import java.sql.Timestamp; -import java.util.*; +import java.util.ArrayList; +import java.util.Collection; +import java.util.HashSet; +import java.util.List; +import java.util.Set; /** * Created by frank on 8/8/2015. diff --git a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/LoadBalancerManagerImpl.java b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/LoadBalancerManagerImpl.java index 8f1f8e1fc62..01ab638e631 100755 --- a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/LoadBalancerManagerImpl.java +++ b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/LoadBalancerManagerImpl.java @@ -23,7 +23,13 @@ import org.zstack.header.apimediator.ApiMessageInterceptionException; import org.zstack.header.core.Completion; import org.zstack.header.core.WhileDoneCompletion; -import org.zstack.header.core.workflow.*; +import org.zstack.header.core.workflow.Flow; +import org.zstack.header.core.workflow.FlowChain; +import org.zstack.header.core.workflow.FlowDoneHandler; +import org.zstack.header.core.workflow.FlowErrorHandler; +import org.zstack.header.core.workflow.FlowRollback; +import org.zstack.header.core.workflow.FlowTrigger; +import org.zstack.header.core.workflow.NoRollbackFlow; import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.errorcode.ErrorCodeList; import org.zstack.header.errorcode.OperationFailureException; @@ -38,7 +44,12 @@ import org.zstack.header.query.AddExpandedQueryExtensionPoint; import org.zstack.header.query.ExpandedQueryAliasStruct; import org.zstack.header.query.ExpandedQueryStruct; -import org.zstack.header.tag.*; +import org.zstack.header.tag.AbstractSystemTagOperationJudger; +import org.zstack.header.tag.SystemTagInventory; +import org.zstack.header.tag.SystemTagLifeCycleListener; +import org.zstack.header.tag.SystemTagVO; +import org.zstack.header.tag.SystemTagVO_; +import org.zstack.header.tag.SystemTagValidator; import org.zstack.header.vm.VmNicChangeNetworkExtensionPoint; import org.zstack.header.vm.VmNicInventory; import org.zstack.header.vm.VmNicVO; @@ -46,7 +57,12 @@ import org.zstack.identity.Account; import org.zstack.network.service.lb.quota.LoadBalanceListenerNumQuotaDefinition; import org.zstack.network.service.lb.quota.LoadBalanceNumQuotaDefinition; -import org.zstack.network.service.vip.*; +import org.zstack.network.service.vip.ModifyVipAttributesStruct; +import org.zstack.network.service.vip.Vip; +import org.zstack.network.service.vip.VipGetServiceReferencePoint; +import org.zstack.network.service.vip.VipGetUsedPortRangeExtensionPoint; +import org.zstack.network.service.vip.VipInventory; +import org.zstack.network.service.vip.VipVO; import org.zstack.tag.TagManager; import org.zstack.utils.CollectionUtils; import org.zstack.utils.RangeSet; @@ -57,7 +73,14 @@ import org.zstack.utils.network.IPv6Constants; import javax.persistence.Tuple; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; import java.util.stream.Collectors; import static org.zstack.core.Platform.argerr; @@ -360,6 +383,7 @@ private void handle(final APIDeleteCertificateMsg msg) { chain.then(new ShareFlow() { @Override public void setup() { + // DEBT: NoRollbackFlow — reason TBD flow(new NoRollbackFlow() { @Override public void run(FlowTrigger trigger, Map data) { diff --git a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/LoadBalancerServerGroupInventory.java b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/LoadBalancerServerGroupInventory.java index bda7afd06b8..dca9983a8c1 100644 --- a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/LoadBalancerServerGroupInventory.java +++ b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/LoadBalancerServerGroupInventory.java @@ -13,7 +13,9 @@ import javax.persistence.*; import java.io.Serializable; import java.sql.Timestamp; -import java.util.*; +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; import java.util.stream.Collectors; @Inventory(mappingVOClass = LoadBalancerServerGroupVO.class) diff --git a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/LoadBalancerStruct.java b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/LoadBalancerStruct.java index 7603928123b..1d019615861 100755 --- a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/LoadBalancerStruct.java +++ b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/LoadBalancerStruct.java @@ -5,7 +5,12 @@ import org.zstack.network.service.vip.VipInventory; import java.io.Serializable; -import java.util.*; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; import java.util.stream.Collectors; /** diff --git a/plugin/localstorage/src/main/java/org/zstack/storage/primary/local/LocalStorageAllocateCapacityForAttachingVolumeFlow.java b/plugin/localstorage/src/main/java/org/zstack/storage/primary/local/LocalStorageAllocateCapacityForAttachingVolumeFlow.java index 0faf93884cb..d7b1370826d 100755 --- a/plugin/localstorage/src/main/java/org/zstack/storage/primary/local/LocalStorageAllocateCapacityForAttachingVolumeFlow.java +++ b/plugin/localstorage/src/main/java/org/zstack/storage/primary/local/LocalStorageAllocateCapacityForAttachingVolumeFlow.java @@ -17,7 +17,14 @@ import org.zstack.header.host.HostInventory; import org.zstack.header.host.HostVO; import org.zstack.header.message.MessageReply; -import org.zstack.header.storage.primary.*; +import org.zstack.header.storage.primary.AllocatePrimaryStorageSpaceMsg; +import org.zstack.header.storage.primary.AllocatePrimaryStorageSpaceReply; +import org.zstack.header.storage.primary.PrimaryStorageAllocationPurpose; +import org.zstack.header.storage.primary.PrimaryStorageClusterRefVO; +import org.zstack.header.storage.primary.PrimaryStorageConstant; +import org.zstack.header.storage.primary.PrimaryStorageInventory; +import org.zstack.header.storage.primary.PrimaryStorageVO; +import org.zstack.header.storage.primary.ReleasePrimaryStorageSpaceMsg; import org.zstack.header.vm.VmInstanceConstant; import org.zstack.header.vm.VmInstanceSpec; import org.zstack.header.volume.VolumeInventory; diff --git a/plugin/localstorage/src/main/java/org/zstack/storage/primary/local/LocalStorageApiInterceptor.java b/plugin/localstorage/src/main/java/org/zstack/storage/primary/local/LocalStorageApiInterceptor.java index a4f135aafff..2a1b9c190df 100755 --- a/plugin/localstorage/src/main/java/org/zstack/storage/primary/local/LocalStorageApiInterceptor.java +++ b/plugin/localstorage/src/main/java/org/zstack/storage/primary/local/LocalStorageApiInterceptor.java @@ -3,7 +3,11 @@ import org.springframework.beans.factory.annotation.Autowired; import org.zstack.compute.vm.IsoOperator; import org.zstack.core.cloudbus.CloudBus; -import org.zstack.core.db.*; +import org.zstack.core.db.DatabaseFacade; +import org.zstack.core.db.Q; +import org.zstack.core.db.SQL; +import org.zstack.core.db.SQLBatch; +import org.zstack.core.db.SimpleQuery; import org.zstack.core.db.SimpleQuery.Op; import org.zstack.core.errorcode.ErrorFacade; import org.zstack.header.apimediator.ApiMessageInterceptionException; @@ -21,7 +25,11 @@ import org.zstack.header.vm.VmInstanceState; import org.zstack.header.vm.VmInstanceVO; import org.zstack.header.vm.VmInstanceVO_; -import org.zstack.header.volume.*; +import org.zstack.header.volume.APIAttachDataVolumeToVmMsg; +import org.zstack.header.volume.VolumeStatus; +import org.zstack.header.volume.VolumeType; +import org.zstack.header.volume.VolumeVO; +import org.zstack.header.volume.VolumeVO_; import org.zstack.storage.primary.PrimaryStoragePhysicalCapacityManager; import org.zstack.utils.CollectionDSL; diff --git a/plugin/localstorage/src/main/java/org/zstack/storage/primary/local/LocalStorageBase.java b/plugin/localstorage/src/main/java/org/zstack/storage/primary/local/LocalStorageBase.java index ed98d99747a..d3d7d132b7d 100755 --- a/plugin/localstorage/src/main/java/org/zstack/storage/primary/local/LocalStorageBase.java +++ b/plugin/localstorage/src/main/java/org/zstack/storage/primary/local/LocalStorageBase.java @@ -7,7 +7,12 @@ import org.zstack.core.cloudbus.CloudBusCallBack; import org.zstack.core.cloudbus.EventFacade; import org.zstack.core.componentloader.PluginRegistry; -import org.zstack.core.db.*; +import org.zstack.core.db.Q; +import org.zstack.core.db.SQL; +import org.zstack.core.db.SQLBatch; +import org.zstack.core.db.SQLBatchWithReturn; +import org.zstack.core.db.SimpleQuery; +import org.zstack.core.db.UpdateQuery; import org.zstack.core.db.SimpleQuery.Op; import org.zstack.core.thread.AsyncThread; import org.zstack.core.thread.ChainTask; @@ -20,27 +25,169 @@ import org.zstack.header.cluster.ClusterInventory; import org.zstack.header.cluster.ClusterVO; import org.zstack.header.cluster.ClusterVO_; -import org.zstack.header.core.*; -import org.zstack.header.core.workflow.*; +import org.zstack.header.core.AsyncLatch; +import org.zstack.header.core.Completion; +import org.zstack.header.core.ExceptionSafe; +import org.zstack.header.core.NoErrorCompletion; +import org.zstack.header.core.ReturnValueCompletion; +import org.zstack.header.core.WhileDoneCompletion; +import org.zstack.header.core.workflow.Flow; +import org.zstack.header.core.workflow.FlowChain; +import org.zstack.header.core.workflow.FlowDoneHandler; +import org.zstack.header.core.workflow.FlowErrorHandler; +import org.zstack.header.core.workflow.FlowFinallyHandler; +import org.zstack.header.core.workflow.FlowRollback; +import org.zstack.header.core.workflow.FlowTrigger; +import org.zstack.header.core.workflow.NoRollbackFlow; import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.errorcode.ErrorCodeList; import org.zstack.header.errorcode.OperationFailureException; import org.zstack.header.errorcode.SysErrors; import org.zstack.header.exception.CloudRuntimeException; -import org.zstack.header.host.*; +import org.zstack.header.host.Host; +import org.zstack.header.host.HostCanonicalEvents; +import org.zstack.header.host.HostErrors; +import org.zstack.header.host.HostInventory; +import org.zstack.header.host.HostStatus; +import org.zstack.header.host.HostVO; +import org.zstack.header.host.HostVO_; import org.zstack.header.image.ImageInventory; import org.zstack.header.image.ImageVO; import org.zstack.header.message.APIMessage; import org.zstack.header.message.Message; import org.zstack.header.message.MessageReply; import org.zstack.header.message.OverlayMessage; -import org.zstack.header.storage.primary.*; +import org.zstack.header.storage.primary.APICleanUpImageCacheOnPrimaryStorageEvent; +import org.zstack.header.storage.primary.APICleanUpImageCacheOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.AllocatePrimaryStorageSpaceMsg; +import org.zstack.header.storage.primary.AskInstallPathForNewSnapshotMsg; +import org.zstack.header.storage.primary.AskInstallPathForNewSnapshotReply; +import org.zstack.header.storage.primary.AskVolumeSnapshotCapabilityMsg; +import org.zstack.header.storage.primary.AskVolumeSnapshotCapabilityReply; +import org.zstack.header.storage.primary.BackupVolumeSnapshotFromPrimaryStorageToBackupStorageMsg; +import org.zstack.header.storage.primary.BackupVolumeSnapshotFromPrimaryStorageToBackupStorageReply; +import org.zstack.header.storage.primary.CancelDownloadBitsFromKVMHostToPrimaryStorageMsg; +import org.zstack.header.storage.primary.CancelDownloadBitsFromKVMHostToPrimaryStorageReply; +import org.zstack.header.storage.primary.ChangeVolumeTypeOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.ChangeVolumeTypeOnPrimaryStorageReply; +import org.zstack.header.storage.primary.CheckChangeVolumeTypeOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.CheckChangeVolumeTypeOnPrimaryStorageReply; +import org.zstack.header.storage.primary.CheckSnapshotMsg; +import org.zstack.header.storage.primary.CheckSnapshotReply; +import org.zstack.header.storage.primary.CheckVolumeSnapshotOperationOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.CheckVolumeSnapshotOperationOnPrimaryStorageReply; +import org.zstack.header.storage.primary.CommitVolumeSnapshotOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.CommitVolumeSnapshotOnPrimaryStorageReply; +import org.zstack.header.storage.primary.CreateImageCacheFromVolumeOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.CreateImageCacheFromVolumeOnPrimaryStorageReply; +import org.zstack.header.storage.primary.CreateImageCacheFromVolumeSnapshotOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.CreateImageCacheFromVolumeSnapshotOnPrimaryStorageReply; +import org.zstack.header.storage.primary.CreateTemplateFromVolumeOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.CreateTemplateFromVolumeOnPrimaryStorageReply; +import org.zstack.header.storage.primary.CreateVolumeFromVolumeSnapshotOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.CreateVolumeFromVolumeSnapshotOnPrimaryStorageReply; +import org.zstack.header.storage.primary.DeleteBitsOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.DeleteBitsOnPrimaryStorageReply; +import org.zstack.header.storage.primary.DeleteImageCacheOnPrimaryStorageReply; +import org.zstack.header.storage.primary.DeleteIsoFromPrimaryStorageMsg; +import org.zstack.header.storage.primary.DeleteIsoFromPrimaryStorageReply; +import org.zstack.header.storage.primary.DeleteSnapshotOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.DeleteSnapshotOnPrimaryStorageReply; +import org.zstack.header.storage.primary.DeleteVolumeBitsOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.DeleteVolumeBitsOnPrimaryStorageReply; +import org.zstack.header.storage.primary.DeleteVolumeOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.DeleteVolumeOnPrimaryStorageReply; +import org.zstack.header.storage.primary.DownloadBitsFromKVMHostToPrimaryStorageMsg; +import org.zstack.header.storage.primary.DownloadBitsFromKVMHostToPrimaryStorageReply; +import org.zstack.header.storage.primary.DownloadDataVolumeToPrimaryStorageMsg; +import org.zstack.header.storage.primary.DownloadDataVolumeToPrimaryStorageReply; +import org.zstack.header.storage.primary.DownloadImageToPrimaryStorageCacheMsg; +import org.zstack.header.storage.primary.DownloadImageToPrimaryStorageCacheReply; +import org.zstack.header.storage.primary.DownloadIsoToPrimaryStorageMsg; +import org.zstack.header.storage.primary.DownloadIsoToPrimaryStorageReply; +import org.zstack.header.storage.primary.DownloadVolumeTemplateToPrimaryStorageMsg; +import org.zstack.header.storage.primary.DownloadVolumeTemplateToPrimaryStorageReply; +import org.zstack.header.storage.primary.FlattenVolumeOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.FlattenVolumeOnPrimaryStorageReply; +import org.zstack.header.storage.primary.GetDownloadBitsFromKVMHostProgressMsg; +import org.zstack.header.storage.primary.GetDownloadBitsFromKVMHostProgressReply; +import org.zstack.header.storage.primary.GetInstallPathForDataVolumeDownloadMsg; +import org.zstack.header.storage.primary.GetInstallPathForDataVolumeDownloadReply; +import org.zstack.header.storage.primary.GetPrimaryStorageResourceLocationMsg; +import org.zstack.header.storage.primary.GetPrimaryStorageResourceLocationReply; +import org.zstack.header.storage.primary.GetPrimaryStorageUsageReportMsg; +import org.zstack.header.storage.primary.GetPrimaryStorageUsedPhysicalCapacityForecastReply; +import org.zstack.header.storage.primary.GetVolumeBackingChainFromPrimaryStorageMsg; +import org.zstack.header.storage.primary.GetVolumeBackingChainFromPrimaryStorageReply; +import org.zstack.header.storage.primary.GetVolumeRootImageUuidFromPrimaryStorageMsg; +import org.zstack.header.storage.primary.GetVolumeRootImageUuidFromPrimaryStorageReply; +import org.zstack.header.storage.primary.GetVolumeSnapshotEncryptedOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.GetVolumeSnapshotEncryptedOnPrimaryStorageReply; +import org.zstack.header.storage.primary.ImageCacheVO; +import org.zstack.header.storage.primary.ImageCacheVO_; +import org.zstack.header.storage.primary.InstantiateVolumeOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.InstantiateVolumeOnPrimaryStorageReply; +import org.zstack.header.storage.primary.MergeVolumeSnapshotOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.MergeVolumeSnapshotOnPrimaryStorageReply; +import org.zstack.header.storage.primary.PrimaryStorageCapacityUpdaterRunnable; +import org.zstack.header.storage.primary.PrimaryStorageCapacityVO; +import org.zstack.header.storage.primary.PrimaryStorageClusterRefVO; +import org.zstack.header.storage.primary.PrimaryStorageConstant; +import org.zstack.header.storage.primary.PrimaryStorageInventory; +import org.zstack.header.storage.primary.PrimaryStorageOverProvisioningManager; +import org.zstack.header.storage.primary.PrimaryStorageState; +import org.zstack.header.storage.primary.PrimaryStorageVO; +import org.zstack.header.storage.primary.PullVolumeSnapshotOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.PullVolumeSnapshotOnPrimaryStorageReply; +import org.zstack.header.storage.primary.ReInitRootVolumeFromTemplateOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.ReInitRootVolumeFromTemplateOnPrimaryStorageReply; +import org.zstack.header.storage.primary.RecalculatePrimaryStorageCapacityMsg; +import org.zstack.header.storage.primary.RecalculatePrimaryStorageCapacityReply; +import org.zstack.header.storage.primary.ReleasePrimaryStorageSpaceMsg; +import org.zstack.header.storage.primary.RevertVolumeFromSnapshotOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.RevertVolumeFromSnapshotOnPrimaryStorageReply; +import org.zstack.header.storage.primary.SyncVolumeSizeOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.SyncVolumeSizeOnPrimaryStorageReply; +import org.zstack.header.storage.primary.TakeSnapshotMsg; +import org.zstack.header.storage.primary.TakeSnapshotReply; +import org.zstack.header.storage.primary.UnlinkBitsOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.UnlinkBitsOnPrimaryStorageReply; +import org.zstack.header.storage.primary.VolumeSnapshotCapability; import org.zstack.header.storage.primary.VolumeSnapshotCapability.VolumeSnapshotArrangementType; -import org.zstack.header.storage.snapshot.*; -import org.zstack.header.vm.*; +import org.zstack.header.storage.snapshot.ShrinkVolumeSnapshotOnPrimaryStorageMsg; +import org.zstack.header.storage.snapshot.VolumeSnapshotInventory; +import org.zstack.header.storage.snapshot.VolumeSnapshotTreeVO; +import org.zstack.header.storage.snapshot.VolumeSnapshotTreeVO_; +import org.zstack.header.storage.snapshot.VolumeSnapshotVO; +import org.zstack.header.storage.snapshot.VolumeSnapshotVO_; +import org.zstack.header.vm.ChangeVmStateMsg; +import org.zstack.header.vm.VmInstanceConstant; +import org.zstack.header.vm.VmInstanceEO; +import org.zstack.header.vm.VmInstanceInventory; +import org.zstack.header.vm.VmInstanceState; +import org.zstack.header.vm.VmInstanceStateEvent; +import org.zstack.header.vm.VmInstanceVO; +import org.zstack.header.vm.VmInstanceVO_; +import org.zstack.header.vm.VmJustBeforeDeleteFromDbExtensionPoint; +import org.zstack.header.vm.VmNicVO; import org.zstack.header.vo.ResourceVO; -import org.zstack.header.volume.*; -import org.zstack.storage.primary.*; +import org.zstack.header.volume.BatchSyncVolumeSizeOnPrimaryStorageMsg; +import org.zstack.header.volume.BatchSyncVolumeSizeOnPrimaryStorageReply; +import org.zstack.header.volume.ChangeVolumeStatusMsg; +import org.zstack.header.volume.VolumeConstant; +import org.zstack.header.volume.VolumeInventory; +import org.zstack.header.volume.VolumeJustBeforeDeleteFromDbExtensionPoint; +import org.zstack.header.volume.VolumeProvisioningStrategy; +import org.zstack.header.volume.VolumeStatus; +import org.zstack.header.volume.VolumeType; +import org.zstack.header.volume.VolumeVO; +import org.zstack.header.volume.VolumeVO_; +import org.zstack.storage.primary.EstimateVolumeTemplateSizeOnPrimaryStorageMsg; +import org.zstack.storage.primary.EstimateVolumeTemplateSizeOnPrimaryStorageReply; +import org.zstack.storage.primary.ImageCacheCleanParam; +import org.zstack.storage.primary.PrimaryStorageBase; +import org.zstack.storage.primary.PrimaryStorageCapacityUpdater; +import org.zstack.storage.primary.PrimaryStoragePhysicalCapacityManager; import org.zstack.storage.primary.local.APIGetLocalStorageHostDiskCapacityReply.HostDiskCapacity; import org.zstack.storage.primary.local.MigrateBitsStruct.ResourceInfo; import org.zstack.storage.snapshot.DeleteVolumeSnapshotGC; @@ -59,7 +206,12 @@ import javax.persistence.LockModeType; import javax.persistence.Tuple; import javax.persistence.TypedQuery; -import java.util.*; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.Iterator; +import java.util.LinkedList; +import java.util.List; +import java.util.Map; import java.util.concurrent.Callable; import java.util.stream.Collectors; @@ -410,6 +562,7 @@ public void run(MessageReply reply) { trigger.rollback(); } } + // DEBT: NoRollbackFlow — in rollback }).then(new NoRollbackFlow() { String __name__ = "migrate-volume-on-local-storage"; @@ -451,6 +604,7 @@ public void run(MessageReply reply) { } }); } + // DEBT: NoRollbackFlow — reason TBD }).then(new NoRollbackFlow() { String __name__ = "change-vm-state-to-volume-migrated"; @@ -474,6 +628,7 @@ public void run(MessageReply reply) { } }); } + // DEBT: NoRollbackFlow — reason TBD }).then(new NoRollbackFlow() { String __name__ = "change-volume-status-to-origin"; @@ -665,6 +820,7 @@ public void rollback(FlowRollback trigger, Map data) { flow(fl); } + // DEBT: NoRollbackFlow — in rollback flow(new NoRollbackFlow() { String __name__ = "change-reference-to-dst-host"; @@ -687,6 +843,7 @@ public void run(FlowTrigger trigger, Map data) { } }); + // DEBT: NoRollbackFlow — in rollback flow(new NoRollbackFlow() { String __name__ = "return-capacity-to-src-host"; @@ -697,6 +854,7 @@ public void run(FlowTrigger trigger, Map data) { } }); + // DEBT: NoRollbackFlow — in rollback flow(new NoRollbackFlow() { String __name__ = "delete-bits-on-the-src-host"; @@ -1214,6 +1372,7 @@ public void done() { @Override public void setup() { + // DEBT: NoRollbackFlow — reason TBD flow(new NoRollbackFlow() { String __name__ = "download-to-host"; @@ -1316,6 +1475,7 @@ private void handle(final CreateVolumeFromVolumeSnapshotOnPrimaryStorageMsg msg) @Override public void setup() { + // DEBT: NoRollbackFlow — reason TBD flow(new NoRollbackFlow() { String __name__ = "create-volume"; @@ -1461,6 +1621,7 @@ protected void handle(final DeleteSnapshotOnPrimaryStorageMsg msg) { @Override public void setup() { + // DEBT: NoRollbackFlow — in scripts flow(new NoRollbackFlow() { String __name__ = "delete-snapshot-on-host"; @@ -1482,6 +1643,7 @@ public void fail(ErrorCode errorCode) { } }); + // DEBT: NoRollbackFlow — in scripts flow(new NoRollbackFlow() { String __name__ = "return-capacity-to-host"; @@ -1648,6 +1810,7 @@ private void removeHostFromLocalStorage(RemoveHostFromLocalStorageMsg msg, Compl chain.then(new ShareFlow() { @Override public void setup() { + // DEBT: NoRollbackFlow — in removeHostFromLocalStorage flow(new NoRollbackFlow() { String __name__ = "remove-volume-under-resource"; @Override @@ -1662,6 +1825,7 @@ public void run(FlowTrigger trigger, Map data) { } }); + // DEBT: NoRollbackFlow — in removeHostFromLocalStorage flow(new NoRollbackFlow() { String __name__ = "remove-vm-under-resource"; @Override @@ -1684,6 +1848,7 @@ public void run(FlowTrigger trigger, Map data) { } }); + // DEBT: NoRollbackFlow — reason TBD flow(new NoRollbackFlow() { String __name__ = "delete-host-resource"; @@ -1888,6 +2053,7 @@ protected void handle(final InitPrimaryStorageOnHostConnectedMsg msg) { final InitPrimaryStorageOnHostConnectedReply reply = new InitPrimaryStorageOnHostConnectedReply(); FlowChain chain = FlowChainBuilder.newSimpleFlowChain(); chain.setName("init primarystorage on host connected"); + // DEBT: NoRollbackFlow — in getDeduplicateString chain.then(new NoRollbackFlow() { String __name__ = "initial db"; @@ -1965,6 +2131,7 @@ public void fail(ErrorCode errorCode) { } }); } + // DEBT: NoRollbackFlow — reason TBD }).then(new NoRollbackFlow() { String __name__ = "create initailized file"; @@ -2122,6 +2289,7 @@ protected void handle(final InstantiateVolumeOnPrimaryStorageMsg msg) { @Override public void setup() { + // DEBT: NoRollbackFlow — reason TBD flow(new NoRollbackFlow() { String __name__ = "instantiate-volume-on-host"; @@ -2212,6 +2380,7 @@ protected void handle(final DeleteVolumeOnPrimaryStorageMsg msg) { @Override public void setup() { + // DEBT: NoRollbackFlow — in createResourceRefVO flow(new NoRollbackFlow() { String __name__ = "delete-volume-on-host"; @@ -2234,6 +2403,7 @@ public void fail(ErrorCode errorCode) { } }); + // DEBT: NoRollbackFlow — reason TBD flow(new NoRollbackFlow() { String __name__ = "return-capacity-to-host"; @@ -2341,6 +2511,7 @@ protected void handle(final DownloadDataVolumeToPrimaryStorageMsg msg) { @Override public void setup() { + // DEBT: NoRollbackFlow — reason TBD flow(new NoRollbackFlow() { String __name__ = "download-the-data-volume-to-host"; @@ -2421,6 +2592,7 @@ protected void handle(final DeleteVolumeBitsOnPrimaryStorageMsg msg) { @Override public void setup() { + // DEBT: NoRollbackFlow — reason TBD flow(new NoRollbackFlow() { String __name__ = "delete-volume-bits-on-host"; @@ -2495,6 +2667,7 @@ protected void handle(final DeleteBitsOnPrimaryStorageMsg msg) { @Override public void setup() { + // DEBT: NoRollbackFlow — reason TBD flow(new NoRollbackFlow() { String __name__ = "delete-bits-on-host"; @@ -2544,6 +2717,7 @@ protected void handle(final DownloadIsoToPrimaryStorageMsg msg) { @Override public void setup() { + // DEBT: NoRollbackFlow — reason TBD flow(new NoRollbackFlow() { String __name__ = "download-iso-to-host"; @@ -2610,6 +2784,7 @@ protected void handle(final DeleteIsoFromPrimaryStorageMsg msg) { @Override public void setup() { + // DEBT: NoRollbackFlow — reason TBD flow(new NoRollbackFlow() { String __name__ = "delete-iso-on-host"; @@ -2634,6 +2809,7 @@ public void fail(ErrorCode errorCode) { } }); + // DEBT: NoRollbackFlow — reason TBD flow(new NoRollbackFlow() { String __name__ = "return-capacity-to-host"; @@ -2917,6 +3093,7 @@ protected void connectHook(final ConnectParam param, final Completion completion localStorageInitParam.setNeedInitOnHost(true); FlowChain chain = FlowChainBuilder.newSimpleFlowChain(); chain.setName("connect localstorage host hook"); + // DEBT: NoRollbackFlow — in connectHook chain.then(new NoRollbackFlow() { String __name__ = "check localstorage initilized on host"; @@ -2934,6 +3111,7 @@ public void fail(ErrorCode errorCode) { } }); } + // DEBT: NoRollbackFlow — in connectHook }).then(new NoRollbackFlow() { String __name__ = "recaculate primarystorage capacity"; diff --git a/plugin/localstorage/src/main/java/org/zstack/storage/primary/local/LocalStorageChangeStatusExtension.java b/plugin/localstorage/src/main/java/org/zstack/storage/primary/local/LocalStorageChangeStatusExtension.java index 6bc46307f69..020031bf686 100644 --- a/plugin/localstorage/src/main/java/org/zstack/storage/primary/local/LocalStorageChangeStatusExtension.java +++ b/plugin/localstorage/src/main/java/org/zstack/storage/primary/local/LocalStorageChangeStatusExtension.java @@ -1,6 +1,10 @@ package org.zstack.storage.primary.local; -import org.zstack.header.storage.primary.*; +import org.zstack.header.storage.primary.PrimaryStorageChangeStateExtensionPoint; +import org.zstack.header.storage.primary.PrimaryStorageException; +import org.zstack.header.storage.primary.PrimaryStorageInventory; +import org.zstack.header.storage.primary.PrimaryStorageState; +import org.zstack.header.storage.primary.PrimaryStorageStateEvent; /** * Created by camile on 9/6/2017. diff --git a/plugin/localstorage/src/main/java/org/zstack/storage/primary/local/LocalStorageDefaultAllocateCapacityFlow.java b/plugin/localstorage/src/main/java/org/zstack/storage/primary/local/LocalStorageDefaultAllocateCapacityFlow.java index 743153fb1de..34cbcd06f5c 100644 --- a/plugin/localstorage/src/main/java/org/zstack/storage/primary/local/LocalStorageDefaultAllocateCapacityFlow.java +++ b/plugin/localstorage/src/main/java/org/zstack/storage/primary/local/LocalStorageDefaultAllocateCapacityFlow.java @@ -26,7 +26,16 @@ import org.zstack.header.message.MessageReply; import org.zstack.header.storage.backup.BackupStorageVO; import org.zstack.header.storage.backup.BackupStorageVO_; -import org.zstack.header.storage.primary.*; +import org.zstack.header.storage.primary.AllocatePrimaryStorageSpaceMsg; +import org.zstack.header.storage.primary.AllocatePrimaryStorageSpaceReply; +import org.zstack.header.storage.primary.PrimaryStorageAllocationPurpose; +import org.zstack.header.storage.primary.PrimaryStorageClusterRefVO; +import org.zstack.header.storage.primary.PrimaryStorageConstant; +import org.zstack.header.storage.primary.PrimaryStorageState; +import org.zstack.header.storage.primary.PrimaryStorageStatus; +import org.zstack.header.storage.primary.PrimaryStorageVO; +import org.zstack.header.storage.primary.PrimaryStorageVO_; +import org.zstack.header.storage.primary.ReleasePrimaryStorageSpaceMsg; import org.zstack.header.vm.VmInstanceConstant; import org.zstack.header.vm.VmInstanceConstant.VmOperation; import org.zstack.header.vm.VmInstanceSpec; @@ -39,7 +48,11 @@ import org.zstack.utils.logging.CLogger; import javax.persistence.TypedQuery; -import java.util.*; +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; +import java.util.Map; +import java.util.Optional; import static org.zstack.core.Platform.argerr; import static org.zstack.core.Platform.operr; diff --git a/plugin/localstorage/src/main/java/org/zstack/storage/primary/local/LocalStorageDesignatedAllocateCapacityFlow.java b/plugin/localstorage/src/main/java/org/zstack/storage/primary/local/LocalStorageDesignatedAllocateCapacityFlow.java index 4ef7989fda7..336415e80f3 100644 --- a/plugin/localstorage/src/main/java/org/zstack/storage/primary/local/LocalStorageDesignatedAllocateCapacityFlow.java +++ b/plugin/localstorage/src/main/java/org/zstack/storage/primary/local/LocalStorageDesignatedAllocateCapacityFlow.java @@ -21,7 +21,13 @@ import org.zstack.header.message.MessageReply; import org.zstack.header.storage.backup.BackupStorageVO; import org.zstack.header.storage.backup.BackupStorageVO_; -import org.zstack.header.storage.primary.*; +import org.zstack.header.storage.primary.AllocatePrimaryStorageSpaceMsg; +import org.zstack.header.storage.primary.AllocatePrimaryStorageSpaceReply; +import org.zstack.header.storage.primary.PrimaryStorageAllocationPurpose; +import org.zstack.header.storage.primary.PrimaryStorageConstant; +import org.zstack.header.storage.primary.PrimaryStorageVO; +import org.zstack.header.storage.primary.PrimaryStorageVO_; +import org.zstack.header.storage.primary.ReleasePrimaryStorageSpaceMsg; import org.zstack.header.vm.VmInstanceConstant; import org.zstack.header.vm.VmInstanceConstant.VmOperation; import org.zstack.header.vm.VmInstanceSpec; diff --git a/plugin/localstorage/src/main/java/org/zstack/storage/primary/local/LocalStorageFactory.java b/plugin/localstorage/src/main/java/org/zstack/storage/primary/local/LocalStorageFactory.java index 573b1957a8e..e206cd3498a 100755 --- a/plugin/localstorage/src/main/java/org/zstack/storage/primary/local/LocalStorageFactory.java +++ b/plugin/localstorage/src/main/java/org/zstack/storage/primary/local/LocalStorageFactory.java @@ -6,27 +6,50 @@ import org.springframework.beans.factory.annotation.Configurable; import org.springframework.transaction.annotation.Transactional; import org.zstack.compute.host.MigrateNetworkExtensionPoint; -import org.zstack.compute.vm.*; +import org.zstack.compute.vm.IsoOperator; +import org.zstack.compute.vm.VmAllocateHostAndPrimaryStorageFlow; +import org.zstack.compute.vm.VmAllocateHostFlow; +import org.zstack.compute.vm.VmAllocatePrimaryStorageFlow; +import org.zstack.compute.vm.VmAllocatePrimaryStorageForAttachingDiskFlow; +import org.zstack.compute.vm.VmCapabilitiesExtensionPoint; +import org.zstack.compute.vm.VmImageSelectBackupStorageFlow; +import org.zstack.compute.vm.VmMigrateOnHypervisorFlow; import org.zstack.configuration.DiskOfferingSystemTags; import org.zstack.configuration.OfferingUserConfigUtils; import org.zstack.core.cloudbus.CloudBus; import org.zstack.core.cloudbus.CloudBusCallBack; import org.zstack.core.cloudbus.CloudBusListCallBack; import org.zstack.core.componentloader.PluginRegistry; -import org.zstack.core.db.*; +import org.zstack.core.db.DatabaseFacade; +import org.zstack.core.db.Q; +import org.zstack.core.db.SQL; +import org.zstack.core.db.SQLBatch; +import org.zstack.core.db.SimpleQuery; import org.zstack.core.db.SimpleQuery.Op; import org.zstack.core.errorcode.ErrorFacade; import org.zstack.core.trash.CreateRecycleExtensionPoint; import org.zstack.header.Component; import org.zstack.header.allocator.HostAllocatorError; import org.zstack.header.configuration.userconfig.DiskOfferingUserConfig; -import org.zstack.header.core.*; +import org.zstack.header.core.Completion; +import org.zstack.header.core.FutureCompletion; +import org.zstack.header.core.ReturnValueCompletion; import org.zstack.header.core.trash.InstallPathRecycleVO; -import org.zstack.header.core.workflow.*; +import org.zstack.header.core.workflow.Flow; +import org.zstack.header.core.workflow.FlowChain; +import org.zstack.header.core.workflow.FlowRollback; +import org.zstack.header.core.workflow.FlowTrigger; +import org.zstack.header.core.workflow.NoRollbackFlow; import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.errorcode.OperationFailureException; import org.zstack.header.exception.CloudRuntimeException; -import org.zstack.header.host.*; +import org.zstack.header.host.HostAfterConnectedExtensionPoint; +import org.zstack.header.host.HostDeleteExtensionPoint; +import org.zstack.header.host.HostInventory; +import org.zstack.header.host.HostMaintenancePolicyExtensionPoint; +import org.zstack.header.host.HostVO; +import org.zstack.header.host.HostVO_; +import org.zstack.header.host.ResizeVolumeOnHypervisorReply; import org.zstack.header.image.ImageConstant; import org.zstack.header.image.ImageInventory; import org.zstack.header.image.ImagePlatform; @@ -40,12 +63,72 @@ import org.zstack.header.storage.backup.BackupStorageAskInstallPathReply; import org.zstack.header.storage.backup.BackupStorageConstant; import org.zstack.header.storage.backup.DeleteBitsOnBackupStorageMsg; -import org.zstack.header.storage.primary.*; -import org.zstack.header.storage.snapshot.*; +import org.zstack.header.storage.primary.APIAddPrimaryStorageMsg; +import org.zstack.header.storage.primary.ImageCacheVO; +import org.zstack.header.storage.primary.ImageCacheVO_; +import org.zstack.header.storage.primary.InstantiateDataVolumeOnCreationExtensionPoint; +import org.zstack.header.storage.primary.InstantiateMemoryVolumeOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.InstantiateRootVolumeFromTemplateOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.InstantiateTemporaryRootVolumeFromTemplateOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.InstantiateTemporaryVolumeOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.InstantiateVolumeOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.InstantiateVolumeOnPrimaryStorageReply; +import org.zstack.header.storage.primary.PrimaryStorage; +import org.zstack.header.storage.primary.PrimaryStorageAttachExtensionPoint; +import org.zstack.header.storage.primary.PrimaryStorageClusterRefVO; +import org.zstack.header.storage.primary.PrimaryStorageClusterRefVO_; +import org.zstack.header.storage.primary.PrimaryStorageConstant; +import org.zstack.header.storage.primary.PrimaryStorageDetachExtensionPoint; +import org.zstack.header.storage.primary.PrimaryStorageException; +import org.zstack.header.storage.primary.PrimaryStorageFactory; +import org.zstack.header.storage.primary.PrimaryStorageInventory; +import org.zstack.header.storage.primary.PrimaryStorageState; +import org.zstack.header.storage.primary.PrimaryStorageStatus; +import org.zstack.header.storage.primary.PrimaryStorageType; +import org.zstack.header.storage.primary.PrimaryStorageVO; +import org.zstack.header.storage.primary.PrimaryStorageVO_; +import org.zstack.header.storage.snapshot.ConsistentType; +import org.zstack.header.storage.snapshot.CreateTemplateFromVolumeSnapshotExtensionPoint; +import org.zstack.header.storage.snapshot.CreateVolumesSnapshotOverlayInnerMsg; +import org.zstack.header.storage.snapshot.CreateVolumesSnapshotsJobStruct; +import org.zstack.header.storage.snapshot.TakeSnapshotsOnKvmResultStruct; +import org.zstack.header.storage.snapshot.TakeVolumesSnapshotOnKvmReply; +import org.zstack.header.storage.snapshot.VolumeSnapshotCreationExtensionPoint; +import org.zstack.header.storage.snapshot.VolumeSnapshotInventory; +import org.zstack.header.storage.snapshot.VolumeSnapshotVO; import org.zstack.header.storage.snapshot.group.VolumeSnapshotGroupInventory; -import org.zstack.header.vm.*; +import org.zstack.header.vm.DestroyVmInstanceMsg; +import org.zstack.header.vm.GetAttachableVolumeExtensionPoint; +import org.zstack.header.vm.MarshalVmOperationFlowExtensionPoint; +import org.zstack.header.vm.RecoverVmExtensionPoint; +import org.zstack.header.vm.VmAttachVolumeExtensionPoint; +import org.zstack.header.vm.VmCapabilities; +import org.zstack.header.vm.VmInstanceConstant; +import org.zstack.header.vm.VmInstanceInventory; +import org.zstack.header.vm.VmInstanceSpec; +import org.zstack.header.vm.VmInstanceVO; +import org.zstack.header.vm.VmInstanceVO_; +import org.zstack.header.vm.VmMigrationType; +import org.zstack.header.vm.VmPreMigrationExtensionPoint; import org.zstack.header.vm.VmInstanceConstant.VmOperation; -import org.zstack.header.volume.*; +import org.zstack.header.volume.AfterInstantiateVolumeExtensionPoint; +import org.zstack.header.volume.CreateDataVolumeExtensionPoint; +import org.zstack.header.volume.CreateQcow2VolumeProvisioningStrategyExtensionPoint; +import org.zstack.header.volume.DeleteVolumeMsg; +import org.zstack.header.volume.InstantiateMemoryVolumeMsg; +import org.zstack.header.volume.InstantiateRootVolumeMsg; +import org.zstack.header.volume.InstantiateTemporaryRootVolumeMsg; +import org.zstack.header.volume.InstantiateVolumeMsg; +import org.zstack.header.volume.OverwriteVolumeExtensionPoint; +import org.zstack.header.volume.RecoverDataVolumeExtensionPoint; +import org.zstack.header.volume.VolumeConstant; +import org.zstack.header.volume.VolumeCreateMessage; +import org.zstack.header.volume.VolumeDeletionPolicyManager; +import org.zstack.header.volume.VolumeGetAttachableVmExtensionPoint; +import org.zstack.header.volume.VolumeInventory; +import org.zstack.header.volume.VolumeStatus; +import org.zstack.header.volume.VolumeType; +import org.zstack.header.volume.VolumeVO; import org.zstack.kvm.KVMConstant; import org.zstack.storage.primary.PrimaryStorageCapacityChecker; import org.zstack.storage.snapshot.PostMarkRootVolumeAsSnapshotExtension; @@ -59,7 +142,14 @@ import javax.persistence.Tuple; import javax.persistence.TypedQuery; -import java.util.*; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Random; +import java.util.Set; import java.util.concurrent.Callable; import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; @@ -218,6 +308,7 @@ public void rollback(FlowRollback trigger, Map data) { } }); + // DEBT: NoRollbackFlow — in rollback template.setDeleteTemporaryTemplate(new NoRollbackFlow() { String __name__ = "delete-temporary-volume"; @@ -408,6 +499,7 @@ public Flow marshalVmOperationFlow(String previousFlowName, String nextFlowName, List cachedHostUuids = cacheUrls.stream().map(it -> LocalStorageUtils.getHostUuidFromInstallUrl(it)).collect(Collectors.toList()); if (requirdHostUuid != null && !cachedHostUuids.contains(requirdHostUuid)) { + // DEBT: NoRollbackFlow — in marshalVmOperationFlow return new NoRollbackFlow() { @Override public void run(FlowTrigger trigger, Map data) { diff --git a/plugin/localstorage/src/main/java/org/zstack/storage/primary/local/LocalStorageHypervisorBackend.java b/plugin/localstorage/src/main/java/org/zstack/storage/primary/local/LocalStorageHypervisorBackend.java index 7760e28de93..e4952e97804 100755 --- a/plugin/localstorage/src/main/java/org/zstack/storage/primary/local/LocalStorageHypervisorBackend.java +++ b/plugin/localstorage/src/main/java/org/zstack/storage/primary/local/LocalStorageHypervisorBackend.java @@ -5,9 +5,74 @@ import org.zstack.header.core.ReturnValueCompletion; import org.zstack.header.core.workflow.Flow; import org.zstack.header.image.ImageInventory; -import org.zstack.header.storage.primary.*; +import org.zstack.header.storage.primary.AskInstallPathForNewSnapshotMsg; +import org.zstack.header.storage.primary.AskInstallPathForNewSnapshotReply; +import org.zstack.header.storage.primary.BackupVolumeSnapshotFromPrimaryStorageToBackupStorageMsg; +import org.zstack.header.storage.primary.BackupVolumeSnapshotFromPrimaryStorageToBackupStorageReply; +import org.zstack.header.storage.primary.CancelDownloadBitsFromKVMHostToPrimaryStorageMsg; +import org.zstack.header.storage.primary.CancelDownloadBitsFromKVMHostToPrimaryStorageReply; +import org.zstack.header.storage.primary.ChangeVolumeTypeOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.ChangeVolumeTypeOnPrimaryStorageReply; +import org.zstack.header.storage.primary.CheckSnapshotMsg; +import org.zstack.header.storage.primary.CommitVolumeSnapshotOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.CommitVolumeSnapshotOnPrimaryStorageReply; +import org.zstack.header.storage.primary.CreateImageCacheFromVolumeOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.CreateImageCacheFromVolumeOnPrimaryStorageReply; +import org.zstack.header.storage.primary.CreateImageCacheFromVolumeSnapshotOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.CreateImageCacheFromVolumeSnapshotOnPrimaryStorageReply; +import org.zstack.header.storage.primary.CreateTemplateFromVolumeOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.CreateTemplateFromVolumeOnPrimaryStorageReply; +import org.zstack.header.storage.primary.CreateVolumeFromVolumeSnapshotOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.CreateVolumeFromVolumeSnapshotOnPrimaryStorageReply; +import org.zstack.header.storage.primary.DeleteBitsOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.DeleteBitsOnPrimaryStorageReply; +import org.zstack.header.storage.primary.DeleteImageCacheOnPrimaryStorageReply; +import org.zstack.header.storage.primary.DeleteIsoFromPrimaryStorageMsg; +import org.zstack.header.storage.primary.DeleteIsoFromPrimaryStorageReply; +import org.zstack.header.storage.primary.DeleteSnapshotOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.DeleteSnapshotOnPrimaryStorageReply; +import org.zstack.header.storage.primary.DeleteVolumeBitsOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.DeleteVolumeBitsOnPrimaryStorageReply; +import org.zstack.header.storage.primary.DeleteVolumeOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.DeleteVolumeOnPrimaryStorageReply; +import org.zstack.header.storage.primary.DownloadBitsFromKVMHostToPrimaryStorageMsg; +import org.zstack.header.storage.primary.DownloadBitsFromKVMHostToPrimaryStorageReply; +import org.zstack.header.storage.primary.DownloadDataVolumeToPrimaryStorageMsg; +import org.zstack.header.storage.primary.DownloadDataVolumeToPrimaryStorageReply; +import org.zstack.header.storage.primary.DownloadIsoToPrimaryStorageMsg; +import org.zstack.header.storage.primary.DownloadIsoToPrimaryStorageReply; +import org.zstack.header.storage.primary.DownloadVolumeTemplateToPrimaryStorageMsg; +import org.zstack.header.storage.primary.DownloadVolumeTemplateToPrimaryStorageReply; +import org.zstack.header.storage.primary.GetDownloadBitsFromKVMHostProgressMsg; +import org.zstack.header.storage.primary.GetDownloadBitsFromKVMHostProgressReply; +import org.zstack.header.storage.primary.GetInstallPathForDataVolumeDownloadMsg; +import org.zstack.header.storage.primary.GetInstallPathForDataVolumeDownloadReply; +import org.zstack.header.storage.primary.GetVolumeBackingChainFromPrimaryStorageMsg; +import org.zstack.header.storage.primary.GetVolumeBackingChainFromPrimaryStorageReply; +import org.zstack.header.storage.primary.GetVolumeRootImageUuidFromPrimaryStorageMsg; +import org.zstack.header.storage.primary.GetVolumeRootImageUuidFromPrimaryStorageReply; +import org.zstack.header.storage.primary.GetVolumeSnapshotEncryptedOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.GetVolumeSnapshotEncryptedOnPrimaryStorageReply; +import org.zstack.header.storage.primary.InstantiateVolumeOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.InstantiateVolumeOnPrimaryStorageReply; +import org.zstack.header.storage.primary.PrimaryStorageVO; +import org.zstack.header.storage.primary.PullVolumeSnapshotOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.PullVolumeSnapshotOnPrimaryStorageReply; +import org.zstack.header.storage.primary.ReInitRootVolumeFromTemplateOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.ReInitRootVolumeFromTemplateOnPrimaryStorageReply; +import org.zstack.header.storage.primary.RevertVolumeFromSnapshotOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.RevertVolumeFromSnapshotOnPrimaryStorageReply; +import org.zstack.header.storage.primary.SyncVolumeSizeOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.SyncVolumeSizeOnPrimaryStorageReply; +import org.zstack.header.storage.primary.TakeSnapshotMsg; +import org.zstack.header.storage.primary.TakeSnapshotReply; +import org.zstack.header.storage.primary.UnlinkBitsOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.UnlinkBitsOnPrimaryStorageReply; import org.zstack.header.storage.snapshot.VolumeSnapshotInventory; -import org.zstack.header.volume.*; +import org.zstack.header.volume.BatchSyncVolumeSizeOnPrimaryStorageMsg; +import org.zstack.header.volume.BatchSyncVolumeSizeOnPrimaryStorageReply; +import org.zstack.header.volume.VolumeInventory; +import org.zstack.header.volume.VolumeStats; import org.zstack.storage.primary.EstimateVolumeTemplateSizeOnPrimaryStorageMsg; import org.zstack.storage.primary.EstimateVolumeTemplateSizeOnPrimaryStorageReply; diff --git a/plugin/localstorage/src/main/java/org/zstack/storage/primary/local/LocalStorageImageCleaner.java b/plugin/localstorage/src/main/java/org/zstack/storage/primary/local/LocalStorageImageCleaner.java index 05d0342cbbc..e6057386215 100755 --- a/plugin/localstorage/src/main/java/org/zstack/storage/primary/local/LocalStorageImageCleaner.java +++ b/plugin/localstorage/src/main/java/org/zstack/storage/primary/local/LocalStorageImageCleaner.java @@ -23,7 +23,13 @@ import org.zstack.header.managementnode.ManagementNodeReadyExtensionPoint; import org.zstack.header.message.MessageReply; import org.zstack.header.storage.backup.BackupStoragePrimaryStorageExtensionPoint; -import org.zstack.header.storage.primary.*; +import org.zstack.header.storage.primary.ImageCacheShadowVO; +import org.zstack.header.storage.primary.ImageCacheVO; +import org.zstack.header.storage.primary.PrimaryStorage; +import org.zstack.header.storage.primary.PrimaryStorageConstant; +import org.zstack.header.storage.primary.PrimaryStorageInventory; +import org.zstack.header.storage.primary.PrimaryStorageVO; +import org.zstack.header.storage.primary.SyncPrimaryStorageCapacityMsg; import org.zstack.header.volume.VolumeStatus; import org.zstack.header.volume.VolumeVO; import org.zstack.storage.primary.ImageCacheCleanParam; @@ -281,6 +287,7 @@ protected void doCleanup(String psUuid, ImageCacheCleanParam param, NoErrorCompl SimpleFlowChain chain = new SimpleFlowChain(); chain.setName(String.format("do-clean-up-image-cache-on-local-storage-%s", psUuid)); + // DEBT: NoRollbackFlow — in doCleanup chain.then(new NoRollbackFlow() { @Override public void run(FlowTrigger trigger, Map data) { @@ -291,6 +298,7 @@ public void done() { } }); } + // DEBT: NoRollbackFlow — in doCleanup }).then(new NoRollbackFlow() { @Override public void run(FlowTrigger trigger, Map data) { @@ -314,6 +322,7 @@ public void done(ErrorCodeList errorCodeList) { } }); } + // DEBT: NoRollbackFlow — in doCleanup }).then(new NoRollbackFlow() { @Override public void run(FlowTrigger trigger, Map data) { diff --git a/plugin/localstorage/src/main/java/org/zstack/storage/primary/local/LocalStorageKvmBackend.java b/plugin/localstorage/src/main/java/org/zstack/storage/primary/local/LocalStorageKvmBackend.java index ec0b51711ba..ed596a5469e 100755 --- a/plugin/localstorage/src/main/java/org/zstack/storage/primary/local/LocalStorageKvmBackend.java +++ b/plugin/localstorage/src/main/java/org/zstack/storage/primary/local/LocalStorageKvmBackend.java @@ -28,12 +28,25 @@ import org.zstack.header.core.WhileDoneCompletion; import org.zstack.header.core.progress.TaskProgressRange; import org.zstack.header.core.validation.Validation; -import org.zstack.header.core.workflow.*; +import org.zstack.header.core.workflow.Flow; +import org.zstack.header.core.workflow.FlowChain; +import org.zstack.header.core.workflow.FlowDoneHandler; +import org.zstack.header.core.workflow.FlowErrorHandler; +import org.zstack.header.core.workflow.FlowRollback; +import org.zstack.header.core.workflow.FlowTrigger; +import org.zstack.header.core.workflow.NoRollbackFlow; import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.errorcode.ErrorCodeList; import org.zstack.header.errorcode.OperationFailureException; import org.zstack.header.exception.CloudRuntimeException; -import org.zstack.header.host.*; +import org.zstack.header.host.CheckSnapshotOnHypervisorMsg; +import org.zstack.header.host.HostConstant; +import org.zstack.header.host.HostErrors; +import org.zstack.header.host.HostStatus; +import org.zstack.header.host.HostVO; +import org.zstack.header.host.HostVO_; +import org.zstack.header.host.TakeSnapshotOnHypervisorMsg; +import org.zstack.header.host.TakeSnapshotOnHypervisorReply; import org.zstack.header.image.ImageBackupStorageRefInventory; import org.zstack.header.image.ImageConstant.ImageMediaType; import org.zstack.header.image.ImageInventory; @@ -42,17 +55,128 @@ import org.zstack.header.message.Message; import org.zstack.header.message.MessageReply; import org.zstack.header.rest.RESTFacade; -import org.zstack.header.storage.backup.*; -import org.zstack.header.storage.primary.*; -import org.zstack.header.storage.snapshot.*; +import org.zstack.header.storage.backup.BackupStorageAskInstallPathMsg; +import org.zstack.header.storage.backup.BackupStorageAskInstallPathReply; +import org.zstack.header.storage.backup.BackupStorageConstant; +import org.zstack.header.storage.backup.BackupStorageInventory; +import org.zstack.header.storage.backup.BackupStorageVO; +import org.zstack.header.storage.backup.BackupStorageVO_; +import org.zstack.header.storage.primary.AfterCreateImageCacheExtensionPoint; +import org.zstack.header.storage.primary.AllocatePrimaryStorageSpaceMsg; +import org.zstack.header.storage.primary.AllocatePrimaryStorageSpaceReply; +import org.zstack.header.storage.primary.AskInstallPathForNewSnapshotMsg; +import org.zstack.header.storage.primary.AskInstallPathForNewSnapshotReply; +import org.zstack.header.storage.primary.BackupVolumeSnapshotFromPrimaryStorageToBackupStorageMsg; +import org.zstack.header.storage.primary.BackupVolumeSnapshotFromPrimaryStorageToBackupStorageReply; +import org.zstack.header.storage.primary.CancelDownloadBitsFromKVMHostToPrimaryStorageMsg; +import org.zstack.header.storage.primary.CancelDownloadBitsFromKVMHostToPrimaryStorageReply; +import org.zstack.header.storage.primary.ChangeVolumeTypeOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.ChangeVolumeTypeOnPrimaryStorageReply; +import org.zstack.header.storage.primary.CheckSnapshotMsg; +import org.zstack.header.storage.primary.CommitVolumeSnapshotOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.CommitVolumeSnapshotOnPrimaryStorageReply; +import org.zstack.header.storage.primary.CreateImageCacheFromVolumeOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.CreateImageCacheFromVolumeOnPrimaryStorageReply; +import org.zstack.header.storage.primary.CreateImageCacheFromVolumeSnapshotOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.CreateImageCacheFromVolumeSnapshotOnPrimaryStorageReply; +import org.zstack.header.storage.primary.CreateTemplateFromVolumeOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.CreateTemplateFromVolumeOnPrimaryStorageReply; +import org.zstack.header.storage.primary.CreateVolumeFromVolumeSnapshotOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.CreateVolumeFromVolumeSnapshotOnPrimaryStorageReply; +import org.zstack.header.storage.primary.DeleteBitsOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.DeleteBitsOnPrimaryStorageReply; +import org.zstack.header.storage.primary.DeleteImageCacheOnPrimaryStorageReply; +import org.zstack.header.storage.primary.DeleteIsoFromPrimaryStorageMsg; +import org.zstack.header.storage.primary.DeleteIsoFromPrimaryStorageReply; +import org.zstack.header.storage.primary.DeleteSnapshotOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.DeleteSnapshotOnPrimaryStorageReply; +import org.zstack.header.storage.primary.DeleteVolumeBitsOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.DeleteVolumeBitsOnPrimaryStorageReply; +import org.zstack.header.storage.primary.DeleteVolumeOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.DeleteVolumeOnPrimaryStorageReply; +import org.zstack.header.storage.primary.DownloadBitsFromKVMHostToPrimaryStorageMsg; +import org.zstack.header.storage.primary.DownloadBitsFromKVMHostToPrimaryStorageReply; +import org.zstack.header.storage.primary.DownloadDataVolumeToPrimaryStorageMsg; +import org.zstack.header.storage.primary.DownloadDataVolumeToPrimaryStorageReply; +import org.zstack.header.storage.primary.DownloadIsoToPrimaryStorageMsg; +import org.zstack.header.storage.primary.DownloadIsoToPrimaryStorageReply; +import org.zstack.header.storage.primary.DownloadTemporaryDataVolumeToPrimaryStorageMsg; +import org.zstack.header.storage.primary.DownloadVolumeTemplateToPrimaryStorageMsg; +import org.zstack.header.storage.primary.DownloadVolumeTemplateToPrimaryStorageReply; +import org.zstack.header.storage.primary.GetDownloadBitsFromKVMHostProgressMsg; +import org.zstack.header.storage.primary.GetDownloadBitsFromKVMHostProgressReply; +import org.zstack.header.storage.primary.GetInstallPathForDataVolumeDownloadMsg; +import org.zstack.header.storage.primary.GetInstallPathForDataVolumeDownloadReply; +import org.zstack.header.storage.primary.GetInstallPathForTemporaryDataVolumeDownloadMsg; +import org.zstack.header.storage.primary.GetVolumeBackingChainFromPrimaryStorageMsg; +import org.zstack.header.storage.primary.GetVolumeBackingChainFromPrimaryStorageReply; +import org.zstack.header.storage.primary.GetVolumeRootImageUuidFromPrimaryStorageMsg; +import org.zstack.header.storage.primary.GetVolumeRootImageUuidFromPrimaryStorageReply; +import org.zstack.header.storage.primary.GetVolumeSnapshotEncryptedOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.GetVolumeSnapshotEncryptedOnPrimaryStorageReply; +import org.zstack.header.storage.primary.ImageCacheInventory; +import org.zstack.header.storage.primary.ImageCacheShadowVO; +import org.zstack.header.storage.primary.ImageCacheShadowVO_; +import org.zstack.header.storage.primary.ImageCacheState; +import org.zstack.header.storage.primary.ImageCacheVO; +import org.zstack.header.storage.primary.ImageCacheVO_; +import org.zstack.header.storage.primary.InstantiateMemoryVolumeOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.InstantiateRootVolumeFromTemplateOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.InstantiateTemporaryRootVolumeFromTemplateOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.InstantiateTemporaryVolumeOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.InstantiateVolumeOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.InstantiateVolumeOnPrimaryStorageReply; +import org.zstack.header.storage.primary.PrimaryStorageAllocationPurpose; +import org.zstack.header.storage.primary.PrimaryStorageConstant; +import org.zstack.header.storage.primary.PrimaryStorageVO; +import org.zstack.header.storage.primary.PrimaryStorageVO_; +import org.zstack.header.storage.primary.PullVolumeSnapshotOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.PullVolumeSnapshotOnPrimaryStorageReply; +import org.zstack.header.storage.primary.ReInitRootVolumeFromTemplateOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.ReInitRootVolumeFromTemplateOnPrimaryStorageReply; +import org.zstack.header.storage.primary.ReleasePrimaryStorageSpaceMsg; +import org.zstack.header.storage.primary.RevertVolumeFromSnapshotOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.RevertVolumeFromSnapshotOnPrimaryStorageReply; +import org.zstack.header.storage.primary.SyncVolumeSizeOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.SyncVolumeSizeOnPrimaryStorageReply; +import org.zstack.header.storage.primary.TakeSnapshotMsg; +import org.zstack.header.storage.primary.TakeSnapshotReply; +import org.zstack.header.storage.primary.UnlinkBitsOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.UnlinkBitsOnPrimaryStorageReply; +import org.zstack.header.storage.snapshot.VolumeSnapshotConstant; +import org.zstack.header.storage.snapshot.VolumeSnapshotInventory; +import org.zstack.header.storage.snapshot.VolumeSnapshotVO; import org.zstack.header.vm.VmInstanceSpec.ImageSpec; import org.zstack.header.vm.VmInstanceState; import org.zstack.header.vm.VmInstanceVO; import org.zstack.header.vm.VmInstanceVO_; -import org.zstack.header.volume.*; +import org.zstack.header.volume.BatchSyncVolumeSizeOnPrimaryStorageMsg; +import org.zstack.header.volume.BatchSyncVolumeSizeOnPrimaryStorageReply; +import org.zstack.header.volume.VolumeConstant; +import org.zstack.header.volume.VolumeInventory; +import org.zstack.header.volume.VolumeStats; +import org.zstack.header.volume.VolumeType; +import org.zstack.header.volume.VolumeVO; +import org.zstack.header.volume.VolumeVO_; import org.zstack.identity.AccountManager; -import org.zstack.kvm.*; -import org.zstack.storage.primary.*; +import org.zstack.kvm.GetKVMHostDownloadCredentialMsg; +import org.zstack.kvm.GetKVMHostDownloadCredentialReply; +import org.zstack.kvm.KVMAgentCommands; +import org.zstack.kvm.KVMConstant; +import org.zstack.kvm.KVMHostAsyncHttpCallMsg; +import org.zstack.kvm.KVMHostAsyncHttpCallReply; +import org.zstack.kvm.KVMHostVO; +import org.zstack.kvm.KVMHostVO_; +import org.zstack.kvm.KvmCommandFailureChecker; +import org.zstack.kvm.KvmCommandSender; +import org.zstack.kvm.KvmResponseWrapper; +import org.zstack.kvm.MergeVolumeSnapshotOnKvmMsg; +import org.zstack.storage.primary.EstimateVolumeTemplateSizeOnPrimaryStorageMsg; +import org.zstack.storage.primary.EstimateVolumeTemplateSizeOnPrimaryStorageReply; +import org.zstack.storage.primary.ImageCacheUtil; +import org.zstack.storage.primary.PrimaryStorageGlobalProperty; +import org.zstack.storage.primary.PrimaryStoragePathMaker; +import org.zstack.storage.primary.PrimaryStorageSystemTags; import org.zstack.storage.primary.local.LocalStorageKvmMigrateVmFlow.CopyBitsFromRemoteCmd; import org.zstack.storage.primary.local.MigrateBitsStruct.ResourceInfo; import org.zstack.storage.volume.VolumeErrors; @@ -66,7 +190,12 @@ import javax.persistence.Tuple; import java.io.File; -import java.util.*; +import java.util.ArrayList; +import java.util.Collections; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Optional; import java.util.stream.Collectors; import static org.zstack.core.Platform.inerr; @@ -1499,6 +1628,7 @@ public void rollback(FlowRollback trigger, Map data) { trigger.rollback(); } }); + // DEBT: NoRollbackFlow — in rollback flow(new NoRollbackFlow() { String __name__ = "download"; @@ -1771,6 +1901,7 @@ public void fail(ErrorCode errorCode) { @Override public void setup() { + // DEBT: NoRollbackFlow — in createRootVolume flow(new NoRollbackFlow() { String __name__ = "download-image-to-cache"; @@ -1795,6 +1926,7 @@ public void run(MessageReply reply) { } }); + // DEBT: NoRollbackFlow — reason TBD flow(new NoRollbackFlow() { String __name__ = "create-template-from-cache"; @@ -2185,6 +2317,7 @@ void handle(ReInitRootVolumeFromTemplateOnPrimaryStorageMsg msg, String hostUuid FlowChain chain = new SimpleFlowChain(); chain.setName("re-init-root-volume-on-primary-storage"); + // DEBT: NoRollbackFlow — reason TBD chain.then(new NoRollbackFlow() { @Override public void run(FlowTrigger trigger, Map data) { @@ -2652,6 +2785,7 @@ void handle(final LocalStorageDeleteImageCacheOnPrimaryStorageMsg msg, String ho chain.then(new ShareFlow() { @Override public void setup() { + // DEBT: NoRollbackFlow — reason TBD flow(new NoRollbackFlow() { String __name__ = "ensure-image-is-not-referenced"; @@ -2688,6 +2822,7 @@ public void fail(ErrorCode errorCode) { } }); + // DEBT: NoRollbackFlow — in getError flow(new NoRollbackFlow() { String __name__ = "delete-local-image-cache-bits"; @Override @@ -2759,6 +2894,7 @@ class Context { downloadImage = false; } + // DEBT: NoRollbackFlow — reason TBD flows.add(new NoRollbackFlow() { String __name__ = "get-base-image-cache-of-root-volume"; @@ -2795,6 +2931,7 @@ public void fail(ErrorCode errorCode) { }); if (downloadImage) { + // DEBT: NoRollbackFlow — reason TBD flows.add(new NoRollbackFlow() { String __name__ = "download-base-image-to-dst-host"; @@ -2851,6 +2988,7 @@ public void rollback(FlowRollback trigger, Map data) { } }); + // DEBT: NoRollbackFlow — in rollback flows.add(new NoRollbackFlow() { String __name__ = "get-md5-of-base-image-cache"; @@ -3003,6 +3141,7 @@ public void fail(ErrorCode errorCode) { } }); + // DEBT: NoRollbackFlow — in rollback flows.add(new NoRollbackFlow() { String __name__ = "check-md5-of-base-image-cache-on-dst-host"; @@ -3099,6 +3238,7 @@ protected void scripts() { } } + // DEBT: NoRollbackFlow — in scripts flows.add(new NoRollbackFlow() { String __name__ = "get-md5-on-src-host"; @@ -3212,6 +3352,7 @@ public void fail(ErrorCode errorCode) { } }); + // DEBT: NoRollbackFlow — in doDelete flows.add(new NoRollbackFlow() { String __name__ = "check-md5-on-dst"; @@ -3556,6 +3697,7 @@ public void fail(ErrorCode errorCode) { } }); + // DEBT: NoRollbackFlow — in rollback flow(new NoRollbackFlow() { String __name__ = "upload-template-to-backup-storage"; @@ -3593,6 +3735,7 @@ public void fail(ErrorCode errorCode) { } }); + // DEBT: NoRollbackFlow — reason TBD flow(new NoRollbackFlow() { String __name__ = "delete-temporary-template-on-primary-storage"; @@ -3616,6 +3759,7 @@ public void fail(ErrorCode errorCode) { } }); + // DEBT: NoRollbackFlow — reason TBD flow(new NoRollbackFlow() { String __name__ = "return-capacity-of-temporary-template-to-host"; diff --git a/plugin/localstorage/src/main/java/org/zstack/storage/primary/local/LocalStorageKvmFactory.java b/plugin/localstorage/src/main/java/org/zstack/storage/primary/local/LocalStorageKvmFactory.java index bfe56e25dc2..3f346590a50 100755 --- a/plugin/localstorage/src/main/java/org/zstack/storage/primary/local/LocalStorageKvmFactory.java +++ b/plugin/localstorage/src/main/java/org/zstack/storage/primary/local/LocalStorageKvmFactory.java @@ -25,7 +25,13 @@ import org.zstack.header.vm.VmInstanceSpec; import org.zstack.header.volume.VolumeInventory; import org.zstack.header.volume.VolumeStats; -import org.zstack.kvm.*; +import org.zstack.kvm.KVMAgentCommands; +import org.zstack.kvm.KVMConstant; +import org.zstack.kvm.KVMHostConnectExtensionPoint; +import org.zstack.kvm.KVMHostConnectedContext; +import org.zstack.kvm.KVMHostInventory; +import org.zstack.kvm.KVMStartVmExtensionPoint; +import org.zstack.kvm.KVMTakeSnapshotExtensionPoint; import org.zstack.storage.volume.VolumeErrors; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; @@ -77,6 +83,7 @@ private List findLocalStorageUuidByHostUuid(String clusterUuid) { @Override public Flow createKvmHostConnectingFlow(final KVMHostConnectedContext context) { + // DEBT: NoRollbackFlow — in createKvmHostConnectingFlow return new NoRollbackFlow() { String __name__ = "init-local-storage"; diff --git a/plugin/localstorage/src/main/java/org/zstack/storage/primary/local/LocalStorageKvmMigrateVmFlow.java b/plugin/localstorage/src/main/java/org/zstack/storage/primary/local/LocalStorageKvmMigrateVmFlow.java index 514e9eb998e..8d10c797c33 100755 --- a/plugin/localstorage/src/main/java/org/zstack/storage/primary/local/LocalStorageKvmMigrateVmFlow.java +++ b/plugin/localstorage/src/main/java/org/zstack/storage/primary/local/LocalStorageKvmMigrateVmFlow.java @@ -21,7 +21,13 @@ import org.zstack.header.HasThreadContext; import org.zstack.header.core.Completion; import org.zstack.header.core.ReturnValueCompletion; -import org.zstack.header.core.workflow.*; +import org.zstack.header.core.workflow.Flow; +import org.zstack.header.core.workflow.FlowChain; +import org.zstack.header.core.workflow.FlowDoneHandler; +import org.zstack.header.core.workflow.FlowErrorHandler; +import org.zstack.header.core.workflow.FlowRollback; +import org.zstack.header.core.workflow.FlowTrigger; +import org.zstack.header.core.workflow.NoRollbackFlow; import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.host.HostConstant; import org.zstack.header.host.MigrateVmOnHypervisorMsg; @@ -32,7 +38,16 @@ import org.zstack.header.image.ImageVO; import org.zstack.header.log.NoLogging; import org.zstack.header.message.MessageReply; -import org.zstack.header.storage.primary.*; +import org.zstack.header.storage.primary.DownloadImageToPrimaryStorageCacheMsg; +import org.zstack.header.storage.primary.DownloadImageToPrimaryStorageCacheReply; +import org.zstack.header.storage.primary.ImageCacheShadowVO; +import org.zstack.header.storage.primary.ImageCacheShadowVO_; +import org.zstack.header.storage.primary.ImageCacheState; +import org.zstack.header.storage.primary.ImageCacheVO; +import org.zstack.header.storage.primary.ImageCacheVO_; +import org.zstack.header.storage.primary.PrimaryStorageConstant; +import org.zstack.header.storage.primary.PrimaryStorageVO; +import org.zstack.header.storage.primary.PrimaryStorageVO_; import org.zstack.header.storage.snapshot.VolumeSnapshotInventory; import org.zstack.header.storage.snapshot.VolumeSnapshotTree; import org.zstack.header.storage.snapshot.VolumeSnapshotVO; @@ -53,7 +68,11 @@ import javax.persistence.TypedQuery; import java.io.Serializable; -import java.util.*; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Optional; import java.util.concurrent.Callable; import static org.zstack.core.Platform.operr; @@ -198,6 +217,7 @@ public void run(final FlowTrigger next, Map data) { @Override public void setup() { + // DEBT: NoRollbackFlow — reason TBD flow(new NoRollbackFlow() { String __name__ = "get-base-image-cache-of-root-volume"; @@ -233,6 +253,7 @@ public void fail(ErrorCode errorCode) { }); if (downloadImage) { + // DEBT: NoRollbackFlow — reason TBD flow(new NoRollbackFlow() { String __name__ = "download-image-to-cache"; @@ -307,6 +328,7 @@ public void rollback(final FlowRollback trigger, Map data) { } }); + // DEBT: NoRollbackFlow — in rollback flow(new NoRollbackFlow() { String __name__ = "get-md5-of-base-image-cache"; @@ -459,6 +481,7 @@ public void run(MessageReply reply) { } }); + // DEBT: NoRollbackFlow — in rollback flow(new NoRollbackFlow() { String __name__ = "check-md5-of-base-image-cache-on-dst-host"; @@ -654,6 +677,7 @@ public LocalStorageDirectlyDeleteBitsMsg call(VolumeInventory arg) { }); } + // DEBT: NoRollbackFlow — in rollback flow(new NoRollbackFlow() { String __name__ = "migrate-vm"; @@ -678,6 +702,7 @@ public void run(MessageReply reply) { } }); + // DEBT: NoRollbackFlow — in rollback flow(new NoRollbackFlow() { String __name__ = "update-volumes-info-in-db-to-dst-host"; @@ -723,6 +748,7 @@ public void run(FlowTrigger trigger, Map data) { }); if (!snapshotTrees.isEmpty()) { + // DEBT: NoRollbackFlow — in scripts flow(new NoRollbackFlow() { String __name__ = "update-snapshots-info-in-db-to-dst-host"; @@ -767,6 +793,7 @@ public void run(FlowTrigger trigger, Map data) { } }); + // DEBT: NoRollbackFlow — in scripts flow(new NoRollbackFlow() { String __name__ = "delete-snapshots-on-src-host"; @@ -803,6 +830,7 @@ public void run(List replies) { }); } + // DEBT: NoRollbackFlow — reason TBD flow(new NoRollbackFlow() { String __name__ = "delete-volumes-on-src-host"; @@ -840,6 +868,7 @@ public void run(List replies) { } }); + // DEBT: NoRollbackFlow — reason TBD flow(new NoRollbackFlow() { String __name__ = "return-capacity-to-src-host"; @@ -1042,6 +1071,7 @@ class Context { final Context context = new Context(); + // DEBT: NoRollbackFlow — reason TBD flows.add(new NoRollbackFlow() { String __name__ = String.format("verify-snapshot-integrity-of-volume-%s-on-src-host", p.volume.getUuid()); @@ -1063,6 +1093,7 @@ public void fail(ErrorCode errorCode) { } }); + // DEBT: NoRollbackFlow — reason TBD flows.add(new NoRollbackFlow() { String __name__ = "get-snapshot-md5"; @@ -1155,6 +1186,7 @@ public void run(List replies) { } }); + // DEBT: NoRollbackFlow — in rollback flows.add(new NoRollbackFlow() { String __name__ = "check-snapshots-md5-on-dst-host"; @@ -1236,6 +1268,7 @@ public void run(MessageReply reply) { } }); + // DEBT: NoRollbackFlow — in rollback flows.add(new NoRollbackFlow() { String __name__ = String.format("rebase-backing-files-of-snapshots-of-volume-%s-on-dst-host", p.volume.getUuid()); @@ -1257,6 +1290,7 @@ public void fail(ErrorCode errorCode) { } }); + // DEBT: NoRollbackFlow — in rollback flows.add(new NoRollbackFlow() { String __name__ = String.format("verify-backingfile-integrity-of-volume-%s-on-dst-host", p.volume.getUuid()); diff --git a/plugin/localstorage/src/main/java/org/zstack/storage/primary/local/LocalStorageMainAllocatorFlow.java b/plugin/localstorage/src/main/java/org/zstack/storage/primary/local/LocalStorageMainAllocatorFlow.java index 35d8c1cf331..4566db6e5d9 100755 --- a/plugin/localstorage/src/main/java/org/zstack/storage/primary/local/LocalStorageMainAllocatorFlow.java +++ b/plugin/localstorage/src/main/java/org/zstack/storage/primary/local/LocalStorageMainAllocatorFlow.java @@ -12,7 +12,14 @@ import org.zstack.header.errorcode.ErrorCodeList; import org.zstack.header.host.HostState; import org.zstack.header.host.HostStatus; -import org.zstack.header.storage.primary.*; +import org.zstack.header.storage.primary.ImageCacheVO; +import org.zstack.header.storage.primary.PrimaryStorageAllocationPurpose; +import org.zstack.header.storage.primary.PrimaryStorageAllocationSpec; +import org.zstack.header.storage.primary.PrimaryStorageClusterRefVO; +import org.zstack.header.storage.primary.PrimaryStorageOverProvisioningManager; +import org.zstack.header.storage.primary.PrimaryStorageState; +import org.zstack.header.storage.primary.PrimaryStorageStatus; +import org.zstack.header.storage.primary.PrimaryStorageVO; import org.zstack.header.storage.primary.PrimaryStorageConstant.AllocatorParams; import org.zstack.storage.primary.PrimaryStorageGlobalConfig; import org.zstack.storage.primary.PrimaryStoragePhysicalCapacityManager; @@ -21,7 +28,13 @@ import org.zstack.utils.logging.CLogger; import javax.persistence.TypedQuery; -import java.util.*; +import java.util.ArrayList; +import java.util.Collection; +import java.util.HashSet; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Set; import java.util.stream.Collectors; import static org.zstack.core.Platform.i18n; diff --git a/plugin/localstorage/src/main/java/org/zstack/storage/primary/local/LocalStorageUtils.java b/plugin/localstorage/src/main/java/org/zstack/storage/primary/local/LocalStorageUtils.java index 95f2002d6e5..ee9260d4a62 100644 --- a/plugin/localstorage/src/main/java/org/zstack/storage/primary/local/LocalStorageUtils.java +++ b/plugin/localstorage/src/main/java/org/zstack/storage/primary/local/LocalStorageUtils.java @@ -13,7 +13,13 @@ import org.zstack.header.errorcode.OperationFailureException; import org.zstack.header.exception.CloudRuntimeException; import org.zstack.header.image.ImageConstant; -import org.zstack.header.storage.primary.*; +import org.zstack.header.storage.primary.AllocatePrimaryStorageSpaceMsg; +import org.zstack.header.storage.primary.PrimaryStorageClusterRefVO; +import org.zstack.header.storage.primary.PrimaryStorageInventory; +import org.zstack.header.storage.primary.PrimaryStorageOverProvisioningManager; +import org.zstack.header.storage.primary.PrimaryStorageVO; +import org.zstack.header.storage.primary.PrimaryStorageVO_; +import org.zstack.header.storage.primary.ReleasePrimaryStorageSpaceMsg; import org.zstack.header.storage.snapshot.VolumeSnapshotVO; import org.zstack.header.storage.snapshot.VolumeSnapshotVO_; import org.zstack.storage.primary.PrimaryStoragePhysicalCapacityManager; diff --git a/plugin/mediator/src/main/java/org/zstack/mediator/ApiValidator.java b/plugin/mediator/src/main/java/org/zstack/mediator/ApiValidator.java index 7a9a70be8a1..e1a778b1501 100755 --- a/plugin/mediator/src/main/java/org/zstack/mediator/ApiValidator.java +++ b/plugin/mediator/src/main/java/org/zstack/mediator/ApiValidator.java @@ -13,7 +13,11 @@ import org.zstack.header.message.APIMessage; import org.zstack.header.network.l3.IpRangeVO; import org.zstack.header.network.l3.IpRangeVO_; -import org.zstack.header.vm.*; +import org.zstack.header.vm.APIAttachL3NetworkToVmMsg; +import org.zstack.header.vm.VmInstanceVO; +import org.zstack.header.vm.VmInstanceVO_; +import org.zstack.header.vm.VmNicVO; +import org.zstack.header.vm.VmNicVO_; import org.zstack.network.service.eip.APIAttachEipMsg; import org.zstack.network.service.eip.APICreateEipMsg; import org.zstack.network.service.eip.EipConstant; @@ -25,7 +29,9 @@ import org.zstack.network.service.portforwarding.APIAttachPortForwardingRuleMsg; import org.zstack.network.service.portforwarding.APICreatePortForwardingRuleMsg; import org.zstack.network.service.portforwarding.PortForwardingRuleVO; -import org.zstack.network.service.vip.*; +import org.zstack.network.service.vip.VipGetUsedPortRangeExtensionPoint; +import org.zstack.network.service.vip.VipNetworkServicesRefVO; +import org.zstack.network.service.vip.VipNetworkServicesRefVO_; import org.zstack.utils.RangeSet; import org.zstack.utils.Utils; import org.zstack.utils.VipUseForList; diff --git a/plugin/nfsPrimaryStorage/src/main/java/org/zstack/storage/primary/nfs/NfsCopyImageCacheJob.java b/plugin/nfsPrimaryStorage/src/main/java/org/zstack/storage/primary/nfs/NfsCopyImageCacheJob.java index 9c094604631..ace52831c4f 100755 --- a/plugin/nfsPrimaryStorage/src/main/java/org/zstack/storage/primary/nfs/NfsCopyImageCacheJob.java +++ b/plugin/nfsPrimaryStorage/src/main/java/org/zstack/storage/primary/nfs/NfsCopyImageCacheJob.java @@ -12,12 +12,24 @@ import org.zstack.core.workflow.FlowChainBuilder; import org.zstack.core.workflow.ShareFlow; import org.zstack.header.core.ReturnValueCompletion; -import org.zstack.header.core.workflow.*; +import org.zstack.header.core.workflow.Flow; +import org.zstack.header.core.workflow.FlowChain; +import org.zstack.header.core.workflow.FlowDoneHandler; +import org.zstack.header.core.workflow.FlowErrorHandler; +import org.zstack.header.core.workflow.FlowRollback; +import org.zstack.header.core.workflow.FlowTrigger; +import org.zstack.header.core.workflow.NoRollbackFlow; import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.host.HostInventory; import org.zstack.header.image.ImageConstant.ImageMediaType; import org.zstack.header.message.MessageReply; -import org.zstack.header.storage.primary.*; +import org.zstack.header.storage.primary.AllocatePrimaryStorageMsg; +import org.zstack.header.storage.primary.ImageCacheInventory; +import org.zstack.header.storage.primary.ImageCacheVO; +import org.zstack.header.storage.primary.IncreasePrimaryStorageCapacityMsg; +import org.zstack.header.storage.primary.PrimaryStorageAllocationPurpose; +import org.zstack.header.storage.primary.PrimaryStorageConstant; +import org.zstack.header.storage.primary.PrimaryStorageInventory; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; @@ -95,6 +107,7 @@ public void rollback(FlowRollback trigger, Map data) { } }); + // DEBT: NoRollbackFlow — in rollback flow(new NoRollbackFlow() { String __name__ = "copy-imagecache-to-dstps"; diff --git a/plugin/nfsPrimaryStorage/src/main/java/org/zstack/storage/primary/nfs/NfsDownloadImageToCacheJob.java b/plugin/nfsPrimaryStorage/src/main/java/org/zstack/storage/primary/nfs/NfsDownloadImageToCacheJob.java index cf56ff5e5a6..930bf0a0cec 100755 --- a/plugin/nfsPrimaryStorage/src/main/java/org/zstack/storage/primary/nfs/NfsDownloadImageToCacheJob.java +++ b/plugin/nfsPrimaryStorage/src/main/java/org/zstack/storage/primary/nfs/NfsDownloadImageToCacheJob.java @@ -16,7 +16,13 @@ import org.zstack.header.core.Completion; import org.zstack.header.core.ReturnValueCompletion; import org.zstack.header.core.WhileDoneCompletion; -import org.zstack.header.core.workflow.*; +import org.zstack.header.core.workflow.Flow; +import org.zstack.header.core.workflow.FlowChain; +import org.zstack.header.core.workflow.FlowDoneHandler; +import org.zstack.header.core.workflow.FlowErrorHandler; +import org.zstack.header.core.workflow.FlowRollback; +import org.zstack.header.core.workflow.FlowTrigger; +import org.zstack.header.core.workflow.NoRollbackFlow; import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.errorcode.ErrorCodeList; import org.zstack.header.image.ImageConstant.ImageMediaType; @@ -24,7 +30,15 @@ import org.zstack.header.storage.backup.BackupStorageInventory; import org.zstack.header.storage.backup.BackupStorageType; import org.zstack.header.storage.backup.BackupStorageVO; -import org.zstack.header.storage.primary.*; +import org.zstack.header.storage.primary.AfterCreateImageCacheExtensionPoint; +import org.zstack.header.storage.primary.AllocatePrimaryStorageMsg; +import org.zstack.header.storage.primary.ImageCacheInventory; +import org.zstack.header.storage.primary.ImageCacheVO; +import org.zstack.header.storage.primary.ImageCacheVO_; +import org.zstack.header.storage.primary.IncreasePrimaryStorageCapacityMsg; +import org.zstack.header.storage.primary.PrimaryStorageAllocationPurpose; +import org.zstack.header.storage.primary.PrimaryStorageConstant; +import org.zstack.header.storage.primary.PrimaryStorageInventory; import org.zstack.header.vm.VmInstanceSpec.ImageSpec; import org.zstack.storage.primary.ImageCacheUtil; import org.zstack.utils.Utils; @@ -146,6 +160,7 @@ public void rollback(FlowRollback trigger, Map data) { } }); + // DEBT: NoRollbackFlow — in rollback flow(new NoRollbackFlow() { String __name__ = "download"; diff --git a/plugin/nfsPrimaryStorage/src/main/java/org/zstack/storage/primary/nfs/NfsPrimaryStorage.java b/plugin/nfsPrimaryStorage/src/main/java/org/zstack/storage/primary/nfs/NfsPrimaryStorage.java index 8be0ee64bed..ea1e537a3ce 100755 --- a/plugin/nfsPrimaryStorage/src/main/java/org/zstack/storage/primary/nfs/NfsPrimaryStorage.java +++ b/plugin/nfsPrimaryStorage/src/main/java/org/zstack/storage/primary/nfs/NfsPrimaryStorage.java @@ -23,11 +23,26 @@ import org.zstack.header.core.NopeCompletion; import org.zstack.header.core.ReturnValueCompletion; import org.zstack.header.core.progress.TaskProgressRange; -import org.zstack.header.core.workflow.*; +import org.zstack.header.core.workflow.Flow; +import org.zstack.header.core.workflow.FlowChain; +import org.zstack.header.core.workflow.FlowDoneHandler; +import org.zstack.header.core.workflow.FlowErrorHandler; +import org.zstack.header.core.workflow.FlowRollback; +import org.zstack.header.core.workflow.FlowTrigger; +import org.zstack.header.core.workflow.NoRollbackFlow; import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.errorcode.OperationFailureException; import org.zstack.header.exception.CloudRuntimeException; -import org.zstack.header.host.*; +import org.zstack.header.host.CheckSnapshotOnHypervisorMsg; +import org.zstack.header.host.HostConstant; +import org.zstack.header.host.HostErrors; +import org.zstack.header.host.HostInventory; +import org.zstack.header.host.HostStatus; +import org.zstack.header.host.HostVO; +import org.zstack.header.host.HostVO_; +import org.zstack.header.host.HypervisorType; +import org.zstack.header.host.TakeSnapshotOnHypervisorMsg; +import org.zstack.header.host.TakeSnapshotOnHypervisorReply; import org.zstack.header.image.ImageConstant.ImageMediaType; import org.zstack.header.image.ImageInventory; import org.zstack.header.message.Message; @@ -35,7 +50,107 @@ import org.zstack.header.storage.backup.BackupStorageInventory; import org.zstack.header.storage.backup.BackupStorageType; import org.zstack.header.storage.backup.BackupStorageVO; -import org.zstack.header.storage.primary.*; +import org.zstack.header.storage.primary.APICleanUpImageCacheOnPrimaryStorageEvent; +import org.zstack.header.storage.primary.APICleanUpImageCacheOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.APIUpdatePrimaryStorageMsg; +import org.zstack.header.storage.primary.AskInstallPathForNewSnapshotMsg; +import org.zstack.header.storage.primary.AskInstallPathForNewSnapshotReply; +import org.zstack.header.storage.primary.AskVolumeSnapshotCapabilityMsg; +import org.zstack.header.storage.primary.AskVolumeSnapshotCapabilityReply; +import org.zstack.header.storage.primary.BackupVolumeSnapshotFromPrimaryStorageToBackupStorageMsg; +import org.zstack.header.storage.primary.BackupVolumeSnapshotFromPrimaryStorageToBackupStorageReply; +import org.zstack.header.storage.primary.CancelDownloadBitsFromKVMHostToPrimaryStorageMsg; +import org.zstack.header.storage.primary.CancelDownloadBitsFromKVMHostToPrimaryStorageReply; +import org.zstack.header.storage.primary.ChangeVolumeTypeOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.ChangeVolumeTypeOnPrimaryStorageReply; +import org.zstack.header.storage.primary.CheckChangeVolumeTypeOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.CheckChangeVolumeTypeOnPrimaryStorageReply; +import org.zstack.header.storage.primary.CheckSnapshotMsg; +import org.zstack.header.storage.primary.CheckSnapshotReply; +import org.zstack.header.storage.primary.CheckVolumeSnapshotOperationOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.CheckVolumeSnapshotOperationOnPrimaryStorageReply; +import org.zstack.header.storage.primary.CommitVolumeSnapshotOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.CommitVolumeSnapshotOnPrimaryStorageReply; +import org.zstack.header.storage.primary.CreateImageCacheFromVolumeOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.CreateImageCacheFromVolumeOnPrimaryStorageReply; +import org.zstack.header.storage.primary.CreateImageCacheFromVolumeSnapshotOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.CreateImageCacheFromVolumeSnapshotOnPrimaryStorageReply; +import org.zstack.header.storage.primary.CreateTemplateFromVolumeOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.CreateTemplateFromVolumeOnPrimaryStorageReply; +import org.zstack.header.storage.primary.CreateVolumeFromVolumeSnapshotOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.CreateVolumeFromVolumeSnapshotOnPrimaryStorageReply; +import org.zstack.header.storage.primary.DeleteBitsOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.DeleteImageCacheOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.DeleteImageCacheOnPrimaryStorageReply; +import org.zstack.header.storage.primary.DeleteIsoFromPrimaryStorageMsg; +import org.zstack.header.storage.primary.DeleteIsoFromPrimaryStorageReply; +import org.zstack.header.storage.primary.DeleteSnapshotOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.DeleteSnapshotOnPrimaryStorageReply; +import org.zstack.header.storage.primary.DeleteVolumeBitsOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.DeleteVolumeBitsOnPrimaryStorageReply; +import org.zstack.header.storage.primary.DeleteVolumeOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.DeleteVolumeOnPrimaryStorageReply; +import org.zstack.header.storage.primary.DownloadBitsFromKVMHostToPrimaryStorageMsg; +import org.zstack.header.storage.primary.DownloadBitsFromKVMHostToPrimaryStorageReply; +import org.zstack.header.storage.primary.DownloadDataVolumeToPrimaryStorageMsg; +import org.zstack.header.storage.primary.DownloadDataVolumeToPrimaryStorageReply; +import org.zstack.header.storage.primary.DownloadIsoToPrimaryStorageMsg; +import org.zstack.header.storage.primary.DownloadIsoToPrimaryStorageReply; +import org.zstack.header.storage.primary.DownloadTemporaryDataVolumeToPrimaryStorageMsg; +import org.zstack.header.storage.primary.FlattenVolumeOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.FlattenVolumeOnPrimaryStorageReply; +import org.zstack.header.storage.primary.GetDownloadBitsFromKVMHostProgressMsg; +import org.zstack.header.storage.primary.GetDownloadBitsFromKVMHostProgressReply; +import org.zstack.header.storage.primary.GetInstallPathForDataVolumeDownloadMsg; +import org.zstack.header.storage.primary.GetInstallPathForDataVolumeDownloadReply; +import org.zstack.header.storage.primary.GetInstallPathForTemporaryDataVolumeDownloadMsg; +import org.zstack.header.storage.primary.GetPrimaryStorageResourceLocationMsg; +import org.zstack.header.storage.primary.GetPrimaryStorageResourceLocationReply; +import org.zstack.header.storage.primary.GetVolumeBackingChainFromPrimaryStorageMsg; +import org.zstack.header.storage.primary.GetVolumeBackingChainFromPrimaryStorageReply; +import org.zstack.header.storage.primary.GetVolumeRootImageUuidFromPrimaryStorageMsg; +import org.zstack.header.storage.primary.GetVolumeRootImageUuidFromPrimaryStorageReply; +import org.zstack.header.storage.primary.GetVolumeSnapshotEncryptedOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.GetVolumeSnapshotEncryptedOnPrimaryStorageReply; +import org.zstack.header.storage.primary.ImageCacheInventory; +import org.zstack.header.storage.primary.ImageCacheVO; +import org.zstack.header.storage.primary.ImageCacheVO_; +import org.zstack.header.storage.primary.InstantiateMemoryVolumeOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.InstantiateRootVolumeFromTemplateOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.InstantiateTemporaryRootVolumeFromTemplateOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.InstantiateTemporaryVolumeOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.InstantiateVolumeOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.InstantiateVolumeOnPrimaryStorageReply; +import org.zstack.header.storage.primary.MergeVolumeSnapshotOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.MergeVolumeSnapshotOnPrimaryStorageReply; +import org.zstack.header.storage.primary.PrimaryStorageCapacityUpdaterRunnable; +import org.zstack.header.storage.primary.PrimaryStorageCapacityVO; +import org.zstack.header.storage.primary.PrimaryStorageClusterRefVO; +import org.zstack.header.storage.primary.PrimaryStorageClusterRefVO_; +import org.zstack.header.storage.primary.PrimaryStorageConstant; +import org.zstack.header.storage.primary.PrimaryStorageErrors; +import org.zstack.header.storage.primary.PrimaryStorageHostRefVO; +import org.zstack.header.storage.primary.PrimaryStorageHostRefVO_; +import org.zstack.header.storage.primary.PrimaryStorageInventory; +import org.zstack.header.storage.primary.PrimaryStorageRemoveCachedImageMsg; +import org.zstack.header.storage.primary.PrimaryStorageRemoveCachedImageReply; +import org.zstack.header.storage.primary.PrimaryStorageStatus; +import org.zstack.header.storage.primary.PrimaryStorageVO; +import org.zstack.header.storage.primary.PullVolumeSnapshotOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.PullVolumeSnapshotOnPrimaryStorageReply; +import org.zstack.header.storage.primary.ReInitRootVolumeFromTemplateOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.ReInitRootVolumeFromTemplateOnPrimaryStorageReply; +import org.zstack.header.storage.primary.RecalculatePrimaryStorageCapacityMsg; +import org.zstack.header.storage.primary.RevertVolumeFromSnapshotOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.RevertVolumeFromSnapshotOnPrimaryStorageReply; +import org.zstack.header.storage.primary.SyncVolumeSizeOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.SyncVolumeSizeOnPrimaryStorageReply; +import org.zstack.header.storage.primary.TakeSnapshotMsg; +import org.zstack.header.storage.primary.TakeSnapshotReply; +import org.zstack.header.storage.primary.UnlinkBitsOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.UnlinkBitsOnPrimaryStorageReply; +import org.zstack.header.storage.primary.UpdatePrimaryStorageExtensionPoint; +import org.zstack.header.storage.primary.VolumeSnapshotCapability; import org.zstack.header.storage.primary.VolumeSnapshotCapability.VolumeSnapshotArrangementType; import org.zstack.header.storage.snapshot.DeleteVolumeSnapshotDirection; import org.zstack.header.storage.snapshot.ShrinkVolumeSnapshotOnPrimaryStorageMsg; @@ -45,9 +160,22 @@ import org.zstack.header.vm.VmInstanceState; import org.zstack.header.vm.VmInstanceVO; import org.zstack.header.vm.VmInstanceVO_; -import org.zstack.header.volume.*; -import org.zstack.kvm.*; -import org.zstack.storage.primary.*; +import org.zstack.header.volume.BatchSyncVolumeSizeOnPrimaryStorageMsg; +import org.zstack.header.volume.BatchSyncVolumeSizeOnPrimaryStorageReply; +import org.zstack.header.volume.VolumeConstant; +import org.zstack.header.volume.VolumeFormat; +import org.zstack.header.volume.VolumeInventory; +import org.zstack.header.volume.VolumeProvisioningStrategy; +import org.zstack.header.volume.VolumeStats; +import org.zstack.header.volume.VolumeType; +import org.zstack.header.volume.VolumeVO; +import org.zstack.kvm.KVMConstant; +import org.zstack.storage.primary.EstimateVolumeTemplateSizeOnPrimaryStorageMsg; +import org.zstack.storage.primary.EstimateVolumeTemplateSizeOnPrimaryStorageReply; +import org.zstack.storage.primary.ImageCacheCleanParam; +import org.zstack.storage.primary.PrimaryStorageBase; +import org.zstack.storage.primary.PrimaryStorageCapacityUpdater; +import org.zstack.storage.primary.PrimaryStorageGlobalProperty; import org.zstack.storage.snapshot.reference.VolumeSnapshotReferenceUtils; import org.zstack.storage.volume.VolumeErrors; import org.zstack.storage.volume.VolumeSystemTags; @@ -61,7 +189,9 @@ import javax.persistence.Tuple; import javax.persistence.TypedQuery; import java.io.File; -import java.util.*; +import java.util.Collection; +import java.util.List; +import java.util.Map; import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; @@ -251,6 +381,7 @@ private void handle(final DeleteImageCacheOnPrimaryStorageMsg msg) { DeleteImageCacheOnPrimaryStorageReply sreply = new DeleteImageCacheOnPrimaryStorageReply(); FlowChain chain = FlowChainBuilder.newSimpleFlowChain(); chain.setName(String.format("delete-image-cache-on-nfs-primary-storage-%s", msg.getPrimaryStorageUuid())); + // DEBT: NoRollbackFlow — in getName chain.then(new NoRollbackFlow() { String __name__ = "delete-volume-cache"; @@ -792,6 +923,7 @@ private void handle(final InstantiateRootVolumeFromTemplateOnPrimaryStorageMsg m @Override public void setup() { + // DEBT: NoRollbackFlow — in detachHook flow(new NoRollbackFlow() { @Override public void run(final FlowTrigger trigger, Map data) { @@ -816,6 +948,7 @@ public void fail(ErrorCode errorCode) { } }); + // DEBT: NoRollbackFlow — reason TBD flow(new NoRollbackFlow() { @Override public void run(final FlowTrigger trigger, Map data) { @@ -1121,6 +1254,7 @@ public void rollback(FlowRollback trigger, Map data) { } }); + // DEBT: NoRollbackFlow — in rollback flow(new NoRollbackFlow() { @Override public void run(final FlowTrigger trigger, Map data) { diff --git a/plugin/nfsPrimaryStorage/src/main/java/org/zstack/storage/primary/nfs/NfsPrimaryStorageBackend.java b/plugin/nfsPrimaryStorage/src/main/java/org/zstack/storage/primary/nfs/NfsPrimaryStorageBackend.java index 6c26e682ce6..5900d9854bf 100755 --- a/plugin/nfsPrimaryStorage/src/main/java/org/zstack/storage/primary/nfs/NfsPrimaryStorageBackend.java +++ b/plugin/nfsPrimaryStorage/src/main/java/org/zstack/storage/primary/nfs/NfsPrimaryStorageBackend.java @@ -5,7 +5,33 @@ import org.zstack.header.host.HostInventory; import org.zstack.header.host.HypervisorType; import org.zstack.header.image.ImageInventory; -import org.zstack.header.storage.primary.*; +import org.zstack.header.storage.primary.AskInstallPathForNewSnapshotMsg; +import org.zstack.header.storage.primary.AskInstallPathForNewSnapshotReply; +import org.zstack.header.storage.primary.CancelDownloadBitsFromKVMHostToPrimaryStorageMsg; +import org.zstack.header.storage.primary.CancelDownloadBitsFromKVMHostToPrimaryStorageReply; +import org.zstack.header.storage.primary.ChangeVolumeTypeOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.ChangeVolumeTypeOnPrimaryStorageReply; +import org.zstack.header.storage.primary.CommitVolumeSnapshotOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.CommitVolumeSnapshotOnPrimaryStorageReply; +import org.zstack.header.storage.primary.CreateVolumeFromVolumeSnapshotOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.CreateVolumeFromVolumeSnapshotOnPrimaryStorageReply; +import org.zstack.header.storage.primary.DownloadBitsFromKVMHostToPrimaryStorageMsg; +import org.zstack.header.storage.primary.DownloadBitsFromKVMHostToPrimaryStorageReply; +import org.zstack.header.storage.primary.GetDownloadBitsFromKVMHostProgressMsg; +import org.zstack.header.storage.primary.GetDownloadBitsFromKVMHostProgressReply; +import org.zstack.header.storage.primary.GetVolumeBackingChainFromPrimaryStorageMsg; +import org.zstack.header.storage.primary.GetVolumeBackingChainFromPrimaryStorageReply; +import org.zstack.header.storage.primary.GetVolumeRootImageUuidFromPrimaryStorageMsg; +import org.zstack.header.storage.primary.GetVolumeRootImageUuidFromPrimaryStorageReply; +import org.zstack.header.storage.primary.GetVolumeSnapshotEncryptedOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.GetVolumeSnapshotEncryptedOnPrimaryStorageReply; +import org.zstack.header.storage.primary.ImageCacheInventory; +import org.zstack.header.storage.primary.PrimaryStorageInventory; +import org.zstack.header.storage.primary.PullVolumeSnapshotOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.PullVolumeSnapshotOnPrimaryStorageReply; +import org.zstack.header.storage.primary.RevertVolumeFromSnapshotOnPrimaryStorageReply; +import org.zstack.header.storage.primary.SyncVolumeSizeOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.SyncVolumeSizeOnPrimaryStorageReply; import org.zstack.header.storage.snapshot.VolumeSnapshotInventory; import org.zstack.header.volume.VolumeStats; import org.zstack.header.volume.BatchSyncVolumeSizeOnPrimaryStorageMsg; diff --git a/plugin/nfsPrimaryStorage/src/main/java/org/zstack/storage/primary/nfs/NfsPrimaryStorageFactory.java b/plugin/nfsPrimaryStorage/src/main/java/org/zstack/storage/primary/nfs/NfsPrimaryStorageFactory.java index c8398bdfe1b..98e46142e0d 100755 --- a/plugin/nfsPrimaryStorage/src/main/java/org/zstack/storage/primary/nfs/NfsPrimaryStorageFactory.java +++ b/plugin/nfsPrimaryStorage/src/main/java/org/zstack/storage/primary/nfs/NfsPrimaryStorageFactory.java @@ -26,20 +26,65 @@ import org.zstack.header.core.workflow.NoRollbackFlow; import org.zstack.header.errorcode.OperationFailureException; import org.zstack.header.exception.CloudRuntimeException; -import org.zstack.header.host.*; +import org.zstack.header.host.HostDeleteExtensionPoint; +import org.zstack.header.host.HostException; +import org.zstack.header.host.HostInventory; +import org.zstack.header.host.HostState; +import org.zstack.header.host.HostStatus; +import org.zstack.header.host.HostVO; +import org.zstack.header.host.HostVO_; +import org.zstack.header.host.HypervisorType; import org.zstack.header.image.ImageConstant; import org.zstack.header.image.ImageInventory; import org.zstack.header.message.MessageReply; import org.zstack.header.rest.RESTFacade; -import org.zstack.header.storage.backup.*; -import org.zstack.header.storage.primary.*; +import org.zstack.header.storage.backup.BackupStorageAskInstallPathMsg; +import org.zstack.header.storage.backup.BackupStorageAskInstallPathReply; +import org.zstack.header.storage.backup.BackupStorageConstant; +import org.zstack.header.storage.backup.BackupStorageType; +import org.zstack.header.storage.backup.DeleteBitsOnBackupStorageMsg; +import org.zstack.header.storage.primary.APIAddPrimaryStorageMsg; +import org.zstack.header.storage.primary.DeleteVolumeBitsOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.InstantiateMemoryVolumeOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.InstantiateRootVolumeFromTemplateOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.InstantiateVolumeOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.PrimaryStorage; +import org.zstack.header.storage.primary.PrimaryStorageAttachExtensionPoint; +import org.zstack.header.storage.primary.PrimaryStorageCanonicalEvent; +import org.zstack.header.storage.primary.PrimaryStorageCapacityUpdaterRunnable; +import org.zstack.header.storage.primary.PrimaryStorageCapacityVO; +import org.zstack.header.storage.primary.PrimaryStorageClusterRefVO; +import org.zstack.header.storage.primary.PrimaryStorageClusterRefVO_; +import org.zstack.header.storage.primary.PrimaryStorageConstant; +import org.zstack.header.storage.primary.PrimaryStorageDetachExtensionPoint; +import org.zstack.header.storage.primary.PrimaryStorageException; +import org.zstack.header.storage.primary.PrimaryStorageFactory; +import org.zstack.header.storage.primary.PrimaryStorageHostRefVO; +import org.zstack.header.storage.primary.PrimaryStorageHostRefVO_; +import org.zstack.header.storage.primary.PrimaryStorageHostStatus; +import org.zstack.header.storage.primary.PrimaryStorageInventory; +import org.zstack.header.storage.primary.PrimaryStorageManager; +import org.zstack.header.storage.primary.PrimaryStorageStatus; +import org.zstack.header.storage.primary.PrimaryStorageType; +import org.zstack.header.storage.primary.PrimaryStorageVO; +import org.zstack.header.storage.primary.PrimaryStorageVO_; +import org.zstack.header.storage.primary.PrimaryToBackupStorageMediator; +import org.zstack.header.storage.primary.RecalculatePrimaryStorageCapacityExtensionPoint; +import org.zstack.header.storage.primary.RecalculatePrimaryStorageCapacityMsg; +import org.zstack.header.storage.primary.RecalculatePrimaryStorageCapacityStruct; import org.zstack.header.storage.snapshot.CreateTemplateFromVolumeSnapshotExtensionPoint; import org.zstack.header.storage.snapshot.VolumeSnapshotInventory; import org.zstack.header.vm.VmInstanceState; import org.zstack.header.vm.VmInstanceVO; import org.zstack.header.vm.VmInstanceVO_; import org.zstack.header.vo.ResourceVO; -import org.zstack.header.volume.*; +import org.zstack.header.volume.AfterInstantiateVolumeExtensionPoint; +import org.zstack.header.volume.CreateQcow2VolumeProvisioningStrategyExtensionPoint; +import org.zstack.header.volume.VolumeFormat; +import org.zstack.header.volume.VolumeInventory; +import org.zstack.header.volume.VolumeType; +import org.zstack.header.volume.VolumeVO; +import org.zstack.header.volume.VolumeVO_; import org.zstack.kvm.KVMConstant; import org.zstack.storage.primary.ChangePrimaryStorageStatusMsg; import org.zstack.storage.primary.PrimaryStorageCapacityUpdater; @@ -55,7 +100,12 @@ import static org.zstack.core.Platform.*; import javax.persistence.TypedQuery; -import java.util.*; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Optional; import java.util.concurrent.Callable; import static org.zstack.header.Constants.THREAD_CONTEXT_API; @@ -518,6 +568,7 @@ public void rollback(FlowRollback trigger, Map data) { } }); + // DEBT: NoRollbackFlow — in rollback template.setDeleteTemporaryTemplate(new NoRollbackFlow() { String __name__ = "delete-temporary-template"; diff --git a/plugin/nfsPrimaryStorage/src/main/java/org/zstack/storage/primary/nfs/NfsPrimaryStorageKVMBackend.java b/plugin/nfsPrimaryStorage/src/main/java/org/zstack/storage/primary/nfs/NfsPrimaryStorageKVMBackend.java index a1341ef4449..ca60132f0a1 100755 --- a/plugin/nfsPrimaryStorage/src/main/java/org/zstack/storage/primary/nfs/NfsPrimaryStorageKVMBackend.java +++ b/plugin/nfsPrimaryStorage/src/main/java/org/zstack/storage/primary/nfs/NfsPrimaryStorageKVMBackend.java @@ -22,30 +22,108 @@ import org.zstack.core.timeout.ApiTimeoutManager; import org.zstack.core.trash.StorageTrash; import org.zstack.core.upgrade.UpgradeChecker; -import org.zstack.header.core.*; -import org.zstack.header.core.workflow.*; +import org.zstack.header.core.Completion; +import org.zstack.header.core.FutureCompletion; +import org.zstack.header.core.NoErrorCompletion; +import org.zstack.header.core.NopeCompletion; +import org.zstack.header.core.ReturnValueCompletion; +import org.zstack.header.core.WhileCompletion; +import org.zstack.header.core.WhileDoneCompletion; +import org.zstack.header.core.workflow.Flow; +import org.zstack.header.core.workflow.FlowTrigger; +import org.zstack.header.core.workflow.NoRollbackFlow; import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.errorcode.ErrorCodeList; import org.zstack.header.errorcode.OperationFailureException; import org.zstack.header.exception.CloudRuntimeException; -import org.zstack.header.host.*; +import org.zstack.header.host.HostCanonicalEvents; +import org.zstack.header.host.HostConnectionReestablishExtensionPoint; +import org.zstack.header.host.HostConstant; +import org.zstack.header.host.HostException; +import org.zstack.header.host.HostInventory; +import org.zstack.header.host.HostState; +import org.zstack.header.host.HostStatus; +import org.zstack.header.host.HostVO; +import org.zstack.header.host.HostVO_; +import org.zstack.header.host.HypervisorType; +import org.zstack.header.host.TakeSnapshotOnHypervisorMsg; import org.zstack.header.image.ImageInventory; import org.zstack.header.message.MessageReply; import org.zstack.header.storage.backup.BackupStorageInventory; import org.zstack.header.storage.backup.BackupStorageType; import org.zstack.header.storage.backup.BackupStorageVO; -import org.zstack.header.storage.primary.*; +import org.zstack.header.storage.primary.AskInstallPathForNewSnapshotMsg; +import org.zstack.header.storage.primary.AskInstallPathForNewSnapshotReply; +import org.zstack.header.storage.primary.CancelDownloadBitsFromKVMHostToPrimaryStorageMsg; +import org.zstack.header.storage.primary.CancelDownloadBitsFromKVMHostToPrimaryStorageReply; +import org.zstack.header.storage.primary.ChangeVolumeTypeOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.ChangeVolumeTypeOnPrimaryStorageReply; +import org.zstack.header.storage.primary.CommitVolumeSnapshotOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.CommitVolumeSnapshotOnPrimaryStorageReply; +import org.zstack.header.storage.primary.CreateVolumeFromVolumeSnapshotOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.CreateVolumeFromVolumeSnapshotOnPrimaryStorageReply; +import org.zstack.header.storage.primary.DownloadBitsFromKVMHostToPrimaryStorageMsg; +import org.zstack.header.storage.primary.DownloadBitsFromKVMHostToPrimaryStorageReply; +import org.zstack.header.storage.primary.GetDownloadBitsFromKVMHostProgressMsg; +import org.zstack.header.storage.primary.GetDownloadBitsFromKVMHostProgressReply; +import org.zstack.header.storage.primary.GetVolumeBackingChainFromPrimaryStorageMsg; +import org.zstack.header.storage.primary.GetVolumeBackingChainFromPrimaryStorageReply; +import org.zstack.header.storage.primary.GetVolumeRootImageUuidFromPrimaryStorageMsg; +import org.zstack.header.storage.primary.GetVolumeRootImageUuidFromPrimaryStorageReply; +import org.zstack.header.storage.primary.GetVolumeSnapshotEncryptedOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.GetVolumeSnapshotEncryptedOnPrimaryStorageReply; +import org.zstack.header.storage.primary.ImageCacheInventory; +import org.zstack.header.storage.primary.PrimaryStorageCapacityUpdaterRunnable; +import org.zstack.header.storage.primary.PrimaryStorageCapacityVO; +import org.zstack.header.storage.primary.PrimaryStorageClusterRefVO; +import org.zstack.header.storage.primary.PrimaryStorageClusterRefVO_; +import org.zstack.header.storage.primary.PrimaryStorageHostStatus; +import org.zstack.header.storage.primary.PrimaryStorageInventory; +import org.zstack.header.storage.primary.PrimaryStorageVO; +import org.zstack.header.storage.primary.PrimaryStorageVO_; +import org.zstack.header.storage.primary.PullVolumeSnapshotOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.PullVolumeSnapshotOnPrimaryStorageReply; +import org.zstack.header.storage.primary.RevertVolumeFromSnapshotOnPrimaryStorageReply; +import org.zstack.header.storage.primary.SyncVolumeSizeOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.SyncVolumeSizeOnPrimaryStorageReply; import org.zstack.header.storage.snapshot.VolumeSnapshotInventory; import org.zstack.header.storage.snapshot.VolumeSnapshotVO; import org.zstack.header.vm.VmInstanceSpec; import org.zstack.header.vm.VmInstanceState; import org.zstack.header.vm.VmInstanceVO; import org.zstack.header.vm.VmInstanceVO_; -import org.zstack.header.volume.*; +import org.zstack.header.volume.BatchSyncVolumeSizeOnPrimaryStorageMsg; +import org.zstack.header.volume.BatchSyncVolumeSizeOnPrimaryStorageReply; +import org.zstack.header.volume.VolumeConstant; +import org.zstack.header.volume.VolumeFormat; +import org.zstack.header.volume.VolumeInventory; +import org.zstack.header.volume.VolumeStats; +import org.zstack.header.volume.VolumeType; import org.zstack.identity.AccountManager; -import org.zstack.kvm.*; +import org.zstack.kvm.GetKVMHostDownloadCredentialMsg; +import org.zstack.kvm.GetKVMHostDownloadCredentialReply; +import org.zstack.kvm.KVMAgentCommands; +import org.zstack.kvm.KVMConstant; +import org.zstack.kvm.KVMHostAsyncHttpCallMsg; +import org.zstack.kvm.KVMHostAsyncHttpCallReply; +import org.zstack.kvm.KVMHostConnectExtensionPoint; +import org.zstack.kvm.KVMHostConnectedContext; +import org.zstack.kvm.KVMHostInventory; +import org.zstack.kvm.KVMHostSyncHttpCallMsg; +import org.zstack.kvm.KVMHostSyncHttpCallReply; +import org.zstack.kvm.KVMStartVmExtensionPoint; +import org.zstack.kvm.KVMSystemTags; +import org.zstack.kvm.KVMTakeSnapshotExtensionPoint; +import org.zstack.kvm.KvmCommandFailureChecker; +import org.zstack.kvm.KvmCommandSender; +import org.zstack.kvm.KvmResponseWrapper; +import org.zstack.kvm.MergeVolumeSnapshotOnKvmMsg; import org.zstack.kvm.KVMAgentCommands.AgentResponse; -import org.zstack.storage.primary.*; +import org.zstack.storage.primary.EstimateVolumeTemplateSizeOnPrimaryStorageMsg; +import org.zstack.storage.primary.EstimateVolumeTemplateSizeOnPrimaryStorageReply; +import org.zstack.storage.primary.ImageCacheUtil; +import org.zstack.storage.primary.PrimaryStorageCapacityUpdater; +import org.zstack.storage.primary.PrimaryStorageSystemTags; import org.zstack.storage.primary.PrimaryStorageBase.PhysicalCapacityUsage; import org.zstack.storage.primary.nfs.NfsPrimaryStorageKVMBackendCommands.*; import org.zstack.storage.volume.VolumeErrors; @@ -60,7 +138,11 @@ import javax.persistence.Tuple; import javax.persistence.TypedQuery; import java.io.File; -import java.util.*; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; +import java.util.List; +import java.util.Map; import java.util.Map.Entry; import java.util.concurrent.Callable; import java.util.concurrent.TimeUnit; @@ -1741,6 +1823,7 @@ public void fail(ErrorCode errorCode) { @Override public Flow createKvmHostConnectingFlow(final KVMHostConnectedContext context) { + // DEBT: NoRollbackFlow — in createKvmHostConnectingFlow return new NoRollbackFlow() { String __name__ = "remount-nfs-primary-storage"; diff --git a/plugin/nfsPrimaryStorage/src/main/java/org/zstack/storage/primary/nfs/NfsPrimaryToSftpBackupKVMBackend.java b/plugin/nfsPrimaryStorage/src/main/java/org/zstack/storage/primary/nfs/NfsPrimaryToSftpBackupKVMBackend.java index 13f52feb14c..e639fd4e9e9 100755 --- a/plugin/nfsPrimaryStorage/src/main/java/org/zstack/storage/primary/nfs/NfsPrimaryToSftpBackupKVMBackend.java +++ b/plugin/nfsPrimaryStorage/src/main/java/org/zstack/storage/primary/nfs/NfsPrimaryToSftpBackupKVMBackend.java @@ -20,7 +20,12 @@ import org.zstack.kvm.KVMHostAsyncHttpCallMsg; import org.zstack.kvm.KVMHostAsyncHttpCallReply; import org.zstack.storage.backup.BackupStoragePathMaker; -import org.zstack.storage.backup.sftp.*; +import org.zstack.storage.backup.sftp.GetSftpBackupStorageDownloadCredentialMsg; +import org.zstack.storage.backup.sftp.GetSftpBackupStorageDownloadCredentialReply; +import org.zstack.storage.backup.sftp.SftpBackupStorage; +import org.zstack.storage.backup.sftp.SftpBackupStorageConstant; +import org.zstack.storage.backup.sftp.SftpBackupStorageVO; +import org.zstack.storage.backup.sftp.SftpBackupStorageVO_; import org.zstack.storage.primary.nfs.NfsPrimaryStorageKVMBackendCommands.*; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; diff --git a/plugin/portForwarding/src/main/java/org/zstack/network/service/portforwarding/PortForwardingApiInterceptor.java b/plugin/portForwarding/src/main/java/org/zstack/network/service/portforwarding/PortForwardingApiInterceptor.java index 43a2a4d10e7..115f3360a4a 100755 --- a/plugin/portForwarding/src/main/java/org/zstack/network/service/portforwarding/PortForwardingApiInterceptor.java +++ b/plugin/portForwarding/src/main/java/org/zstack/network/service/portforwarding/PortForwardingApiInterceptor.java @@ -19,7 +19,11 @@ import org.zstack.header.vm.VmInstanceVO_; import org.zstack.header.vm.VmNicVO; import org.zstack.header.vm.VmNicVO_; -import org.zstack.network.service.vip.*; +import org.zstack.network.service.vip.VipBase; +import org.zstack.network.service.vip.VipNetworkServicesRefVO; +import org.zstack.network.service.vip.VipNetworkServicesRefVO_; +import org.zstack.network.service.vip.VipVO; +import org.zstack.network.service.vip.VipVO_; import org.zstack.utils.VipUseForList; import org.zstack.utils.network.IPv6Constants; import org.zstack.utils.network.NetworkUtils; diff --git a/plugin/portForwarding/src/main/java/org/zstack/network/service/portforwarding/PortForwardingExtension.java b/plugin/portForwarding/src/main/java/org/zstack/network/service/portforwarding/PortForwardingExtension.java index 94b33838989..910ed321919 100755 --- a/plugin/portForwarding/src/main/java/org/zstack/network/service/portforwarding/PortForwardingExtension.java +++ b/plugin/portForwarding/src/main/java/org/zstack/network/service/portforwarding/PortForwardingExtension.java @@ -11,7 +11,12 @@ import org.zstack.header.network.l3.L3NetworkVO; import org.zstack.header.network.service.NetworkServiceProviderType; import org.zstack.header.network.service.NetworkServiceType; -import org.zstack.header.vm.*; +import org.zstack.header.vm.ReleaseNetworkServiceOnDeletingNicExtensionPoint; +import org.zstack.header.vm.VmInstanceConstant; +import org.zstack.header.vm.VmInstanceSpec; +import org.zstack.header.vm.VmNicHelper; +import org.zstack.header.vm.VmNicInventory; +import org.zstack.header.vm.VmNicSpec; import org.zstack.header.vm.VmInstanceConstant.VmOperation; import org.zstack.network.l3.L3NetworkManager; import org.zstack.network.service.AbstractNetworkServiceExtension; @@ -21,7 +26,12 @@ import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; -import java.util.*; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Optional; import java.util.stream.Collectors; /** diff --git a/plugin/portForwarding/src/main/java/org/zstack/network/service/portforwarding/PortForwardingManagerImpl.java b/plugin/portForwarding/src/main/java/org/zstack/network/service/portforwarding/PortForwardingManagerImpl.java index ce34e098021..11f00ae547f 100755 --- a/plugin/portForwarding/src/main/java/org/zstack/network/service/portforwarding/PortForwardingManagerImpl.java +++ b/plugin/portForwarding/src/main/java/org/zstack/network/service/portforwarding/PortForwardingManagerImpl.java @@ -6,7 +6,12 @@ import org.zstack.core.cloudbus.CloudBus; import org.zstack.core.cloudbus.MessageSafe; import org.zstack.core.componentloader.PluginRegistry; -import org.zstack.core.db.*; +import org.zstack.core.db.DatabaseFacade; +import org.zstack.core.db.Q; +import org.zstack.core.db.SQL; +import org.zstack.core.db.SQLBatch; +import org.zstack.core.db.SQLBatchWithReturn; +import org.zstack.core.db.SimpleQuery; import org.zstack.core.db.SimpleQuery.Op; import org.zstack.core.errorcode.ErrorFacade; import org.zstack.core.thread.ChainTask; @@ -17,7 +22,11 @@ import org.zstack.header.AbstractService; import org.zstack.header.core.Completion; import org.zstack.header.core.NopeCompletion; -import org.zstack.header.core.workflow.*; +import org.zstack.header.core.workflow.FlowChain; +import org.zstack.header.core.workflow.FlowDoneHandler; +import org.zstack.header.core.workflow.FlowErrorHandler; +import org.zstack.header.core.workflow.FlowTrigger; +import org.zstack.header.core.workflow.NoRollbackFlow; import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.errorcode.SysErrors; import org.zstack.header.exception.CloudRuntimeException; @@ -35,13 +44,36 @@ import org.zstack.header.query.AddExpandedQueryExtensionPoint; import org.zstack.header.query.ExpandedQueryAliasStruct; import org.zstack.header.query.ExpandedQueryStruct; -import org.zstack.header.vm.*; +import org.zstack.header.vm.VmInstanceConstant; +import org.zstack.header.vm.VmInstanceInventory; +import org.zstack.header.vm.VmInstanceState; +import org.zstack.header.vm.VmInstanceVO; +import org.zstack.header.vm.VmInstanceVO_; +import org.zstack.header.vm.VmIpChangedExtensionPoint; +import org.zstack.header.vm.VmNicChangeNetworkExtensionPoint; +import org.zstack.header.vm.VmNicInventory; +import org.zstack.header.vm.VmNicVO; +import org.zstack.header.vm.VmNicVO_; import org.zstack.identity.AccountManager; import org.zstack.network.l3.L3NetworkManager; import org.zstack.network.service.NetworkServiceManager; -import org.zstack.network.service.vip.*; +import org.zstack.network.service.vip.ModifyVipAttributesStruct; +import org.zstack.network.service.vip.Vip; +import org.zstack.network.service.vip.VipGetServiceReferencePoint; +import org.zstack.network.service.vip.VipGetUsedPortRangeExtensionPoint; +import org.zstack.network.service.vip.VipInventory; +import org.zstack.network.service.vip.VipManager; +import org.zstack.network.service.vip.VipPeerL3NetworkRefVO; +import org.zstack.network.service.vip.VipPeerL3NetworkRefVO_; +import org.zstack.network.service.vip.VipReleaseExtensionPoint; +import org.zstack.network.service.vip.VipVO; +import org.zstack.network.service.vip.VipVO_; import org.zstack.tag.TagManager; -import org.zstack.utils.*; +import org.zstack.utils.CollectionUtils; +import org.zstack.utils.DebugUtils; +import org.zstack.utils.RangeSet; +import org.zstack.utils.Utils; +import org.zstack.utils.VipUseForList; import org.zstack.utils.function.ForEachFunction; import org.zstack.utils.gson.JSONObjectUtil; import org.zstack.utils.logging.CLogger; @@ -50,7 +82,13 @@ import javax.persistence.Tuple; import javax.persistence.TypedQuery; -import java.util.*; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Set; import java.util.stream.Collectors; import static java.util.Arrays.asList; @@ -533,6 +571,7 @@ public void run(RevokePortForwardingRuleExtensionPoint extp) { chain.then(new ShareFlow() { @Override public void setup() { + // DEBT: NoRollbackFlow — reason TBD flow(new NoRollbackFlow() { String __name__ = "delete-portforwarding-rule"; @@ -555,6 +594,7 @@ public void fail(ErrorCode errorCode) { } }); + // DEBT: NoRollbackFlow — reason TBD flow(new NoRollbackFlow() { String __name__ = "release-vip-if-no-rules"; @@ -778,6 +818,7 @@ public void setup() { final PortForwardingRuleVO pvo = dbf.updateAndRefresh(vo); final PortForwardingRuleInventory ruleInv = PortForwardingRuleInventory.valueOf(pvo); + // DEBT: NoRollbackFlow — reason TBD flow(new NoRollbackFlow() { @Override public void run(FlowTrigger trigger, Map data) { @@ -799,6 +840,7 @@ public void run(FlowTrigger trigger, Map data) { } }); + // DEBT: NoRollbackFlow — reason TBD flow(new NoRollbackFlow() { @Override public void run(FlowTrigger trigger, Map data) { @@ -813,6 +855,7 @@ public void run(AttachPortForwardingRuleExtensionPoint extp) { } }); + // DEBT: NoRollbackFlow — reason TBD flow(new NoRollbackFlow() { @Override public void run(FlowTrigger trigger, Map data) { @@ -1015,6 +1058,7 @@ private void doAttachPortForwardingRule(PortForwardingStruct struct, String prov chain.then(new ShareFlow() { @Override public void setup() { + // DEBT: NoRollbackFlow — in doAttachPortForwardingRule flow(new NoRollbackFlow() { String __name__ = "prepare-vip"; @@ -1044,6 +1088,7 @@ public void fail(ErrorCode errorCode) { } }); + // DEBT: NoRollbackFlow — in doAttachPortForwardingRule flow(new NoRollbackFlow() { String __name__ = "attach-portfowarding-rule"; @@ -1129,6 +1174,7 @@ private void doDetachPortForwardingRule(final PortForwardingStruct struct, Strin chain.then(new ShareFlow() { @Override public void setup() { + // DEBT: NoRollbackFlow — in doDetachPortForwardingRule flow(new NoRollbackFlow() { String __name__ = "detach-portforwarding-rule"; @@ -1150,6 +1196,7 @@ public void fail(ErrorCode errorCode) { } }); + // DEBT: NoRollbackFlow — in doDetachPortForwardingRule flow(new NoRollbackFlow() { String __name__ = "remove-l3-from-vip"; diff --git a/plugin/sdnController/src/main/java/org/zstack/sdnController/SdnController.java b/plugin/sdnController/src/main/java/org/zstack/sdnController/SdnController.java index 57072cbaa57..85d40fda9c3 100644 --- a/plugin/sdnController/src/main/java/org/zstack/sdnController/SdnController.java +++ b/plugin/sdnController/src/main/java/org/zstack/sdnController/SdnController.java @@ -1,8 +1,14 @@ package org.zstack.sdnController; import org.zstack.header.core.Completion; -import org.zstack.header.network.sdncontroller.*; -import org.zstack.sdnController.header.*; +import org.zstack.header.network.sdncontroller.SdnControllerDeletionMsg; +import org.zstack.header.network.sdncontroller.SdnControllerHostRefVO; +import org.zstack.header.network.sdncontroller.SdnControllerInventory; +import org.zstack.header.network.sdncontroller.SdnControllerMessage; +import org.zstack.header.network.sdncontroller.SdnControllerRemoveHostMsg; +import org.zstack.header.network.sdncontroller.SdnControllerVO; +import org.zstack.sdnController.header.APISdnControllerAddHostMsg; +import org.zstack.sdnController.header.AddSdnControllerMsg; public interface SdnController { diff --git a/plugin/sdnController/src/main/java/org/zstack/sdnController/SdnControllerApiInterceptor.java b/plugin/sdnController/src/main/java/org/zstack/sdnController/SdnControllerApiInterceptor.java index 97840150a1e..e92ef9bd65e 100644 --- a/plugin/sdnController/src/main/java/org/zstack/sdnController/SdnControllerApiInterceptor.java +++ b/plugin/sdnController/src/main/java/org/zstack/sdnController/SdnControllerApiInterceptor.java @@ -14,13 +14,32 @@ import org.zstack.header.network.l2.L2NetworkConstant; import org.zstack.header.network.l3.L3NetworkVO; import org.zstack.header.network.l3.L3NetworkVO_; -import org.zstack.header.network.sdncontroller.*; +import org.zstack.header.network.sdncontroller.SdnControllerConstant; +import org.zstack.header.network.sdncontroller.SdnControllerHostRefVO; +import org.zstack.header.network.sdncontroller.SdnControllerHostRefVO_; +import org.zstack.header.network.sdncontroller.SdnControllerMessage; +import org.zstack.header.network.sdncontroller.SdnControllerVO; +import org.zstack.header.network.sdncontroller.SdnControllerVO_; import org.zstack.header.vm.VmNicVO; import org.zstack.network.l2.vxlan.vxlanNetwork.VxlanNetworkVO; import org.zstack.network.l2.vxlan.vxlanNetwork.VxlanNetworkVO_; import org.zstack.network.l3.L3NetworkHelper; -import org.zstack.network.securitygroup.*; -import org.zstack.sdnController.header.*; +import org.zstack.network.securitygroup.APIAddSecurityGroupRuleMsg; +import org.zstack.network.securitygroup.APIAddVmNicToSecurityGroupMsg; +import org.zstack.network.securitygroup.APIAttachSecurityGroupToL3NetworkMsg; +import org.zstack.network.securitygroup.APISetVmNicSecurityGroupMsg; +import org.zstack.network.securitygroup.SecurityGroupHelper; +import org.zstack.sdnController.header.APIAddSdnControllerMsg; +import org.zstack.sdnController.header.APIChangeSdnControllerMsg; +import org.zstack.sdnController.header.APIPullSdnControllerTenantMsg; +import org.zstack.sdnController.header.APISdnControllerAddHostMsg; +import org.zstack.sdnController.header.APISdnControllerChangeHostMsg; +import org.zstack.sdnController.header.APISdnControllerRemoveHostMsg; +import org.zstack.sdnController.header.H3cSdnControllerTenantVO; +import org.zstack.sdnController.header.H3cSdnControllerTenantVO_; +import org.zstack.sdnController.header.HardwareL2VxlanNetworkPoolVO; +import org.zstack.sdnController.header.HardwareL2VxlanNetworkPoolVO_; +import org.zstack.sdnController.header.SdnVlanRange; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; import org.zstack.utils.network.NetworkUtils; diff --git a/plugin/sdnController/src/main/java/org/zstack/sdnController/SdnControllerBase.java b/plugin/sdnController/src/main/java/org/zstack/sdnController/SdnControllerBase.java index f1d1f11829b..e27ea93a91b 100644 --- a/plugin/sdnController/src/main/java/org/zstack/sdnController/SdnControllerBase.java +++ b/plugin/sdnController/src/main/java/org/zstack/sdnController/SdnControllerBase.java @@ -23,7 +23,13 @@ import org.zstack.header.core.Completion; import org.zstack.header.core.NopeCompletion; import org.zstack.header.core.WhileDoneCompletion; -import org.zstack.header.core.workflow.*; +import org.zstack.header.core.workflow.Flow; +import org.zstack.header.core.workflow.FlowChain; +import org.zstack.header.core.workflow.FlowDoneHandler; +import org.zstack.header.core.workflow.FlowErrorHandler; +import org.zstack.header.core.workflow.FlowRollback; +import org.zstack.header.core.workflow.FlowTrigger; +import org.zstack.header.core.workflow.NoRollbackFlow; import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.errorcode.ErrorCodeList; import org.zstack.header.message.APIDeleteMessage; @@ -32,10 +38,47 @@ import org.zstack.header.network.l2.L2NetworkConstant; import org.zstack.header.network.l2.SdnControllerDeleteExtensionPoint; import org.zstack.header.network.l3.SdnControllerL3; -import org.zstack.header.network.sdncontroller.*; +import org.zstack.header.network.sdncontroller.SdnControllerConstant; +import org.zstack.header.network.sdncontroller.SdnControllerDeletionMsg; +import org.zstack.header.network.sdncontroller.SdnControllerDeletionReply; +import org.zstack.header.network.sdncontroller.SdnControllerHostRefVO; +import org.zstack.header.network.sdncontroller.SdnControllerHostRefVO_; +import org.zstack.header.network.sdncontroller.SdnControllerInventory; +import org.zstack.header.network.sdncontroller.SdnControllerMessage; +import org.zstack.header.network.sdncontroller.SdnControllerRemoveHostMsg; +import org.zstack.header.network.sdncontroller.SdnControllerRemoveHostReply; +import org.zstack.header.network.sdncontroller.SdnControllerStatus; +import org.zstack.header.network.sdncontroller.SdnControllerVO; import org.zstack.network.hostNetworkInterface.HostNetworkInterfaceVO; import org.zstack.network.hostNetworkInterface.HostNetworkInterfaceVO_; -import org.zstack.sdnController.header.*; +import org.zstack.sdnController.header.APIChangeSdnControllerEvent; +import org.zstack.sdnController.header.APIChangeSdnControllerMsg; +import org.zstack.sdnController.header.APIPullSdnControllerTenantEvent; +import org.zstack.sdnController.header.APIPullSdnControllerTenantMsg; +import org.zstack.sdnController.header.APIReconnectSdnControllerEvent; +import org.zstack.sdnController.header.APIReconnectSdnControllerMsg; +import org.zstack.sdnController.header.APIRemoveSdnControllerEvent; +import org.zstack.sdnController.header.APIRemoveSdnControllerMsg; +import org.zstack.sdnController.header.APISdnControllerAddHostEvent; +import org.zstack.sdnController.header.APISdnControllerAddHostMsg; +import org.zstack.sdnController.header.APISdnControllerChangeHostEvent; +import org.zstack.sdnController.header.APISdnControllerChangeHostMsg; +import org.zstack.sdnController.header.APISdnControllerRemoveHostEvent; +import org.zstack.sdnController.header.APISdnControllerRemoveHostMsg; +import org.zstack.sdnController.header.APIUpdateSdnControllerEvent; +import org.zstack.sdnController.header.APIUpdateSdnControllerMsg; +import org.zstack.sdnController.header.H3cSdnControllerTenantInventory; +import org.zstack.sdnController.header.H3cSdnControllerTenantVO; +import org.zstack.sdnController.header.H3cSdnControllerTenantVO_; +import org.zstack.sdnController.header.HardwareL2VxlanNetworkPoolVO; +import org.zstack.sdnController.header.HardwareL2VxlanNetworkPoolVO_; +import org.zstack.sdnController.header.PullSdnControllerTenantMsg; +import org.zstack.sdnController.header.PullSdnControllerTenantReply; +import org.zstack.sdnController.header.ReconnectSdnControllerMsg; +import org.zstack.sdnController.header.ReconnectSdnControllerReply; +import org.zstack.sdnController.header.SdnControllerCanonicalEvents; +import org.zstack.sdnController.header.SyncSdnControllerDataMsg; +import org.zstack.sdnController.header.SyncSdnControllerDataReply; import org.zstack.sdnController.h3cVcfc.H3cVcfcV2Commands; import org.zstack.sdnController.h3cVcfc.H3cVcfcV2SdnController; import org.zstack.tag.SystemTagCreator; @@ -45,7 +88,15 @@ import javax.persistence.Tuple; import java.lang.reflect.Type; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Set; import java.util.stream.Collectors; import static java.util.Arrays.asList; @@ -262,6 +313,7 @@ public void rollback(FlowRollback trigger, Map data) { trigger.rollback(); } + // DEBT: NoRollbackFlow — in rollback }).then(new NoRollbackFlow() { String __name__ = "ping-sdn-controller"; @@ -431,6 +483,7 @@ public void rollback(FlowRollback trigger, Map data) { changeSdnControllerStatus(SdnControllerStatus.Disconnected); trigger.rollback(); } + // DEBT: NoRollbackFlow — in rollback }).then(new NoRollbackFlow() { String __name__ = "reconnect-to-sdn-controller"; @@ -449,6 +502,7 @@ public void fail(ErrorCode errorCode) { } }); } + // DEBT: NoRollbackFlow — in rollback }).then(new NoRollbackFlow() { String __name__ = "change-sdn-controller-status-to-connected"; @@ -751,6 +805,7 @@ private void doDeletionSdnController(SdnControllerDeletionMsg msg, Completion co FlowChain chain = FlowChainBuilder.newSimpleFlowChain(); chain.setName(String.format("sdn-controller-deletion-%s", msg.getSdnControllerUuid())); + // DEBT: NoRollbackFlow — in doDeletionSdnController chain.then(new NoRollbackFlow() { String __name__ = String.format("detach-hardvxlan-network-of-sdn-controller-%s", self.getName()); @@ -778,6 +833,7 @@ public void done(ErrorCodeList errorCodeList) { } }); } + // DEBT: NoRollbackFlow — in doDeletionSdnController }).then(new NoRollbackFlow() { String __name__ = "delete-sdn-network"; @@ -815,6 +871,7 @@ public void done(ErrorCodeList errorCodeList) { } }); } + // DEBT: NoRollbackFlow — reason TBD }).then(new NoRollbackFlow() { String __name__ = "remove-host-from-sdn-controller"; @Override @@ -855,6 +912,7 @@ public void done(ErrorCodeList errorCodeList) { } }); } + // DEBT: NoRollbackFlow — reason TBD }).then(new NoRollbackFlow() { String __name__ = String.format("delete-network-service"); @@ -881,6 +939,7 @@ public void done(ErrorCodeList errorCodeList) { } }); } + // DEBT: NoRollbackFlow — reason TBD }).then(new NoRollbackFlow() { String __name__ = String.format("delete-from-sdn-controller"); @@ -898,6 +957,7 @@ public void fail(ErrorCode errorCode) { } }); } + // DEBT: NoRollbackFlow — reason TBD }).then(new NoRollbackFlow() { String __name__ = "delete-sdn-controller-on-db"; @Override @@ -961,6 +1021,7 @@ private void handle(APIRemoveSdnControllerMsg msg) { FlowChain chain = FlowChainBuilder.newSimpleFlowChain(); chain.setName(String.format("delete-sdn-controller-%s-name-%s", msg.getUuid(), vo.getName())); if (msg.getDeletionMode() == APIDeleteMessage.DeletionMode.Permissive) { + // DEBT: NoRollbackFlow — in getName chain.then(new NoRollbackFlow() { @Override public void run(final FlowTrigger trigger, Map data) { @@ -976,6 +1037,7 @@ public void fail(ErrorCode errorCode) { } }); } + // DEBT: NoRollbackFlow — in getName }).then(new NoRollbackFlow() { @Override public void run(final FlowTrigger trigger, Map data) { @@ -993,6 +1055,7 @@ public void fail(ErrorCode errorCode) { } }); } else { + // DEBT: NoRollbackFlow — in getName chain.then(new NoRollbackFlow() { @Override public void run(final FlowTrigger trigger, Map data) { @@ -1111,6 +1174,7 @@ private void pullSdnControllerTenant(PullSdnControllerTenantMsg msg, Completion FlowChain chain = FlowChainBuilder.newSimpleFlowChain(); chain.setName(String.format("pull-tenant-for-h3c-sdn-%s", self.getUuid())); + // DEBT: NoRollbackFlow — in pullSdnControllerTenant chain.then(new NoRollbackFlow() { String __name__ = "pull-h3c-vds-tenant"; @@ -1135,6 +1199,7 @@ public void fail(ErrorCode errorCode) { trigger.fail(operr(ORG_ZSTACK_SDNCONTROLLER_10012, "Failed to pull tenant data: %s", e.getMessage())); } } + // DEBT: NoRollbackFlow — in pullSdnControllerTenant }).then(new NoRollbackFlow() { String __name__ = "pull-h3c-vni-ranges"; diff --git a/plugin/sdnController/src/main/java/org/zstack/sdnController/SdnControllerManagerImpl.java b/plugin/sdnController/src/main/java/org/zstack/sdnController/SdnControllerManagerImpl.java index 2368fbb95ae..84c19de80df 100644 --- a/plugin/sdnController/src/main/java/org/zstack/sdnController/SdnControllerManagerImpl.java +++ b/plugin/sdnController/src/main/java/org/zstack/sdnController/SdnControllerManagerImpl.java @@ -15,33 +15,65 @@ import org.zstack.header.core.Completion; import org.zstack.header.core.NoErrorCompletion; import org.zstack.header.core.WhileDoneCompletion; -import org.zstack.header.core.workflow.*; +import org.zstack.header.core.workflow.Flow; +import org.zstack.header.core.workflow.FlowChain; +import org.zstack.header.core.workflow.FlowDoneHandler; +import org.zstack.header.core.workflow.FlowErrorHandler; +import org.zstack.header.core.workflow.FlowRollback; +import org.zstack.header.core.workflow.FlowTrigger; +import org.zstack.header.core.workflow.NoRollbackFlow; import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.errorcode.ErrorCodeList; import org.zstack.header.exception.CloudRuntimeException; import org.zstack.header.message.Message; import org.zstack.header.message.MessageReply; import org.zstack.header.network.NetworkException; -import org.zstack.header.network.l2.*; -import org.zstack.header.network.l3.*; +import org.zstack.header.network.l2.APICreateL2NetworkMsg; +import org.zstack.header.network.l2.L2NetworkCreateExtensionPoint; +import org.zstack.header.network.l2.L2NetworkDeleteExtensionPoint; +import org.zstack.header.network.l2.L2NetworkException; +import org.zstack.header.network.l2.L2NetworkInventory; +import org.zstack.header.network.l2.L2NetworkVO; +import org.zstack.header.network.l2.VSwitchType; +import org.zstack.header.network.l3.AfterAddIpRangeExtensionPoint; +import org.zstack.header.network.l3.IpRangeDeletionExtensionPoint; +import org.zstack.header.network.l3.IpRangeInventory; import org.zstack.header.network.l3.L3NetworkInventory; import org.zstack.header.network.l3.L3NetworkVO; import org.zstack.header.network.l3.SdnControllerL3; -import org.zstack.header.network.sdncontroller.*; +import org.zstack.header.network.sdncontroller.SdnControllerConstant; +import org.zstack.header.network.sdncontroller.SdnControllerInventory; +import org.zstack.header.network.sdncontroller.SdnControllerMessage; +import org.zstack.header.network.sdncontroller.SdnControllerStatus; +import org.zstack.header.network.sdncontroller.SdnControllerVO; import org.zstack.header.network.service.GetSdnControllerExtensionPoint; import org.zstack.header.network.service.SdnControllerDhcp; -import org.zstack.header.vm.*; +import org.zstack.header.vm.InstantiateResourceOnAttachingNicExtensionPoint; +import org.zstack.header.vm.PreVmInstantiateResourceExtensionPoint; +import org.zstack.header.vm.ReleaseNetworkServiceOnDetachingNicExtensionPoint; +import org.zstack.header.vm.VmInstanceConstant; +import org.zstack.header.vm.VmInstanceSpec; +import org.zstack.header.vm.VmInstantiateResourceException; +import org.zstack.header.vm.VmNicInventory; +import org.zstack.header.vm.VmReleaseResourceExtensionPoint; import org.zstack.network.l2.L2NetworkSystemTags; import org.zstack.network.l3.L3NetworkHelper; import org.zstack.network.securitygroup.SecurityGroupGetSdnBackendExtensionPoint; import org.zstack.network.securitygroup.SecurityGroupManager; import org.zstack.network.securitygroup.SecurityGroupSdnBackend; -import org.zstack.sdnController.header.*; +import org.zstack.sdnController.header.APIAddSdnControllerEvent; +import org.zstack.sdnController.header.APIAddSdnControllerMsg; +import org.zstack.sdnController.header.AddSdnControllerMsg; +import org.zstack.sdnController.header.AddSdnControllerReply; import org.zstack.tag.TagManager; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; -import java.util.*; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; import static org.zstack.core.Platform.operr; import static org.zstack.utils.clouderrorcode.CloudOperationsErrorCode.*; @@ -132,6 +164,7 @@ private void doCreateSdnController(AddSdnControllerMsg msg, Completion completio chain.then(new ShareFlow() { @Override public void setup() { + // DEBT: NoRollbackFlow — in doCreateSdnController flow(new NoRollbackFlow() { String __name__ = String.format("pre-process-for-create-sdn-controller-%s", vo.getName()); @@ -199,6 +232,7 @@ public void rollback(FlowRollback trigger, Map data) { trigger.rollback(); } }); + // DEBT: NoRollbackFlow — in rollback flow(new NoRollbackFlow() { String __name__ = String.format("post-process-for-create-sdn-controller-%s", vo.getName()); diff --git a/plugin/sdnController/src/main/java/org/zstack/sdnController/SdnControllerPingTracker.java b/plugin/sdnController/src/main/java/org/zstack/sdnController/SdnControllerPingTracker.java index a959dee3005..053c59a4ad1 100644 --- a/plugin/sdnController/src/main/java/org/zstack/sdnController/SdnControllerPingTracker.java +++ b/plugin/sdnController/src/main/java/org/zstack/sdnController/SdnControllerPingTracker.java @@ -20,7 +20,7 @@ import org.zstack.header.network.sdncontroller.SdnControllerStatus; import org.zstack.header.network.sdncontroller.SdnControllerVO; import org.zstack.header.network.sdncontroller.SdnControllerVO_; -import org.zstack.sdnController.header.*; +import org.zstack.sdnController.header.ReconnectSdnControllerMsg; import org.zstack.utils.CollectionUtils; import org.zstack.utils.Utils; import org.zstack.utils.function.Function; diff --git a/plugin/sdnController/src/main/java/org/zstack/sdnController/SdnControllerType.java b/plugin/sdnController/src/main/java/org/zstack/sdnController/SdnControllerType.java index d313464ae3c..9519bbeb1bd 100644 --- a/plugin/sdnController/src/main/java/org/zstack/sdnController/SdnControllerType.java +++ b/plugin/sdnController/src/main/java/org/zstack/sdnController/SdnControllerType.java @@ -1,6 +1,10 @@ package org.zstack.sdnController; -import java.util.*; +import java.util.Collections; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Map; +import java.util.Set; public class SdnControllerType { private static Map types = Collections.synchronizedMap(new HashMap()); diff --git a/plugin/sdnController/src/main/java/org/zstack/sdnController/h3cVcfc/H3cVcfcApiInterceptor.java b/plugin/sdnController/src/main/java/org/zstack/sdnController/h3cVcfc/H3cVcfcApiInterceptor.java index da02b955ebc..02efe4770d1 100644 --- a/plugin/sdnController/src/main/java/org/zstack/sdnController/h3cVcfc/H3cVcfcApiInterceptor.java +++ b/plugin/sdnController/src/main/java/org/zstack/sdnController/h3cVcfc/H3cVcfcApiInterceptor.java @@ -10,8 +10,17 @@ import org.zstack.header.message.APIMessage; import org.zstack.header.network.l2.APIAttachL2NetworkToClusterMsg; import org.zstack.header.network.l2.APIDetachL2NetworkFromClusterMsg; -import org.zstack.header.network.l3.*; -import org.zstack.header.network.sdncontroller.*; +import org.zstack.header.network.l3.APIAddIpRangeByNetworkCidrMsg; +import org.zstack.header.network.l3.APIAddIpRangeMsg; +import org.zstack.header.network.l3.APIAddIpv6RangeByNetworkCidrMsg; +import org.zstack.header.network.l3.APIAddIpv6RangeMsg; +import org.zstack.header.network.l3.APICreateL3NetworkMsg; +import org.zstack.header.network.l3.L3NetworkCategory; +import org.zstack.header.network.sdncontroller.SdnControllerConstant; +import org.zstack.header.network.sdncontroller.SdnControllerInventory; +import org.zstack.header.network.sdncontroller.SdnControllerMessage; +import org.zstack.header.network.sdncontroller.SdnControllerStatus; +import org.zstack.header.network.sdncontroller.SdnControllerVO; import org.zstack.network.l2.L2NetworkSystemTags; import org.zstack.sdnController.header.HardwareL2VxlanNetworkPoolVO; import org.zstack.network.l2.vxlan.vxlanNetwork.APICreateL2VxlanNetworkMsg; @@ -21,7 +30,13 @@ import org.zstack.network.l3.L3NetworkHelper; import org.zstack.sdnController.SdnControllerL2; import org.zstack.sdnController.SdnControllerManager; -import org.zstack.sdnController.header.*; +import org.zstack.sdnController.header.APIAddSdnControllerMsg; +import org.zstack.sdnController.header.APICreateL2HardwareVxlanNetworkMsg; +import org.zstack.sdnController.header.APICreateL2HardwareVxlanNetworkPoolMsg; +import org.zstack.sdnController.header.APIRemoveSdnControllerMsg; +import org.zstack.sdnController.header.H3cSdnControllerTenantVO; +import org.zstack.sdnController.header.H3cSdnControllerTenantVO_; +import org.zstack.sdnController.header.SdnVniRange; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; diff --git a/plugin/sdnController/src/main/java/org/zstack/sdnController/h3cVcfc/H3cVcfcSdnController.java b/plugin/sdnController/src/main/java/org/zstack/sdnController/h3cVcfc/H3cVcfcSdnController.java index 7f2ffeb206b..b56448bf2ea 100644 --- a/plugin/sdnController/src/main/java/org/zstack/sdnController/h3cVcfc/H3cVcfcSdnController.java +++ b/plugin/sdnController/src/main/java/org/zstack/sdnController/h3cVcfc/H3cVcfcSdnController.java @@ -10,23 +10,46 @@ import org.zstack.core.db.DatabaseFacade; import org.zstack.core.workflow.FlowChainBuilder; import org.zstack.header.core.Completion; -import org.zstack.header.core.workflow.*; +import org.zstack.header.core.workflow.FlowChain; +import org.zstack.header.core.workflow.FlowDoneHandler; +import org.zstack.header.core.workflow.FlowErrorHandler; +import org.zstack.header.core.workflow.FlowTrigger; +import org.zstack.header.core.workflow.NoRollbackFlow; import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.message.Message; import org.zstack.header.network.l2.APICreateL2NetworkMsg; import org.zstack.header.network.l2.L2NetworkInventory; -import org.zstack.header.network.l3.*; -import org.zstack.header.network.sdncontroller.*; +import org.zstack.header.network.l3.SdnControllerDisableDHCPMsg; +import org.zstack.header.network.l3.SdnControllerDisableDHCPReply; +import org.zstack.header.network.l3.SdnControllerEnableDHCPMsg; +import org.zstack.header.network.l3.SdnControllerEnableDHCPReply; +import org.zstack.header.network.l3.SdnControllerUpdateDHCPMsg; +import org.zstack.header.network.l3.SdnControllerUpdateDHCPReply; +import org.zstack.header.network.sdncontroller.SdnControllerConstant; +import org.zstack.header.network.sdncontroller.SdnControllerDeletionMsg; +import org.zstack.header.network.sdncontroller.SdnControllerInventory; +import org.zstack.header.network.sdncontroller.SdnControllerMessage; +import org.zstack.header.network.sdncontroller.SdnControllerVO; import org.zstack.header.rest.RESTFacade; import org.zstack.network.l2.vxlan.vxlanNetwork.L2VxlanNetworkInventory; import org.zstack.network.l2.vxlan.vxlanNetwork.VxlanNetworkVO; -import org.zstack.sdnController.*; -import org.zstack.sdnController.header.*; +import org.zstack.sdnController.SdnController; +import org.zstack.sdnController.SdnControllerL2; +import org.zstack.sdnController.SdnControllerLog; +import org.zstack.sdnController.SdnControllerPingMsg; +import org.zstack.sdnController.SdnControllerPingReply; +import org.zstack.sdnController.SdnControllerSystemTags; +import org.zstack.sdnController.header.AddSdnControllerMsg; +import org.zstack.sdnController.header.SdnVlanRange; +import org.zstack.sdnController.header.SdnVniRange; import org.zstack.tag.SystemTagCreator; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; -import java.util.*; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; import static org.zstack.core.Platform.operr; import static org.zstack.utils.CollectionDSL.e; @@ -165,6 +188,7 @@ private void getH3cDefaultTenant(Completion completion) { private void getH3cParameters(AddSdnControllerMsg msg, Completion completion) { FlowChain chain = FlowChainBuilder.newSimpleFlowChain(); chain.setName(String.format("get-h3c-parameters-%s", self.getIp())); + // DEBT: NoRollbackFlow — in getH3cParameters chain.then(new NoRollbackFlow() { String __name__ = "get_h3c_vni_ranges"; @@ -183,6 +207,7 @@ public void fail(ErrorCode errorCode) { }); } + // DEBT: NoRollbackFlow — in getH3cParameters }).then(new NoRollbackFlow() { String __name__ = "get_h3c_default_tenant"; diff --git a/plugin/sdnController/src/main/java/org/zstack/sdnController/h3cVcfc/H3cVcfcSdnControllerFactory.java b/plugin/sdnController/src/main/java/org/zstack/sdnController/h3cVcfc/H3cVcfcSdnControllerFactory.java index 2d297ca518c..d1856c2a5fc 100644 --- a/plugin/sdnController/src/main/java/org/zstack/sdnController/h3cVcfc/H3cVcfcSdnControllerFactory.java +++ b/plugin/sdnController/src/main/java/org/zstack/sdnController/h3cVcfc/H3cVcfcSdnControllerFactory.java @@ -7,7 +7,8 @@ import org.zstack.network.securitygroup.SecurityGroupSdnBackend; import org.zstack.sdnController.SdnController; import org.zstack.sdnController.SdnControllerFactory; -import org.zstack.sdnController.*; +import org.zstack.sdnController.SdnControllerL2; +import org.zstack.sdnController.SdnControllerType; public class H3cVcfcSdnControllerFactory implements SdnControllerFactory { SdnControllerType sdnControllerType = new SdnControllerType(SdnControllerConstant.H3C_VCFC_CONTROLLER); diff --git a/plugin/sdnController/src/main/java/org/zstack/sdnController/h3cVcfc/H3cVcfcV2SdnController.java b/plugin/sdnController/src/main/java/org/zstack/sdnController/h3cVcfc/H3cVcfcV2SdnController.java index 261f2d43bc0..fa5f8bcd3d7 100644 --- a/plugin/sdnController/src/main/java/org/zstack/sdnController/h3cVcfc/H3cVcfcV2SdnController.java +++ b/plugin/sdnController/src/main/java/org/zstack/sdnController/h3cVcfc/H3cVcfcV2SdnController.java @@ -9,7 +9,11 @@ import org.zstack.core.db.Q; import org.zstack.core.workflow.FlowChainBuilder; import org.zstack.header.core.Completion; -import org.zstack.header.core.workflow.*; +import org.zstack.header.core.workflow.FlowChain; +import org.zstack.header.core.workflow.FlowDoneHandler; +import org.zstack.header.core.workflow.FlowErrorHandler; +import org.zstack.header.core.workflow.FlowTrigger; +import org.zstack.header.core.workflow.NoRollbackFlow; import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.network.l2.APICreateL2NetworkMsg; import org.zstack.header.network.l2.L2NetworkInventory; @@ -21,12 +25,21 @@ import org.zstack.network.l2.vxlan.vxlanNetwork.VxlanNetworkVO; import org.zstack.sdnController.SdnControllerLog; import org.zstack.sdnController.SdnControllerSystemTags; -import org.zstack.sdnController.header.*; +import org.zstack.sdnController.header.APICreateL2HardwareVxlanNetworkMsg; +import org.zstack.sdnController.header.AddSdnControllerMsg; +import org.zstack.sdnController.header.H3cSdnControllerTenantVO; +import org.zstack.sdnController.header.H3cSdnControllerTenantVO_; +import org.zstack.sdnController.header.H3cSdnSubnetIpRangeRefVO; +import org.zstack.sdnController.header.H3cSdnSubnetIpRangeRefVO_; import org.zstack.tag.SystemTagCreator; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; -import java.util.*; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.UUID; import java.util.stream.Collectors; import static org.codehaus.groovy.runtime.InvokerHelper.asList; @@ -339,6 +352,7 @@ public void getH3cVniRanges(Completion completion) { private void getH3cParameters(AddSdnControllerMsg msg, Completion completion) { FlowChain chain = FlowChainBuilder.newSimpleFlowChain(); chain.setName(String.format("get-h3c-parameters-%s", self.getIp())); + // DEBT: NoRollbackFlow — in getH3cParameters chain.then(new NoRollbackFlow() { String __name__ = "get_h3c_controller_token"; @@ -356,6 +370,7 @@ public void fail(ErrorCode errorCode) { } }); } + // DEBT: NoRollbackFlow — in getH3cParameters }).then(new NoRollbackFlow() { String __name__ = "get_h3c_vni_ranges"; diff --git a/plugin/sdnController/src/main/java/org/zstack/sdnController/hardwareVxlan/HardwareVxlanNetwork.java b/plugin/sdnController/src/main/java/org/zstack/sdnController/hardwareVxlan/HardwareVxlanNetwork.java index 16a9d06767b..3d19e30a6fb 100644 --- a/plugin/sdnController/src/main/java/org/zstack/sdnController/hardwareVxlan/HardwareVxlanNetwork.java +++ b/plugin/sdnController/src/main/java/org/zstack/sdnController/hardwareVxlan/HardwareVxlanNetwork.java @@ -6,20 +6,40 @@ import org.zstack.core.db.Q; import org.zstack.core.workflow.FlowChainBuilder; import org.zstack.header.core.Completion; -import org.zstack.header.core.workflow.*; +import org.zstack.header.core.workflow.FlowChain; +import org.zstack.header.core.workflow.FlowDoneHandler; +import org.zstack.header.core.workflow.FlowErrorHandler; +import org.zstack.header.core.workflow.FlowTrigger; +import org.zstack.header.core.workflow.NoRollbackFlow; import org.zstack.header.errorcode.ErrorCode; -import org.zstack.header.host.*; -import org.zstack.header.network.l2.*; +import org.zstack.header.host.HostInventory; +import org.zstack.header.host.HostState; +import org.zstack.header.host.HostStatus; +import org.zstack.header.host.HostVO; +import org.zstack.header.host.HostVO_; +import org.zstack.header.host.HypervisorType; +import org.zstack.header.network.l2.APICreateL2NetworkMsg; +import org.zstack.header.network.l2.DetachL2NetworkFromClusterMsg; +import org.zstack.header.network.l2.L2NetworkClusterRefVO; +import org.zstack.header.network.l2.L2NetworkClusterRefVO_; +import org.zstack.header.network.l2.L2NetworkRealizationExtensionPoint; +import org.zstack.header.network.l2.L2NetworkType; +import org.zstack.header.network.l2.L2NetworkVO; +import org.zstack.header.network.l2.VSwitchType; import org.zstack.header.network.sdncontroller.SdnControllerConstant; import org.zstack.sdnController.header.HardwareL2VxlanNetworkPoolVO; import org.zstack.header.network.sdncontroller.SdnControllerVO; -import org.zstack.network.l2.vxlan.vxlanNetwork.*; +import org.zstack.network.l2.vxlan.vxlanNetwork.L2VxlanNetworkInventory; +import org.zstack.network.l2.vxlan.vxlanNetwork.VxlanNetwork; +import org.zstack.network.l2.vxlan.vxlanNetwork.VxlanNetworkVO; import org.zstack.sdnController.SdnControllerL2; import org.zstack.sdnController.SdnControllerManager; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; -import java.util.*; +import java.util.Iterator; +import java.util.List; +import java.util.Map; import static java.util.Arrays.asList; import static org.zstack.core.Platform.argerr; @@ -72,6 +92,7 @@ private void realizeNetwork(String hostUuid, String htype, L2VxlanNetworkInvento public void attachL2NetworkToHosts(L2VxlanNetworkInventory vxlan, List hvinvs, Completion completion) { FlowChain chain = FlowChainBuilder.newSimpleFlowChain(); chain.setName(String.format("attach-hardware-vxlan-%s-on-hosts", vxlan.getUuid())); + // DEBT: NoRollbackFlow — in attachL2NetworkToHosts chain.then(new NoRollbackFlow() { final String __name__ = "realize-physical-interface"; @@ -135,6 +156,7 @@ public void attachL2NetworkToCluster(L2VxlanNetworkInventory vxlan, APICreateL2N public void deleteHook(Completion completion) { FlowChain chain = FlowChainBuilder.newSimpleFlowChain(); chain.setName(String.format("delete-hardware-vxlan")); + // DEBT: NoRollbackFlow — in deleteHook chain.then(new NoRollbackFlow() { final String __name__ = "delete-hardware-vxlan-from-sdn"; @@ -152,6 +174,7 @@ public void fail(ErrorCode errorCode) { } }); } + // DEBT: NoRollbackFlow — in deleteHook }).then(new NoRollbackFlow() { @Override public void run(FlowTrigger trigger, Map data) { @@ -185,6 +208,7 @@ public void handle(ErrorCode errCode, Map data) { protected void deleteL2Bridge(List clusterUuids, Completion completion) { FlowChain chain = FlowChainBuilder.newSimpleFlowChain(); chain.setName(String.format("detach-hardware-vxlan")); + // DEBT: NoRollbackFlow — in deleteL2Bridge chain.then(new NoRollbackFlow() { final String __name__ = "detach-hardware-vxlan-from-sdn"; @@ -207,6 +231,7 @@ public void fail(ErrorCode errorCode) { } }); } + // DEBT: NoRollbackFlow — in deleteL2Bridge }).then(new NoRollbackFlow() { final String __name__ = "detach-hardware-vxlan-from-host"; diff --git a/plugin/sdnController/src/main/java/org/zstack/sdnController/hardwareVxlan/HardwareVxlanNetworkFactory.java b/plugin/sdnController/src/main/java/org/zstack/sdnController/hardwareVxlan/HardwareVxlanNetworkFactory.java index e88f0dd1178..29a67296430 100644 --- a/plugin/sdnController/src/main/java/org/zstack/sdnController/hardwareVxlan/HardwareVxlanNetworkFactory.java +++ b/plugin/sdnController/src/main/java/org/zstack/sdnController/hardwareVxlan/HardwareVxlanNetworkFactory.java @@ -12,7 +12,13 @@ import org.zstack.header.core.Completion; import org.zstack.header.core.ReturnValueCompletion; import org.zstack.header.core.WhileDoneCompletion; -import org.zstack.header.core.workflow.*; +import org.zstack.header.core.workflow.Flow; +import org.zstack.header.core.workflow.FlowChain; +import org.zstack.header.core.workflow.FlowDoneHandler; +import org.zstack.header.core.workflow.FlowErrorHandler; +import org.zstack.header.core.workflow.FlowRollback; +import org.zstack.header.core.workflow.FlowTrigger; +import org.zstack.header.core.workflow.NoRollbackFlow; import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.errorcode.ErrorCodeList; import org.zstack.header.host.HostInventory; @@ -20,7 +26,18 @@ import org.zstack.header.host.HostVO_; import org.zstack.header.identity.AccountVO; import org.zstack.header.message.MessageReply; -import org.zstack.header.network.l2.*; +import org.zstack.header.network.l2.APICreateL2NetworkMsg; +import org.zstack.header.network.l2.L2Network; +import org.zstack.header.network.l2.L2NetworkClusterRefVO; +import org.zstack.header.network.l2.L2NetworkClusterRefVO_; +import org.zstack.header.network.l2.L2NetworkConstant; +import org.zstack.header.network.l2.L2NetworkFactory; +import org.zstack.header.network.l2.L2NetworkGetVniExtensionPoint; +import org.zstack.header.network.l2.L2NetworkInventory; +import org.zstack.header.network.l2.L2NetworkType; +import org.zstack.header.network.l2.L2NetworkVO; +import org.zstack.header.network.l2.L2NetworkVO_; +import org.zstack.header.network.l2.PrepareL2NetworkOnHostMsg; import org.zstack.header.network.l3.L3NetworkVO; import org.zstack.header.network.l3.L3NetworkVO_; import org.zstack.header.network.sdncontroller.SdnControllerConstant; @@ -42,7 +59,10 @@ import org.zstack.resourceconfig.ResourceConfigFacade; import org.zstack.sdnController.SdnControllerL2; import org.zstack.sdnController.SdnControllerManager; -import org.zstack.sdnController.header.*; +import org.zstack.sdnController.header.APICreateL2HardwareVxlanNetworkMsg; +import org.zstack.sdnController.header.HardwareL2VxlanNetworkInventory; +import org.zstack.sdnController.header.HardwareL2VxlanNetworkVO; +import org.zstack.sdnController.header.HardwareVxlanHelper; import org.zstack.tag.SystemTagCreator; import org.zstack.tag.TagManager; import org.zstack.utils.Utils; @@ -113,6 +133,7 @@ public void createL2Network(L2NetworkVO ovo, APICreateL2NetworkMsg msg, ReturnVa chain.then(new ShareFlow(){ @Override public void setup() { + // DEBT: NoRollbackFlow — in createL2Network flow(new NoRollbackFlow() { String __name__ = String.format("pre-process-for-create-hardware-vxlan-network-%s", msg.getName()); @@ -212,6 +233,7 @@ public void fail(ErrorCode errorCode) { }); } }); + // DEBT: NoRollbackFlow — in rollback flow(new NoRollbackFlow() { String __name__ = String.format("post-process-for-create-sdn-controller--%s", msg.getName()); @@ -232,6 +254,7 @@ public void fail(ErrorCode errorCode) { }); } }); + // DEBT: NoRollbackFlow — in rollback flow(new NoRollbackFlow() { String __name__ = String.format("pre-process-for-attach-hardware-vxlan-on-host-%s", msg.getName()); @@ -322,6 +345,7 @@ public void fail(ErrorCode errorCode) { }); } }); + // DEBT: NoRollbackFlow — in rollback flow(new NoRollbackFlow() { String __name__ = String.format("post-process-for-attach-hardware-vxlan-on-host-%s", msg.getName()); diff --git a/plugin/sdnController/src/main/java/org/zstack/sdnController/hardwareVxlan/HardwareVxlanNetworkPool.java b/plugin/sdnController/src/main/java/org/zstack/sdnController/hardwareVxlan/HardwareVxlanNetworkPool.java index 933c8055564..e04b02d9236 100644 --- a/plugin/sdnController/src/main/java/org/zstack/sdnController/hardwareVxlan/HardwareVxlanNetworkPool.java +++ b/plugin/sdnController/src/main/java/org/zstack/sdnController/hardwareVxlan/HardwareVxlanNetworkPool.java @@ -9,19 +9,30 @@ import org.zstack.core.workflow.FlowChainBuilder; import org.zstack.header.core.Completion; import org.zstack.header.core.WhileDoneCompletion; -import org.zstack.header.core.workflow.*; +import org.zstack.header.core.workflow.FlowChain; +import org.zstack.header.core.workflow.FlowDoneHandler; +import org.zstack.header.core.workflow.FlowErrorHandler; +import org.zstack.header.core.workflow.FlowTrigger; +import org.zstack.header.core.workflow.NoRollbackFlow; import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.errorcode.ErrorCodeList; import org.zstack.header.exception.CloudRuntimeException; import org.zstack.header.host.HostConstant; import org.zstack.header.host.HostInventory; import org.zstack.header.message.MessageReply; -import org.zstack.header.network.l2.*; -import org.zstack.network.l2.vxlan.vtep.*; +import org.zstack.header.network.l2.APIDetachL2NetworkFromClusterMsg; +import org.zstack.header.network.l2.CheckNetworkPhysicalInterfaceMsg; +import org.zstack.header.network.l2.DeleteL2NetworkMsg; +import org.zstack.header.network.l2.L2NetworkConstant; +import org.zstack.header.network.l2.L2NetworkVO; +import org.zstack.network.l2.vxlan.vtep.APICreateVxlanVtepMsg; +import org.zstack.network.l2.vxlan.vtep.CreateVtepMsg; +import org.zstack.network.l2.vxlan.vtep.DeleteVtepMsg; +import org.zstack.network.l2.vxlan.vtep.PopulateVtepPeersMsg; import org.zstack.network.l2.vxlan.vxlanNetwork.L2VxlanNetworkInventory; import org.zstack.network.l2.vxlan.vxlanNetwork.VxlanNetworkVO; import org.zstack.network.l2.vxlan.vxlanNetwork.VxlanNetworkVO_; -import org.zstack.network.l2.vxlan.vxlanNetworkPool.*; +import org.zstack.network.l2.vxlan.vxlanNetworkPool.VxlanNetworkPool; import org.zstack.sdnController.SdnControllerFactory; import org.zstack.sdnController.SdnControllerL2; import org.zstack.sdnController.SdnControllerManager; @@ -31,7 +42,9 @@ import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; -import java.util.*; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; import static org.zstack.core.Platform.operr; import static org.zstack.utils.clouderrorcode.CloudOperationsErrorCode.*; @@ -97,6 +110,7 @@ public void prepareL2NetworkOnHosts(final String l2NetworkUuid, final List it, final HostInv final L2NetworkInventory l2 = it.next(); FlowChain chain = FlowChainBuilder.newSimpleFlowChain(); chain.setName(String.format("prepare-hareware-vxlan-%s-for-kvm-%s-connect", l2.getUuid(), host.getUuid())); + // DEBT: NoRollbackFlow — in prepareNetwork chain.then(new NoRollbackFlow() { @Override public void run(final FlowTrigger trigger, Map data) { @@ -85,6 +95,7 @@ public void run(MessageReply reply) { } }); + // DEBT: NoRollbackFlow — in prepareNetwork chain.then(new NoRollbackFlow() { @Override public void run(final FlowTrigger trigger, Map data) { @@ -138,6 +149,7 @@ public HypervisorType getHypervisorTypeForReestablishExtensionPoint() { @Override public Flow createKvmHostConnectingFlow(final KVMHostConnectedContext context) { + // DEBT: NoRollbackFlow — in createKvmHostConnectingFlow return new NoRollbackFlow() { String __name__ = "prepare-hardware-vxlan-network"; diff --git a/plugin/sdnController/src/main/java/org/zstack/sdnController/hardwareVxlan/KVMRealizeHardwareVxlanNetworkBackend.java b/plugin/sdnController/src/main/java/org/zstack/sdnController/hardwareVxlan/KVMRealizeHardwareVxlanNetworkBackend.java index e886764f4e9..b285e2bbef6 100644 --- a/plugin/sdnController/src/main/java/org/zstack/sdnController/hardwareVxlan/KVMRealizeHardwareVxlanNetworkBackend.java +++ b/plugin/sdnController/src/main/java/org/zstack/sdnController/hardwareVxlan/KVMRealizeHardwareVxlanNetworkBackend.java @@ -11,19 +11,31 @@ import org.zstack.header.host.HostVO; import org.zstack.header.host.HypervisorType; import org.zstack.header.message.MessageReply; -import org.zstack.header.network.l2.*; +import org.zstack.header.network.l2.L2NetworkConstant; +import org.zstack.header.network.l2.L2NetworkInventory; +import org.zstack.header.network.l2.L2NetworkRealizationExtensionPoint; +import org.zstack.header.network.l2.L2NetworkType; +import org.zstack.header.network.l2.VSwitchType; import org.zstack.header.network.l3.L3NetworkInventory; import org.zstack.header.network.sdncontroller.SdnControllerConstant; import org.zstack.header.vm.VmInstanceVO; import org.zstack.header.vm.VmNicInventory; -import org.zstack.kvm.*; +import org.zstack.kvm.KVMAgentCommands; +import org.zstack.kvm.KVMCompleteNicInformationExtensionPoint; +import org.zstack.kvm.KVMConstant; +import org.zstack.kvm.KVMHostAsyncHttpCallMsg; +import org.zstack.kvm.KVMHostAsyncHttpCallReply; +import org.zstack.kvm.KVMHostUtils; +import org.zstack.kvm.KVMSystemTags; import org.zstack.kvm.KVMAgentCommands.CheckVlanBridgeResponse; import org.zstack.kvm.KVMAgentCommands.CreateVlanBridgeCmd; import org.zstack.kvm.KVMAgentCommands.CreateVlanBridgeResponse; import org.zstack.kvm.KVMAgentCommands.NicTO; import org.zstack.network.l2.L2NetworkManager; import org.zstack.network.service.MtuGetter; -import org.zstack.sdnController.header.*; +import org.zstack.sdnController.header.HardwareL2VxlanNetworkInventory; +import org.zstack.sdnController.header.HardwareL2VxlanNetworkVO; +import org.zstack.sdnController.header.HardwareVxlanHelper; import org.zstack.tag.SystemTagCreator; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; diff --git a/plugin/sdnController/src/main/java/org/zstack/sdnController/hardwareVxlan/KVMRealizeHardwareVxlanPoolNetworkBackend.java b/plugin/sdnController/src/main/java/org/zstack/sdnController/hardwareVxlan/KVMRealizeHardwareVxlanPoolNetworkBackend.java index 9c73c852308..67fdc856a89 100644 --- a/plugin/sdnController/src/main/java/org/zstack/sdnController/hardwareVxlan/KVMRealizeHardwareVxlanPoolNetworkBackend.java +++ b/plugin/sdnController/src/main/java/org/zstack/sdnController/hardwareVxlan/KVMRealizeHardwareVxlanPoolNetworkBackend.java @@ -10,7 +10,13 @@ import org.zstack.header.host.HostConstant; import org.zstack.header.host.HypervisorType; import org.zstack.header.message.MessageReply; -import org.zstack.header.network.l2.*; +import org.zstack.header.network.l2.CheckNetworkPhysicalInterfaceMsg; +import org.zstack.header.network.l2.CheckNetworkPhysicalInterfaceReply; +import org.zstack.header.network.l2.L2NetworkConstant; +import org.zstack.header.network.l2.L2NetworkInventory; +import org.zstack.header.network.l2.L2NetworkRealizationExtensionPoint; +import org.zstack.header.network.l2.L2NetworkType; +import org.zstack.header.network.l2.VSwitchType; import org.zstack.header.network.l3.L3NetworkInventory; import org.zstack.header.rest.RESTFacade; import org.zstack.header.vm.VmNicInventory; diff --git a/plugin/sdnController/src/main/java/org/zstack/sdnController/header/APIAddSdnControllerMsg.java b/plugin/sdnController/src/main/java/org/zstack/sdnController/header/APIAddSdnControllerMsg.java index 2f544dd627a..e7e15417c47 100644 --- a/plugin/sdnController/src/main/java/org/zstack/sdnController/header/APIAddSdnControllerMsg.java +++ b/plugin/sdnController/src/main/java/org/zstack/sdnController/header/APIAddSdnControllerMsg.java @@ -3,7 +3,10 @@ import org.springframework.http.HttpMethod; import org.zstack.header.identity.Action; import org.zstack.header.log.NoLogging; -import org.zstack.header.message.*; +import org.zstack.header.message.APICreateMessage; +import org.zstack.header.message.APIEvent; +import org.zstack.header.message.APIMessage; +import org.zstack.header.message.APIParam; import org.zstack.header.network.sdncontroller.SdnControllerConstant; import org.zstack.header.network.sdncontroller.SdnControllerVO; import org.zstack.header.other.APIAuditor; diff --git a/plugin/sdnController/src/main/java/org/zstack/sdnController/header/HardwareL2VxlanNetworkPoolInventory.java b/plugin/sdnController/src/main/java/org/zstack/sdnController/header/HardwareL2VxlanNetworkPoolInventory.java index 2ede24d3e76..abee90b7247 100644 --- a/plugin/sdnController/src/main/java/org/zstack/sdnController/header/HardwareL2VxlanNetworkPoolInventory.java +++ b/plugin/sdnController/src/main/java/org/zstack/sdnController/header/HardwareL2VxlanNetworkPoolInventory.java @@ -12,9 +12,12 @@ import org.zstack.network.l2.vxlan.vxlanNetwork.L2VxlanNetworkInventory; import org.zstack.network.l2.vxlan.vxlanNetwork.VxlanNetworkVO; import org.zstack.network.l2.vxlan.vxlanNetwork.VxlanNetworkVO_; -import org.zstack.network.l2.vxlan.vxlanNetworkPool.*; +import org.zstack.network.l2.vxlan.vxlanNetworkPool.L2VxlanNetworkPoolInventory; +import org.zstack.network.l2.vxlan.vxlanNetworkPool.VniRangeInventory; -import java.util.*; +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; @PythonClassInventory @Inventory(mappingVOClass = HardwareL2VxlanNetworkPoolVO.class, collectionValueOfMethod = "valueOf2", diff --git a/plugin/sdnController/src/main/java/org/zstack/sdnController/header/VxlanClusterMappingInventory.java b/plugin/sdnController/src/main/java/org/zstack/sdnController/header/VxlanClusterMappingInventory.java index d5fe20f6018..fffa3be6ad9 100644 --- a/plugin/sdnController/src/main/java/org/zstack/sdnController/header/VxlanClusterMappingInventory.java +++ b/plugin/sdnController/src/main/java/org/zstack/sdnController/header/VxlanClusterMappingInventory.java @@ -5,7 +5,11 @@ import java.io.Serializable; import java.sql.Timestamp; -import java.util.*; +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; +import java.util.Map; +import java.util.Optional; @PythonClassInventory @Inventory(mappingVOClass = VxlanClusterMappingVO.class, collectionValueOfMethod = "valueOf1") diff --git a/plugin/sdnController/src/main/java/org/zstack/sdnController/header/VxlanHostMappingInventory.java b/plugin/sdnController/src/main/java/org/zstack/sdnController/header/VxlanHostMappingInventory.java index 45465c4a32f..9d87095a015 100644 --- a/plugin/sdnController/src/main/java/org/zstack/sdnController/header/VxlanHostMappingInventory.java +++ b/plugin/sdnController/src/main/java/org/zstack/sdnController/header/VxlanHostMappingInventory.java @@ -5,7 +5,11 @@ import java.io.Serializable; import java.sql.Timestamp; -import java.util.*; +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; +import java.util.Map; +import java.util.Optional; @PythonClassInventory @Inventory(mappingVOClass = VxlanHostMappingVO.class, collectionValueOfMethod = "valueOf1") diff --git a/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/SecurityGroupCascadeExtension.java b/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/SecurityGroupCascadeExtension.java index b21fe374a7a..e2042c5bcca 100755 --- a/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/SecurityGroupCascadeExtension.java +++ b/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/SecurityGroupCascadeExtension.java @@ -28,7 +28,8 @@ import org.zstack.utils.function.Function; import org.zstack.utils.logging.CLogger; -import java.util.*; +import java.util.Arrays; +import java.util.List; import java.util.stream.Collectors; /** diff --git a/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/SecurityGroupInventory.java b/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/SecurityGroupInventory.java index f99064771d2..ab53c07ac7e 100755 --- a/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/SecurityGroupInventory.java +++ b/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/SecurityGroupInventory.java @@ -1,14 +1,22 @@ package org.zstack.network.securitygroup; import org.zstack.header.configuration.PythonClassInventory; -import org.zstack.header.query.*; +import org.zstack.header.query.ExpandedQueries; +import org.zstack.header.query.ExpandedQuery; +import org.zstack.header.query.ExpandedQueryAlias; +import org.zstack.header.query.ExpandedQueryAliases; +import org.zstack.header.query.Queryable; import org.zstack.header.rest.APINoSee; import org.zstack.header.search.Inventory; import javax.persistence.Column; import javax.persistence.JoinColumn; import java.sql.Timestamp; -import java.util.*; +import java.util.ArrayList; +import java.util.Collection; +import java.util.HashSet; +import java.util.List; +import java.util.Set; /** * @inventory * inventory for security group diff --git a/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/SecurityGroupManagerImpl.java b/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/SecurityGroupManagerImpl.java index 8e660f52d1c..81817b20aef 100755 --- a/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/SecurityGroupManagerImpl.java +++ b/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/SecurityGroupManagerImpl.java @@ -17,7 +17,12 @@ import org.zstack.core.componentloader.PluginRegistry; import org.zstack.core.config.GlobalConfig; import org.zstack.core.config.GlobalConfigUpdateExtensionPoint; -import org.zstack.core.db.*; +import org.zstack.core.db.DatabaseFacade; +import org.zstack.core.db.DbEntityLister; +import org.zstack.core.db.Q; +import org.zstack.core.db.SQL; +import org.zstack.core.db.SQLBatchWithReturn; +import org.zstack.core.db.SimpleQuery; import org.zstack.core.db.SimpleQuery.Op; import org.zstack.core.defer.Defer; import org.zstack.core.defer.Deferred; @@ -34,7 +39,11 @@ import org.zstack.header.core.Completion; import org.zstack.header.core.NopeCompletion; import org.zstack.header.core.WhileDoneCompletion; -import org.zstack.header.core.workflow.*; +import org.zstack.header.core.workflow.FlowChain; +import org.zstack.header.core.workflow.FlowDoneHandler; +import org.zstack.header.core.workflow.FlowErrorHandler; +import org.zstack.header.core.workflow.FlowTrigger; +import org.zstack.header.core.workflow.NoRollbackFlow; import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.errorcode.ErrorCodeList; import org.zstack.header.errorcode.OperationFailureException; @@ -56,13 +65,28 @@ import org.zstack.header.network.l2.L2NetworkConstant; import org.zstack.header.network.l2.SdnControllerDeleteExtensionPoint; import org.zstack.header.network.l2.VSwitchType; -import org.zstack.header.network.l3.*; +import org.zstack.header.network.l3.IpRangeInventory; +import org.zstack.header.network.l3.L3NetworkInventory; +import org.zstack.header.network.l3.L3NetworkVO; +import org.zstack.header.network.l3.UsedIpVO; +import org.zstack.header.network.l3.UsedIpVO_; import org.zstack.header.network.service.NetworkServiceL3NetworkRefVO; import org.zstack.header.network.service.NetworkServiceL3NetworkRefVO_; import org.zstack.header.query.AddExpandedQueryExtensionPoint; import org.zstack.header.query.ExpandedQueryAliasStruct; import org.zstack.header.query.ExpandedQueryStruct; -import org.zstack.header.vm.*; +import org.zstack.header.vm.AddVmNicToSecurityGroupMsg; +import org.zstack.header.vm.AddVmNicToSecurityGroupReply; +import org.zstack.header.vm.ValidateL3SecurityGroupExtensionPoint; +import org.zstack.header.vm.VmInstanceConstant; +import org.zstack.header.vm.VmInstanceInventory; +import org.zstack.header.vm.VmInstanceMigrateExtensionPoint; +import org.zstack.header.vm.VmInstanceState; +import org.zstack.header.vm.VmInstanceVO; +import org.zstack.header.vm.VmInstanceVO_; +import org.zstack.header.vm.VmNicInventory; +import org.zstack.header.vm.VmNicVO; +import org.zstack.header.vm.VmNicVO_; import org.zstack.identity.AccountManager; import org.zstack.identity.QuotaUtil; import org.zstack.network.l3.IpRangeHelper; @@ -84,7 +108,16 @@ import javax.persistence.Query; import javax.persistence.Tuple; import javax.persistence.TypedQuery; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; +import java.util.Collections; +import java.util.Comparator; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; import java.util.concurrent.Future; import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; @@ -1158,6 +1191,7 @@ private void setVmNicSecurityGroup(APISetVmNicSecurityGroupMsg msg, Completion c chain.then(new ShareFlow() { @Override public void setup() { + // DEBT: NoRollbackFlow — in setVmNicSecurityGroup flow(new NoRollbackFlow() { String __name__ = "set-vm-nic-security-group-in-db"; @@ -1225,6 +1259,7 @@ public void run(FlowTrigger trigger, Map data) { } }); + // DEBT: NoRollbackFlow — reason TBD flow(new NoRollbackFlow() { String __name__ = "apply-rules-on-hosts"; @@ -1244,6 +1279,7 @@ public void run(FlowTrigger trigger, Map data) { } }); + // DEBT: NoRollbackFlow — reason TBD flow(new NoRollbackFlow() { String __name__ = "update-group-members"; @@ -1270,6 +1306,7 @@ public void run(FlowTrigger trigger, Map data) { } }); + // DEBT: NoRollbackFlow — reason TBD flow(new NoRollbackFlow() { String __name__ = "update-sdn-controller"; @@ -1358,6 +1395,7 @@ private void doChangeSecurityGroupRuleState(APIChangeSecurityGroupRuleStateMsg m chain.then(new ShareFlow() { @Override public void setup() { + // DEBT: NoRollbackFlow — in doChangeSecurityGroupRuleState flow(new NoRollbackFlow() { String __name__ = "change-security-group-rule-state-in-db"; @@ -1377,6 +1415,7 @@ public void run(FlowTrigger trigger, Map data) { } }); + // DEBT: NoRollbackFlow — in doChangeSecurityGroupRuleState flow(new NoRollbackFlow() { String __name__ = "apply-rules-on-hosts"; @@ -1396,6 +1435,7 @@ public void run(FlowTrigger trigger, Map data) { } }); + // DEBT: NoRollbackFlow — in doChangeSecurityGroupRuleState flow(new NoRollbackFlow() { String __name__ = "apply-rules-on-hosts"; @@ -1534,6 +1574,7 @@ private void doUpdateSecurityGroupRulePriority(APIUpdateSecurityGroupRulePriorit chain.then(new ShareFlow() { @Override public void setup() { + // DEBT: NoRollbackFlow — in doUpdateSecurityGroupRulePriority flow(new NoRollbackFlow() { String __name__ = "update-security-group-rule-in-db"; @@ -1564,6 +1605,7 @@ public void run(FlowTrigger trigger, Map data) { } }); + // DEBT: NoRollbackFlow — in doUpdateSecurityGroupRulePriority flow(new NoRollbackFlow() { String __name__ = "apply-rules-on-hosts"; @@ -1584,6 +1626,7 @@ public void run(FlowTrigger trigger, Map data) { } }); + // DEBT: NoRollbackFlow — reason TBD flow(new NoRollbackFlow() { String __name__ = "apply-rules-on-sdn-controller"; @@ -1708,6 +1751,7 @@ private void doChangeSecurityGroupRule(APIChangeSecurityGroupRuleMsg msg, String chain.then(new ShareFlow() { @Override public void setup() { + // DEBT: NoRollbackFlow — in doChangeSecurityGroupRule flow(new NoRollbackFlow() { String __name__ = "change-security-group-rule-in-db"; @@ -1761,6 +1805,7 @@ public void run(FlowTrigger trigger, Map data) { } }); + // DEBT: NoRollbackFlow — reason TBD flow(new NoRollbackFlow() { String __name__ = "apply-rules-on-hosts"; @@ -1780,6 +1825,7 @@ public void run(FlowTrigger trigger, Map data) { } }); + // DEBT: NoRollbackFlow — reason TBD flow(new NoRollbackFlow() { String __name__ = "apply-rules-on-sdn-controller"; @@ -2111,6 +2157,7 @@ private void removeNicFromSecurityGroup(String sgUuid, List vmNicUuids, chain.then(new ShareFlow() { @Override public void setup() { + // DEBT: NoRollbackFlow — in removeNicFromSecurityGroup flow(new NoRollbackFlow() { String __name__ = "remove-nic-from-security-group-in-db"; @@ -2140,6 +2187,7 @@ public void run(FlowTrigger trigger, Map data) { } }); + // DEBT: NoRollbackFlow — in removeNicFromSecurityGroup flow(new NoRollbackFlow() { String __name__ = "apply-rules-on-hosts"; @@ -2159,6 +2207,7 @@ public void run(FlowTrigger trigger, Map data) { } }); + // DEBT: NoRollbackFlow — reason TBD flow(new NoRollbackFlow() { String __name__ = "update-group-numbers"; @@ -2182,6 +2231,7 @@ public void run(FlowTrigger trigger, Map data) { } }); + // DEBT: NoRollbackFlow — reason TBD flow(new NoRollbackFlow() { String __name__ = "update-sdn-controller"; @@ -2290,6 +2340,7 @@ private void deleteSecurityGroupFromSdn(SecurityGroupSdnBackend backend, String FlowChain chain = FlowChainBuilder.newSimpleFlowChain(); chain.setName(String.format("sdn-backend-delete-security-group-%s", sgUuid)); chain.setData(data); + // DEBT: NoRollbackFlow — in deleteSecurityGroupFromSdn chain.then(new NoRollbackFlow() { String __name__ = "update-security-group-db"; @@ -2334,6 +2385,7 @@ public void run(FlowTrigger trigger, Map data) { trigger.next(); } + // DEBT: NoRollbackFlow — in deleteSecurityGroupFromSdn }).then(new NoRollbackFlow() { String __name__ = "delete-from-sdn"; @@ -2382,6 +2434,7 @@ private void deleteSecurityGroup(String sgUuid, Completion completion) { chain.then(new ShareFlow() { @Override public void setup() { + // DEBT: NoRollbackFlow — in deleteSecurityGroup flow(new NoRollbackFlow() { String __name__ = "dettach-nic-from-security-group-in-db"; @@ -2407,6 +2460,7 @@ public void run(MessageReply reply) { }); } }); + // DEBT: NoRollbackFlow — in deleteSecurityGroup flow(new NoRollbackFlow() { String __name__ = "delete-all-associated-security-group-rules-in-db"; @@ -2449,6 +2503,7 @@ public void run(FlowTrigger trigger, Map data) { } }); + // DEBT: NoRollbackFlow — reason TBD flow(new NoRollbackFlow() { String __name__ = "apply-rules-on-hosts"; @@ -2495,6 +2550,7 @@ private void handle(APIDeleteSecurityGroupMsg msg) { FlowChain chain = FlowChainBuilder.newSimpleFlowChain(); chain.setName(String.format("delete-security-group-%s", msg.getUuid())); if (msg.getDeletionMode() == APIDeleteMessage.DeletionMode.Permissive) { + // DEBT: NoRollbackFlow — reason TBD chain.then(new NoRollbackFlow() { @Override public void run(final FlowTrigger trigger, Map data) { @@ -2510,6 +2566,7 @@ public void fail(ErrorCode errorCode) { } }); } + // DEBT: NoRollbackFlow — reason TBD }).then(new NoRollbackFlow() { @Override public void run(final FlowTrigger trigger, Map data) { @@ -2527,6 +2584,7 @@ public void fail(ErrorCode errorCode) { } }); } else { + // DEBT: NoRollbackFlow — reason TBD chain.then(new NoRollbackFlow() { @Override public void run(final FlowTrigger trigger, Map data) { @@ -2652,6 +2710,7 @@ private void deleteSecurityGroupRule(APIDeleteSecurityGroupRuleMsg msg, String s chain.then(new ShareFlow() { @Override public void setup() { + // DEBT: NoRollbackFlow — in deleteSecurityGroupRule flow(new NoRollbackFlow() { String __name__ = "delete-security-group-rules-in-db"; @@ -2662,6 +2721,7 @@ public void run(FlowTrigger trigger, Map data) { } }); + // DEBT: NoRollbackFlow — in deleteSecurityGroupRule flow(new NoRollbackFlow() { String __name__ = "apply-rules-on-hosts"; @@ -2685,6 +2745,7 @@ public void run(FlowTrigger trigger, Map data) { } }); + // DEBT: NoRollbackFlow — in deleteSecurityGroupRule flow(new NoRollbackFlow() { String __name__ = "apply-rules-on-sdn-controller"; @@ -2827,6 +2888,7 @@ private void addVmNicToSecurityGroup(String sgUuid, List vmNicUuids, Com chain.then(new ShareFlow() { @Override public void setup() { + // DEBT: NoRollbackFlow — in addVmNicToSecurityGroup flow(new NoRollbackFlow() { String __name__ = "add-vm-nic-to-security-group-in-db"; @@ -2838,6 +2900,7 @@ public void run(FlowTrigger trigger, Map data) { } }); + // DEBT: NoRollbackFlow — in addVmNicToSecurityGroup flow(new NoRollbackFlow() { String __name__ = "apply-rules-on-hosts"; @@ -2857,6 +2920,7 @@ public void run(FlowTrigger trigger, Map data) { } }); + // DEBT: NoRollbackFlow — in addVmNicToSecurityGroup flow(new NoRollbackFlow() { String __name__ = "update-group-numbers"; @@ -2880,6 +2944,7 @@ public void run(FlowTrigger trigger, Map data) { } }); + // DEBT: NoRollbackFlow — reason TBD flow(new NoRollbackFlow() { String __name__ = "apply-rules-on-sdn-controller"; @@ -3098,6 +3163,7 @@ private void doAddSecurityGroupRule(AddSecurityGroupRuleMessage msg, Completion chain.then(new ShareFlow() { @Override public void setup() { + // DEBT: NoRollbackFlow — in doAddSecurityGroupRule flow(new NoRollbackFlow() { String __name__ = "add-security-group-rule-in-db"; @@ -3165,6 +3231,7 @@ public void run(FlowTrigger trigger, Map data) { } }); + // DEBT: NoRollbackFlow — reason TBD flow(new NoRollbackFlow() { String __name__ = "apply-rules-on-hosts"; @@ -3184,6 +3251,7 @@ public void run(FlowTrigger trigger, Map data) { } }); + // DEBT: NoRollbackFlow — reason TBD flow(new NoRollbackFlow() { String __name__ = "apply-rules-on-sdn-controller"; diff --git a/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/SecurityGroupNetworkServiceExtension.java b/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/SecurityGroupNetworkServiceExtension.java index eb0f79132bf..e9b25c95cbe 100755 --- a/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/SecurityGroupNetworkServiceExtension.java +++ b/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/SecurityGroupNetworkServiceExtension.java @@ -13,7 +13,12 @@ import org.zstack.header.core.WhileDoneCompletion; import org.zstack.header.core.Completion; import org.zstack.core.workflow.FlowChainBuilder; -import org.zstack.header.core.workflow.*; +import org.zstack.header.core.workflow.Flow; +import org.zstack.header.core.workflow.FlowChain; +import org.zstack.header.core.workflow.FlowDoneHandler; +import org.zstack.header.core.workflow.FlowErrorHandler; +import org.zstack.header.core.workflow.FlowRollback; +import org.zstack.header.core.workflow.FlowTrigger; import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.errorcode.ErrorCodeList; import org.zstack.header.core.NoErrorCompletion; @@ -22,12 +27,26 @@ import org.zstack.header.network.l3.L3NetworkVO; import org.zstack.header.network.service.NetworkServiceProviderType; import org.zstack.header.network.service.NetworkServiceType; -import org.zstack.header.vm.*; +import org.zstack.header.vm.VmAfterAttachNicExtensionPoint; +import org.zstack.header.vm.VmInstanceConstant; +import org.zstack.header.vm.VmInstanceInventory; +import org.zstack.header.vm.VmInstanceSpec; +import org.zstack.header.vm.VmNicInventory; +import org.zstack.header.vm.VmNicSpec; +import org.zstack.header.vm.VmNicVO; +import org.zstack.header.vm.VmNicVO_; import org.zstack.network.service.AbstractNetworkServiceExtension; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import java.util.Set; import java.util.stream.Collectors; import javax.persistence.Query; import static org.zstack.core.Platform.operr; diff --git a/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/SecurityGroupProvider.java b/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/SecurityGroupProvider.java index 9ca5411da92..4b94c9591dd 100755 --- a/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/SecurityGroupProvider.java +++ b/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/SecurityGroupProvider.java @@ -5,7 +5,7 @@ import org.springframework.beans.factory.annotation.Configurable; import org.zstack.core.cloudbus.CloudBus; import org.zstack.header.message.Message; -import org.zstack.header.network.*; +import org.zstack.header.network.NetworkException; import org.zstack.header.network.l2.L2NetworkInventory; import org.zstack.header.network.service.APIAttachNetworkServiceProviderToL2NetworkMsg; import org.zstack.header.network.service.APIDetachNetworkServiceProviderFromL2NetworkMsg; diff --git a/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/SecurityGroupProviderFactory.java b/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/SecurityGroupProviderFactory.java index 8359f0a4de3..ef1d22e55fc 100755 --- a/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/SecurityGroupProviderFactory.java +++ b/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/SecurityGroupProviderFactory.java @@ -7,14 +7,22 @@ import org.zstack.core.db.SimpleQuery.Op; import org.zstack.header.core.Completion; import org.zstack.header.managementnode.PrepareDbInitialValueExtensionPoint; -import org.zstack.header.network.*; +import org.zstack.header.network.NetworkException; import org.zstack.header.network.l2.APICreateL2NetworkMsg; import org.zstack.header.network.l2.L2NetworkCreateExtensionPoint; import org.zstack.header.network.l2.L2NetworkInventory; import org.zstack.header.network.l2.VSwitchType; import org.zstack.header.network.l3.L3NetworkInventory; import org.zstack.header.network.l3.L3NetworkVO; -import org.zstack.header.network.service.*; +import org.zstack.header.network.service.APIAddNetworkServiceProviderMsg; +import org.zstack.header.network.service.ApplyNetworkServiceExtensionPoint; +import org.zstack.header.network.service.NetworkServiceProvider; +import org.zstack.header.network.service.NetworkServiceProviderFactory; +import org.zstack.header.network.service.NetworkServiceProviderL2NetworkRefVO; +import org.zstack.header.network.service.NetworkServiceProviderType; +import org.zstack.header.network.service.NetworkServiceProviderVO; +import org.zstack.header.network.service.NetworkServiceProviderVO_; +import org.zstack.header.network.service.NetworkServiceType; import org.zstack.header.vm.VmInstanceSpec; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; diff --git a/plugin/sftpBackupStorage/src/main/java/org/zstack/storage/backup/sftp/SftpBackupStorage.java b/plugin/sftpBackupStorage/src/main/java/org/zstack/storage/backup/sftp/SftpBackupStorage.java index f4aa59c4e41..aceae34a8a4 100755 --- a/plugin/sftpBackupStorage/src/main/java/org/zstack/storage/backup/sftp/SftpBackupStorage.java +++ b/plugin/sftpBackupStorage/src/main/java/org/zstack/storage/backup/sftp/SftpBackupStorage.java @@ -6,7 +6,13 @@ import org.zstack.core.CoreGlobalProperty; import org.zstack.core.Platform; import org.zstack.core.agent.AgentConstant; -import org.zstack.core.ansible.*; +import org.zstack.core.ansible.AnsibleFacade; +import org.zstack.core.ansible.AnsibleGlobalProperty; +import org.zstack.core.ansible.AnsibleRunner; +import org.zstack.core.ansible.CallBackNetworkChecker; +import org.zstack.core.ansible.SshChronyConfigChecker; +import org.zstack.core.ansible.SshFileMd5Checker; +import org.zstack.core.ansible.SshYumRepoChecker; import org.zstack.core.cloudbus.CloudBusGlobalProperty; import org.zstack.core.db.Q; import org.zstack.core.errorcode.ErrorFacade; @@ -18,12 +24,42 @@ import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.errorcode.OperationFailureException; import org.zstack.header.exception.CloudRuntimeException; -import org.zstack.header.image.*; +import org.zstack.header.image.CancelDownloadImageMsg; +import org.zstack.header.image.CancelDownloadImageReply; +import org.zstack.header.image.ImageBackupStorageRefInventory; +import org.zstack.header.image.ImageBackupStorageRefVO; +import org.zstack.header.image.ImageBackupStorageRefVO_; +import org.zstack.header.image.ImageInventory; import org.zstack.header.message.APIMessage; import org.zstack.header.message.Message; import org.zstack.header.rest.JsonAsyncRESTCallback; import org.zstack.header.rest.RESTFacade; -import org.zstack.header.storage.backup.*; +import org.zstack.header.storage.backup.APIUpdateBackupStorageMsg; +import org.zstack.header.storage.backup.BackupStorageAskInstallPathMsg; +import org.zstack.header.storage.backup.BackupStorageAskInstallPathReply; +import org.zstack.header.storage.backup.BackupStorageInventory; +import org.zstack.header.storage.backup.BackupStorageStatus; +import org.zstack.header.storage.backup.BackupStorageVO; +import org.zstack.header.storage.backup.CalculateImageHashOnBackupStorageMsg; +import org.zstack.header.storage.backup.CalculateImageHashOnBackupStorageReply; +import org.zstack.header.storage.backup.DeleteBitsOnBackupStorageMsg; +import org.zstack.header.storage.backup.DeleteBitsOnBackupStorageReply; +import org.zstack.header.storage.backup.DownloadImageMsg; +import org.zstack.header.storage.backup.DownloadImageReply; +import org.zstack.header.storage.backup.DownloadVolumeMsg; +import org.zstack.header.storage.backup.DownloadVolumeReply; +import org.zstack.header.storage.backup.GetBackupStorageManagerHostnameMsg; +import org.zstack.header.storage.backup.GetBackupStorageManagerHostnameReply; +import org.zstack.header.storage.backup.GetImageEncryptedOnBackupStorageMsg; +import org.zstack.header.storage.backup.GetImageEncryptedOnBackupStorageReply; +import org.zstack.header.storage.backup.GetImageSizeOnBackupStorageMsg; +import org.zstack.header.storage.backup.GetImageSizeOnBackupStorageReply; +import org.zstack.header.storage.backup.GetLocalFileSizeOnBackupStorageMsg; +import org.zstack.header.storage.backup.GetLocalFileSizeOnBackupStorageReply; +import org.zstack.header.storage.backup.RestoreImagesBackupStorageMetadataToDatabaseMsg; +import org.zstack.header.storage.backup.RestoreImagesBackupStorageMetadataToDatabaseReply; +import org.zstack.header.storage.backup.SyncImageSizeOnBackupStorageMsg; +import org.zstack.header.storage.backup.SyncImageSizeOnBackupStorageReply; import org.zstack.storage.backup.BackupStorageBase; import org.zstack.storage.backup.BackupStoragePathMaker; import org.zstack.storage.backup.sftp.SftpBackupStorageCommands.*; diff --git a/plugin/sftpBackupStorage/src/main/java/org/zstack/storage/backup/sftp/SftpBackupStorageFactory.java b/plugin/sftpBackupStorage/src/main/java/org/zstack/storage/backup/sftp/SftpBackupStorageFactory.java index 2d27bcd3ac5..3e7f6df20bc 100755 --- a/plugin/sftpBackupStorage/src/main/java/org/zstack/storage/backup/sftp/SftpBackupStorageFactory.java +++ b/plugin/sftpBackupStorage/src/main/java/org/zstack/storage/backup/sftp/SftpBackupStorageFactory.java @@ -13,7 +13,13 @@ import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.errorcode.SysErrors; import org.zstack.header.message.APIMessage; -import org.zstack.header.storage.backup.*; +import org.zstack.header.storage.backup.APIAddBackupStorageMsg; +import org.zstack.header.storage.backup.BackupStorage; +import org.zstack.header.storage.backup.BackupStorageConstant; +import org.zstack.header.storage.backup.BackupStorageFactory; +import org.zstack.header.storage.backup.BackupStorageInventory; +import org.zstack.header.storage.backup.BackupStorageType; +import org.zstack.header.storage.backup.BackupStorageVO; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; diff --git a/plugin/sftpBackupStorage/src/main/java/org/zstack/storage/backup/sftp/SftpBackupStorageMetaDataMaker.java b/plugin/sftpBackupStorage/src/main/java/org/zstack/storage/backup/sftp/SftpBackupStorageMetaDataMaker.java index e142fe80945..64e14b869be 100755 --- a/plugin/sftpBackupStorage/src/main/java/org/zstack/storage/backup/sftp/SftpBackupStorageMetaDataMaker.java +++ b/plugin/sftpBackupStorage/src/main/java/org/zstack/storage/backup/sftp/SftpBackupStorageMetaDataMaker.java @@ -19,7 +19,20 @@ import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.exception.CloudRuntimeException; import org.zstack.header.identity.AccountConstant; -import org.zstack.header.image.*; +import org.zstack.header.image.AddImageExtensionPoint; +import org.zstack.header.image.CreateTemplateExtensionPoint; +import org.zstack.header.image.ExpungeImageExtensionPoint; +import org.zstack.header.image.ImageBackupStorageRefInventory; +import org.zstack.header.image.ImageBackupStorageRefVO; +import org.zstack.header.image.ImageBackupStorageRefVO_; +import org.zstack.header.image.ImageConstant; +import org.zstack.header.image.ImageEO; +import org.zstack.header.image.ImageHelper; +import org.zstack.header.image.ImageInventory; +import org.zstack.header.image.ImagePlatform; +import org.zstack.header.image.ImageState; +import org.zstack.header.image.ImageStatus; +import org.zstack.header.image.ImageVO; import org.zstack.header.rest.JsonAsyncRESTCallback; import org.zstack.header.rest.RESTFacade; import org.zstack.header.storage.backup.AddBackupStorageExtensionPoint; @@ -36,7 +49,11 @@ import org.zstack.utils.logging.CLogger; import javax.persistence.TypedQuery; -import java.util.*; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; import java.util.stream.Collectors; import static org.zstack.core.Platform.operr; @@ -334,6 +351,7 @@ private void bakeImageToMetadata(ImageInventory img) { @Override public void setup() { + // DEBT: NoRollbackFlow — in bakeImageToMetadata flow(new NoRollbackFlow() { String __name__ = "check-image-metadata-file-exist"; @@ -377,6 +395,7 @@ public Class getReturn }); + // DEBT: NoRollbackFlow — reason TBD flow(new NoRollbackFlow() { String __name__ = "create-image-metadata-file"; @@ -532,6 +551,7 @@ public void afterExpungeImage(ImageInventory img, String backupStorageUuid) { @Override public void setup() { + // DEBT: NoRollbackFlow — in afterExpungeImage flow(new NoRollbackFlow() { String __name__ = "check-image-metadata-file-exist"; @@ -575,6 +595,7 @@ public Class getReturn }); + // DEBT: NoRollbackFlow — reason TBD flow(new NoRollbackFlow() { String __name__ = "delete-image-info"; diff --git a/plugin/sharedMountPointPrimaryStorage/src/main/java/org/zstack/storage/primary/smp/HypervisorBackend.java b/plugin/sharedMountPointPrimaryStorage/src/main/java/org/zstack/storage/primary/smp/HypervisorBackend.java index c78d3b89172..7c09eb825f4 100755 --- a/plugin/sharedMountPointPrimaryStorage/src/main/java/org/zstack/storage/primary/smp/HypervisorBackend.java +++ b/plugin/sharedMountPointPrimaryStorage/src/main/java/org/zstack/storage/primary/smp/HypervisorBackend.java @@ -3,7 +3,68 @@ import org.zstack.header.cluster.ClusterConnectionStatus; import org.zstack.header.core.Completion; import org.zstack.header.core.ReturnValueCompletion; -import org.zstack.header.storage.primary.*; +import org.zstack.header.storage.primary.AskInstallPathForNewSnapshotMsg; +import org.zstack.header.storage.primary.AskInstallPathForNewSnapshotReply; +import org.zstack.header.storage.primary.BackupVolumeSnapshotFromPrimaryStorageToBackupStorageMsg; +import org.zstack.header.storage.primary.BackupVolumeSnapshotFromPrimaryStorageToBackupStorageReply; +import org.zstack.header.storage.primary.CancelDownloadBitsFromKVMHostToPrimaryStorageMsg; +import org.zstack.header.storage.primary.ChangeVolumeTypeOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.ChangeVolumeTypeOnPrimaryStorageReply; +import org.zstack.header.storage.primary.CheckSnapshotMsg; +import org.zstack.header.storage.primary.CommitVolumeSnapshotOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.CommitVolumeSnapshotOnPrimaryStorageReply; +import org.zstack.header.storage.primary.CreateImageCacheFromVolumeOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.CreateImageCacheFromVolumeOnPrimaryStorageReply; +import org.zstack.header.storage.primary.CreateImageCacheFromVolumeSnapshotOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.CreateImageCacheFromVolumeSnapshotOnPrimaryStorageReply; +import org.zstack.header.storage.primary.CreateTemplateFromVolumeOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.CreateTemplateFromVolumeOnPrimaryStorageReply; +import org.zstack.header.storage.primary.CreateVolumeFromVolumeSnapshotOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.CreateVolumeFromVolumeSnapshotOnPrimaryStorageReply; +import org.zstack.header.storage.primary.DeleteBitsOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.DeleteBitsOnPrimaryStorageReply; +import org.zstack.header.storage.primary.DeleteIsoFromPrimaryStorageMsg; +import org.zstack.header.storage.primary.DeleteIsoFromPrimaryStorageReply; +import org.zstack.header.storage.primary.DeleteSnapshotOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.DeleteSnapshotOnPrimaryStorageReply; +import org.zstack.header.storage.primary.DeleteVolumeBitsOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.DeleteVolumeBitsOnPrimaryStorageReply; +import org.zstack.header.storage.primary.DeleteVolumeOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.DeleteVolumeOnPrimaryStorageReply; +import org.zstack.header.storage.primary.DownloadBitsFromKVMHostToPrimaryStorageMsg; +import org.zstack.header.storage.primary.DownloadBitsFromKVMHostToPrimaryStorageReply; +import org.zstack.header.storage.primary.DownloadDataVolumeToPrimaryStorageMsg; +import org.zstack.header.storage.primary.DownloadDataVolumeToPrimaryStorageReply; +import org.zstack.header.storage.primary.DownloadIsoToPrimaryStorageMsg; +import org.zstack.header.storage.primary.DownloadIsoToPrimaryStorageReply; +import org.zstack.header.storage.primary.DownloadVolumeTemplateToPrimaryStorageMsg; +import org.zstack.header.storage.primary.DownloadVolumeTemplateToPrimaryStorageReply; +import org.zstack.header.storage.primary.GetDownloadBitsFromKVMHostProgressMsg; +import org.zstack.header.storage.primary.GetDownloadBitsFromKVMHostProgressReply; +import org.zstack.header.storage.primary.GetInstallPathForDataVolumeDownloadMsg; +import org.zstack.header.storage.primary.GetInstallPathForDataVolumeDownloadReply; +import org.zstack.header.storage.primary.GetVolumeBackingChainFromPrimaryStorageMsg; +import org.zstack.header.storage.primary.GetVolumeBackingChainFromPrimaryStorageReply; +import org.zstack.header.storage.primary.GetVolumeSnapshotEncryptedOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.GetVolumeSnapshotEncryptedOnPrimaryStorageReply; +import org.zstack.header.storage.primary.ImageCacheInventory; +import org.zstack.header.storage.primary.InstantiateVolumeOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.InstantiateVolumeOnPrimaryStorageReply; +import org.zstack.header.storage.primary.PrimaryStorageVO; +import org.zstack.header.storage.primary.PullVolumeSnapshotOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.PullVolumeSnapshotOnPrimaryStorageReply; +import org.zstack.header.storage.primary.ReInitRootVolumeFromTemplateOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.ReInitRootVolumeFromTemplateOnPrimaryStorageReply; +import org.zstack.header.storage.primary.ResizeVolumeOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.ResizeVolumeOnPrimaryStorageReply; +import org.zstack.header.storage.primary.RevertVolumeFromSnapshotOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.RevertVolumeFromSnapshotOnPrimaryStorageReply; +import org.zstack.header.storage.primary.SyncVolumeSizeOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.SyncVolumeSizeOnPrimaryStorageReply; +import org.zstack.header.storage.primary.TakeSnapshotMsg; +import org.zstack.header.storage.primary.TakeSnapshotReply; +import org.zstack.header.storage.primary.UnlinkBitsOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.UnlinkBitsOnPrimaryStorageReply; import org.zstack.header.storage.snapshot.VolumeSnapshotInventory; import org.zstack.header.vm.VmInstanceSpec; import org.zstack.header.volume.VolumeInventory; diff --git a/plugin/sharedMountPointPrimaryStorage/src/main/java/org/zstack/storage/primary/smp/KvmBackend.java b/plugin/sharedMountPointPrimaryStorage/src/main/java/org/zstack/storage/primary/smp/KvmBackend.java index 97a16810f69..238ad223442 100755 --- a/plugin/sharedMountPointPrimaryStorage/src/main/java/org/zstack/storage/primary/smp/KvmBackend.java +++ b/plugin/sharedMountPointPrimaryStorage/src/main/java/org/zstack/storage/primary/smp/KvmBackend.java @@ -20,22 +20,126 @@ import org.zstack.core.workflow.ShareFlow; import org.zstack.header.HasThreadContext; import org.zstack.header.cluster.ClusterConnectionStatus; -import org.zstack.header.core.*; +import org.zstack.header.core.AsyncLatch; +import org.zstack.header.core.Completion; +import org.zstack.header.core.NoErrorCompletion; +import org.zstack.header.core.NopeCompletion; +import org.zstack.header.core.ReturnValueCompletion; +import org.zstack.header.core.WhileDoneCompletion; import org.zstack.header.core.progress.TaskProgressRange; import org.zstack.header.core.validation.Validation; -import org.zstack.header.core.workflow.*; +import org.zstack.header.core.workflow.Flow; +import org.zstack.header.core.workflow.FlowChain; +import org.zstack.header.core.workflow.FlowDoneHandler; +import org.zstack.header.core.workflow.FlowErrorHandler; +import org.zstack.header.core.workflow.FlowRollback; +import org.zstack.header.core.workflow.FlowTrigger; +import org.zstack.header.core.workflow.NoRollbackFlow; import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.errorcode.ErrorCodeList; import org.zstack.header.errorcode.OperationFailureException; import org.zstack.header.exception.CloudRuntimeException; -import org.zstack.header.host.*; +import org.zstack.header.host.CheckSnapshotOnHypervisorMsg; +import org.zstack.header.host.HostConstant; +import org.zstack.header.host.HostErrors; +import org.zstack.header.host.HostInventory; +import org.zstack.header.host.HostStatus; +import org.zstack.header.host.HostVO; +import org.zstack.header.host.HostVO_; +import org.zstack.header.host.TakeSnapshotOnHypervisorMsg; +import org.zstack.header.host.TakeSnapshotOnHypervisorReply; import org.zstack.header.image.ImageBackupStorageRefInventory; import org.zstack.header.image.ImageConstant.ImageMediaType; import org.zstack.header.image.ImageInventory; import org.zstack.header.message.Message; import org.zstack.header.message.MessageReply; -import org.zstack.header.storage.backup.*; -import org.zstack.header.storage.primary.*; +import org.zstack.header.storage.backup.BackupStorageAskInstallPathMsg; +import org.zstack.header.storage.backup.BackupStorageAskInstallPathReply; +import org.zstack.header.storage.backup.BackupStorageConstant; +import org.zstack.header.storage.backup.BackupStorageVO; +import org.zstack.header.storage.backup.BackupStorageVO_; +import org.zstack.header.storage.primary.AfterCreateImageCacheExtensionPoint; +import org.zstack.header.storage.primary.AllocatePrimaryStorageMsg; +import org.zstack.header.storage.primary.AskInstallPathForNewSnapshotMsg; +import org.zstack.header.storage.primary.AskInstallPathForNewSnapshotReply; +import org.zstack.header.storage.primary.BackupVolumeSnapshotFromPrimaryStorageToBackupStorageMsg; +import org.zstack.header.storage.primary.BackupVolumeSnapshotFromPrimaryStorageToBackupStorageReply; +import org.zstack.header.storage.primary.CancelDownloadBitsFromKVMHostToPrimaryStorageMsg; +import org.zstack.header.storage.primary.ChangeVolumeTypeOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.ChangeVolumeTypeOnPrimaryStorageReply; +import org.zstack.header.storage.primary.CheckSnapshotMsg; +import org.zstack.header.storage.primary.CommitVolumeSnapshotOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.CommitVolumeSnapshotOnPrimaryStorageReply; +import org.zstack.header.storage.primary.CreateImageCacheFromVolumeOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.CreateImageCacheFromVolumeOnPrimaryStorageReply; +import org.zstack.header.storage.primary.CreateImageCacheFromVolumeSnapshotOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.CreateImageCacheFromVolumeSnapshotOnPrimaryStorageReply; +import org.zstack.header.storage.primary.CreateTemplateFromVolumeOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.CreateTemplateFromVolumeOnPrimaryStorageReply; +import org.zstack.header.storage.primary.CreateVolumeFromVolumeSnapshotOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.CreateVolumeFromVolumeSnapshotOnPrimaryStorageReply; +import org.zstack.header.storage.primary.DeleteBitsOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.DeleteBitsOnPrimaryStorageReply; +import org.zstack.header.storage.primary.DeleteIsoFromPrimaryStorageMsg; +import org.zstack.header.storage.primary.DeleteIsoFromPrimaryStorageReply; +import org.zstack.header.storage.primary.DeleteSnapshotOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.DeleteSnapshotOnPrimaryStorageReply; +import org.zstack.header.storage.primary.DeleteVolumeBitsOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.DeleteVolumeBitsOnPrimaryStorageReply; +import org.zstack.header.storage.primary.DeleteVolumeOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.DeleteVolumeOnPrimaryStorageReply; +import org.zstack.header.storage.primary.DownloadBitsFromKVMHostToPrimaryStorageMsg; +import org.zstack.header.storage.primary.DownloadBitsFromKVMHostToPrimaryStorageReply; +import org.zstack.header.storage.primary.DownloadDataVolumeToPrimaryStorageMsg; +import org.zstack.header.storage.primary.DownloadDataVolumeToPrimaryStorageReply; +import org.zstack.header.storage.primary.DownloadIsoToPrimaryStorageMsg; +import org.zstack.header.storage.primary.DownloadIsoToPrimaryStorageReply; +import org.zstack.header.storage.primary.DownloadTemporaryDataVolumeToPrimaryStorageMsg; +import org.zstack.header.storage.primary.DownloadVolumeTemplateToPrimaryStorageMsg; +import org.zstack.header.storage.primary.DownloadVolumeTemplateToPrimaryStorageReply; +import org.zstack.header.storage.primary.GetDownloadBitsFromKVMHostProgressMsg; +import org.zstack.header.storage.primary.GetDownloadBitsFromKVMHostProgressReply; +import org.zstack.header.storage.primary.GetInstallPathForDataVolumeDownloadMsg; +import org.zstack.header.storage.primary.GetInstallPathForDataVolumeDownloadReply; +import org.zstack.header.storage.primary.GetInstallPathForTemporaryDataVolumeDownloadMsg; +import org.zstack.header.storage.primary.GetVolumeBackingChainFromPrimaryStorageMsg; +import org.zstack.header.storage.primary.GetVolumeBackingChainFromPrimaryStorageReply; +import org.zstack.header.storage.primary.GetVolumeSnapshotEncryptedOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.GetVolumeSnapshotEncryptedOnPrimaryStorageReply; +import org.zstack.header.storage.primary.ImageCacheInventory; +import org.zstack.header.storage.primary.ImageCacheState; +import org.zstack.header.storage.primary.ImageCacheVO; +import org.zstack.header.storage.primary.ImageCacheVO_; +import org.zstack.header.storage.primary.IncreasePrimaryStorageCapacityMsg; +import org.zstack.header.storage.primary.InstantiateMemoryVolumeOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.InstantiateRootVolumeFromTemplateOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.InstantiateTemporaryRootVolumeFromTemplateOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.InstantiateTemporaryVolumeOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.InstantiateVolumeOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.InstantiateVolumeOnPrimaryStorageReply; +import org.zstack.header.storage.primary.PrimaryStorageAllocationPurpose; +import org.zstack.header.storage.primary.PrimaryStorageCapacityUpdaterRunnable; +import org.zstack.header.storage.primary.PrimaryStorageCapacityVO; +import org.zstack.header.storage.primary.PrimaryStorageClusterRefVO; +import org.zstack.header.storage.primary.PrimaryStorageConstant; +import org.zstack.header.storage.primary.PrimaryStorageOverProvisioningManager; +import org.zstack.header.storage.primary.PrimaryStorageStatus; +import org.zstack.header.storage.primary.PrimaryStorageVO; +import org.zstack.header.storage.primary.PrimaryStorageVO_; +import org.zstack.header.storage.primary.PullVolumeSnapshotOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.PullVolumeSnapshotOnPrimaryStorageReply; +import org.zstack.header.storage.primary.ReInitRootVolumeFromTemplateOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.ReInitRootVolumeFromTemplateOnPrimaryStorageReply; +import org.zstack.header.storage.primary.ResizeVolumeOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.ResizeVolumeOnPrimaryStorageReply; +import org.zstack.header.storage.primary.RevertVolumeFromSnapshotOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.RevertVolumeFromSnapshotOnPrimaryStorageReply; +import org.zstack.header.storage.primary.SyncVolumeSizeOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.SyncVolumeSizeOnPrimaryStorageReply; +import org.zstack.header.storage.primary.TakeSnapshotMsg; +import org.zstack.header.storage.primary.TakeSnapshotReply; +import org.zstack.header.storage.primary.UnlinkBitsOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.UnlinkBitsOnPrimaryStorageReply; import org.zstack.header.storage.snapshot.VolumeSnapshotConstant; import org.zstack.header.storage.snapshot.VolumeSnapshotInventory; import org.zstack.header.storage.snapshot.VolumeSnapshotVO; @@ -47,8 +151,23 @@ import org.zstack.header.volume.VolumeInventory; import org.zstack.header.volume.VolumeType; import org.zstack.header.volume.VolumeVO; -import org.zstack.kvm.*; -import org.zstack.storage.primary.*; +import org.zstack.kvm.GetKVMHostDownloadCredentialMsg; +import org.zstack.kvm.GetKVMHostDownloadCredentialReply; +import org.zstack.kvm.KVMAgentCommands; +import org.zstack.kvm.KVMHostAsyncHttpCallMsg; +import org.zstack.kvm.KVMHostAsyncHttpCallReply; +import org.zstack.kvm.KvmCommandFailureChecker; +import org.zstack.kvm.KvmCommandSender; +import org.zstack.kvm.KvmResponseWrapper; +import org.zstack.kvm.MergeVolumeSnapshotOnKvmMsg; +import org.zstack.storage.primary.EstimateVolumeTemplateSizeOnPrimaryStorageMsg; +import org.zstack.storage.primary.EstimateVolumeTemplateSizeOnPrimaryStorageReply; +import org.zstack.storage.primary.ImageCacheUtil; +import org.zstack.storage.primary.PrimaryStorageCapacityUpdater; +import org.zstack.storage.primary.PrimaryStorageGlobalProperty; +import org.zstack.storage.primary.PrimaryStoragePathMaker; +import org.zstack.storage.primary.PrimaryStoragePhysicalCapacityManager; +import org.zstack.storage.primary.PrimaryStorageSystemTags; import org.zstack.storage.volume.VolumeErrors; import org.zstack.storage.volume.VolumeSystemTags; import org.zstack.utils.CollectionUtils; @@ -60,7 +179,14 @@ import javax.persistence.Tuple; import java.io.File; -import java.util.*; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashSet; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.UUID; import java.util.stream.Collectors; import static org.zstack.core.Platform.argerr; @@ -807,6 +933,7 @@ public void rollback(FlowRollback trigger, Map data) { } }); + // DEBT: NoRollbackFlow — in rollback flow(new NoRollbackFlow() { String __name__ = "download"; @@ -1109,6 +1236,7 @@ private void createRootVolume(InstantiateRootVolumeFromTemplateOnPrimaryStorageM @Override public void setup() { + // DEBT: NoRollbackFlow — in createRootVolume flow(new NoRollbackFlow() { String __name__ = "download-image-to-cache"; @@ -1134,6 +1262,7 @@ public void run(MessageReply reply) { } }); + // DEBT: NoRollbackFlow — in createRootVolume flow(new NoRollbackFlow() { String __name__ = "create-template-from-cache"; @@ -2049,6 +2178,7 @@ public void fail(ErrorCode errorCode) { } }); + // DEBT: NoRollbackFlow — in rollback flow(new NoRollbackFlow() { String __name__ = "upload-to-backup-storage"; @@ -2085,6 +2215,7 @@ public void fail(ErrorCode errorCode) { } }); + // DEBT: NoRollbackFlow — reason TBD flow(new NoRollbackFlow() { String __name__ = "delete-temporary-template-on-primary-storage"; diff --git a/plugin/sharedMountPointPrimaryStorage/src/main/java/org/zstack/storage/primary/smp/KvmFactory.java b/plugin/sharedMountPointPrimaryStorage/src/main/java/org/zstack/storage/primary/smp/KvmFactory.java index 19065d35197..03c57049dd5 100755 --- a/plugin/sharedMountPointPrimaryStorage/src/main/java/org/zstack/storage/primary/smp/KvmFactory.java +++ b/plugin/sharedMountPointPrimaryStorage/src/main/java/org/zstack/storage/primary/smp/KvmFactory.java @@ -12,10 +12,19 @@ import org.zstack.header.core.workflow.NoRollbackFlow; import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.message.MessageReply; -import org.zstack.header.storage.primary.*; +import org.zstack.header.storage.primary.PrimaryStorageClusterRefVO; +import org.zstack.header.storage.primary.PrimaryStorageConstant; +import org.zstack.header.storage.primary.PrimaryStorageInventory; +import org.zstack.header.storage.primary.PrimaryStorageVO; +import org.zstack.header.storage.primary.PrimaryStorageVO_; import org.zstack.header.storage.snapshot.VolumeSnapshotVO; import org.zstack.header.vm.VmInstanceSpec; -import org.zstack.kvm.*; +import org.zstack.kvm.KVMAgentCommands; +import org.zstack.kvm.KVMConstant; +import org.zstack.kvm.KVMHostConnectExtensionPoint; +import org.zstack.kvm.KVMHostConnectedContext; +import org.zstack.kvm.KVMHostInventory; +import org.zstack.kvm.KVMStartVmExtensionPoint; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; @@ -58,6 +67,7 @@ private PrimaryStorageInventory findSMPByHostUuid(String clusterUuid) { @Override public Flow createKvmHostConnectingFlow(final KVMHostConnectedContext context) { + // DEBT: NoRollbackFlow — in createKvmHostConnectingFlow return new NoRollbackFlow() { String __init__ = "init-smp-primary-storage"; diff --git a/plugin/sharedMountPointPrimaryStorage/src/main/java/org/zstack/storage/primary/smp/SMPPrimaryStorageBase.java b/plugin/sharedMountPointPrimaryStorage/src/main/java/org/zstack/storage/primary/smp/SMPPrimaryStorageBase.java index 5cc408452cd..03f00eafe49 100755 --- a/plugin/sharedMountPointPrimaryStorage/src/main/java/org/zstack/storage/primary/smp/SMPPrimaryStorageBase.java +++ b/plugin/sharedMountPointPrimaryStorage/src/main/java/org/zstack/storage/primary/smp/SMPPrimaryStorageBase.java @@ -21,24 +21,135 @@ import org.zstack.header.core.FutureCompletion; import org.zstack.header.core.NoErrorCompletion; import org.zstack.header.core.ReturnValueCompletion; -import org.zstack.header.core.workflow.*; +import org.zstack.header.core.workflow.FlowChain; +import org.zstack.header.core.workflow.FlowDoneHandler; +import org.zstack.header.core.workflow.FlowErrorHandler; +import org.zstack.header.core.workflow.FlowTrigger; +import org.zstack.header.core.workflow.NoRollbackFlow; import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.errorcode.OperationFailureException; import org.zstack.header.exception.CloudRuntimeException; -import org.zstack.header.host.*; +import org.zstack.header.host.HostCanonicalEvents; +import org.zstack.header.host.HostErrors; +import org.zstack.header.host.HostInventory; +import org.zstack.header.host.HostState; +import org.zstack.header.host.HostStatus; +import org.zstack.header.host.HostVO; +import org.zstack.header.host.HostVO_; +import org.zstack.header.host.HypervisorFactory; +import org.zstack.header.host.HypervisorType; +import org.zstack.header.host.TakeSnapshotOnHypervisorMsg; import org.zstack.header.message.Message; import org.zstack.header.message.MessageReply; -import org.zstack.header.storage.primary.*; +import org.zstack.header.storage.primary.APICleanUpImageCacheOnPrimaryStorageEvent; +import org.zstack.header.storage.primary.APICleanUpImageCacheOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.AskInstallPathForNewSnapshotMsg; +import org.zstack.header.storage.primary.AskInstallPathForNewSnapshotReply; +import org.zstack.header.storage.primary.AskVolumeSnapshotCapabilityMsg; +import org.zstack.header.storage.primary.AskVolumeSnapshotCapabilityReply; +import org.zstack.header.storage.primary.BackupVolumeSnapshotFromPrimaryStorageToBackupStorageMsg; +import org.zstack.header.storage.primary.BackupVolumeSnapshotFromPrimaryStorageToBackupStorageReply; +import org.zstack.header.storage.primary.CancelDownloadBitsFromKVMHostToPrimaryStorageMsg; +import org.zstack.header.storage.primary.CancelDownloadBitsFromKVMHostToPrimaryStorageReply; +import org.zstack.header.storage.primary.ChangeVolumeTypeOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.ChangeVolumeTypeOnPrimaryStorageReply; +import org.zstack.header.storage.primary.CheckChangeVolumeTypeOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.CheckChangeVolumeTypeOnPrimaryStorageReply; +import org.zstack.header.storage.primary.CheckSnapshotMsg; +import org.zstack.header.storage.primary.CheckSnapshotReply; +import org.zstack.header.storage.primary.CheckVolumeSnapshotOperationOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.CheckVolumeSnapshotOperationOnPrimaryStorageReply; +import org.zstack.header.storage.primary.CommitVolumeSnapshotOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.CommitVolumeSnapshotOnPrimaryStorageReply; +import org.zstack.header.storage.primary.CreateImageCacheFromVolumeOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.CreateImageCacheFromVolumeOnPrimaryStorageReply; +import org.zstack.header.storage.primary.CreateImageCacheFromVolumeSnapshotOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.CreateImageCacheFromVolumeSnapshotOnPrimaryStorageReply; +import org.zstack.header.storage.primary.CreateTemplateFromVolumeOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.CreateTemplateFromVolumeOnPrimaryStorageReply; +import org.zstack.header.storage.primary.CreateVolumeFromVolumeSnapshotOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.CreateVolumeFromVolumeSnapshotOnPrimaryStorageReply; +import org.zstack.header.storage.primary.DeleteBitsOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.DeleteBitsOnPrimaryStorageReply; +import org.zstack.header.storage.primary.DeleteImageCacheOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.DeleteImageCacheOnPrimaryStorageReply; +import org.zstack.header.storage.primary.DeleteIsoFromPrimaryStorageMsg; +import org.zstack.header.storage.primary.DeleteIsoFromPrimaryStorageReply; +import org.zstack.header.storage.primary.DeleteSnapshotOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.DeleteSnapshotOnPrimaryStorageReply; +import org.zstack.header.storage.primary.DeleteVolumeBitsOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.DeleteVolumeBitsOnPrimaryStorageReply; +import org.zstack.header.storage.primary.DeleteVolumeOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.DeleteVolumeOnPrimaryStorageReply; +import org.zstack.header.storage.primary.DownloadBitsFromKVMHostToPrimaryStorageMsg; +import org.zstack.header.storage.primary.DownloadBitsFromKVMHostToPrimaryStorageReply; +import org.zstack.header.storage.primary.DownloadDataVolumeToPrimaryStorageMsg; +import org.zstack.header.storage.primary.DownloadDataVolumeToPrimaryStorageReply; +import org.zstack.header.storage.primary.DownloadIsoToPrimaryStorageMsg; +import org.zstack.header.storage.primary.DownloadIsoToPrimaryStorageReply; +import org.zstack.header.storage.primary.DownloadVolumeTemplateToPrimaryStorageMsg; +import org.zstack.header.storage.primary.DownloadVolumeTemplateToPrimaryStorageReply; +import org.zstack.header.storage.primary.FlattenVolumeOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.FlattenVolumeOnPrimaryStorageReply; +import org.zstack.header.storage.primary.GetDownloadBitsFromKVMHostProgressMsg; +import org.zstack.header.storage.primary.GetDownloadBitsFromKVMHostProgressReply; +import org.zstack.header.storage.primary.GetInstallPathForDataVolumeDownloadMsg; +import org.zstack.header.storage.primary.GetInstallPathForDataVolumeDownloadReply; +import org.zstack.header.storage.primary.GetPrimaryStorageResourceLocationMsg; +import org.zstack.header.storage.primary.GetPrimaryStorageResourceLocationReply; +import org.zstack.header.storage.primary.GetVolumeBackingChainFromPrimaryStorageMsg; +import org.zstack.header.storage.primary.GetVolumeBackingChainFromPrimaryStorageReply; +import org.zstack.header.storage.primary.GetVolumeSnapshotEncryptedOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.GetVolumeSnapshotEncryptedOnPrimaryStorageReply; +import org.zstack.header.storage.primary.InstantiateVolumeOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.InstantiateVolumeOnPrimaryStorageReply; +import org.zstack.header.storage.primary.MergeVolumeSnapshotOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.MergeVolumeSnapshotOnPrimaryStorageReply; +import org.zstack.header.storage.primary.PrimaryStorageCapacityUpdaterRunnable; +import org.zstack.header.storage.primary.PrimaryStorageCapacityVO; +import org.zstack.header.storage.primary.PrimaryStorageClusterRefVO; +import org.zstack.header.storage.primary.PrimaryStorageConstant; +import org.zstack.header.storage.primary.PrimaryStorageErrors; +import org.zstack.header.storage.primary.PrimaryStorageStatus; +import org.zstack.header.storage.primary.PrimaryStorageVO; +import org.zstack.header.storage.primary.PrimaryStorageVO_; +import org.zstack.header.storage.primary.PullVolumeSnapshotOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.PullVolumeSnapshotOnPrimaryStorageReply; +import org.zstack.header.storage.primary.ReInitRootVolumeFromTemplateOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.ReInitRootVolumeFromTemplateOnPrimaryStorageReply; +import org.zstack.header.storage.primary.RecalculatePrimaryStorageCapacityMsg; +import org.zstack.header.storage.primary.ResizeVolumeOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.ResizeVolumeOnPrimaryStorageReply; +import org.zstack.header.storage.primary.RevertVolumeFromSnapshotOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.RevertVolumeFromSnapshotOnPrimaryStorageReply; +import org.zstack.header.storage.primary.SyncVolumeSizeOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.SyncVolumeSizeOnPrimaryStorageReply; +import org.zstack.header.storage.primary.TakeSnapshotMsg; +import org.zstack.header.storage.primary.TakeSnapshotReply; +import org.zstack.header.storage.primary.UnlinkBitsOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.UnlinkBitsOnPrimaryStorageReply; +import org.zstack.header.storage.primary.VolumeSnapshotCapability; import org.zstack.header.storage.primary.VolumeSnapshotCapability.VolumeSnapshotArrangementType; import org.zstack.header.storage.snapshot.ShrinkVolumeSnapshotOnPrimaryStorageMsg; import org.zstack.header.storage.snapshot.VolumeSnapshotInventory; import org.zstack.header.storage.snapshot.VolumeSnapshotVO; -import org.zstack.header.volume.*; +import org.zstack.header.volume.BatchSyncVolumeSizeOnPrimaryStorageMsg; +import org.zstack.header.volume.BatchSyncVolumeSizeOnPrimaryStorageReply; +import org.zstack.header.volume.VolumeFormat; +import org.zstack.header.volume.VolumeInventory; +import org.zstack.header.volume.VolumeProvisioningStrategy; +import org.zstack.header.volume.VolumeType; +import org.zstack.header.volume.VolumeVO; +import org.zstack.header.volume.VolumeVO_; import org.zstack.kvm.KVMAgentCommands; import org.zstack.kvm.KVMConstant; import org.zstack.kvm.KVMHostInventory; import org.zstack.kvm.KVMTakeSnapshotExtensionPoint; -import org.zstack.storage.primary.*; +import org.zstack.storage.primary.EstimateVolumeTemplateSizeOnPrimaryStorageMsg; +import org.zstack.storage.primary.EstimateVolumeTemplateSizeOnPrimaryStorageReply; +import org.zstack.storage.primary.ImageCacheCleanParam; +import org.zstack.storage.primary.PrimaryStorageBase; +import org.zstack.storage.primary.PrimaryStorageCapacityUpdater; import org.zstack.storage.snapshot.reference.VolumeSnapshotReferenceUtils; import org.zstack.storage.volume.VolumeErrors; import org.zstack.storage.volume.VolumeSystemTags; @@ -48,7 +159,13 @@ import javax.persistence.TypedQuery; import java.io.File; -import java.util.*; +import java.util.Collection; +import java.util.Collections; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Set; import java.util.concurrent.Callable; import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; @@ -772,6 +889,7 @@ private void handle(final DeleteImageCacheOnPrimaryStorageMsg msg) { FlowChain chain = FlowChainBuilder.newSimpleFlowChain(); chain.setName(String.format("delete-image-cache-on-smp-primary-storage-%s", msg.getPrimaryStorageUuid())); + // DEBT: NoRollbackFlow — reason TBD chain.then(new NoRollbackFlow() { String __name__ = "delete-volume-cache"; @Override diff --git a/plugin/sharedMountPointPrimaryStorage/src/main/java/org/zstack/storage/primary/smp/SMPPrimaryStorageFactory.java b/plugin/sharedMountPointPrimaryStorage/src/main/java/org/zstack/storage/primary/smp/SMPPrimaryStorageFactory.java index aec81ddb844..54c7e11d17f 100755 --- a/plugin/sharedMountPointPrimaryStorage/src/main/java/org/zstack/storage/primary/smp/SMPPrimaryStorageFactory.java +++ b/plugin/sharedMountPointPrimaryStorage/src/main/java/org/zstack/storage/primary/smp/SMPPrimaryStorageFactory.java @@ -16,7 +16,13 @@ import org.zstack.header.core.workflow.FlowTrigger; import org.zstack.header.core.workflow.NoRollbackFlow; import org.zstack.header.errorcode.OperationFailureException; -import org.zstack.header.host.*; +import org.zstack.header.host.HostDeleteExtensionPoint; +import org.zstack.header.host.HostException; +import org.zstack.header.host.HostInventory; +import org.zstack.header.host.HostStatus; +import org.zstack.header.host.HostVO; +import org.zstack.header.host.HostVO_; +import org.zstack.header.host.HypervisorType; import org.zstack.header.image.ImageConstant; import org.zstack.header.image.ImageInventory; import org.zstack.header.message.MessageReply; @@ -24,10 +30,34 @@ import org.zstack.header.storage.backup.BackupStorageAskInstallPathReply; import org.zstack.header.storage.backup.BackupStorageConstant; import org.zstack.header.storage.backup.DeleteBitsOnBackupStorageMsg; -import org.zstack.header.storage.primary.*; +import org.zstack.header.storage.primary.APIAddPrimaryStorageMsg; +import org.zstack.header.storage.primary.DeleteVolumeBitsOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.InstantiateMemoryVolumeOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.InstantiateRootVolumeFromTemplateOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.InstantiateVolumeOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.PrimaryStorage; +import org.zstack.header.storage.primary.PrimaryStorageAttachExtensionPoint; +import org.zstack.header.storage.primary.PrimaryStorageClusterRefVO; +import org.zstack.header.storage.primary.PrimaryStorageClusterRefVO_; +import org.zstack.header.storage.primary.PrimaryStorageConstant; +import org.zstack.header.storage.primary.PrimaryStorageDetachExtensionPoint; +import org.zstack.header.storage.primary.PrimaryStorageException; +import org.zstack.header.storage.primary.PrimaryStorageFactory; +import org.zstack.header.storage.primary.PrimaryStorageHostRefVO; +import org.zstack.header.storage.primary.PrimaryStorageHostStatus; +import org.zstack.header.storage.primary.PrimaryStorageInventory; +import org.zstack.header.storage.primary.PrimaryStorageType; +import org.zstack.header.storage.primary.PrimaryStorageVO; +import org.zstack.header.storage.primary.PrimaryStorageVO_; +import org.zstack.header.storage.primary.RecalculatePrimaryStorageCapacityMsg; import org.zstack.header.storage.snapshot.CreateTemplateFromVolumeSnapshotExtensionPoint; import org.zstack.header.storage.snapshot.VolumeSnapshotInventory; -import org.zstack.header.volume.*; +import org.zstack.header.volume.AfterInstantiateVolumeExtensionPoint; +import org.zstack.header.volume.CreateQcow2VolumeProvisioningStrategyExtensionPoint; +import org.zstack.header.volume.VolumeFormat; +import org.zstack.header.volume.VolumeInventory; +import org.zstack.header.volume.VolumeVO; +import org.zstack.header.volume.VolumeVO_; import org.zstack.storage.snapshot.PostMarkRootVolumeAsSnapshotExtension; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; @@ -232,6 +262,7 @@ public void rollback(FlowRollback trigger, Map data) { } }); + // DEBT: NoRollbackFlow — in rollback template.setDeleteTemporaryTemplate(new NoRollbackFlow() { String __name__ = "delete-temporary-template"; diff --git a/plugin/sshKeyPair/src/main/java/org/zstack/header/sshkeypair/APIGenerateSshKeyPairMsg.java b/plugin/sshKeyPair/src/main/java/org/zstack/header/sshkeypair/APIGenerateSshKeyPairMsg.java index 1e3e368d59d..611bd79f108 100644 --- a/plugin/sshKeyPair/src/main/java/org/zstack/header/sshkeypair/APIGenerateSshKeyPairMsg.java +++ b/plugin/sshKeyPair/src/main/java/org/zstack/header/sshkeypair/APIGenerateSshKeyPairMsg.java @@ -1,7 +1,8 @@ package org.zstack.header.sshkeypair; import org.springframework.http.HttpMethod; -import org.zstack.header.message.*; +import org.zstack.header.message.APIParam; +import org.zstack.header.message.APISyncCallMessage; import org.zstack.header.rest.RestRequest; import org.zstack.header.tag.TagResourceType; import org.zstack.header.volume.VolumeVO; diff --git a/plugin/sshKeyPair/src/main/java/org/zstack/header/sshkeypair/SshKeyPairRefVO.java b/plugin/sshKeyPair/src/main/java/org/zstack/header/sshkeypair/SshKeyPairRefVO.java index 0b7c087c4c7..db2e3cf7c59 100644 --- a/plugin/sshKeyPair/src/main/java/org/zstack/header/sshkeypair/SshKeyPairRefVO.java +++ b/plugin/sshKeyPair/src/main/java/org/zstack/header/sshkeypair/SshKeyPairRefVO.java @@ -1,6 +1,9 @@ package org.zstack.header.sshkeypair; -import org.zstack.header.vo.*; +import org.zstack.header.vo.ResourceVO; +import org.zstack.header.vo.SoftDeletionCascade; +import org.zstack.header.vo.SoftDeletionCascades; +import org.zstack.header.vo.ToInventory; import org.zstack.header.vo.ForeignKey; import javax.persistence.*; diff --git a/plugin/sshKeyPair/src/main/java/org/zstack/sshkeypair/SshKeyPairAPIInterceptor.java b/plugin/sshKeyPair/src/main/java/org/zstack/sshkeypair/SshKeyPairAPIInterceptor.java index d53fb6db1a9..13159101dac 100644 --- a/plugin/sshKeyPair/src/main/java/org/zstack/sshkeypair/SshKeyPairAPIInterceptor.java +++ b/plugin/sshKeyPair/src/main/java/org/zstack/sshkeypair/SshKeyPairAPIInterceptor.java @@ -9,7 +9,15 @@ import org.zstack.header.identity.AccountResourceRefVO; import org.zstack.header.identity.AccountResourceRefVO_; import org.zstack.header.message.APIMessage; -import org.zstack.header.sshkeypair.*; +import org.zstack.header.sshkeypair.APIAttachSshKeyPairToVmInstanceMsg; +import org.zstack.header.sshkeypair.APICreateSshKeyPairMsg; +import org.zstack.header.sshkeypair.APIDeleteSshKeyPairMsg; +import org.zstack.header.sshkeypair.APIDetachSshKeyPairFromVmInstanceMsg; +import org.zstack.header.sshkeypair.SshKeyPairMessage; +import org.zstack.header.sshkeypair.SshKeyPairRefVO; +import org.zstack.header.sshkeypair.SshKeyPairRefVO_; +import org.zstack.header.sshkeypair.SshKeyPairVO; +import org.zstack.header.sshkeypair.SshKeyPairVO_; import org.zstack.header.vm.VmInstanceState; import org.zstack.header.vm.VmInstanceVO; import org.zstack.header.vm.VmInstanceVO_; diff --git a/plugin/sshKeyPair/src/main/java/org/zstack/sshkeypair/SshKeyPairBase.java b/plugin/sshKeyPair/src/main/java/org/zstack/sshkeypair/SshKeyPairBase.java index 462aec792c4..6040f8f16c2 100644 --- a/plugin/sshKeyPair/src/main/java/org/zstack/sshkeypair/SshKeyPairBase.java +++ b/plugin/sshKeyPair/src/main/java/org/zstack/sshkeypair/SshKeyPairBase.java @@ -18,7 +18,18 @@ import org.zstack.header.message.APIMessage; import org.zstack.header.message.Message; import org.zstack.header.message.MessageReply; -import org.zstack.header.sshkeypair.*; +import org.zstack.header.sshkeypair.APIAttachSshKeyPairToVmInstanceEvent; +import org.zstack.header.sshkeypair.APIAttachSshKeyPairToVmInstanceMsg; +import org.zstack.header.sshkeypair.APIDeleteSshKeyPairEvent; +import org.zstack.header.sshkeypair.APIDeleteSshKeyPairMsg; +import org.zstack.header.sshkeypair.APIDetachSshKeyPairFromVmInstanceEvent; +import org.zstack.header.sshkeypair.APIDetachSshKeyPairFromVmInstanceMsg; +import org.zstack.header.sshkeypair.APIUpdateSshKeyPairEvent; +import org.zstack.header.sshkeypair.APIUpdateSshKeyPairMsg; +import org.zstack.header.sshkeypair.SshKeyPairInventory; +import org.zstack.header.sshkeypair.SshKeyPairRefVO; +import org.zstack.header.sshkeypair.SshKeyPairRefVO_; +import org.zstack.header.sshkeypair.SshKeyPairVO; import org.zstack.header.vm.VmInstanceVO; import org.zstack.kvm.KVMAgentCommands; import org.zstack.kvm.KVMHostAsyncHttpCallMsg; diff --git a/plugin/sshKeyPair/src/main/java/org/zstack/sshkeypair/SshKeyPairManagerImpl.java b/plugin/sshKeyPair/src/main/java/org/zstack/sshkeypair/SshKeyPairManagerImpl.java index 450262ab550..f9fae7b0481 100644 --- a/plugin/sshKeyPair/src/main/java/org/zstack/sshkeypair/SshKeyPairManagerImpl.java +++ b/plugin/sshKeyPair/src/main/java/org/zstack/sshkeypair/SshKeyPairManagerImpl.java @@ -24,7 +24,17 @@ import org.zstack.header.identity.quota.QuotaMessageHandler; import org.zstack.header.message.APIMessage; import org.zstack.header.message.Message; -import org.zstack.header.sshkeypair.*; +import org.zstack.header.sshkeypair.APICreateSshKeyPairEvent; +import org.zstack.header.sshkeypair.APICreateSshKeyPairMsg; +import org.zstack.header.sshkeypair.APIGenerateSshKeyPairMsg; +import org.zstack.header.sshkeypair.APIGenerateSshKeyPairReply; +import org.zstack.header.sshkeypair.SshKeyPairInventory; +import org.zstack.header.sshkeypair.SshKeyPairMessage; +import org.zstack.header.sshkeypair.SshKeyPairRefVO; +import org.zstack.header.sshkeypair.SshKeyPairRefVO_; +import org.zstack.header.sshkeypair.SshKeyPairVO; +import org.zstack.header.sshkeypair.SshKeyPairVO_; +import org.zstack.header.sshkeypair.SshPrivateKeyPairInventory; import org.zstack.header.sshkeypair.quota.SshKeyPairQuotaConstant; import org.zstack.header.sshkeypair.quota.SshKeyPairQuotaDefinition; import org.zstack.header.vm.VmInstanceVO; diff --git a/plugin/sshKeyPair/src/main/java/org/zstack/sshkeypair/SshKeyPairUpgradeExtension.java b/plugin/sshKeyPair/src/main/java/org/zstack/sshkeypair/SshKeyPairUpgradeExtension.java index 348ce357bf2..e434e710364 100644 --- a/plugin/sshKeyPair/src/main/java/org/zstack/sshkeypair/SshKeyPairUpgradeExtension.java +++ b/plugin/sshKeyPair/src/main/java/org/zstack/sshkeypair/SshKeyPairUpgradeExtension.java @@ -9,12 +9,20 @@ import org.zstack.header.Component; import org.zstack.header.identity.AccountResourceRefVO; import org.zstack.header.identity.AccountResourceRefVO_; -import org.zstack.header.sshkeypair.*; +import org.zstack.header.sshkeypair.SshKeyPairGlobalProperty; +import org.zstack.header.sshkeypair.SshKeyPairRefVO; +import org.zstack.header.sshkeypair.SshKeyPairRefVO_; +import org.zstack.header.sshkeypair.SshKeyPairVO; +import org.zstack.header.sshkeypair.SshKeyPairVO_; import org.zstack.header.vm.VmInstanceVO; import javax.persistence.Tuple; import java.sql.Timestamp; -import java.util.*; +import java.util.ArrayList; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; public class SshKeyPairUpgradeExtension implements Component { @Autowired diff --git a/plugin/sugonSdnController/src/main/java/org/zstack/sugonSdnController/controller/SugonSdnController.java b/plugin/sugonSdnController/src/main/java/org/zstack/sugonSdnController/controller/SugonSdnController.java index 976ad9829c5..9255c479028 100644 --- a/plugin/sugonSdnController/src/main/java/org/zstack/sugonSdnController/controller/SugonSdnController.java +++ b/plugin/sugonSdnController/src/main/java/org/zstack/sugonSdnController/controller/SugonSdnController.java @@ -16,22 +16,62 @@ import org.zstack.header.network.l2.APICreateL2NetworkMsg; import org.zstack.header.network.l2.L2NetworkInventory; import org.zstack.header.network.l2.L2NetworkVO; -import org.zstack.header.network.l3.*; -import org.zstack.header.network.sdncontroller.*; +import org.zstack.header.network.l3.APIAddDnsToL3NetworkMsg; +import org.zstack.header.network.l3.APIAddHostRouteToL3NetworkMsg; +import org.zstack.header.network.l3.APIAddIpRangeByNetworkCidrMsg; +import org.zstack.header.network.l3.APIRemoveDnsFromL3NetworkMsg; +import org.zstack.header.network.l3.APIRemoveHostRouteFromL3NetworkMsg; +import org.zstack.header.network.l3.APIUpdateL3NetworkMsg; +import org.zstack.header.network.l3.L3NetworkDnsVO; +import org.zstack.header.network.l3.L3NetworkDnsVO_; +import org.zstack.header.network.l3.L3NetworkHostRouteVO; +import org.zstack.header.network.l3.L3NetworkHostRouteVO_; +import org.zstack.header.network.l3.L3NetworkVO; +import org.zstack.header.network.l3.SdnControllerDisableDHCPMsg; +import org.zstack.header.network.l3.SdnControllerDisableDHCPReply; +import org.zstack.header.network.l3.SdnControllerEnableDHCPMsg; +import org.zstack.header.network.l3.SdnControllerEnableDHCPReply; +import org.zstack.header.network.l3.SdnControllerUpdateDHCPMsg; +import org.zstack.header.network.l3.SdnControllerUpdateDHCPReply; +import org.zstack.header.network.sdncontroller.SdnControllerDeletionMsg; +import org.zstack.header.network.sdncontroller.SdnControllerInventory; +import org.zstack.header.network.sdncontroller.SdnControllerMessage; +import org.zstack.header.network.sdncontroller.SdnControllerVO; +import org.zstack.header.network.sdncontroller.SdnControllerVO_; import org.zstack.network.l2.vxlan.vxlanNetwork.L2VxlanNetworkInventory; import org.zstack.network.l3.L3NetworkSystemTags; import org.zstack.sdnController.SdnController; import org.zstack.sdnController.SdnControllerL2; -import org.zstack.sdnController.header.*; -import org.zstack.sugonSdnController.controller.api.*; -import org.zstack.sugonSdnController.controller.api.types.*; +import org.zstack.sdnController.header.AddSdnControllerMsg; +import org.zstack.sdnController.header.SdnVlanRange; +import org.zstack.sdnController.header.SdnVniRange; +import org.zstack.sugonSdnController.controller.api.Status; +import org.zstack.sugonSdnController.controller.api.TfHttpClient; +import org.zstack.sugonSdnController.controller.api.types.AllocationPoolType; +import org.zstack.sugonSdnController.controller.api.types.DhcpOptionType; +import org.zstack.sugonSdnController.controller.api.types.DhcpOptionsListType; +import org.zstack.sugonSdnController.controller.api.types.Domain; +import org.zstack.sugonSdnController.controller.api.types.IPSegmentType; +import org.zstack.sugonSdnController.controller.api.types.IpamSubnetType; +import org.zstack.sugonSdnController.controller.api.types.NetworkIpam; +import org.zstack.sugonSdnController.controller.api.types.Project; +import org.zstack.sugonSdnController.controller.api.types.RouteTableType; +import org.zstack.sugonSdnController.controller.api.types.RouteType; +import org.zstack.sugonSdnController.controller.api.types.SubnetType; +import org.zstack.sugonSdnController.controller.api.types.VirtualNetwork; +import org.zstack.sugonSdnController.controller.api.types.VnSubnetsType; import org.zstack.sugonSdnController.header.APICreateL2TfNetworkMsg; import org.zstack.utils.StringDSL; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; import org.zstack.utils.network.NetworkUtils; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.List; +import java.util.Optional; +import java.util.Set; import static org.zstack.core.Platform.operr; import static org.zstack.utils.network.NetworkUtils.getSubnetInfo; diff --git a/plugin/sugonSdnController/src/main/java/org/zstack/sugonSdnController/controller/TfSdnController.java b/plugin/sugonSdnController/src/main/java/org/zstack/sugonSdnController/controller/TfSdnController.java index d278b476b38..751fb638b1f 100644 --- a/plugin/sugonSdnController/src/main/java/org/zstack/sugonSdnController/controller/TfSdnController.java +++ b/plugin/sugonSdnController/src/main/java/org/zstack/sugonSdnController/controller/TfSdnController.java @@ -4,7 +4,13 @@ import org.zstack.header.identity.AccountInventory; import org.zstack.header.network.l2.APICreateL2NetworkMsg; import org.zstack.header.network.l2.L2NetworkVO; -import org.zstack.header.network.l3.*; +import org.zstack.header.network.l3.APIAddDnsToL3NetworkMsg; +import org.zstack.header.network.l3.APIAddHostRouteToL3NetworkMsg; +import org.zstack.header.network.l3.APIAddIpRangeByNetworkCidrMsg; +import org.zstack.header.network.l3.APIRemoveDnsFromL3NetworkMsg; +import org.zstack.header.network.l3.APIRemoveHostRouteFromL3NetworkMsg; +import org.zstack.header.network.l3.APIUpdateL3NetworkMsg; +import org.zstack.header.network.l3.L3NetworkVO; import java.util.List; diff --git a/plugin/sugonSdnController/src/main/java/org/zstack/sugonSdnController/controller/neutronClient/TfPortClient.java b/plugin/sugonSdnController/src/main/java/org/zstack/sugonSdnController/controller/neutronClient/TfPortClient.java index 1054f708696..396ff2a00f9 100644 --- a/plugin/sugonSdnController/src/main/java/org/zstack/sugonSdnController/controller/neutronClient/TfPortClient.java +++ b/plugin/sugonSdnController/src/main/java/org/zstack/sugonSdnController/controller/neutronClient/TfPortClient.java @@ -8,14 +8,34 @@ import org.zstack.header.network.sdncontroller.SdnControllerConstant; import org.zstack.header.network.sdncontroller.SdnControllerVO; import org.zstack.header.network.sdncontroller.SdnControllerVO_; -import org.zstack.sugonSdnController.controller.api.*; -import org.zstack.sugonSdnController.controller.api.types.*; +import org.zstack.sugonSdnController.controller.api.Status; +import org.zstack.sugonSdnController.controller.api.TfHttpClient; +import org.zstack.sugonSdnController.controller.api.types.FloatingIp; +import org.zstack.sugonSdnController.controller.api.types.FloatingIpPool; +import org.zstack.sugonSdnController.controller.api.types.IdPermsType; +import org.zstack.sugonSdnController.controller.api.types.InstanceIp; +import org.zstack.sugonSdnController.controller.api.types.IpamSubnetType; +import org.zstack.sugonSdnController.controller.api.types.KeyValuePair; +import org.zstack.sugonSdnController.controller.api.types.KeyValuePairs; +import org.zstack.sugonSdnController.controller.api.types.MacAddressesType; +import org.zstack.sugonSdnController.controller.api.types.PermType2; +import org.zstack.sugonSdnController.controller.api.types.Project; +import org.zstack.sugonSdnController.controller.api.types.RouteTableType; +import org.zstack.sugonSdnController.controller.api.types.RouteType; +import org.zstack.sugonSdnController.controller.api.types.VirtualMachine; +import org.zstack.sugonSdnController.controller.api.types.VirtualMachineInterface; +import org.zstack.sugonSdnController.controller.api.types.VirtualNetwork; +import org.zstack.sugonSdnController.controller.api.types.VnSubnetsType; import org.zstack.utils.StringDSL; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; import java.io.IOException; -import java.util.*; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; +import java.util.Objects; +import java.util.UUID; public class TfPortClient { diff --git a/plugin/sugonSdnController/src/main/java/org/zstack/sugonSdnController/header/SugonApiInterceptor.java b/plugin/sugonSdnController/src/main/java/org/zstack/sugonSdnController/header/SugonApiInterceptor.java index 3f550c1146c..bdcd4816920 100644 --- a/plugin/sugonSdnController/src/main/java/org/zstack/sugonSdnController/header/SugonApiInterceptor.java +++ b/plugin/sugonSdnController/src/main/java/org/zstack/sugonSdnController/header/SugonApiInterceptor.java @@ -8,8 +8,16 @@ import org.zstack.header.apimediator.GlobalApiMessageInterceptor; import org.zstack.header.apimediator.StopRoutingException; import org.zstack.header.message.APIMessage; -import org.zstack.header.network.l2.*; -import org.zstack.header.network.l3.*; +import org.zstack.header.network.l2.APIDeleteL2NetworkEvent; +import org.zstack.header.network.l2.APIDeleteL2NetworkMsg; +import org.zstack.header.network.l2.L2Network; +import org.zstack.header.network.l2.L2NetworkVO; +import org.zstack.header.network.l2.L2NetworkVO_; +import org.zstack.header.network.l3.APIDeleteL3NetworkEvent; +import org.zstack.header.network.l3.APIDeleteL3NetworkMsg; +import org.zstack.header.network.l3.L3Network; +import org.zstack.header.network.l3.L3NetworkVO; +import org.zstack.header.network.l3.L3NetworkVO_; import org.zstack.header.vm.VmInstanceConstant; import org.zstack.header.vm.VmNicVO; import org.zstack.header.vm.VmNicVO_; diff --git a/plugin/sugonSdnController/src/main/java/org/zstack/sugonSdnController/network/TfL2Network.java b/plugin/sugonSdnController/src/main/java/org/zstack/sugonSdnController/network/TfL2Network.java index b2c861251dc..dfc910dfeb6 100644 --- a/plugin/sugonSdnController/src/main/java/org/zstack/sugonSdnController/network/TfL2Network.java +++ b/plugin/sugonSdnController/src/main/java/org/zstack/sugonSdnController/network/TfL2Network.java @@ -11,7 +11,31 @@ import org.zstack.header.errorcode.SysErrors; import org.zstack.header.message.APIMessage; import org.zstack.header.message.Message; -import org.zstack.header.network.l2.*; +import org.zstack.header.network.l2.APIAttachL2NetworkToClusterEvent; +import org.zstack.header.network.l2.APIAttachL2NetworkToClusterMsg; +import org.zstack.header.network.l2.APICreateL2NetworkMsg; +import org.zstack.header.network.l2.APIDeleteL2NetworkEvent; +import org.zstack.header.network.l2.APIDeleteL2NetworkMsg; +import org.zstack.header.network.l2.APIDetachL2NetworkFromClusterEvent; +import org.zstack.header.network.l2.APIDetachL2NetworkFromClusterMsg; +import org.zstack.header.network.l2.APIUpdateL2NetworkEvent; +import org.zstack.header.network.l2.APIUpdateL2NetworkMsg; +import org.zstack.header.network.l2.CheckL2NetworkOnHostMsg; +import org.zstack.header.network.l2.CheckL2NetworkOnHostReply; +import org.zstack.header.network.l2.DeleteL2NetworkMsg; +import org.zstack.header.network.l2.DeleteL2NetworkReply; +import org.zstack.header.network.l2.DetachL2NetworkFromClusterMsg; +import org.zstack.header.network.l2.DetachL2NetworkFromClusterReply; +import org.zstack.header.network.l2.L2NetworkClusterRefVO; +import org.zstack.header.network.l2.L2NetworkClusterRefVO_; +import org.zstack.header.network.l2.L2NetworkDeletionMsg; +import org.zstack.header.network.l2.L2NetworkDeletionReply; +import org.zstack.header.network.l2.L2NetworkDetachFromClusterMsg; +import org.zstack.header.network.l2.L2NetworkDetachFromClusterReply; +import org.zstack.header.network.l2.L2NetworkVO; +import org.zstack.header.network.l2.L2NetworkVO_; +import org.zstack.header.network.l2.PrepareL2NetworkOnHostMsg; +import org.zstack.header.network.l2.PrepareL2NetworkOnHostReply; import org.zstack.network.l2.L2NoVlanNetwork; import org.zstack.sdnController.SdnControllerManager; import org.zstack.header.network.sdncontroller.SdnControllerVO; diff --git a/plugin/sugonSdnController/src/main/java/org/zstack/sugonSdnController/network/TfL2NetworkFactory.java b/plugin/sugonSdnController/src/main/java/org/zstack/sugonSdnController/network/TfL2NetworkFactory.java index 1b660bfb34c..b78f1649ab7 100644 --- a/plugin/sugonSdnController/src/main/java/org/zstack/sugonSdnController/network/TfL2NetworkFactory.java +++ b/plugin/sugonSdnController/src/main/java/org/zstack/sugonSdnController/network/TfL2NetworkFactory.java @@ -7,7 +7,12 @@ import org.zstack.header.core.Completion; import org.zstack.header.core.ReturnValueCompletion; import org.zstack.header.errorcode.ErrorCode; -import org.zstack.header.network.l2.*; +import org.zstack.header.network.l2.APICreateL2NetworkMsg; +import org.zstack.header.network.l2.L2Network; +import org.zstack.header.network.l2.L2NetworkFactory; +import org.zstack.header.network.l2.L2NetworkInventory; +import org.zstack.header.network.l2.L2NetworkType; +import org.zstack.header.network.l2.L2NetworkVO; public class TfL2NetworkFactory implements L2NetworkFactory { private static final L2NetworkType type = new L2NetworkType(SugonSdnControllerConstant.L2_TF_NETWORK_TYPE); diff --git a/plugin/sugonSdnController/src/main/java/org/zstack/sugonSdnController/network/TfL3Network.java b/plugin/sugonSdnController/src/main/java/org/zstack/sugonSdnController/network/TfL3Network.java index af00595b93a..d72db98abab 100644 --- a/plugin/sugonSdnController/src/main/java/org/zstack/sugonSdnController/network/TfL3Network.java +++ b/plugin/sugonSdnController/src/main/java/org/zstack/sugonSdnController/network/TfL3Network.java @@ -10,7 +10,30 @@ import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.errorcode.SysErrors; import org.zstack.header.message.Message; -import org.zstack.header.network.l3.*; +import org.zstack.header.network.l3.APIAddDnsToL3NetworkEvent; +import org.zstack.header.network.l3.APIAddDnsToL3NetworkMsg; +import org.zstack.header.network.l3.APIAddHostRouteToL3NetworkEvent; +import org.zstack.header.network.l3.APIAddHostRouteToL3NetworkMsg; +import org.zstack.header.network.l3.APIAddIpRangeByNetworkCidrEvent; +import org.zstack.header.network.l3.APIAddIpRangeByNetworkCidrMsg; +import org.zstack.header.network.l3.APICheckIpAvailabilityMsg; +import org.zstack.header.network.l3.APICheckIpAvailabilityReply; +import org.zstack.header.network.l3.APIDeleteIpRangeEvent; +import org.zstack.header.network.l3.APIDeleteIpRangeMsg; +import org.zstack.header.network.l3.APIDeleteL3NetworkEvent; +import org.zstack.header.network.l3.APIDeleteL3NetworkMsg; +import org.zstack.header.network.l3.APIRemoveDnsFromL3NetworkEvent; +import org.zstack.header.network.l3.APIRemoveDnsFromL3NetworkMsg; +import org.zstack.header.network.l3.APIRemoveHostRouteFromL3NetworkEvent; +import org.zstack.header.network.l3.APIRemoveHostRouteFromL3NetworkMsg; +import org.zstack.header.network.l3.APIUpdateL3NetworkEvent; +import org.zstack.header.network.l3.APIUpdateL3NetworkMsg; +import org.zstack.header.network.l3.CheckIpAvailabilityReply; +import org.zstack.header.network.l3.IpRangeVO; +import org.zstack.header.network.l3.IpRangeVO_; +import org.zstack.header.network.l3.L3NetworkVO; +import org.zstack.header.network.l3.L3NetworkVO_; +import org.zstack.header.network.l3.UsedIpVO; import org.zstack.network.l3.L3BasicNetwork; import org.zstack.sdnController.SdnController; import org.zstack.sdnController.SdnControllerManager; diff --git a/plugin/sugonSdnController/src/main/java/org/zstack/sugonSdnController/network/TfL3NetworkFactory.java b/plugin/sugonSdnController/src/main/java/org/zstack/sugonSdnController/network/TfL3NetworkFactory.java index be71fded04e..49ee222226f 100644 --- a/plugin/sugonSdnController/src/main/java/org/zstack/sugonSdnController/network/TfL3NetworkFactory.java +++ b/plugin/sugonSdnController/src/main/java/org/zstack/sugonSdnController/network/TfL3NetworkFactory.java @@ -3,7 +3,12 @@ import org.springframework.beans.factory.annotation.Autowired; import org.zstack.sugonSdnController.controller.SugonSdnControllerConstant; import org.zstack.core.db.DatabaseFacade; -import org.zstack.header.network.l3.*; +import org.zstack.header.network.l3.APICreateL3NetworkMsg; +import org.zstack.header.network.l3.L3Network; +import org.zstack.header.network.l3.L3NetworkFactory; +import org.zstack.header.network.l3.L3NetworkInventory; +import org.zstack.header.network.l3.L3NetworkType; +import org.zstack.header.network.l3.L3NetworkVO; /** * @description: diff --git a/plugin/sugonSdnController/src/main/java/org/zstack/sugonSdnController/network/TfMigrateVmBackend.java b/plugin/sugonSdnController/src/main/java/org/zstack/sugonSdnController/network/TfMigrateVmBackend.java index 91a9728d824..933e875e1f3 100644 --- a/plugin/sugonSdnController/src/main/java/org/zstack/sugonSdnController/network/TfMigrateVmBackend.java +++ b/plugin/sugonSdnController/src/main/java/org/zstack/sugonSdnController/network/TfMigrateVmBackend.java @@ -16,9 +16,18 @@ import org.zstack.header.network.l2.L2NetworkVO_; import org.zstack.header.network.l3.L3NetworkVO; import org.zstack.header.network.l3.L3NetworkVO_; -import org.zstack.header.vm.*; +import org.zstack.header.vm.VmInstanceConstant; +import org.zstack.header.vm.VmInstanceInventory; +import org.zstack.header.vm.VmInstanceMigrateExtensionPoint; +import org.zstack.header.vm.VmMigrationType; +import org.zstack.header.vm.VmNicInventory; +import org.zstack.header.vm.VmNicVO; +import org.zstack.header.vm.VmNicVO_; +import org.zstack.header.vm.VmPreMigrationExtensionPoint; import org.zstack.identity.AccountManager; -import org.zstack.kvm.*; +import org.zstack.kvm.KVMAgentCommands; +import org.zstack.kvm.KVMHostAsyncHttpCallMsg; +import org.zstack.kvm.KVMHostAsyncHttpCallReply; import org.zstack.network.service.MtuGetter; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; diff --git a/plugin/sugonSdnController/src/main/java/org/zstack/sugonSdnController/userdata/TfProviderFactory.java b/plugin/sugonSdnController/src/main/java/org/zstack/sugonSdnController/userdata/TfProviderFactory.java index 72358bccc63..114c7a63e45 100644 --- a/plugin/sugonSdnController/src/main/java/org/zstack/sugonSdnController/userdata/TfProviderFactory.java +++ b/plugin/sugonSdnController/src/main/java/org/zstack/sugonSdnController/userdata/TfProviderFactory.java @@ -10,7 +10,16 @@ import org.zstack.header.network.l2.APICreateL2NetworkMsg; import org.zstack.header.network.l2.L2NetworkCreateExtensionPoint; import org.zstack.header.network.l2.L2NetworkInventory; -import org.zstack.header.network.service.*; +import org.zstack.header.network.service.APIAddNetworkServiceProviderMsg; +import org.zstack.header.network.service.NetworkServiceProvider; +import org.zstack.header.network.service.NetworkServiceProviderFactory; +import org.zstack.header.network.service.NetworkServiceProviderInventory; +import org.zstack.header.network.service.NetworkServiceProviderL2NetworkRefVO; +import org.zstack.header.network.service.NetworkServiceProviderType; +import org.zstack.header.network.service.NetworkServiceProviderVO; +import org.zstack.header.network.service.NetworkServiceProviderVO_; +import org.zstack.header.network.service.NetworkServiceTypeVO; +import org.zstack.header.network.service.NetworkServiceTypeVO_; import org.zstack.network.service.userdata.UserdataConstant; import org.zstack.sugonSdnController.controller.SugonSdnControllerConstant; import org.zstack.utils.Utils; diff --git a/plugin/sugonSdnController/src/main/java/org/zstack/sugonSdnController/userdata/TfUserdataBackend.java b/plugin/sugonSdnController/src/main/java/org/zstack/sugonSdnController/userdata/TfUserdataBackend.java index fd91daf5e63..bfbc6778af8 100644 --- a/plugin/sugonSdnController/src/main/java/org/zstack/sugonSdnController/userdata/TfUserdataBackend.java +++ b/plugin/sugonSdnController/src/main/java/org/zstack/sugonSdnController/userdata/TfUserdataBackend.java @@ -16,7 +16,12 @@ import org.zstack.core.workflow.ShareFlow; import org.zstack.header.core.Completion; import org.zstack.header.core.ReturnValueCompletion; -import org.zstack.header.core.workflow.*; +import org.zstack.header.core.workflow.Flow; +import org.zstack.header.core.workflow.FlowChain; +import org.zstack.header.core.workflow.FlowDoneHandler; +import org.zstack.header.core.workflow.FlowErrorHandler; +import org.zstack.header.core.workflow.FlowTrigger; +import org.zstack.header.core.workflow.NoRollbackFlow; import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.host.HostConstant; import org.zstack.header.host.HostStatus; @@ -24,13 +29,30 @@ import org.zstack.header.host.HostVO_; import org.zstack.header.message.MessageReply; import org.zstack.header.network.service.NetworkServiceProviderType; -import org.zstack.header.vm.*; -import org.zstack.kvm.*; +import org.zstack.header.vm.VmInstanceConstant; +import org.zstack.header.vm.VmInstanceInventory; +import org.zstack.header.vm.VmInstanceMigrateExtensionPoint; +import org.zstack.header.vm.VmInstanceState; +import org.zstack.header.vm.VmInstanceVO; +import org.zstack.header.vm.VmNicInventory; +import org.zstack.header.vm.VmNicVO; +import org.zstack.kvm.KVMAgentCommands; +import org.zstack.kvm.KVMHostAsyncHttpCallMsg; +import org.zstack.kvm.KVMHostAsyncHttpCallReply; +import org.zstack.kvm.KVMHostConnectExtensionPoint; +import org.zstack.kvm.KVMHostConnectedContext; +import org.zstack.kvm.KvmCommandFailureChecker; +import org.zstack.kvm.KvmCommandSender; +import org.zstack.kvm.KvmResponseWrapper; import org.zstack.kvm.KVMAgentCommands.AgentResponse; import org.zstack.network.service.NetworkProviderFinder; import org.zstack.network.service.NetworkServiceFilter; import org.zstack.network.service.NetworkServiceManager; -import org.zstack.network.service.userdata.*; +import org.zstack.network.service.userdata.UserdataBackend; +import org.zstack.network.service.userdata.UserdataConstant; +import org.zstack.network.service.userdata.UserdataGlobalConfig; +import org.zstack.network.service.userdata.UserdataGlobalProperty; +import org.zstack.network.service.userdata.UserdataStruct; import org.zstack.utils.CollectionUtils; import org.zstack.utils.Utils; import org.zstack.utils.function.Function; @@ -39,7 +61,11 @@ import javax.persistence.Tuple; import javax.persistence.TypedQuery; -import java.util.*; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; @@ -66,6 +92,7 @@ public class TfUserdataBackend implements UserdataBackend, KVMHostConnectExtensi @Override public Flow createKvmHostConnectingFlow(final KVMHostConnectedContext context) { + // DEBT: NoRollbackFlow — in createKvmHostConnectingFlow return new NoRollbackFlow() { String __name__ = "prepare-userdata"; @@ -423,6 +450,7 @@ public void applyUserdata(final UserdataStruct struct, final Completion completi @Override public void setup() { + // DEBT: NoRollbackFlow — in applyUserdata flow(new NoRollbackFlow() { String __name__ = "apply-user-data"; @@ -505,6 +533,7 @@ public void releaseUserdata(final UserdataStruct struct, final Completion comple chain.then(new ShareFlow() { @Override public void setup() { + // DEBT: NoRollbackFlow — in releaseUserdata flow(new NoRollbackFlow() { String __name__ = "release-user-data"; diff --git a/plugin/vhost/src/main/java/org/zstack/vhost/kvm/KvmVhostNodeServer.java b/plugin/vhost/src/main/java/org/zstack/vhost/kvm/KvmVhostNodeServer.java index 8de40283c07..ef42192004a 100644 --- a/plugin/vhost/src/main/java/org/zstack/vhost/kvm/KvmVhostNodeServer.java +++ b/plugin/vhost/src/main/java/org/zstack/vhost/kvm/KvmVhostNodeServer.java @@ -16,7 +16,14 @@ import org.zstack.header.volume.VolumeInventory; import org.zstack.header.volume.VolumeProtocol; import org.zstack.header.volume.VolumeProtocolCapability; -import org.zstack.kvm.*; +import org.zstack.kvm.KVMAgentCommands; +import org.zstack.kvm.KVMAttachVolumeExtensionPoint; +import org.zstack.kvm.KVMConstant; +import org.zstack.kvm.KVMConvertVolumeExtensionPoint; +import org.zstack.kvm.KVMDetachVolumeExtensionPoint; +import org.zstack.kvm.KVMHostInventory; +import org.zstack.kvm.KVMStartVmExtensionPoint; +import org.zstack.kvm.VolumeTO; import org.zstack.resourceconfig.ResourceConfigFacade; import org.zstack.storage.addon.primary.ExternalPrimaryStorageFactory; diff --git a/plugin/vip/src/main/java/org/zstack/network/service/vip/APICheckVipPortAvailabilityMsg.java b/plugin/vip/src/main/java/org/zstack/network/service/vip/APICheckVipPortAvailabilityMsg.java index 7f8b31e29a0..c625d84a729 100755 --- a/plugin/vip/src/main/java/org/zstack/network/service/vip/APICheckVipPortAvailabilityMsg.java +++ b/plugin/vip/src/main/java/org/zstack/network/service/vip/APICheckVipPortAvailabilityMsg.java @@ -6,7 +6,9 @@ import org.zstack.header.message.APIParam; import org.zstack.header.rest.RestRequest; import org.zstack.header.message.APIGetMessage; -import org.zstack.network.service.vip.*; +import org.zstack.network.service.vip.APICheckVipPortAvailabilityMsg; +import org.zstack.network.service.vip.APICheckVipPortAvailabilityReply; +import org.zstack.network.service.vip.VipVO; @RestRequest( path = "/vips/{vipUuid}/check-port-availability", diff --git a/plugin/vip/src/main/java/org/zstack/network/service/vip/APICreateVipMsg.java b/plugin/vip/src/main/java/org/zstack/network/service/vip/APICreateVipMsg.java index dbc77bac1d7..dba94ce0c6a 100755 --- a/plugin/vip/src/main/java/org/zstack/network/service/vip/APICreateVipMsg.java +++ b/plugin/vip/src/main/java/org/zstack/network/service/vip/APICreateVipMsg.java @@ -6,7 +6,10 @@ import org.zstack.header.message.APIEvent; import org.zstack.header.message.APIMessage; import org.zstack.header.message.APIParam; -import org.zstack.header.network.l3.*; +import org.zstack.header.network.l3.IpAllocateMessage; +import org.zstack.header.network.l3.IpRangeVO; +import org.zstack.header.network.l3.L3NetworkMessage; +import org.zstack.header.network.l3.L3NetworkVO; import org.zstack.header.other.APIAuditor; import org.zstack.header.rest.APINoSee; import org.zstack.header.rest.RestRequest; diff --git a/plugin/vip/src/main/java/org/zstack/network/service/vip/APIGetVipAvailablePortMsg.java b/plugin/vip/src/main/java/org/zstack/network/service/vip/APIGetVipAvailablePortMsg.java index c984efedd66..95eacbe52ff 100755 --- a/plugin/vip/src/main/java/org/zstack/network/service/vip/APIGetVipAvailablePortMsg.java +++ b/plugin/vip/src/main/java/org/zstack/network/service/vip/APIGetVipAvailablePortMsg.java @@ -6,7 +6,9 @@ import org.zstack.header.message.APIParam; import org.zstack.header.rest.RestRequest; import org.zstack.header.message.APIGetMessage; -import org.zstack.network.service.vip.*; +import org.zstack.network.service.vip.APIGetVipAvailablePortMsg; +import org.zstack.network.service.vip.APIGetVipAvailablePortReply; +import org.zstack.network.service.vip.VipVO; @RestRequest( path = "/vips/{vipUuid}/get-port-availability", diff --git a/plugin/vip/src/main/java/org/zstack/network/service/vip/VipApiInterceptor.java b/plugin/vip/src/main/java/org/zstack/network/service/vip/VipApiInterceptor.java index ae04da5813e..32655a95efc 100755 --- a/plugin/vip/src/main/java/org/zstack/network/service/vip/VipApiInterceptor.java +++ b/plugin/vip/src/main/java/org/zstack/network/service/vip/VipApiInterceptor.java @@ -13,7 +13,12 @@ import org.zstack.header.apimediator.ApiMessageInterceptor; import org.zstack.header.apimediator.StopRoutingException; import org.zstack.header.message.APIMessage; -import org.zstack.header.network.l3.*; +import org.zstack.header.network.l3.APIDeleteIpAddressMsg; +import org.zstack.header.network.l3.IpAllocatorType; +import org.zstack.header.network.l3.IpRangeVO; +import org.zstack.header.network.l3.L3NetworkVO; +import org.zstack.header.network.l3.UsedIpVO; +import org.zstack.header.network.l3.UsedIpVO_; import org.zstack.header.vm.APIAttachL3NetworkToVmMsg; import org.zstack.utils.network.IPv6Constants; import org.zstack.utils.network.IPv6NetworkUtils; diff --git a/plugin/vip/src/main/java/org/zstack/network/service/vip/VipBase.java b/plugin/vip/src/main/java/org/zstack/network/service/vip/VipBase.java index 2a8e4df5cce..d48cb06f9a4 100755 --- a/plugin/vip/src/main/java/org/zstack/network/service/vip/VipBase.java +++ b/plugin/vip/src/main/java/org/zstack/network/service/vip/VipBase.java @@ -23,7 +23,11 @@ import org.zstack.header.core.Completion; import org.zstack.header.core.WhileDoneCompletion; import org.zstack.header.core.NopeCompletion; -import org.zstack.header.core.workflow.*; +import org.zstack.header.core.workflow.FlowChain; +import org.zstack.header.core.workflow.FlowDoneHandler; +import org.zstack.header.core.workflow.FlowErrorHandler; +import org.zstack.header.core.workflow.FlowTrigger; +import org.zstack.header.core.workflow.NoRollbackFlow; import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.errorcode.ErrorCodeList; import org.zstack.header.errorcode.OperationFailureException; @@ -48,7 +52,12 @@ import org.zstack.utils.function.ForEachFunction; import org.zstack.utils.logging.CLogger; -import java.util.*; +import java.util.ArrayList; +import java.util.Date; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Set; import java.util.stream.Collectors; import static java.util.Arrays.asList; @@ -593,6 +602,7 @@ protected void deleteVip(VipDeletionMsg msg, Completion completion) { chain.then(new ShareFlow() { @Override public void setup() { + // DEBT: NoRollbackFlow — in deleteVip flow(new NoRollbackFlow() { String __name__ = "pre-release-services-on-vip"; @@ -631,6 +641,7 @@ public void done(ErrorCodeList errorCodeList) { } }); + // DEBT: NoRollbackFlow — in deleteVip flow(new NoRollbackFlow() { String __name__ = "release-services-on-vip"; @@ -647,6 +658,7 @@ public void run(FlowTrigger trigger, Map data) { } }); + // DEBT: NoRollbackFlow — reason TBD flow(new NoRollbackFlow() { String __name__ = "delete-vip"; @@ -738,6 +750,7 @@ protected void handle(APIDeleteVipMsg msg) { @Override public void setup() { if (msg.getDeletionMode() == APIDeleteMessage.DeletionMode.Permissive) { + // DEBT: NoRollbackFlow — in handleApiMessage flow(new NoRollbackFlow() { String __name__ = "delete-vip-permissive-check"; @@ -757,6 +770,7 @@ public void fail(ErrorCode errorCode) { } }); + // DEBT: NoRollbackFlow — reason TBD flow(new NoRollbackFlow() { String __name__ = "delete-vip-permissive-delete"; @@ -776,6 +790,7 @@ public void fail(ErrorCode errorCode) { } }); } else { + // DEBT: NoRollbackFlow — reason TBD flow(new NoRollbackFlow() { String __name__ = "delete-vip-force-delete"; diff --git a/plugin/vip/src/main/java/org/zstack/network/service/vip/VipCascadeExtension.java b/plugin/vip/src/main/java/org/zstack/network/service/vip/VipCascadeExtension.java index e247277c231..f287fc036b2 100755 --- a/plugin/vip/src/main/java/org/zstack/network/service/vip/VipCascadeExtension.java +++ b/plugin/vip/src/main/java/org/zstack/network/service/vip/VipCascadeExtension.java @@ -14,7 +14,10 @@ import org.zstack.header.identity.AccountInventory; import org.zstack.header.identity.AccountVO; import org.zstack.header.message.MessageReply; -import org.zstack.header.network.l3.*; +import org.zstack.header.network.l3.IpRangeInventory; +import org.zstack.header.network.l3.IpRangeVO; +import org.zstack.header.network.l3.L3NetworkInventory; +import org.zstack.header.network.l3.L3NetworkVO; import org.zstack.header.network.l3.NormalIpRangeVO; import org.zstack.utils.CollectionUtils; import org.zstack.utils.Utils; diff --git a/plugin/vip/src/main/java/org/zstack/network/service/vip/VipInventory.java b/plugin/vip/src/main/java/org/zstack/network/service/vip/VipInventory.java index 965a8714d85..7b5a47fa050 100755 --- a/plugin/vip/src/main/java/org/zstack/network/service/vip/VipInventory.java +++ b/plugin/vip/src/main/java/org/zstack/network/service/vip/VipInventory.java @@ -12,7 +12,11 @@ import javax.persistence.Column; import java.io.Serializable; import java.sql.Timestamp; -import java.util.*; +import java.util.ArrayList; +import java.util.Collection; +import java.util.HashSet; +import java.util.List; +import java.util.Set; import java.util.stream.Collectors; /** diff --git a/plugin/vip/src/main/java/org/zstack/network/service/vip/VipManagerImpl.java b/plugin/vip/src/main/java/org/zstack/network/service/vip/VipManagerImpl.java index c4d1e40fbcf..b742ab6adfc 100755 --- a/plugin/vip/src/main/java/org/zstack/network/service/vip/VipManagerImpl.java +++ b/plugin/vip/src/main/java/org/zstack/network/service/vip/VipManagerImpl.java @@ -8,7 +8,7 @@ import org.zstack.utils.network.NetworkUtils; import org.zstack.utils.RangeSet; import org.zstack.utils.Utils; -import java.util.*; +import java.util.Iterator; import java.util.stream.Collectors; import org.springframework.beans.factory.annotation.Autowired; import org.zstack.core.Platform; @@ -27,7 +27,13 @@ import org.zstack.core.workflow.ShareFlow; import org.zstack.header.AbstractService; import org.zstack.header.core.ReturnValueCompletion; -import org.zstack.header.core.workflow.*; +import org.zstack.header.core.workflow.Flow; +import org.zstack.header.core.workflow.FlowChain; +import org.zstack.header.core.workflow.FlowDoneHandler; +import org.zstack.header.core.workflow.FlowErrorHandler; +import org.zstack.header.core.workflow.FlowRollback; +import org.zstack.header.core.workflow.FlowTrigger; +import org.zstack.header.core.workflow.NoRollbackFlow; import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.errorcode.OperationFailureException; import org.zstack.header.errorcode.SysErrors; @@ -40,7 +46,14 @@ import org.zstack.header.message.APIMessage; import org.zstack.header.message.Message; import org.zstack.header.message.MessageReply; -import org.zstack.header.network.l3.*; +import org.zstack.header.network.l3.AllocateIpMsg; +import org.zstack.header.network.l3.AllocateIpReply; +import org.zstack.header.network.l3.L3NetworkConstant; +import org.zstack.header.network.l3.L3NetworkVO; +import org.zstack.header.network.l3.ReturnIpMsg; +import org.zstack.header.network.l3.UsedIpInventory; +import org.zstack.header.network.l3.UsedIpVO; +import org.zstack.header.network.l3.UsedIpVO_; import org.zstack.header.network.service.NetworkServiceType; import org.zstack.identity.AccountManager; import org.zstack.tag.TagManager; @@ -402,6 +415,7 @@ public void run(MessageReply reply) { } }); + // DEBT: NoRollbackFlow — in rollback flow(new NoRollbackFlow() { String __name__ = String.format("create-vip-in-db"); diff --git a/plugin/vip/src/main/java/org/zstack/network/service/vip/VipVO.java b/plugin/vip/src/main/java/org/zstack/network/service/vip/VipVO.java index 19aba29c507..b2e0cc7dc80 100755 --- a/plugin/vip/src/main/java/org/zstack/network/service/vip/VipVO.java +++ b/plugin/vip/src/main/java/org/zstack/network/service/vip/VipVO.java @@ -2,8 +2,14 @@ import org.apache.commons.lang.StringUtils; import org.zstack.header.identity.OwnedByAccount; -import org.zstack.header.network.l3.*; -import org.zstack.header.vo.*; +import org.zstack.header.network.l3.IpRangeEO; +import org.zstack.header.network.l3.L3NetworkEO; +import org.zstack.header.network.l3.L3NetworkVO; +import org.zstack.header.network.l3.NormalIpRangeVO; +import org.zstack.header.network.l3.UsedIpVO; +import org.zstack.header.vo.BaseResource; +import org.zstack.header.vo.NoView; +import org.zstack.header.vo.ResourceVO; import org.zstack.header.vo.EntityGraph; import org.zstack.header.vo.ForeignKey; import org.zstack.header.vo.ForeignKey.ReferenceOption; diff --git a/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/VirtualRouter.java b/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/VirtualRouter.java index de4468664dd..a7a6bbbeb96 100755 --- a/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/VirtualRouter.java +++ b/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/VirtualRouter.java @@ -4,7 +4,20 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Configurable; import org.springframework.transaction.annotation.Transactional; -import org.zstack.appliancevm.*; +import org.zstack.appliancevm.ApplianceVmBase; +import org.zstack.appliancevm.ApplianceVmConstant; +import org.zstack.appliancevm.ApplianceVmFirewallRuleInventory; +import org.zstack.appliancevm.ApplianceVmFirewallRuleVO; +import org.zstack.appliancevm.ApplianceVmFirewallRuleVO_; +import org.zstack.appliancevm.ApplianceVmGlobalConfig; +import org.zstack.appliancevm.ApplianceVmHaStatus; +import org.zstack.appliancevm.ApplianceVmInventory; +import org.zstack.appliancevm.ApplianceVmNicBootstrapExtensionPoint; +import org.zstack.appliancevm.ApplianceVmNicTO; +import org.zstack.appliancevm.ApplianceVmStatus; +import org.zstack.appliancevm.ApplianceVmType; +import org.zstack.appliancevm.ApplianceVmVO; +import org.zstack.appliancevm.ApplianceVmVO_; import org.zstack.appliancevm.ApplianceVmConstant.Params; import org.zstack.core.upgrade.UpgradeChecker; import org.zstack.core.upgrade.UpgradeGlobalConfig; @@ -23,7 +36,13 @@ import org.zstack.header.core.NoErrorCompletion; import org.zstack.header.core.ReturnValueCompletion; import org.zstack.header.core.WhileDoneCompletion; -import org.zstack.header.core.workflow.*; +import org.zstack.header.core.workflow.Flow; +import org.zstack.header.core.workflow.FlowChain; +import org.zstack.header.core.workflow.FlowDoneHandler; +import org.zstack.header.core.workflow.FlowErrorHandler; +import org.zstack.header.core.workflow.FlowRollback; +import org.zstack.header.core.workflow.FlowTrigger; +import org.zstack.header.core.workflow.NoRollbackFlow; import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.errorcode.ErrorCodeList; import org.zstack.header.errorcode.OperationFailureException; @@ -35,13 +54,39 @@ import org.zstack.header.network.l2.L2NetworkGetVniExtensionPoint; import org.zstack.header.network.l2.L2NetworkVO; import org.zstack.header.network.l2.L2NetworkVO_; -import org.zstack.header.network.l3.*; -import org.zstack.header.network.service.*; +import org.zstack.header.network.l3.L3NetworkCategory; +import org.zstack.header.network.l3.L3NetworkVO; +import org.zstack.header.network.l3.L3NetworkVO_; +import org.zstack.header.network.l3.NormalIpRangeVO; +import org.zstack.header.network.l3.NormalIpRangeVO_; +import org.zstack.header.network.l3.UsedIpInventory; +import org.zstack.header.network.l3.UsedIpVO; +import org.zstack.header.network.l3.UsedIpVO_; +import org.zstack.header.network.service.VirtualRouterAfterAttachNicExtensionPoint; +import org.zstack.header.network.service.VirtualRouterAfterDetachNicExtensionPoint; +import org.zstack.header.network.service.VirtualRouterBeforeDetachNicExtensionPoint; +import org.zstack.header.network.service.VirtualRouterHaTask; import org.zstack.header.rest.JsonAsyncRESTCallback; import org.zstack.header.rest.RESTFacade; -import org.zstack.header.vm.*; +import org.zstack.header.vm.APIAttachL3NetworkToVmEvent; +import org.zstack.header.vm.APIAttachL3NetworkToVmMsg; +import org.zstack.header.vm.APIDetachL3NetworkFromVmEvent; +import org.zstack.header.vm.APIDetachL3NetworkFromVmMsg; +import org.zstack.header.vm.DetachNicFromVmMsg; +import org.zstack.header.vm.DetachNicFromVmReply; +import org.zstack.header.vm.VmAttachNicReply; +import org.zstack.header.vm.VmInstanceConstant; +import org.zstack.header.vm.VmInstanceInventory; +import org.zstack.header.vm.VmInstanceState; +import org.zstack.header.vm.VmNicInventory; +import org.zstack.header.vm.VmNicVO; +import org.zstack.header.vm.VmNicVO_; import org.zstack.network.service.MtuGetter; -import org.zstack.network.service.vip.*; +import org.zstack.network.service.vip.VipInventory; +import org.zstack.network.service.vip.VipManager; +import org.zstack.network.service.vip.VipPeerL3NetworkRefVO; +import org.zstack.network.service.vip.VipReleaseExtensionPoint; +import org.zstack.network.service.vip.VipVO; import org.zstack.network.service.virtualrouter.VirtualRouterCommands.PingCmd; import org.zstack.network.service.virtualrouter.VirtualRouterCommands.PingRsp; import org.zstack.network.service.virtualrouter.VirtualRouterConstant.Param; @@ -53,7 +98,15 @@ import org.zstack.utils.logging.CLogger; import org.zstack.utils.network.IPv6Constants; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.HashMap; +import java.util.Iterator; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; +import java.util.Set; import java.util.concurrent.TimeUnit; import static org.zstack.core.Platform.*; @@ -792,6 +845,7 @@ public void rollback(FlowRollback trigger, Map data) { vrVO.getDefaultRouteL3NetworkUuid()); trigger.rollback(); } + // DEBT: NoRollbackFlow — in rollback }).then(new NoRollbackFlow() { String __name__ = "update-virtual-router-backend"; @@ -910,6 +964,7 @@ public void rollback(FlowRollback trigger, Map data) { changeApplianceVmStatus(ApplianceVmStatus.Disconnected); trigger.rollback(); } + // DEBT: NoRollbackFlow — in rollback }).then(new NoRollbackFlow() { String __name__ = "change-appliancevm-status-to-connected"; diff --git a/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/VirtualRouterApiInterceptor.java b/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/VirtualRouterApiInterceptor.java index ea2e5ba66bb..9f2fca5091e 100755 --- a/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/VirtualRouterApiInterceptor.java +++ b/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/VirtualRouterApiInterceptor.java @@ -17,13 +17,20 @@ import org.zstack.header.image.ImageVO; import org.zstack.header.image.ImageVO_; import org.zstack.header.message.APIMessage; -import org.zstack.header.network.l3.*; +import org.zstack.header.network.l3.IpRangeInventory; +import org.zstack.header.network.l3.L3NetworkVO; +import org.zstack.header.network.l3.L3NetworkVO_; +import org.zstack.header.network.l3.NormalIpRangeVO; +import org.zstack.header.network.l3.NormalIpRangeVO_; import org.zstack.header.network.service.NetworkServiceL3NetworkRefVO; import org.zstack.header.network.service.NetworkServiceL3NetworkRefVO_; import org.zstack.header.network.service.NetworkServiceType; import org.zstack.header.query.QueryCondition; import org.zstack.header.query.QueryOp; -import org.zstack.header.vm.*; +import org.zstack.header.vm.VmInstanceConstant; +import org.zstack.header.vm.VmInstanceMessage; +import org.zstack.header.vm.VmNicHelper; +import org.zstack.header.vm.VmNicVO; import org.zstack.identity.QuotaUtil; import org.zstack.network.l3.IpRangeHelper; import org.zstack.network.service.lb.APIAddBackendServerToServerGroupMsg; diff --git a/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/VirtualRouterApplianceVmFactory.java b/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/VirtualRouterApplianceVmFactory.java index 366c8a1f903..7c531669445 100755 --- a/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/VirtualRouterApplianceVmFactory.java +++ b/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/VirtualRouterApplianceVmFactory.java @@ -2,7 +2,11 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; -import org.zstack.appliancevm.*; +import org.zstack.appliancevm.ApplianceVm; +import org.zstack.appliancevm.ApplianceVmSpec; +import org.zstack.appliancevm.ApplianceVmSubTypeFactory; +import org.zstack.appliancevm.ApplianceVmType; +import org.zstack.appliancevm.ApplianceVmVO; import org.zstack.core.db.DatabaseFacade; /** diff --git a/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/VirtualRouterManagerImpl.java b/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/VirtualRouterManagerImpl.java index 610331e5f6c..0c94af8d90a 100755 --- a/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/VirtualRouterManagerImpl.java +++ b/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/VirtualRouterManagerImpl.java @@ -3,7 +3,23 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.util.UriComponentsBuilder; -import org.zstack.appliancevm.*; +import org.zstack.appliancevm.ApplianceVm; +import org.zstack.appliancevm.ApplianceVmCanonicalEvents; +import org.zstack.appliancevm.ApplianceVmConstant; +import org.zstack.appliancevm.ApplianceVmFacade; +import org.zstack.appliancevm.ApplianceVmFactory; +import org.zstack.appliancevm.ApplianceVmFirewallProtocol; +import org.zstack.appliancevm.ApplianceVmFirewallRuleInventory; +import org.zstack.appliancevm.ApplianceVmHaStatus; +import org.zstack.appliancevm.ApplianceVmInventory; +import org.zstack.appliancevm.ApplianceVmNicSpec; +import org.zstack.appliancevm.ApplianceVmSpec; +import org.zstack.appliancevm.ApplianceVmStatus; +import org.zstack.appliancevm.ApplianceVmSubTypeFactory; +import org.zstack.appliancevm.ApplianceVmType; +import org.zstack.appliancevm.ApplianceVmVO; +import org.zstack.appliancevm.ApplianceVmVO_; +import org.zstack.appliancevm.ApvmCascadeFilterExtensionPoint; import org.zstack.compute.vm.VmNicExtensionPoint; import org.zstack.compute.vm.VmSystemTags; import org.zstack.core.CoreGlobalProperty; @@ -11,11 +27,21 @@ import org.zstack.core.ansible.AnsibleFacade; import org.zstack.core.asyncbatch.While; import org.zstack.core.cascade.CascadeAction; -import org.zstack.core.cloudbus.*; +import org.zstack.core.cloudbus.CloudBus; +import org.zstack.core.cloudbus.CloudBusCallBack; +import org.zstack.core.cloudbus.EventCallback; +import org.zstack.core.cloudbus.EventFacade; +import org.zstack.core.cloudbus.MessageSafe; +import org.zstack.core.cloudbus.ResourceDestinationMaker; import org.zstack.core.componentloader.PluginRegistry; import org.zstack.core.config.GlobalConfigException; import org.zstack.core.config.GlobalConfigValidatorExtensionPoint; -import org.zstack.core.db.*; +import org.zstack.core.db.DatabaseFacade; +import org.zstack.core.db.GLock; +import org.zstack.core.db.Q; +import org.zstack.core.db.SQL; +import org.zstack.core.db.SQLBatchWithReturn; +import org.zstack.core.db.SimpleQuery; import org.zstack.core.db.SimpleQuery.Op; import org.zstack.core.thread.ChainTask; import org.zstack.core.thread.SyncTaskChain; @@ -28,14 +54,24 @@ import org.zstack.header.configuration.InstanceOfferingInventory; import org.zstack.header.configuration.InstanceOfferingState; import org.zstack.header.configuration.InstanceOfferingVO; -import org.zstack.header.core.*; -import org.zstack.header.core.workflow.*; +import org.zstack.header.core.Completion; +import org.zstack.header.core.FutureCompletion; +import org.zstack.header.core.NoErrorCompletion; +import org.zstack.header.core.ReturnValueCompletion; +import org.zstack.header.core.WhileDoneCompletion; +import org.zstack.header.core.workflow.Flow; +import org.zstack.header.core.workflow.FlowChain; +import org.zstack.header.core.workflow.FlowException; import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.errorcode.ErrorCodeList; import org.zstack.header.errorcode.OperationFailureException; import org.zstack.header.exception.CloudRuntimeException; import org.zstack.header.host.HypervisorType; -import org.zstack.header.image.*; +import org.zstack.header.image.APIAddImageMsg; +import org.zstack.header.image.ImageBootMode; +import org.zstack.header.image.ImageInventory; +import org.zstack.header.image.ImageVO; +import org.zstack.header.image.ImageVO_; import org.zstack.header.managementnode.ManagementNodeReadyExtensionPoint; import org.zstack.header.managementnode.PrepareDbInitialValueExtensionPoint; import org.zstack.header.message.APICreateMessage; @@ -43,24 +79,100 @@ import org.zstack.header.message.Message; import org.zstack.header.message.MessageReply; import org.zstack.header.network.NetworkException; -import org.zstack.header.network.l2.*; -import org.zstack.header.network.l3.*; -import org.zstack.header.network.service.*; +import org.zstack.header.network.l2.APICreateL2NetworkMsg; +import org.zstack.header.network.l2.L2NetworkConstant; +import org.zstack.header.network.l2.L2NetworkCreateExtensionPoint; +import org.zstack.header.network.l2.L2NetworkInventory; +import org.zstack.header.network.l2.VSwitchType; +import org.zstack.header.network.l3.APIAddIpv6RangeByNetworkCidrMsg; +import org.zstack.header.network.l3.APIAddIpv6RangeMsg; +import org.zstack.header.network.l3.APICreateL3NetworkMsg; +import org.zstack.header.network.l3.AfterAddIpRangeExtensionPoint; +import org.zstack.header.network.l3.AllocateIpMsg; +import org.zstack.header.network.l3.AllocateIpReply; +import org.zstack.header.network.l3.IpRangeInventory; +import org.zstack.header.network.l3.IpRangeVO; +import org.zstack.header.network.l3.IpRangeVO_; +import org.zstack.header.network.l3.L3Network; +import org.zstack.header.network.l3.L3NetworkCategory; +import org.zstack.header.network.l3.L3NetworkConstant; +import org.zstack.header.network.l3.L3NetworkInventory; +import org.zstack.header.network.l3.L3NetworkVO; +import org.zstack.header.network.l3.L3NetworkVO_; +import org.zstack.header.network.l3.NormalIpRangeVO; +import org.zstack.header.network.l3.NormalIpRangeVO_; +import org.zstack.header.network.l3.ReturnIpMsg; +import org.zstack.header.network.l3.UsedIpInventory; +import org.zstack.header.network.l3.UsedIpVO; +import org.zstack.header.network.service.APIAttachNetworkServiceToL3NetworkMsg; +import org.zstack.header.network.service.NetworkServiceL3NetworkRefVO; +import org.zstack.header.network.service.NetworkServiceL3NetworkRefVO_; +import org.zstack.header.network.service.NetworkServiceProvider; +import org.zstack.header.network.service.NetworkServiceProviderInventory; +import org.zstack.header.network.service.NetworkServiceProviderL2NetworkRefVO; +import org.zstack.header.network.service.NetworkServiceProviderType; +import org.zstack.header.network.service.NetworkServiceProviderVO; +import org.zstack.header.network.service.NetworkServiceProviderVO_; +import org.zstack.header.network.service.NetworkServiceType; +import org.zstack.header.network.service.VirtualRouterHaCallbackInterface; +import org.zstack.header.network.service.VirtualRouterHaCallbackStruct; +import org.zstack.header.network.service.VirtualRouterHaGetCallbackExtensionPoint; +import org.zstack.header.network.service.VirtualRouterHaGroupExtensionPoint; +import org.zstack.header.network.service.VirtualRouterHaTask; import org.zstack.header.query.AddExpandedQueryExtensionPoint; import org.zstack.header.query.ExpandedQueryAliasStruct; import org.zstack.header.query.ExpandedQueryStruct; import org.zstack.header.query.QueryBelongFilter; -import org.zstack.header.tag.*; -import org.zstack.header.vm.*; +import org.zstack.header.tag.SystemTagCreateMessageValidator; +import org.zstack.header.tag.SystemTagInventory; +import org.zstack.header.tag.SystemTagLifeCycleListener; +import org.zstack.header.tag.SystemTagResourceDeletionOperator; +import org.zstack.header.tag.SystemTagVO; +import org.zstack.header.tag.SystemTagVO_; +import org.zstack.header.tag.SystemTagValidator; +import org.zstack.header.vm.RebootVmInstanceMsg; +import org.zstack.header.vm.StopVmInstanceMsg; +import org.zstack.header.vm.StopVmType; +import org.zstack.header.vm.VmCanonicalEvents; +import org.zstack.header.vm.VmInstanceConstant; +import org.zstack.header.vm.VmInstanceEO; +import org.zstack.header.vm.VmInstanceInventory; +import org.zstack.header.vm.VmInstanceMigrateExtensionPoint; +import org.zstack.header.vm.VmInstanceState; +import org.zstack.header.vm.VmMachineType; +import org.zstack.header.vm.VmMigrationType; +import org.zstack.header.vm.VmNicInventory; +import org.zstack.header.vm.VmNicVO; +import org.zstack.header.vm.VmNicVO_; +import org.zstack.header.vm.VmPreMigrationExtensionPoint; import org.zstack.identity.Account; import org.zstack.identity.AccountManager; import org.zstack.image.ImageSystemTags; import org.zstack.network.l3.IpRangeHelper; import org.zstack.network.l3.L3NetworkSystemTags; import org.zstack.network.service.NetworkServiceManager; -import org.zstack.network.service.eip.*; -import org.zstack.network.service.lb.*; -import org.zstack.network.service.vip.*; +import org.zstack.network.service.eip.EipConstant; +import org.zstack.network.service.eip.EipInventory; +import org.zstack.network.service.eip.FilterVmNicsForEipInVirtualRouterExtensionPoint; +import org.zstack.network.service.eip.GetL3NetworkForEipInVirtualRouterExtensionPoint; +import org.zstack.network.service.lb.APIGetCandidateVmNicsForLoadBalancerMsg; +import org.zstack.network.service.lb.GetCandidateVmNicsForLoadBalancerExtensionPoint; +import org.zstack.network.service.lb.GetPeerL3NetworksForLoadBalancerExtensionPoint; +import org.zstack.network.service.lb.LoadBalancerConstants; +import org.zstack.network.service.lb.LoadBalancerGlobalProperty; +import org.zstack.network.service.lb.LoadBalancerListenerVO; +import org.zstack.network.service.lb.LoadBalancerSystemTags; +import org.zstack.network.service.lb.LoadBalancerVO; +import org.zstack.network.service.vip.AfterAcquireVipExtensionPoint; +import org.zstack.network.service.vip.VipCleanupExtensionPoint; +import org.zstack.network.service.vip.VipGetUsedPortRangeExtensionPoint; +import org.zstack.network.service.vip.VipInventory; +import org.zstack.network.service.vip.VipNetworkServicesRefVO; +import org.zstack.network.service.vip.VipNetworkServicesRefVO_; +import org.zstack.network.service.vip.VipPeerL3NetworkRefVO; +import org.zstack.network.service.vip.VipState; +import org.zstack.network.service.vip.VipVO; +import org.zstack.network.service.vip.VipVO_; import org.zstack.network.service.virtualrouter.eip.VirtualRouterEipRefInventory; import org.zstack.network.service.virtualrouter.ha.VirtualRouterHaBackend; import org.zstack.network.service.virtualrouter.lb.LbConfigProxy; @@ -75,7 +187,12 @@ import org.zstack.network.service.virtualrouter.VirtualRouterCommands.*; import org.zstack.tag.SystemTagCreator; import org.zstack.tag.TagManager; -import org.zstack.utils.*; +import org.zstack.utils.CollectionUtils; +import org.zstack.utils.DebugUtils; +import org.zstack.utils.RangeSet; +import org.zstack.utils.TagUtils; +import org.zstack.utils.Utils; +import org.zstack.utils.VipUseForList; import org.zstack.utils.function.Function; import org.zstack.utils.gson.JSONObjectUtil; import org.zstack.utils.logging.CLogger; @@ -84,7 +201,16 @@ import org.zstack.utils.network.NetworkUtils; import javax.persistence.TypedQuery; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import java.util.Set; import java.util.concurrent.Callable; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.TimeUnit; diff --git a/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/VirtualRouterOfferingFactory.java b/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/VirtualRouterOfferingFactory.java index 9efe97338d2..2644f149726 100755 --- a/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/VirtualRouterOfferingFactory.java +++ b/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/VirtualRouterOfferingFactory.java @@ -3,7 +3,12 @@ import org.springframework.beans.factory.annotation.Autowired; import org.zstack.core.db.DatabaseFacade; import org.zstack.core.db.SQLBatchWithReturn; -import org.zstack.header.configuration.*; +import org.zstack.header.configuration.APICreateInstanceOfferingMsg; +import org.zstack.header.configuration.InstanceOffering; +import org.zstack.header.configuration.InstanceOfferingFactory; +import org.zstack.header.configuration.InstanceOfferingInventory; +import org.zstack.header.configuration.InstanceOfferingType; +import org.zstack.header.configuration.InstanceOfferingVO; public class VirtualRouterOfferingFactory implements InstanceOfferingFactory { static final InstanceOfferingType type = new InstanceOfferingType(VirtualRouterConstant.VIRTUAL_ROUTER_OFFERING_TYPE); diff --git a/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/VirtualRouterProvider.java b/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/VirtualRouterProvider.java index 11b7cb68de8..13d9bafa86b 100755 --- a/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/VirtualRouterProvider.java +++ b/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/VirtualRouterProvider.java @@ -1,7 +1,7 @@ package org.zstack.network.service.virtualrouter; import org.zstack.header.message.Message; -import org.zstack.header.network.*; +import org.zstack.header.network.NetworkException; import org.zstack.header.network.l2.L2NetworkInventory; import org.zstack.header.network.service.APIAttachNetworkServiceProviderToL2NetworkMsg; import org.zstack.header.network.service.APIDetachNetworkServiceProviderFromL2NetworkMsg; diff --git a/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/VirtualRouterProviderFactory.java b/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/VirtualRouterProviderFactory.java index 8dd76c7fdb0..2fd84a6e7d6 100755 --- a/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/VirtualRouterProviderFactory.java +++ b/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/VirtualRouterProviderFactory.java @@ -2,7 +2,11 @@ import org.springframework.beans.factory.annotation.Autowired; import org.zstack.core.db.DatabaseFacade; -import org.zstack.header.network.service.*; +import org.zstack.header.network.service.APIAddNetworkServiceProviderMsg; +import org.zstack.header.network.service.NetworkServiceProvider; +import org.zstack.header.network.service.NetworkServiceProviderFactory; +import org.zstack.header.network.service.NetworkServiceProviderType; +import org.zstack.header.network.service.NetworkServiceProviderVO; public class VirtualRouterProviderFactory implements NetworkServiceProviderFactory { public static final NetworkServiceProviderType type = new NetworkServiceProviderType(VirtualRouterConstant.VIRTUAL_ROUTER_PROVIDER_TYPE); diff --git a/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/VirtualRouterVmInventory.java b/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/VirtualRouterVmInventory.java index afc3ec1d2f1..64076bcf2f1 100755 --- a/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/VirtualRouterVmInventory.java +++ b/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/VirtualRouterVmInventory.java @@ -4,7 +4,11 @@ import org.zstack.header.configuration.PythonClassInventory; import org.zstack.header.network.l3.UsedIpInventory; import org.zstack.header.network.l3.UsedIpVO; -import org.zstack.header.query.*; +import org.zstack.header.query.ExpandedQueries; +import org.zstack.header.query.ExpandedQuery; +import org.zstack.header.query.ExpandedQueryAlias; +import org.zstack.header.query.ExpandedQueryAliases; +import org.zstack.header.query.Queryable; import org.zstack.header.search.Inventory; import org.zstack.header.search.Parent; import org.zstack.header.vm.VmNicInventory; diff --git a/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/dhcp/VirtualRouterDhcpBackend.java b/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/dhcp/VirtualRouterDhcpBackend.java index 8f8f105b84d..00a0149a791 100755 --- a/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/dhcp/VirtualRouterDhcpBackend.java +++ b/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/dhcp/VirtualRouterDhcpBackend.java @@ -16,14 +16,31 @@ import org.zstack.header.network.l3.L3NetworkCategory; import org.zstack.header.network.l3.L3NetworkInventory; import org.zstack.header.network.l3.L3NetworkVO; -import org.zstack.header.network.service.*; +import org.zstack.header.network.service.DhcpStruct; +import org.zstack.header.network.service.NetworkServiceDhcpBackend; +import org.zstack.header.network.service.NetworkServiceProviderType; +import org.zstack.header.network.service.NetworkServiceType; +import org.zstack.header.network.service.VirtualRouterHaCallbackInterface; +import org.zstack.header.network.service.VirtualRouterHaCallbackStruct; +import org.zstack.header.network.service.VirtualRouterHaGetCallbackExtensionPoint; +import org.zstack.header.network.service.VirtualRouterHaTask; import org.zstack.header.vm.VmInstanceConstant; import org.zstack.header.vm.VmInstanceInventory; import org.zstack.header.vm.VmInstanceSpec; import org.zstack.header.vm.VmNicInventory; import org.zstack.network.l3.L3NetworkSystemTags; import org.zstack.network.service.NetworkServiceManager; -import org.zstack.network.service.virtualrouter.*; +import org.zstack.network.service.virtualrouter.AbstractVirtualRouterBackend; +import org.zstack.network.service.virtualrouter.VirtualRouter; +import org.zstack.network.service.virtualrouter.VirtualRouterAsyncHttpCallMsg; +import org.zstack.network.service.virtualrouter.VirtualRouterAsyncHttpCallReply; +import org.zstack.network.service.virtualrouter.VirtualRouterCommands; +import org.zstack.network.service.virtualrouter.VirtualRouterConstant; +import org.zstack.network.service.virtualrouter.VirtualRouterNicMetaData; +import org.zstack.network.service.virtualrouter.VirtualRouterRoleManager; +import org.zstack.network.service.virtualrouter.VirtualRouterStruct; +import org.zstack.network.service.virtualrouter.VirtualRouterVmInventory; +import org.zstack.network.service.virtualrouter.VirtualRouterVmVO; import org.zstack.network.service.virtualrouter.VirtualRouterCommands.AddDhcpEntryRsp; import org.zstack.network.service.virtualrouter.ha.VirtualRouterHaBackend; import org.zstack.network.service.virtualrouter.vyos.VyosConstants; diff --git a/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/dhcp/VirtualRouterSyncDHCPOnStartFlow.java b/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/dhcp/VirtualRouterSyncDHCPOnStartFlow.java index 4f48c6df73d..0f46b1ad478 100755 --- a/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/dhcp/VirtualRouterSyncDHCPOnStartFlow.java +++ b/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/dhcp/VirtualRouterSyncDHCPOnStartFlow.java @@ -28,7 +28,13 @@ import org.zstack.header.vm.VmInstanceState; import org.zstack.header.vm.VmNicVO; import org.zstack.header.vm.VmNicVO_; -import org.zstack.network.service.virtualrouter.*; +import org.zstack.network.service.virtualrouter.VirtualRouterAsyncHttpCallMsg; +import org.zstack.network.service.virtualrouter.VirtualRouterAsyncHttpCallReply; +import org.zstack.network.service.virtualrouter.VirtualRouterConstant; +import org.zstack.network.service.virtualrouter.VirtualRouterManager; +import org.zstack.network.service.virtualrouter.VirtualRouterRoleManager; +import org.zstack.network.service.virtualrouter.VirtualRouterSystemTags; +import org.zstack.network.service.virtualrouter.VirtualRouterVmInventory; import org.zstack.network.service.virtualrouter.VirtualRouterCommands.AddDhcpEntryCmd; import org.zstack.network.service.virtualrouter.VirtualRouterCommands.AddDhcpEntryRsp; import org.zstack.network.service.virtualrouter.VirtualRouterCommands.DhcpInfo; @@ -37,7 +43,11 @@ import javax.persistence.Tuple; import javax.persistence.TypedQuery; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; import static org.zstack.core.Platform.operr; import static org.zstack.utils.clouderrorcode.CloudOperationsErrorCode.*; diff --git a/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/dns/VirtualRouterCentralizedDnsBackend.java b/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/dns/VirtualRouterCentralizedDnsBackend.java index a561aca6484..e6165d9f5ef 100755 --- a/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/dns/VirtualRouterCentralizedDnsBackend.java +++ b/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/dns/VirtualRouterCentralizedDnsBackend.java @@ -22,7 +22,15 @@ import org.zstack.header.network.l3.L3NetworkConstant; import org.zstack.header.network.l3.L3NetworkInventory; import org.zstack.header.network.l3.L3NetworkVO; -import org.zstack.header.network.service.*; +import org.zstack.header.network.service.DnsServiceExtensionPoint; +import org.zstack.header.network.service.ForwardDnsStruct; +import org.zstack.header.network.service.NetworkServiceCentralizedDnsBackend; +import org.zstack.header.network.service.NetworkServiceL3NetworkRefInventory; +import org.zstack.header.network.service.NetworkServiceL3NetworkRefVO; +import org.zstack.header.network.service.NetworkServiceProviderType; +import org.zstack.header.network.service.NetworkServiceProviderVO; +import org.zstack.header.network.service.NetworkServiceProviderVO_; +import org.zstack.header.network.service.NetworkServiceType; import org.zstack.header.vm.VmInstanceInventory; import org.zstack.header.vm.VmInstanceMigrateExtensionPoint; import org.zstack.header.vm.VmInstanceSpec; @@ -32,7 +40,12 @@ import org.zstack.kvm.KVMSystemTags; import org.zstack.network.l3.IpRangeHelper; import org.zstack.network.service.NetworkServiceManager; -import org.zstack.network.service.virtualrouter.*; +import org.zstack.network.service.virtualrouter.AbstractVirtualRouterBackend; +import org.zstack.network.service.virtualrouter.VirtualRouterCommands; +import org.zstack.network.service.virtualrouter.VirtualRouterConstant; +import org.zstack.network.service.virtualrouter.VirtualRouterGlobalProperty; +import org.zstack.network.service.virtualrouter.VirtualRouterStruct; +import org.zstack.network.service.virtualrouter.VirtualRouterVmInventory; import org.zstack.network.service.virtualrouter.vyos.VyosConstants; import org.zstack.network.service.virtualrouter.vyos.VyosOfferingSelector; import org.zstack.utils.TagUtils; diff --git a/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/dns/VirtualRouterDnsBackend.java b/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/dns/VirtualRouterDnsBackend.java index 33f5a4942e5..365b69fc26f 100755 --- a/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/dns/VirtualRouterDnsBackend.java +++ b/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/dns/VirtualRouterDnsBackend.java @@ -14,10 +14,33 @@ import org.zstack.header.core.ReturnValueCompletion; import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.message.MessageReply; -import org.zstack.header.network.l3.*; -import org.zstack.header.network.service.*; -import org.zstack.header.vm.*; -import org.zstack.network.service.virtualrouter.*; +import org.zstack.header.network.l3.L3Network; +import org.zstack.header.network.l3.L3NetworkConstant; +import org.zstack.header.network.l3.L3NetworkDnsVO; +import org.zstack.header.network.l3.L3NetworkInventory; +import org.zstack.header.network.l3.L3NetworkVO; +import org.zstack.header.network.service.DnsStruct; +import org.zstack.header.network.service.NetworkServiceDnsBackend; +import org.zstack.header.network.service.NetworkServiceL3NetworkRefVO; +import org.zstack.header.network.service.NetworkServiceL3NetworkRefVO_; +import org.zstack.header.network.service.NetworkServiceProviderType; +import org.zstack.header.network.service.NetworkServiceType; +import org.zstack.header.network.service.VirtualRouterAfterAttachNicExtensionPoint; +import org.zstack.header.network.service.VirtualRouterBeforeDetachNicExtensionPoint; +import org.zstack.header.vm.VmInstanceConstant; +import org.zstack.header.vm.VmInstanceSpec; +import org.zstack.header.vm.VmInstanceState; +import org.zstack.header.vm.VmNicInventory; +import org.zstack.header.vm.VmNicVO; +import org.zstack.network.service.virtualrouter.AbstractVirtualRouterBackend; +import org.zstack.network.service.virtualrouter.VirtualRouterAsyncHttpCallMsg; +import org.zstack.network.service.virtualrouter.VirtualRouterAsyncHttpCallReply; +import org.zstack.network.service.virtualrouter.VirtualRouterCommands; +import org.zstack.network.service.virtualrouter.VirtualRouterConstant; +import org.zstack.network.service.virtualrouter.VirtualRouterNicMetaData; +import org.zstack.network.service.virtualrouter.VirtualRouterRoleManager; +import org.zstack.network.service.virtualrouter.VirtualRouterStruct; +import org.zstack.network.service.virtualrouter.VirtualRouterVmInventory; import org.zstack.network.service.virtualrouter.VirtualRouterCommands.*; import org.zstack.utils.Utils; import org.zstack.utils.gson.JSONObjectUtil; @@ -25,7 +48,11 @@ import static org.zstack.core.Platform.operr; -import java.util.*; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; import javax.persistence.Tuple; import static org.zstack.utils.clouderrorcode.CloudOperationsErrorCode.*; diff --git a/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/dns/VirtualRouterSyncDnsOnStartFlow.java b/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/dns/VirtualRouterSyncDnsOnStartFlow.java index 5f1095515ef..027aca0863d 100755 --- a/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/dns/VirtualRouterSyncDnsOnStartFlow.java +++ b/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/dns/VirtualRouterSyncDnsOnStartFlow.java @@ -21,7 +21,13 @@ import org.zstack.header.network.service.NetworkServiceType; import org.zstack.header.vm.VmInstanceConstant; import org.zstack.header.vm.VmNicInventory; -import org.zstack.network.service.virtualrouter.*; +import org.zstack.network.service.virtualrouter.VirtualRouterAsyncHttpCallMsg; +import org.zstack.network.service.virtualrouter.VirtualRouterAsyncHttpCallReply; +import org.zstack.network.service.virtualrouter.VirtualRouterConstant; +import org.zstack.network.service.virtualrouter.VirtualRouterManager; +import org.zstack.network.service.virtualrouter.VirtualRouterRoleManager; +import org.zstack.network.service.virtualrouter.VirtualRouterSystemTags; +import org.zstack.network.service.virtualrouter.VirtualRouterVmInventory; import org.zstack.network.service.virtualrouter.VirtualRouterCommands.DnsInfo; import org.zstack.network.service.virtualrouter.VirtualRouterCommands.SetDnsCmd; import org.zstack.network.service.virtualrouter.VirtualRouterCommands.SetDnsRsp; @@ -32,7 +38,10 @@ import static org.zstack.core.Platform.operr; -import java.util.*; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.Optional; import static org.zstack.utils.clouderrorcode.CloudOperationsErrorCode.*; @Configurable(preConstruction = true, autowire = Autowire.BY_TYPE) diff --git a/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/eip/VirtualRouterEipBackend.java b/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/eip/VirtualRouterEipBackend.java index ffa18009a9c..9a9987262fc 100755 --- a/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/eip/VirtualRouterEipBackend.java +++ b/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/eip/VirtualRouterEipBackend.java @@ -7,13 +7,21 @@ import org.zstack.core.cloudbus.CloudBus; import org.zstack.core.cloudbus.CloudBusCallBack; import org.zstack.core.cloudbus.EventFacade; -import org.zstack.core.db.*; +import org.zstack.core.db.DatabaseFacade; +import org.zstack.core.db.Q; +import org.zstack.core.db.SQL; import org.zstack.core.errorcode.ErrorFacade; import org.zstack.core.workflow.FlowChainBuilder; import org.zstack.header.core.Completion; import org.zstack.header.core.NoErrorCompletion; import org.zstack.header.core.ReturnValueCompletion; -import org.zstack.header.core.workflow.*; +import org.zstack.header.core.workflow.Flow; +import org.zstack.header.core.workflow.FlowChain; +import org.zstack.header.core.workflow.FlowDoneHandler; +import org.zstack.header.core.workflow.FlowErrorHandler; +import org.zstack.header.core.workflow.FlowRollback; +import org.zstack.header.core.workflow.FlowTrigger; +import org.zstack.header.core.workflow.NoRollbackFlow; import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.errorcode.OperationFailureException; import org.zstack.header.message.MessageReply; @@ -21,11 +29,40 @@ import org.zstack.header.network.l3.L3NetworkVO; import org.zstack.header.network.l3.UsedIpInventory; import org.zstack.header.network.l3.UsedIpVO; -import org.zstack.header.network.service.*; -import org.zstack.header.vm.*; +import org.zstack.header.network.service.FirewallCanonicalEvents; +import org.zstack.header.network.service.VirtualRouterAfterAttachNicExtensionPoint; +import org.zstack.header.network.service.VirtualRouterBeforeDetachNicExtensionPoint; +import org.zstack.header.network.service.VirtualRouterHaCallbackInterface; +import org.zstack.header.network.service.VirtualRouterHaCallbackStruct; +import org.zstack.header.network.service.VirtualRouterHaGetCallbackExtensionPoint; +import org.zstack.header.network.service.VirtualRouterHaTask; +import org.zstack.header.vm.VmInstanceConstant; +import org.zstack.header.vm.VmInstanceState; +import org.zstack.header.vm.VmNicInventory; +import org.zstack.header.vm.VmNicVO; import org.zstack.network.service.NetworkServiceManager; -import org.zstack.network.service.eip.*; -import org.zstack.network.service.virtualrouter.*; +import org.zstack.network.service.eip.EipBackend; +import org.zstack.network.service.eip.EipConstant; +import org.zstack.network.service.eip.EipGlobalConfig; +import org.zstack.network.service.eip.EipState; +import org.zstack.network.service.eip.EipStruct; +import org.zstack.network.service.eip.EipVO; +import org.zstack.network.service.eip.EipVO_; +import org.zstack.network.service.virtualrouter.AbstractVirtualRouterBackend; +import org.zstack.network.service.virtualrouter.VirtualRouter; +import org.zstack.network.service.virtualrouter.VirtualRouterAsyncHttpCallMsg; +import org.zstack.network.service.virtualrouter.VirtualRouterAsyncHttpCallReply; +import org.zstack.network.service.virtualrouter.VirtualRouterCommands; +import org.zstack.network.service.virtualrouter.VirtualRouterConstant; +import org.zstack.network.service.virtualrouter.VirtualRouterNicMetaData; +import org.zstack.network.service.virtualrouter.VirtualRouterOfferingInventory; +import org.zstack.network.service.virtualrouter.VirtualRouterOfferingValidator; +import org.zstack.network.service.virtualrouter.VirtualRouterRoleManager; +import org.zstack.network.service.virtualrouter.VirtualRouterStruct; +import org.zstack.network.service.virtualrouter.VirtualRouterSystemTags; +import org.zstack.network.service.virtualrouter.VirtualRouterVmInventory; +import org.zstack.network.service.virtualrouter.VirtualRouterVmVO; +import org.zstack.network.service.virtualrouter.VirtualRouterVmVO_; import org.zstack.network.service.virtualrouter.VirtualRouterCommands.CreateEipRsp; import org.zstack.network.service.virtualrouter.VirtualRouterCommands.RemoveEipRsp; import org.zstack.network.service.virtualrouter.ha.VirtualRouterHaBackend; @@ -38,7 +75,11 @@ import org.zstack.utils.network.IPv6NetworkUtils; import javax.persistence.Tuple; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.Map; +import java.util.Optional; import java.util.stream.Collectors; import static java.util.Arrays.asList; @@ -122,6 +163,7 @@ public void fail(ErrorCode errorCode) { } }); } + // DEBT: NoRollbackFlow — in rollback }).then(new NoRollbackFlow() { @Override public void run(final FlowTrigger trigger, Map data) { @@ -272,6 +314,7 @@ public void revokeEip(String vrUuid, final EipStruct struct, final Completion co //TODO: add GC final FlowChain chain = FlowChainBuilder.newSimpleFlowChain(); chain.setName(String.format("revoke-eip-%s-vr-%s", struct.getEip().getUuid(), vr.getUuid())); + // DEBT: NoRollbackFlow — in revokeEip chain.then(new NoRollbackFlow() { @Override public void run(final FlowTrigger trigger, Map data) { @@ -333,6 +376,7 @@ public void run(MessageReply reply) { } }); } + // DEBT: NoRollbackFlow — reason TBD }).then(new NoRollbackFlow() { @Override public void run(final FlowTrigger trigger, Map data) { diff --git a/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/eip/VirtualRouterSyncEipOnStartFlow.java b/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/eip/VirtualRouterSyncEipOnStartFlow.java index 74d1ba7ed0e..09f5bef44a2 100755 --- a/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/eip/VirtualRouterSyncEipOnStartFlow.java +++ b/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/eip/VirtualRouterSyncEipOnStartFlow.java @@ -17,11 +17,21 @@ import org.zstack.header.errorcode.OperationFailureException; import org.zstack.header.message.MessageReply; import org.zstack.header.network.l3.UsedIpVO; -import org.zstack.header.vm.*; +import org.zstack.header.vm.VmInstanceConstant; +import org.zstack.header.vm.VmNicInventory; +import org.zstack.header.vm.VmNicVO; +import org.zstack.header.vm.VmNicVO_; import org.zstack.network.service.eip.EipConstant; import org.zstack.network.service.eip.EipGlobalConfig; import org.zstack.network.service.eip.EipVO; -import org.zstack.network.service.virtualrouter.*; +import org.zstack.network.service.virtualrouter.VirtualRouterAsyncHttpCallMsg; +import org.zstack.network.service.virtualrouter.VirtualRouterAsyncHttpCallReply; +import org.zstack.network.service.virtualrouter.VirtualRouterCommands; +import org.zstack.network.service.virtualrouter.VirtualRouterConstant; +import org.zstack.network.service.virtualrouter.VirtualRouterManager; +import org.zstack.network.service.virtualrouter.VirtualRouterRoleManager; +import org.zstack.network.service.virtualrouter.VirtualRouterSystemTags; +import org.zstack.network.service.virtualrouter.VirtualRouterVmInventory; import org.zstack.network.service.virtualrouter.VirtualRouterCommands.SyncEipRsp; import org.zstack.network.service.virtualrouter.VirtualRouterConstant.Param; import org.zstack.network.service.virtualrouter.vyos.VyosConstants; @@ -34,7 +44,11 @@ import javax.persistence.Tuple; import javax.persistence.TypedQuery; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.Map; +import java.util.Set; import java.util.concurrent.Callable; import java.util.stream.Collectors; diff --git a/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/ha/VirtualRouterCleanupHaOnDestroyFlow.java b/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/ha/VirtualRouterCleanupHaOnDestroyFlow.java index c2bdfb28eb5..5f39dbef2f5 100644 --- a/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/ha/VirtualRouterCleanupHaOnDestroyFlow.java +++ b/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/ha/VirtualRouterCleanupHaOnDestroyFlow.java @@ -18,7 +18,7 @@ import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; -import java.util.*; +import java.util.Map; /** */ diff --git a/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/ha/VirtualRouterHaBackendImpl.java b/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/ha/VirtualRouterHaBackendImpl.java index cef2cd08b3a..35e99cce76a 100644 --- a/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/ha/VirtualRouterHaBackendImpl.java +++ b/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/ha/VirtualRouterHaBackendImpl.java @@ -11,10 +11,17 @@ import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.exception.CloudRuntimeException; import org.zstack.header.message.OverlayMessage; -import org.zstack.header.network.service.*; +import org.zstack.header.network.service.NetworkServiceType; +import org.zstack.header.network.service.VirtualRouterHaCallbackInterface; +import org.zstack.header.network.service.VirtualRouterHaCallbackStruct; +import org.zstack.header.network.service.VirtualRouterHaGetCallbackExtensionPoint; +import org.zstack.header.network.service.VirtualRouterHaGroupExtensionPoint; +import org.zstack.header.network.service.VirtualRouterHaTask; import org.zstack.header.vm.VmInstanceInventory; import org.zstack.header.vm.VmNicInventory; -import org.zstack.network.service.virtualrouter.*; +import org.zstack.network.service.virtualrouter.VirtualRouterConstant; +import org.zstack.network.service.virtualrouter.VirtualRouterVmVO; +import org.zstack.network.service.virtualrouter.VirtualRouterVmVO_; import static org.zstack.core.Platform.operr; import java.util.List; @@ -31,6 +38,7 @@ public class VirtualRouterHaBackendImpl implements VirtualRouterHaBackend, Compo /* VirtualRouterHaGroupExtensionPoint should */ @Override public NoRollbackFlow getAttachL3NetworkFlow() { + // DEBT: NoRollbackFlow — in getAttachL3NetworkFlow return new NoRollbackFlow() { @Override public void run(FlowTrigger trigger, Map data) { diff --git a/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/lb/SharedLoadBalancerFactory.java b/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/lb/SharedLoadBalancerFactory.java index d3cbe63401a..c0d5e363557 100644 --- a/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/lb/SharedLoadBalancerFactory.java +++ b/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/lb/SharedLoadBalancerFactory.java @@ -1,101 +1,109 @@ -package org.zstack.network.service.virtualrouter.lb; - -import org.springframework.beans.factory.annotation.Autowire; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Configurable; -import org.zstack.core.Platform; -import org.zstack.core.db.DatabaseFacade; -import org.zstack.header.network.l3.L3NetworkVO; -import org.zstack.header.network.service.NetworkServiceL3NetworkRefVO; -import org.zstack.header.vm.VmNicVO; -import org.zstack.network.service.lb.*; -import org.zstack.network.service.virtualrouter.vyos.VyosConstants; - -import javax.persistence.TypedQuery; -import java.util.List; - -@Configurable(preConstruction = true, autowire = Autowire.BY_TYPE) -public class SharedLoadBalancerFactory implements LoadBalancerFactory { - @Autowired - DatabaseFacade dbf; - @Autowired - LoadBalancerManager lbMgr; - - @Override - public String getType() { - return LoadBalancerType.Shared.toString(); - } - - @Override - public LoadBalancerVO persistLoadBalancer(APICreateLoadBalancerMsg msg) { - LoadBalancerVO vo = new LoadBalancerVO(); - vo.setName(msg.getName()); - vo.setUuid(msg.getResourceUuid() == null ? Platform.getUuid() : msg.getResourceUuid()); - vo.setDescription(msg.getDescription()); - vo.setVipUuid(msg.getVipUuid()); - vo.setIpv6VipUuid(msg.getIpv6VipUuid()); - vo.setState(LoadBalancerState.Enabled); - vo.setType(LoadBalancerType.Shared); - vo.setAccountUuid(msg.getSession().getAccountUuid()); - vo = dbf.persistAndRefresh(vo); - return vo; - } - - @Override - public void deleteLoadBalancer(LoadBalancerVO vo) { - dbf.removeByPrimaryKey(vo.getUuid(), LoadBalancerVO.class); - } - - @Override - public String getNetworkServiceType() { - return LoadBalancerConstants.LB_NETWORK_SERVICE_TYPE_STRING; - } - - @Override - public LoadBalancerBackend getLoadBalancerBackend(LoadBalancerVO vo) { - if (vo.getProviderType() == null) { - return null; - } - - return lbMgr.getBackend(vo.getProviderType()); - } - - @Override - public String getProviderTypeByVmNicUuid(String nicUuid) { - if (nicUuid == null) { - return null; - } - - String sql = "select l3 from L3NetworkVO l3, VmNicVO nic where nic.l3NetworkUuid = l3.uuid and nic.uuid = :uuid"; - TypedQuery q = dbf.getEntityManager().createQuery(sql, L3NetworkVO.class); - q.setParameter("uuid", nicUuid); - L3NetworkVO l3 = q.getSingleResult(); - for (NetworkServiceL3NetworkRefVO ref : l3.getNetworkServices()) { - if (LoadBalancerConstants.LB_NETWORK_SERVICE_TYPE_STRING.equals(ref.getNetworkServiceType())) { - sql = "select p.type from NetworkServiceProviderVO p where p.uuid = :uuid"; - TypedQuery nq = dbf.getEntityManager().createQuery(sql, String.class); - nq.setParameter("uuid", ref.getNetworkServiceProviderUuid()); - return nq.getSingleResult(); - } - } - - return null; - } - - @Override - public List getAttachableVmNicsForServerGroup(LoadBalancerVO lbVO, - LoadBalancerServerGroupVO groupVO, int ipVersion) { - String providerType = VyosConstants.VYOS_ROUTER_PROVIDER_TYPE; - if (lbVO.getProviderType() != null) { - providerType = lbVO.getProviderType(); - } - - LoadBalancerBackend backend = lbMgr.getBackend(providerType); - return backend.getAttachableVmNicsForServerGroup(lbVO, groupVO, ipVersion); - } - - @Override - public String getApplianceVmType() { - return VyosConstants.VYOS_VM_TYPE; - } -} +package org.zstack.network.service.virtualrouter.lb; + +import org.springframework.beans.factory.annotation.Autowire; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Configurable; +import org.zstack.core.Platform; +import org.zstack.core.db.DatabaseFacade; +import org.zstack.header.network.l3.L3NetworkVO; +import org.zstack.header.network.service.NetworkServiceL3NetworkRefVO; +import org.zstack.header.vm.VmNicVO; +import org.zstack.network.service.lb.APICreateLoadBalancerMsg; +import org.zstack.network.service.lb.LoadBalancerBackend; +import org.zstack.network.service.lb.LoadBalancerConstants; +import org.zstack.network.service.lb.LoadBalancerFactory; +import org.zstack.network.service.lb.LoadBalancerManager; +import org.zstack.network.service.lb.LoadBalancerServerGroupVO; +import org.zstack.network.service.lb.LoadBalancerState; +import org.zstack.network.service.lb.LoadBalancerType; +import org.zstack.network.service.lb.LoadBalancerVO; +import org.zstack.network.service.virtualrouter.vyos.VyosConstants; + +import javax.persistence.TypedQuery; +import java.util.List; + +@Configurable(preConstruction = true, autowire = Autowire.BY_TYPE) +public class SharedLoadBalancerFactory implements LoadBalancerFactory { + @Autowired + DatabaseFacade dbf; + @Autowired + LoadBalancerManager lbMgr; + + @Override + public String getType() { + return LoadBalancerType.Shared.toString(); + } + + @Override + public LoadBalancerVO persistLoadBalancer(APICreateLoadBalancerMsg msg) { + LoadBalancerVO vo = new LoadBalancerVO(); + vo.setName(msg.getName()); + vo.setUuid(msg.getResourceUuid() == null ? Platform.getUuid() : msg.getResourceUuid()); + vo.setDescription(msg.getDescription()); + vo.setVipUuid(msg.getVipUuid()); + vo.setIpv6VipUuid(msg.getIpv6VipUuid()); + vo.setState(LoadBalancerState.Enabled); + vo.setType(LoadBalancerType.Shared); + vo.setAccountUuid(msg.getSession().getAccountUuid()); + vo = dbf.persistAndRefresh(vo); + return vo; + } + + @Override + public void deleteLoadBalancer(LoadBalancerVO vo) { + dbf.removeByPrimaryKey(vo.getUuid(), LoadBalancerVO.class); + } + + @Override + public String getNetworkServiceType() { + return LoadBalancerConstants.LB_NETWORK_SERVICE_TYPE_STRING; + } + + @Override + public LoadBalancerBackend getLoadBalancerBackend(LoadBalancerVO vo) { + if (vo.getProviderType() == null) { + return null; + } + + return lbMgr.getBackend(vo.getProviderType()); + } + + @Override + public String getProviderTypeByVmNicUuid(String nicUuid) { + if (nicUuid == null) { + return null; + } + + String sql = "select l3 from L3NetworkVO l3, VmNicVO nic where nic.l3NetworkUuid = l3.uuid and nic.uuid = :uuid"; + TypedQuery q = dbf.getEntityManager().createQuery(sql, L3NetworkVO.class); + q.setParameter("uuid", nicUuid); + L3NetworkVO l3 = q.getSingleResult(); + for (NetworkServiceL3NetworkRefVO ref : l3.getNetworkServices()) { + if (LoadBalancerConstants.LB_NETWORK_SERVICE_TYPE_STRING.equals(ref.getNetworkServiceType())) { + sql = "select p.type from NetworkServiceProviderVO p where p.uuid = :uuid"; + TypedQuery nq = dbf.getEntityManager().createQuery(sql, String.class); + nq.setParameter("uuid", ref.getNetworkServiceProviderUuid()); + return nq.getSingleResult(); + } + } + + return null; + } + + @Override + public List getAttachableVmNicsForServerGroup(LoadBalancerVO lbVO, + LoadBalancerServerGroupVO groupVO, int ipVersion) { + String providerType = VyosConstants.VYOS_ROUTER_PROVIDER_TYPE; + if (lbVO.getProviderType() != null) { + providerType = lbVO.getProviderType(); + } + + LoadBalancerBackend backend = lbMgr.getBackend(providerType); + return backend.getAttachableVmNicsForServerGroup(lbVO, groupVO, ipVersion); + } + + @Override + public String getApplianceVmType() { + return VyosConstants.VYOS_VM_TYPE; + } +} diff --git a/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/lb/VirtualRouterLoadBalancerBackend.java b/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/lb/VirtualRouterLoadBalancerBackend.java index 1b4266d6e05..81746642737 100755 --- a/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/lb/VirtualRouterLoadBalancerBackend.java +++ b/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/lb/VirtualRouterLoadBalancerBackend.java @@ -27,7 +27,13 @@ import org.zstack.header.core.NoErrorCompletion; import org.zstack.header.core.ReturnValueCompletion; import org.zstack.header.core.WhileDoneCompletion; -import org.zstack.header.core.workflow.*; +import org.zstack.header.core.workflow.Flow; +import org.zstack.header.core.workflow.FlowChain; +import org.zstack.header.core.workflow.FlowDoneHandler; +import org.zstack.header.core.workflow.FlowErrorHandler; +import org.zstack.header.core.workflow.FlowRollback; +import org.zstack.header.core.workflow.FlowTrigger; +import org.zstack.header.core.workflow.NoRollbackFlow; import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.errorcode.ErrorCodeList; import org.zstack.header.errorcode.OperationFailureException; @@ -38,15 +44,72 @@ import org.zstack.header.network.l3.L3NetworkVO; import org.zstack.header.network.l3.UsedIpInventory; import org.zstack.header.network.l3.UsedIpVO; -import org.zstack.header.network.service.*; +import org.zstack.header.network.service.NetworkServiceL3NetworkRefVO; +import org.zstack.header.network.service.NetworkServiceProviderType; +import org.zstack.header.network.service.VirtualRouterAfterAttachNicExtensionPoint; +import org.zstack.header.network.service.VirtualRouterBeforeDetachNicExtensionPoint; +import org.zstack.header.network.service.VirtualRouterHaCallbackInterface; +import org.zstack.header.network.service.VirtualRouterHaCallbackStruct; +import org.zstack.header.network.service.VirtualRouterHaGetCallbackExtensionPoint; +import org.zstack.header.network.service.VirtualRouterHaGroupExtensionPoint; +import org.zstack.header.network.service.VirtualRouterHaTask; +import org.zstack.header.network.service.VirtualRouterLoadBalancerExtensionPoint; import org.zstack.header.tag.SystemTagVO; import org.zstack.header.tag.SystemTagVO_; -import org.zstack.header.vm.*; +import org.zstack.header.vm.DestroyVmInstanceMsg; +import org.zstack.header.vm.StartVmInstanceMsg; +import org.zstack.header.vm.VmInstanceConstant; +import org.zstack.header.vm.VmInstanceState; +import org.zstack.header.vm.VmInstanceVO; +import org.zstack.header.vm.VmNicInventory; +import org.zstack.header.vm.VmNicVO; +import org.zstack.header.vm.VmNicVO_; import org.zstack.header.vo.ResourceVO; import org.zstack.network.service.NetworkServiceManager; -import org.zstack.network.service.lb.*; -import org.zstack.network.service.vip.*; -import org.zstack.network.service.virtualrouter.*; +import org.zstack.network.service.lb.APIAddVmNicToLoadBalancerMsg; +import org.zstack.network.service.lb.CertificateVO; +import org.zstack.network.service.lb.LoadBalancerAclType; +import org.zstack.network.service.lb.LoadBalancerBackend; +import org.zstack.network.service.lb.LoadBalancerBackendServerStatus; +import org.zstack.network.service.lb.LoadBalancerConstants; +import org.zstack.network.service.lb.LoadBalancerFactory; +import org.zstack.network.service.lb.LoadBalancerInventory; +import org.zstack.network.service.lb.LoadBalancerListenerACLRefInventory; +import org.zstack.network.service.lb.LoadBalancerListenerInventory; +import org.zstack.network.service.lb.LoadBalancerListenerServerGroupRefVO; +import org.zstack.network.service.lb.LoadBalancerListenerVO; +import org.zstack.network.service.lb.LoadBalancerManager; +import org.zstack.network.service.lb.LoadBalancerServerGroupInventory; +import org.zstack.network.service.lb.LoadBalancerServerGroupServerIpInventory; +import org.zstack.network.service.lb.LoadBalancerServerGroupVO; +import org.zstack.network.service.lb.LoadBalancerServerGroupVO_; +import org.zstack.network.service.lb.LoadBalancerServerGroupVmNicRefInventory; +import org.zstack.network.service.lb.LoadBalancerServerGroupVmNicRefVO; +import org.zstack.network.service.lb.LoadBalancerStruct; +import org.zstack.network.service.lb.LoadBalancerSystemTags; +import org.zstack.network.service.lb.LoadBalancerType; +import org.zstack.network.service.lb.LoadBalancerVO; +import org.zstack.network.service.lb.LoadBalancerVmNicStatus; +import org.zstack.network.service.vip.ModifyVipAttributesStruct; +import org.zstack.network.service.vip.Vip; +import org.zstack.network.service.vip.VipInventory; +import org.zstack.network.service.vip.VipNetworkServicesRefVO; +import org.zstack.network.service.vip.VipNetworkServicesRefVO_; +import org.zstack.network.service.vip.VipPeerL3NetworkRefVO; +import org.zstack.network.service.vip.VipVO; +import org.zstack.network.service.virtualrouter.AbstractVirtualRouterBackend; +import org.zstack.network.service.virtualrouter.VirtualRouter; +import org.zstack.network.service.virtualrouter.VirtualRouterAsyncHttpCallMsg; +import org.zstack.network.service.virtualrouter.VirtualRouterAsyncHttpCallReply; +import org.zstack.network.service.virtualrouter.VirtualRouterConstant; +import org.zstack.network.service.virtualrouter.VirtualRouterNicMetaData; +import org.zstack.network.service.virtualrouter.VirtualRouterRoleManager; +import org.zstack.network.service.virtualrouter.VirtualRouterStruct; +import org.zstack.network.service.virtualrouter.VirtualRouterSystemTags; +import org.zstack.network.service.virtualrouter.VirtualRouterVmInventory; +import org.zstack.network.service.virtualrouter.VirtualRouterVmSelector; +import org.zstack.network.service.virtualrouter.VirtualRouterVmVO; +import org.zstack.network.service.virtualrouter.VirtualRouterVmVO_; import org.zstack.network.service.virtualrouter.vyos.VyosGlobalConfig; import org.zstack.network.service.virtualrouter.VirtualRouterCommands.AgentCommand; import org.zstack.network.service.virtualrouter.VirtualRouterCommands.AgentResponse; @@ -57,7 +120,11 @@ import org.zstack.resourceconfig.ResourceConfigFacade; import org.zstack.resourceconfig.ResourceConfigVO; import org.zstack.resourceconfig.ResourceConfigVO_; -import org.zstack.utils.*; +import org.zstack.utils.CollectionUtils; +import org.zstack.utils.DebugUtils; +import org.zstack.utils.TypeUtils; +import org.zstack.utils.Utils; +import org.zstack.utils.VipUseForList; import org.zstack.utils.function.Function; import org.zstack.utils.gson.JSONObjectUtil; import org.zstack.utils.logging.CLogger; @@ -65,7 +132,17 @@ import org.zstack.utils.network.IPv6NetworkUtils; import org.zstack.utils.network.NetworkUtils; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.Comparator; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import java.util.Set; import java.util.stream.Collectors; import static java.util.Arrays.asList; @@ -1236,6 +1313,7 @@ public void fail(ErrorCode errorCode) { } }); + // DEBT: NoRollbackFlow — in rollback flow(new NoRollbackFlow() { String __name__ = "refresh-lb-listener-to-virtualRouter"; @@ -1288,6 +1366,7 @@ public void refreshCertsAndListeners(VirtualRouterVmInventory vr, boolean statusCheck, Completion completion) { FlowChain chain = new SimpleFlowChain(); chain.setName("refresh-lb-certs-listeners"); + // DEBT: NoRollbackFlow — in refreshCertsAndListeners chain.then(new NoRollbackFlow() { String __name__ = "refresh-lb-certs"; @@ -1324,6 +1403,7 @@ public void run(MessageReply reply) { } }); } + // DEBT: NoRollbackFlow — in refreshCertsAndListeners }).then(new NoRollbackFlow() { String __name__ = "refresh-lb-listeners"; @@ -1359,6 +1439,7 @@ public void run(MessageReply reply) { } }); } + // DEBT: NoRollbackFlow — reason TBD }).then(new NoRollbackFlow() { String __name__ = "after-refresh-lb-listeners"; @@ -1601,6 +1682,7 @@ private void startVrIfNeededAndRefresh(final VirtualRouterVmInventory vr, final chain.then(new ShareFlow() { @Override public void setup() { + // DEBT: NoRollbackFlow — in startVrIfNeededAndRefresh flow(new NoRollbackFlow() { String __name__ = "start-vr"; @@ -1662,6 +1744,7 @@ public void fail(ErrorCode errorCode) { } }); + // DEBT: NoRollbackFlow — in rollback flow(new NoRollbackFlow() { String __name__ = "refresh-lb"; @@ -1919,6 +2002,7 @@ public void fail(ErrorCode errorCode) { }); } else { + // DEBT: NoRollbackFlow — in rollback flow(new NoRollbackFlow() { String __name__ = "acquire-vr"; @@ -2020,6 +2104,7 @@ public void done(ErrorCodeList errorCodeList) { }); } + // DEBT: NoRollbackFlow — reason TBD flow(new NoRollbackFlow() { String __name__ = "refresh-lb-on-vr"; @@ -2094,6 +2179,7 @@ public void removeVmNics(LoadBalancerStruct struct, List nics, C @Override public void setup() { + // DEBT: NoRollbackFlow — in removeVmNics flow(new NoRollbackFlow() { String __name__ = "refresh-lb-on-vr"; @@ -2119,6 +2205,7 @@ public void fail(ErrorCode errorCode) { } }); + // DEBT: NoRollbackFlow — reason TBD flow(new NoRollbackFlow() { String __name__ = "remove-l3network-from-vip"; @@ -2197,6 +2284,7 @@ public void removeListener(final LoadBalancerStruct struct, LoadBalancerListener chain.then(new ShareFlow() { @Override public void setup() { + // DEBT: NoRollbackFlow — in removeListener flow(new NoRollbackFlow() { String __name__ = "refresh-lb-on-vr"; @@ -2221,6 +2309,7 @@ public void fail(ErrorCode errorCode) { } }); + // DEBT: NoRollbackFlow — in removeListener flow(new NoRollbackFlow() { String __name__ = "remove-l3networks-from-vip"; @@ -2274,6 +2363,7 @@ public void destroyLoadBalancer(final LoadBalancerStruct struct, final Completio chain.then(new ShareFlow() { @Override public void setup() { + // DEBT: NoRollbackFlow — in destroyLoadBalancer flow(new NoRollbackFlow() { String __name__ = "delete-from-vr"; @@ -2396,6 +2486,7 @@ public void done() { } }); + // DEBT: NoRollbackFlow — in rollback flow(new NoRollbackFlow() { String __name__ = "lb-sync-listener-on-start"; @@ -2969,6 +3060,7 @@ public void fail(ErrorCode errorCode) { } }); } + // DEBT: NoRollbackFlow — in rollback }).then(new NoRollbackFlow() { @Override public void run(FlowTrigger trigger, Map data) { diff --git a/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/lb/VirtualRouterSyncLbOnStartFlow.java b/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/lb/VirtualRouterSyncLbOnStartFlow.java index eec6fbf809c..275f58b9ecc 100755 --- a/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/lb/VirtualRouterSyncLbOnStartFlow.java +++ b/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/lb/VirtualRouterSyncLbOnStartFlow.java @@ -14,16 +14,38 @@ import org.zstack.core.workflow.FlowChainBuilder; import org.zstack.core.workflow.ShareFlow; import org.zstack.header.core.Completion; -import org.zstack.header.core.workflow.*; +import org.zstack.header.core.workflow.Flow; +import org.zstack.header.core.workflow.FlowChain; +import org.zstack.header.core.workflow.FlowDoneHandler; +import org.zstack.header.core.workflow.FlowErrorHandler; +import org.zstack.header.core.workflow.FlowRollback; +import org.zstack.header.core.workflow.FlowTrigger; +import org.zstack.header.core.workflow.NoRollbackFlow; import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.tag.SystemTagVO; import org.zstack.header.tag.SystemTagVO_; -import org.zstack.header.vm.*; -import org.zstack.network.service.lb.*; +import org.zstack.header.vm.VmNicInventory; +import org.zstack.header.vm.VmNicVO; +import org.zstack.network.service.lb.LoadBalancerConstants; +import org.zstack.network.service.lb.LoadBalancerFactory; +import org.zstack.network.service.lb.LoadBalancerListenerServerGroupRefVO; +import org.zstack.network.service.lb.LoadBalancerListenerVO; +import org.zstack.network.service.lb.LoadBalancerManager; +import org.zstack.network.service.lb.LoadBalancerServerGroupVO; +import org.zstack.network.service.lb.LoadBalancerServerGroupVmNicRefVO; +import org.zstack.network.service.lb.LoadBalancerState; +import org.zstack.network.service.lb.LoadBalancerStruct; +import org.zstack.network.service.lb.LoadBalancerSystemTags; +import org.zstack.network.service.lb.LoadBalancerType; +import org.zstack.network.service.lb.LoadBalancerVO; import org.zstack.network.service.vip.VipInventory; import org.zstack.network.service.vip.VipVO; import org.zstack.network.service.vip.VipVO_; -import org.zstack.network.service.virtualrouter.*; +import org.zstack.network.service.virtualrouter.VirtualRouterConstant; +import org.zstack.network.service.virtualrouter.VirtualRouterManager; +import org.zstack.network.service.virtualrouter.VirtualRouterRoleManager; +import org.zstack.network.service.virtualrouter.VirtualRouterSystemTags; +import org.zstack.network.service.virtualrouter.VirtualRouterVmInventory; import org.zstack.network.service.virtualrouter.VirtualRouterConstant.Param; import org.zstack.network.service.virtualrouter.vip.VirtualRouterVipBackend; import org.zstack.network.service.virtualrouter.vyos.VyosConstants; @@ -32,7 +54,12 @@ import org.zstack.utils.function.ListFunction; import javax.persistence.TypedQuery; -import java.util.*; +import java.util.ArrayList; +import java.util.Collection; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; import java.util.concurrent.Callable; import java.util.stream.Collectors; @@ -139,6 +166,7 @@ public List call() { chain.then(new ShareFlow() { @Override public void setup() { + // DEBT: NoRollbackFlow — reason TBD flow(new NoRollbackFlow() { String __name__ = "create-vip-for-lbs"; @@ -190,6 +218,7 @@ public List call(LoadBalancerVO arg) { } }); + // DEBT: NoRollbackFlow — in createVip flow(new NoRollbackFlow() { String __name__ = "create-lbs"; diff --git a/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/lifecycle/VirtualRouterDeployAgentFlow.java b/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/lifecycle/VirtualRouterDeployAgentFlow.java index 903f53d18d7..e1a3123d494 100755 --- a/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/lifecycle/VirtualRouterDeployAgentFlow.java +++ b/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/lifecycle/VirtualRouterDeployAgentFlow.java @@ -16,7 +16,11 @@ import org.zstack.core.workflow.ShareFlow; import org.zstack.header.core.Completion; import org.zstack.header.core.ReturnValueCompletion; -import org.zstack.header.core.workflow.*; +import org.zstack.header.core.workflow.FlowChain; +import org.zstack.header.core.workflow.FlowDoneHandler; +import org.zstack.header.core.workflow.FlowErrorHandler; +import org.zstack.header.core.workflow.FlowTrigger; +import org.zstack.header.core.workflow.NoRollbackFlow; import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.rest.JsonAsyncRESTCallback; import org.zstack.header.rest.RESTFacade; @@ -25,7 +29,12 @@ import org.zstack.header.vm.VmNicInventory; import org.zstack.network.service.virtualrouter.VirtualRouterCommands.InitCommand; import org.zstack.network.service.virtualrouter.VirtualRouterCommands.InitRsp; -import org.zstack.network.service.virtualrouter.*; +import org.zstack.network.service.virtualrouter.VirtualRouterConstant; +import org.zstack.network.service.virtualrouter.VirtualRouterGlobalConfig; +import org.zstack.network.service.virtualrouter.VirtualRouterGlobalProperty; +import org.zstack.network.service.virtualrouter.VirtualRouterManager; +import org.zstack.network.service.virtualrouter.VirtualRouterMetadataOperator; +import org.zstack.network.service.virtualrouter.VirtualRouterVmInventory; import org.zstack.network.service.virtualrouter.VirtualRouterConstant.Param; import org.zstack.utils.CollectionUtils; import org.zstack.utils.DebugUtils; @@ -66,6 +75,7 @@ private void continueConnect(final VmNicInventory mgmtNic, final Map hosts, final Completion completion) { FlowChain chain = FlowChainBuilder.newSimpleFlowChain(); chain.setName(String.format("prepare-l2-%s-on-hosts", self.getUuid())); + // DEBT: NoRollbackFlow — in prepareL2NetworkOnHosts chain.then(new NoRollbackFlow() { @Override public void run(final FlowTrigger trigger, Map data) { @@ -300,6 +334,7 @@ public void run(List replies) { } }); } + // DEBT: NoRollbackFlow — in prepareL2NetworkOnHosts }).then(new NoRollbackFlow() { private void realize(final Iterator it, final FlowTrigger trigger) { if (!it.hasNext()) { diff --git a/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetwork/VxlanNetworkFactory.java b/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetwork/VxlanNetworkFactory.java index 6f62ca923b4..ed8852db5ff 100755 --- a/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetwork/VxlanNetworkFactory.java +++ b/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetwork/VxlanNetworkFactory.java @@ -25,7 +25,20 @@ import org.zstack.header.identity.AccountVO; import org.zstack.header.message.APIMessage; import org.zstack.header.message.MessageReply; -import org.zstack.header.network.l2.*; +import org.zstack.header.network.l2.APIChangeL2NetworkVlanIdMsg; +import org.zstack.header.network.l2.APICreateL2NetworkMsg; +import org.zstack.header.network.l2.L2Network; +import org.zstack.header.network.l2.L2NetworkClusterRefVO; +import org.zstack.header.network.l2.L2NetworkClusterRefVO_; +import org.zstack.header.network.l2.L2NetworkConstant; +import org.zstack.header.network.l2.L2NetworkFactory; +import org.zstack.header.network.l2.L2NetworkGetVniExtensionPoint; +import org.zstack.header.network.l2.L2NetworkInventory; +import org.zstack.header.network.l2.L2NetworkType; +import org.zstack.header.network.l2.L2NetworkVO; +import org.zstack.header.network.l2.L2NetworkVO_; +import org.zstack.header.network.l2.PrepareL2NetworkOnHostMsg; +import org.zstack.header.network.l2.PrepareL2NetworkOnHostsMsg; import org.zstack.header.network.l3.L3NetworkVO; import org.zstack.header.network.l3.L3NetworkVO_; import org.zstack.header.vm.VmInstanceInventory; diff --git a/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetworkPool/KVMConnectExtensionForVxlanNetwork.java b/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetworkPool/KVMConnectExtensionForVxlanNetwork.java index 7e8a2cc2a37..2675cbe299e 100644 --- a/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetworkPool/KVMConnectExtensionForVxlanNetwork.java +++ b/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetworkPool/KVMConnectExtensionForVxlanNetwork.java @@ -10,7 +10,9 @@ import org.zstack.header.core.Completion; import org.zstack.header.core.FutureCompletion; import org.zstack.header.core.NoErrorCompletion; -import org.zstack.header.core.workflow.*; +import org.zstack.header.core.workflow.Flow; +import org.zstack.header.core.workflow.FlowTrigger; +import org.zstack.header.core.workflow.NoRollbackFlow; import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.errorcode.ErrorCodeList; import org.zstack.header.errorcode.OperationFailureException; @@ -109,6 +111,7 @@ public HypervisorType getHypervisorTypeForReestablishExtensionPoint() { @Override public Flow createKvmHostConnectingFlow(final KVMHostConnectedContext context) { + // DEBT: NoRollbackFlow — in createKvmHostConnectingFlow return new NoRollbackFlow() { String __name__ = "prepare-vxlan-network"; diff --git a/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetworkPool/KVMRealizeL2VxlanNetworkBackend.java b/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetworkPool/KVMRealizeL2VxlanNetworkBackend.java index 293e078c4a9..3bdf84705fd 100755 --- a/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetworkPool/KVMRealizeL2VxlanNetworkBackend.java +++ b/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetworkPool/KVMRealizeL2VxlanNetworkBackend.java @@ -13,7 +13,11 @@ import org.zstack.header.core.Completion; import org.zstack.header.core.NoErrorCompletion; import org.zstack.header.core.WhileDoneCompletion; -import org.zstack.header.core.workflow.*; +import org.zstack.header.core.workflow.FlowChain; +import org.zstack.header.core.workflow.FlowDoneHandler; +import org.zstack.header.core.workflow.FlowErrorHandler; +import org.zstack.header.core.workflow.FlowTrigger; +import org.zstack.header.core.workflow.NoRollbackFlow; import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.errorcode.ErrorCodeList; import org.zstack.header.errorcode.OperationFailureException; @@ -23,12 +27,23 @@ import org.zstack.header.host.HostVO_; import org.zstack.header.host.HypervisorType; import org.zstack.header.message.MessageReply; -import org.zstack.header.network.l2.*; +import org.zstack.header.network.l2.L2NetworkConstant; +import org.zstack.header.network.l2.L2NetworkInventory; +import org.zstack.header.network.l2.L2NetworkRealizationExtensionPoint; +import org.zstack.header.network.l2.L2NetworkType; +import org.zstack.header.network.l2.L2NetworkVO; +import org.zstack.header.network.l2.L2NetworkVO_; +import org.zstack.header.network.l2.VSwitchType; import org.zstack.header.network.l3.L3NetworkInventory; import org.zstack.header.vm.InstantiateResourceOnAttachingNicExtensionPoint; import org.zstack.header.vm.VmInstanceSpec; import org.zstack.header.vm.VmNicInventory; -import org.zstack.kvm.*; +import org.zstack.kvm.KVMAgentCommands; +import org.zstack.kvm.KVMCompleteNicInformationExtensionPoint; +import org.zstack.kvm.KVMConstant; +import org.zstack.kvm.KVMHostAsyncHttpCallMsg; +import org.zstack.kvm.KVMHostAsyncHttpCallReply; +import org.zstack.kvm.KVMSystemTags; import org.zstack.network.l2.vxlan.vtep.CreateVtepMsg; import org.zstack.network.l2.vxlan.vtep.VtepVO; import org.zstack.network.l2.vxlan.vtep.VtepVO_; @@ -41,7 +56,12 @@ import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; -import java.util.*; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; import java.util.stream.Collectors; import static org.zstack.core.Platform.operr; @@ -230,6 +250,7 @@ public void check(L2NetworkInventory l2Network, String hostUuid, boolean noStatu FlowChain chain = FlowChainBuilder.newSimpleFlowChain(); chain.setName(String.format("check-l2-vxlan-%s-on-host-%s", l2Network.getUuid(), hostUuid)); + // DEBT: NoRollbackFlow — reason TBD chain.then(new NoRollbackFlow() { @Override public void run(FlowTrigger trigger, Map data) { @@ -276,6 +297,7 @@ public void run(MessageReply reply) { } }); } + // DEBT: NoRollbackFlow — reason TBD }).then(new NoRollbackFlow() { @Override public void run(FlowTrigger trigger, Map data) { @@ -335,6 +357,7 @@ public void run(MessageReply reply) { } }); } + // DEBT: NoRollbackFlow — reason TBD }).then(new NoRollbackFlow() { @Override public void run(FlowTrigger trigger, Map data) { @@ -469,6 +492,7 @@ public void instantiateResourceOnAttachingNic(VmInstanceSpec spec, L3NetworkInve FlowChain chain = FlowChainBuilder.newSimpleFlowChain(); L2VxlanNetworkInventory l2 = L2VxlanNetworkInventory.valueOf((VxlanNetworkVO) Q.New(VxlanNetworkVO.class).eq(VxlanNetworkVO_.uuid, vo.getUuid()).find()); chain.setName(String.format("attach-l2-vxlan-%s-on-host-%s", l2.getUuid(), spec.getDestHost().getUuid())); + // DEBT: NoRollbackFlow — in instantiateResourceOnAttachingNic chain.then(new NoRollbackFlow() { @Override public void run(FlowTrigger trigger, Map data) { @@ -485,6 +509,7 @@ public void fail(ErrorCode errorCode) { } }); } + // DEBT: NoRollbackFlow — in instantiateResourceOnAttachingNic }).then(new NoRollbackFlow() { @Override public void run(FlowTrigger trigger, Map data) { diff --git a/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetworkPool/KVMRealizeL2VxlanNetworkPoolBackend.java b/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetworkPool/KVMRealizeL2VxlanNetworkPoolBackend.java index f52acab7dab..7ec32d9b65b 100755 --- a/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetworkPool/KVMRealizeL2VxlanNetworkPoolBackend.java +++ b/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetworkPool/KVMRealizeL2VxlanNetworkPoolBackend.java @@ -8,7 +8,11 @@ import org.zstack.core.db.SQL; import org.zstack.core.workflow.FlowChainBuilder; import org.zstack.header.core.Completion; -import org.zstack.header.core.workflow.*; +import org.zstack.header.core.workflow.FlowChain; +import org.zstack.header.core.workflow.FlowDoneHandler; +import org.zstack.header.core.workflow.FlowErrorHandler; +import org.zstack.header.core.workflow.FlowTrigger; +import org.zstack.header.core.workflow.NoRollbackFlow; import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.exception.CloudRuntimeException; import org.zstack.header.host.HostConstant; @@ -16,21 +20,37 @@ import org.zstack.header.host.HostVO_; import org.zstack.header.host.HypervisorType; import org.zstack.header.message.MessageReply; -import org.zstack.header.network.l2.*; +import org.zstack.header.network.l2.L2NetworkConstant; +import org.zstack.header.network.l2.L2NetworkInventory; +import org.zstack.header.network.l2.L2NetworkRealizationExtensionPoint; +import org.zstack.header.network.l2.L2NetworkType; +import org.zstack.header.network.l2.L2NetworkVO; +import org.zstack.header.network.l2.VSwitchType; import org.zstack.header.network.l3.L3NetworkInventory; import org.zstack.header.vm.VmNicInventory; -import org.zstack.kvm.*; +import org.zstack.kvm.KVMAgentCommands; +import org.zstack.kvm.KVMCompleteNicInformationExtensionPoint; +import org.zstack.kvm.KVMHostAsyncHttpCallMsg; +import org.zstack.kvm.KVMHostAsyncHttpCallReply; +import org.zstack.kvm.KVMSystemTags; import org.zstack.network.l2.L2NetworkGlobalConfig; import org.zstack.network.l2.vxlan.vtep.CreateVtepMsg; import org.zstack.network.l2.vxlan.vtep.VtepVO; import org.zstack.network.l2.vxlan.vtep.VtepVO_; -import org.zstack.network.l2.vxlan.vxlanNetwork.*; +import org.zstack.network.l2.vxlan.vxlanNetwork.L2VxlanNetworkInventory; +import org.zstack.network.l2.vxlan.vxlanNetwork.VxlanNetworkFactory; +import org.zstack.network.l2.vxlan.vxlanNetwork.VxlanNetworkGlobalConfig; +import org.zstack.network.l2.vxlan.vxlanNetwork.VxlanNetworkVO; +import org.zstack.network.l2.vxlan.vxlanNetwork.VxlanNetworkVO_; import org.zstack.network.service.MtuGetter; import org.zstack.tag.SystemTagCreator; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; -import java.util.*; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; import java.util.stream.Collectors; import static org.zstack.core.Platform.operr; @@ -72,6 +92,7 @@ public void check(L2NetworkInventory l2Network, String hostUuid, boolean noStatu FlowChain chain = FlowChainBuilder.newSimpleFlowChain(); chain.setName(String.format("check-l2-vxlan-pool-%s-on-host-%s", l2Network.getUuid(), hostUuid)); + // DEBT: NoRollbackFlow — in realize chain.then(new NoRollbackFlow() { String __name__ = String.format("check-vtep-ip-for-l2-vxlan-pool-%s", l2Network.getUuid()); @@ -120,6 +141,7 @@ public void run(MessageReply reply) { }); } + // DEBT: NoRollbackFlow — reason TBD }).then(new NoRollbackFlow() { String __name__ = String.format("create-vtep-for-l2-vxlan-pool-%s", l2Network.getUuid()); @@ -189,6 +211,7 @@ public void run(MessageReply reply) { } }); } + // DEBT: NoRollbackFlow — reason TBD }).then(new NoRollbackFlow() { String __name__ = String.format("realize-vtep-for-l2-vxlan-pool-%s", l2Network.getUuid()); diff --git a/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetworkPool/L2VxlanNetworkPoolInventory.java b/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetworkPool/L2VxlanNetworkPoolInventory.java index 183f029cc34..b7f5ff9c9d9 100644 --- a/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetworkPool/L2VxlanNetworkPoolInventory.java +++ b/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetworkPool/L2VxlanNetworkPoolInventory.java @@ -20,7 +20,11 @@ import org.zstack.network.l2.vxlan.vxlanNetwork.VxlanNetworkVO_; import javax.persistence.JoinColumn; -import java.util.*; +import java.util.ArrayList; +import java.util.Collection; +import java.util.HashMap; +import java.util.List; +import java.util.Map; import java.util.regex.Pattern; @PythonClassInventory diff --git a/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetworkPool/VxlanNetworkCheckerImpl.java b/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetworkPool/VxlanNetworkCheckerImpl.java index d3a46ed8d78..35d60c65c57 100644 --- a/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetworkPool/VxlanNetworkCheckerImpl.java +++ b/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetworkPool/VxlanNetworkCheckerImpl.java @@ -5,7 +5,15 @@ import org.zstack.header.apimediator.ApiMessageInterceptionException; import org.zstack.header.errorcode.OperationFailureException; import org.zstack.header.message.APIMessage; -import org.zstack.header.network.l2.*; +import org.zstack.header.network.l2.APIAttachL2NetworkToClusterMsg; +import org.zstack.header.network.l2.APIChangeL2NetworkVlanIdMsg; +import org.zstack.header.network.l2.L2Errors; +import org.zstack.header.network.l2.L2Network; +import org.zstack.header.network.l2.L2NetworkClusterRefVO; +import org.zstack.header.network.l2.L2NetworkClusterRefVO_; +import org.zstack.header.network.l2.L2NetworkInventory; +import org.zstack.header.network.l2.L2NetworkVO; +import org.zstack.header.network.l2.L2NetworkVO_; import org.zstack.header.network.l3.APICreateL3NetworkMsg; import org.zstack.network.l2.vxlan.vxlanNetwork.L2VxlanNetworkInventory; import org.zstack.network.l2.vxlan.vxlanNetwork.VxlanNetworkConstant; diff --git a/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetworkPool/VxlanNetworkPool.java b/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetworkPool/VxlanNetworkPool.java index e8166a9873b..08657414bb3 100755 --- a/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetworkPool/VxlanNetworkPool.java +++ b/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetworkPool/VxlanNetworkPool.java @@ -2,7 +2,7 @@ import static org.zstack.network.l2.vxlan.vxlanNetworkPool.VxlanNetworkPoolConstant.*; import org.zstack.header.errorcode.SysErrors; -import org.zstack.network.l2.vxlan.vxlanNetwork.*; +import org.zstack.network.l2.vxlan.vxlanNetwork.VxlanNetwork; import org.zstack.utils.network.NetworkUtils; import org.zstack.header.cluster.ClusterVO; import org.zstack.header.cluster.ClusterVO_; @@ -27,21 +27,67 @@ import org.zstack.header.core.NoErrorCompletion; import org.zstack.header.core.WhileDoneCompletion; import org.zstack.header.core.WhileCompletion; -import org.zstack.header.core.workflow.*; +import org.zstack.header.core.workflow.FlowChain; +import org.zstack.header.core.workflow.FlowDoneHandler; +import org.zstack.header.core.workflow.FlowErrorHandler; +import org.zstack.header.core.workflow.FlowTrigger; +import org.zstack.header.core.workflow.NoRollbackFlow; import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.errorcode.ErrorCodeList; import org.zstack.header.exception.CloudRuntimeException; -import org.zstack.header.host.*; +import org.zstack.header.host.HostConstant; +import org.zstack.header.host.HostInventory; +import org.zstack.header.host.HostState; +import org.zstack.header.host.HostStatus; +import org.zstack.header.host.HostVO; +import org.zstack.header.host.HostVO_; +import org.zstack.header.host.HypervisorType; import org.zstack.header.message.APIDeleteMessage; import org.zstack.header.message.APIMessage; import org.zstack.header.message.Message; import org.zstack.header.message.MessageReply; -import org.zstack.header.network.l2.*; +import org.zstack.header.network.l2.APIAttachL2NetworkToClusterEvent; +import org.zstack.header.network.l2.APIAttachL2NetworkToClusterMsg; +import org.zstack.header.network.l2.APIDeleteL2NetworkEvent; +import org.zstack.header.network.l2.APIDeleteL2NetworkMsg; +import org.zstack.header.network.l2.APIDetachL2NetworkFromClusterEvent; +import org.zstack.header.network.l2.APIDetachL2NetworkFromClusterMsg; +import org.zstack.header.network.l2.CheckL2NetworkOnHostMsg; +import org.zstack.header.network.l2.DeleteL2NetworkMsg; +import org.zstack.header.network.l2.L2Errors; +import org.zstack.header.network.l2.L2NetworkClusterRefVO; +import org.zstack.header.network.l2.L2NetworkClusterRefVO_; +import org.zstack.header.network.l2.L2NetworkConstant; +import org.zstack.header.network.l2.L2NetworkDeletionMsg; +import org.zstack.header.network.l2.L2NetworkDeletionReply; +import org.zstack.header.network.l2.L2NetworkDetachFromClusterMsg; +import org.zstack.header.network.l2.L2NetworkInventory; +import org.zstack.header.network.l2.L2NetworkMessage; +import org.zstack.header.network.l2.L2NetworkRealizationExtensionPoint; +import org.zstack.header.network.l2.L2NetworkType; +import org.zstack.header.network.l2.L2NetworkVO; +import org.zstack.header.network.l2.PrepareL2NetworkOnHostMsg; +import org.zstack.header.network.l2.PrepareL2NetworkOnHostReply; +import org.zstack.header.network.l2.VSwitchType; import org.zstack.kvm.KVMHostAsyncHttpCallMsg; import org.zstack.network.l2.L2NetworkExtensionPointEmitter; import org.zstack.network.l2.L2NetworkManager; import org.zstack.network.l2.L2NoVlanNetwork; -import org.zstack.network.l2.vxlan.vtep.*; +import org.zstack.network.l2.vxlan.vtep.APICreateVxlanVtepEvent; +import org.zstack.network.l2.vxlan.vtep.APICreateVxlanVtepMsg; +import org.zstack.network.l2.vxlan.vtep.CreateVtepMsg; +import org.zstack.network.l2.vxlan.vtep.CreateVtepReply; +import org.zstack.network.l2.vxlan.vtep.DeleteVtepMsg; +import org.zstack.network.l2.vxlan.vtep.DeleteVtepReply; +import org.zstack.network.l2.vxlan.vtep.PopulateVtepPeersMsg; +import org.zstack.network.l2.vxlan.vtep.PopulateVtepPeersReply; +import org.zstack.network.l2.vxlan.vtep.RemoteVtepInventory; +import org.zstack.network.l2.vxlan.vtep.RemoteVtepVO; +import org.zstack.network.l2.vxlan.vtep.RemoteVtepVO_; +import org.zstack.network.l2.vxlan.vtep.Vtep; +import org.zstack.network.l2.vxlan.vtep.VtepInventory; +import org.zstack.network.l2.vxlan.vtep.VtepVO; +import org.zstack.network.l2.vxlan.vtep.VtepVO_; import org.zstack.network.l2.vxlan.vxlanNetwork.VxlanNetworkVO; import org.zstack.network.l2.vxlan.vxlanNetwork.VxlanNetworkVO_; import org.zstack.tag.TagManager; @@ -51,7 +97,15 @@ import org.zstack.utils.gson.JSONObjectUtil; import org.zstack.utils.logging.CLogger; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Set; import java.util.stream.Collectors; import static org.zstack.network.l2.vxlan.vxlanNetworkPool.VxlanNetworkPoolConstant.VXLAN_KVM_POPULATE_FDB_L2VXLAN_NETWORKS_PATH; @@ -613,6 +667,7 @@ private void prepareL2NetworkVxlanRemoteVtepOnHosts(final APICreateVxlanPoolRemo final String l2NetworkUuid = msg.getL2NetworkUuid(); FlowChain chain = FlowChainBuilder.newSimpleFlowChain(); chain.setName(String.format("prepare-l2-vxlan-gateway-%s-on-hosts", l2NetworkUuid)); + // DEBT: NoRollbackFlow — in prepareL2NetworkVxlanRemoteVtepOnHosts chain.then(new NoRollbackFlow() { @Override public void run(final FlowTrigger trigger, Map data) { @@ -643,6 +698,7 @@ public void done(ErrorCodeList errorCodeList) { } }); } + // DEBT: NoRollbackFlow — in prepareL2NetworkVxlanRemoteVtepOnHosts }).then(new NoRollbackFlow() { String __name__ = String.format("populate-remote-vtep-for-l2-vxlan-pool-%s", l2NetworkUuid); @Override @@ -719,6 +775,7 @@ private void handle(final APIDetachL2NetworkFromClusterMsg msg) { FlowChain chain = FlowChainBuilder.newSimpleFlowChain(); chain.setName(String.format("detach-l2-vxlan-pool-%s", msg.getL2NetworkUuid())); + // DEBT: NoRollbackFlow — in afterDetachVxlanPoolFromCluster chain.then(new NoRollbackFlow() { String __name__ = "detach-l2-vxlan-network-in-pool"; @@ -758,6 +815,7 @@ public void done(ErrorCodeList errorCodeList) { } }); } + // DEBT: NoRollbackFlow — reason TBD }).then(new NoRollbackFlow() { String __name__ = "detach-l2-vxlan-pool"; @@ -777,6 +835,7 @@ public void run(MessageReply reply) { } }); } + // DEBT: NoRollbackFlow — reason TBD }).then(new NoRollbackFlow() { String __name__ = "after-detach-l2-vxlan-pool"; @@ -1012,6 +1071,7 @@ public void prepareL2NetworkOnHosts(final String l2NetworkUuid, final List vtepIpChanged = new ArrayList<>(); chain.setName(String.format("prepare-l2-%s-on-hosts", self.getUuid())); + // DEBT: NoRollbackFlow — in prepareL2NetworkOnHosts chain.then(new NoRollbackFlow() { String __name__ = "check-vtep-ip"; @@ -1053,6 +1113,7 @@ public void done(ErrorCodeList errorCodeList) { } }); } + // DEBT: NoRollbackFlow — in prepareL2NetworkOnHosts }).then(new NoRollbackFlow() { String __name__ = String.format("populate-vtep-for-l2-vxlan-pool-%s", l2NetworkUuid); @Override @@ -1074,6 +1135,7 @@ public void run(MessageReply reply) { } }); } + // DEBT: NoRollbackFlow — reason TBD }).then(new NoRollbackFlow() { String __name__ = "realize-l2-network"; diff --git a/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetworkPool/VxlanNetworkPoolFactory.java b/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetworkPool/VxlanNetworkPoolFactory.java index 24e4aa2123c..9f642c9ed6d 100755 --- a/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetworkPool/VxlanNetworkPoolFactory.java +++ b/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetworkPool/VxlanNetworkPoolFactory.java @@ -10,7 +10,13 @@ import org.zstack.header.core.Completion; import org.zstack.header.core.ReturnValueCompletion; import org.zstack.header.message.APIMessage; -import org.zstack.header.network.l2.*; +import org.zstack.header.network.l2.APIAttachL2NetworkToClusterMsg; +import org.zstack.header.network.l2.APICreateL2NetworkMsg; +import org.zstack.header.network.l2.L2Network; +import org.zstack.header.network.l2.L2NetworkFactory; +import org.zstack.header.network.l2.L2NetworkInventory; +import org.zstack.header.network.l2.L2NetworkType; +import org.zstack.header.network.l2.L2NetworkVO; import org.zstack.header.network.l3.APICreateL3NetworkMsg; import org.zstack.identity.AccountManager; import org.zstack.network.l2.L2NetworkManager; diff --git a/plugin/xinfini/src/main/java/org/zstack/xinfini/XInfiniApiHelper.java b/plugin/xinfini/src/main/java/org/zstack/xinfini/XInfiniApiHelper.java index e11196568ca..262b81fbd81 100644 --- a/plugin/xinfini/src/main/java/org/zstack/xinfini/XInfiniApiHelper.java +++ b/plugin/xinfini/src/main/java/org/zstack/xinfini/XInfiniApiHelper.java @@ -18,17 +18,107 @@ import org.zstack.utils.data.SizeUnit; import org.zstack.utils.function.Function; import org.zstack.utils.logging.CLogger; -import org.zstack.xinfini.sdk.*; +import org.zstack.xinfini.sdk.MetadataState; +import org.zstack.xinfini.sdk.XInfiniClient; +import org.zstack.xinfini.sdk.XInfiniQueryRequest; +import org.zstack.xinfini.sdk.XInfiniQueryResponse; +import org.zstack.xinfini.sdk.XInfiniRequest; +import org.zstack.xinfini.sdk.XInfiniResponse; import org.zstack.xinfini.sdk.cluster.QueryClusterRequest; import org.zstack.xinfini.sdk.cluster.QueryClusterResponse; -import org.zstack.xinfini.sdk.iscsi.*; +import org.zstack.xinfini.sdk.iscsi.AddVolumeClientGroupMappingRequest; +import org.zstack.xinfini.sdk.iscsi.AddVolumeClientGroupMappingResponse; +import org.zstack.xinfini.sdk.iscsi.CreateIscsiClientGroupRequest; +import org.zstack.xinfini.sdk.iscsi.CreateIscsiClientGroupResponse; +import org.zstack.xinfini.sdk.iscsi.CreateIscsiClientRequest; +import org.zstack.xinfini.sdk.iscsi.CreateIscsiClientResponse; +import org.zstack.xinfini.sdk.iscsi.DeleteIscsiClientRequest; +import org.zstack.xinfini.sdk.iscsi.DeleteIscsiClientResponse; +import org.zstack.xinfini.sdk.iscsi.DeleteVolumeClientGroupMappingRequest; +import org.zstack.xinfini.sdk.iscsi.DeleteVolumeClientGroupMappingResponse; +import org.zstack.xinfini.sdk.iscsi.GetIscsiClientGroupRequest; +import org.zstack.xinfini.sdk.iscsi.GetIscsiClientGroupResponse; +import org.zstack.xinfini.sdk.iscsi.GetIscsiClientRequest; +import org.zstack.xinfini.sdk.iscsi.GetIscsiClientResponse; +import org.zstack.xinfini.sdk.iscsi.GetVolumeClientGroupMappingRequest; +import org.zstack.xinfini.sdk.iscsi.GetVolumeClientGroupMappingResponse; +import org.zstack.xinfini.sdk.iscsi.IscsiClientGroupModule; +import org.zstack.xinfini.sdk.iscsi.IscsiClientModule; +import org.zstack.xinfini.sdk.iscsi.IscsiGatewayClientGroupMappingModule; +import org.zstack.xinfini.sdk.iscsi.IscsiGatewayModule; +import org.zstack.xinfini.sdk.iscsi.QueryIscsiClientGroupRequest; +import org.zstack.xinfini.sdk.iscsi.QueryIscsiClientGroupResponse; +import org.zstack.xinfini.sdk.iscsi.QueryIscsiClientRequest; +import org.zstack.xinfini.sdk.iscsi.QueryIscsiClientResponse; +import org.zstack.xinfini.sdk.iscsi.QueryIscsiGatewayClientGroupMappingRequest; +import org.zstack.xinfini.sdk.iscsi.QueryIscsiGatewayClientGroupMappingResponse; +import org.zstack.xinfini.sdk.iscsi.QueryIscsiGatewayRequest; +import org.zstack.xinfini.sdk.iscsi.QueryIscsiGatewayResponse; +import org.zstack.xinfini.sdk.iscsi.QueryVolumeClientGroupMappingRequest; +import org.zstack.xinfini.sdk.iscsi.QueryVolumeClientGroupMappingResponse; +import org.zstack.xinfini.sdk.iscsi.QueryVolumeClientMappingRequest; +import org.zstack.xinfini.sdk.iscsi.QueryVolumeClientMappingResponse; +import org.zstack.xinfini.sdk.iscsi.VolumeClientGroupMappingModule; +import org.zstack.xinfini.sdk.iscsi.VolumeClientMappingModule; import org.zstack.xinfini.sdk.metric.PoolMetrics; import org.zstack.xinfini.sdk.metric.QueryMetricRequest; import org.zstack.xinfini.sdk.metric.QueryMetricResponse; -import org.zstack.xinfini.sdk.node.*; -import org.zstack.xinfini.sdk.pool.*; -import org.zstack.xinfini.sdk.vhost.*; -import org.zstack.xinfini.sdk.volume.*; +import org.zstack.xinfini.sdk.node.GetNodeRequest; +import org.zstack.xinfini.sdk.node.GetNodeResponse; +import org.zstack.xinfini.sdk.node.NodeModule; +import org.zstack.xinfini.sdk.node.QueryNodeRequest; +import org.zstack.xinfini.sdk.node.QueryNodeResponse; +import org.zstack.xinfini.sdk.pool.BsPolicyModule; +import org.zstack.xinfini.sdk.pool.GetBsPolicyRequest; +import org.zstack.xinfini.sdk.pool.GetBsPolicyResponse; +import org.zstack.xinfini.sdk.pool.GetPoolRequest; +import org.zstack.xinfini.sdk.pool.GetPoolResponse; +import org.zstack.xinfini.sdk.pool.PoolCapacity; +import org.zstack.xinfini.sdk.pool.PoolModule; +import org.zstack.xinfini.sdk.pool.QueryPoolRequest; +import org.zstack.xinfini.sdk.pool.QueryPoolResponse; +import org.zstack.xinfini.sdk.vhost.BdcBdevModule; +import org.zstack.xinfini.sdk.vhost.BdcModule; +import org.zstack.xinfini.sdk.vhost.BdcRunState; +import org.zstack.xinfini.sdk.vhost.CreateBdcBdevRequest; +import org.zstack.xinfini.sdk.vhost.CreateBdcBdevResponse; +import org.zstack.xinfini.sdk.vhost.DeleteBdcBdevRequest; +import org.zstack.xinfini.sdk.vhost.DeleteBdcBdevResponse; +import org.zstack.xinfini.sdk.vhost.GetBdcBdevRequest; +import org.zstack.xinfini.sdk.vhost.GetBdcBdevResponse; +import org.zstack.xinfini.sdk.vhost.GetBdcRequest; +import org.zstack.xinfini.sdk.vhost.GetBdcResponse; +import org.zstack.xinfini.sdk.vhost.QueryBdcBdevRequest; +import org.zstack.xinfini.sdk.vhost.QueryBdcBdevResponse; +import org.zstack.xinfini.sdk.vhost.QueryBdcRequest; +import org.zstack.xinfini.sdk.vhost.QueryBdcResponse; +import org.zstack.xinfini.sdk.volume.CloneVolumeRequest; +import org.zstack.xinfini.sdk.volume.CloneVolumeResponse; +import org.zstack.xinfini.sdk.volume.CreateVolumeRequest; +import org.zstack.xinfini.sdk.volume.CreateVolumeResponse; +import org.zstack.xinfini.sdk.volume.CreateVolumeSnapshotRequest; +import org.zstack.xinfini.sdk.volume.CreateVolumeSnapshotResponse; +import org.zstack.xinfini.sdk.volume.DeleteVolumeRequest; +import org.zstack.xinfini.sdk.volume.DeleteVolumeResponse; +import org.zstack.xinfini.sdk.volume.DeleteVolumeSnapshotRequest; +import org.zstack.xinfini.sdk.volume.DeleteVolumeSnapshotResponse; +import org.zstack.xinfini.sdk.volume.FlattenVolumeRequest; +import org.zstack.xinfini.sdk.volume.FlattenVolumeResponse; +import org.zstack.xinfini.sdk.volume.GetVolumeRequest; +import org.zstack.xinfini.sdk.volume.GetVolumeResponse; +import org.zstack.xinfini.sdk.volume.GetVolumeSnapshotRequest; +import org.zstack.xinfini.sdk.volume.GetVolumeSnapshotResponse; +import org.zstack.xinfini.sdk.volume.QueryVolumeRequest; +import org.zstack.xinfini.sdk.volume.QueryVolumeResponse; +import org.zstack.xinfini.sdk.volume.QueryVolumeSnapshotRequest; +import org.zstack.xinfini.sdk.volume.QueryVolumeSnapshotResponse; +import org.zstack.xinfini.sdk.volume.RollbackSnapshotRequest; +import org.zstack.xinfini.sdk.volume.RollbackSnapshotResponse; +import org.zstack.xinfini.sdk.volume.UpdateVolumeRequest; +import org.zstack.xinfini.sdk.volume.UpdateVolumeResponse; +import org.zstack.xinfini.sdk.volume.VolumeModule; +import org.zstack.xinfini.sdk.volume.VolumeSnapshotModule; +import org.zstack.xinfini.sdk.volume.XinfiniVolumeQos; import java.util.Collections; import java.util.List; @@ -76,7 +166,9 @@ public T callErrorOutWithRetry(XInfiniRequest req, C if (!rsp.isSuccess()) { try { TimeUnit.SECONDS.sleep(3); - } catch (InterruptedException ignore) {} + } catch (InterruptedException e) { + Thread.currentThread().interrupt(); + } } else { return rsp; } diff --git a/plugin/xinfini/src/main/java/org/zstack/xinfini/XInfiniStorageController.java b/plugin/xinfini/src/main/java/org/zstack/xinfini/XInfiniStorageController.java index 0626b00ba7a..99eccdad362 100644 --- a/plugin/xinfini/src/main/java/org/zstack/xinfini/XInfiniStorageController.java +++ b/plugin/xinfini/src/main/java/org/zstack/xinfini/XInfiniStorageController.java @@ -14,11 +14,34 @@ import org.zstack.header.host.HostInventory; import org.zstack.header.host.HostVO; import org.zstack.header.host.HostVO_; -import org.zstack.header.storage.addon.*; -import org.zstack.header.storage.addon.primary.*; +import org.zstack.header.storage.addon.IscsiRemoteTarget; +import org.zstack.header.storage.addon.NodeHealthy; +import org.zstack.header.storage.addon.RemoteTarget; +import org.zstack.header.storage.addon.StorageCapacity; +import org.zstack.header.storage.addon.StorageHealthy; +import org.zstack.header.storage.addon.primary.ActiveVolumeClient; +import org.zstack.header.storage.addon.primary.ActiveVolumeTO; +import org.zstack.header.storage.addon.primary.AddonInfo; +import org.zstack.header.storage.addon.primary.AllocateSpaceSpec; +import org.zstack.header.storage.addon.primary.BaseVolumeInfo; +import org.zstack.header.storage.addon.primary.CreateVolumeSnapshotSpec; +import org.zstack.header.storage.addon.primary.CreateVolumeSpec; +import org.zstack.header.storage.addon.primary.ExportSpec; +import org.zstack.header.storage.addon.primary.ExternalPrimaryStorageVO; +import org.zstack.header.storage.addon.primary.ExternalPrimaryStorageVO_; +import org.zstack.header.storage.addon.primary.HeartbeatVolumeTopology; +import org.zstack.header.storage.addon.primary.PingResult; +import org.zstack.header.storage.addon.primary.PrimaryStorageControllerSvc; +import org.zstack.header.storage.addon.primary.PrimaryStorageNodeSvc; +import org.zstack.header.storage.addon.primary.StorageCapabilities; import org.zstack.header.storage.primary.VolumeSnapshotCapability; import org.zstack.header.storage.snapshot.VolumeSnapshotStats; -import org.zstack.header.volume.*; +import org.zstack.header.volume.Volume; +import org.zstack.header.volume.VolumeConfigs; +import org.zstack.header.volume.VolumeConstant; +import org.zstack.header.volume.VolumeInventory; +import org.zstack.header.volume.VolumeProtocol; +import org.zstack.header.volume.VolumeStats; import org.zstack.header.xinfini.XInfiniConstants; import org.zstack.iscsi.IscsiUtils; import org.zstack.iscsi.kvm.IscsiHeartbeatVolumeTO; @@ -36,7 +59,13 @@ import org.zstack.xinfini.sdk.MetadataState; import org.zstack.xinfini.sdk.XInfiniClient; import org.zstack.xinfini.sdk.XInfiniConnectConfig; -import org.zstack.xinfini.sdk.iscsi.*; +import org.zstack.xinfini.sdk.iscsi.IscsiClientGroupModule; +import org.zstack.xinfini.sdk.iscsi.IscsiClientModule; +import org.zstack.xinfini.sdk.iscsi.IscsiGatewayClientGroupMappingModule; +import org.zstack.xinfini.sdk.iscsi.IscsiGatewayModule; +import org.zstack.xinfini.sdk.iscsi.IscsiNodeState; +import org.zstack.xinfini.sdk.iscsi.VolumeClientGroupMappingModule; +import org.zstack.xinfini.sdk.iscsi.VolumeClientMappingModule; import org.zstack.xinfini.sdk.node.NodeModule; import org.zstack.xinfini.sdk.pool.BsPolicyModule; import org.zstack.xinfini.sdk.pool.PoolCapacity; @@ -48,7 +77,11 @@ import org.zstack.xinfini.sdk.volume.VolumeSnapshotModule; import org.zstack.xinfini.sdk.volume.XinfiniVolumeQos; -import java.util.*; +import java.util.Collection; +import java.util.Collections; +import java.util.List; +import java.util.Map; +import java.util.Set; import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; @@ -1107,7 +1140,9 @@ private void retry(Runnable r, int retry) { logger.warn("runnable failed, try ", e); try { TimeUnit.SECONDS.sleep(3); - } catch (InterruptedException ignore) {} + } catch (InterruptedException ie) { + Thread.currentThread().interrupt(); + } } } } diff --git a/plugin/xinfini/src/main/java/org/zstack/xinfini/XInfiniStorageFactory.java b/plugin/xinfini/src/main/java/org/zstack/xinfini/XInfiniStorageFactory.java index 70d33ea08d0..5a46388906b 100644 --- a/plugin/xinfini/src/main/java/org/zstack/xinfini/XInfiniStorageFactory.java +++ b/plugin/xinfini/src/main/java/org/zstack/xinfini/XInfiniStorageFactory.java @@ -4,7 +4,12 @@ import org.springframework.beans.factory.annotation.Autowired; import org.zstack.externalStorage.primary.ExternalStorageFencerType; import org.zstack.header.core.ReturnValueCompletion; -import org.zstack.header.storage.addon.primary.*; +import org.zstack.header.storage.addon.primary.AddonInfo; +import org.zstack.header.storage.addon.primary.BackupStorageSelector; +import org.zstack.header.storage.addon.primary.ExternalPrimaryStorageSvcBuilder; +import org.zstack.header.storage.addon.primary.ExternalPrimaryStorageVO; +import org.zstack.header.storage.addon.primary.PrimaryStorageControllerSvc; +import org.zstack.header.storage.addon.primary.PrimaryStorageNodeSvc; import org.zstack.header.volume.VolumeAfterExpungeExtensionPoint; import org.zstack.header.volume.VolumeInventory; import org.zstack.header.volume.VolumeProtocol; diff --git a/plugin/zbs/src/main/java/org/zstack/storage/zbs/ZbsPrimaryStorageMdsBase.java b/plugin/zbs/src/main/java/org/zstack/storage/zbs/ZbsPrimaryStorageMdsBase.java index bcd230bfdf7..395408bf337 100644 --- a/plugin/zbs/src/main/java/org/zstack/storage/zbs/ZbsPrimaryStorageMdsBase.java +++ b/plugin/zbs/src/main/java/org/zstack/storage/zbs/ZbsPrimaryStorageMdsBase.java @@ -4,7 +4,12 @@ import org.zstack.compute.host.HostGlobalConfig; import org.zstack.core.CoreGlobalProperty; import org.zstack.core.Platform; -import org.zstack.core.ansible.*; +import org.zstack.core.ansible.AnsibleGlobalProperty; +import org.zstack.core.ansible.AnsibleRunner; +import org.zstack.core.ansible.CallBackNetworkChecker; +import org.zstack.core.ansible.SshChronyConfigChecker; +import org.zstack.core.ansible.SshFileMd5Checker; +import org.zstack.core.ansible.SshYumRepoChecker; import org.zstack.core.asyncbatch.While; import org.zstack.core.cloudbus.CloudBusGlobalProperty; import org.zstack.core.db.DatabaseFacade; @@ -16,7 +21,11 @@ import org.zstack.header.core.Completion; import org.zstack.header.core.ReturnValueCompletion; import org.zstack.header.core.WhileDoneCompletion; -import org.zstack.header.core.workflow.*; +import org.zstack.header.core.workflow.FlowChain; +import org.zstack.header.core.workflow.FlowDoneHandler; +import org.zstack.header.core.workflow.FlowErrorHandler; +import org.zstack.header.core.workflow.FlowTrigger; +import org.zstack.header.core.workflow.NoRollbackFlow; import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.errorcode.ErrorCodeList; import org.zstack.header.errorcode.OperationFailureException; @@ -71,6 +80,7 @@ private void doConnect(final Completion completion) { @Override public void setup() { if (!CoreGlobalProperty.UNIT_TEST_ON) { + // DEBT: NoRollbackFlow — in doConnect flow(new NoRollbackFlow() { String __name__ = "check-mds"; @@ -82,6 +92,7 @@ public void run(FlowTrigger trigger, Map data) { } }); + // DEBT: NoRollbackFlow — in doConnect flow(new NoRollbackFlow() { String __name__ = "deploy-agent"; @@ -145,6 +156,7 @@ public void fail(ErrorCode errorCode) { } }); + // DEBT: NoRollbackFlow — reason TBD flow(new NoRollbackFlow() { String __name__ = "configure-iptables"; @@ -180,6 +192,7 @@ public void run(FlowTrigger trigger, Map data) { }); } + // DEBT: NoRollbackFlow — reason TBD flow(new NoRollbackFlow() { String __name__ = "echo-agent"; @@ -199,6 +212,7 @@ public void fail(ErrorCode errorCode) { } }); + // DEBT: NoRollbackFlow — reason TBD flow(new NoRollbackFlow() { String __name__ = "sync-metadata"; diff --git a/plugin/zbs/src/main/java/org/zstack/storage/zbs/ZbsStorageController.java b/plugin/zbs/src/main/java/org/zstack/storage/zbs/ZbsStorageController.java index 0d71b507b14..0aafa31a46b 100644 --- a/plugin/zbs/src/main/java/org/zstack/storage/zbs/ZbsStorageController.java +++ b/plugin/zbs/src/main/java/org/zstack/storage/zbs/ZbsStorageController.java @@ -19,8 +19,14 @@ import org.zstack.core.workflow.ShareFlow; import org.zstack.header.HasThreadContext; import org.zstack.header.apimediator.ApiMessageInterceptionException; -import org.zstack.header.core.*; -import org.zstack.header.core.workflow.*; +import org.zstack.header.core.Completion; +import org.zstack.header.core.ReturnValueCompletion; +import org.zstack.header.core.WhileDoneCompletion; +import org.zstack.header.core.workflow.FlowChain; +import org.zstack.header.core.workflow.FlowDoneHandler; +import org.zstack.header.core.workflow.FlowErrorHandler; +import org.zstack.header.core.workflow.FlowTrigger; +import org.zstack.header.core.workflow.NoRollbackFlow; import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.errorcode.ErrorCodeList; import org.zstack.header.errorcode.OperationFailureException; @@ -31,9 +37,30 @@ import org.zstack.header.host.HostVO; import org.zstack.header.image.ImageConstant; import org.zstack.header.message.MessageReply; -import org.zstack.header.storage.addon.*; -import org.zstack.header.storage.addon.primary.*; -import org.zstack.header.storage.primary.*; +import org.zstack.header.storage.addon.NbdRemoteTarget; +import org.zstack.header.storage.addon.NodeHealthy; +import org.zstack.header.storage.addon.RemoteTarget; +import org.zstack.header.storage.addon.StorageCapacity; +import org.zstack.header.storage.addon.StorageHealthy; +import org.zstack.header.storage.addon.primary.ActiveVolumeClient; +import org.zstack.header.storage.addon.primary.ActiveVolumeTO; +import org.zstack.header.storage.addon.primary.AddonInfo; +import org.zstack.header.storage.addon.primary.AllocateSpaceSpec; +import org.zstack.header.storage.addon.primary.BaseVolumeInfo; +import org.zstack.header.storage.addon.primary.CreateVolumeSnapshotSpec; +import org.zstack.header.storage.addon.primary.CreateVolumeSpec; +import org.zstack.header.storage.addon.primary.ExportSpec; +import org.zstack.header.storage.addon.primary.ExternalPrimaryStorageVO; +import org.zstack.header.storage.addon.primary.ExternalPrimaryStorageVO_; +import org.zstack.header.storage.addon.primary.HeartbeatVolumeTO; +import org.zstack.header.storage.addon.primary.HeartbeatVolumeTopology; +import org.zstack.header.storage.addon.primary.PingResult; +import org.zstack.header.storage.addon.primary.PrimaryStorageControllerSvc; +import org.zstack.header.storage.addon.primary.PrimaryStorageNodeSvc; +import org.zstack.header.storage.addon.primary.StorageCapabilities; +import org.zstack.header.storage.primary.PrimaryStorageClusterRefVO; +import org.zstack.header.storage.primary.PrimaryStorageClusterRefVO_; +import org.zstack.header.storage.primary.VolumeSnapshotCapability; import org.zstack.header.storage.snapshot.VolumeSnapshotStats; import org.zstack.header.volume.VolumeConstant; import org.zstack.header.volume.VolumeProtocol; @@ -53,7 +80,15 @@ import java.net.URI; import java.net.URISyntaxException; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; +import java.util.Collections; +import java.util.Comparator; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.TimeUnit; import java.util.function.Predicate; @@ -214,6 +249,7 @@ public void deployClient(HostInventory h, Completion comp) { chain.then(new ShareFlow() { @Override public void setup() { + // DEBT: NoRollbackFlow — in deployClient flow(new NoRollbackFlow() { String __name__ = "deploy-client"; @@ -244,6 +280,7 @@ public void fail(ErrorCode errorCode) { } }); + // DEBT: NoRollbackFlow — in deployClient flow(new NoRollbackFlow() { String __name__ = "update-host-client-dependency"; @@ -435,6 +472,7 @@ public void fail(ErrorCode errorCode) { chain.then(new ShareFlow() { @Override public void setup() { + // DEBT: NoRollbackFlow — reason TBD flow(new NoRollbackFlow() { String __name__ = "connect-mds"; @@ -444,6 +482,7 @@ public void run(FlowTrigger trigger, Map data) { } }); + // DEBT: NoRollbackFlow — reason TBD flow(new NoRollbackFlow() { String __name__ = "get-facts"; @@ -467,6 +506,7 @@ public void fail(ErrorCode errorCode) { } }); + // DEBT: NoRollbackFlow — reason TBD flow(new NoRollbackFlow() { String __name__ = "deploy-client"; @@ -908,6 +948,7 @@ public void cloneVolume(String srcInstallPath, CreateVolumeSpec dst, ReturnValue chain.then(new ShareFlow() { @Override public void setup() { + // DEBT: NoRollbackFlow — in cloneVolume flow(new NoRollbackFlow() { String __name__ = "clone-volume"; @@ -936,6 +977,7 @@ public void fail(ErrorCode errorCode) { } }); + // DEBT: NoRollbackFlow — in cloneVolume flow(new NoRollbackFlow() { String __name__ = "resize-volume"; diff --git a/plugin/zbs/src/main/java/org/zstack/storage/zbs/ZbsStorageFactory.java b/plugin/zbs/src/main/java/org/zstack/storage/zbs/ZbsStorageFactory.java index 5b7c491814e..930d2312622 100644 --- a/plugin/zbs/src/main/java/org/zstack/storage/zbs/ZbsStorageFactory.java +++ b/plugin/zbs/src/main/java/org/zstack/storage/zbs/ZbsStorageFactory.java @@ -3,7 +3,12 @@ import org.apache.commons.collections.CollectionUtils; import org.zstack.externalStorage.primary.ExternalStorageFencerType; import org.zstack.header.core.ReturnValueCompletion; -import org.zstack.header.storage.addon.primary.*; +import org.zstack.header.storage.addon.primary.AddonInfo; +import org.zstack.header.storage.addon.primary.BackupStorageSelector; +import org.zstack.header.storage.addon.primary.ExternalPrimaryStorageSvcBuilder; +import org.zstack.header.storage.addon.primary.ExternalPrimaryStorageVO; +import org.zstack.header.storage.addon.primary.PrimaryStorageControllerSvc; +import org.zstack.header.storage.addon.primary.PrimaryStorageNodeSvc; import org.zstack.header.volume.VolumeProtocol; import org.zstack.utils.Utils; import org.zstack.utils.gson.JSONObjectUtil; diff --git a/portal/src/main/java/org/zstack/portal/managementnode/ManagementNodeManagerImpl.java b/portal/src/main/java/org/zstack/portal/managementnode/ManagementNodeManagerImpl.java index 4ece718ff52..27ea693bf54 100755 --- a/portal/src/main/java/org/zstack/portal/managementnode/ManagementNodeManagerImpl.java +++ b/portal/src/main/java/org/zstack/portal/managementnode/ManagementNodeManagerImpl.java @@ -468,6 +468,7 @@ public void rollback(FlowRollback trigger, Map data) { bus.stop(); trigger.rollback(); } + // DEBT: NoRollbackFlow — in rollback }).then(new NoRollbackFlow() { String __name__ = "populate-components"; @@ -490,6 +491,7 @@ public void rollback(FlowRollback trigger, Map data) { bus.unregisterService(self); trigger.rollback(); } + // DEBT: NoRollbackFlow — in rollback }).then(new NoRollbackFlow() { String __name__ = "call-prepare-db-extension"; @@ -545,6 +547,7 @@ public void rollback(FlowRollback trigger, Map data) { trigger.rollback(); } + // DEBT: NoRollbackFlow — in rollback }).then(new NoRollbackFlow() { String __name__ = "start-heartbeat"; @@ -567,6 +570,7 @@ public void rollback(FlowRollback trigger, Map data) { apim.stop(); trigger.rollback(); } + // DEBT: NoRollbackFlow — in rollback }).then(new NoRollbackFlow() { String __name__ = "set-node-to-running"; @@ -576,6 +580,7 @@ public void run(FlowTrigger trigger, Map data) { node = dbf.updateAndRefresh(node); trigger.next(); } + // DEBT: NoRollbackFlow — in rollback }).then(new NoRollbackFlow() { String __name__ = "I-join"; @@ -584,6 +589,7 @@ public void run(FlowTrigger trigger, Map data) { nodeLifeCycle.iJoin(ManagementNodeInventory.valueOf(node)); trigger.next(); } + // DEBT: NoRollbackFlow — in rollback }).then(new NoRollbackFlow() { String __name__ = "node-is-ready"; @@ -595,6 +601,7 @@ public void run(FlowTrigger trigger, Map data) { trigger.next(); } + // DEBT: NoRollbackFlow — in rollback }).then(new NoRollbackFlow() { String __name__ = "listen-node-life-cycle-events"; @@ -603,6 +610,7 @@ public void run(FlowTrigger trigger, Map data) { evtf.on(ManagementNodeCanonicalEvent.NODE_LIFECYCLE_PATH, nodeLifeCycleCallback); trigger.next(); } + // DEBT: NoRollbackFlow — in rollback }).then(new NoRollbackFlow() { String __name__ = "say-I-join"; diff --git a/storage/src/main/java/org/zstack/storage/addon/backup/ExternalBackupStorage.java b/storage/src/main/java/org/zstack/storage/addon/backup/ExternalBackupStorage.java index 4014afc51a1..7fb4940bc4d 100755 --- a/storage/src/main/java/org/zstack/storage/addon/backup/ExternalBackupStorage.java +++ b/storage/src/main/java/org/zstack/storage/addon/backup/ExternalBackupStorage.java @@ -12,7 +12,18 @@ import org.zstack.header.storage.addon.backup.BackupStorageController; import org.zstack.header.storage.addon.backup.ExternalBackupStorageInventory; import org.zstack.header.storage.addon.backup.ExternalBackupStorageVO; -import org.zstack.header.storage.backup.*; +import org.zstack.header.storage.backup.BackupStorageAskInstallPathMsg; +import org.zstack.header.storage.backup.BackupStorageInventory; +import org.zstack.header.storage.backup.CalculateImageHashOnBackupStorageMsg; +import org.zstack.header.storage.backup.DeleteBitsOnBackupStorageMsg; +import org.zstack.header.storage.backup.DownloadImageMsg; +import org.zstack.header.storage.backup.DownloadImageReply; +import org.zstack.header.storage.backup.DownloadVolumeMsg; +import org.zstack.header.storage.backup.GetImageEncryptedOnBackupStorageMsg; +import org.zstack.header.storage.backup.GetImageSizeOnBackupStorageMsg; +import org.zstack.header.storage.backup.GetLocalFileSizeOnBackupStorageMsg; +import org.zstack.header.storage.backup.RestoreImagesBackupStorageMetadataToDatabaseMsg; +import org.zstack.header.storage.backup.SyncImageSizeOnBackupStorageMsg; import org.zstack.storage.backup.BackupStorageBase; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; diff --git a/storage/src/main/java/org/zstack/storage/addon/backup/ExternalBackupStorageFactory.java b/storage/src/main/java/org/zstack/storage/addon/backup/ExternalBackupStorageFactory.java index f1818fc75d3..2a679fb831e 100755 --- a/storage/src/main/java/org/zstack/storage/addon/backup/ExternalBackupStorageFactory.java +++ b/storage/src/main/java/org/zstack/storage/addon/backup/ExternalBackupStorageFactory.java @@ -10,7 +10,13 @@ import org.zstack.header.storage.addon.backup.BackupStorageController; import org.zstack.header.storage.addon.backup.ExternalBackupStorageInventory; import org.zstack.header.storage.addon.backup.ExternalBackupStorageVO; -import org.zstack.header.storage.backup.*; +import org.zstack.header.storage.backup.APIAddBackupStorageMsg; +import org.zstack.header.storage.backup.BackupStorage; +import org.zstack.header.storage.backup.BackupStorageConstant; +import org.zstack.header.storage.backup.BackupStorageFactory; +import org.zstack.header.storage.backup.BackupStorageInventory; +import org.zstack.header.storage.backup.BackupStorageType; +import org.zstack.header.storage.backup.BackupStorageVO; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; import static org.zstack.utils.clouderrorcode.CloudOperationsErrorCode.*; diff --git a/storage/src/main/java/org/zstack/storage/addon/primary/BlockExternalPrimaryStorageBackend.java b/storage/src/main/java/org/zstack/storage/addon/primary/BlockExternalPrimaryStorageBackend.java index dc2cfa760bf..9fc0e1a9de0 100644 --- a/storage/src/main/java/org/zstack/storage/addon/primary/BlockExternalPrimaryStorageBackend.java +++ b/storage/src/main/java/org/zstack/storage/addon/primary/BlockExternalPrimaryStorageBackend.java @@ -1,6 +1,9 @@ package org.zstack.storage.addon.primary; -import org.zstack.header.storage.primary.*; +import org.zstack.header.storage.primary.DeleteSnapshotOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.DeleteVolumeOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.InstantiateVolumeOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.TakeSnapshotMsg; import org.zstack.header.volume.block.GetAccessPathMsg; /** diff --git a/storage/src/main/java/org/zstack/storage/addon/primary/ExternalPrimaryStorageFactory.java b/storage/src/main/java/org/zstack/storage/addon/primary/ExternalPrimaryStorageFactory.java index ffabd743037..40bea3ec455 100644 --- a/storage/src/main/java/org/zstack/storage/addon/primary/ExternalPrimaryStorageFactory.java +++ b/storage/src/main/java/org/zstack/storage/addon/primary/ExternalPrimaryStorageFactory.java @@ -6,7 +6,10 @@ import org.springframework.transaction.annotation.Transactional; import org.zstack.core.Platform; import org.zstack.core.asyncbatch.While; -import org.zstack.core.cloudbus.*; +import org.zstack.core.cloudbus.CloudBus; +import org.zstack.core.cloudbus.CloudBusCallBack; +import org.zstack.core.cloudbus.EventCallback; +import org.zstack.core.cloudbus.EventFacade; import org.zstack.core.componentloader.PluginRegistry; import org.zstack.core.db.DatabaseFacade; import org.zstack.core.db.Q; @@ -15,8 +18,19 @@ import org.zstack.core.workflow.FlowChainBuilder; import org.zstack.header.Component; import org.zstack.header.apimediator.ApiMessageInterceptionException; -import org.zstack.header.core.*; -import org.zstack.header.core.workflow.*; +import org.zstack.header.core.Completion; +import org.zstack.header.core.NoErrorCompletion; +import org.zstack.header.core.NopeCompletion; +import org.zstack.header.core.ReturnValueCompletion; +import org.zstack.header.core.WhileDoneCompletion; +import org.zstack.header.core.workflow.Flow; +import org.zstack.header.core.workflow.FlowChain; +import org.zstack.header.core.workflow.FlowDoneHandler; +import org.zstack.header.core.workflow.FlowErrorHandler; +import org.zstack.header.core.workflow.FlowRollback; +import org.zstack.header.core.workflow.FlowTrigger; +import org.zstack.header.core.workflow.NoRollbackFlow; +import org.zstack.header.core.workflow.NopeFlow; import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.errorcode.ErrorCodeList; import org.zstack.header.errorcode.OperationFailureException; @@ -31,12 +45,67 @@ import org.zstack.header.message.Message; import org.zstack.header.message.MessageReply; import org.zstack.header.storage.addon.IscsiRemoteTarget; -import org.zstack.header.storage.addon.primary.*; +import org.zstack.header.storage.addon.primary.APIAddExternalPrimaryStorageMsg; +import org.zstack.header.storage.addon.primary.APIUpdateExternalPrimaryStorageEvent; +import org.zstack.header.storage.addon.primary.ActiveVolumeTO; +import org.zstack.header.storage.addon.primary.AllocateSpaceSpec; +import org.zstack.header.storage.addon.primary.BaseVolumeInfo; +import org.zstack.header.storage.addon.primary.ExternalPrimaryStorageInventory; +import org.zstack.header.storage.addon.primary.ExternalPrimaryStorageSpaceVO; +import org.zstack.header.storage.addon.primary.ExternalPrimaryStorageSvcBuilder; +import org.zstack.header.storage.addon.primary.ExternalPrimaryStorageVO; +import org.zstack.header.storage.addon.primary.ExternalPrimaryStorageVO_; +import org.zstack.header.storage.addon.primary.NodeHealthyCheckProtocolExtensionPoint; +import org.zstack.header.storage.addon.primary.PrimaryStorageControllerSvc; +import org.zstack.header.storage.addon.primary.PrimaryStorageNodeSvc; +import org.zstack.header.storage.addon.primary.PrimaryStorageOutputProtocolRefVO; import org.zstack.header.storage.backup.BackupStorageConstant; import org.zstack.header.storage.backup.DeleteBitsOnBackupStorageMsg; -import org.zstack.header.storage.primary.*; -import org.zstack.header.storage.snapshot.*; -import org.zstack.header.vm.*; +import org.zstack.header.storage.primary.APIAddPrimaryStorageEvent; +import org.zstack.header.storage.primary.APIAddPrimaryStorageMsg; +import org.zstack.header.storage.primary.AllocatePrimaryStorageSpaceMsg; +import org.zstack.header.storage.primary.ConnectPrimaryStorageMsg; +import org.zstack.header.storage.primary.CreateTemplateFromVolumeOnPrimaryStorageReply; +import org.zstack.header.storage.primary.CreateTemplateFromVolumeSnapshotOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.DeleteVolumeBitsOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.PSCapacityExtensionPoint; +import org.zstack.header.storage.primary.PrimaryStorage; +import org.zstack.header.storage.primary.PrimaryStorageCanonicalEvent; +import org.zstack.header.storage.primary.PrimaryStorageConstant; +import org.zstack.header.storage.primary.PrimaryStorageFactory; +import org.zstack.header.storage.primary.PrimaryStorageFeature; +import org.zstack.header.storage.primary.PrimaryStorageInventory; +import org.zstack.header.storage.primary.PrimaryStorageType; +import org.zstack.header.storage.primary.PrimaryStorageVO; +import org.zstack.header.storage.primary.RecalculatePrimaryStorageCapacityExtensionPoint; +import org.zstack.header.storage.primary.RecalculatePrimaryStorageCapacityStruct; +import org.zstack.header.storage.primary.TakeSnapshotMsg; +import org.zstack.header.storage.primary.TakeSnapshotReply; +import org.zstack.header.storage.primary.VolumeSnapshotCapability; +import org.zstack.header.storage.snapshot.BeforeTakeLiveSnapshotsOnVolumes; +import org.zstack.header.storage.snapshot.ConsistentType; +import org.zstack.header.storage.snapshot.CreateTemplateFromVolumeSnapshotExtensionPoint; +import org.zstack.header.storage.snapshot.CreateVolumeSnapshotMsg; +import org.zstack.header.storage.snapshot.CreateVolumeSnapshotReply; +import org.zstack.header.storage.snapshot.CreateVolumesSnapshotOverlayInnerMsg; +import org.zstack.header.storage.snapshot.CreateVolumesSnapshotsJobStruct; +import org.zstack.header.storage.snapshot.TakeVolumesSnapshotOnKvmMsg; +import org.zstack.header.storage.snapshot.VolumeSnapshotAfterDeleteExtensionPoint; +import org.zstack.header.storage.snapshot.VolumeSnapshotConstant; +import org.zstack.header.storage.snapshot.VolumeSnapshotInventory; +import org.zstack.header.storage.snapshot.VolumeSnapshotStatus; +import org.zstack.header.storage.snapshot.VolumeSnapshotVO; +import org.zstack.header.storage.snapshot.VolumeSnapshotVO_; +import org.zstack.header.vm.PreVmInstantiateResourceExtensionPoint; +import org.zstack.header.vm.VmAttachVolumeExtensionPoint; +import org.zstack.header.vm.VmDetachVolumeExtensionPoint; +import org.zstack.header.vm.VmInstanceConstant; +import org.zstack.header.vm.VmInstanceInventory; +import org.zstack.header.vm.VmInstanceMigrateExtensionPoint; +import org.zstack.header.vm.VmInstanceSpec; +import org.zstack.header.vm.VmInstanceState; +import org.zstack.header.vm.VmInstantiateResourceException; +import org.zstack.header.vm.VmReleaseResourceExtensionPoint; import org.zstack.header.vm.cdrom.VmCdRomVO; import org.zstack.header.vm.cdrom.VmCdRomVO_; import org.zstack.header.volume.VolumeDeletionPolicyManager; @@ -53,7 +122,15 @@ import org.zstack.utils.logging.CLogger; import javax.persistence.Tuple; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.Comparator; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Set; import java.util.regex.Matcher; import java.util.regex.Pattern; import java.util.stream.Collectors; @@ -788,6 +865,7 @@ public List markRootVolumeAsSnapshot(VolumeInventory vol, VolumeSnapshotVO } List flows = new ArrayList<>(); + // DEBT: NoRollbackFlow — in rollback flows.add(new NoRollbackFlow() { String __name__ = "create-snapshot-before-reimage"; @@ -945,6 +1023,7 @@ public void afterMigrateVm(VmInstanceInventory inv, String srcHostUuid, NoErrorC FlowChain chain = FlowChainBuilder.newSimpleFlowChain(); chain.setName(String.format("active-external-ps-disk-for-migrate-vm-%s", inv.getUuid())); + // DEBT: NoRollbackFlow — in afterMigrateVm chain.then(new NoRollbackFlow() { String __name__ = "deactivate-disk-on-source-host"; @@ -963,6 +1042,7 @@ public void fail(ErrorCode errorCode) { } }); } + // DEBT: NoRollbackFlow — in afterMigrateVm }).then(new NoRollbackFlow() { String __name__ = "active-exclusive-disk-on-dest-host"; @@ -1010,6 +1090,7 @@ public void failedToMigrateVm(VmInstanceInventory inv, String destHostUuid, Erro FlowChain chain = FlowChainBuilder.newSimpleFlowChain(); chain.setName(String.format("active-external-ps-disk-for-migrate-vm-%s", inv.getUuid())); + // DEBT: NoRollbackFlow — in failedToMigrateVm chain.then(new NoRollbackFlow() { String __name__ = "deactivate-disk-on-source-host"; @@ -1028,6 +1109,7 @@ public void fail(ErrorCode errorCode) { } }); } + // DEBT: NoRollbackFlow — in failedToMigrateVm }).then(new NoRollbackFlow() { String __name__ = "active-exclusive-disk-on-dest-host"; diff --git a/storage/src/main/java/org/zstack/storage/addon/primary/ExternalPrimaryStorageManagerImpl.java b/storage/src/main/java/org/zstack/storage/addon/primary/ExternalPrimaryStorageManagerImpl.java index 1fcdc1e90b4..ac18ea4b959 100644 --- a/storage/src/main/java/org/zstack/storage/addon/primary/ExternalPrimaryStorageManagerImpl.java +++ b/storage/src/main/java/org/zstack/storage/addon/primary/ExternalPrimaryStorageManagerImpl.java @@ -15,7 +15,13 @@ import org.zstack.header.errorcode.OperationFailureException; import org.zstack.header.message.APIMessage; import org.zstack.header.message.Message; -import org.zstack.header.storage.addon.primary.*; +import org.zstack.header.storage.addon.primary.APIDiscoverExternalPrimaryStorageEvent; +import org.zstack.header.storage.addon.primary.APIDiscoverExternalPrimaryStorageMsg; +import org.zstack.header.storage.addon.primary.AddonInfo; +import org.zstack.header.storage.addon.primary.BackupStorageSelector; +import org.zstack.header.storage.addon.primary.ExternalPrimaryStorageInventory; +import org.zstack.header.storage.addon.primary.ExternalPrimaryStorageSvcBuilder; +import org.zstack.header.storage.addon.primary.ExternalPrimaryStorageVO; import org.zstack.header.storage.primary.PrimaryStorage; import org.zstack.header.storage.primary.PrimaryStorageMessage; import org.zstack.utils.Utils; diff --git a/storage/src/main/java/org/zstack/storage/addon/primary/ExternalPrimaryStorageSpaceCapacityHelper.java b/storage/src/main/java/org/zstack/storage/addon/primary/ExternalPrimaryStorageSpaceCapacityHelper.java index 6bacc9dbfe3..fb2f3e4f4d7 100644 --- a/storage/src/main/java/org/zstack/storage/addon/primary/ExternalPrimaryStorageSpaceCapacityHelper.java +++ b/storage/src/main/java/org/zstack/storage/addon/primary/ExternalPrimaryStorageSpaceCapacityHelper.java @@ -27,7 +27,11 @@ import org.zstack.utils.logging.CLogger; import org.zstack.utils.stopwatch.StopWatch; -import java.util.*; +import java.util.ArrayList; +import java.util.Comparator; +import java.util.Iterator; +import java.util.List; +import java.util.Map; import java.util.stream.Collectors; import static java.util.Arrays.asList; diff --git a/storage/src/main/java/org/zstack/storage/backup/AbstractBackupStorage.java b/storage/src/main/java/org/zstack/storage/backup/AbstractBackupStorage.java index fb76bf7bb66..55670de01d6 100755 --- a/storage/src/main/java/org/zstack/storage/backup/AbstractBackupStorage.java +++ b/storage/src/main/java/org/zstack/storage/backup/AbstractBackupStorage.java @@ -3,7 +3,13 @@ import org.zstack.core.Platform; import org.zstack.core.statemachine.StateMachine; import org.zstack.header.image.CancelDownloadImageMsg; -import org.zstack.header.storage.backup.*; +import org.zstack.header.storage.backup.BackupStorage; +import org.zstack.header.storage.backup.BackupStorageState; +import org.zstack.header.storage.backup.BackupStorageStateEvent; +import org.zstack.header.storage.backup.BackupStorageStatus; +import org.zstack.header.storage.backup.DeleteBitsOnBackupStorageMsg; +import org.zstack.header.storage.backup.DownloadImageMsg; +import org.zstack.header.storage.backup.DownloadVolumeMsg; import org.zstack.utils.message.OperationChecker; public abstract class AbstractBackupStorage implements BackupStorage { diff --git a/storage/src/main/java/org/zstack/storage/backup/BackupStorageApiInterceptor.java b/storage/src/main/java/org/zstack/storage/backup/BackupStorageApiInterceptor.java index a7f4ee4ae76..15e292694ec 100755 --- a/storage/src/main/java/org/zstack/storage/backup/BackupStorageApiInterceptor.java +++ b/storage/src/main/java/org/zstack/storage/backup/BackupStorageApiInterceptor.java @@ -10,7 +10,21 @@ import org.zstack.header.apimediator.ApiMessageInterceptor; import org.zstack.header.apimediator.StopRoutingException; import org.zstack.header.message.APIMessage; -import org.zstack.header.storage.backup.*; +import org.zstack.header.storage.backup.APIAttachBackupStorageToZoneMsg; +import org.zstack.header.storage.backup.APIDeleteBackupStorageEvent; +import org.zstack.header.storage.backup.APIDeleteBackupStorageMsg; +import org.zstack.header.storage.backup.APIDeleteExportedImageFromBackupStorageMsg; +import org.zstack.header.storage.backup.APIDetachBackupStorageFromZoneMsg; +import org.zstack.header.storage.backup.APIExportImageFromBackupStorageMsg; +import org.zstack.header.storage.backup.APIGetBackupStorageCapacityMsg; +import org.zstack.header.storage.backup.APIGetBackupStorageCapacityReply; +import org.zstack.header.storage.backup.APIGetTrashOnBackupStorageMsg; +import org.zstack.header.storage.backup.BackupStorageConstant; +import org.zstack.header.storage.backup.BackupStorageMessage; +import org.zstack.header.storage.backup.BackupStorageVO; +import org.zstack.header.storage.backup.BackupStorageVO_; +import org.zstack.header.storage.backup.BackupStorageZoneRefVO; +import org.zstack.header.storage.backup.BackupStorageZoneRefVO_; import java.util.List; diff --git a/storage/src/main/java/org/zstack/storage/backup/BackupStorageBase.java b/storage/src/main/java/org/zstack/storage/backup/BackupStorageBase.java index db0a9e35240..d2079c4d66c 100755 --- a/storage/src/main/java/org/zstack/storage/backup/BackupStorageBase.java +++ b/storage/src/main/java/org/zstack/storage/backup/BackupStorageBase.java @@ -25,22 +25,87 @@ import org.zstack.core.trash.StorageTrash; import org.zstack.core.trash.TrashType; import org.zstack.core.workflow.FlowChainBuilder; -import org.zstack.header.core.*; +import org.zstack.header.core.Completion; +import org.zstack.header.core.NoErrorCompletion; +import org.zstack.header.core.NopeCompletion; +import org.zstack.header.core.ReturnValueCompletion; +import org.zstack.header.core.WhileDoneCompletion; import org.zstack.header.core.trash.CleanTrashResult; import org.zstack.header.core.trash.InstallPathRecycleInventory; import org.zstack.header.core.trash.TrashCleanupResult; -import org.zstack.header.core.workflow.*; +import org.zstack.header.core.workflow.FlowChain; +import org.zstack.header.core.workflow.FlowDoneHandler; +import org.zstack.header.core.workflow.FlowErrorHandler; +import org.zstack.header.core.workflow.FlowTrigger; +import org.zstack.header.core.workflow.NoRollbackFlow; import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.errorcode.ErrorCodeList; import org.zstack.header.errorcode.OperationFailureException; import org.zstack.header.errorcode.SysErrors; -import org.zstack.header.image.*; +import org.zstack.header.image.CancelDownloadImageMsg; +import org.zstack.header.image.ImageBackupStorageRefVO; +import org.zstack.header.image.ImageBackupStorageRefVO_; +import org.zstack.header.image.ImageConstant; import org.zstack.header.message.APIDeleteMessage; import org.zstack.header.message.APIMessage; import org.zstack.header.message.Message; import org.zstack.header.message.MessageReply; import org.zstack.header.rest.RESTFacade; -import org.zstack.header.storage.backup.*; +import org.zstack.header.storage.backup.APIAttachBackupStorageToZoneEvent; +import org.zstack.header.storage.backup.APIAttachBackupStorageToZoneMsg; +import org.zstack.header.storage.backup.APIChangeBackupStorageStateEvent; +import org.zstack.header.storage.backup.APIChangeBackupStorageStateMsg; +import org.zstack.header.storage.backup.APICleanUpTrashOnBackupStorageEvent; +import org.zstack.header.storage.backup.APICleanUpTrashOnBackupStorageMsg; +import org.zstack.header.storage.backup.APIDeleteBackupStorageEvent; +import org.zstack.header.storage.backup.APIDeleteBackupStorageMsg; +import org.zstack.header.storage.backup.APIDetachBackupStorageFromZoneEvent; +import org.zstack.header.storage.backup.APIDetachBackupStorageFromZoneMsg; +import org.zstack.header.storage.backup.APIGetTrashOnBackupStorageMsg; +import org.zstack.header.storage.backup.APIGetTrashOnBackupStorageReply; +import org.zstack.header.storage.backup.APIReconnectBackupStorageEvent; +import org.zstack.header.storage.backup.APIReconnectBackupStorageMsg; +import org.zstack.header.storage.backup.APIScanBackupStorageEvent; +import org.zstack.header.storage.backup.APIScanBackupStorageMsg; +import org.zstack.header.storage.backup.APIUpdateBackupStorageEvent; +import org.zstack.header.storage.backup.APIUpdateBackupStorageMsg; +import org.zstack.header.storage.backup.BackupStorage; +import org.zstack.header.storage.backup.BackupStorageAskInstallPathMsg; +import org.zstack.header.storage.backup.BackupStorageCanonicalEvents; +import org.zstack.header.storage.backup.BackupStorageConstant; +import org.zstack.header.storage.backup.BackupStorageDeletionMsg; +import org.zstack.header.storage.backup.BackupStorageDeletionReply; +import org.zstack.header.storage.backup.BackupStorageErrors; +import org.zstack.header.storage.backup.BackupStorageException; +import org.zstack.header.storage.backup.BackupStorageInventory; +import org.zstack.header.storage.backup.BackupStorageState; +import org.zstack.header.storage.backup.BackupStorageStateEvent; +import org.zstack.header.storage.backup.BackupStorageStatus; +import org.zstack.header.storage.backup.BackupStorageVO; +import org.zstack.header.storage.backup.BackupStorageVO_; +import org.zstack.header.storage.backup.BackupStorageZoneRefVO; +import org.zstack.header.storage.backup.CalculateImageHashOnBackupStorageMsg; +import org.zstack.header.storage.backup.ChangeBackupStorageStatusMsg; +import org.zstack.header.storage.backup.ChangeBackupStorageStatusReply; +import org.zstack.header.storage.backup.CheckInstallPathOnBSMsg; +import org.zstack.header.storage.backup.CheckInstallPathOnBSReply; +import org.zstack.header.storage.backup.ConnectBackupStorageMsg; +import org.zstack.header.storage.backup.ConnectBackupStorageReply; +import org.zstack.header.storage.backup.DeleteBitsOnBackupStorageMsg; +import org.zstack.header.storage.backup.DeleteBitsOnBackupStorageReply; +import org.zstack.header.storage.backup.DownloadImageMsg; +import org.zstack.header.storage.backup.DownloadVolumeMsg; +import org.zstack.header.storage.backup.GetBackupStorageManagerHostnameMsg; +import org.zstack.header.storage.backup.GetImageEncryptedOnBackupStorageMsg; +import org.zstack.header.storage.backup.GetImageSizeOnBackupStorageMsg; +import org.zstack.header.storage.backup.GetLocalFileSizeOnBackupStorageMsg; +import org.zstack.header.storage.backup.PingBackupStorageMsg; +import org.zstack.header.storage.backup.PingBackupStorageReply; +import org.zstack.header.storage.backup.RestoreImagesBackupStorageMetadataToDatabaseMsg; +import org.zstack.header.storage.backup.ReturnBackupStorageMsg; +import org.zstack.header.storage.backup.ReturnBackupStorageReply; +import org.zstack.header.storage.backup.ScanBackupStorageMsg; +import org.zstack.header.storage.backup.SyncImageSizeOnBackupStorageMsg; import org.zstack.header.storage.backup.BackupStorageCanonicalEvents.BackupStorageStatusChangedData; import org.zstack.header.storage.backup.BackupStorageErrors.Opaque; import org.zstack.utils.CollectionDSL; @@ -52,7 +117,11 @@ import javax.persistence.Query; import javax.persistence.TypedQuery; import java.net.URISyntaxException; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.List; +import java.util.Map; import static org.zstack.core.Platform.err; import static org.zstack.core.Platform.operr; @@ -852,6 +921,7 @@ protected void handle(APIDeleteBackupStorageMsg msg) { FlowChain chain = FlowChainBuilder.newSimpleFlowChain(); chain.setName(String.format("delete-backup-storage-%s", msg.getUuid())); if (msg.getDeletionMode() == APIDeleteMessage.DeletionMode.Permissive) { + // DEBT: NoRollbackFlow — reason TBD chain.then(new NoRollbackFlow() { @Override public void run(final FlowTrigger trigger, Map data) { @@ -867,6 +937,7 @@ public void fail(ErrorCode errorCode) { } }); } + // DEBT: NoRollbackFlow — reason TBD }).then(new NoRollbackFlow() { @Override public void run(final FlowTrigger trigger, Map data) { @@ -884,6 +955,7 @@ public void fail(ErrorCode errorCode) { } }); } else { + // DEBT: NoRollbackFlow — reason TBD chain.then(new NoRollbackFlow() { @Override public void run(final FlowTrigger trigger, Map data) { diff --git a/storage/src/main/java/org/zstack/storage/backup/BackupStorageCascadeExtension.java b/storage/src/main/java/org/zstack/storage/backup/BackupStorageCascadeExtension.java index 32b64b58886..1aacb68a71f 100755 --- a/storage/src/main/java/org/zstack/storage/backup/BackupStorageCascadeExtension.java +++ b/storage/src/main/java/org/zstack/storage/backup/BackupStorageCascadeExtension.java @@ -1,14 +1,20 @@ package org.zstack.storage.backup; import org.springframework.beans.factory.annotation.Autowired; -import org.zstack.core.cascade.*; +import org.zstack.core.cascade.AbstractAsyncCascadeExtension; +import org.zstack.core.cascade.CascadeAction; +import org.zstack.core.cascade.CascadeConstant; import org.zstack.core.cloudbus.CloudBus; import org.zstack.core.cloudbus.CloudBusListCallBack; import org.zstack.core.db.DatabaseFacade; import org.zstack.core.errorcode.ErrorFacade; import org.zstack.header.core.Completion; import org.zstack.header.message.MessageReply; -import org.zstack.header.storage.backup.*; +import org.zstack.header.storage.backup.BackupStorageConstant; +import org.zstack.header.storage.backup.BackupStorageDeletionMsg; +import org.zstack.header.storage.backup.BackupStorageException; +import org.zstack.header.storage.backup.BackupStorageInventory; +import org.zstack.header.storage.backup.BackupStorageVO; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; diff --git a/storage/src/main/java/org/zstack/storage/backup/BackupStorageExtensionPointEmitter.java b/storage/src/main/java/org/zstack/storage/backup/BackupStorageExtensionPointEmitter.java index 5bccb9d4c05..6d92d013040 100755 --- a/storage/src/main/java/org/zstack/storage/backup/BackupStorageExtensionPointEmitter.java +++ b/storage/src/main/java/org/zstack/storage/backup/BackupStorageExtensionPointEmitter.java @@ -4,7 +4,15 @@ import org.zstack.core.componentloader.PluginExtension; import org.zstack.core.componentloader.PluginRegistry; import org.zstack.header.Component; -import org.zstack.header.storage.backup.*; +import org.zstack.header.storage.backup.BackupStorageAttachExtensionPoint; +import org.zstack.header.storage.backup.BackupStorageChangeStateExtensionPoint; +import org.zstack.header.storage.backup.BackupStorageDeleteExtensionPoint; +import org.zstack.header.storage.backup.BackupStorageDetachExtensionPoint; +import org.zstack.header.storage.backup.BackupStorageException; +import org.zstack.header.storage.backup.BackupStorageInventory; +import org.zstack.header.storage.backup.BackupStorageState; +import org.zstack.header.storage.backup.BackupStorageStateEvent; +import org.zstack.header.storage.backup.BackupStorageVO; import org.zstack.utils.CollectionUtils; import org.zstack.utils.Utils; import org.zstack.utils.function.ForEachFunction; diff --git a/storage/src/main/java/org/zstack/storage/backup/BackupStorageMainAllocatorFlow.java b/storage/src/main/java/org/zstack/storage/backup/BackupStorageMainAllocatorFlow.java index 5646f9a2939..d9aac458b8d 100755 --- a/storage/src/main/java/org/zstack/storage/backup/BackupStorageMainAllocatorFlow.java +++ b/storage/src/main/java/org/zstack/storage/backup/BackupStorageMainAllocatorFlow.java @@ -9,7 +9,11 @@ import org.zstack.header.core.workflow.FlowTrigger; import org.zstack.header.core.workflow.NoRollbackFlow; import org.zstack.header.errorcode.OperationFailureException; -import org.zstack.header.storage.backup.*; +import org.zstack.header.storage.backup.BackupStorageAllocationSpec; +import org.zstack.header.storage.backup.BackupStorageState; +import org.zstack.header.storage.backup.BackupStorageStatus; +import org.zstack.header.storage.backup.BackupStorageVO; +import org.zstack.header.storage.backup.BackupStorageZoneRefVO; import org.zstack.header.storage.backup.BackupStorageConstant.AllocatorParams; import static org.zstack.core.Platform.operr; diff --git a/storage/src/main/java/org/zstack/storage/backup/BackupStorageManagerImpl.java b/storage/src/main/java/org/zstack/storage/backup/BackupStorageManagerImpl.java index ce08df36a2b..82ef4a19d22 100755 --- a/storage/src/main/java/org/zstack/storage/backup/BackupStorageManagerImpl.java +++ b/storage/src/main/java/org/zstack/storage/backup/BackupStorageManagerImpl.java @@ -27,12 +27,42 @@ import org.zstack.header.message.APIMessage; import org.zstack.header.message.Message; import org.zstack.header.message.MessageReply; -import org.zstack.header.storage.backup.*; +import org.zstack.header.storage.backup.APIAddBackupStorageEvent; +import org.zstack.header.storage.backup.APIAddBackupStorageMsg; +import org.zstack.header.storage.backup.APIGetBackupStorageCapacityMsg; +import org.zstack.header.storage.backup.APIGetBackupStorageCapacityReply; +import org.zstack.header.storage.backup.APIGetBackupStorageTypesMsg; +import org.zstack.header.storage.backup.APIGetBackupStorageTypesReply; +import org.zstack.header.storage.backup.AddBackupStorageExtensionPoint; +import org.zstack.header.storage.backup.AddBackupStorageStruct; +import org.zstack.header.storage.backup.AllocateBackupStorageMsg; +import org.zstack.header.storage.backup.AllocateBackupStorageReply; +import org.zstack.header.storage.backup.BackupStorage; +import org.zstack.header.storage.backup.BackupStorageAllocationSpec; +import org.zstack.header.storage.backup.BackupStorageAllocatorStrategy; +import org.zstack.header.storage.backup.BackupStorageAllocatorStrategyFactory; +import org.zstack.header.storage.backup.BackupStorageConstant; +import org.zstack.header.storage.backup.BackupStorageDeletionMsg; +import org.zstack.header.storage.backup.BackupStorageEO; +import org.zstack.header.storage.backup.BackupStorageException; +import org.zstack.header.storage.backup.BackupStorageFactory; +import org.zstack.header.storage.backup.BackupStorageInventory; +import org.zstack.header.storage.backup.BackupStorageMessage; +import org.zstack.header.storage.backup.BackupStorageState; +import org.zstack.header.storage.backup.BackupStorageStatus; +import org.zstack.header.storage.backup.BackupStorageType; +import org.zstack.header.storage.backup.BackupStorageVO; +import org.zstack.header.storage.backup.BackupStorageVO_; +import org.zstack.header.storage.backup.BackupStorageZoneRefVO; +import org.zstack.header.storage.backup.ConnectBackupStorageMsg; import org.zstack.header.tag.SystemTagCreateMessageValidator; import org.zstack.header.tag.SystemTagValidator; import org.zstack.header.vm.VmInstanceVO; import org.zstack.tag.TagManager; -import org.zstack.utils.*; +import org.zstack.utils.CollectionUtils; +import org.zstack.utils.ObjectUtils; +import org.zstack.utils.SizeUtils; +import org.zstack.utils.Utils; import org.zstack.utils.function.ForEachFunction; import org.zstack.utils.logging.CLogger; import org.zstack.utils.network.NetworkUtils; @@ -40,7 +70,14 @@ import javax.persistence.LockModeType; import javax.persistence.Tuple; import javax.persistence.TypedQuery; -import java.util.*; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Set; import java.util.concurrent.Callable; import java.util.stream.Collectors; diff --git a/storage/src/main/java/org/zstack/storage/backup/BackupStoragePingTracker.java b/storage/src/main/java/org/zstack/storage/backup/BackupStoragePingTracker.java index c4e35a38ca2..d09104cf6e5 100755 --- a/storage/src/main/java/org/zstack/storage/backup/BackupStoragePingTracker.java +++ b/storage/src/main/java/org/zstack/storage/backup/BackupStoragePingTracker.java @@ -17,11 +17,21 @@ import org.zstack.header.managementnode.ManagementNodeReadyExtensionPoint; import org.zstack.header.message.MessageReply; import org.zstack.header.message.NeedReplyMessage; -import org.zstack.header.storage.backup.*; +import org.zstack.header.storage.backup.BackupStorageCanonicalEvents; +import org.zstack.header.storage.backup.BackupStorageConstant; +import org.zstack.header.storage.backup.BackupStorageErrors; +import org.zstack.header.storage.backup.BackupStorageStatus; +import org.zstack.header.storage.backup.BackupStorageVO; +import org.zstack.header.storage.backup.BackupStorageVO_; +import org.zstack.header.storage.backup.PingBackupStorageMsg; +import org.zstack.header.storage.backup.PingBackupStorageReply; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; -import java.util.*; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.atomic.AtomicInteger; import java.util.stream.Collectors; diff --git a/storage/src/main/java/org/zstack/storage/backup/BackupStoragePrimaryStorageAllocatorFlow.java b/storage/src/main/java/org/zstack/storage/backup/BackupStoragePrimaryStorageAllocatorFlow.java index 0c45a5952a5..705d191b69c 100644 --- a/storage/src/main/java/org/zstack/storage/backup/BackupStoragePrimaryStorageAllocatorFlow.java +++ b/storage/src/main/java/org/zstack/storage/backup/BackupStoragePrimaryStorageAllocatorFlow.java @@ -9,7 +9,9 @@ import org.zstack.core.db.Q; import org.zstack.header.core.workflow.FlowTrigger; import org.zstack.header.core.workflow.NoRollbackFlow; -import org.zstack.header.storage.backup.*; +import org.zstack.header.storage.backup.BackupStorageAllocationSpec; +import org.zstack.header.storage.backup.BackupStorageConstant; +import org.zstack.header.storage.backup.BackupStorageVO; import org.zstack.header.storage.primary.PrimaryStorageType; import org.zstack.header.storage.primary.PrimaryStorageVO; import org.zstack.header.storage.primary.PrimaryStorageVO_; diff --git a/storage/src/main/java/org/zstack/storage/backup/DefaultBackupStorageAllocatorStrategy.java b/storage/src/main/java/org/zstack/storage/backup/DefaultBackupStorageAllocatorStrategy.java index bfd855f80bc..d116ae4ce0f 100755 --- a/storage/src/main/java/org/zstack/storage/backup/DefaultBackupStorageAllocatorStrategy.java +++ b/storage/src/main/java/org/zstack/storage/backup/DefaultBackupStorageAllocatorStrategy.java @@ -8,7 +8,12 @@ import org.zstack.header.core.workflow.FlowDoneHandler; import org.zstack.header.core.workflow.FlowErrorHandler; import org.zstack.header.errorcode.ErrorCode; -import org.zstack.header.storage.backup.*; +import org.zstack.header.storage.backup.BackupStorageAllocationSpec; +import org.zstack.header.storage.backup.BackupStorageAllocatorStrategy; +import org.zstack.header.storage.backup.BackupStorageErrors; +import org.zstack.header.storage.backup.BackupStorageException; +import org.zstack.header.storage.backup.BackupStorageInventory; +import org.zstack.header.storage.backup.BackupStorageVO; import org.zstack.header.storage.backup.BackupStorageConstant.AllocatorParams; import java.util.Collections; diff --git a/storage/src/main/java/org/zstack/storage/backup/ExportImageFromBackupStorageLongJob.java b/storage/src/main/java/org/zstack/storage/backup/ExportImageFromBackupStorageLongJob.java index ad7a7dae669..881676215df 100644 --- a/storage/src/main/java/org/zstack/storage/backup/ExportImageFromBackupStorageLongJob.java +++ b/storage/src/main/java/org/zstack/storage/backup/ExportImageFromBackupStorageLongJob.java @@ -20,7 +20,12 @@ import org.zstack.header.longjob.LongJobVO; import org.zstack.header.message.APIEvent; import org.zstack.header.message.MessageReply; -import org.zstack.header.storage.backup.*; +import org.zstack.header.storage.backup.APIExportImageFromBackupStorageEvent; +import org.zstack.header.storage.backup.APIExportImageFromBackupStorageMsg; +import org.zstack.header.storage.backup.BackupStorageConstant; +import org.zstack.header.storage.backup.CancelJobBackupStorageMsg; +import org.zstack.header.storage.backup.ExportImageFromBackupStorageMsg; +import org.zstack.header.storage.backup.ExportImageFromBackupStorageReply; import org.zstack.utils.gson.JSONObjectUtil; diff --git a/storage/src/main/java/org/zstack/storage/backup/PrimaryStoragePriorityGetterImpl.java b/storage/src/main/java/org/zstack/storage/backup/PrimaryStoragePriorityGetterImpl.java index 0b81b1a7528..9a8185fa21f 100644 --- a/storage/src/main/java/org/zstack/storage/backup/PrimaryStoragePriorityGetterImpl.java +++ b/storage/src/main/java/org/zstack/storage/backup/PrimaryStoragePriorityGetterImpl.java @@ -10,7 +10,12 @@ import org.zstack.header.image.ImageInventory; import org.zstack.header.image.ImageVO; import org.zstack.header.image.ImageVO_; -import org.zstack.header.storage.backup.*; +import org.zstack.header.storage.backup.BackupStorage; +import org.zstack.header.storage.backup.BackupStorageInventory; +import org.zstack.header.storage.backup.BackupStoragePrimaryStorageExtensionPoint; +import org.zstack.header.storage.backup.BackupStorageVO; +import org.zstack.header.storage.backup.BackupStorageVO_; +import org.zstack.header.storage.backup.PrimaryStoragePriorityGetter; import org.zstack.utils.DebugUtils; import org.zstack.utils.gson.JSONObjectUtil; diff --git a/storage/src/main/java/org/zstack/storage/primary/AbstractPrimaryStorageAllocatorStrategy.java b/storage/src/main/java/org/zstack/storage/primary/AbstractPrimaryStorageAllocatorStrategy.java index 81350b8bbd8..b7dd104dd8b 100644 --- a/storage/src/main/java/org/zstack/storage/primary/AbstractPrimaryStorageAllocatorStrategy.java +++ b/storage/src/main/java/org/zstack/storage/primary/AbstractPrimaryStorageAllocatorStrategy.java @@ -10,7 +10,11 @@ import org.zstack.header.core.workflow.FlowErrorHandler; import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.errorcode.OperationFailureException; -import org.zstack.header.storage.primary.*; +import org.zstack.header.storage.primary.PrimaryStorageAllocationSpec; +import org.zstack.header.storage.primary.PrimaryStorageAllocatorStrategy; +import org.zstack.header.storage.primary.PrimaryStorageConstant; +import org.zstack.header.storage.primary.PrimaryStorageInventory; +import org.zstack.header.storage.primary.PrimaryStorageVO; import java.util.ArrayList; import java.util.Collections; diff --git a/storage/src/main/java/org/zstack/storage/primary/AbstractUsageReport.java b/storage/src/main/java/org/zstack/storage/primary/AbstractUsageReport.java index 7cb7f4daf6c..b797c6467f4 100644 --- a/storage/src/main/java/org/zstack/storage/primary/AbstractUsageReport.java +++ b/storage/src/main/java/org/zstack/storage/primary/AbstractUsageReport.java @@ -13,7 +13,11 @@ import org.zstack.core.db.SimpleQuery; import org.zstack.core.thread.PeriodicTask; import org.zstack.core.thread.ThreadFacade; -import org.zstack.header.storage.primary.*; +import org.zstack.header.storage.primary.HistoricalUsageAO; +import org.zstack.header.storage.primary.HistoricalUsageAO_; +import org.zstack.header.storage.primary.PrimaryStorageHistoricalUsageBaseVO; +import org.zstack.header.storage.primary.StorageCapacityAO; +import org.zstack.header.storage.primary.UsageReport; import org.zstack.utils.ShellUtils; import org.zstack.utils.Utils; import org.zstack.utils.data.SizeUnit; @@ -23,7 +27,14 @@ import java.io.IOException; import java.sql.Timestamp; import java.time.LocalDate; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Random; +import java.util.StringJoiner; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.Future; import java.util.concurrent.TimeUnit; diff --git a/storage/src/main/java/org/zstack/storage/primary/CustomOrderPrimaryStorageAllocatorFactory.java b/storage/src/main/java/org/zstack/storage/primary/CustomOrderPrimaryStorageAllocatorFactory.java index 8bbb032d691..612d5b8e3fe 100644 --- a/storage/src/main/java/org/zstack/storage/primary/CustomOrderPrimaryStorageAllocatorFactory.java +++ b/storage/src/main/java/org/zstack/storage/primary/CustomOrderPrimaryStorageAllocatorFactory.java @@ -3,7 +3,13 @@ import org.zstack.core.workflow.FlowChainBuilder; import org.zstack.header.Component; import org.zstack.header.host.HostInventory; -import org.zstack.header.storage.primary.*; +import org.zstack.header.storage.primary.AllocatePrimaryStorageMsg; +import org.zstack.header.storage.primary.PrimaryStorageAllocatorFlowNameSetter; +import org.zstack.header.storage.primary.PrimaryStorageAllocatorStrategy; +import org.zstack.header.storage.primary.PrimaryStorageAllocatorStrategyExtensionPoint; +import org.zstack.header.storage.primary.PrimaryStorageAllocatorStrategyFactory; +import org.zstack.header.storage.primary.PrimaryStorageAllocatorStrategyType; +import org.zstack.header.storage.primary.PrimaryStorageConstant; import java.util.List; diff --git a/storage/src/main/java/org/zstack/storage/primary/DefaultPrimaryStorageAllocatorFactory.java b/storage/src/main/java/org/zstack/storage/primary/DefaultPrimaryStorageAllocatorFactory.java index 4b2263e8a2d..550812ad10d 100755 --- a/storage/src/main/java/org/zstack/storage/primary/DefaultPrimaryStorageAllocatorFactory.java +++ b/storage/src/main/java/org/zstack/storage/primary/DefaultPrimaryStorageAllocatorFactory.java @@ -3,7 +3,13 @@ import org.zstack.core.workflow.FlowChainBuilder; import org.zstack.header.Component; import org.zstack.header.host.HostInventory; -import org.zstack.header.storage.primary.*; +import org.zstack.header.storage.primary.AllocatePrimaryStorageMsg; +import org.zstack.header.storage.primary.PrimaryStorageAllocatorFlowNameSetter; +import org.zstack.header.storage.primary.PrimaryStorageAllocatorStrategy; +import org.zstack.header.storage.primary.PrimaryStorageAllocatorStrategyExtensionPoint; +import org.zstack.header.storage.primary.PrimaryStorageAllocatorStrategyFactory; +import org.zstack.header.storage.primary.PrimaryStorageAllocatorStrategyType; +import org.zstack.header.storage.primary.PrimaryStorageConstant; import java.util.List; diff --git a/storage/src/main/java/org/zstack/storage/primary/DiskCapacityTracer.java b/storage/src/main/java/org/zstack/storage/primary/DiskCapacityTracer.java index b7f8c00f27b..cf029cb9185 100755 --- a/storage/src/main/java/org/zstack/storage/primary/DiskCapacityTracer.java +++ b/storage/src/main/java/org/zstack/storage/primary/DiskCapacityTracer.java @@ -8,7 +8,12 @@ import org.zstack.core.db.EntityEvent; import org.zstack.core.db.EntityLifeCycleCallback; import org.zstack.header.Component; -import org.zstack.header.core.workflow.*; +import org.zstack.header.core.workflow.Flow; +import org.zstack.header.core.workflow.FlowChain; +import org.zstack.header.core.workflow.FlowChainMutable; +import org.zstack.header.core.workflow.FlowChainProcessor; +import org.zstack.header.core.workflow.FlowTrigger; +import org.zstack.header.core.workflow.NoRollbackFlow; import org.zstack.header.storage.primary.ImageCacheVO; import org.zstack.header.storage.primary.PrimaryStorageAllocationSpec; import org.zstack.header.storage.primary.PrimaryStorageCapacityVO; @@ -49,6 +54,7 @@ public void processFlowChain(FlowChainMutable chain) { List flows = new ArrayList(); for (Flow f : chain.getFlows()) { flows.add(f); + // DEBT: NoRollbackFlow — in processFlowChain flows.add(new NoRollbackFlow() { String __name__ = "disk-capacity-tracker"; diff --git a/storage/src/main/java/org/zstack/storage/primary/ImageCacheCleaner.java b/storage/src/main/java/org/zstack/storage/primary/ImageCacheCleaner.java index b6db3d7888e..03b9848cf31 100755 --- a/storage/src/main/java/org/zstack/storage/primary/ImageCacheCleaner.java +++ b/storage/src/main/java/org/zstack/storage/primary/ImageCacheCleaner.java @@ -12,7 +12,10 @@ import org.zstack.core.db.DatabaseFacade; import org.zstack.core.db.Q; import org.zstack.core.db.SQL; -import org.zstack.core.thread.*; +import org.zstack.core.thread.ChainTask; +import org.zstack.core.thread.PeriodicTask; +import org.zstack.core.thread.SyncTaskChain; +import org.zstack.core.thread.ThreadFacade; import org.zstack.core.workflow.SimpleFlowChain; import org.zstack.header.core.Completion; import org.zstack.header.core.NoErrorCompletion; @@ -25,7 +28,16 @@ import org.zstack.header.errorcode.ErrorCodeList; import org.zstack.header.message.MessageReply; import org.zstack.header.storage.backup.BackupStoragePrimaryStorageExtensionPoint; -import org.zstack.header.storage.primary.*; +import org.zstack.header.storage.primary.DeleteImageCacheOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.ImageCacheShadowVO; +import org.zstack.header.storage.primary.ImageCacheVO; +import org.zstack.header.storage.primary.ImageCacheVO_; +import org.zstack.header.storage.primary.PrimaryStorage; +import org.zstack.header.storage.primary.PrimaryStorageConstant; +import org.zstack.header.storage.primary.PrimaryStorageInventory; +import org.zstack.header.storage.primary.PrimaryStorageVO; +import org.zstack.header.storage.primary.PrimaryStorageVO_; +import org.zstack.header.storage.primary.SyncPrimaryStorageCapacityMsg; import org.zstack.header.volume.VolumeType; import org.zstack.storage.snapshot.reference.VolumeSnapshotReferenceUtils; import org.zstack.utils.Utils; @@ -180,6 +192,7 @@ protected void doCleanup(String psUuid, ImageCacheCleanParam param, NoErrorCompl SimpleFlowChain chain = new SimpleFlowChain(); chain.setName(String.format("do-clean-up-image-cache-on-%s", psUuid)); + // DEBT: NoRollbackFlow — in doCleanup chain.then(new NoRollbackFlow() { @Override public void run(FlowTrigger trigger, Map data) { @@ -190,6 +203,7 @@ public void done() { } }); } + // DEBT: NoRollbackFlow — in doCleanup }).then(new NoRollbackFlow() { @Override public void run(FlowTrigger trigger, Map data) { @@ -213,6 +227,7 @@ public void done(ErrorCodeList errorCodeList) { } }); } + // DEBT: NoRollbackFlow — in doCleanup }).then(new NoRollbackFlow() { @Override public void run(FlowTrigger trigger, Map data) { diff --git a/storage/src/main/java/org/zstack/storage/primary/ImageCacheGarbageCollector.java b/storage/src/main/java/org/zstack/storage/primary/ImageCacheGarbageCollector.java index 2843ca75d28..2fa4a3b2200 100755 --- a/storage/src/main/java/org/zstack/storage/primary/ImageCacheGarbageCollector.java +++ b/storage/src/main/java/org/zstack/storage/primary/ImageCacheGarbageCollector.java @@ -13,7 +13,11 @@ import org.zstack.header.managementnode.ManagementNodeChangeListener; import org.zstack.header.managementnode.ManagementNodeInventory; import org.zstack.header.message.MessageReply; -import org.zstack.header.storage.primary.*; +import org.zstack.header.storage.primary.ImageCacheInventory; +import org.zstack.header.storage.primary.ImageCacheState; +import org.zstack.header.storage.primary.ImageCacheVO; +import org.zstack.header.storage.primary.PrimaryStorageConstant; +import org.zstack.header.storage.primary.PrimaryStorageRemoveCachedImageMsg; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; diff --git a/storage/src/main/java/org/zstack/storage/primary/LeastVolumePrimaryStorageAllocatorFactory.java b/storage/src/main/java/org/zstack/storage/primary/LeastVolumePrimaryStorageAllocatorFactory.java index c7d3dabd648..a2312447966 100644 --- a/storage/src/main/java/org/zstack/storage/primary/LeastVolumePrimaryStorageAllocatorFactory.java +++ b/storage/src/main/java/org/zstack/storage/primary/LeastVolumePrimaryStorageAllocatorFactory.java @@ -3,7 +3,13 @@ import org.zstack.core.workflow.FlowChainBuilder; import org.zstack.header.Component; import org.zstack.header.host.HostInventory; -import org.zstack.header.storage.primary.*; +import org.zstack.header.storage.primary.AllocatePrimaryStorageMsg; +import org.zstack.header.storage.primary.PrimaryStorageAllocatorFlowNameSetter; +import org.zstack.header.storage.primary.PrimaryStorageAllocatorStrategy; +import org.zstack.header.storage.primary.PrimaryStorageAllocatorStrategyExtensionPoint; +import org.zstack.header.storage.primary.PrimaryStorageAllocatorStrategyFactory; +import org.zstack.header.storage.primary.PrimaryStorageAllocatorStrategyType; +import org.zstack.header.storage.primary.PrimaryStorageConstant; import java.util.List; diff --git a/storage/src/main/java/org/zstack/storage/primary/MaximumAvailableCapacityAllocatorFactory.java b/storage/src/main/java/org/zstack/storage/primary/MaximumAvailableCapacityAllocatorFactory.java index 05ee52cfe73..3fbcec02a80 100644 --- a/storage/src/main/java/org/zstack/storage/primary/MaximumAvailableCapacityAllocatorFactory.java +++ b/storage/src/main/java/org/zstack/storage/primary/MaximumAvailableCapacityAllocatorFactory.java @@ -3,7 +3,13 @@ import org.zstack.core.workflow.FlowChainBuilder; import org.zstack.header.Component; import org.zstack.header.host.HostInventory; -import org.zstack.header.storage.primary.*; +import org.zstack.header.storage.primary.AllocatePrimaryStorageMsg; +import org.zstack.header.storage.primary.PrimaryStorageAllocatorFlowNameSetter; +import org.zstack.header.storage.primary.PrimaryStorageAllocatorStrategy; +import org.zstack.header.storage.primary.PrimaryStorageAllocatorStrategyExtensionPoint; +import org.zstack.header.storage.primary.PrimaryStorageAllocatorStrategyFactory; +import org.zstack.header.storage.primary.PrimaryStorageAllocatorStrategyType; +import org.zstack.header.storage.primary.PrimaryStorageConstant; import java.util.List; diff --git a/storage/src/main/java/org/zstack/storage/primary/PrimaryStorageApiInterceptor.java b/storage/src/main/java/org/zstack/storage/primary/PrimaryStorageApiInterceptor.java index 53fa4e6a4a5..1ee1ccdb106 100755 --- a/storage/src/main/java/org/zstack/storage/primary/PrimaryStorageApiInterceptor.java +++ b/storage/src/main/java/org/zstack/storage/primary/PrimaryStorageApiInterceptor.java @@ -18,7 +18,23 @@ import org.zstack.header.message.APIMessage; import org.zstack.header.storage.addon.primary.PrimaryStorageOutputProtocolRefVO; import org.zstack.header.storage.addon.primary.PrimaryStorageOutputProtocolRefVO_; -import org.zstack.header.storage.primary.*; +import org.zstack.header.storage.primary.APIAddStorageProtocolMsg; +import org.zstack.header.storage.primary.APIAttachPrimaryStorageToClusterMsg; +import org.zstack.header.storage.primary.APIDeletePrimaryStorageEvent; +import org.zstack.header.storage.primary.APIDeletePrimaryStorageMsg; +import org.zstack.header.storage.primary.APIDetachPrimaryStorageFromClusterMsg; +import org.zstack.header.storage.primary.APIGetPrimaryStorageCapacityMsg; +import org.zstack.header.storage.primary.APIGetPrimaryStorageCapacityReply; +import org.zstack.header.storage.primary.APIGetTrashOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.PrimaryStorageClusterRefVO; +import org.zstack.header.storage.primary.PrimaryStorageClusterRefVO_; +import org.zstack.header.storage.primary.PrimaryStorageConstant; +import org.zstack.header.storage.primary.PrimaryStorageFactory; +import org.zstack.header.storage.primary.PrimaryStorageMessage; +import org.zstack.header.storage.primary.PrimaryStorageState; +import org.zstack.header.storage.primary.PrimaryStorageStatus; +import org.zstack.header.storage.primary.PrimaryStorageVO; +import org.zstack.header.storage.primary.PrimaryStorageVO_; import org.zstack.header.storage.snapshot.group.APIRevertVmFromSnapshotGroupMsg; import org.zstack.header.volume.APICreateVolumeSnapshotGroupMsg; import org.zstack.header.volume.VolumeInventory; diff --git a/storage/src/main/java/org/zstack/storage/primary/PrimaryStorageBase.java b/storage/src/main/java/org/zstack/storage/primary/PrimaryStorageBase.java index 312d3c20d3f..8c3ef7ea11c 100755 --- a/storage/src/main/java/org/zstack/storage/primary/PrimaryStorageBase.java +++ b/storage/src/main/java/org/zstack/storage/primary/PrimaryStorageBase.java @@ -14,7 +14,12 @@ import org.zstack.core.cloudbus.CloudBusCallBack; import org.zstack.core.cloudbus.CloudBusListCallBack; import org.zstack.core.cloudbus.EventFacade; -import org.zstack.core.db.*; +import org.zstack.core.db.DatabaseFacade; +import org.zstack.core.db.Q; +import org.zstack.core.db.SQL; +import org.zstack.core.db.SQLBatch; +import org.zstack.core.db.SimpleQuery; +import org.zstack.core.db.UpdateQuery; import org.zstack.core.db.SimpleQuery.Op; import org.zstack.core.errorcode.ErrorFacade; import org.zstack.core.job.JobQueueFacade; @@ -30,16 +35,29 @@ import org.zstack.core.workflow.FlowChainBuilder; import org.zstack.core.workflow.ShareFlow; import org.zstack.header.apimediator.ApiMessageInterceptionException; -import org.zstack.header.core.*; +import org.zstack.header.core.Completion; +import org.zstack.header.core.NoErrorCompletion; +import org.zstack.header.core.NopeCompletion; +import org.zstack.header.core.ReturnValueCompletion; +import org.zstack.header.core.WhileDoneCompletion; import org.zstack.header.core.trash.CleanTrashResult; import org.zstack.header.core.trash.InstallPathRecycleInventory; import org.zstack.header.core.trash.TrashCleanupResult; -import org.zstack.header.core.workflow.*; +import org.zstack.header.core.workflow.FlowChain; +import org.zstack.header.core.workflow.FlowDoneHandler; +import org.zstack.header.core.workflow.FlowErrorHandler; +import org.zstack.header.core.workflow.FlowTrigger; +import org.zstack.header.core.workflow.NoRollbackFlow; import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.errorcode.ErrorCodeList; import org.zstack.header.errorcode.OperationFailureException; import org.zstack.header.errorcode.SysErrors; -import org.zstack.header.host.*; +import org.zstack.header.host.CancelHostTasksMsg; +import org.zstack.header.host.DetachIsoOnPrimaryStorageMsg; +import org.zstack.header.host.HostConstant; +import org.zstack.header.host.HostInventory; +import org.zstack.header.host.HostVO; +import org.zstack.header.host.HypervisorType; import org.zstack.header.image.ImageConstant; import org.zstack.header.image.ImageInventory; import org.zstack.header.message.APIDeleteMessage; @@ -47,12 +65,131 @@ import org.zstack.header.message.Message; import org.zstack.header.message.MessageReply; import org.zstack.header.storage.addon.primary.PrimaryStorageOutputProtocolRefVO; -import org.zstack.header.storage.primary.*; +import org.zstack.header.storage.primary.APIAddStorageProtocolEvent; +import org.zstack.header.storage.primary.APIAddStorageProtocolMsg; +import org.zstack.header.storage.primary.APIAttachPrimaryStorageToClusterEvent; +import org.zstack.header.storage.primary.APIAttachPrimaryStorageToClusterMsg; +import org.zstack.header.storage.primary.APIChangePrimaryStorageStateEvent; +import org.zstack.header.storage.primary.APIChangePrimaryStorageStateMsg; +import org.zstack.header.storage.primary.APICleanUpImageCacheOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.APICleanUpStorageTrashOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.APICleanUpTrashOnPrimaryStorageEvent; +import org.zstack.header.storage.primary.APICleanUpTrashOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.APIDeletePrimaryStorageEvent; +import org.zstack.header.storage.primary.APIDeletePrimaryStorageMsg; +import org.zstack.header.storage.primary.APIDetachPrimaryStorageFromClusterEvent; +import org.zstack.header.storage.primary.APIDetachPrimaryStorageFromClusterMsg; +import org.zstack.header.storage.primary.APIGetTrashOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.APIGetTrashOnPrimaryStorageReply; +import org.zstack.header.storage.primary.APIReconnectPrimaryStorageEvent; +import org.zstack.header.storage.primary.APIReconnectPrimaryStorageMsg; +import org.zstack.header.storage.primary.APISyncPrimaryStorageCapacityEvent; +import org.zstack.header.storage.primary.APISyncPrimaryStorageCapacityMsg; +import org.zstack.header.storage.primary.APIUpdatePrimaryStorageEvent; +import org.zstack.header.storage.primary.APIUpdatePrimaryStorageMsg; +import org.zstack.header.storage.primary.AskInstallPathForNewSnapshotMsg; +import org.zstack.header.storage.primary.AskVolumeSnapshotCapabilityMsg; +import org.zstack.header.storage.primary.CancelJobOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.CancelJobOnPrimaryStorageReply; +import org.zstack.header.storage.primary.ChangeVolumeTypeOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.ChangeVolumeTypeOnPrimaryStorageReply; +import org.zstack.header.storage.primary.CheckChangeVolumeTypeOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.CheckChangeVolumeTypeOnPrimaryStorageReply; +import org.zstack.header.storage.primary.CheckInstallPathInTrashMsg; +import org.zstack.header.storage.primary.CheckInstallPathInTrashReply; +import org.zstack.header.storage.primary.CheckVolumeSnapshotOperationOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.CheckVolumeSnapshotOperationOnPrimaryStorageReply; +import org.zstack.header.storage.primary.CleanUpStorageTrashOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.CleanUpTrashOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.CleanUpTrashOnPrimaryStroageMsg; +import org.zstack.header.storage.primary.ConnectPrimaryStorageMsg; +import org.zstack.header.storage.primary.ConnectPrimaryStorageReply; +import org.zstack.header.storage.primary.CreateImageCacheFromVolumeOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.CreateImageCacheFromVolumeSnapshotOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.CreateTemplateFromVolumeOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.DeleteBitsOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.DeleteIsoFromPrimaryStorageMsg; +import org.zstack.header.storage.primary.DeleteSnapshotOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.DeleteVolumeBitsOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.DeleteVolumeBitsOnPrimaryStorageReply; +import org.zstack.header.storage.primary.DeleteVolumeChainOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.DeleteVolumeOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.DetachPrimaryStorageFromClusterMsg; +import org.zstack.header.storage.primary.DetachPrimaryStorageFromClusterReply; +import org.zstack.header.storage.primary.DownloadDataVolumeToPrimaryStorageMsg; +import org.zstack.header.storage.primary.DownloadDataVolumeToPrimaryStorageReply; +import org.zstack.header.storage.primary.DownloadIsoToPrimaryStorageMsg; +import org.zstack.header.storage.primary.DownloadVolumeTemplateToPrimaryStorageMsg; +import org.zstack.header.storage.primary.FlattenVolumeOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.GetInstallPathForDataVolumeDownloadMsg; +import org.zstack.header.storage.primary.GetOwningVolumePathFromInternalSnapshotMsg; +import org.zstack.header.storage.primary.GetOwningVolumePathFromInternalSnapshotReply; +import org.zstack.header.storage.primary.GetPrimaryStorageResourceLocationMsg; +import org.zstack.header.storage.primary.GetVolumeSnapshotEncryptedOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.ImageCacheState; +import org.zstack.header.storage.primary.ImageCacheVO; +import org.zstack.header.storage.primary.ImageCacheVO_; +import org.zstack.header.storage.primary.IncreasePrimaryStorageCapacityMsg; +import org.zstack.header.storage.primary.InstantiateVolumeOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.InstantiateVolumeOnPrimaryStorageReply; +import org.zstack.header.storage.primary.MergeVolumeSnapshotOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.PingPrimaryStorageMsg; +import org.zstack.header.storage.primary.PingPrimaryStorageReply; +import org.zstack.header.storage.primary.PrimaryStorageCanonicalEvent; +import org.zstack.header.storage.primary.PrimaryStorageCapacityVO; +import org.zstack.header.storage.primary.PrimaryStorageClusterRefVO; +import org.zstack.header.storage.primary.PrimaryStorageClusterRefVO_; +import org.zstack.header.storage.primary.PrimaryStorageConstant; +import org.zstack.header.storage.primary.PrimaryStorageDeletionMsg; +import org.zstack.header.storage.primary.PrimaryStorageDeletionReply; +import org.zstack.header.storage.primary.PrimaryStorageDetachStruct; +import org.zstack.header.storage.primary.PrimaryStorageErrors; +import org.zstack.header.storage.primary.PrimaryStorageException; +import org.zstack.header.storage.primary.PrimaryStorageHostRefVO; +import org.zstack.header.storage.primary.PrimaryStorageHostRefVO_; +import org.zstack.header.storage.primary.PrimaryStorageHostStatus; +import org.zstack.header.storage.primary.PrimaryStorageInventory; +import org.zstack.header.storage.primary.PrimaryStorageOverProvisioningManager; +import org.zstack.header.storage.primary.PrimaryStorageReportPhysicalCapacityMsg; +import org.zstack.header.storage.primary.PrimaryStorageState; +import org.zstack.header.storage.primary.PrimaryStorageStateEvent; +import org.zstack.header.storage.primary.PrimaryStorageStatus; +import org.zstack.header.storage.primary.PrimaryStorageVO; +import org.zstack.header.storage.primary.PrimaryStorageVO_; +import org.zstack.header.storage.primary.ReInitRootVolumeFromTemplateOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.RecalculatePrimaryStorageCapacityMsg; +import org.zstack.header.storage.primary.RecalculatePrimaryStorageCapacityReply; +import org.zstack.header.storage.primary.ReconnectPrimaryStorageMsg; +import org.zstack.header.storage.primary.ReconnectPrimaryStorageReply; +import org.zstack.header.storage.primary.ReleasePrimaryStorageSpaceMsg; +import org.zstack.header.storage.primary.RevertVolumeFromSnapshotOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.SyncPrimaryStorageCapacityMsg; +import org.zstack.header.storage.primary.SyncPrimaryStorageCapacityReply; +import org.zstack.header.storage.primary.SyncVolumeSizeOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.UnlinkBitsOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.UnlinkBitsOnPrimaryStorageReply; +import org.zstack.header.storage.primary.UpdatePrimaryStorageHostStatusMsg; +import org.zstack.header.storage.primary.UpdatePrimaryStorageHostStatusReply; import org.zstack.header.storage.primary.PrimaryStorageCanonicalEvent.PrimaryStorageDeletedData; import org.zstack.header.storage.primary.PrimaryStorageCanonicalEvent.PrimaryStorageStatusChangedData; -import org.zstack.header.storage.snapshot.*; -import org.zstack.header.vm.*; -import org.zstack.header.volume.*; +import org.zstack.header.storage.snapshot.GetVolumeSnapshotSizeOnPrimaryStorageMsg; +import org.zstack.header.storage.snapshot.GetVolumeSnapshotSizeOnPrimaryStorageReply; +import org.zstack.header.storage.snapshot.ShrinkVolumeSnapshotOnPrimaryStorageMsg; +import org.zstack.header.storage.snapshot.SnapshotBackendOperation; +import org.zstack.header.storage.snapshot.VolumeSnapshotInventory; +import org.zstack.header.storage.snapshot.VolumeSnapshotVO; +import org.zstack.header.vm.StopVmInstanceMsg; +import org.zstack.header.vm.VmAttachVolumeValidatorMethod; +import org.zstack.header.vm.VmInstanceConstant; +import org.zstack.header.vm.VmInstanceEO; +import org.zstack.header.vm.VmInstanceInventory; +import org.zstack.header.vm.VmInstanceState; +import org.zstack.header.vm.VmInstanceVO; +import org.zstack.header.volume.BatchSyncVolumeSizeOnPrimaryStorageMsg; +import org.zstack.header.volume.VolumeFormat; +import org.zstack.header.volume.VolumeInventory; +import org.zstack.header.volume.VolumeProvisioningStrategy; +import org.zstack.header.volume.VolumeVO; import org.zstack.storage.volume.VolumeUtils; import org.zstack.utils.CollectionDSL; import org.zstack.utils.DebugUtils; @@ -61,7 +198,11 @@ import javax.persistence.LockModeType; import javax.persistence.TypedQuery; -import java.util.*; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; +import java.util.Map; +import java.util.Set; import java.util.function.Supplier; import java.util.stream.Collectors; @@ -963,6 +1104,7 @@ private void addStorageProtocol(APIAddStorageProtocolMsg msg, Completion complet FlowChain chain = FlowChainBuilder.newSimpleFlowChain(); chain.setName(String.format("add-protocol-to-storage-%s", msg.getUuid())); + // DEBT: NoRollbackFlow — in addStorageProtocol chain.then(new NoRollbackFlow() { String __name__ = "add-protocol-storage-ref-vo"; @Override @@ -973,6 +1115,7 @@ public void run(final FlowTrigger trigger, Map data) { dbf.persist(refVO); trigger.next(); } + // DEBT: NoRollbackFlow — in addStorageProtocol }).then(new NoRollbackFlow() { String __name__ = "do-add-protocol-for-storage-vo"; @Override @@ -1244,6 +1387,7 @@ private void handle(final SyncPrimaryStorageCapacityMsg msg) { @Override public void setup() { + // DEBT: NoRollbackFlow — in getName flow(new NoRollbackFlow() { String __name__ = "sync-physical-capacity"; @@ -1279,6 +1423,7 @@ public void fail(ErrorCode errorCode) { } }); + // DEBT: NoRollbackFlow — reason TBD flow(new NoRollbackFlow() { String __name__ = "recalculate-primary-storage-capacity"; @@ -1666,6 +1811,7 @@ private void deletePrimaryStorage(final APIDeletePrimaryStorageMsg msg, final No chain.setName(String.format("delete-primary-storage-%s", msg.getUuid())); if (msg.getDeletionMode() == APIDeleteMessage.DeletionMode.Permissive) { + // DEBT: NoRollbackFlow — in deletePrimaryStorage chain.then(new NoRollbackFlow() { @Override public void run(final FlowTrigger trigger, Map data) { @@ -1681,6 +1827,7 @@ public void fail(ErrorCode errorCode) { } }); } + // DEBT: NoRollbackFlow — in deletePrimaryStorage }).then(new NoRollbackFlow() { @Override public void run(final FlowTrigger trigger, Map data) { @@ -1698,6 +1845,7 @@ public void fail(ErrorCode errorCode) { } }); } else { + // DEBT: NoRollbackFlow — reason TBD chain.then(new NoRollbackFlow() { @Override public void run(final FlowTrigger trigger, Map data) { @@ -1718,6 +1866,7 @@ public void fail(ErrorCode errorCode) { // Due to issue #1412, deleting PS asynchronously might leave VmInstanceEO in // database. Since eoCleanup() could be called before deleting VmInstanceVO. + // DEBT: NoRollbackFlow — reason TBD chain.then(new NoRollbackFlow() { @Override public void run(FlowTrigger trigger, Map data) { diff --git a/storage/src/main/java/org/zstack/storage/primary/PrimaryStorageCapacityRecalculator.java b/storage/src/main/java/org/zstack/storage/primary/PrimaryStorageCapacityRecalculator.java index d4b295ed559..e6b556965a5 100644 --- a/storage/src/main/java/org/zstack/storage/primary/PrimaryStorageCapacityRecalculator.java +++ b/storage/src/main/java/org/zstack/storage/primary/PrimaryStorageCapacityRecalculator.java @@ -9,7 +9,13 @@ import org.zstack.core.db.DatabaseFacade; import org.zstack.core.errorcode.ErrorFacade; import org.zstack.header.exception.CloudRuntimeException; -import org.zstack.header.storage.primary.*; +import org.zstack.header.storage.primary.ImageCacheVO; +import org.zstack.header.storage.primary.PrimaryStorageCapacityUpdaterRunnable; +import org.zstack.header.storage.primary.PrimaryStorageCapacityVO; +import org.zstack.header.storage.primary.PrimaryStorageOverProvisioningManager; +import org.zstack.header.storage.primary.PrimaryStorageVO; +import org.zstack.header.storage.primary.RecalculatePrimaryStorageCapacityExtensionPoint; +import org.zstack.header.storage.primary.RecalculatePrimaryStorageCapacityStruct; import org.zstack.header.volume.VolumeStatus; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; diff --git a/storage/src/main/java/org/zstack/storage/primary/PrimaryStorageCascadeExtension.java b/storage/src/main/java/org/zstack/storage/primary/PrimaryStorageCascadeExtension.java index 361a137fe2b..7feeb83c002 100755 --- a/storage/src/main/java/org/zstack/storage/primary/PrimaryStorageCascadeExtension.java +++ b/storage/src/main/java/org/zstack/storage/primary/PrimaryStorageCascadeExtension.java @@ -10,7 +10,14 @@ import org.zstack.core.db.SimpleQuery; import org.zstack.header.core.Completion; import org.zstack.header.message.MessageReply; -import org.zstack.header.storage.primary.*; +import org.zstack.header.storage.primary.DetachPrimaryStorageFromClusterMsg; +import org.zstack.header.storage.primary.PrimaryStorageConstant; +import org.zstack.header.storage.primary.PrimaryStorageDeletionMsg; +import org.zstack.header.storage.primary.PrimaryStorageDetachStruct; +import org.zstack.header.storage.primary.PrimaryStorageException; +import org.zstack.header.storage.primary.PrimaryStorageInventory; +import org.zstack.header.storage.primary.PrimaryStorageVO; +import org.zstack.header.storage.primary.PrimaryStorageVO_; import org.zstack.header.zone.ZoneInventory; import org.zstack.header.zone.ZoneVO; import org.zstack.utils.CollectionUtils; diff --git a/storage/src/main/java/org/zstack/storage/primary/PrimaryStorageExtensionPointEmitter.java b/storage/src/main/java/org/zstack/storage/primary/PrimaryStorageExtensionPointEmitter.java index 15baf8b6d8b..aec81168bd7 100755 --- a/storage/src/main/java/org/zstack/storage/primary/PrimaryStorageExtensionPointEmitter.java +++ b/storage/src/main/java/org/zstack/storage/primary/PrimaryStorageExtensionPointEmitter.java @@ -3,7 +3,15 @@ import org.springframework.beans.factory.annotation.Autowired; import org.zstack.core.componentloader.PluginRegistry; import org.zstack.header.Component; -import org.zstack.header.storage.primary.*; +import org.zstack.header.storage.primary.PrimaryStorageAttachExtensionPoint; +import org.zstack.header.storage.primary.PrimaryStorageChangeStateExtensionPoint; +import org.zstack.header.storage.primary.PrimaryStorageDeleteExtensionPoint; +import org.zstack.header.storage.primary.PrimaryStorageDetachExtensionPoint; +import org.zstack.header.storage.primary.PrimaryStorageException; +import org.zstack.header.storage.primary.PrimaryStorageInventory; +import org.zstack.header.storage.primary.PrimaryStorageState; +import org.zstack.header.storage.primary.PrimaryStorageStateEvent; +import org.zstack.header.storage.primary.PrimaryStorageVO; import org.zstack.utils.CollectionUtils; import org.zstack.utils.Utils; import org.zstack.utils.function.ForEachFunction; diff --git a/storage/src/main/java/org/zstack/storage/primary/PrimaryStorageMainAllocatorFlow.java b/storage/src/main/java/org/zstack/storage/primary/PrimaryStorageMainAllocatorFlow.java index ee4bc2e1dae..206830a7eb9 100755 --- a/storage/src/main/java/org/zstack/storage/primary/PrimaryStorageMainAllocatorFlow.java +++ b/storage/src/main/java/org/zstack/storage/primary/PrimaryStorageMainAllocatorFlow.java @@ -13,7 +13,19 @@ import org.zstack.header.errorcode.OperationFailureException; import org.zstack.header.storage.backup.BackupStorageType; import org.zstack.header.storage.backup.BackupStorageVO; -import org.zstack.header.storage.primary.*; +import org.zstack.header.storage.primary.ImageCacheShadowVO; +import org.zstack.header.storage.primary.ImageCacheShadowVO_; +import org.zstack.header.storage.primary.ImageCacheVO; +import org.zstack.header.storage.primary.ImageCacheVO_; +import org.zstack.header.storage.primary.PrimaryStorageAllocationPurpose; +import org.zstack.header.storage.primary.PrimaryStorageAllocationSpec; +import org.zstack.header.storage.primary.PrimaryStorageClusterRefVO; +import org.zstack.header.storage.primary.PrimaryStorageHostRefVO; +import org.zstack.header.storage.primary.PrimaryStorageHostStatus; +import org.zstack.header.storage.primary.PrimaryStorageOverProvisioningManager; +import org.zstack.header.storage.primary.PrimaryStorageState; +import org.zstack.header.storage.primary.PrimaryStorageStatus; +import org.zstack.header.storage.primary.PrimaryStorageVO; import org.zstack.header.storage.primary.PrimaryStorageConstant.AllocatorParams; import org.zstack.storage.addon.primary.ExternalPrimaryStorage; import org.zstack.utils.CollectionUtils; @@ -23,7 +35,11 @@ import org.zstack.utils.logging.CLogger; import javax.persistence.TypedQuery; -import java.util.*; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Iterator; +import java.util.List; +import java.util.Map; import java.util.stream.Collectors; import static org.zstack.core.Platform.operr; diff --git a/storage/src/main/java/org/zstack/storage/primary/PrimaryStorageManagerImpl.java b/storage/src/main/java/org/zstack/storage/primary/PrimaryStorageManagerImpl.java index ca4e6ac05f6..3e6181ed562 100755 --- a/storage/src/main/java/org/zstack/storage/primary/PrimaryStorageManagerImpl.java +++ b/storage/src/main/java/org/zstack/storage/primary/PrimaryStorageManagerImpl.java @@ -26,7 +26,11 @@ import org.zstack.core.db.SimpleQuery; import org.zstack.core.db.SimpleQuery.Op; import org.zstack.core.defer.Deferred; -import org.zstack.core.thread.*; +import org.zstack.core.thread.AsyncThread; +import org.zstack.core.thread.ChainTask; +import org.zstack.core.thread.PeriodicTask; +import org.zstack.core.thread.SyncTaskChain; +import org.zstack.core.thread.ThreadFacade; import org.zstack.header.AbstractService; import org.zstack.header.apimediator.ApiMessageInterceptionException; import org.zstack.header.cluster.ClusterVO; @@ -51,24 +55,99 @@ import org.zstack.header.message.APIMessage; import org.zstack.header.message.Message; import org.zstack.header.message.MessageReply; -import org.zstack.header.storage.primary.*; +import org.zstack.header.storage.primary.APIAddPrimaryStorageEvent; +import org.zstack.header.storage.primary.APIAddPrimaryStorageMsg; +import org.zstack.header.storage.primary.APIGetPrimaryStorageAllocatorStrategiesMsg; +import org.zstack.header.storage.primary.APIGetPrimaryStorageAllocatorStrategiesReply; +import org.zstack.header.storage.primary.APIGetPrimaryStorageCapacityMsg; +import org.zstack.header.storage.primary.APIGetPrimaryStorageCapacityReply; +import org.zstack.header.storage.primary.APIGetPrimaryStorageLicenseInfoMsg; +import org.zstack.header.storage.primary.APIGetPrimaryStorageLicenseInfoReply; +import org.zstack.header.storage.primary.APIGetPrimaryStorageTypesMsg; +import org.zstack.header.storage.primary.APIGetPrimaryStorageTypesReply; +import org.zstack.header.storage.primary.APIGetPrimaryStorageUsageReportMsg; +import org.zstack.header.storage.primary.APIGetPrimaryStorageUsageReportReply; +import org.zstack.header.storage.primary.AllocatePrimaryStorageDryRunReply; +import org.zstack.header.storage.primary.AllocatePrimaryStorageMsg; +import org.zstack.header.storage.primary.AllocatePrimaryStorageReply; +import org.zstack.header.storage.primary.AllocatePrimaryStorageSpaceMsg; +import org.zstack.header.storage.primary.AllocatePrimaryStorageSpaceReply; +import org.zstack.header.storage.primary.CleanUpTrashOnPrimaryStroageMsg; +import org.zstack.header.storage.primary.ConnectPrimaryStorageMsg; +import org.zstack.header.storage.primary.DecreasePrimaryStorageCapacityMsg; +import org.zstack.header.storage.primary.GetPrimaryStorageUsageReportMsg; +import org.zstack.header.storage.primary.GetPrimaryStorageUsedPhysicalCapacityForecastReply; +import org.zstack.header.storage.primary.IncreasePrimaryStorageCapacityMsg; +import org.zstack.header.storage.primary.PSCapacityExtensionPoint; +import org.zstack.header.storage.primary.PrimaryStorage; +import org.zstack.header.storage.primary.PrimaryStorageAllocateConfig; +import org.zstack.header.storage.primary.PrimaryStorageAllocationSpec; +import org.zstack.header.storage.primary.PrimaryStorageAllocatorStrategy; +import org.zstack.header.storage.primary.PrimaryStorageAllocatorStrategyExtensionPoint; +import org.zstack.header.storage.primary.PrimaryStorageAllocatorStrategyFactory; +import org.zstack.header.storage.primary.PrimaryStorageAllocatorStrategyType; +import org.zstack.header.storage.primary.PrimaryStorageCapacityUpdaterRunnable; +import org.zstack.header.storage.primary.PrimaryStorageCapacityVO; +import org.zstack.header.storage.primary.PrimaryStorageClusterRefVO; +import org.zstack.header.storage.primary.PrimaryStorageConstant; +import org.zstack.header.storage.primary.PrimaryStorageDeletionMsg; +import org.zstack.header.storage.primary.PrimaryStorageEO; +import org.zstack.header.storage.primary.PrimaryStorageErrors; +import org.zstack.header.storage.primary.PrimaryStorageExtensionFactory; +import org.zstack.header.storage.primary.PrimaryStorageFactory; +import org.zstack.header.storage.primary.PrimaryStorageFeature; +import org.zstack.header.storage.primary.PrimaryStorageHostRefVO; +import org.zstack.header.storage.primary.PrimaryStorageHostRefVO_; +import org.zstack.header.storage.primary.PrimaryStorageHostStatus; +import org.zstack.header.storage.primary.PrimaryStorageInventory; +import org.zstack.header.storage.primary.PrimaryStorageLicenseInfo; +import org.zstack.header.storage.primary.PrimaryStorageManager; +import org.zstack.header.storage.primary.PrimaryStorageMessage; +import org.zstack.header.storage.primary.PrimaryStorageOverProvisioningManager; +import org.zstack.header.storage.primary.PrimaryStorageSortExtensionPoint; +import org.zstack.header.storage.primary.PrimaryStorageState; +import org.zstack.header.storage.primary.PrimaryStorageStatus; +import org.zstack.header.storage.primary.PrimaryStorageType; +import org.zstack.header.storage.primary.PrimaryStorageVO; +import org.zstack.header.storage.primary.PrimaryStorageVO_; +import org.zstack.header.storage.primary.RecalculatePrimaryStorageCapacityMsg; +import org.zstack.header.storage.primary.RecalculatePrimaryStorageCapacityReply; +import org.zstack.header.storage.primary.ReleasePrimaryStorageSpaceMsg; +import org.zstack.header.storage.primary.SetTrashExpirationTimeMsg; import org.zstack.header.tag.SystemTagCreateMessageValidator; import org.zstack.header.tag.SystemTagValidator; import org.zstack.header.vm.CreateVmInstanceMsg; import org.zstack.header.vm.VmInstanceCreateExtensionPoint; import org.zstack.header.vm.VmInstanceInventory; import org.zstack.header.vm.VmInstanceStartExtensionPoint; -import org.zstack.header.vm.*; -import org.zstack.resourceconfig.*; +import org.zstack.header.vm.VmInstanceSpec; +import org.zstack.resourceconfig.ResourceConfig; +import org.zstack.resourceconfig.ResourceConfigFacade; +import org.zstack.resourceconfig.ResourceConfigUpdateExtensionPoint; +import org.zstack.resourceconfig.ResourceConfigVO; +import org.zstack.resourceconfig.ResourceConfigVO_; import org.zstack.tag.TagManager; -import org.zstack.utils.*; +import org.zstack.utils.CollectionUtils; +import org.zstack.utils.DebugUtils; +import org.zstack.utils.ObjectUtils; +import org.zstack.utils.SizeUtils; +import org.zstack.utils.StringDSL; +import org.zstack.utils.Utils; import org.zstack.utils.function.Function; import org.zstack.utils.logging.CLogger; import org.zstack.utils.network.NetworkUtils; import javax.persistence.Tuple; import javax.persistence.TypedQuery; -import java.util.*; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import java.util.Set; import java.util.concurrent.Callable; import java.util.concurrent.Future; import java.util.concurrent.TimeUnit; diff --git a/storage/src/main/java/org/zstack/storage/primary/PrimaryStorageSortByAvailablePhysicalCapacityFlow.java b/storage/src/main/java/org/zstack/storage/primary/PrimaryStorageSortByAvailablePhysicalCapacityFlow.java index 01a316be593..cacd10b6d2e 100644 --- a/storage/src/main/java/org/zstack/storage/primary/PrimaryStorageSortByAvailablePhysicalCapacityFlow.java +++ b/storage/src/main/java/org/zstack/storage/primary/PrimaryStorageSortByAvailablePhysicalCapacityFlow.java @@ -13,7 +13,12 @@ import org.zstack.utils.gson.JSONObjectUtil; import org.zstack.utils.logging.CLogger; -import java.util.*; +import java.util.ArrayList; +import java.util.Collections; +import java.util.Comparator; +import java.util.Iterator; +import java.util.List; +import java.util.Map; import java.util.stream.Collectors; /** diff --git a/storage/src/main/java/org/zstack/storage/primary/PrimaryStorageSortByAvailableVirtualCapacityFlow.java b/storage/src/main/java/org/zstack/storage/primary/PrimaryStorageSortByAvailableVirtualCapacityFlow.java index fdf1694ec84..3db9cb0870b 100644 --- a/storage/src/main/java/org/zstack/storage/primary/PrimaryStorageSortByAvailableVirtualCapacityFlow.java +++ b/storage/src/main/java/org/zstack/storage/primary/PrimaryStorageSortByAvailableVirtualCapacityFlow.java @@ -8,7 +8,11 @@ import org.zstack.header.storage.primary.PrimaryStorageConstant; import org.zstack.header.storage.primary.PrimaryStorageVO; -import java.util.*; +import java.util.ArrayList; +import java.util.Comparator; +import java.util.Iterator; +import java.util.List; +import java.util.Map; @Configurable(preConstruction = true, autowire = Autowire.BY_TYPE) public class PrimaryStorageSortByAvailableVirtualCapacityFlow extends NoRollbackFlow { diff --git a/storage/src/main/java/org/zstack/storage/primary/PrimaryStorageSortByVolumeQuantityFlow.java b/storage/src/main/java/org/zstack/storage/primary/PrimaryStorageSortByVolumeQuantityFlow.java index 8c5c3fb3ca1..9e14a746269 100644 --- a/storage/src/main/java/org/zstack/storage/primary/PrimaryStorageSortByVolumeQuantityFlow.java +++ b/storage/src/main/java/org/zstack/storage/primary/PrimaryStorageSortByVolumeQuantityFlow.java @@ -12,7 +12,11 @@ import org.zstack.header.volume.VolumeVO; import org.zstack.header.volume.VolumeVO_; -import java.util.*; +import java.util.ArrayList; +import java.util.Comparator; +import java.util.Iterator; +import java.util.List; +import java.util.Map; @Configurable(preConstruction = true, autowire = Autowire.BY_TYPE) public class PrimaryStorageSortByVolumeQuantityFlow extends NoRollbackFlow { diff --git a/storage/src/main/java/org/zstack/storage/primary/PrimaryStorageSortFlow.java b/storage/src/main/java/org/zstack/storage/primary/PrimaryStorageSortFlow.java index be1b234202c..d6bd71648d2 100644 --- a/storage/src/main/java/org/zstack/storage/primary/PrimaryStorageSortFlow.java +++ b/storage/src/main/java/org/zstack/storage/primary/PrimaryStorageSortFlow.java @@ -5,7 +5,7 @@ import org.springframework.beans.factory.annotation.Configurable; import org.zstack.header.core.workflow.FlowTrigger; import org.zstack.header.core.workflow.NoRollbackFlow; -import org.zstack.header.storage.backup.*; +import org.zstack.header.storage.backup.PrimaryStoragePriorityGetter; import org.zstack.header.storage.primary.PrimaryStorageAllocationSpec; import org.zstack.header.storage.primary.PrimaryStorageConstant; import org.zstack.header.storage.primary.PrimaryStorageVO; diff --git a/storage/src/main/java/org/zstack/storage/snapshot/DeleteVolumeSnapshotLongJob.java b/storage/src/main/java/org/zstack/storage/snapshot/DeleteVolumeSnapshotLongJob.java index 65e4e36c924..f211face799 100644 --- a/storage/src/main/java/org/zstack/storage/snapshot/DeleteVolumeSnapshotLongJob.java +++ b/storage/src/main/java/org/zstack/storage/snapshot/DeleteVolumeSnapshotLongJob.java @@ -19,7 +19,8 @@ import org.zstack.header.storage.snapshot.CancelDeleteVolumeSnapshotMsg; import org.zstack.header.storage.snapshot.DeleteVolumeSnapshotMsg; import org.zstack.header.storage.snapshot.VolumeSnapshotConstant; -import org.zstack.header.vm.*; +import org.zstack.header.vm.VmInstanceState; +import org.zstack.header.vm.VmInstanceVO; import org.zstack.header.volume.VolumeVO; import org.zstack.utils.gson.JSONObjectUtil; import static org.zstack.utils.clouderrorcode.CloudOperationsErrorCode.*; diff --git a/storage/src/main/java/org/zstack/storage/snapshot/RevertVolumeSnapshotLongJob.java b/storage/src/main/java/org/zstack/storage/snapshot/RevertVolumeSnapshotLongJob.java index 2dd1aa5a5ab..626644514a8 100644 --- a/storage/src/main/java/org/zstack/storage/snapshot/RevertVolumeSnapshotLongJob.java +++ b/storage/src/main/java/org/zstack/storage/snapshot/RevertVolumeSnapshotLongJob.java @@ -17,7 +17,11 @@ import org.zstack.header.longjob.LongJobVO; import org.zstack.header.message.APIEvent; import org.zstack.header.message.MessageReply; -import org.zstack.header.storage.snapshot.*; +import org.zstack.header.storage.snapshot.APIRevertVolumeFromSnapshotEvent; +import org.zstack.header.storage.snapshot.APIRevertVolumeFromSnapshotMsg; +import org.zstack.header.storage.snapshot.RevertVolumeSnapshotMsg; +import org.zstack.header.storage.snapshot.VolumeSnapshotConstant; +import org.zstack.header.storage.snapshot.VolumeSnapshotRevertOverlayVolumeMsg; import org.zstack.header.volume.VolumeConstant; import org.zstack.header.volume.VolumeVO; import org.zstack.longjob.LongJobUtils; diff --git a/storage/src/main/java/org/zstack/storage/snapshot/VolumeSnapshotApiInterceptor.java b/storage/src/main/java/org/zstack/storage/snapshot/VolumeSnapshotApiInterceptor.java index 33205212024..d18796df5a9 100755 --- a/storage/src/main/java/org/zstack/storage/snapshot/VolumeSnapshotApiInterceptor.java +++ b/storage/src/main/java/org/zstack/storage/snapshot/VolumeSnapshotApiInterceptor.java @@ -14,13 +14,29 @@ import org.zstack.header.apimediator.StopRoutingException; import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.message.APIMessage; -import org.zstack.header.storage.snapshot.*; -import org.zstack.header.storage.snapshot.group.*; +import org.zstack.header.storage.snapshot.APIBackupVolumeSnapshotMsg; +import org.zstack.header.storage.snapshot.APIBatchDeleteVolumeSnapshotMsg; +import org.zstack.header.storage.snapshot.APIDeleteVolumeSnapshotEvent; +import org.zstack.header.storage.snapshot.APIDeleteVolumeSnapshotFromBackupStorageEvent; +import org.zstack.header.storage.snapshot.APIDeleteVolumeSnapshotFromBackupStorageMsg; +import org.zstack.header.storage.snapshot.APIDeleteVolumeSnapshotMsg; +import org.zstack.header.storage.snapshot.APIRevertVolumeFromSnapshotMsg; +import org.zstack.header.storage.snapshot.VolumeSnapshotBackupStorageRefVO; +import org.zstack.header.storage.snapshot.VolumeSnapshotBackupStorageRefVO_; +import org.zstack.header.storage.snapshot.VolumeSnapshotConstant; +import org.zstack.header.storage.snapshot.VolumeSnapshotMessage; +import org.zstack.header.storage.snapshot.VolumeSnapshotState; +import org.zstack.header.storage.snapshot.VolumeSnapshotVO; +import org.zstack.header.storage.snapshot.VolumeSnapshotVO_; +import org.zstack.header.storage.snapshot.group.APIRevertVmFromSnapshotGroupMsg; +import org.zstack.header.storage.snapshot.group.MemorySnapshotValidatorExtensionPoint; +import org.zstack.header.storage.snapshot.group.VolumeSnapshotGroupRefVO; +import org.zstack.header.storage.snapshot.group.VolumeSnapshotGroupVO; import org.zstack.header.vm.VmInstanceInventory; import org.zstack.header.vm.VmInstanceState; import org.zstack.header.vm.VmInstanceVO; import org.zstack.header.vm.VmInstanceVO_; -import org.zstack.header.volume.*; +import org.zstack.header.volume.VolumeType; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; diff --git a/storage/src/main/java/org/zstack/storage/snapshot/VolumeSnapshotBase.java b/storage/src/main/java/org/zstack/storage/snapshot/VolumeSnapshotBase.java index 8135e03e44a..f39ff78faf4 100755 --- a/storage/src/main/java/org/zstack/storage/snapshot/VolumeSnapshotBase.java +++ b/storage/src/main/java/org/zstack/storage/snapshot/VolumeSnapshotBase.java @@ -16,7 +16,11 @@ import org.zstack.core.workflow.ShareFlow; import org.zstack.header.core.Completion; import org.zstack.header.core.WhileDoneCompletion; -import org.zstack.header.core.workflow.*; +import org.zstack.header.core.workflow.FlowChain; +import org.zstack.header.core.workflow.FlowDoneHandler; +import org.zstack.header.core.workflow.FlowErrorHandler; +import org.zstack.header.core.workflow.FlowTrigger; +import org.zstack.header.core.workflow.NoRollbackFlow; import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.errorcode.ErrorCodeList; import org.zstack.header.message.Message; @@ -25,7 +29,19 @@ import org.zstack.header.storage.primary.IncreasePrimaryStorageCapacityMsg; import org.zstack.header.storage.primary.PrimaryStorageConstant; import org.zstack.header.storage.primary.ReleasePrimaryStorageSpaceMsg; -import org.zstack.header.storage.snapshot.*; +import org.zstack.header.storage.snapshot.BackupVolumeSnapshotMsg; +import org.zstack.header.storage.snapshot.BackupVolumeSnapshotReply; +import org.zstack.header.storage.snapshot.ChangeVolumeSnapshotStatusMsg; +import org.zstack.header.storage.snapshot.ChangeVolumeSnapshotStatusReply; +import org.zstack.header.storage.snapshot.VolumeSnapshotAfterDeleteExtensionPoint; +import org.zstack.header.storage.snapshot.VolumeSnapshotBackupStorageDeletionMsg; +import org.zstack.header.storage.snapshot.VolumeSnapshotBackupStorageDeletionReply; +import org.zstack.header.storage.snapshot.VolumeSnapshotBackupStorageRefVO; +import org.zstack.header.storage.snapshot.VolumeSnapshotInventory; +import org.zstack.header.storage.snapshot.VolumeSnapshotPrimaryStorageDeletionMsg; +import org.zstack.header.storage.snapshot.VolumeSnapshotPrimaryStorageDeletionReply; +import org.zstack.header.storage.snapshot.VolumeSnapshotStatus; +import org.zstack.header.storage.snapshot.VolumeSnapshotVO; import org.zstack.header.storage.snapshot.VolumeSnapshotStatus.StatusEvent; import org.zstack.utils.CollectionUtils; import org.zstack.utils.ExceptionDSL; @@ -108,6 +124,7 @@ public String call(VolumeSnapshotBackupStorageRefVO arg) { @Override public void setup() { + // DEBT: NoRollbackFlow — in handleLocalMessage flow(new NoRollbackFlow() { String __name__ = String.format("delete-on-backup-storage-%s", bsUuid); @Override @@ -139,6 +156,7 @@ public VolumeSnapshotBackupStorageRefVO call(VolumeSnapshotBackupStorageRefVO ar } }); + // DEBT: NoRollbackFlow — reason TBD flow(new NoRollbackFlow() { String __name__ = String.format("return-capacity-to-backup-storage-%s", bsUuid); @@ -258,6 +276,7 @@ private void errors(ErrorCode errorCode) { @Override public void setup() { + // DEBT: NoRollbackFlow — in errors flow(new NoRollbackFlow() { String __name__ = "delete-on-primary-storage"; @Override @@ -279,6 +298,7 @@ public void run(MessageReply reply) { } }); + // DEBT: NoRollbackFlow — in errors flow(new NoRollbackFlow() { String __name__ = "return-capacity-to-primary-storage"; diff --git a/storage/src/main/java/org/zstack/storage/snapshot/VolumeSnapshotCascadeExtension.java b/storage/src/main/java/org/zstack/storage/snapshot/VolumeSnapshotCascadeExtension.java index 9128094ffdf..76d9f2c3e22 100755 --- a/storage/src/main/java/org/zstack/storage/snapshot/VolumeSnapshotCascadeExtension.java +++ b/storage/src/main/java/org/zstack/storage/snapshot/VolumeSnapshotCascadeExtension.java @@ -20,7 +20,19 @@ import org.zstack.header.message.MessageReply; import org.zstack.header.message.MulitpleOverlayReply; import org.zstack.header.message.NeedReplyMessage; -import org.zstack.header.storage.snapshot.*; +import org.zstack.header.storage.snapshot.DeleteVolumeSnapshotDirection; +import org.zstack.header.storage.snapshot.DeleteVolumeSnapshotScope; +import org.zstack.header.storage.snapshot.VolumeSnapshotAfterDeleteExtensionPoint; +import org.zstack.header.storage.snapshot.VolumeSnapshotConstant; +import org.zstack.header.storage.snapshot.VolumeSnapshotDeletionMsg; +import org.zstack.header.storage.snapshot.VolumeSnapshotDeletionStructs; +import org.zstack.header.storage.snapshot.VolumeSnapshotInventory; +import org.zstack.header.storage.snapshot.VolumeSnapshotOverlayMsg; +import org.zstack.header.storage.snapshot.VolumeSnapshotTree; +import org.zstack.header.storage.snapshot.VolumeSnapshotTreeVO; +import org.zstack.header.storage.snapshot.VolumeSnapshotTreeVO_; +import org.zstack.header.storage.snapshot.VolumeSnapshotVO; +import org.zstack.header.storage.snapshot.VolumeSnapshotVO_; import org.zstack.header.storage.snapshot.group.VolumeSnapshotGroupVO; import org.zstack.header.vo.ResourceVO; import org.zstack.header.volume.VolumeConstant; @@ -34,7 +46,14 @@ import org.zstack.utils.logging.CLogger; import javax.persistence.Tuple; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Set; import java.util.stream.Collectors; /** diff --git a/storage/src/main/java/org/zstack/storage/snapshot/VolumeSnapshotManagerImpl.java b/storage/src/main/java/org/zstack/storage/snapshot/VolumeSnapshotManagerImpl.java index 6ac46abd7d8..2325c338b2e 100755 --- a/storage/src/main/java/org/zstack/storage/snapshot/VolumeSnapshotManagerImpl.java +++ b/storage/src/main/java/org/zstack/storage/snapshot/VolumeSnapshotManagerImpl.java @@ -8,34 +8,145 @@ import org.zstack.core.asyncbatch.While; import org.zstack.core.cascade.CascadeConstant; import org.zstack.core.cascade.CascadeFacade; -import org.zstack.core.cloudbus.*; +import org.zstack.core.cloudbus.CloudBus; +import org.zstack.core.cloudbus.CloudBusCallBack; +import org.zstack.core.cloudbus.EventFacade; +import org.zstack.core.cloudbus.MarshalReplyMessageExtensionPoint; +import org.zstack.core.cloudbus.MessageSafe; import org.zstack.core.componentloader.PluginRegistry; -import org.zstack.core.db.*; +import org.zstack.core.db.DatabaseFacade; +import org.zstack.core.db.Q; +import org.zstack.core.db.SQL; +import org.zstack.core.db.SQLBatch; +import org.zstack.core.db.SQLBatchWithReturn; +import org.zstack.core.db.SimpleQuery; import org.zstack.core.db.SimpleQuery.Op; import org.zstack.core.errorcode.ErrorFacade; import org.zstack.core.thread.ThreadFacade; import org.zstack.core.workflow.FlowChainBuilder; import org.zstack.core.workflow.ShareFlow; import org.zstack.header.AbstractService; -import org.zstack.header.core.*; -import org.zstack.header.core.workflow.*; +import org.zstack.header.core.Completion; +import org.zstack.header.core.ExceptionSafe; +import org.zstack.header.core.NoErrorCompletion; +import org.zstack.header.core.NopeCompletion; +import org.zstack.header.core.WhileDoneCompletion; +import org.zstack.header.core.workflow.Flow; +import org.zstack.header.core.workflow.FlowChain; +import org.zstack.header.core.workflow.FlowDoneHandler; +import org.zstack.header.core.workflow.FlowErrorHandler; +import org.zstack.header.core.workflow.FlowRollback; +import org.zstack.header.core.workflow.FlowTrigger; +import org.zstack.header.core.workflow.NoRollbackFlow; import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.errorcode.ErrorCodeList; import org.zstack.header.errorcode.OperationFailureException; import org.zstack.header.errorcode.SysErrors; import org.zstack.header.exception.CloudRuntimeException; -import org.zstack.header.identity.*; +import org.zstack.header.identity.APIChangeResourceOwnerMsg; +import org.zstack.header.identity.AccountResourceRefInventory; +import org.zstack.header.identity.AccountResourceRefVO; +import org.zstack.header.identity.Quota; +import org.zstack.header.identity.ReportQuotaExtensionPoint; +import org.zstack.header.identity.ResourceOwnerAfterChangeExtensionPoint; +import org.zstack.header.identity.SessionInventory; import org.zstack.header.identity.quota.QuotaMessageHandler; -import org.zstack.header.message.*; +import org.zstack.header.message.APIDeleteMessage; +import org.zstack.header.message.APIEvent; +import org.zstack.header.message.APIMessage; +import org.zstack.header.message.AbstractBeforeDeliveryMessageInterceptor; +import org.zstack.header.message.Message; +import org.zstack.header.message.MessageReply; +import org.zstack.header.message.NeedQuotaCheckMessage; +import org.zstack.header.message.NeedReplyMessage; import org.zstack.header.storage.backup.CleanUpVmBackupExtensionPoint; -import org.zstack.header.storage.primary.*; +import org.zstack.header.storage.primary.AllocatePrimaryStorageSpaceMsg; +import org.zstack.header.storage.primary.AllocatePrimaryStorageSpaceReply; +import org.zstack.header.storage.primary.AskVolumeSnapshotCapabilityMsg; +import org.zstack.header.storage.primary.AskVolumeSnapshotCapabilityReply; +import org.zstack.header.storage.primary.CheckVolumeSnapshotOperationOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.GetVolumeSnapshotEncryptedOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.GetVolumeSnapshotEncryptedOnPrimaryStorageReply; +import org.zstack.header.storage.primary.PrimaryStorageConstant; +import org.zstack.header.storage.primary.PrimaryStorageVO; +import org.zstack.header.storage.primary.PrimaryStorageVO_; +import org.zstack.header.storage.primary.ReleasePrimaryStorageSpaceMsg; +import org.zstack.header.storage.primary.SyncVolumeSizeOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.SyncVolumeSizeOnPrimaryStorageReply; +import org.zstack.header.storage.primary.TakeSnapshotMsg; +import org.zstack.header.storage.primary.TakeSnapshotReply; +import org.zstack.header.storage.primary.VolumeSnapshotCapability; import org.zstack.header.storage.primary.VolumeSnapshotCapability.VolumeSnapshotArrangementType; -import org.zstack.header.storage.snapshot.*; -import org.zstack.header.storage.snapshot.group.*; +import org.zstack.header.storage.snapshot.APIBatchDeleteVolumeSnapshotEvent; +import org.zstack.header.storage.snapshot.APIBatchDeleteVolumeSnapshotMsg; +import org.zstack.header.storage.snapshot.APIGetVolumeSnapshotTreeReply; +import org.zstack.header.storage.snapshot.APIQueryVolumeSnapshotTreeReply; +import org.zstack.header.storage.snapshot.AskVolumeSnapshotStructMsg; +import org.zstack.header.storage.snapshot.AskVolumeSnapshotStructReply; +import org.zstack.header.storage.snapshot.BatchDeleteVolumeSnapshotStruct; +import org.zstack.header.storage.snapshot.CreateTemplateFromVolumeSnapshotExtensionPoint; +import org.zstack.header.storage.snapshot.CreateVolumeSnapshotMsg; +import org.zstack.header.storage.snapshot.CreateVolumeSnapshotReply; +import org.zstack.header.storage.snapshot.CreateVolumesSnapshotMsg; +import org.zstack.header.storage.snapshot.DeleteVolumeSnapshotDirection; +import org.zstack.header.storage.snapshot.DeleteVolumeSnapshotScope; +import org.zstack.header.storage.snapshot.GetVolumeSnapshotEncryptedMsg; +import org.zstack.header.storage.snapshot.GetVolumeSnapshotEncryptedReply; +import org.zstack.header.storage.snapshot.GetVolumeSnapshotTreeRootNodeMsg; +import org.zstack.header.storage.snapshot.GetVolumeSnapshotTreeRootNodeReply; +import org.zstack.header.storage.snapshot.MarkRootVolumeAsSnapshotMsg; +import org.zstack.header.storage.snapshot.MarkRootVolumeAsSnapshotReply; +import org.zstack.header.storage.snapshot.SnapshotBackendOperation; +import org.zstack.header.storage.snapshot.SnapshotMode; +import org.zstack.header.storage.snapshot.VolumeSnapshotAfterCreateExtensionPoint; +import org.zstack.header.storage.snapshot.VolumeSnapshotConstant; +import org.zstack.header.storage.snapshot.VolumeSnapshotCreationExtensionPoint; +import org.zstack.header.storage.snapshot.VolumeSnapshotDeletionMsg; +import org.zstack.header.storage.snapshot.VolumeSnapshotDeletionStructs; +import org.zstack.header.storage.snapshot.VolumeSnapshotInventory; +import org.zstack.header.storage.snapshot.VolumeSnapshotMessage; +import org.zstack.header.storage.snapshot.VolumeSnapshotReportPrimaryStorageCapacityUsageMsg; +import org.zstack.header.storage.snapshot.VolumeSnapshotReportPrimaryStorageCapacityUsageReply; +import org.zstack.header.storage.snapshot.VolumeSnapshotState; +import org.zstack.header.storage.snapshot.VolumeSnapshotStatus; +import org.zstack.header.storage.snapshot.VolumeSnapshotStruct; +import org.zstack.header.storage.snapshot.VolumeSnapshotTree; +import org.zstack.header.storage.snapshot.VolumeSnapshotTreeInventory; +import org.zstack.header.storage.snapshot.VolumeSnapshotTreeStatus; +import org.zstack.header.storage.snapshot.VolumeSnapshotTreeVO; +import org.zstack.header.storage.snapshot.VolumeSnapshotTreeVO_; +import org.zstack.header.storage.snapshot.VolumeSnapshotVO; +import org.zstack.header.storage.snapshot.VolumeSnapshotVO_; +import org.zstack.header.storage.snapshot.group.APICheckVolumeSnapshotGroupAvailabilityMsg; +import org.zstack.header.storage.snapshot.group.APICheckVolumeSnapshotGroupAvailabilityReply; +import org.zstack.header.storage.snapshot.group.VolumeSnapshotGroupMessage; +import org.zstack.header.storage.snapshot.group.VolumeSnapshotGroupRefVO; +import org.zstack.header.storage.snapshot.group.VolumeSnapshotGroupRefVO_; +import org.zstack.header.storage.snapshot.group.VolumeSnapshotGroupVO; +import org.zstack.header.storage.snapshot.group.VolumeSnapshotGroupVO_; import org.zstack.header.storage.snapshot.reference.VolumeSnapshotReferenceMessage; -import org.zstack.header.vm.*; +import org.zstack.header.vm.APIGetMemorySnapshotGroupReferenceMsg; +import org.zstack.header.vm.APIGetMemorySnapshotGroupReferenceReply; +import org.zstack.header.vm.AfterReimageVmInstanceExtensionPoint; +import org.zstack.header.vm.VmInstanceInventory; +import org.zstack.header.vm.VmInstanceVO; +import org.zstack.header.vm.VmInstanceVO_; +import org.zstack.header.vm.VmJustBeforeDeleteFromDbExtensionPoint; import org.zstack.header.vm.devices.VmInstanceDeviceManager; -import org.zstack.header.volume.*; +import org.zstack.header.volume.APICreateVolumeSnapshotGroupMsg; +import org.zstack.header.volume.APICreateVolumeSnapshotMsg; +import org.zstack.header.volume.APIRecoverDataVolumeMsg; +import org.zstack.header.volume.FlattenVolumeExtensionPoint; +import org.zstack.header.volume.OverwriteVolumeExtensionPoint; +import org.zstack.header.volume.Volume; +import org.zstack.header.volume.VolumeBeforeExpungeExtensionPoint; +import org.zstack.header.volume.VolumeCreateSnapshotMsg; +import org.zstack.header.volume.VolumeDeletionPolicyManager; +import org.zstack.header.volume.VolumeInventory; +import org.zstack.header.volume.VolumeJustBeforeDeleteFromDbExtensionPoint; +import org.zstack.header.volume.VolumeType; +import org.zstack.header.volume.VolumeVO; +import org.zstack.header.volume.VolumeVO_; import org.zstack.identity.AccountManager; import org.zstack.identity.QuotaUtil; import org.zstack.storage.snapshot.group.MemorySnapshotGroupReferenceFactory; @@ -55,7 +166,15 @@ import javax.persistence.Query; import javax.persistence.Tuple; import javax.persistence.TypedQuery; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Set; import java.util.stream.Collectors; import java.util.stream.Stream; @@ -286,6 +405,7 @@ private void handle(APIBatchDeleteVolumeSnapshotMsg msg) { reportProgress("20"); if (msg.getDeletionMode() == APIDeleteMessage.DeletionMode.Permissive) { + // DEBT: NoRollbackFlow — in handleSnapshotReference chain.then(new NoRollbackFlow() { @Override public void run(final FlowTrigger trigger, Map data) { @@ -301,6 +421,7 @@ public void fail(ErrorCode errorCode) { } }); } + // DEBT: NoRollbackFlow — in handleSnapshotReference }).then(new NoRollbackFlow() { @Override public void run(final FlowTrigger trigger, Map data) { @@ -318,6 +439,7 @@ public void fail(ErrorCode errorCode) { } }); } else { + // DEBT: NoRollbackFlow — reason TBD chain.then(new NoRollbackFlow() { @Override public void run(final FlowTrigger trigger, Map data) { @@ -784,6 +906,7 @@ private void handle(final CreateVolumeSnapshotMsg msg) { @Override public void setup() { + // DEBT: NoRollbackFlow — in scripts flow(new NoRollbackFlow() { String __name__ = "create-new-tree-if-needed"; @Override @@ -799,6 +922,7 @@ public void run(FlowTrigger trigger, Map data) { .eq(VmInstanceVO_.uuid, volumeVO.getVmInstanceUuid()) .findValue(); } else { + // DEBT: NoRollbackFlow — reason TBD flow(new NoRollbackFlow() { String __name__ = "sync-root-volume-size"; @Override @@ -875,6 +999,7 @@ public void rollback(FlowRollback trigger, Map data) { } }); + // DEBT: NoRollbackFlow — in rollback flow(new NoRollbackFlow() { String __name__ = "take-volume-snapshot"; @@ -903,6 +1028,7 @@ public void run(MessageReply reply) { } }); + // DEBT: NoRollbackFlow — in rollback flow(new NoRollbackFlow() { String __name__ = "after-volume-snapshot-created"; @@ -936,6 +1062,7 @@ public void done(ErrorCodeList errorCodeList) { } }); + // DEBT: NoRollbackFlow — reason TBD flow(new NoRollbackFlow() { String __name__ = "adjust-snapshot-capacity-on-primary-storage"; @@ -1063,6 +1190,7 @@ private void handle(MarkRootVolumeAsSnapshotMsg msg) { VolumeSnapshotCapability capability; @Override public void setup() { + // DEBT: NoRollbackFlow — in callExtensionPoints flow(new NoRollbackFlow() { String __name__ = "ask-volume-snapshot-capability"; @Override @@ -1108,6 +1236,7 @@ public void run(FlowTrigger trigger, Map data) { if (customizedFlows != null) { customizedFlows.forEach(this::flow); } else { + // DEBT: NoRollbackFlow — reason TBD flow(new NoRollbackFlow() { String __name__ = "mark-rootVolume-as-snapshot"; @Override @@ -1140,6 +1269,7 @@ public void run(FlowTrigger trigger, Map data) { }); } + // DEBT: NoRollbackFlow — reason TBD flow(new NoRollbackFlow() { String __name__ = "post-mark-rootVolume-as-snapshot"; diff --git a/storage/src/main/java/org/zstack/storage/snapshot/VolumeSnapshotTreeBase.java b/storage/src/main/java/org/zstack/storage/snapshot/VolumeSnapshotTreeBase.java index 13a67af0970..df82cdbd77a 100755 --- a/storage/src/main/java/org/zstack/storage/snapshot/VolumeSnapshotTreeBase.java +++ b/storage/src/main/java/org/zstack/storage/snapshot/VolumeSnapshotTreeBase.java @@ -8,9 +8,17 @@ import org.zstack.core.asyncbatch.While; import org.zstack.core.cascade.CascadeConstant; import org.zstack.core.cascade.CascadeFacade; -import org.zstack.core.cloudbus.*; +import org.zstack.core.cloudbus.CloudBus; +import org.zstack.core.cloudbus.CloudBusCallBack; +import org.zstack.core.cloudbus.CloudBusListCallBack; +import org.zstack.core.cloudbus.MessageSafe; import org.zstack.core.componentloader.PluginRegistry; -import org.zstack.core.db.*; +import org.zstack.core.db.DatabaseFacade; +import org.zstack.core.db.Q; +import org.zstack.core.db.SQL; +import org.zstack.core.db.SQLBatch; +import org.zstack.core.db.SQLBatchWithReturn; +import org.zstack.core.db.SimpleQuery; import org.zstack.core.db.SimpleQuery.Op; import org.zstack.core.errorcode.ErrorFacade; import org.zstack.core.thread.ChainTask; @@ -21,37 +29,149 @@ import org.zstack.core.trash.TrashType; import org.zstack.core.workflow.FlowChainBuilder; import org.zstack.core.workflow.ShareFlow; -import org.zstack.header.core.*; -import org.zstack.header.core.workflow.*; +import org.zstack.header.core.Completion; +import org.zstack.header.core.NoErrorCompletion; +import org.zstack.header.core.NopeCompletion; +import org.zstack.header.core.ReturnValueCompletion; +import org.zstack.header.core.WhileDoneCompletion; +import org.zstack.header.core.workflow.Flow; +import org.zstack.header.core.workflow.FlowChain; +import org.zstack.header.core.workflow.FlowDoneHandler; +import org.zstack.header.core.workflow.FlowErrorHandler; +import org.zstack.header.core.workflow.FlowFinallyHandler; +import org.zstack.header.core.workflow.FlowRollback; +import org.zstack.header.core.workflow.FlowTrigger; +import org.zstack.header.core.workflow.NoRollbackFlow; import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.errorcode.ErrorCodeList; import org.zstack.header.errorcode.OperationFailureException; import org.zstack.header.errorcode.SysErrors; import org.zstack.header.exception.CloudRuntimeException; -import org.zstack.header.host.*; +import org.zstack.header.host.CancelHostTasksMsg; +import org.zstack.header.host.CommitVolumeSnapshotOnHypervisorMsg; +import org.zstack.header.host.CommitVolumeSnapshotOnHypervisorReply; +import org.zstack.header.host.HostConstant; +import org.zstack.header.host.PullVolumeSnapshotOnHypervisorMsg; +import org.zstack.header.host.PullVolumeSnapshotOnHypervisorReply; import org.zstack.header.image.ImageConstant; import org.zstack.header.image.ImageInventory; import org.zstack.header.image.ImageVO; import org.zstack.header.image.SyncSystemTagFromVolumeMsg; -import org.zstack.header.message.*; +import org.zstack.header.message.APIDeleteMessage; +import org.zstack.header.message.APIMessage; +import org.zstack.header.message.Message; +import org.zstack.header.message.MessageReply; import org.zstack.header.storage.backup.AllocateBackupStorageMsg; import org.zstack.header.storage.backup.AllocateBackupStorageReply; import org.zstack.header.storage.backup.BackupStorageConstant; import org.zstack.header.storage.backup.ReturnBackupStorageMsg; -import org.zstack.header.storage.primary.*; -import org.zstack.header.storage.snapshot.*; +import org.zstack.header.storage.primary.AllocatePrimaryStorageSpaceMsg; +import org.zstack.header.storage.primary.AllocatePrimaryStorageSpaceReply; +import org.zstack.header.storage.primary.CommitVolumeSnapshotOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.CommitVolumeSnapshotOnPrimaryStorageReply; +import org.zstack.header.storage.primary.CreateImageCacheFromVolumeSnapshotOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.CreateImageCacheFromVolumeSnapshotOnPrimaryStorageReply; +import org.zstack.header.storage.primary.CreateVolumeFromVolumeSnapshotOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.CreateVolumeFromVolumeSnapshotOnPrimaryStorageReply; +import org.zstack.header.storage.primary.DecreasePrimaryStorageCapacityMsg; +import org.zstack.header.storage.primary.DeleteVolumeBitsOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.GetVolumeBackingChainFromPrimaryStorageMsg; +import org.zstack.header.storage.primary.GetVolumeBackingChainFromPrimaryStorageReply; +import org.zstack.header.storage.primary.ImageCacheVO; +import org.zstack.header.storage.primary.IncreasePrimaryStorageCapacityMsg; +import org.zstack.header.storage.primary.MergeVolumeSnapshotOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.PrimaryStorageConstant; +import org.zstack.header.storage.primary.PrimaryStorageOverProvisioningManager; +import org.zstack.header.storage.primary.PrimaryStorageVO; +import org.zstack.header.storage.primary.PrimaryStorageVO_; +import org.zstack.header.storage.primary.PullVolumeSnapshotOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.PullVolumeSnapshotOnPrimaryStorageReply; +import org.zstack.header.storage.primary.ReleasePrimaryStorageSpaceMsg; +import org.zstack.header.storage.primary.RevertVolumeFromSnapshotOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.RevertVolumeFromSnapshotOnPrimaryStorageReply; +import org.zstack.header.storage.primary.SyncVolumeSizeOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.SyncVolumeSizeOnPrimaryStorageReply; +import org.zstack.header.storage.snapshot.APIBackupVolumeSnapshotEvent; +import org.zstack.header.storage.snapshot.APIBackupVolumeSnapshotMsg; +import org.zstack.header.storage.snapshot.APIDeleteVolumeSnapshotEvent; +import org.zstack.header.storage.snapshot.APIDeleteVolumeSnapshotFromBackupStorageEvent; +import org.zstack.header.storage.snapshot.APIDeleteVolumeSnapshotFromBackupStorageMsg; +import org.zstack.header.storage.snapshot.APIDeleteVolumeSnapshotMsg; +import org.zstack.header.storage.snapshot.APIGetVolumeSnapshotSizeEvent; +import org.zstack.header.storage.snapshot.APIGetVolumeSnapshotSizeMsg; +import org.zstack.header.storage.snapshot.APIRevertVolumeFromSnapshotEvent; +import org.zstack.header.storage.snapshot.APIRevertVolumeFromSnapshotMsg; +import org.zstack.header.storage.snapshot.APIShrinkVolumeSnapshotEvent; +import org.zstack.header.storage.snapshot.APIShrinkVolumeSnapshotMsg; +import org.zstack.header.storage.snapshot.APIUpdateVolumeSnapshotEvent; +import org.zstack.header.storage.snapshot.APIUpdateVolumeSnapshotMsg; +import org.zstack.header.storage.snapshot.AfterUpdateVolumeSnapshotExtensionPoint; +import org.zstack.header.storage.snapshot.BackupVolumeSnapshotMsg; +import org.zstack.header.storage.snapshot.CancelDeleteVolumeSnapshotMsg; +import org.zstack.header.storage.snapshot.CancelDeleteVolumeSnapshotReply; +import org.zstack.header.storage.snapshot.ChangeVolumeSnapshotStatusMsg; +import org.zstack.header.storage.snapshot.CreateImageCacheFromVolumeSnapshotMsg; +import org.zstack.header.storage.snapshot.CreateImageCacheFromVolumeSnapshotReply; +import org.zstack.header.storage.snapshot.CreateTemplateFromVolumeSnapshotExtensionPoint; +import org.zstack.header.storage.snapshot.CreateTemplateFromVolumeSnapshotMsg; +import org.zstack.header.storage.snapshot.CreateTemplateFromVolumeSnapshotReply; +import org.zstack.header.storage.snapshot.CreateVolumeSnapshotMsg; +import org.zstack.header.storage.snapshot.CreateVolumeSnapshotReply; +import org.zstack.header.storage.snapshot.DeleteVolumeSnapshotDirection; +import org.zstack.header.storage.snapshot.DeleteVolumeSnapshotMessage; +import org.zstack.header.storage.snapshot.DeleteVolumeSnapshotMsg; +import org.zstack.header.storage.snapshot.DeleteVolumeSnapshotReply; +import org.zstack.header.storage.snapshot.DeleteVolumeSnapshotScope; +import org.zstack.header.storage.snapshot.GetVolumeSnapshotSizeOnPrimaryStorageMsg; +import org.zstack.header.storage.snapshot.GetVolumeSnapshotSizeOnPrimaryStorageReply; +import org.zstack.header.storage.snapshot.InstantiateDataVolumeFromVolumeSnapshotMsg; +import org.zstack.header.storage.snapshot.InstantiateDataVolumeFromVolumeSnapshotReply; +import org.zstack.header.storage.snapshot.RevertVolumeSnapshotMessage; +import org.zstack.header.storage.snapshot.RevertVolumeSnapshotMsg; +import org.zstack.header.storage.snapshot.RevertVolumeSnapshotReply; +import org.zstack.header.storage.snapshot.ShrinkResult; +import org.zstack.header.storage.snapshot.ShrinkVolumeSnapshotOnPrimaryStorageMsg; +import org.zstack.header.storage.snapshot.ShrinkVolumeSnapshotOnPrimaryStorageReply; +import org.zstack.header.storage.snapshot.VolumeSnapshotBackupStorageDeletionMsg; +import org.zstack.header.storage.snapshot.VolumeSnapshotBackupStorageRefInventory; +import org.zstack.header.storage.snapshot.VolumeSnapshotBackupStorageRefVO; +import org.zstack.header.storage.snapshot.VolumeSnapshotConstant; +import org.zstack.header.storage.snapshot.VolumeSnapshotDeletionMsg; +import org.zstack.header.storage.snapshot.VolumeSnapshotDeletionProtector; +import org.zstack.header.storage.snapshot.VolumeSnapshotDeletionReply; +import org.zstack.header.storage.snapshot.VolumeSnapshotDeletionStructs; +import org.zstack.header.storage.snapshot.VolumeSnapshotInventory; +import org.zstack.header.storage.snapshot.VolumeSnapshotPrimaryStorageDeletionMsg; +import org.zstack.header.storage.snapshot.VolumeSnapshotRevertOverlayVolumeMsg; +import org.zstack.header.storage.snapshot.VolumeSnapshotStatus; +import org.zstack.header.storage.snapshot.VolumeSnapshotTree; +import org.zstack.header.storage.snapshot.VolumeSnapshotTreeVO; +import org.zstack.header.storage.snapshot.VolumeSnapshotTreeVO_; +import org.zstack.header.storage.snapshot.VolumeSnapshotVO; +import org.zstack.header.storage.snapshot.VolumeSnapshotVO_; import org.zstack.header.storage.snapshot.CreateTemplateFromVolumeSnapshotExtensionPoint.ParamIn; import org.zstack.header.storage.snapshot.CreateTemplateFromVolumeSnapshotExtensionPoint.ParamOut; import org.zstack.header.storage.snapshot.CreateTemplateFromVolumeSnapshotExtensionPoint.WorkflowTemplate; import org.zstack.header.storage.snapshot.VolumeSnapshotStatus.StatusEvent; import org.zstack.header.storage.snapshot.VolumeSnapshotTree.SnapshotLeaf; -import org.zstack.header.storage.snapshot.group.*; +import org.zstack.header.storage.snapshot.group.APIRevertVmFromSnapshotGroupMsg; +import org.zstack.header.storage.snapshot.group.RevertVolumeFromSnapshotGroupMsg; +import org.zstack.header.storage.snapshot.group.RevertVolumeFromSnapshotGroupReply; +import org.zstack.header.storage.snapshot.group.VolumeSnapshotGroupRefVO; +import org.zstack.header.storage.snapshot.group.VolumeSnapshotGroupRefVO_; +import org.zstack.header.storage.snapshot.group.VolumeSnapshotGroupVO; import org.zstack.header.storage.snapshot.reference.VolumeSnapshotReferenceVO; import org.zstack.header.vm.VmInstanceState; import org.zstack.header.vm.VmInstanceVO; import org.zstack.header.vm.VmInstanceVO_; import org.zstack.header.vm.devices.VmInstanceDeviceManager; -import org.zstack.header.volume.*; +import org.zstack.header.volume.SyncVolumeSizeMsg; +import org.zstack.header.volume.VolumeConstant; +import org.zstack.header.volume.VolumeFormat; +import org.zstack.header.volume.VolumeInventory; +import org.zstack.header.volume.VolumeType; +import org.zstack.header.volume.VolumeVO; +import org.zstack.header.volume.VolumeVO_; import org.zstack.longjob.LongJobUtils; import org.zstack.storage.primary.PrimaryStorageCapacityUpdater; import org.zstack.storage.primary.PrimaryStorageGlobalProperty; @@ -66,7 +186,14 @@ import org.zstack.utils.message.OperationChecker; import javax.persistence.Query; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; import java.util.stream.Collectors; import static org.zstack.core.Platform.err; @@ -246,6 +373,7 @@ public String getName() { private void doCancelDeleteVolumeSnapshot(CancelDeleteVolumeSnapshotMsg cmsg, Completion completion) { FlowChain chain = FlowChainBuilder.newSimpleFlowChain(); chain.setName("cancel-delete-volume-snapshot"); + // DEBT: NoRollbackFlow — in doCancelDeleteVolumeSnapshot chain.then(new NoRollbackFlow() { @Override public void run(FlowTrigger trigger, Map data) { @@ -384,6 +512,7 @@ private void deletion(final VolumeSnapshotDeletionMsg msg, final NoErrorCompleti @Override public void setup() { + // DEBT: NoRollbackFlow — in deletion flow(new NoRollbackFlow() { String __name__ = "check-snapshot-reference"; @@ -403,6 +532,7 @@ public void run(FlowTrigger trigger, Map data) { trigger.fail(operr(ORG_ZSTACK_STORAGE_SNAPSHOT_10002, "snapshot or its desendant has reference volume[uuids:%s]", refVolUuids)); } }); + // DEBT: NoRollbackFlow — reason TBD flow(new NoRollbackFlow() { String __name__ = "run snapshot protector"; @@ -647,6 +777,7 @@ public void rollback(FlowRollback trigger, Map data) { trigger.rollback(); } }); + // DEBT: NoRollbackFlow — in rollback flow(new NoRollbackFlow() { String __name__ = "merge-volume-snapshots-to-volume"; @@ -680,6 +811,7 @@ public void run(MessageReply reply) { }); } + // DEBT: NoRollbackFlow — in rollback flow(new NoRollbackFlow() { String __name__ = "delete-volume-snapshots-from-backup-storage"; @@ -709,6 +841,7 @@ public void run(List replies) { }); } + // DEBT: NoRollbackFlow — reason TBD flow(new NoRollbackFlow() { String __name__ = "delete-volume-snapshots-from-primary-storage"; @@ -766,6 +899,7 @@ public void run(List replies) { } private void deleteSingleFlows() { + // DEBT: NoRollbackFlow — in deleteSingleFlows flow(new NoRollbackFlow() { VmInstanceState vmState; String srcSnapshotParentPath; @@ -876,6 +1010,7 @@ private void commit(VolumeTree.VolumeSnapshotLeaf child, VolumeTree volumeTree, @Override public void setup() { if (Objects.equals(srcSnapshotInv.getUuid(), volume.getUuid())) { + // DEBT: NoRollbackFlow — in commit flow(new NoRollbackFlow() { String __name__ = String.format("get-volume-%s-current-size", volume.getUuid()); @@ -948,6 +1083,7 @@ public void rollback(FlowRollback trigger, Map data) { } }); + // DEBT: NoRollbackFlow — in rollback flow(new NoRollbackFlow() { String __name__ = "commit-volume-snapshot-on-primary-storage"; @@ -1057,6 +1193,7 @@ public void setup() { .select(VmInstanceVO_.hostUuid).findValue(); } + // DEBT: NoRollbackFlow — in pull flow(new NoRollbackFlow() { String __name__ = "get-snapshot-backing-chain"; @@ -1136,6 +1273,7 @@ public void rollback(FlowRollback trigger, Map data) { }); if (Objects.equals(dstSnapshotInv.getUuid(), volume.getUuid())) { + // DEBT: NoRollbackFlow — in rollback flow(new NoRollbackFlow() { String __name__ = String.format("get-volume-%s-current-size", volume.getUuid()); @@ -1164,6 +1302,7 @@ public void run(MessageReply reply) { }); } + // DEBT: NoRollbackFlow — in rollback flow(new NoRollbackFlow() { String __name__ = "pull-volume-snapshot-on-primary-storage"; @@ -1255,6 +1394,7 @@ private void deleteVolumeSnapshotAndSyncVolumeSize(Completion completion) { chain.then(new ShareFlow() { @Override public void setup() { + // DEBT: NoRollbackFlow — in deleteVolumeSnapshotAndSyncVolumeSize flow(new NoRollbackFlow() { String __name__ = String.format("delete-snapshot-%s-on-primary-storage", currentRoot.getUuid()); @@ -1283,6 +1423,7 @@ public void done() { } }); + // DEBT: NoRollbackFlow — in deleteVolumeSnapshotAndSyncVolumeSize flow(new NoRollbackFlow() { String __name__ = String.format("sync-volume-%s-size", volume.getUuid()); @@ -1739,6 +1880,7 @@ public void rollback(FlowRollback trigger, Map data) { }); chain.then(workflowTemplate.getUploadToBackupStorage()); chain.then(workflowTemplate.getDeleteTemporaryTemplate()); + // DEBT: NoRollbackFlow — in rollback chain.then(new NoRollbackFlow() { @Override public void run(FlowTrigger trigger, Map data) { @@ -1889,6 +2031,7 @@ public void rollback(final FlowRollback trigger, Map data) { } }); + // DEBT: NoRollbackFlow — in rollback flow(new NoRollbackFlow() { String __name__ = "call-pre-update-volume-snapshot-extensions"; @@ -2195,6 +2338,7 @@ private void deleteOnBackupStorage(final APIDeleteVolumeSnapshotFromBackupStorag chain.then(new ShareFlow() { @Override public void setup() { + // DEBT: NoRollbackFlow — in deleteOnBackupStorage flow(new NoRollbackFlow() { String __name__ = "delete-volume-snapshot-from-backup-storage"; @@ -2536,6 +2680,7 @@ private void revert(final RevertVolumeSnapshotMessage msg, final Completion comp @Override public void setup() { + // DEBT: NoRollbackFlow — in revert flow(new NoRollbackFlow() { String __name__ = "pre-check"; @@ -2561,6 +2706,7 @@ public void run(FlowTrigger trigger, Map data) { } }); + // DEBT: NoRollbackFlow — in revert flow(new NoRollbackFlow() { String __name__ = "create-snapshot-for-current-volume-first"; @Override @@ -2597,6 +2743,7 @@ public void run(MessageReply r) { if (msg instanceof RevertVolumeFromSnapshotGroupMsg) { // TODO refactor this logic to group snapshot creator + // DEBT: NoRollbackFlow — reason TBD flow(new NoRollbackFlow() { String __name__ = "add-snapshot-to-group"; String newGroupUuid = ((RevertVolumeFromSnapshotGroupMsg) msg).getNewSnapshotGroupUuid(); @@ -2624,6 +2771,7 @@ public void run(FlowTrigger trigger, Map data) { }); } + // DEBT: NoRollbackFlow — reason TBD flow(new NoRollbackFlow() { String __name__ = "revert-volume-before-check-snap-integrity"; @@ -2648,6 +2796,7 @@ public void fail(ErrorCode errorCode) { } }); + // DEBT: NoRollbackFlow — reason TBD flow(new NoRollbackFlow() { String __name__ = "revert-volume-from-volume-snapshot-on-primary-storage"; @@ -2676,6 +2825,7 @@ public void run(MessageReply reply) { } }); + // DEBT: NoRollbackFlow — reason TBD flow(new NoRollbackFlow() { String __name__ = "get-volume-old-install-path-size"; @@ -2836,6 +2986,7 @@ private void deleteVolumeSnapshot(final DeleteVolumeSnapshotMessage msg, Complet reportProgress("20"); if (msg.getDeletionMode() == APIDeleteMessage.DeletionMode.Permissive) { + // DEBT: NoRollbackFlow — in deleteVolumeSnapshot chain.then(new NoRollbackFlow() { @Override public void run(final FlowTrigger trigger, Map data) { @@ -2851,6 +3002,7 @@ public void fail(ErrorCode errorCode) { } }); } + // DEBT: NoRollbackFlow — in deleteVolumeSnapshot }).then(new NoRollbackFlow() { @Override public void run(final FlowTrigger trigger, Map data) { @@ -2868,6 +3020,7 @@ public void fail(ErrorCode errorCode) { } }); } else { + // DEBT: NoRollbackFlow — in deleteVolumeSnapshot chain.then(new NoRollbackFlow() { @Override public void run(final FlowTrigger trigger, Map data) { diff --git a/storage/src/main/java/org/zstack/storage/snapshot/VolumeTree.java b/storage/src/main/java/org/zstack/storage/snapshot/VolumeTree.java index 8aa9c70d66f..a56929acd05 100644 --- a/storage/src/main/java/org/zstack/storage/snapshot/VolumeTree.java +++ b/storage/src/main/java/org/zstack/storage/snapshot/VolumeTree.java @@ -7,7 +7,15 @@ import org.zstack.core.db.DatabaseFacade; import org.zstack.core.db.Q; import org.zstack.core.db.SQLBatch; -import org.zstack.header.storage.snapshot.*; +import org.zstack.header.storage.snapshot.DeleteVolumeSnapshotDirection; +import org.zstack.header.storage.snapshot.VolumeSnapshotInventory; +import org.zstack.header.storage.snapshot.VolumeSnapshotState; +import org.zstack.header.storage.snapshot.VolumeSnapshotStatus; +import org.zstack.header.storage.snapshot.VolumeSnapshotTreeStatus; +import org.zstack.header.storage.snapshot.VolumeSnapshotTreeVO; +import org.zstack.header.storage.snapshot.VolumeSnapshotTreeVO_; +import org.zstack.header.storage.snapshot.VolumeSnapshotVO; +import org.zstack.header.storage.snapshot.VolumeSnapshotVO_; import org.zstack.header.storage.snapshot.group.VolumeSnapshotGroupRefVO; import org.zstack.header.storage.snapshot.group.VolumeSnapshotGroupRefVO_; import org.zstack.header.storage.snapshot.reference.VolumeSnapshotReferenceVO; @@ -19,7 +27,12 @@ import org.zstack.utils.function.Function; import org.zstack.utils.logging.CLogger; -import java.util.*; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Set; import java.util.function.Consumer; import java.util.stream.Collectors; diff --git a/storage/src/main/java/org/zstack/storage/snapshot/group/VolumeSnapshotGroupBase.java b/storage/src/main/java/org/zstack/storage/snapshot/group/VolumeSnapshotGroupBase.java index 6208b3f9bf4..40e95c67c86 100644 --- a/storage/src/main/java/org/zstack/storage/snapshot/group/VolumeSnapshotGroupBase.java +++ b/storage/src/main/java/org/zstack/storage/snapshot/group/VolumeSnapshotGroupBase.java @@ -19,7 +19,11 @@ import org.zstack.header.core.Completion; import org.zstack.header.core.NoErrorCompletion; import org.zstack.header.core.WhileDoneCompletion; -import org.zstack.header.core.workflow.*; +import org.zstack.header.core.workflow.FlowChain; +import org.zstack.header.core.workflow.FlowDoneHandler; +import org.zstack.header.core.workflow.FlowErrorHandler; +import org.zstack.header.core.workflow.FlowTrigger; +import org.zstack.header.core.workflow.NoRollbackFlow; import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.errorcode.ErrorCodeList; import org.zstack.header.message.APIMessage; @@ -29,7 +33,27 @@ import org.zstack.header.storage.snapshot.DeleteVolumeSnapshotMsg; import org.zstack.header.storage.snapshot.VolumeSnapshotConstant; import org.zstack.header.storage.snapshot.VolumeSnapshotVO; -import org.zstack.header.storage.snapshot.group.*; +import org.zstack.header.storage.snapshot.group.APIDeleteVolumeSnapshotGroupEvent; +import org.zstack.header.storage.snapshot.group.APIDeleteVolumeSnapshotGroupMsg; +import org.zstack.header.storage.snapshot.group.APIRevertVmFromSnapshotGroupEvent; +import org.zstack.header.storage.snapshot.group.APIRevertVmFromSnapshotGroupMsg; +import org.zstack.header.storage.snapshot.group.APIUngroupVolumeSnapshotGroupEvent; +import org.zstack.header.storage.snapshot.group.APIUngroupVolumeSnapshotGroupMsg; +import org.zstack.header.storage.snapshot.group.APIUpdateVolumeSnapshotGroupEvent; +import org.zstack.header.storage.snapshot.group.APIUpdateVolumeSnapshotGroupMsg; +import org.zstack.header.storage.snapshot.group.DeleteSnapshotGroupResult; +import org.zstack.header.storage.snapshot.group.DeleteVolumeSnapshotGroupInnerMsg; +import org.zstack.header.storage.snapshot.group.DeleteVolumeSnapshotGroupInnerReply; +import org.zstack.header.storage.snapshot.group.RevertSnapshotGroupResult; +import org.zstack.header.storage.snapshot.group.RevertVmFromSnapshotGroupInnerMsg; +import org.zstack.header.storage.snapshot.group.RevertVmFromSnapshotGroupInnerReply; +import org.zstack.header.storage.snapshot.group.RevertVolumeFromSnapshotGroupMsg; +import org.zstack.header.storage.snapshot.group.VolumeSnapshotGroupAvailability; +import org.zstack.header.storage.snapshot.group.VolumeSnapshotGroupInventory; +import org.zstack.header.storage.snapshot.group.VolumeSnapshotGroupMessage; +import org.zstack.header.storage.snapshot.group.VolumeSnapshotGroupOverlayMsg; +import org.zstack.header.storage.snapshot.group.VolumeSnapshotGroupRefVO; +import org.zstack.header.storage.snapshot.group.VolumeSnapshotGroupVO; import org.zstack.header.vm.RestoreVmInstanceMsg; import org.zstack.header.vm.VmInstanceConstant; import org.zstack.header.vm.devices.VmInstanceDeviceAddressArchiveVO; @@ -43,7 +67,11 @@ import org.zstack.utils.gson.JSONObjectUtil; import org.zstack.utils.logging.CLogger; -import java.util.*; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import java.util.Set; import java.util.stream.Collectors; import static org.zstack.core.Platform.operr; @@ -276,6 +304,7 @@ private void handleRevert(APIRevertVmFromSnapshotGroupMsg msg, NoErrorCompletion .filter(RevertVmFromSnapShotGroupExtension::needRunExtension) .forEach(v -> chain.then(v.getBeforeRevertFlow())); + // DEBT: NoRollbackFlow — in handleRevert chain.then(new NoRollbackFlow() { String __name__ = "revert-volume-snapshots"; @@ -301,6 +330,7 @@ public void run(MessageReply reply) { } }); } + // DEBT: NoRollbackFlow — in handleRevert }).then(new NoRollbackFlow() { @Override public void run(FlowTrigger trigger, Map data) { diff --git a/storage/src/main/java/org/zstack/storage/snapshot/group/VolumeSnapshotGroupChecker.java b/storage/src/main/java/org/zstack/storage/snapshot/group/VolumeSnapshotGroupChecker.java index 9749984de47..cb9d101b02a 100644 --- a/storage/src/main/java/org/zstack/storage/snapshot/group/VolumeSnapshotGroupChecker.java +++ b/storage/src/main/java/org/zstack/storage/snapshot/group/VolumeSnapshotGroupChecker.java @@ -12,7 +12,12 @@ import org.zstack.header.volume.VolumeVO_; import javax.persistence.Tuple; -import java.util.*; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; import java.util.stream.Collectors; import static org.zstack.core.Platform.i18n; diff --git a/storage/src/main/java/org/zstack/storage/snapshot/reference/VolumeSnapshotReferenceTreeBase.java b/storage/src/main/java/org/zstack/storage/snapshot/reference/VolumeSnapshotReferenceTreeBase.java index cb1bb6a657e..09505ea0f98 100644 --- a/storage/src/main/java/org/zstack/storage/snapshot/reference/VolumeSnapshotReferenceTreeBase.java +++ b/storage/src/main/java/org/zstack/storage/snapshot/reference/VolumeSnapshotReferenceTreeBase.java @@ -13,7 +13,13 @@ import org.zstack.core.trash.StorageTrash; import org.zstack.core.workflow.FlowChainBuilder; import org.zstack.header.core.Completion; -import org.zstack.header.core.workflow.*; +import org.zstack.header.core.workflow.Flow; +import org.zstack.header.core.workflow.FlowChain; +import org.zstack.header.core.workflow.FlowDoneHandler; +import org.zstack.header.core.workflow.FlowErrorHandler; +import org.zstack.header.core.workflow.FlowRollback; +import org.zstack.header.core.workflow.FlowTrigger; +import org.zstack.header.core.workflow.NoRollbackFlow; import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.message.Message; import org.zstack.header.message.MessageReply; @@ -30,7 +36,12 @@ import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; -import java.util.*; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Set; import java.util.stream.Collectors; @@ -168,6 +179,7 @@ public void run(MessageReply reply) { public void rollback(FlowRollback trigger, Map data) { trigger.rollback(); } + // DEBT: NoRollbackFlow — in rollback }).then(new NoRollbackFlow() { String __name__ = "ensure-leafs-are-not-in-use"; @@ -196,6 +208,7 @@ public void run(FlowTrigger trigger, Map data) { logger.debug("delete snapshot reference leafs: " + toDeletePaths); trigger.next(); } + // DEBT: NoRollbackFlow — in rollback }).then(new NoRollbackFlow() { String __name__ = "delete-leafs-on-primary-storage"; @Override diff --git a/storage/src/main/java/org/zstack/storage/snapshot/reference/VolumeSnapshotReferenceUtils.java b/storage/src/main/java/org/zstack/storage/snapshot/reference/VolumeSnapshotReferenceUtils.java index 39293324faa..73d97f6e73f 100644 --- a/storage/src/main/java/org/zstack/storage/snapshot/reference/VolumeSnapshotReferenceUtils.java +++ b/storage/src/main/java/org/zstack/storage/snapshot/reference/VolumeSnapshotReferenceUtils.java @@ -5,7 +5,11 @@ import org.springframework.transaction.support.TransactionSynchronizationManager; import org.zstack.core.Platform; import org.zstack.core.cloudbus.CloudBus; -import org.zstack.core.db.*; +import org.zstack.core.db.DatabaseFacade; +import org.zstack.core.db.Q; +import org.zstack.core.db.SQL; +import org.zstack.core.db.SQLBatch; +import org.zstack.core.db.SQLBatchWithReturn; import org.zstack.header.errorcode.OperationFailureException; import org.zstack.header.exception.CloudRuntimeException; import org.zstack.header.image.ImageConstant; @@ -14,8 +18,20 @@ import org.zstack.header.storage.primary.ImageCacheVO_; import org.zstack.header.storage.primary.ImageCacheVolumeRefVO; import org.zstack.header.storage.primary.ImageCacheVolumeRefVO_; -import org.zstack.header.storage.snapshot.*; -import org.zstack.header.storage.snapshot.reference.*; +import org.zstack.header.storage.snapshot.VolumeSnapshotConstant; +import org.zstack.header.storage.snapshot.VolumeSnapshotInventory; +import org.zstack.header.storage.snapshot.VolumeSnapshotState; +import org.zstack.header.storage.snapshot.VolumeSnapshotTree; +import org.zstack.header.storage.snapshot.VolumeSnapshotTreeVO; +import org.zstack.header.storage.snapshot.VolumeSnapshotTreeVO_; +import org.zstack.header.storage.snapshot.VolumeSnapshotVO; +import org.zstack.header.storage.snapshot.VolumeSnapshotVO_; +import org.zstack.header.storage.snapshot.reference.DeleteVolumeSnapshotReferenceLeafMsg; +import org.zstack.header.storage.snapshot.reference.VolumeSnapshotReferenceInventory; +import org.zstack.header.storage.snapshot.reference.VolumeSnapshotReferenceTreeVO; +import org.zstack.header.storage.snapshot.reference.VolumeSnapshotReferenceTreeVO_; +import org.zstack.header.storage.snapshot.reference.VolumeSnapshotReferenceVO; +import org.zstack.header.storage.snapshot.reference.VolumeSnapshotReferenceVO_; import org.zstack.header.volume.VolumeInventory; import org.zstack.header.volume.VolumeVO; import org.zstack.header.volume.VolumeVO_; @@ -26,7 +42,11 @@ import javax.persistence.LockModeType; import javax.persistence.Tuple; -import java.util.*; +import java.util.Collections; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; import java.util.stream.Collectors; import static org.zstack.core.Platform.operr; diff --git a/storage/src/main/java/org/zstack/storage/volume/AbstractVolume.java b/storage/src/main/java/org/zstack/storage/volume/AbstractVolume.java index 3528ba8f62a..66ff0936652 100644 --- a/storage/src/main/java/org/zstack/storage/volume/AbstractVolume.java +++ b/storage/src/main/java/org/zstack/storage/volume/AbstractVolume.java @@ -10,9 +10,23 @@ import org.zstack.header.image.APICreateRootVolumeTemplateFromRootVolumeMsg; import org.zstack.header.message.Message; import org.zstack.header.storage.backup.VolumeBackupOverlayMsg; -import org.zstack.header.storage.snapshot.*; -import org.zstack.header.vm.*; -import org.zstack.header.volume.*; +import org.zstack.header.storage.snapshot.APIBatchDeleteVolumeSnapshotMsg; +import org.zstack.header.storage.snapshot.APIDeleteVolumeSnapshotMsg; +import org.zstack.header.storage.snapshot.CreateVolumesSnapshotOverlayVolumeMsg; +import org.zstack.header.storage.snapshot.VolumeSnapshotDeletionMsg; +import org.zstack.header.storage.snapshot.VolumeSnapshotDeletionOverlayVolumeMsg; +import org.zstack.header.storage.snapshot.VolumeSnapshotOverlayMsg; +import org.zstack.header.storage.snapshot.VolumeTemplateOverlayMsg; +import org.zstack.header.vm.ReimageVolumeOverlayMsg; +import org.zstack.header.vm.VmErrors; +import org.zstack.header.volume.APICreateVolumeSnapshotMsg; +import org.zstack.header.volume.APIDeleteDataVolumeMsg; +import org.zstack.header.volume.ChangeVolumeStatusMsg; +import org.zstack.header.volume.CreateVolumeSnapshotGroupMsg; +import org.zstack.header.volume.DeleteVolumeMsg; +import org.zstack.header.volume.VolumeCreateSnapshotMsg; +import org.zstack.header.volume.VolumeDeletionMsg; +import org.zstack.header.volume.VolumeStatus; import org.zstack.utils.message.OperationChecker; import java.util.Set; diff --git a/storage/src/main/java/org/zstack/storage/volume/DownloadIsoForVmExtension.java b/storage/src/main/java/org/zstack/storage/volume/DownloadIsoForVmExtension.java index 7a747fc5093..26e4a8a778a 100755 --- a/storage/src/main/java/org/zstack/storage/volume/DownloadIsoForVmExtension.java +++ b/storage/src/main/java/org/zstack/storage/volume/DownloadIsoForVmExtension.java @@ -17,7 +17,11 @@ import org.zstack.header.image.ImageStatus; import org.zstack.header.image.ImageVO; import org.zstack.header.message.MessageReply; -import org.zstack.header.storage.primary.*; +import org.zstack.header.storage.primary.DeleteIsoFromPrimaryStorageMsg; +import org.zstack.header.storage.primary.DownloadIsoToPrimaryStorageMsg; +import org.zstack.header.storage.primary.DownloadIsoToPrimaryStorageReply; +import org.zstack.header.storage.primary.PrimaryStorageConstant; +import org.zstack.header.storage.primary.PrimaryStorageInventory; import org.zstack.header.vm.PreVmInstantiateResourceExtensionPoint; import org.zstack.header.vm.VmInstanceConstant.VmOperation; import org.zstack.header.vm.VmInstanceSpec; diff --git a/storage/src/main/java/org/zstack/storage/volume/FlattenVolumeLongJob.java b/storage/src/main/java/org/zstack/storage/volume/FlattenVolumeLongJob.java index 8b40a9cbbcf..c0ee3b126b4 100644 --- a/storage/src/main/java/org/zstack/storage/volume/FlattenVolumeLongJob.java +++ b/storage/src/main/java/org/zstack/storage/volume/FlattenVolumeLongJob.java @@ -11,7 +11,13 @@ import org.zstack.header.longjob.LongJobVO; import org.zstack.header.message.APIEvent; import org.zstack.header.message.MessageReply; -import org.zstack.header.volume.*; +import org.zstack.header.volume.APIFlattenVolumeEvent; +import org.zstack.header.volume.APIFlattenVolumeMsg; +import org.zstack.header.volume.CancelFlattenVolumeMsg; +import org.zstack.header.volume.FlattenVolumeMsg; +import org.zstack.header.volume.FlattenVolumeReply; +import org.zstack.header.volume.VolumeConstant; +import org.zstack.header.volume.VolumeVO; import org.zstack.utils.gson.JSONObjectUtil; @LongJobFor(APIFlattenVolumeMsg.class) diff --git a/storage/src/main/java/org/zstack/storage/volume/InstantiateVolumeForNewCreatedVmExtension.java b/storage/src/main/java/org/zstack/storage/volume/InstantiateVolumeForNewCreatedVmExtension.java index 3ce7545a793..9a41bcbf53f 100755 --- a/storage/src/main/java/org/zstack/storage/volume/InstantiateVolumeForNewCreatedVmExtension.java +++ b/storage/src/main/java/org/zstack/storage/volume/InstantiateVolumeForNewCreatedVmExtension.java @@ -21,9 +21,23 @@ import org.zstack.header.message.NeedReplyMessage; import org.zstack.header.storage.primary.InstantiateRootVolumeForRecoveryMsg; import org.zstack.header.storage.primary.InstantiateRootVolumeForRecoveryReply; -import org.zstack.header.vm.*; +import org.zstack.header.vm.BeforeGetNextVolumeDeviceIdExtensionPoint; +import org.zstack.header.vm.PreVmInstantiateResourceExtensionPoint; +import org.zstack.header.vm.VmAttachVolumeExtensionPoint; +import org.zstack.header.vm.VmInstanceConstant; +import org.zstack.header.vm.VmInstanceSpec; +import org.zstack.header.vm.VmInstantiateResourceException; import org.zstack.header.vm.VmInstanceSpec.ImageSpec; -import org.zstack.header.volume.*; +import org.zstack.header.volume.CreateDataVolumeFromVolumeTemplateMsg; +import org.zstack.header.volume.CreateDataVolumeFromVolumeTemplateReply; +import org.zstack.header.volume.InstantiateRootVolumeMsg; +import org.zstack.header.volume.InstantiateVolumeMsg; +import org.zstack.header.volume.InstantiateVolumeReply; +import org.zstack.header.volume.VolumeConstant; +import org.zstack.header.volume.VolumeInventory; +import org.zstack.header.volume.VolumeType; +import org.zstack.header.volume.VolumeVO; +import org.zstack.header.volume.VolumeVO_; import org.zstack.identity.AccountManager; import org.zstack.utils.CollectionUtils; import org.zstack.utils.Utils; @@ -33,7 +47,13 @@ import javax.persistence.Tuple; import java.net.URI; import java.net.URISyntaxException; -import java.util.*; +import java.util.ArrayList; +import java.util.BitSet; +import java.util.Collections; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Optional; import java.util.stream.Collectors; public class InstantiateVolumeForNewCreatedVmExtension implements PreVmInstantiateResourceExtensionPoint { diff --git a/storage/src/main/java/org/zstack/storage/volume/InstantiateVolumeForVmChangeImageExtension.java b/storage/src/main/java/org/zstack/storage/volume/InstantiateVolumeForVmChangeImageExtension.java index 29a1c198117..a67575a19c3 100644 --- a/storage/src/main/java/org/zstack/storage/volume/InstantiateVolumeForVmChangeImageExtension.java +++ b/storage/src/main/java/org/zstack/storage/volume/InstantiateVolumeForVmChangeImageExtension.java @@ -9,7 +9,10 @@ import org.zstack.header.message.NeedReplyMessage; import org.zstack.header.vm.ChangeVmImageExtensionPoint; import org.zstack.header.vm.VmInstanceSpec; -import org.zstack.header.volume.*; +import org.zstack.header.volume.InstantiateRootVolumeMsg; +import org.zstack.header.volume.InstantiateTemporaryRootVolumeMsg; +import org.zstack.header.volume.InstantiateVolumeMsg; +import org.zstack.header.volume.VolumeConstant; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; diff --git a/storage/src/main/java/org/zstack/storage/volume/VolumeBase.java b/storage/src/main/java/org/zstack/storage/volume/VolumeBase.java index d75fb654a3e..3ba3884a4f4 100755 --- a/storage/src/main/java/org/zstack/storage/volume/VolumeBase.java +++ b/storage/src/main/java/org/zstack/storage/volume/VolumeBase.java @@ -12,7 +12,11 @@ import org.zstack.core.cloudbus.CloudBusCallBack; import org.zstack.core.cloudbus.CloudBusListCallBack; import org.zstack.core.componentloader.PluginRegistry; -import org.zstack.core.db.*; +import org.zstack.core.db.DatabaseFacade; +import org.zstack.core.db.Q; +import org.zstack.core.db.SQL; +import org.zstack.core.db.SQLBatch; +import org.zstack.core.db.SimpleQuery; import org.zstack.core.db.SimpleQuery.Op; import org.zstack.core.defer.Defer; import org.zstack.core.defer.Deferred; @@ -22,25 +26,225 @@ import org.zstack.core.workflow.FlowChainBuilder; import org.zstack.core.workflow.ShareFlow; import org.zstack.core.workflow.SimpleFlowChain; -import org.zstack.header.core.*; -import org.zstack.header.core.workflow.*; +import org.zstack.header.core.Completion; +import org.zstack.header.core.ExceptionSafe; +import org.zstack.header.core.NoErrorCompletion; +import org.zstack.header.core.NopeCompletion; +import org.zstack.header.core.ReturnValueCompletion; +import org.zstack.header.core.WhileDoneCompletion; +import org.zstack.header.core.workflow.Flow; +import org.zstack.header.core.workflow.FlowChain; +import org.zstack.header.core.workflow.FlowDoneHandler; +import org.zstack.header.core.workflow.FlowErrorHandler; +import org.zstack.header.core.workflow.FlowFinallyHandler; +import org.zstack.header.core.workflow.FlowRollback; +import org.zstack.header.core.workflow.FlowTrigger; +import org.zstack.header.core.workflow.NoRollbackFlow; import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.errorcode.ErrorCodeList; import org.zstack.header.errorcode.OperationFailureException; import org.zstack.header.errorcode.SysErrors; import org.zstack.header.exception.CloudRuntimeException; -import org.zstack.header.host.*; -import org.zstack.header.image.*; +import org.zstack.header.host.AttachDataVolumeToHostMsg; +import org.zstack.header.host.CancelHostTaskMsg; +import org.zstack.header.host.DetachDataVolumeFromHostMsg; +import org.zstack.header.host.HostConstant; +import org.zstack.header.host.HostInventory; +import org.zstack.header.host.HostVO; +import org.zstack.header.image.ImageConstant; +import org.zstack.header.image.ImageInventory; +import org.zstack.header.image.ImagePlatform; +import org.zstack.header.image.ImageVO; +import org.zstack.header.image.ImageVO_; import org.zstack.header.message.APIDeleteMessage.DeletionMode; -import org.zstack.header.message.*; -import org.zstack.header.storage.primary.*; -import org.zstack.header.storage.snapshot.*; -import org.zstack.header.storage.snapshot.group.*; +import org.zstack.header.message.APIDeleteMessage; +import org.zstack.header.message.APIMessage; +import org.zstack.header.message.Message; +import org.zstack.header.message.MessageReply; +import org.zstack.header.message.MulitpleOverlayMsg; +import org.zstack.header.message.MulitpleOverlayReply; +import org.zstack.header.message.NeedReplyMessage; +import org.zstack.header.message.OverlayMessage; +import org.zstack.header.storage.primary.AllocatePrimaryStorageSpaceMsg; +import org.zstack.header.storage.primary.AllocatePrimaryStorageSpaceReply; +import org.zstack.header.storage.primary.CancelJobOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.ChangeVolumeTypeOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.ChangeVolumeTypeOnPrimaryStorageReply; +import org.zstack.header.storage.primary.CheckChangeVolumeTypeOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.CheckVolumeSnapshotOperationOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.CreateImageCacheFromVolumeOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.CreateImageCacheFromVolumeOnPrimaryStorageReply; +import org.zstack.header.storage.primary.CreateTemplateFromVolumeOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.CreateTemplateFromVolumeOnPrimaryStorageReply; +import org.zstack.header.storage.primary.CreateTemplateFromVolumeSnapshotOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.DeleteVolumeOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.FlattenVolumeOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.GetVolumeBackingChainFromPrimaryStorageMsg; +import org.zstack.header.storage.primary.GetVolumeBackingChainFromPrimaryStorageReply; +import org.zstack.header.storage.primary.ImageCacheVO; +import org.zstack.header.storage.primary.ImageCacheVO_; +import org.zstack.header.storage.primary.IncreasePrimaryStorageCapacityMsg; +import org.zstack.header.storage.primary.InstantiateDataVolumeOnCreationExtensionPoint; +import org.zstack.header.storage.primary.InstantiateMemoryVolumeOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.InstantiateRootVolumeFromTemplateOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.InstantiateTemporaryRootVolumeFromTemplateOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.InstantiateTemporaryVolumeOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.InstantiateVolumeOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.InstantiateVolumeOnPrimaryStorageReply; +import org.zstack.header.storage.primary.PrimaryStorageAllocationPurpose; +import org.zstack.header.storage.primary.PrimaryStorageCapacityVO; +import org.zstack.header.storage.primary.PrimaryStorageClusterRefVO; +import org.zstack.header.storage.primary.PrimaryStorageConstant; +import org.zstack.header.storage.primary.PrimaryStorageEO; +import org.zstack.header.storage.primary.PrimaryStorageState; +import org.zstack.header.storage.primary.PrimaryStorageType; +import org.zstack.header.storage.primary.PrimaryStorageVO; +import org.zstack.header.storage.primary.PrimaryStorageVO_; +import org.zstack.header.storage.primary.ReInitRootVolumeFromTemplateOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.ReInitRootVolumeFromTemplateOnPrimaryStorageReply; +import org.zstack.header.storage.primary.ReleasePrimaryStorageSpaceMsg; +import org.zstack.header.storage.primary.SyncVolumeSizeOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.SyncVolumeSizeOnPrimaryStorageReply; +import org.zstack.header.storage.primary.UnlinkBitsOnPrimaryStorageMsg; +import org.zstack.header.storage.snapshot.ConsistentType; +import org.zstack.header.storage.snapshot.CreateVolumeSnapshotMsg; +import org.zstack.header.storage.snapshot.CreateVolumeSnapshotReply; +import org.zstack.header.storage.snapshot.CreateVolumesSnapshotMsg; +import org.zstack.header.storage.snapshot.CreateVolumesSnapshotReply; +import org.zstack.header.storage.snapshot.CreateVolumesSnapshotsJobStruct; +import org.zstack.header.storage.snapshot.DeleteVolumeSnapshotDirection; +import org.zstack.header.storage.snapshot.DeleteVolumeSnapshotMsg; +import org.zstack.header.storage.snapshot.DeleteVolumeSnapshotScope; +import org.zstack.header.storage.snapshot.GetVolumeSnapshotTreeRootNodeMsg; +import org.zstack.header.storage.snapshot.GetVolumeSnapshotTreeRootNodeReply; +import org.zstack.header.storage.snapshot.MarkRootVolumeAsSnapshotMsg; +import org.zstack.header.storage.snapshot.VolumeSnapshotConstant; +import org.zstack.header.storage.snapshot.VolumeSnapshotCreationExtensionPoint; +import org.zstack.header.storage.snapshot.VolumeSnapshotEO; +import org.zstack.header.storage.snapshot.VolumeSnapshotEO_; +import org.zstack.header.storage.snapshot.VolumeSnapshotInventory; +import org.zstack.header.storage.snapshot.VolumeSnapshotVO; +import org.zstack.header.storage.snapshot.VolumeSnapshotVO_; +import org.zstack.header.storage.snapshot.VolumeTemplateOverlayMsg; +import org.zstack.header.storage.snapshot.group.DeleteVolumeSnapshotGroupInnerMsg; +import org.zstack.header.storage.snapshot.group.VolumeSnapshotGroupInventory; +import org.zstack.header.storage.snapshot.group.VolumeSnapshotGroupOverlayMsg; +import org.zstack.header.storage.snapshot.group.VolumeSnapshotGroupRefVO; +import org.zstack.header.storage.snapshot.group.VolumeSnapshotGroupVO; import org.zstack.header.tag.SystemTagVO; import org.zstack.header.tag.SystemTagVO_; -import org.zstack.header.vm.*; +import org.zstack.header.vm.AfterReimageVmInstanceExtensionPoint; +import org.zstack.header.vm.AttachDataVolumeToVmMsg; +import org.zstack.header.vm.DetachDataVolumeFromVmMsg; +import org.zstack.header.vm.SyncVmDeviceInfoMsg; +import org.zstack.header.vm.VmAttachVolumeValidatorMethod; +import org.zstack.header.vm.VmCheckOwnStateMsg; +import org.zstack.header.vm.VmInstanceConstant; +import org.zstack.header.vm.VmInstanceInventory; +import org.zstack.header.vm.VmInstanceState; +import org.zstack.header.vm.VmInstanceVO; +import org.zstack.header.vm.VmInstanceVO_; import org.zstack.header.vm.devices.VmInstanceDeviceManager; -import org.zstack.header.volume.*; +import org.zstack.header.volume.APIAttachDataVolumeToHostEvent; +import org.zstack.header.volume.APIAttachDataVolumeToHostMsg; +import org.zstack.header.volume.APIAttachDataVolumeToVmEvent; +import org.zstack.header.volume.APIAttachDataVolumeToVmMsg; +import org.zstack.header.volume.APIChangeVolumeStateEvent; +import org.zstack.header.volume.APIChangeVolumeStateMsg; +import org.zstack.header.volume.APICreateVolumeSnapshotEvent; +import org.zstack.header.volume.APICreateVolumeSnapshotGroupEvent; +import org.zstack.header.volume.APICreateVolumeSnapshotGroupMsg; +import org.zstack.header.volume.APICreateVolumeSnapshotMsg; +import org.zstack.header.volume.APIDeleteDataVolumeEvent; +import org.zstack.header.volume.APIDeleteDataVolumeMsg; +import org.zstack.header.volume.APIDetachDataVolumeFromHostEvent; +import org.zstack.header.volume.APIDetachDataVolumeFromHostMsg; +import org.zstack.header.volume.APIDetachDataVolumeFromVmEvent; +import org.zstack.header.volume.APIDetachDataVolumeFromVmMsg; +import org.zstack.header.volume.APIExpungeDataVolumeEvent; +import org.zstack.header.volume.APIExpungeDataVolumeMsg; +import org.zstack.header.volume.APIFlattenVolumeEvent; +import org.zstack.header.volume.APIFlattenVolumeMsg; +import org.zstack.header.volume.APIGetDataVolumeAttachableVmMsg; +import org.zstack.header.volume.APIGetDataVolumeAttachableVmReply; +import org.zstack.header.volume.APIGetVolumeCapabilitiesMsg; +import org.zstack.header.volume.APIGetVolumeCapabilitiesReply; +import org.zstack.header.volume.APIRecoverDataVolumeEvent; +import org.zstack.header.volume.APIRecoverDataVolumeMsg; +import org.zstack.header.volume.APISyncVolumeSizeEvent; +import org.zstack.header.volume.APISyncVolumeSizeMsg; +import org.zstack.header.volume.APIUndoSnapshotCreationEvent; +import org.zstack.header.volume.APIUndoSnapshotCreationMsg; +import org.zstack.header.volume.APIUpdateVolumeEvent; +import org.zstack.header.volume.APIUpdateVolumeMsg; +import org.zstack.header.volume.AfterInstantiateVolumeExtensionPoint; +import org.zstack.header.volume.CancelFlattenVolumeMsg; +import org.zstack.header.volume.CancelFlattenVolumeReply; +import org.zstack.header.volume.ChangeVolumeStatusMsg; +import org.zstack.header.volume.ChangeVolumeStatusReply; +import org.zstack.header.volume.ChangeVolumeTypeMsg; +import org.zstack.header.volume.ChangeVolumeTypeReply; +import org.zstack.header.volume.CreateDataVolumeTemplateFromDataVolumeMsg; +import org.zstack.header.volume.CreateDataVolumeTemplateFromDataVolumeReply; +import org.zstack.header.volume.CreateDataVolumeTemplateFromDataVolumeSnapshotMsg; +import org.zstack.header.volume.CreateImageCacheFromVolumeMsg; +import org.zstack.header.volume.CreateImageCacheFromVolumeReply; +import org.zstack.header.volume.CreateVolumeSnapshotGroupMessage; +import org.zstack.header.volume.CreateVolumeSnapshotGroupMsg; +import org.zstack.header.volume.CreateVolumeSnapshotGroupReply; +import org.zstack.header.volume.DeleteVolumeMsg; +import org.zstack.header.volume.DeleteVolumeReply; +import org.zstack.header.volume.EstimateVolumeTemplateSizeMsg; +import org.zstack.header.volume.EstimateVolumeTemplateSizeReply; +import org.zstack.header.volume.ExpungeVolumeMsg; +import org.zstack.header.volume.ExpungeVolumeReply; +import org.zstack.header.volume.FlattenVolumeExtensionPoint; +import org.zstack.header.volume.FlattenVolumeMsg; +import org.zstack.header.volume.FlattenVolumeReply; +import org.zstack.header.volume.GetVolumeBackingInstallPathMsg; +import org.zstack.header.volume.GetVolumeBackingInstallPathReply; +import org.zstack.header.volume.InstantiateMemoryVolumeMsg; +import org.zstack.header.volume.InstantiateRootVolumeMsg; +import org.zstack.header.volume.InstantiateTemporaryRootVolumeMsg; +import org.zstack.header.volume.InstantiateVolumeMsg; +import org.zstack.header.volume.InstantiateVolumeReply; +import org.zstack.header.volume.MaxDataVolumeNumberExtensionPoint; +import org.zstack.header.volume.OverwriteVolumeExtensionPoint; +import org.zstack.header.volume.OverwriteVolumeMsg; +import org.zstack.header.volume.OverwriteVolumeReply; +import org.zstack.header.volume.PreInstantiateVolumeExtensionPoint; +import org.zstack.header.volume.ReInitVolumeMsg; +import org.zstack.header.volume.ReInitVolumeReply; +import org.zstack.header.volume.RecoverDataVolumeExtensionPoint; +import org.zstack.header.volume.RecoverVolumeMsg; +import org.zstack.header.volume.RecoverVolumeReply; +import org.zstack.header.volume.SetVmBootVolumeMsg; +import org.zstack.header.volume.SetVmBootVolumeReply; +import org.zstack.header.volume.SyncVolumeSizeMsg; +import org.zstack.header.volume.SyncVolumeSizeReply; +import org.zstack.header.volume.Volume; +import org.zstack.header.volume.VolumeAfterExpungeExtensionPoint; +import org.zstack.header.volume.VolumeBeforeExpungeExtensionPoint; +import org.zstack.header.volume.VolumeConstant; +import org.zstack.header.volume.VolumeCreateSnapshotMsg; +import org.zstack.header.volume.VolumeCreateSnapshotReply; +import org.zstack.header.volume.VolumeDeletionExtensionPoint; +import org.zstack.header.volume.VolumeDeletionMsg; +import org.zstack.header.volume.VolumeDeletionPolicyManager; +import org.zstack.header.volume.VolumeDeletionReply; +import org.zstack.header.volume.VolumeDeletionStruct; +import org.zstack.header.volume.VolumeFormat; +import org.zstack.header.volume.VolumeGetAttachableVmExtensionPoint; +import org.zstack.header.volume.VolumeHostRefVO; +import org.zstack.header.volume.VolumeHostRefVO_; +import org.zstack.header.volume.VolumeInventory; +import org.zstack.header.volume.VolumeJustBeforeDeleteFromDbExtensionPoint; +import org.zstack.header.volume.VolumeState; +import org.zstack.header.volume.VolumeStateEvent; +import org.zstack.header.volume.VolumeStatus; +import org.zstack.header.volume.VolumeType; +import org.zstack.header.volume.VolumeVO; +import org.zstack.header.volume.VolumeVO_; import org.zstack.header.volume.VolumeConstant.Capability; import org.zstack.header.volume.VolumeDeletionPolicyManager.VolumeDeletionPolicy; import org.zstack.identity.AccountManager; @@ -61,7 +265,15 @@ import org.zstack.utils.path.PathUtil; import javax.persistence.TypedQuery; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; +import java.util.Collections; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Objects; import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; @@ -194,6 +406,7 @@ private void handle(ReInitVolumeMsg msg) { @Override public void setup() { + // DEBT: NoRollbackFlow — reason TBD flow(new NoRollbackFlow() { String __name__ = "check-template-available"; @@ -258,6 +471,7 @@ public void rollback(FlowRollback trigger, Map data) { } }); + // DEBT: NoRollbackFlow — in rollback flow(new NoRollbackFlow() { String __name__ = "mark-root-volume-as-snapshot-on-primary-storage"; @@ -282,6 +496,7 @@ public void run(MessageReply reply) { } }); + // DEBT: NoRollbackFlow — in rollback flow(new NoRollbackFlow() { String __name__ = "reset-root-volume-from-image-on-primary-storage"; @@ -308,6 +523,7 @@ public void run(MessageReply reply) { } }); + // DEBT: NoRollbackFlow — reason TBD flow(new NoRollbackFlow() { String __name__ = "sync-volume-size-after-reimage"; @@ -908,6 +1124,7 @@ private void expunge(final Completion completion) { chain.then(new ShareFlow() { @Override public void setup() { + // DEBT: NoRollbackFlow — in expunge flow(new NoRollbackFlow() { String __name__ = "call-before-expunge-volume-extensions"; @@ -924,6 +1141,7 @@ public void done(ErrorCodeList errorCodeList) { }); if (self.getPrimaryStorageUuid() != null) { + // DEBT: NoRollbackFlow — in expunge flow(new NoRollbackFlow() { String __name__ = String.format("delete-volume-%s-on-primary-storage", inv.getUuid()); @@ -952,6 +1170,7 @@ public void run(MessageReply r) { } }); + // DEBT: NoRollbackFlow — reason TBD flow(new NoRollbackFlow() { String __name__ = String.format("return-volume-%s-size-to-primary-storage", inv.getUuid()); @@ -1200,6 +1419,7 @@ public void run(VolumeDeletionExtensionPoint arg) { public void setup() { if (self.getVmInstanceUuid() != null && self.getType() == VolumeType.Data && msg.isDetachBeforeDeleting() && self.getStatus() != VolumeStatus.NotInstantiated && dbf.isExist(self.getVmInstanceUuid(), VmInstanceVO.class)) { + // DEBT: NoRollbackFlow — in deleteVolume flow(new NoRollbackFlow() { String __name__ = "detach-volume-from-vm"; @@ -1230,6 +1450,7 @@ public void run(MessageReply reply) { } if (deletionPolicy == VolumeDeletionPolicy.Direct) { + // DEBT: NoRollbackFlow — reason TBD flow(new NoRollbackFlow() { final List allowedStatuses = Arrays.asList(VolumeStatus.Ready, VolumeStatus.Migrating); String __name__ = "delete-volume-from-primary-storage"; @@ -1273,6 +1494,7 @@ public void run(MessageReply reply) { if (self.getPrimaryStorageUuid() != null && deletionPolicy == VolumeDeletionPolicy.Direct) { + // DEBT: NoRollbackFlow — reason TBD flow(new NoRollbackFlow() { String __name__ = "return-primary-storage-capacity"; @@ -1408,6 +1630,7 @@ private void handle(OverwriteVolumeMsg msg) { FlowChain chain = new SimpleFlowChain(); chain.setName("cover-volume-from-transient-volume"); + // DEBT: NoRollbackFlow — in Finally chain.then(new NoRollbackFlow() { String __name__ = "swap-volume-path"; @@ -1444,6 +1667,7 @@ protected void scripts() { }.execute(); trigger.next(); } + // DEBT: NoRollbackFlow — in scripts }).then(new NoRollbackFlow() { String __name__ = "run-extension"; @@ -1479,6 +1703,7 @@ public void fail(ErrorCode errorCode) { } }); } + // DEBT: NoRollbackFlow — in runExtensions }).then(new NoRollbackFlow() { String __name__ = "delete-transient-volume-" + transientVolume.getUuid(); @@ -1601,6 +1826,7 @@ private void handle(GetVolumeBackingInstallPathMsg msg) { @Override public void setup() { + // DEBT: NoRollbackFlow — in getName flow(new NoRollbackFlow() { String __name__ = "get-snapshot-root-node"; @@ -1627,6 +1853,7 @@ public void run(MessageReply r) { } }); + // DEBT: NoRollbackFlow — in getName flow(new NoRollbackFlow() { String __name__ = "get-root-node-from-ps"; @@ -1727,6 +1954,7 @@ private void setBootVolume(SetVmBootVolumeMsg msg, NoErrorCompletion completion) @Override public void setup() { + // DEBT: NoRollbackFlow — in setBootVolume flow(new NoRollbackFlow() { String __name__ = "check-operation-allowed"; @@ -1770,6 +1998,7 @@ public void done(ErrorCodeList errorCodeList) { } }); + // DEBT: NoRollbackFlow — reason TBD flow(new NoRollbackFlow() { String __name__ = "change-new-root-volume-type"; @@ -1802,6 +2031,7 @@ public void run(MessageReply reply) { } }); + // DEBT: NoRollbackFlow — reason TBD flow(new NoRollbackFlow() { String __name__ = "change-origin-root-volume-type"; @@ -1834,6 +2064,7 @@ public void run(MessageReply reply) { } }); + // DEBT: NoRollbackFlow — reason TBD flow(new NoRollbackFlow() { String __name__ = "set-boot-volume-in-db"; @@ -1896,6 +2127,7 @@ protected void scripts() { } }); + // DEBT: NoRollbackFlow — reason TBD flow(new NoRollbackFlow() { String __name__ = "unlink-volumes-old-install-path"; @@ -1998,6 +2230,7 @@ private void changeVolumeType(ChangeVolumeTypeMsg msg, NoErrorCompletion complet @Override public void setup() { + // DEBT: NoRollbackFlow — in changeVolumeType flow(new NoRollbackFlow() { String __name__ = "change-volume-type-on-ps"; @@ -2028,6 +2261,7 @@ public void run(MessageReply reply) { } }); + // DEBT: NoRollbackFlow — in changeVolumeType flow(new NoRollbackFlow() { String __name__ = "change-volume-type-in-db"; @@ -2059,6 +2293,7 @@ protected void scripts() { } }); + // DEBT: NoRollbackFlow — in scripts flow(new NoRollbackFlow() { String __name__ = "unlink-volume-old-install-path"; @@ -2634,6 +2869,7 @@ private void delete(boolean forceDelete, VolumeDeletionPolicy deletionPolicy, bo FlowChain chain = FlowChainBuilder.newSimpleFlowChain(); chain.setName("delete-data-volume"); if (!forceDelete) { + // DEBT: NoRollbackFlow — in delete chain.then(new NoRollbackFlow() { @Override public void run(final FlowTrigger trigger, Map data) { @@ -2649,6 +2885,7 @@ public void fail(ErrorCode errorCode) { } }); } + // DEBT: NoRollbackFlow — in delete }).then(new NoRollbackFlow() { @Override public void run(final FlowTrigger trigger, Map data) { @@ -2666,6 +2903,7 @@ public void fail(ErrorCode errorCode) { } }); } else { + // DEBT: NoRollbackFlow — in delete chain.then(new NoRollbackFlow() { @Override public void run(final FlowTrigger trigger, Map data) { @@ -2781,6 +3019,7 @@ public void run(final SyncTaskChain taskChain) { FlowChain chain = FlowChainBuilder.newSimpleFlowChain(); chain.setName(""); + // DEBT: NoRollbackFlow — in getSyncSignature chain.then(new NoRollbackFlow() { String __name__ = String.format("create-snapshot-for-volume-%s", msg.getVolumeUuid()); @Override @@ -2806,6 +3045,7 @@ public void run(MessageReply reply) { } }); } + // DEBT: NoRollbackFlow — in getSyncSignature }).then(new NoRollbackFlow() { String __name__ = String.format("sync-volume[uuid: %s]-size-after-create-snapshot", msg.getVolumeUuid()); @Override @@ -2887,6 +3127,7 @@ private void doCreateVolumeSnapshotGroup(CreateVolumeSnapshotGroupMessage msg, R FlowChain chain = new SimpleFlowChain(); chain.setName(String.format("create-volume-%s-snapshot-group", msg.getRootVolumeUuid())); + // DEBT: NoRollbackFlow — in doCreateVolumeSnapshotGroup chain.then(new NoRollbackFlow() { String __name__ = "check-operation-on-primary-storage"; @@ -2985,6 +3226,7 @@ public void run(MessageReply reply) { } }); } + // DEBT: NoRollbackFlow — in rollback }).then(new NoRollbackFlow() { String __name__ = "sync-vm-devices-address-info"; @Override @@ -3006,6 +3248,7 @@ public void fail(ErrorCode errorCode) { } }); } + // DEBT: NoRollbackFlow — in rollback }).then(new NoRollbackFlow() { String __name__ = "after-volume-snapshot-group-created"; @@ -3035,6 +3278,7 @@ public void done(ErrorCodeList errorCodeList) { } }); } + // DEBT: NoRollbackFlow — reason TBD }).then(new NoRollbackFlow() { String __name__ = "sync-vm-status-for-memory-snapshot-group"; diff --git a/storage/src/main/java/org/zstack/storage/volume/VolumeCascadeExtension.java b/storage/src/main/java/org/zstack/storage/volume/VolumeCascadeExtension.java index 11df3e5e9f0..96e2e7c1a7b 100755 --- a/storage/src/main/java/org/zstack/storage/volume/VolumeCascadeExtension.java +++ b/storage/src/main/java/org/zstack/storage/volume/VolumeCascadeExtension.java @@ -9,7 +9,11 @@ import org.zstack.core.cloudbus.CloudBus; import org.zstack.core.cloudbus.CloudBusCallBack; import org.zstack.core.cloudbus.CloudBusListCallBack; -import org.zstack.core.db.*; +import org.zstack.core.db.DatabaseFacade; +import org.zstack.core.db.Q; +import org.zstack.core.db.SQL; +import org.zstack.core.db.SQLBatch; +import org.zstack.core.db.SimpleQuery; import org.zstack.core.db.SimpleQuery.Op; import org.zstack.header.configuration.DiskOfferingInventory; import org.zstack.header.configuration.DiskOfferingVO; @@ -28,7 +32,18 @@ import org.zstack.header.storage.primary.PrimaryStorageDetachStruct; import org.zstack.header.storage.primary.PrimaryStorageInventory; import org.zstack.header.storage.primary.PrimaryStorageVO; -import org.zstack.header.volume.*; +import org.zstack.header.volume.VolumeAO_; +import org.zstack.header.volume.VolumeConstant; +import org.zstack.header.volume.VolumeDeletionMsg; +import org.zstack.header.volume.VolumeDeletionPolicyManager; +import org.zstack.header.volume.VolumeDeletionStruct; +import org.zstack.header.volume.VolumeEO; +import org.zstack.header.volume.VolumeHostRefVO; +import org.zstack.header.volume.VolumeHostRefVO_; +import org.zstack.header.volume.VolumeInventory; +import org.zstack.header.volume.VolumeType; +import org.zstack.header.volume.VolumeVO; +import org.zstack.header.volume.VolumeVO_; import org.zstack.header.volume.VolumeDeletionPolicyManager.VolumeDeletionPolicy; import org.zstack.utils.CollectionUtils; import org.zstack.utils.Utils; @@ -36,7 +51,10 @@ import org.zstack.utils.logging.CLogger; import javax.persistence.TypedQuery; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.Objects; import java.util.concurrent.Callable; import java.util.stream.Collectors; diff --git a/storage/src/main/java/org/zstack/storage/volume/VolumeManagerImpl.java b/storage/src/main/java/org/zstack/storage/volume/VolumeManagerImpl.java index 248ff279765..e701315318d 100755 --- a/storage/src/main/java/org/zstack/storage/volume/VolumeManagerImpl.java +++ b/storage/src/main/java/org/zstack/storage/volume/VolumeManagerImpl.java @@ -14,7 +14,11 @@ import org.zstack.core.componentloader.PluginRegistry; import org.zstack.core.config.GlobalConfig; import org.zstack.core.config.GlobalConfigUpdateExtensionPoint; -import org.zstack.core.db.*; +import org.zstack.core.db.DatabaseFacade; +import org.zstack.core.db.Q; +import org.zstack.core.db.SQL; +import org.zstack.core.db.SQLBatchWithReturn; +import org.zstack.core.db.SimpleQuery; import org.zstack.core.db.SimpleQuery.Op; import org.zstack.core.thread.CancelablePeriodicTask; import org.zstack.core.thread.ThreadFacade; @@ -25,27 +29,121 @@ import org.zstack.header.core.Completion; import org.zstack.header.core.ReturnValueCompletion; import org.zstack.header.core.WhileDoneCompletion; -import org.zstack.header.core.workflow.*; +import org.zstack.header.core.workflow.Flow; +import org.zstack.header.core.workflow.FlowChain; +import org.zstack.header.core.workflow.FlowDoneHandler; +import org.zstack.header.core.workflow.FlowErrorHandler; +import org.zstack.header.core.workflow.FlowRollback; +import org.zstack.header.core.workflow.FlowTrigger; +import org.zstack.header.core.workflow.NoRollbackFlow; import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.errorcode.ErrorCodeList; import org.zstack.header.errorcode.OperationFailureException; -import org.zstack.header.host.*; +import org.zstack.header.host.AttachDataVolumeToHostMsg; +import org.zstack.header.host.HostAfterConnectedExtensionPoint; +import org.zstack.header.host.HostConstant; +import org.zstack.header.host.HostInventory; +import org.zstack.header.host.HostVO; +import org.zstack.header.host.HostVO_; import org.zstack.header.identity.AccountResourceRefInventory; import org.zstack.header.identity.ResourceOwnerAfterChangeExtensionPoint; -import org.zstack.header.image.*; +import org.zstack.header.image.ImageBackupStorageRefInventory; +import org.zstack.header.image.ImageBackupStorageRefVO; +import org.zstack.header.image.ImageInventory; +import org.zstack.header.image.ImageStatus; +import org.zstack.header.image.ImageVO; import org.zstack.header.managementnode.ManagementNodeReadyExtensionPoint; import org.zstack.header.message.APIMessage; import org.zstack.header.message.Message; import org.zstack.header.message.MessageReply; import org.zstack.header.storage.backup.BackupStorageState; import org.zstack.header.storage.backup.BackupStorageStatus; -import org.zstack.header.storage.primary.*; -import org.zstack.header.storage.snapshot.*; +import org.zstack.header.storage.primary.AllocatePrimaryStorageSpaceMsg; +import org.zstack.header.storage.primary.AllocatePrimaryStorageSpaceReply; +import org.zstack.header.storage.primary.DeleteVolumeBitsOnPrimaryStorageMsg; +import org.zstack.header.storage.primary.DownloadDataVolumeToPrimaryStorageMsg; +import org.zstack.header.storage.primary.DownloadDataVolumeToPrimaryStorageReply; +import org.zstack.header.storage.primary.DownloadTemporaryDataVolumeToPrimaryStorageMsg; +import org.zstack.header.storage.primary.GetInstallPathForDataVolumeDownloadMsg; +import org.zstack.header.storage.primary.GetInstallPathForDataVolumeDownloadReply; +import org.zstack.header.storage.primary.GetInstallPathForTemporaryDataVolumeDownloadMsg; +import org.zstack.header.storage.primary.InstantiateDataVolumeOnCreationExtensionPoint; +import org.zstack.header.storage.primary.PrimaryStorageAllocateConfig; +import org.zstack.header.storage.primary.PrimaryStorageAllocationPurpose; +import org.zstack.header.storage.primary.PrimaryStorageConstant; +import org.zstack.header.storage.primary.PrimaryStorageFeature; +import org.zstack.header.storage.primary.PrimaryStorageInventory; +import org.zstack.header.storage.primary.PrimaryStorageType; +import org.zstack.header.storage.primary.PrimaryStorageVO; +import org.zstack.header.storage.primary.PrimaryStorageVO_; +import org.zstack.header.storage.primary.ReleasePrimaryStorageSpaceMsg; +import org.zstack.header.storage.snapshot.InstantiateDataVolumeFromVolumeSnapshotMsg; +import org.zstack.header.storage.snapshot.InstantiateDataVolumeFromVolumeSnapshotReply; +import org.zstack.header.storage.snapshot.VolumeSnapshotConstant; +import org.zstack.header.storage.snapshot.VolumeSnapshotVO; +import org.zstack.header.storage.snapshot.VolumeSnapshotVO_; import org.zstack.header.storage.snapshot.group.VolumeSnapshotGroupVO; import org.zstack.header.storage.snapshot.group.VolumeSnapshotGroupVO_; -import org.zstack.header.vm.*; +import org.zstack.header.vm.VmAttachVolumeExtensionPoint; +import org.zstack.header.vm.VmDetachVolumeExtensionPoint; +import org.zstack.header.vm.VmInstanceInventory; +import org.zstack.header.vm.VmInstanceState; +import org.zstack.header.vm.VmInstanceVO; +import org.zstack.header.vm.VmInstanceVO_; +import org.zstack.header.vm.VmStateChangedExtensionPoint; import org.zstack.header.vm.devices.VmInstanceDeviceManager; -import org.zstack.header.volume.*; +import org.zstack.header.volume.APIBatchSyncVolumeSizeMsg; +import org.zstack.header.volume.APIBatchSyncVolumeSizeReply; +import org.zstack.header.volume.APICreateDataVolumeEvent; +import org.zstack.header.volume.APICreateDataVolumeFromVolumeSnapshotEvent; +import org.zstack.header.volume.APICreateDataVolumeFromVolumeSnapshotMsg; +import org.zstack.header.volume.APICreateDataVolumeFromVolumeTemplateEvent; +import org.zstack.header.volume.APICreateDataVolumeFromVolumeTemplateMsg; +import org.zstack.header.volume.APICreateDataVolumeMsg; +import org.zstack.header.volume.APIGetVolumeFormatMsg; +import org.zstack.header.volume.APIGetVolumeFormatReply; +import org.zstack.header.volume.BatchSyncActiveVolumeSizeOnHostMsg; +import org.zstack.header.volume.BatchSyncActiveVolumeSizeOnHostReply; +import org.zstack.header.volume.BatchSyncManagedActiveVolumeSizeMsg; +import org.zstack.header.volume.BatchSyncManagedActiveVolumeSizeReply; +import org.zstack.header.volume.BatchSyncVolumeSizeOnPrimaryStorageMsg; +import org.zstack.header.volume.BatchSyncVolumeSizeOnPrimaryStorageReply; +import org.zstack.header.volume.CreateDataVolumeExtensionPoint; +import org.zstack.header.volume.CreateDataVolumeFromVolumeSnapshotMsg; +import org.zstack.header.volume.CreateDataVolumeFromVolumeSnapshotReply; +import org.zstack.header.volume.CreateDataVolumeFromVolumeTemplateMsg; +import org.zstack.header.volume.CreateDataVolumeFromVolumeTemplateReply; +import org.zstack.header.volume.CreateDataVolumeMsg; +import org.zstack.header.volume.CreateTemporaryDataVolumeFromVolumeTemplateMsg; +import org.zstack.header.volume.CreateVolumeMsg; +import org.zstack.header.volume.CreateVolumeReply; +import org.zstack.header.volume.ExpungeVolumeMsg; +import org.zstack.header.volume.GetVolumeLocalTaskMsg; +import org.zstack.header.volume.GetVolumeLocalTaskReply; +import org.zstack.header.volume.GetVolumeTaskMsg; +import org.zstack.header.volume.GetVolumeTaskReply; +import org.zstack.header.volume.InstantiateVolumeMsg; +import org.zstack.header.volume.InstantiateVolumeReply; +import org.zstack.header.volume.MaxDataVolumeNumberExtensionPoint; +import org.zstack.header.volume.SyncVolumeSizeMsg; +import org.zstack.header.volume.SyncVolumeSizeReply; +import org.zstack.header.volume.Volume; +import org.zstack.header.volume.VolumeAttachedJudger; +import org.zstack.header.volume.VolumeConstant; +import org.zstack.header.volume.VolumeCreateMessage; +import org.zstack.header.volume.VolumeDeletionPolicyManager; +import org.zstack.header.volume.VolumeFormat; +import org.zstack.header.volume.VolumeHostRefVO; +import org.zstack.header.volume.VolumeHostRefVO_; +import org.zstack.header.volume.VolumeInventory; +import org.zstack.header.volume.VolumeMessage; +import org.zstack.header.volume.VolumeReportPrimaryStorageCapacityUsageMsg; +import org.zstack.header.volume.VolumeReportPrimaryStorageCapacityUsageReply; +import org.zstack.header.volume.VolumeState; +import org.zstack.header.volume.VolumeStatus; +import org.zstack.header.volume.VolumeType; +import org.zstack.header.volume.VolumeVO; +import org.zstack.header.volume.VolumeVO_; import org.zstack.header.volume.APIGetVolumeFormatReply.VolumeFormatReplyStruct; import org.zstack.header.volume.VolumeDeletionPolicyManager.VolumeDeletionPolicy; import org.zstack.identity.AccountManager; @@ -61,7 +159,12 @@ import javax.persistence.TypedQuery; import java.sql.Timestamp; import java.time.LocalDateTime; -import java.util.*; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; +import java.util.Iterator; +import java.util.List; +import java.util.Map; import java.util.concurrent.Future; import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; @@ -284,6 +387,7 @@ protected VolumeVO scripts() { @Override public void setup() { + // DEBT: NoRollbackFlow — in scripts flow(new NoRollbackFlow() { String __name__ = "select-backup-storage"; @@ -384,6 +488,7 @@ public void rollback(FlowRollback trigger, Map data) { } }); + // DEBT: NoRollbackFlow — in rollback flow(new NoRollbackFlow() { String __name__ = "get-download-data-volume-template-to-primary-storage-for-garbage"; @@ -471,6 +576,7 @@ public void rollback(FlowRollback trigger, Map data) { } }); + // DEBT: NoRollbackFlow — in rollback flow(new NoRollbackFlow() { String __name__ = String.format("sync volume %s size", vol.getUuid()); diff --git a/storage/src/main/java/org/zstack/storage/volume/VolumeSizeTrackerImpl.java b/storage/src/main/java/org/zstack/storage/volume/VolumeSizeTrackerImpl.java index fb92516dd06..a47a0e5b259 100644 --- a/storage/src/main/java/org/zstack/storage/volume/VolumeSizeTrackerImpl.java +++ b/storage/src/main/java/org/zstack/storage/volume/VolumeSizeTrackerImpl.java @@ -16,11 +16,23 @@ import org.zstack.header.core.ExceptionSafe; import org.zstack.header.core.NopeWhileDoneCompletion; import org.zstack.header.message.MessageReply; -import org.zstack.header.volume.*; +import org.zstack.header.volume.BatchSyncManagedActiveVolumeSizeMsg; +import org.zstack.header.volume.RefreshVolumeSizeExtensionPoint; +import org.zstack.header.volume.SyncVolumeSizeMsg; +import org.zstack.header.volume.VolumeConstant; +import org.zstack.header.volume.VolumeState; +import org.zstack.header.volume.VolumeStatus; +import org.zstack.header.volume.VolumeVO; +import org.zstack.header.volume.VolumeVO_; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; -import java.util.*; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; +import java.util.HashSet; +import java.util.List; +import java.util.Set; import java.util.concurrent.Future; import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; diff --git a/storage/src/main/java/org/zstack/storage/volume/VolumeUpgradeExtension.java b/storage/src/main/java/org/zstack/storage/volume/VolumeUpgradeExtension.java index 7983fee136d..75a63f9d6e5 100755 --- a/storage/src/main/java/org/zstack/storage/volume/VolumeUpgradeExtension.java +++ b/storage/src/main/java/org/zstack/storage/volume/VolumeUpgradeExtension.java @@ -10,9 +10,19 @@ import org.zstack.core.db.SimpleQuery.Op; import org.zstack.header.Component; import org.zstack.header.message.MessageReply; -import org.zstack.header.storage.primary.*; +import org.zstack.header.storage.primary.GetVolumeRootImageUuidFromPrimaryStorageMsg; +import org.zstack.header.storage.primary.GetVolumeRootImageUuidFromPrimaryStorageReply; +import org.zstack.header.storage.primary.PrimaryStorageCanonicalEvent; +import org.zstack.header.storage.primary.PrimaryStorageConstant; +import org.zstack.header.storage.primary.PrimaryStorageStatus; import org.zstack.header.storage.primary.PrimaryStorageCanonicalEvent.PrimaryStorageStatusChangedData; -import org.zstack.header.volume.*; +import org.zstack.header.volume.SyncVolumeSizeMsg; +import org.zstack.header.volume.VolumeConstant; +import org.zstack.header.volume.VolumeInventory; +import org.zstack.header.volume.VolumeStatus; +import org.zstack.header.volume.VolumeType; +import org.zstack.header.volume.VolumeVO; +import org.zstack.header.volume.VolumeVO_; import org.zstack.utils.CollectionUtils; import org.zstack.utils.Utils; import org.zstack.utils.function.Function; diff --git a/test/src/test/java/org/zstack/test/ApiSender.java b/test/src/test/java/org/zstack/test/ApiSender.java index e4b2e35bd7b..11c34cb7747 100755 --- a/test/src/test/java/org/zstack/test/ApiSender.java +++ b/test/src/test/java/org/zstack/test/ApiSender.java @@ -11,7 +11,12 @@ import org.zstack.core.progressbar.InProgressEvent; import org.zstack.header.apimediator.ApiMediatorConstant; import org.zstack.header.exception.CloudRuntimeException; -import org.zstack.header.message.*; +import org.zstack.header.message.APIEvent; +import org.zstack.header.message.APIListMessage; +import org.zstack.header.message.APIMessage; +import org.zstack.header.message.APIReply; +import org.zstack.header.message.Event; +import org.zstack.header.message.MessageReply; import java.util.concurrent.CountDownLatch; import java.util.concurrent.TimeUnit; diff --git a/test/src/test/java/org/zstack/test/BeanConstructor.java b/test/src/test/java/org/zstack/test/BeanConstructor.java index c7d78c58235..cf42b32eb06 100755 --- a/test/src/test/java/org/zstack/test/BeanConstructor.java +++ b/test/src/test/java/org/zstack/test/BeanConstructor.java @@ -5,7 +5,11 @@ import org.zstack.core.componentloader.ComponentLoader; import org.zstack.header.exception.CloudRuntimeException; -import java.io.*; +import java.io.BufferedReader; +import java.io.BufferedWriter; +import java.io.File; +import java.io.FileReader; +import java.io.FileWriter; import java.net.URL; import java.util.ArrayList; import java.util.List; diff --git a/test/src/test/java/org/zstack/test/UnitTestSuite.java b/test/src/test/java/org/zstack/test/UnitTestSuite.java index fa77e439209..53e181e5d0a 100755 --- a/test/src/test/java/org/zstack/test/UnitTestSuite.java +++ b/test/src/test/java/org/zstack/test/UnitTestSuite.java @@ -18,7 +18,11 @@ import javax.xml.bind.Unmarshaller; import java.io.File; import java.io.IOException; -import java.util.*; +import java.util.ArrayList; +import java.util.Formatter; +import java.util.HashMap; +import java.util.List; +import java.util.Map; import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; diff --git a/test/src/test/java/org/zstack/test/VmCreator.java b/test/src/test/java/org/zstack/test/VmCreator.java index 9e75d3c2fee..ea82ab332c4 100755 --- a/test/src/test/java/org/zstack/test/VmCreator.java +++ b/test/src/test/java/org/zstack/test/VmCreator.java @@ -3,7 +3,10 @@ import org.zstack.core.MessageCommandRecorder; import org.zstack.header.apimediator.ApiMediatorConstant; import org.zstack.header.identity.SessionInventory; -import org.zstack.header.vm.*; +import org.zstack.header.vm.APICreateVmInstanceMsg; +import org.zstack.header.vm.VmCreationStrategy; +import org.zstack.header.vm.VmInstanceConstant; +import org.zstack.header.vm.VmInstanceInventory; import org.zstack.sdk.ApiException; import org.zstack.sdk.CloneVmInstanceResults; import org.zstack.sdk.CreateVmInstanceAction; diff --git a/test/src/test/java/org/zstack/test/aop/TestAsyncBackup8.java b/test/src/test/java/org/zstack/test/aop/TestAsyncBackup8.java index b0ed2c44c6b..4e019afeefd 100755 --- a/test/src/test/java/org/zstack/test/aop/TestAsyncBackup8.java +++ b/test/src/test/java/org/zstack/test/aop/TestAsyncBackup8.java @@ -9,7 +9,11 @@ import org.zstack.core.workflow.FlowChainBuilder; import org.zstack.core.workflow.ShareFlow; import org.zstack.header.core.Completion; -import org.zstack.header.core.workflow.*; +import org.zstack.header.core.workflow.FlowChain; +import org.zstack.header.core.workflow.FlowDoneHandler; +import org.zstack.header.core.workflow.FlowErrorHandler; +import org.zstack.header.core.workflow.FlowTrigger; +import org.zstack.header.core.workflow.NoRollbackFlow; import org.zstack.header.errorcode.ErrorCode; import org.zstack.test.BeanConstructor; import org.zstack.utils.Utils; @@ -39,6 +43,7 @@ private void testMethod(final Completion completion) { chain.then(new ShareFlow() { @Override public void setup() { + // DEBT: NoRollbackFlow — in testMethod flow(new NoRollbackFlow() { String __name__ = "1"; @@ -48,6 +53,7 @@ public void run(FlowTrigger trigger, Map data) { } }); + // DEBT: NoRollbackFlow — in testMethod flow(new NoRollbackFlow() { String __name__ = "2"; @@ -57,6 +63,7 @@ public void run(FlowTrigger trigger, Map data) { } }); + // DEBT: NoRollbackFlow — in testMethod flow(new NoRollbackFlow() { String __name__ = "3"; diff --git a/test/src/test/java/org/zstack/test/aop/TestAsyncBackup9.java b/test/src/test/java/org/zstack/test/aop/TestAsyncBackup9.java index 2d951253469..ac7f945299d 100755 --- a/test/src/test/java/org/zstack/test/aop/TestAsyncBackup9.java +++ b/test/src/test/java/org/zstack/test/aop/TestAsyncBackup9.java @@ -9,7 +9,11 @@ import org.zstack.core.workflow.FlowChainBuilder; import org.zstack.core.workflow.ShareFlow; import org.zstack.header.core.Completion; -import org.zstack.header.core.workflow.*; +import org.zstack.header.core.workflow.FlowChain; +import org.zstack.header.core.workflow.FlowDoneHandler; +import org.zstack.header.core.workflow.FlowErrorHandler; +import org.zstack.header.core.workflow.FlowTrigger; +import org.zstack.header.core.workflow.NoRollbackFlow; import org.zstack.header.errorcode.ErrorCode; import org.zstack.test.BeanConstructor; import org.zstack.utils.Utils; @@ -39,6 +43,7 @@ private void testMethod(final Completion completion) { chain.then(new ShareFlow() { @Override public void setup() { + // DEBT: NoRollbackFlow — in testMethod flow(new NoRollbackFlow() { String __name__ = "1"; @@ -48,6 +53,7 @@ public void run(FlowTrigger trigger, Map data) { } }); + // DEBT: NoRollbackFlow — in testMethod flow(new NoRollbackFlow() { String __name__ = "2"; @@ -57,6 +63,7 @@ public void run(FlowTrigger trigger, Map data) { } }); + // DEBT: NoRollbackFlow — in testMethod flow(new NoRollbackFlow() { String __name__ = "3"; diff --git a/test/src/test/java/org/zstack/test/applianceVm/TestApplianceVmFirewall.java b/test/src/test/java/org/zstack/test/applianceVm/TestApplianceVmFirewall.java index b1b97a9f07d..55f78bcdb5c 100755 --- a/test/src/test/java/org/zstack/test/applianceVm/TestApplianceVmFirewall.java +++ b/test/src/test/java/org/zstack/test/applianceVm/TestApplianceVmFirewall.java @@ -3,7 +3,16 @@ import junit.framework.Assert; import org.junit.Before; import org.junit.Test; -import org.zstack.appliancevm.*; +import org.zstack.appliancevm.ApplianceVmConstant; +import org.zstack.appliancevm.ApplianceVmFacade; +import org.zstack.appliancevm.ApplianceVmFirewallProtocol; +import org.zstack.appliancevm.ApplianceVmFirewallRuleInventory; +import org.zstack.appliancevm.ApplianceVmFirewallRuleTO; +import org.zstack.appliancevm.ApplianceVmInventory; +import org.zstack.appliancevm.ApplianceVmNicSpec; +import org.zstack.appliancevm.ApplianceVmNicTO; +import org.zstack.appliancevm.ApplianceVmSpec; +import org.zstack.appliancevm.ApplianceVmType; import org.zstack.core.cloudbus.CloudBus; import org.zstack.core.componentloader.ComponentLoader; import org.zstack.core.db.DatabaseFacade; diff --git a/test/src/test/java/org/zstack/test/applianceVm/TestApplianceVmFirewallDestroy.java b/test/src/test/java/org/zstack/test/applianceVm/TestApplianceVmFirewallDestroy.java index 8e120c5d6fc..5675301da6f 100755 --- a/test/src/test/java/org/zstack/test/applianceVm/TestApplianceVmFirewallDestroy.java +++ b/test/src/test/java/org/zstack/test/applianceVm/TestApplianceVmFirewallDestroy.java @@ -3,7 +3,16 @@ import junit.framework.Assert; import org.junit.Before; import org.junit.Test; -import org.zstack.appliancevm.*; +import org.zstack.appliancevm.ApplianceVmConstant; +import org.zstack.appliancevm.ApplianceVmFacade; +import org.zstack.appliancevm.ApplianceVmFirewallProtocol; +import org.zstack.appliancevm.ApplianceVmFirewallRuleInventory; +import org.zstack.appliancevm.ApplianceVmFirewallRuleTO; +import org.zstack.appliancevm.ApplianceVmInventory; +import org.zstack.appliancevm.ApplianceVmNicSpec; +import org.zstack.appliancevm.ApplianceVmNicTO; +import org.zstack.appliancevm.ApplianceVmSpec; +import org.zstack.appliancevm.ApplianceVmType; import org.zstack.core.cloudbus.CloudBus; import org.zstack.core.componentloader.ComponentLoader; import org.zstack.core.db.DatabaseFacade; diff --git a/test/src/test/java/org/zstack/test/applianceVm/TestApplianceVmFirewallStart.java b/test/src/test/java/org/zstack/test/applianceVm/TestApplianceVmFirewallStart.java index 7cec0bdecd8..0727744d539 100755 --- a/test/src/test/java/org/zstack/test/applianceVm/TestApplianceVmFirewallStart.java +++ b/test/src/test/java/org/zstack/test/applianceVm/TestApplianceVmFirewallStart.java @@ -3,7 +3,16 @@ import junit.framework.Assert; import org.junit.Before; import org.junit.Test; -import org.zstack.appliancevm.*; +import org.zstack.appliancevm.ApplianceVmConstant; +import org.zstack.appliancevm.ApplianceVmFacade; +import org.zstack.appliancevm.ApplianceVmFirewallProtocol; +import org.zstack.appliancevm.ApplianceVmFirewallRuleInventory; +import org.zstack.appliancevm.ApplianceVmFirewallRuleTO; +import org.zstack.appliancevm.ApplianceVmInventory; +import org.zstack.appliancevm.ApplianceVmNicSpec; +import org.zstack.appliancevm.ApplianceVmNicTO; +import org.zstack.appliancevm.ApplianceVmSpec; +import org.zstack.appliancevm.ApplianceVmType; import org.zstack.core.cloudbus.CloudBus; import org.zstack.core.componentloader.ComponentLoader; import org.zstack.core.db.DatabaseFacade; diff --git a/test/src/test/java/org/zstack/test/applianceVm/TestApplianceVmFirewallStop.java b/test/src/test/java/org/zstack/test/applianceVm/TestApplianceVmFirewallStop.java index fe87be43869..fcf84574bb7 100755 --- a/test/src/test/java/org/zstack/test/applianceVm/TestApplianceVmFirewallStop.java +++ b/test/src/test/java/org/zstack/test/applianceVm/TestApplianceVmFirewallStop.java @@ -3,7 +3,16 @@ import junit.framework.Assert; import org.junit.Before; import org.junit.Test; -import org.zstack.appliancevm.*; +import org.zstack.appliancevm.ApplianceVmConstant; +import org.zstack.appliancevm.ApplianceVmFacade; +import org.zstack.appliancevm.ApplianceVmFirewallProtocol; +import org.zstack.appliancevm.ApplianceVmFirewallRuleInventory; +import org.zstack.appliancevm.ApplianceVmFirewallRuleTO; +import org.zstack.appliancevm.ApplianceVmInventory; +import org.zstack.appliancevm.ApplianceVmNicSpec; +import org.zstack.appliancevm.ApplianceVmNicTO; +import org.zstack.appliancevm.ApplianceVmSpec; +import org.zstack.appliancevm.ApplianceVmType; import org.zstack.core.cloudbus.CloudBus; import org.zstack.core.componentloader.ComponentLoader; import org.zstack.core.db.DatabaseFacade; diff --git a/test/src/test/java/org/zstack/test/applianceVm/TestApplianceVmOpenFirewall.java b/test/src/test/java/org/zstack/test/applianceVm/TestApplianceVmOpenFirewall.java index a671fe201fb..290bc60d415 100755 --- a/test/src/test/java/org/zstack/test/applianceVm/TestApplianceVmOpenFirewall.java +++ b/test/src/test/java/org/zstack/test/applianceVm/TestApplianceVmOpenFirewall.java @@ -3,7 +3,15 @@ import junit.framework.Assert; import org.junit.Before; import org.junit.Test; -import org.zstack.appliancevm.*; +import org.zstack.appliancevm.ApplianceVmConstant; +import org.zstack.appliancevm.ApplianceVmFacade; +import org.zstack.appliancevm.ApplianceVmFirewallProtocol; +import org.zstack.appliancevm.ApplianceVmFirewallRuleInventory; +import org.zstack.appliancevm.ApplianceVmFirewallRuleTO; +import org.zstack.appliancevm.ApplianceVmInventory; +import org.zstack.appliancevm.ApplianceVmNicSpec; +import org.zstack.appliancevm.ApplianceVmSpec; +import org.zstack.appliancevm.ApplianceVmType; import org.zstack.core.cloudbus.CloudBus; import org.zstack.core.componentloader.ComponentLoader; import org.zstack.core.db.DatabaseFacade; diff --git a/test/src/test/java/org/zstack/test/applianceVm/TestApplianceVmRemoveFirewall.java b/test/src/test/java/org/zstack/test/applianceVm/TestApplianceVmRemoveFirewall.java index 644f4114fd1..bedf341f9ba 100755 --- a/test/src/test/java/org/zstack/test/applianceVm/TestApplianceVmRemoveFirewall.java +++ b/test/src/test/java/org/zstack/test/applianceVm/TestApplianceVmRemoveFirewall.java @@ -3,7 +3,15 @@ import junit.framework.Assert; import org.junit.Before; import org.junit.Test; -import org.zstack.appliancevm.*; +import org.zstack.appliancevm.ApplianceVmConstant; +import org.zstack.appliancevm.ApplianceVmFacade; +import org.zstack.appliancevm.ApplianceVmFirewallProtocol; +import org.zstack.appliancevm.ApplianceVmFirewallRuleInventory; +import org.zstack.appliancevm.ApplianceVmFirewallRuleTO; +import org.zstack.appliancevm.ApplianceVmInventory; +import org.zstack.appliancevm.ApplianceVmNicSpec; +import org.zstack.appliancevm.ApplianceVmSpec; +import org.zstack.appliancevm.ApplianceVmType; import org.zstack.core.cloudbus.CloudBus; import org.zstack.core.componentloader.ComponentLoader; import org.zstack.core.db.DatabaseFacade; diff --git a/test/src/test/java/org/zstack/test/applianceVm/TestCreateApplianceVm.java b/test/src/test/java/org/zstack/test/applianceVm/TestCreateApplianceVm.java index a2936c44076..c23881469c7 100755 --- a/test/src/test/java/org/zstack/test/applianceVm/TestCreateApplianceVm.java +++ b/test/src/test/java/org/zstack/test/applianceVm/TestCreateApplianceVm.java @@ -3,7 +3,12 @@ import junit.framework.Assert; import org.junit.Before; import org.junit.Test; -import org.zstack.appliancevm.*; +import org.zstack.appliancevm.ApplianceVmConstant; +import org.zstack.appliancevm.ApplianceVmFacade; +import org.zstack.appliancevm.ApplianceVmInventory; +import org.zstack.appliancevm.ApplianceVmNicSpec; +import org.zstack.appliancevm.ApplianceVmSpec; +import org.zstack.appliancevm.ApplianceVmType; import org.zstack.core.cloudbus.CloudBus; import org.zstack.core.componentloader.ComponentLoader; import org.zstack.core.db.DatabaseFacade; diff --git a/test/src/test/java/org/zstack/test/applianceVm/TestCreateApplianceVm1.java b/test/src/test/java/org/zstack/test/applianceVm/TestCreateApplianceVm1.java index c9f2380d920..12be19f909c 100755 --- a/test/src/test/java/org/zstack/test/applianceVm/TestCreateApplianceVm1.java +++ b/test/src/test/java/org/zstack/test/applianceVm/TestCreateApplianceVm1.java @@ -3,7 +3,13 @@ import junit.framework.Assert; import org.junit.Before; import org.junit.Test; -import org.zstack.appliancevm.*; +import org.zstack.appliancevm.ApplianceVmConstant; +import org.zstack.appliancevm.ApplianceVmFacade; +import org.zstack.appliancevm.ApplianceVmInventory; +import org.zstack.appliancevm.ApplianceVmNicSpec; +import org.zstack.appliancevm.ApplianceVmSpec; +import org.zstack.appliancevm.ApplianceVmType; +import org.zstack.appliancevm.ApplianceVmVO; import org.zstack.core.cloudbus.CloudBus; import org.zstack.core.componentloader.ComponentLoader; import org.zstack.core.db.DatabaseFacade; diff --git a/test/src/test/java/org/zstack/test/applianceVm/TestCreateApplianceVm2.java b/test/src/test/java/org/zstack/test/applianceVm/TestCreateApplianceVm2.java index ac13b658ca1..8362e94f313 100755 --- a/test/src/test/java/org/zstack/test/applianceVm/TestCreateApplianceVm2.java +++ b/test/src/test/java/org/zstack/test/applianceVm/TestCreateApplianceVm2.java @@ -3,7 +3,13 @@ import junit.framework.Assert; import org.junit.Before; import org.junit.Test; -import org.zstack.appliancevm.*; +import org.zstack.appliancevm.ApplianceVmConstant; +import org.zstack.appliancevm.ApplianceVmFacade; +import org.zstack.appliancevm.ApplianceVmInventory; +import org.zstack.appliancevm.ApplianceVmNicSpec; +import org.zstack.appliancevm.ApplianceVmSpec; +import org.zstack.appliancevm.ApplianceVmType; +import org.zstack.appliancevm.ApplianceVmVO; import org.zstack.core.cloudbus.CloudBus; import org.zstack.core.componentloader.ComponentLoader; import org.zstack.core.db.DatabaseFacade; diff --git a/test/src/test/java/org/zstack/test/applianceVm/TestCreateApplianceVmKvm.java b/test/src/test/java/org/zstack/test/applianceVm/TestCreateApplianceVmKvm.java index 76074d86ec5..9b3689e76d7 100755 --- a/test/src/test/java/org/zstack/test/applianceVm/TestCreateApplianceVmKvm.java +++ b/test/src/test/java/org/zstack/test/applianceVm/TestCreateApplianceVmKvm.java @@ -3,7 +3,13 @@ import junit.framework.Assert; import org.junit.Before; import org.junit.Test; -import org.zstack.appliancevm.*; +import org.zstack.appliancevm.ApplianceVmConstant; +import org.zstack.appliancevm.ApplianceVmFacade; +import org.zstack.appliancevm.ApplianceVmInventory; +import org.zstack.appliancevm.ApplianceVmNicSpec; +import org.zstack.appliancevm.ApplianceVmNicTO; +import org.zstack.appliancevm.ApplianceVmSpec; +import org.zstack.appliancevm.ApplianceVmType; import org.zstack.core.cloudbus.CloudBus; import org.zstack.core.componentloader.ComponentLoader; import org.zstack.core.db.DatabaseFacade; diff --git a/test/src/test/java/org/zstack/test/applianceVm/TestCreateApplianceVmKvm1.java b/test/src/test/java/org/zstack/test/applianceVm/TestCreateApplianceVmKvm1.java index 1f5fddba4e4..53a6092fd88 100755 --- a/test/src/test/java/org/zstack/test/applianceVm/TestCreateApplianceVmKvm1.java +++ b/test/src/test/java/org/zstack/test/applianceVm/TestCreateApplianceVmKvm1.java @@ -3,7 +3,11 @@ import junit.framework.Assert; import org.junit.Before; import org.junit.Test; -import org.zstack.appliancevm.*; +import org.zstack.appliancevm.ApplianceVmFacade; +import org.zstack.appliancevm.ApplianceVmInventory; +import org.zstack.appliancevm.ApplianceVmNicSpec; +import org.zstack.appliancevm.ApplianceVmSpec; +import org.zstack.appliancevm.ApplianceVmType; import org.zstack.core.cloudbus.CloudBus; import org.zstack.core.componentloader.ComponentLoader; import org.zstack.core.db.DatabaseFacade; diff --git a/test/src/test/java/org/zstack/test/applianceVm/TestCreateApplianceVmKvm2.java b/test/src/test/java/org/zstack/test/applianceVm/TestCreateApplianceVmKvm2.java index 5a41bba3e87..c2bc1b2e64f 100755 --- a/test/src/test/java/org/zstack/test/applianceVm/TestCreateApplianceVmKvm2.java +++ b/test/src/test/java/org/zstack/test/applianceVm/TestCreateApplianceVmKvm2.java @@ -3,7 +3,12 @@ import junit.framework.Assert; import org.junit.Before; import org.junit.Test; -import org.zstack.appliancevm.*; +import org.zstack.appliancevm.ApplianceVmFacade; +import org.zstack.appliancevm.ApplianceVmInventory; +import org.zstack.appliancevm.ApplianceVmKvmBackend; +import org.zstack.appliancevm.ApplianceVmNicSpec; +import org.zstack.appliancevm.ApplianceVmSpec; +import org.zstack.appliancevm.ApplianceVmType; import org.zstack.core.cloudbus.CloudBus; import org.zstack.core.componentloader.ComponentLoader; import org.zstack.core.db.DatabaseFacade; diff --git a/test/src/test/java/org/zstack/test/applianceVm/TestDestroyApplianceVm.java b/test/src/test/java/org/zstack/test/applianceVm/TestDestroyApplianceVm.java index 34817e1df33..afd49ab7baf 100755 --- a/test/src/test/java/org/zstack/test/applianceVm/TestDestroyApplianceVm.java +++ b/test/src/test/java/org/zstack/test/applianceVm/TestDestroyApplianceVm.java @@ -3,7 +3,12 @@ import junit.framework.Assert; import org.junit.Before; import org.junit.Test; -import org.zstack.appliancevm.*; +import org.zstack.appliancevm.ApplianceVmConstant; +import org.zstack.appliancevm.ApplianceVmFacade; +import org.zstack.appliancevm.ApplianceVmInventory; +import org.zstack.appliancevm.ApplianceVmNicSpec; +import org.zstack.appliancevm.ApplianceVmSpec; +import org.zstack.appliancevm.ApplianceVmType; import org.zstack.core.cloudbus.CloudBus; import org.zstack.core.componentloader.ComponentLoader; import org.zstack.core.db.DatabaseFacade; diff --git a/test/src/test/java/org/zstack/test/applianceVm/TestListApplianceVm.java b/test/src/test/java/org/zstack/test/applianceVm/TestListApplianceVm.java index 7f16182a290..64deaf69ae0 100755 --- a/test/src/test/java/org/zstack/test/applianceVm/TestListApplianceVm.java +++ b/test/src/test/java/org/zstack/test/applianceVm/TestListApplianceVm.java @@ -3,7 +3,12 @@ import junit.framework.Assert; import org.junit.Before; import org.junit.Test; -import org.zstack.appliancevm.*; +import org.zstack.appliancevm.ApplianceVmConstant; +import org.zstack.appliancevm.ApplianceVmFacade; +import org.zstack.appliancevm.ApplianceVmInventory; +import org.zstack.appliancevm.ApplianceVmNicSpec; +import org.zstack.appliancevm.ApplianceVmSpec; +import org.zstack.appliancevm.ApplianceVmType; import org.zstack.core.cloudbus.CloudBus; import org.zstack.core.componentloader.ComponentLoader; import org.zstack.core.db.DatabaseFacade; diff --git a/test/src/test/java/org/zstack/test/applianceVm/TestRebootApplianceVm.java b/test/src/test/java/org/zstack/test/applianceVm/TestRebootApplianceVm.java index 91c63931074..f8249b57e7e 100755 --- a/test/src/test/java/org/zstack/test/applianceVm/TestRebootApplianceVm.java +++ b/test/src/test/java/org/zstack/test/applianceVm/TestRebootApplianceVm.java @@ -3,7 +3,12 @@ import junit.framework.Assert; import org.junit.Before; import org.junit.Test; -import org.zstack.appliancevm.*; +import org.zstack.appliancevm.ApplianceVmConstant; +import org.zstack.appliancevm.ApplianceVmFacade; +import org.zstack.appliancevm.ApplianceVmInventory; +import org.zstack.appliancevm.ApplianceVmNicSpec; +import org.zstack.appliancevm.ApplianceVmSpec; +import org.zstack.appliancevm.ApplianceVmType; import org.zstack.core.cloudbus.CloudBus; import org.zstack.core.componentloader.ComponentLoader; import org.zstack.core.db.DatabaseFacade; diff --git a/test/src/test/java/org/zstack/test/applianceVm/TestRebootApplianceVmKvm.java b/test/src/test/java/org/zstack/test/applianceVm/TestRebootApplianceVmKvm.java index c51298a0613..07d53b0bf25 100755 --- a/test/src/test/java/org/zstack/test/applianceVm/TestRebootApplianceVmKvm.java +++ b/test/src/test/java/org/zstack/test/applianceVm/TestRebootApplianceVmKvm.java @@ -3,7 +3,13 @@ import junit.framework.Assert; import org.junit.Before; import org.junit.Test; -import org.zstack.appliancevm.*; +import org.zstack.appliancevm.ApplianceVmConstant; +import org.zstack.appliancevm.ApplianceVmFacade; +import org.zstack.appliancevm.ApplianceVmInventory; +import org.zstack.appliancevm.ApplianceVmNicSpec; +import org.zstack.appliancevm.ApplianceVmNicTO; +import org.zstack.appliancevm.ApplianceVmSpec; +import org.zstack.appliancevm.ApplianceVmType; import org.zstack.core.cloudbus.CloudBus; import org.zstack.core.componentloader.ComponentLoader; import org.zstack.core.db.DatabaseFacade; diff --git a/test/src/test/java/org/zstack/test/applianceVm/TestStartApplianceVm.java b/test/src/test/java/org/zstack/test/applianceVm/TestStartApplianceVm.java index 66c1851f6c5..30c5419a5eb 100755 --- a/test/src/test/java/org/zstack/test/applianceVm/TestStartApplianceVm.java +++ b/test/src/test/java/org/zstack/test/applianceVm/TestStartApplianceVm.java @@ -3,7 +3,12 @@ import junit.framework.Assert; import org.junit.Before; import org.junit.Test; -import org.zstack.appliancevm.*; +import org.zstack.appliancevm.ApplianceVmConstant; +import org.zstack.appliancevm.ApplianceVmFacade; +import org.zstack.appliancevm.ApplianceVmInventory; +import org.zstack.appliancevm.ApplianceVmNicSpec; +import org.zstack.appliancevm.ApplianceVmSpec; +import org.zstack.appliancevm.ApplianceVmType; import org.zstack.core.cloudbus.CloudBus; import org.zstack.core.componentloader.ComponentLoader; import org.zstack.core.db.DatabaseFacade; diff --git a/test/src/test/java/org/zstack/test/applianceVm/TestStartApplianceVmKvm.java b/test/src/test/java/org/zstack/test/applianceVm/TestStartApplianceVmKvm.java index 32d25744554..e20cccc4ef3 100755 --- a/test/src/test/java/org/zstack/test/applianceVm/TestStartApplianceVmKvm.java +++ b/test/src/test/java/org/zstack/test/applianceVm/TestStartApplianceVmKvm.java @@ -3,7 +3,13 @@ import junit.framework.Assert; import org.junit.Before; import org.junit.Test; -import org.zstack.appliancevm.*; +import org.zstack.appliancevm.ApplianceVmConstant; +import org.zstack.appliancevm.ApplianceVmFacade; +import org.zstack.appliancevm.ApplianceVmInventory; +import org.zstack.appliancevm.ApplianceVmNicSpec; +import org.zstack.appliancevm.ApplianceVmNicTO; +import org.zstack.appliancevm.ApplianceVmSpec; +import org.zstack.appliancevm.ApplianceVmType; import org.zstack.core.cloudbus.CloudBus; import org.zstack.core.componentloader.ComponentLoader; import org.zstack.core.db.DatabaseFacade; diff --git a/test/src/test/java/org/zstack/test/applianceVm/TestStartApplianceVmKvm2.java b/test/src/test/java/org/zstack/test/applianceVm/TestStartApplianceVmKvm2.java index 60221d76961..a65e86e682b 100755 --- a/test/src/test/java/org/zstack/test/applianceVm/TestStartApplianceVmKvm2.java +++ b/test/src/test/java/org/zstack/test/applianceVm/TestStartApplianceVmKvm2.java @@ -3,7 +3,12 @@ import junit.framework.Assert; import org.junit.Before; import org.junit.Test; -import org.zstack.appliancevm.*; +import org.zstack.appliancevm.ApplianceVmFacade; +import org.zstack.appliancevm.ApplianceVmInventory; +import org.zstack.appliancevm.ApplianceVmKvmBackend; +import org.zstack.appliancevm.ApplianceVmNicSpec; +import org.zstack.appliancevm.ApplianceVmSpec; +import org.zstack.appliancevm.ApplianceVmType; import org.zstack.core.cloudbus.CloudBus; import org.zstack.core.componentloader.ComponentLoader; import org.zstack.core.db.DatabaseFacade; diff --git a/test/src/test/java/org/zstack/test/applianceVm/TestStopApplianceVm.java b/test/src/test/java/org/zstack/test/applianceVm/TestStopApplianceVm.java index ef44bf2a8cd..d6fe08c11ff 100755 --- a/test/src/test/java/org/zstack/test/applianceVm/TestStopApplianceVm.java +++ b/test/src/test/java/org/zstack/test/applianceVm/TestStopApplianceVm.java @@ -3,7 +3,12 @@ import junit.framework.Assert; import org.junit.Before; import org.junit.Test; -import org.zstack.appliancevm.*; +import org.zstack.appliancevm.ApplianceVmConstant; +import org.zstack.appliancevm.ApplianceVmFacade; +import org.zstack.appliancevm.ApplianceVmInventory; +import org.zstack.appliancevm.ApplianceVmNicSpec; +import org.zstack.appliancevm.ApplianceVmSpec; +import org.zstack.appliancevm.ApplianceVmType; import org.zstack.core.cloudbus.CloudBus; import org.zstack.core.componentloader.ComponentLoader; import org.zstack.core.db.DatabaseFacade; diff --git a/test/src/test/java/org/zstack/test/cascade/TestCascadeDeletion14.java b/test/src/test/java/org/zstack/test/cascade/TestCascadeDeletion14.java index 24fa4b32cdc..75dad36e6b2 100755 --- a/test/src/test/java/org/zstack/test/cascade/TestCascadeDeletion14.java +++ b/test/src/test/java/org/zstack/test/cascade/TestCascadeDeletion14.java @@ -7,7 +7,11 @@ import org.zstack.core.componentloader.ComponentLoader; import org.zstack.core.db.DatabaseFacade; import org.zstack.header.cluster.ClusterVO; -import org.zstack.header.configuration.*; +import org.zstack.header.configuration.DiskOfferingInventory; +import org.zstack.header.configuration.DiskOfferingVO; +import org.zstack.header.configuration.InstanceOfferingEO; +import org.zstack.header.configuration.InstanceOfferingInventory; +import org.zstack.header.configuration.InstanceOfferingVO; import org.zstack.header.host.HostVO; import org.zstack.header.image.ImageVO; import org.zstack.header.network.l2.L2NetworkVO; diff --git a/test/src/test/java/org/zstack/test/compute/cluster/ClusteChangeStateExtension.java b/test/src/test/java/org/zstack/test/compute/cluster/ClusteChangeStateExtension.java index 748846f943a..b99d06e88ea 100755 --- a/test/src/test/java/org/zstack/test/compute/cluster/ClusteChangeStateExtension.java +++ b/test/src/test/java/org/zstack/test/compute/cluster/ClusteChangeStateExtension.java @@ -1,6 +1,10 @@ package org.zstack.test.compute.cluster; -import org.zstack.header.cluster.*; +import org.zstack.header.cluster.ClusterChangeStateExtensionPoint; +import org.zstack.header.cluster.ClusterException; +import org.zstack.header.cluster.ClusterInventory; +import org.zstack.header.cluster.ClusterState; +import org.zstack.header.cluster.ClusterStateEvent; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; diff --git a/test/src/test/java/org/zstack/test/compute/cluster/CreateClusters.java b/test/src/test/java/org/zstack/test/compute/cluster/CreateClusters.java index be760d17fa3..d8b1b618fea 100755 --- a/test/src/test/java/org/zstack/test/compute/cluster/CreateClusters.java +++ b/test/src/test/java/org/zstack/test/compute/cluster/CreateClusters.java @@ -5,7 +5,11 @@ import org.zstack.core.componentloader.ComponentLoader; import org.zstack.core.db.DatabaseFacade; import org.zstack.header.zone.ZoneInventory; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; /* called by other test case to generate database records for cluster*/ public class CreateClusters { diff --git a/test/src/test/java/org/zstack/test/compute/cluster/TestChangeClusterState.java b/test/src/test/java/org/zstack/test/compute/cluster/TestChangeClusterState.java index b462561b730..f2a099f025b 100755 --- a/test/src/test/java/org/zstack/test/compute/cluster/TestChangeClusterState.java +++ b/test/src/test/java/org/zstack/test/compute/cluster/TestChangeClusterState.java @@ -10,7 +10,11 @@ import org.zstack.header.cluster.ClusterState; import org.zstack.header.cluster.ClusterStateEvent; import org.zstack.header.zone.ZoneInventory; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; diff --git a/test/src/test/java/org/zstack/test/compute/cluster/TestChangeClusterStateExtensionPoint.java b/test/src/test/java/org/zstack/test/compute/cluster/TestChangeClusterStateExtensionPoint.java index 70aa56d71a4..965531a2569 100755 --- a/test/src/test/java/org/zstack/test/compute/cluster/TestChangeClusterStateExtensionPoint.java +++ b/test/src/test/java/org/zstack/test/compute/cluster/TestChangeClusterStateExtensionPoint.java @@ -10,7 +10,11 @@ import org.zstack.header.cluster.ClusterStateEvent; import org.zstack.header.cluster.ClusterVO; import org.zstack.header.zone.ZoneInventory; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; diff --git a/test/src/test/java/org/zstack/test/compute/cluster/TestChangeZoneStateCascadeToCluster.java b/test/src/test/java/org/zstack/test/compute/cluster/TestChangeZoneStateCascadeToCluster.java index 7ea4f752bdc..908e22ccd9a 100755 --- a/test/src/test/java/org/zstack/test/compute/cluster/TestChangeZoneStateCascadeToCluster.java +++ b/test/src/test/java/org/zstack/test/compute/cluster/TestChangeZoneStateCascadeToCluster.java @@ -10,7 +10,11 @@ import org.zstack.header.cluster.ClusterVO; import org.zstack.header.zone.ZoneInventory; import org.zstack.header.zone.ZoneStateEvent; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; public class TestChangeZoneStateCascadeToCluster { Api api; diff --git a/test/src/test/java/org/zstack/test/compute/cluster/TestCreateCluster.java b/test/src/test/java/org/zstack/test/compute/cluster/TestCreateCluster.java index 9f47a3be0b7..e6f1a50032f 100755 --- a/test/src/test/java/org/zstack/test/compute/cluster/TestCreateCluster.java +++ b/test/src/test/java/org/zstack/test/compute/cluster/TestCreateCluster.java @@ -8,7 +8,11 @@ import org.zstack.header.cluster.ClusterInventory; import org.zstack.header.cluster.ClusterVO; import org.zstack.header.zone.ZoneInventory; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; public class TestCreateCluster { Api api; diff --git a/test/src/test/java/org/zstack/test/compute/cluster/TestDeleteCluster.java b/test/src/test/java/org/zstack/test/compute/cluster/TestDeleteCluster.java index d535804f197..80ac307d840 100755 --- a/test/src/test/java/org/zstack/test/compute/cluster/TestDeleteCluster.java +++ b/test/src/test/java/org/zstack/test/compute/cluster/TestDeleteCluster.java @@ -8,7 +8,11 @@ import org.zstack.header.cluster.ClusterInventory; import org.zstack.header.cluster.ClusterVO; import org.zstack.header.zone.ZoneInventory; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; public class TestDeleteCluster { Api api; diff --git a/test/src/test/java/org/zstack/test/compute/cluster/TestDeleteClusterExtensionPoint.java b/test/src/test/java/org/zstack/test/compute/cluster/TestDeleteClusterExtensionPoint.java index 519cd6de9f9..161ff6c97d0 100755 --- a/test/src/test/java/org/zstack/test/compute/cluster/TestDeleteClusterExtensionPoint.java +++ b/test/src/test/java/org/zstack/test/compute/cluster/TestDeleteClusterExtensionPoint.java @@ -10,7 +10,11 @@ import org.zstack.header.cluster.ClusterInventory; import org.zstack.header.cluster.ClusterVO; import org.zstack.header.zone.ZoneInventory; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; public class TestDeleteClusterExtensionPoint { Api api; diff --git a/test/src/test/java/org/zstack/test/compute/cluster/TestDeleteClusterExtensionPoint1.java b/test/src/test/java/org/zstack/test/compute/cluster/TestDeleteClusterExtensionPoint1.java index 18dca6fabc8..2d358c9ef1e 100755 --- a/test/src/test/java/org/zstack/test/compute/cluster/TestDeleteClusterExtensionPoint1.java +++ b/test/src/test/java/org/zstack/test/compute/cluster/TestDeleteClusterExtensionPoint1.java @@ -8,7 +8,11 @@ import org.zstack.header.cluster.ClusterInventory; import org.zstack.header.cluster.ClusterVO; import org.zstack.header.zone.ZoneInventory; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; public class TestDeleteClusterExtensionPoint1 { Api api; diff --git a/test/src/test/java/org/zstack/test/compute/cluster/TestDeleteZoneCascadeToCluster.java b/test/src/test/java/org/zstack/test/compute/cluster/TestDeleteZoneCascadeToCluster.java index 66b2fecbc84..c73c60dad62 100755 --- a/test/src/test/java/org/zstack/test/compute/cluster/TestDeleteZoneCascadeToCluster.java +++ b/test/src/test/java/org/zstack/test/compute/cluster/TestDeleteZoneCascadeToCluster.java @@ -8,7 +8,11 @@ import org.zstack.header.cluster.ClusterInventory; import org.zstack.header.cluster.ClusterVO; import org.zstack.header.zone.ZoneInventory; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; public class TestDeleteZoneCascadeToCluster { Api api; diff --git a/test/src/test/java/org/zstack/test/compute/cluster/TestListCluster.java b/test/src/test/java/org/zstack/test/compute/cluster/TestListCluster.java index 361086f72be..77411629572 100755 --- a/test/src/test/java/org/zstack/test/compute/cluster/TestListCluster.java +++ b/test/src/test/java/org/zstack/test/compute/cluster/TestListCluster.java @@ -7,7 +7,11 @@ import org.zstack.core.db.DatabaseFacade; import org.zstack.header.cluster.ClusterInventory; import org.zstack.header.zone.ZoneInventory; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import java.util.ArrayList; import java.util.List; diff --git a/test/src/test/java/org/zstack/test/compute/cluster/TestUpdateCluster.java b/test/src/test/java/org/zstack/test/compute/cluster/TestUpdateCluster.java index 423a6392123..69f1a53dc18 100755 --- a/test/src/test/java/org/zstack/test/compute/cluster/TestUpdateCluster.java +++ b/test/src/test/java/org/zstack/test/compute/cluster/TestUpdateCluster.java @@ -7,7 +7,11 @@ import org.zstack.core.db.DatabaseFacade; import org.zstack.header.cluster.ClusterInventory; import org.zstack.header.zone.ZoneInventory; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; public class TestUpdateCluster { Api api; diff --git a/test/src/test/java/org/zstack/test/compute/host/ChangeHostStateExtension.java b/test/src/test/java/org/zstack/test/compute/host/ChangeHostStateExtension.java index 4c14e478f49..b4d7f75a040 100755 --- a/test/src/test/java/org/zstack/test/compute/host/ChangeHostStateExtension.java +++ b/test/src/test/java/org/zstack/test/compute/host/ChangeHostStateExtension.java @@ -1,6 +1,10 @@ package org.zstack.test.compute.host; -import org.zstack.header.host.*; +import org.zstack.header.host.HostChangeStateExtensionPoint; +import org.zstack.header.host.HostException; +import org.zstack.header.host.HostInventory; +import org.zstack.header.host.HostState; +import org.zstack.header.host.HostStateEvent; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; diff --git a/test/src/test/java/org/zstack/test/compute/host/CreateHost.java b/test/src/test/java/org/zstack/test/compute/host/CreateHost.java index eb4c77ad2d1..49f63a24a55 100755 --- a/test/src/test/java/org/zstack/test/compute/host/CreateHost.java +++ b/test/src/test/java/org/zstack/test/compute/host/CreateHost.java @@ -6,7 +6,11 @@ import org.zstack.core.db.DatabaseFacade; import org.zstack.header.cluster.ClusterInventory; import org.zstack.header.zone.ZoneInventory; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; diff --git a/test/src/test/java/org/zstack/test/compute/host/TestChangeHostState.java b/test/src/test/java/org/zstack/test/compute/host/TestChangeHostState.java index f0a86291b75..cf15225ae0b 100755 --- a/test/src/test/java/org/zstack/test/compute/host/TestChangeHostState.java +++ b/test/src/test/java/org/zstack/test/compute/host/TestChangeHostState.java @@ -11,7 +11,11 @@ import org.zstack.header.host.HostState; import org.zstack.header.host.HostStateEvent; import org.zstack.header.zone.ZoneInventory; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; diff --git a/test/src/test/java/org/zstack/test/compute/host/TestChangeHostStateExtensionPoint.java b/test/src/test/java/org/zstack/test/compute/host/TestChangeHostStateExtensionPoint.java index fc24044cf5b..691be0b3daf 100755 --- a/test/src/test/java/org/zstack/test/compute/host/TestChangeHostStateExtensionPoint.java +++ b/test/src/test/java/org/zstack/test/compute/host/TestChangeHostStateExtensionPoint.java @@ -10,7 +10,11 @@ import org.zstack.header.host.HostState; import org.zstack.header.host.HostStateEvent; import org.zstack.header.zone.ZoneInventory; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; public class TestChangeHostStateExtensionPoint { Api api; diff --git a/test/src/test/java/org/zstack/test/compute/host/TestChangeZoneStateCascadeToHost.java b/test/src/test/java/org/zstack/test/compute/host/TestChangeZoneStateCascadeToHost.java index 1ef6a137b80..fb241787100 100755 --- a/test/src/test/java/org/zstack/test/compute/host/TestChangeZoneStateCascadeToHost.java +++ b/test/src/test/java/org/zstack/test/compute/host/TestChangeZoneStateCascadeToHost.java @@ -11,7 +11,11 @@ import org.zstack.header.host.HostVO; import org.zstack.header.zone.ZoneInventory; import org.zstack.header.zone.ZoneStateEvent; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import java.util.concurrent.CountDownLatch; import java.util.concurrent.CyclicBarrier; diff --git a/test/src/test/java/org/zstack/test/compute/host/TestChangeZoneStateCascadeToHostExtension.java b/test/src/test/java/org/zstack/test/compute/host/TestChangeZoneStateCascadeToHostExtension.java index 1accd0efcc7..477086ef042 100755 --- a/test/src/test/java/org/zstack/test/compute/host/TestChangeZoneStateCascadeToHostExtension.java +++ b/test/src/test/java/org/zstack/test/compute/host/TestChangeZoneStateCascadeToHostExtension.java @@ -12,7 +12,11 @@ import org.zstack.header.zone.ZoneInventory; import org.zstack.header.zone.ZoneState; import org.zstack.header.zone.ZoneStateEvent; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; public class TestChangeZoneStateCascadeToHostExtension { Api api; diff --git a/test/src/test/java/org/zstack/test/compute/host/TestCreateHost.java b/test/src/test/java/org/zstack/test/compute/host/TestCreateHost.java index bb1b8f5c470..6ac96eee227 100755 --- a/test/src/test/java/org/zstack/test/compute/host/TestCreateHost.java +++ b/test/src/test/java/org/zstack/test/compute/host/TestCreateHost.java @@ -10,7 +10,11 @@ import org.zstack.header.host.HostVO; import org.zstack.header.simulator.SimulatorHostVO; import org.zstack.header.zone.ZoneInventory; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; diff --git a/test/src/test/java/org/zstack/test/compute/host/TestDeleteHost.java b/test/src/test/java/org/zstack/test/compute/host/TestDeleteHost.java index 86cf4d5d7db..0b4b799ae6a 100755 --- a/test/src/test/java/org/zstack/test/compute/host/TestDeleteHost.java +++ b/test/src/test/java/org/zstack/test/compute/host/TestDeleteHost.java @@ -10,7 +10,11 @@ import org.zstack.header.host.HostVO; import org.zstack.header.simulator.SimulatorHostVO; import org.zstack.header.zone.ZoneInventory; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; diff --git a/test/src/test/java/org/zstack/test/compute/host/TestDeleteZoneCascadeToHost.java b/test/src/test/java/org/zstack/test/compute/host/TestDeleteZoneCascadeToHost.java index 144a3569a48..20ed3d6ecaa 100755 --- a/test/src/test/java/org/zstack/test/compute/host/TestDeleteZoneCascadeToHost.java +++ b/test/src/test/java/org/zstack/test/compute/host/TestDeleteZoneCascadeToHost.java @@ -10,7 +10,11 @@ import org.zstack.header.host.HostVO; import org.zstack.header.simulator.SimulatorHostVO; import org.zstack.header.zone.ZoneInventory; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; diff --git a/test/src/test/java/org/zstack/test/compute/host/TestDeleteZoneCascadeToHostExtension.java b/test/src/test/java/org/zstack/test/compute/host/TestDeleteZoneCascadeToHostExtension.java index 4f483ddee6e..1fb0f8f92ab 100755 --- a/test/src/test/java/org/zstack/test/compute/host/TestDeleteZoneCascadeToHostExtension.java +++ b/test/src/test/java/org/zstack/test/compute/host/TestDeleteZoneCascadeToHostExtension.java @@ -10,7 +10,11 @@ import org.zstack.header.host.HostVO; import org.zstack.header.simulator.SimulatorHostVO; import org.zstack.header.zone.ZoneInventory; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; public class TestDeleteZoneCascadeToHostExtension { Api api; diff --git a/test/src/test/java/org/zstack/test/compute/host/TestHostDeleteExtensionPoint.java b/test/src/test/java/org/zstack/test/compute/host/TestHostDeleteExtensionPoint.java index bfafd56093b..841f7efff97 100755 --- a/test/src/test/java/org/zstack/test/compute/host/TestHostDeleteExtensionPoint.java +++ b/test/src/test/java/org/zstack/test/compute/host/TestHostDeleteExtensionPoint.java @@ -10,7 +10,11 @@ import org.zstack.header.host.HostVO; import org.zstack.header.simulator.SimulatorHostVO; import org.zstack.header.zone.ZoneInventory; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; diff --git a/test/src/test/java/org/zstack/test/compute/host/TestHostMaintenanceAndDelete.java b/test/src/test/java/org/zstack/test/compute/host/TestHostMaintenanceAndDelete.java index a98ef379961..d571545fa36 100755 --- a/test/src/test/java/org/zstack/test/compute/host/TestHostMaintenanceAndDelete.java +++ b/test/src/test/java/org/zstack/test/compute/host/TestHostMaintenanceAndDelete.java @@ -10,7 +10,11 @@ import org.zstack.header.host.HostVO; import org.zstack.header.simulator.SimulatorHostVO; import org.zstack.header.zone.ZoneInventory; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; diff --git a/test/src/test/java/org/zstack/test/compute/host/TestListHost.java b/test/src/test/java/org/zstack/test/compute/host/TestListHost.java index 049ded128bb..c0c6107127c 100755 --- a/test/src/test/java/org/zstack/test/compute/host/TestListHost.java +++ b/test/src/test/java/org/zstack/test/compute/host/TestListHost.java @@ -8,7 +8,11 @@ import org.zstack.header.cluster.ClusterInventory; import org.zstack.header.host.HostInventory; import org.zstack.header.zone.ZoneInventory; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; diff --git a/test/src/test/java/org/zstack/test/compute/host/TestLoadHosts.java b/test/src/test/java/org/zstack/test/compute/host/TestLoadHosts.java index f16e960c441..e576b03b721 100755 --- a/test/src/test/java/org/zstack/test/compute/host/TestLoadHosts.java +++ b/test/src/test/java/org/zstack/test/compute/host/TestLoadHosts.java @@ -10,7 +10,11 @@ import org.zstack.header.host.HostStatus; import org.zstack.header.host.HostVO; import org.zstack.header.host.HostVO_; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.UnitTestUtils; +import org.zstack.test.WebBeanConstructor; import java.util.concurrent.TimeUnit; diff --git a/test/src/test/java/org/zstack/test/compute/host/TestLoadHosts2.java b/test/src/test/java/org/zstack/test/compute/host/TestLoadHosts2.java index 25e0d5d85c4..d6c8910fa8a 100755 --- a/test/src/test/java/org/zstack/test/compute/host/TestLoadHosts2.java +++ b/test/src/test/java/org/zstack/test/compute/host/TestLoadHosts2.java @@ -12,7 +12,11 @@ import org.zstack.header.host.HostStatus; import org.zstack.header.host.HostVO; import org.zstack.header.host.HostVO_; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.UnitTestUtils; +import org.zstack.test.WebBeanConstructor; import java.util.concurrent.TimeUnit; diff --git a/test/src/test/java/org/zstack/test/compute/host/TestPingTask.java b/test/src/test/java/org/zstack/test/compute/host/TestPingTask.java index a7638f75c33..2a8bd784679 100755 --- a/test/src/test/java/org/zstack/test/compute/host/TestPingTask.java +++ b/test/src/test/java/org/zstack/test/compute/host/TestPingTask.java @@ -12,7 +12,12 @@ import org.zstack.header.host.HostStatus; import org.zstack.header.zone.ZoneInventory; import org.zstack.simulator.SimulatorController; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.UnitTestUtils; +import org.zstack.test.WebBeanConstructor; import java.util.concurrent.Callable; import java.util.concurrent.TimeUnit; diff --git a/test/src/test/java/org/zstack/test/compute/host/TestReconnectHost.java b/test/src/test/java/org/zstack/test/compute/host/TestReconnectHost.java index b8210b91e6f..6fd60bae9d4 100644 --- a/test/src/test/java/org/zstack/test/compute/host/TestReconnectHost.java +++ b/test/src/test/java/org/zstack/test/compute/host/TestReconnectHost.java @@ -16,7 +16,11 @@ import org.zstack.header.vm.VmInstanceState; import org.zstack.header.vm.VmInstanceVO; import org.zstack.simulator.storage.backup.sftp.SftpBackupStorageSimulatorConfig; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSender; +import org.zstack.test.ApiSenderException; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.deployer.Deployer; import org.zstack.test.storage.backup.sftp.TestSftpBackupStorageDeleteImage2; import org.zstack.utils.Utils; diff --git a/test/src/test/java/org/zstack/test/compute/host/TestUpdateHost.java b/test/src/test/java/org/zstack/test/compute/host/TestUpdateHost.java index 518a5892c6b..663d1b95495 100755 --- a/test/src/test/java/org/zstack/test/compute/host/TestUpdateHost.java +++ b/test/src/test/java/org/zstack/test/compute/host/TestUpdateHost.java @@ -8,7 +8,11 @@ import org.zstack.header.cluster.ClusterInventory; import org.zstack.header.host.HostInventory; import org.zstack.header.zone.ZoneInventory; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; diff --git a/test/src/test/java/org/zstack/test/compute/hostallocator/TestDefaultHostAllocationStrategy3.java b/test/src/test/java/org/zstack/test/compute/hostallocator/TestDefaultHostAllocationStrategy3.java index 2cc4e5378a0..225c0012270 100755 --- a/test/src/test/java/org/zstack/test/compute/hostallocator/TestDefaultHostAllocationStrategy3.java +++ b/test/src/test/java/org/zstack/test/compute/hostallocator/TestDefaultHostAllocationStrategy3.java @@ -13,7 +13,12 @@ import org.zstack.header.host.HostVO; import org.zstack.header.image.ImageInventory; import org.zstack.header.network.l3.L3NetworkInventory; -import org.zstack.header.vm.*; +import org.zstack.header.vm.APICreateVmInstanceEvent; +import org.zstack.header.vm.APICreateVmInstanceMsg; +import org.zstack.header.vm.VmInstanceConstant; +import org.zstack.header.vm.VmInstanceInventory; +import org.zstack.header.vm.VmInstanceVO; +import org.zstack.header.vm.VmInstanceVO_; import org.zstack.test.Api; import org.zstack.test.ApiSender; import org.zstack.test.ApiSenderException; diff --git a/test/src/test/java/org/zstack/test/compute/hostallocator/TestDesignatedHostAllocationStrategy9.java b/test/src/test/java/org/zstack/test/compute/hostallocator/TestDesignatedHostAllocationStrategy9.java index 0bd10486549..7c717e0f899 100755 --- a/test/src/test/java/org/zstack/test/compute/hostallocator/TestDesignatedHostAllocationStrategy9.java +++ b/test/src/test/java/org/zstack/test/compute/hostallocator/TestDesignatedHostAllocationStrategy9.java @@ -11,7 +11,11 @@ import org.zstack.header.configuration.InstanceOfferingVO; import org.zstack.header.image.ImageInventory; import org.zstack.header.network.l3.L3NetworkInventory; -import org.zstack.header.vm.*; +import org.zstack.header.vm.APICreateVmInstanceEvent; +import org.zstack.header.vm.APICreateVmInstanceMsg; +import org.zstack.header.vm.VmInstanceConstant; +import org.zstack.header.vm.VmInstanceInventory; +import org.zstack.header.vm.VmInstanceState; import org.zstack.storage.primary.PrimaryStorageSystemTags; import org.zstack.test.Api; import org.zstack.test.ApiSender; diff --git a/test/src/test/java/org/zstack/test/compute/hostallocator/TestLeastVmPreferredHostAllocationStrategy.java b/test/src/test/java/org/zstack/test/compute/hostallocator/TestLeastVmPreferredHostAllocationStrategy.java index b21c3efab95..984917a76d4 100755 --- a/test/src/test/java/org/zstack/test/compute/hostallocator/TestLeastVmPreferredHostAllocationStrategy.java +++ b/test/src/test/java/org/zstack/test/compute/hostallocator/TestLeastVmPreferredHostAllocationStrategy.java @@ -15,7 +15,11 @@ import org.zstack.header.network.l3.L3NetworkInventory; import org.zstack.header.simulator.APIAddSimulatorHostMsg; import org.zstack.header.vm.VmInstanceInventory; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSender; +import org.zstack.test.ApiSenderException; +import org.zstack.test.DBUtil; +import org.zstack.test.VmCreator; import org.zstack.test.deployer.Deployer; import org.zstack.utils.data.SizeUnit; import org.zstack.utils.network.NetworkUtils; diff --git a/test/src/test/java/org/zstack/test/compute/hostallocator/TestReservedHostCapacity.java b/test/src/test/java/org/zstack/test/compute/hostallocator/TestReservedHostCapacity.java index e9933014b14..d20d913d568 100755 --- a/test/src/test/java/org/zstack/test/compute/hostallocator/TestReservedHostCapacity.java +++ b/test/src/test/java/org/zstack/test/compute/hostallocator/TestReservedHostCapacity.java @@ -9,7 +9,11 @@ import org.zstack.header.image.ImageInventory; import org.zstack.header.network.l3.L3NetworkInventory; import org.zstack.kvm.KVMGlobalConfig; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.DBUtil; +import org.zstack.test.VmCreator; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.deployer.Deployer; /** diff --git a/test/src/test/java/org/zstack/test/compute/hostallocator/TestReservedHostCapacity1.java b/test/src/test/java/org/zstack/test/compute/hostallocator/TestReservedHostCapacity1.java index a9a69c9dd18..b210c327296 100755 --- a/test/src/test/java/org/zstack/test/compute/hostallocator/TestReservedHostCapacity1.java +++ b/test/src/test/java/org/zstack/test/compute/hostallocator/TestReservedHostCapacity1.java @@ -9,7 +9,11 @@ import org.zstack.header.image.ImageInventory; import org.zstack.header.network.l3.L3NetworkInventory; import org.zstack.kvm.KVMGlobalConfig; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.DBUtil; +import org.zstack.test.VmCreator; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.deployer.Deployer; /** diff --git a/test/src/test/java/org/zstack/test/compute/hostallocator/TestReservedHostCapacity2.java b/test/src/test/java/org/zstack/test/compute/hostallocator/TestReservedHostCapacity2.java index 6262b958c65..16af54ca2c3 100755 --- a/test/src/test/java/org/zstack/test/compute/hostallocator/TestReservedHostCapacity2.java +++ b/test/src/test/java/org/zstack/test/compute/hostallocator/TestReservedHostCapacity2.java @@ -14,7 +14,11 @@ import org.zstack.header.network.l3.L3NetworkInventory; import org.zstack.header.tag.TagInventory; import org.zstack.tag.SystemTagCreator; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.DBUtil; +import org.zstack.test.VmCreator; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.deployer.Deployer; import static org.zstack.utils.CollectionDSL.e; diff --git a/test/src/test/java/org/zstack/test/compute/hostallocator/TestReservedHostCapacity3.java b/test/src/test/java/org/zstack/test/compute/hostallocator/TestReservedHostCapacity3.java index a4d8efbdc05..6efeb3f13e4 100755 --- a/test/src/test/java/org/zstack/test/compute/hostallocator/TestReservedHostCapacity3.java +++ b/test/src/test/java/org/zstack/test/compute/hostallocator/TestReservedHostCapacity3.java @@ -14,7 +14,11 @@ import org.zstack.header.network.l3.L3NetworkInventory; import org.zstack.header.tag.TagInventory; import org.zstack.tag.SystemTagCreator; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.DBUtil; +import org.zstack.test.VmCreator; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.deployer.Deployer; import static org.zstack.utils.CollectionDSL.e; diff --git a/test/src/test/java/org/zstack/test/compute/hostallocator/TestReservedHostCapacity4.java b/test/src/test/java/org/zstack/test/compute/hostallocator/TestReservedHostCapacity4.java index 4e9371829b0..89f543097ca 100755 --- a/test/src/test/java/org/zstack/test/compute/hostallocator/TestReservedHostCapacity4.java +++ b/test/src/test/java/org/zstack/test/compute/hostallocator/TestReservedHostCapacity4.java @@ -14,7 +14,11 @@ import org.zstack.header.tag.TagInventory; import org.zstack.header.zone.ZoneInventory; import org.zstack.tag.SystemTagCreator; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.DBUtil; +import org.zstack.test.VmCreator; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.deployer.Deployer; import static org.zstack.utils.CollectionDSL.e; diff --git a/test/src/test/java/org/zstack/test/compute/hostallocator/TestReservedHostCapacity5.java b/test/src/test/java/org/zstack/test/compute/hostallocator/TestReservedHostCapacity5.java index b2f04408acd..dbe2be814dc 100755 --- a/test/src/test/java/org/zstack/test/compute/hostallocator/TestReservedHostCapacity5.java +++ b/test/src/test/java/org/zstack/test/compute/hostallocator/TestReservedHostCapacity5.java @@ -19,7 +19,11 @@ import org.zstack.header.zone.ZoneInventory; import org.zstack.kvm.KVMGlobalConfig; import org.zstack.tag.SystemTagCreator; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.DBUtil; +import org.zstack.test.VmCreator; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.deployer.Deployer; import static org.zstack.utils.CollectionDSL.e; diff --git a/test/src/test/java/org/zstack/test/compute/hostallocator/TestReservedHostCapacity7.java b/test/src/test/java/org/zstack/test/compute/hostallocator/TestReservedHostCapacity7.java index b84f63ddf7c..8227485a852 100755 --- a/test/src/test/java/org/zstack/test/compute/hostallocator/TestReservedHostCapacity7.java +++ b/test/src/test/java/org/zstack/test/compute/hostallocator/TestReservedHostCapacity7.java @@ -18,7 +18,11 @@ import org.zstack.header.zone.ZoneInventory; import org.zstack.kvm.KVMGlobalConfig; import org.zstack.tag.SystemTagCreator; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.DBUtil; +import org.zstack.test.VmCreator; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.deployer.Deployer; import static org.zstack.utils.CollectionDSL.e; diff --git a/test/src/test/java/org/zstack/test/compute/hostallocator/TestReservedHostCapacity8.java b/test/src/test/java/org/zstack/test/compute/hostallocator/TestReservedHostCapacity8.java index c03967e5deb..71fbe4cad9b 100755 --- a/test/src/test/java/org/zstack/test/compute/hostallocator/TestReservedHostCapacity8.java +++ b/test/src/test/java/org/zstack/test/compute/hostallocator/TestReservedHostCapacity8.java @@ -18,7 +18,11 @@ import org.zstack.header.zone.ZoneInventory; import org.zstack.kvm.KVMGlobalConfig; import org.zstack.tag.SystemTagCreator; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.DBUtil; +import org.zstack.test.VmCreator; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.deployer.Deployer; import static org.zstack.utils.CollectionDSL.e; diff --git a/test/src/test/java/org/zstack/test/compute/vm/TestChangeVmPassword.java b/test/src/test/java/org/zstack/test/compute/vm/TestChangeVmPassword.java index 63a756cf41a..df6ee390be5 100755 --- a/test/src/test/java/org/zstack/test/compute/vm/TestChangeVmPassword.java +++ b/test/src/test/java/org/zstack/test/compute/vm/TestChangeVmPassword.java @@ -6,7 +6,11 @@ import org.zstack.core.cloudbus.CloudBus; import org.zstack.core.componentloader.ComponentLoader; import org.zstack.core.db.DatabaseFacade; -import org.zstack.header.vm.*; +import org.zstack.header.vm.VmAccountPreference; +import org.zstack.header.vm.VmErrors; +import org.zstack.header.vm.VmInstanceInventory; +import org.zstack.header.vm.VmInstanceState; +import org.zstack.header.vm.VmInstanceVO; import org.zstack.test.Api; import org.zstack.test.ApiSenderException; import org.zstack.test.DBUtil; diff --git a/test/src/test/java/org/zstack/test/compute/vm/TestCreateVm.java b/test/src/test/java/org/zstack/test/compute/vm/TestCreateVm.java index 56a8dfe6140..e93a08dee96 100755 --- a/test/src/test/java/org/zstack/test/compute/vm/TestCreateVm.java +++ b/test/src/test/java/org/zstack/test/compute/vm/TestCreateVm.java @@ -13,7 +13,11 @@ import org.zstack.header.storage.primary.PrimaryStorageClusterRefVO_; import org.zstack.header.storage.primary.PrimaryStorageInventory; import org.zstack.header.storage.primary.PrimaryStorageStateEvent; -import org.zstack.header.vm.*; +import org.zstack.header.vm.VmInstanceInventory; +import org.zstack.header.vm.VmInstanceState; +import org.zstack.header.vm.VmInstanceVO; +import org.zstack.header.vm.VmNicInventory; +import org.zstack.header.vm.VmNicVO; import org.zstack.header.volume.VolumeInventory; import org.zstack.header.volume.VolumeType; import org.zstack.header.volume.VolumeVO; diff --git a/test/src/test/java/org/zstack/test/compute/vm/TestCreateVmFailure.java b/test/src/test/java/org/zstack/test/compute/vm/TestCreateVmFailure.java index 738936cca2c..360bd75cea0 100755 --- a/test/src/test/java/org/zstack/test/compute/vm/TestCreateVmFailure.java +++ b/test/src/test/java/org/zstack/test/compute/vm/TestCreateVmFailure.java @@ -13,7 +13,11 @@ import org.zstack.header.image.ImageInventory; import org.zstack.header.network.l3.L3NetworkInventory; import org.zstack.header.network.l3.UsedIpVO; -import org.zstack.header.vm.*; +import org.zstack.header.vm.CreateVmOnHypervisorMsg; +import org.zstack.header.vm.VmInstanceConstant; +import org.zstack.header.vm.VmInstanceInventory; +import org.zstack.header.vm.VmInstanceVO; +import org.zstack.header.vm.VmNicVO; import org.zstack.header.volume.VolumeVO; import org.zstack.test.Api; import org.zstack.test.ApiSenderException; diff --git a/test/src/test/java/org/zstack/test/compute/vm/TestDestroyVm.java b/test/src/test/java/org/zstack/test/compute/vm/TestDestroyVm.java index 697c8f697d8..7db896b9c20 100755 --- a/test/src/test/java/org/zstack/test/compute/vm/TestDestroyVm.java +++ b/test/src/test/java/org/zstack/test/compute/vm/TestDestroyVm.java @@ -11,7 +11,12 @@ import org.zstack.core.db.SimpleQuery.Op; import org.zstack.header.network.l3.APIGetIpAddressCapacityReply; import org.zstack.header.vm.VmInstanceDeletionPolicyManager.VmInstanceDeletionPolicy; -import org.zstack.header.vm.*; +import org.zstack.header.vm.VmInstanceInventory; +import org.zstack.header.vm.VmInstanceState; +import org.zstack.header.vm.VmInstanceVO; +import org.zstack.header.vm.VmNicInventory; +import org.zstack.header.vm.VmNicVO; +import org.zstack.header.vm.VmNicVO_; import org.zstack.header.volume.VolumeStatus; import org.zstack.header.volume.VolumeVO; import org.zstack.header.volume.VolumeVO_; diff --git a/test/src/test/java/org/zstack/test/compute/vm/TestDestroyVm1.java b/test/src/test/java/org/zstack/test/compute/vm/TestDestroyVm1.java index 505c42bde04..4fe2ba6eacb 100755 --- a/test/src/test/java/org/zstack/test/compute/vm/TestDestroyVm1.java +++ b/test/src/test/java/org/zstack/test/compute/vm/TestDestroyVm1.java @@ -11,7 +11,11 @@ import org.zstack.header.image.ImageVO; import org.zstack.header.network.l3.L3NetworkInventory; import org.zstack.header.storage.backup.BackupStorageInventory; -import org.zstack.header.vm.*; +import org.zstack.header.vm.VmInstanceDeletionPolicyManager; +import org.zstack.header.vm.VmInstanceEO; +import org.zstack.header.vm.VmInstanceInventory; +import org.zstack.header.vm.VmInstanceState; +import org.zstack.header.vm.VmInstanceVO; import org.zstack.test.Api; import org.zstack.test.ApiSenderException; import org.zstack.test.DBUtil; diff --git a/test/src/test/java/org/zstack/test/compute/vm/TestGetInterdependentL3NetworksImages.java b/test/src/test/java/org/zstack/test/compute/vm/TestGetInterdependentL3NetworksImages.java index 0835346d925..dfa4f5d9dd3 100755 --- a/test/src/test/java/org/zstack/test/compute/vm/TestGetInterdependentL3NetworksImages.java +++ b/test/src/test/java/org/zstack/test/compute/vm/TestGetInterdependentL3NetworksImages.java @@ -14,7 +14,11 @@ import org.zstack.header.zone.ZoneInventory; import org.zstack.storage.primary.local.LocalStorageSimulatorConfig; import org.zstack.storage.primary.local.LocalStorageSimulatorConfig.Capacity; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSender; +import org.zstack.test.ApiSenderException; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.deployer.Deployer; import org.zstack.test.storage.backup.sftp.TestSftpBackupStorageDeleteImage2; import org.zstack.utils.Utils; diff --git a/test/src/test/java/org/zstack/test/compute/vm/TestGetVmAttachableDataVolume.java b/test/src/test/java/org/zstack/test/compute/vm/TestGetVmAttachableDataVolume.java index c86ce2e77bc..f8e42c35481 100644 --- a/test/src/test/java/org/zstack/test/compute/vm/TestGetVmAttachableDataVolume.java +++ b/test/src/test/java/org/zstack/test/compute/vm/TestGetVmAttachableDataVolume.java @@ -10,7 +10,11 @@ import org.zstack.header.configuration.DiskOfferingVO; import org.zstack.header.configuration.DiskOfferingVO_; import org.zstack.header.vm.VmInstanceInventory; -import org.zstack.header.volume.*; +import org.zstack.header.volume.VolumeInventory; +import org.zstack.header.volume.VolumeState; +import org.zstack.header.volume.VolumeStatus; +import org.zstack.header.volume.VolumeType; +import org.zstack.header.volume.VolumeVO; import org.zstack.test.Api; import org.zstack.test.ApiSenderException; import org.zstack.test.DBUtil; diff --git a/test/src/test/java/org/zstack/test/compute/vm/TestGetVmCapabilities.java b/test/src/test/java/org/zstack/test/compute/vm/TestGetVmCapabilities.java index 53b72dbae8c..d0b9ff74923 100644 --- a/test/src/test/java/org/zstack/test/compute/vm/TestGetVmCapabilities.java +++ b/test/src/test/java/org/zstack/test/compute/vm/TestGetVmCapabilities.java @@ -9,8 +9,9 @@ import org.zstack.header.identity.SessionInventory; import org.zstack.header.image.ImageConstant; import org.zstack.header.image.ImageVO; -import org.zstack.header.vm.*; -import org.zstack.storage.primary.local.*; +import org.zstack.header.vm.VmInstanceConstant; +import org.zstack.header.vm.VmInstanceInventory; +import org.zstack.storage.primary.local.LocalStorageSimulatorConfig; import org.zstack.test.Api; import org.zstack.test.ApiSenderException; import org.zstack.test.DBUtil; diff --git a/test/src/test/java/org/zstack/test/compute/vm/TestPolicyForVm.java b/test/src/test/java/org/zstack/test/compute/vm/TestPolicyForVm.java index 4d141698052..b10635660be 100755 --- a/test/src/test/java/org/zstack/test/compute/vm/TestPolicyForVm.java +++ b/test/src/test/java/org/zstack/test/compute/vm/TestPolicyForVm.java @@ -8,12 +8,24 @@ import org.zstack.core.db.DatabaseFacade; import org.zstack.header.configuration.InstanceOfferingInventory; import org.zstack.header.host.HostInventory; -import org.zstack.header.identity.*; +import org.zstack.header.identity.IdentityErrors; +import org.zstack.header.identity.PolicyStatement; +import org.zstack.header.identity.SessionInventory; +import org.zstack.header.identity.UserInventory; import org.zstack.header.identity.PolicyStatementEffect; import org.zstack.header.image.ImageInventory; import org.zstack.header.network.l3.L3NetworkInventory; import org.zstack.header.query.QueryCondition; -import org.zstack.header.vm.*; +import org.zstack.header.vm.APICreateVmInstanceMsg; +import org.zstack.header.vm.APIDestroyVmInstanceMsg; +import org.zstack.header.vm.APIMigrateVmMsg; +import org.zstack.header.vm.APIQueryVmInstanceMsg; +import org.zstack.header.vm.APIQueryVmInstanceReply; +import org.zstack.header.vm.APIRebootVmInstanceMsg; +import org.zstack.header.vm.APIStartVmInstanceMsg; +import org.zstack.header.vm.APIStopVmInstanceMsg; +import org.zstack.header.vm.VmInstanceConstant; +import org.zstack.header.vm.VmInstanceInventory; import org.zstack.test.Api; import org.zstack.test.ApiSenderException; import org.zstack.test.DBUtil; diff --git a/test/src/test/java/org/zstack/test/compute/vm/TestPolicyForVm2.java b/test/src/test/java/org/zstack/test/compute/vm/TestPolicyForVm2.java index e83d5f65127..6708eb30bc9 100755 --- a/test/src/test/java/org/zstack/test/compute/vm/TestPolicyForVm2.java +++ b/test/src/test/java/org/zstack/test/compute/vm/TestPolicyForVm2.java @@ -9,7 +9,12 @@ import org.zstack.header.configuration.DiskOfferingInventory; import org.zstack.header.configuration.InstanceOfferingInventory; import org.zstack.header.host.HostInventory; -import org.zstack.header.identity.*; +import org.zstack.header.identity.APIQuerySharedResourceMsg; +import org.zstack.header.identity.APIQuerySharedResourceReply; +import org.zstack.header.identity.AccountInventory; +import org.zstack.header.identity.IdentityErrors; +import org.zstack.header.identity.SessionInventory; +import org.zstack.header.identity.SharedResourceVO; import org.zstack.header.image.ImageInventory; import org.zstack.header.network.l3.L3NetworkInventory; import org.zstack.header.query.QueryCondition; diff --git a/test/src/test/java/org/zstack/test/compute/vm/TestPolicyForVm3.java b/test/src/test/java/org/zstack/test/compute/vm/TestPolicyForVm3.java index 4b538ed82ed..25ade4bbc7b 100755 --- a/test/src/test/java/org/zstack/test/compute/vm/TestPolicyForVm3.java +++ b/test/src/test/java/org/zstack/test/compute/vm/TestPolicyForVm3.java @@ -14,7 +14,15 @@ import org.zstack.header.configuration.DiskOfferingInventory; import org.zstack.header.configuration.InstanceOfferingInventory; import org.zstack.header.host.HostInventory; -import org.zstack.header.identity.*; +import org.zstack.header.identity.APIQueryQuotaMsg; +import org.zstack.header.identity.APIQueryQuotaReply; +import org.zstack.header.identity.AccountConstant; +import org.zstack.header.identity.AccountInventory; +import org.zstack.header.identity.AccountVO; +import org.zstack.header.identity.IdentityErrors; +import org.zstack.header.identity.QuotaInventory; +import org.zstack.header.identity.QuotaVO; +import org.zstack.header.identity.QuotaVO_; import org.zstack.header.image.ImageInventory; import org.zstack.header.image.ImageVO; import org.zstack.header.network.l3.L3NetworkInventory; diff --git a/test/src/test/java/org/zstack/test/compute/vm/TestPolicyForVm5.java b/test/src/test/java/org/zstack/test/compute/vm/TestPolicyForVm5.java index cdf3a62a015..5c2e8b02927 100755 --- a/test/src/test/java/org/zstack/test/compute/vm/TestPolicyForVm5.java +++ b/test/src/test/java/org/zstack/test/compute/vm/TestPolicyForVm5.java @@ -18,7 +18,11 @@ import org.zstack.network.service.virtualrouter.VirtualRouterVmVO; import org.zstack.simulator.kvm.KVMSimulatorConfig; import org.zstack.simulator.virtualrouter.VirtualRouterSimulatorConfig; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.DBUtil; +import org.zstack.test.VmCreator; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.deployer.Deployer; import org.zstack.test.identity.IdentityCreator; diff --git a/test/src/test/java/org/zstack/test/compute/vm/TestPolicyForVm6.java b/test/src/test/java/org/zstack/test/compute/vm/TestPolicyForVm6.java index 8c6ed59c321..28a73ba5f31 100755 --- a/test/src/test/java/org/zstack/test/compute/vm/TestPolicyForVm6.java +++ b/test/src/test/java/org/zstack/test/compute/vm/TestPolicyForVm6.java @@ -10,7 +10,11 @@ import org.zstack.header.identity.PolicyStatement; import org.zstack.header.identity.SessionInventory; import org.zstack.header.identity.UserInventory; -import org.zstack.header.vm.*; +import org.zstack.header.vm.APICreateVmInstanceMsg; +import org.zstack.header.vm.APIDestroyVmInstanceMsg; +import org.zstack.header.vm.APIRebootVmInstanceMsg; +import org.zstack.header.vm.APIStartVmInstanceMsg; +import org.zstack.header.vm.VmInstanceConstant; import org.zstack.test.Api; import org.zstack.test.ApiSenderException; import org.zstack.test.DBUtil; diff --git a/test/src/test/java/org/zstack/test/compute/vm/TestQueryVm.java b/test/src/test/java/org/zstack/test/compute/vm/TestQueryVm.java index be4c9d7eaad..2d87b9d95ab 100755 --- a/test/src/test/java/org/zstack/test/compute/vm/TestQueryVm.java +++ b/test/src/test/java/org/zstack/test/compute/vm/TestQueryVm.java @@ -9,7 +9,14 @@ import org.zstack.core.db.SimpleQuery; import org.zstack.core.db.SimpleQuery.Op; import org.zstack.header.host.HostInventory; -import org.zstack.header.identity.*; +import org.zstack.header.identity.APIQueryAccountResourceRefMsg; +import org.zstack.header.identity.APIQueryAccountResourceRefReply; +import org.zstack.header.identity.AccountConstant; +import org.zstack.header.identity.AccountInventory; +import org.zstack.header.identity.AccountResourceRefInventory; +import org.zstack.header.identity.AccountResourceRefVO; +import org.zstack.header.identity.AccountResourceRefVO_; +import org.zstack.header.identity.SessionInventory; import org.zstack.header.query.QueryCondition; import org.zstack.header.query.QueryOp; import org.zstack.header.vm.APIQueryVmInstanceMsg; diff --git a/test/src/test/java/org/zstack/test/compute/vm/TestQueryVm6.java b/test/src/test/java/org/zstack/test/compute/vm/TestQueryVm6.java index 4b60e4c97f3..792a18a4e29 100755 --- a/test/src/test/java/org/zstack/test/compute/vm/TestQueryVm6.java +++ b/test/src/test/java/org/zstack/test/compute/vm/TestQueryVm6.java @@ -6,7 +6,12 @@ import org.zstack.core.cloudbus.CloudBus; import org.zstack.core.componentloader.ComponentLoader; import org.zstack.core.db.DatabaseFacade; -import org.zstack.header.configuration.*; +import org.zstack.header.configuration.APIQueryDiskOfferingMsg; +import org.zstack.header.configuration.APIQueryDiskOfferingReply; +import org.zstack.header.configuration.APIQueryInstanceOfferingMsg; +import org.zstack.header.configuration.APIQueryInstanceOfferingReply; +import org.zstack.header.configuration.DiskOfferingInventory; +import org.zstack.header.configuration.InstanceOfferingInventory; import org.zstack.header.identity.AccountInventory; import org.zstack.header.identity.SessionInventory; import org.zstack.header.image.APIQueryImageMsg; diff --git a/test/src/test/java/org/zstack/test/compute/vm/TestQueryVmNic.java b/test/src/test/java/org/zstack/test/compute/vm/TestQueryVmNic.java index affdab58208..b03c8078541 100755 --- a/test/src/test/java/org/zstack/test/compute/vm/TestQueryVmNic.java +++ b/test/src/test/java/org/zstack/test/compute/vm/TestQueryVmNic.java @@ -7,7 +7,11 @@ import org.zstack.core.componentloader.ComponentLoader; import org.zstack.core.db.DatabaseFacade; import org.zstack.header.identity.SessionInventory; -import org.zstack.header.vm.*; +import org.zstack.header.vm.APIQueryVmNicMsg; +import org.zstack.header.vm.APIQueryVmNicReply; +import org.zstack.header.vm.VmInstanceConstant; +import org.zstack.header.vm.VmInstanceInventory; +import org.zstack.header.vm.VmNicInventory; import org.zstack.sdk.QueryVmNicAction; import org.zstack.test.Api; import org.zstack.test.ApiSenderException; diff --git a/test/src/test/java/org/zstack/test/compute/vm/TestVmAllocateNicFlow.java b/test/src/test/java/org/zstack/test/compute/vm/TestVmAllocateNicFlow.java index eac0ba2b425..e388f40f2bf 100755 --- a/test/src/test/java/org/zstack/test/compute/vm/TestVmAllocateNicFlow.java +++ b/test/src/test/java/org/zstack/test/compute/vm/TestVmAllocateNicFlow.java @@ -19,7 +19,14 @@ import org.zstack.header.network.l3.L3NetworkInventory; import org.zstack.header.network.l3.UsedIpVO; import org.zstack.header.simulator.SimulatorConstant; -import org.zstack.header.vm.*; +import org.zstack.header.vm.VmInstanceConstant; +import org.zstack.header.vm.VmInstanceInventory; +import org.zstack.header.vm.VmInstanceSpec; +import org.zstack.header.vm.VmInstanceState; +import org.zstack.header.vm.VmInstanceVO; +import org.zstack.header.vm.VmNicInventory; +import org.zstack.header.vm.VmNicSpec; +import org.zstack.header.vm.VmNicVO; import org.zstack.identity.AccountManager; import org.zstack.test.Api; import org.zstack.test.ApiSenderException; diff --git a/test/src/test/java/org/zstack/test/compute/vm/TestVmAllocateNicFlowMacCollision.java b/test/src/test/java/org/zstack/test/compute/vm/TestVmAllocateNicFlowMacCollision.java index a6a5bba8e88..5f8d0a28601 100755 --- a/test/src/test/java/org/zstack/test/compute/vm/TestVmAllocateNicFlowMacCollision.java +++ b/test/src/test/java/org/zstack/test/compute/vm/TestVmAllocateNicFlowMacCollision.java @@ -21,7 +21,14 @@ import org.zstack.header.network.l3.L3NetworkInventory; import org.zstack.header.network.l3.UsedIpVO; import org.zstack.header.simulator.SimulatorConstant; -import org.zstack.header.vm.*; +import org.zstack.header.vm.VmInstanceConstant; +import org.zstack.header.vm.VmInstanceInventory; +import org.zstack.header.vm.VmInstanceSpec; +import org.zstack.header.vm.VmInstanceState; +import org.zstack.header.vm.VmInstanceVO; +import org.zstack.header.vm.VmNicInventory; +import org.zstack.header.vm.VmNicSpec; +import org.zstack.header.vm.VmNicVO; import org.zstack.test.Api; import org.zstack.test.ApiSenderException; import org.zstack.test.DBUtil; diff --git a/test/src/test/java/org/zstack/test/compute/zone/TestChangeZoneState.java b/test/src/test/java/org/zstack/test/compute/zone/TestChangeZoneState.java index a87dffdea9e..a37461e59e4 100755 --- a/test/src/test/java/org/zstack/test/compute/zone/TestChangeZoneState.java +++ b/test/src/test/java/org/zstack/test/compute/zone/TestChangeZoneState.java @@ -8,7 +8,11 @@ import org.zstack.header.zone.ZoneInventory; import org.zstack.header.zone.ZoneState; import org.zstack.header.zone.ZoneStateEvent; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import java.util.List; import java.util.concurrent.TimeUnit; diff --git a/test/src/test/java/org/zstack/test/compute/zone/TestCreateZone.java b/test/src/test/java/org/zstack/test/compute/zone/TestCreateZone.java index dbb604d4d28..c527bcbb73f 100755 --- a/test/src/test/java/org/zstack/test/compute/zone/TestCreateZone.java +++ b/test/src/test/java/org/zstack/test/compute/zone/TestCreateZone.java @@ -14,7 +14,12 @@ import org.zstack.header.zone.ZoneVO; import org.zstack.header.zone.ZoneVO_; import org.zstack.portal.apimediator.PortalSystemTags; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSender; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import java.util.List; diff --git a/test/src/test/java/org/zstack/test/compute/zone/TestCreateZoneRest1.java b/test/src/test/java/org/zstack/test/compute/zone/TestCreateZoneRest1.java index 1f5fa921eea..323d184e722 100755 --- a/test/src/test/java/org/zstack/test/compute/zone/TestCreateZoneRest1.java +++ b/test/src/test/java/org/zstack/test/compute/zone/TestCreateZoneRest1.java @@ -11,7 +11,15 @@ import org.zstack.header.zone.ZoneState; import org.zstack.header.zone.ZoneStateEvent; import org.zstack.rest.RestConstants; -import org.zstack.sdk.*; +import org.zstack.sdk.ChangeZoneStateAction; +import org.zstack.sdk.CreateZoneAction; +import org.zstack.sdk.DeleteZoneAction; +import org.zstack.sdk.LogOutAction; +import org.zstack.sdk.QueryZoneAction; +import org.zstack.sdk.QueryZoneResult; +import org.zstack.sdk.ZSClient; +import org.zstack.sdk.ZSConfig; +import org.zstack.sdk.ZoneInventory; import org.zstack.test.Api; import org.zstack.test.ApiSenderException; import org.zstack.test.DBUtil; diff --git a/test/src/test/java/org/zstack/test/compute/zone/TestDeleteZone.java b/test/src/test/java/org/zstack/test/compute/zone/TestDeleteZone.java index 7627d58190d..c5a793bcbda 100755 --- a/test/src/test/java/org/zstack/test/compute/zone/TestDeleteZone.java +++ b/test/src/test/java/org/zstack/test/compute/zone/TestDeleteZone.java @@ -8,7 +8,11 @@ import org.zstack.core.db.SimpleQuery; import org.zstack.header.zone.ZoneInventory; import org.zstack.header.zone.ZoneVO; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import java.util.List; diff --git a/test/src/test/java/org/zstack/test/compute/zone/TestDeleteZone1.java b/test/src/test/java/org/zstack/test/compute/zone/TestDeleteZone1.java index 65dd6e14660..7cab25b280b 100755 --- a/test/src/test/java/org/zstack/test/compute/zone/TestDeleteZone1.java +++ b/test/src/test/java/org/zstack/test/compute/zone/TestDeleteZone1.java @@ -9,7 +9,11 @@ import org.zstack.header.zone.ZoneEO; import org.zstack.header.zone.ZoneInventory; import org.zstack.header.zone.ZoneVO; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import java.util.List; diff --git a/test/src/test/java/org/zstack/test/compute/zone/TestDeleteZone2.java b/test/src/test/java/org/zstack/test/compute/zone/TestDeleteZone2.java index a106268369f..2404e3d870b 100755 --- a/test/src/test/java/org/zstack/test/compute/zone/TestDeleteZone2.java +++ b/test/src/test/java/org/zstack/test/compute/zone/TestDeleteZone2.java @@ -12,7 +12,11 @@ import org.zstack.header.zone.ZoneEO; import org.zstack.header.zone.ZoneInventory; import org.zstack.header.zone.ZoneVO; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import java.util.Arrays; import java.util.List; diff --git a/test/src/test/java/org/zstack/test/compute/zone/TestListZone.java b/test/src/test/java/org/zstack/test/compute/zone/TestListZone.java index ddd38b69acd..6459b56c86c 100755 --- a/test/src/test/java/org/zstack/test/compute/zone/TestListZone.java +++ b/test/src/test/java/org/zstack/test/compute/zone/TestListZone.java @@ -6,7 +6,11 @@ import org.zstack.core.componentloader.ComponentLoader; import org.zstack.core.db.DatabaseFacade; import org.zstack.header.zone.ZoneInventory; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import java.util.ArrayList; import java.util.List; diff --git a/test/src/test/java/org/zstack/test/compute/zone/TestUpdateZone.java b/test/src/test/java/org/zstack/test/compute/zone/TestUpdateZone.java index 82baf3fd304..1ca9741dde3 100755 --- a/test/src/test/java/org/zstack/test/compute/zone/TestUpdateZone.java +++ b/test/src/test/java/org/zstack/test/compute/zone/TestUpdateZone.java @@ -6,7 +6,11 @@ import org.zstack.core.componentloader.ComponentLoader; import org.zstack.core.db.DatabaseFacade; import org.zstack.header.zone.ZoneInventory; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import java.util.List; diff --git a/test/src/test/java/org/zstack/test/compute/zone/TestZoneChangeStateExtensionPoint.java b/test/src/test/java/org/zstack/test/compute/zone/TestZoneChangeStateExtensionPoint.java index 2f4a98402d7..bad7a1adaca 100755 --- a/test/src/test/java/org/zstack/test/compute/zone/TestZoneChangeStateExtensionPoint.java +++ b/test/src/test/java/org/zstack/test/compute/zone/TestZoneChangeStateExtensionPoint.java @@ -5,8 +5,17 @@ import org.junit.Test; import org.zstack.core.componentloader.ComponentLoader; import org.zstack.core.db.DatabaseFacade; -import org.zstack.header.zone.*; -import org.zstack.test.*; +import org.zstack.header.zone.APIChangeZoneStateEvent; +import org.zstack.header.zone.APIChangeZoneStateMsg; +import org.zstack.header.zone.ZoneInventory; +import org.zstack.header.zone.ZoneState; +import org.zstack.header.zone.ZoneStateEvent; +import org.zstack.header.zone.ZoneVO; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import java.util.List; diff --git a/test/src/test/java/org/zstack/test/compute/zone/TestZoneDeleteExtensionPoint.java b/test/src/test/java/org/zstack/test/compute/zone/TestZoneDeleteExtensionPoint.java index e21f7396671..dea12417c6d 100755 --- a/test/src/test/java/org/zstack/test/compute/zone/TestZoneDeleteExtensionPoint.java +++ b/test/src/test/java/org/zstack/test/compute/zone/TestZoneDeleteExtensionPoint.java @@ -11,7 +11,11 @@ import org.zstack.header.zone.APIDeleteZoneMsg; import org.zstack.header.zone.ZoneInventory; import org.zstack.header.zone.ZoneVO; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import java.util.List; diff --git a/test/src/test/java/org/zstack/test/compute/zone/ZoneChnageStateExtension.java b/test/src/test/java/org/zstack/test/compute/zone/ZoneChnageStateExtension.java index db991fe11b9..73cbfc5a215 100755 --- a/test/src/test/java/org/zstack/test/compute/zone/ZoneChnageStateExtension.java +++ b/test/src/test/java/org/zstack/test/compute/zone/ZoneChnageStateExtension.java @@ -1,6 +1,10 @@ package org.zstack.test.compute.zone; -import org.zstack.header.zone.*; +import org.zstack.header.zone.ZoneChangeStateExtensionPoint; +import org.zstack.header.zone.ZoneException; +import org.zstack.header.zone.ZoneInventory; +import org.zstack.header.zone.ZoneState; +import org.zstack.header.zone.ZoneStateEvent; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; diff --git a/test/src/test/java/org/zstack/test/configuration/TestAddDiskOffering.java b/test/src/test/java/org/zstack/test/configuration/TestAddDiskOffering.java index 7f92a272ec4..814f1df3b29 100755 --- a/test/src/test/java/org/zstack/test/configuration/TestAddDiskOffering.java +++ b/test/src/test/java/org/zstack/test/configuration/TestAddDiskOffering.java @@ -8,7 +8,11 @@ import org.zstack.core.db.DatabaseFacade; import org.zstack.header.configuration.DiskOfferingInventory; import org.zstack.header.configuration.DiskOfferingVO; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.utils.Utils; import org.zstack.utils.data.SizeUnit; import org.zstack.utils.logging.CLogger; diff --git a/test/src/test/java/org/zstack/test/configuration/TestAddDns.java b/test/src/test/java/org/zstack/test/configuration/TestAddDns.java index 5ca4f1c5cb5..2b2a5f86f90 100755 --- a/test/src/test/java/org/zstack/test/configuration/TestAddDns.java +++ b/test/src/test/java/org/zstack/test/configuration/TestAddDns.java @@ -4,7 +4,11 @@ import org.junit.Test; import org.zstack.core.componentloader.ComponentLoader; import org.zstack.core.db.DatabaseFacade; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; diff --git a/test/src/test/java/org/zstack/test/configuration/TestAddInstanceOffering.java b/test/src/test/java/org/zstack/test/configuration/TestAddInstanceOffering.java index be333fdc26c..bd5e0bde8b8 100755 --- a/test/src/test/java/org/zstack/test/configuration/TestAddInstanceOffering.java +++ b/test/src/test/java/org/zstack/test/configuration/TestAddInstanceOffering.java @@ -9,7 +9,11 @@ import org.zstack.header.configuration.InstanceOfferingDuration; import org.zstack.header.configuration.InstanceOfferingInventory; import org.zstack.header.configuration.InstanceOfferingVO; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.image.TestAddImage; import org.zstack.utils.Utils; import org.zstack.utils.data.SizeUnit; diff --git a/test/src/test/java/org/zstack/test/configuration/TestChangeDiskOfferingState.java b/test/src/test/java/org/zstack/test/configuration/TestChangeDiskOfferingState.java index c2bfb8a78ad..99b2b66df55 100755 --- a/test/src/test/java/org/zstack/test/configuration/TestChangeDiskOfferingState.java +++ b/test/src/test/java/org/zstack/test/configuration/TestChangeDiskOfferingState.java @@ -9,7 +9,11 @@ import org.zstack.header.configuration.DiskOfferingState; import org.zstack.header.configuration.DiskOfferingStateEvent; import org.zstack.header.configuration.DiskOfferingVO; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.utils.Utils; import org.zstack.utils.data.SizeUnit; import org.zstack.utils.logging.CLogger; diff --git a/test/src/test/java/org/zstack/test/configuration/TestChangeInstanceOfferingState.java b/test/src/test/java/org/zstack/test/configuration/TestChangeInstanceOfferingState.java index d3d7f6a1e37..f90ba398ea2 100755 --- a/test/src/test/java/org/zstack/test/configuration/TestChangeInstanceOfferingState.java +++ b/test/src/test/java/org/zstack/test/configuration/TestChangeInstanceOfferingState.java @@ -6,8 +6,16 @@ import org.junit.Test; import org.zstack.core.componentloader.ComponentLoader; import org.zstack.core.db.DatabaseFacade; -import org.zstack.header.configuration.*; -import org.zstack.test.*; +import org.zstack.header.configuration.InstanceOfferingDuration; +import org.zstack.header.configuration.InstanceOfferingInventory; +import org.zstack.header.configuration.InstanceOfferingState; +import org.zstack.header.configuration.InstanceOfferingStateEvent; +import org.zstack.header.configuration.InstanceOfferingVO; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.image.TestAddImage; import org.zstack.utils.Utils; import org.zstack.utils.data.SizeUnit; diff --git a/test/src/test/java/org/zstack/test/configuration/TestDeleteDiskOffering.java b/test/src/test/java/org/zstack/test/configuration/TestDeleteDiskOffering.java index 301c6de3f00..7af1f10b13e 100755 --- a/test/src/test/java/org/zstack/test/configuration/TestDeleteDiskOffering.java +++ b/test/src/test/java/org/zstack/test/configuration/TestDeleteDiskOffering.java @@ -8,7 +8,11 @@ import org.zstack.core.db.DatabaseFacade; import org.zstack.header.configuration.DiskOfferingInventory; import org.zstack.header.configuration.DiskOfferingVO; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.image.TestAddImage; import org.zstack.utils.Utils; import org.zstack.utils.data.SizeUnit; diff --git a/test/src/test/java/org/zstack/test/configuration/TestDeleteDiskOffering2.java b/test/src/test/java/org/zstack/test/configuration/TestDeleteDiskOffering2.java index 06f9eea6b84..138ca03001d 100755 --- a/test/src/test/java/org/zstack/test/configuration/TestDeleteDiskOffering2.java +++ b/test/src/test/java/org/zstack/test/configuration/TestDeleteDiskOffering2.java @@ -10,7 +10,11 @@ import org.zstack.header.configuration.DiskOfferingInventory; import org.zstack.header.volume.VolumeInventory; import org.zstack.header.volume.VolumeVO; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.utils.Utils; import org.zstack.utils.data.SizeUnit; import org.zstack.utils.logging.CLogger; diff --git a/test/src/test/java/org/zstack/test/configuration/TestDeleteDiskOffering3.java b/test/src/test/java/org/zstack/test/configuration/TestDeleteDiskOffering3.java index 131fef38bbd..4719f38b9e1 100755 --- a/test/src/test/java/org/zstack/test/configuration/TestDeleteDiskOffering3.java +++ b/test/src/test/java/org/zstack/test/configuration/TestDeleteDiskOffering3.java @@ -11,7 +11,11 @@ import org.zstack.header.volume.VolumeInventory; import org.zstack.header.volume.VolumeVO; import org.zstack.storage.volume.VolumeGlobalConfig; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.utils.Utils; import org.zstack.utils.data.SizeUnit; import org.zstack.utils.logging.CLogger; diff --git a/test/src/test/java/org/zstack/test/configuration/TestDeleteInstanceOffering.java b/test/src/test/java/org/zstack/test/configuration/TestDeleteInstanceOffering.java index 21af3385132..dbba1395e12 100755 --- a/test/src/test/java/org/zstack/test/configuration/TestDeleteInstanceOffering.java +++ b/test/src/test/java/org/zstack/test/configuration/TestDeleteInstanceOffering.java @@ -9,7 +9,11 @@ import org.zstack.header.configuration.InstanceOfferingDuration; import org.zstack.header.configuration.InstanceOfferingInventory; import org.zstack.header.configuration.InstanceOfferingVO; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.image.TestAddImage; import org.zstack.utils.Utils; import org.zstack.utils.data.SizeUnit; diff --git a/test/src/test/java/org/zstack/test/configuration/TestGetGlobalProperty.java b/test/src/test/java/org/zstack/test/configuration/TestGetGlobalProperty.java index 56373c0c7b3..e42de09020a 100644 --- a/test/src/test/java/org/zstack/test/configuration/TestGetGlobalProperty.java +++ b/test/src/test/java/org/zstack/test/configuration/TestGetGlobalProperty.java @@ -6,7 +6,11 @@ import org.zstack.core.db.DatabaseFacade; import org.zstack.header.configuration.APIGetGlobalPropertyMsg; import org.zstack.header.configuration.APIGetGlobalPropertyReply; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSender; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.image.TestAddImage; import org.zstack.utils.Utils; import org.zstack.utils.gson.JSONObjectUtil; diff --git a/test/src/test/java/org/zstack/test/configuration/TestPolicyForConfiguration.java b/test/src/test/java/org/zstack/test/configuration/TestPolicyForConfiguration.java index 8f357220a61..637de162714 100755 --- a/test/src/test/java/org/zstack/test/configuration/TestPolicyForConfiguration.java +++ b/test/src/test/java/org/zstack/test/configuration/TestPolicyForConfiguration.java @@ -5,13 +5,32 @@ import org.junit.Test; import org.zstack.core.componentloader.ComponentLoader; import org.zstack.core.db.DatabaseFacade; -import org.zstack.header.configuration.*; +import org.zstack.header.configuration.APIChangeDiskOfferingStateMsg; +import org.zstack.header.configuration.APIChangeInstanceOfferingStateMsg; +import org.zstack.header.configuration.APICreateDiskOfferingMsg; +import org.zstack.header.configuration.APICreateInstanceOfferingMsg; +import org.zstack.header.configuration.APIDeleteDiskOfferingMsg; +import org.zstack.header.configuration.APIDeleteInstanceOfferingMsg; +import org.zstack.header.configuration.APIQueryDiskOfferingMsg; +import org.zstack.header.configuration.APIQueryInstanceOfferingMsg; +import org.zstack.header.configuration.APIQueryInstanceOfferingReply; +import org.zstack.header.configuration.APIUpdateDiskOfferingMsg; +import org.zstack.header.configuration.APIUpdateInstanceOfferingMsg; +import org.zstack.header.configuration.ConfigurationConstant; +import org.zstack.header.configuration.DiskOfferingInventory; +import org.zstack.header.configuration.DiskOfferingStateEvent; +import org.zstack.header.configuration.InstanceOfferingInventory; +import org.zstack.header.configuration.InstanceOfferingStateEvent; import org.zstack.header.identity.PolicyStatementEffect; import org.zstack.header.identity.IdentityErrors; import org.zstack.header.identity.PolicyStatement; import org.zstack.header.identity.SessionInventory; import org.zstack.header.query.QueryCondition; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.identity.IdentityCreator; import org.zstack.test.image.TestAddImage; import org.zstack.utils.Utils; diff --git a/test/src/test/java/org/zstack/test/configuration/TestUpdateDiskOffering.java b/test/src/test/java/org/zstack/test/configuration/TestUpdateDiskOffering.java index ff6d9a1056d..b06ad1699fd 100755 --- a/test/src/test/java/org/zstack/test/configuration/TestUpdateDiskOffering.java +++ b/test/src/test/java/org/zstack/test/configuration/TestUpdateDiskOffering.java @@ -6,7 +6,11 @@ import org.zstack.core.componentloader.ComponentLoader; import org.zstack.core.db.DatabaseFacade; import org.zstack.header.configuration.DiskOfferingInventory; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.utils.Utils; import org.zstack.utils.data.SizeUnit; import org.zstack.utils.logging.CLogger; diff --git a/test/src/test/java/org/zstack/test/configuration/TestUpdateInstanceOffering.java b/test/src/test/java/org/zstack/test/configuration/TestUpdateInstanceOffering.java index f657b88540a..1e3f494e22a 100755 --- a/test/src/test/java/org/zstack/test/configuration/TestUpdateInstanceOffering.java +++ b/test/src/test/java/org/zstack/test/configuration/TestUpdateInstanceOffering.java @@ -6,7 +6,11 @@ import org.zstack.core.componentloader.ComponentLoader; import org.zstack.core.db.DatabaseFacade; import org.zstack.header.configuration.InstanceOfferingInventory; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.image.TestAddImage; import org.zstack.utils.Utils; import org.zstack.utils.data.SizeUnit; diff --git a/test/src/test/java/org/zstack/test/core/TestEncrypt.java b/test/src/test/java/org/zstack/test/core/TestEncrypt.java index ccd67eca3c1..78836b086cf 100644 --- a/test/src/test/java/org/zstack/test/core/TestEncrypt.java +++ b/test/src/test/java/org/zstack/test/core/TestEncrypt.java @@ -23,7 +23,12 @@ import org.zstack.kvm.KVMHostFactory; import org.zstack.kvm.KVMHostVO; import org.zstack.simulator.kvm.KVMSimulatorConfig; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSender; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.deployer.Deployer; import org.zstack.utils.Utils; import org.zstack.utils.data.SizeUnit; diff --git a/test/src/test/java/org/zstack/test/core/cascade/TestAsyncCascade.java b/test/src/test/java/org/zstack/test/core/cascade/TestAsyncCascade.java index 202adc4d90f..563d2912460 100755 --- a/test/src/test/java/org/zstack/test/core/cascade/TestAsyncCascade.java +++ b/test/src/test/java/org/zstack/test/core/cascade/TestAsyncCascade.java @@ -3,7 +3,11 @@ import junit.framework.Assert; import org.junit.Before; import org.junit.Test; -import org.zstack.core.cascade.*; +import org.zstack.core.cascade.AbstractAsyncCascadeExtension; +import org.zstack.core.cascade.CascadeAction; +import org.zstack.core.cascade.CascadeExtensionPoint; +import org.zstack.core.cascade.CascadeFacade; +import org.zstack.core.cascade.CascadeFacadeImpl; import org.zstack.core.componentloader.ComponentLoader; import org.zstack.header.core.Completion; import org.zstack.header.errorcode.ErrorCode; diff --git a/test/src/test/java/org/zstack/test/core/cascade/TestAsyncCascade2.java b/test/src/test/java/org/zstack/test/core/cascade/TestAsyncCascade2.java index 14c48e65056..56c3d49ff26 100755 --- a/test/src/test/java/org/zstack/test/core/cascade/TestAsyncCascade2.java +++ b/test/src/test/java/org/zstack/test/core/cascade/TestAsyncCascade2.java @@ -3,7 +3,11 @@ import junit.framework.Assert; import org.junit.Before; import org.junit.Test; -import org.zstack.core.cascade.*; +import org.zstack.core.cascade.AbstractAsyncCascadeExtension; +import org.zstack.core.cascade.CascadeAction; +import org.zstack.core.cascade.CascadeExtensionPoint; +import org.zstack.core.cascade.CascadeFacade; +import org.zstack.core.cascade.CascadeFacadeImpl; import org.zstack.core.componentloader.ComponentLoader; import org.zstack.header.core.Completion; import org.zstack.header.errorcode.ErrorCode; diff --git a/test/src/test/java/org/zstack/test/core/cascade/TestAsyncCascade3.java b/test/src/test/java/org/zstack/test/core/cascade/TestAsyncCascade3.java index 29cd316bef2..dda68db52b9 100755 --- a/test/src/test/java/org/zstack/test/core/cascade/TestAsyncCascade3.java +++ b/test/src/test/java/org/zstack/test/core/cascade/TestAsyncCascade3.java @@ -4,7 +4,11 @@ import junit.framework.Assert; import org.junit.Before; import org.junit.Test; -import org.zstack.core.cascade.*; +import org.zstack.core.cascade.AbstractAsyncCascadeExtension; +import org.zstack.core.cascade.CascadeAction; +import org.zstack.core.cascade.CascadeExtensionPoint; +import org.zstack.core.cascade.CascadeFacade; +import org.zstack.core.cascade.CascadeFacadeImpl; import org.zstack.core.componentloader.ComponentLoader; import org.zstack.header.core.Completion; import org.zstack.header.errorcode.ErrorCode; @@ -15,7 +19,11 @@ import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; /** */ diff --git a/test/src/test/java/org/zstack/test/core/cloudbus/TestLockResourceMessage.java b/test/src/test/java/org/zstack/test/core/cloudbus/TestLockResourceMessage.java index 0ecb218a0bf..bcd9868ad62 100755 --- a/test/src/test/java/org/zstack/test/core/cloudbus/TestLockResourceMessage.java +++ b/test/src/test/java/org/zstack/test/core/cloudbus/TestLockResourceMessage.java @@ -15,7 +15,11 @@ import org.zstack.header.AbstractService; import org.zstack.header.Component; import org.zstack.header.Service; -import org.zstack.header.message.*; +import org.zstack.header.message.LockResourceMessage; +import org.zstack.header.message.LockResourceReply; +import org.zstack.header.message.Message; +import org.zstack.header.message.MessageReply; +import org.zstack.header.message.NeedReplyMessage; import org.zstack.test.BeanConstructor; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; diff --git a/test/src/test/java/org/zstack/test/core/config/TestGlobalConfig.java b/test/src/test/java/org/zstack/test/core/config/TestGlobalConfig.java index 2912645a2db..7381ae595d1 100755 --- a/test/src/test/java/org/zstack/test/core/config/TestGlobalConfig.java +++ b/test/src/test/java/org/zstack/test/core/config/TestGlobalConfig.java @@ -7,7 +7,11 @@ import org.zstack.core.config.GlobalConfigException; import org.zstack.core.config.GlobalConfigFacade; import org.zstack.core.config.GlobalConfigInventory; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; public class TestGlobalConfig { GlobalConfigFacade gcf; diff --git a/test/src/test/java/org/zstack/test/core/config/TestGlobalConfigForSessionTimeOut.java b/test/src/test/java/org/zstack/test/core/config/TestGlobalConfigForSessionTimeOut.java index 5e58f4ac4be..f5f9e9d6c31 100644 --- a/test/src/test/java/org/zstack/test/core/config/TestGlobalConfigForSessionTimeOut.java +++ b/test/src/test/java/org/zstack/test/core/config/TestGlobalConfigForSessionTimeOut.java @@ -9,7 +9,11 @@ import org.zstack.core.config.GlobalConfigFacade; import org.zstack.core.config.GlobalConfigInventory; import org.zstack.header.apimediator.ApiMessageInterceptionException; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; public class TestGlobalConfigForSessionTimeOut { GlobalConfigFacade gcf; diff --git a/test/src/test/java/org/zstack/test/core/config/TestGlobalConfigUpdatedExtension.java b/test/src/test/java/org/zstack/test/core/config/TestGlobalConfigUpdatedExtension.java index 1507030b5d4..11436ba573f 100755 --- a/test/src/test/java/org/zstack/test/core/config/TestGlobalConfigUpdatedExtension.java +++ b/test/src/test/java/org/zstack/test/core/config/TestGlobalConfigUpdatedExtension.java @@ -8,7 +8,11 @@ import org.zstack.core.config.GlobalConfigFacade; import org.zstack.core.config.GlobalConfigInventory; import org.zstack.core.config.GlobalConfigUpdateExtensionPoint; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import java.util.concurrent.TimeUnit; diff --git a/test/src/test/java/org/zstack/test/core/config/TestGlobalConfigValidateExtension.java b/test/src/test/java/org/zstack/test/core/config/TestGlobalConfigValidateExtension.java index 98880d8ab62..939b75dc880 100755 --- a/test/src/test/java/org/zstack/test/core/config/TestGlobalConfigValidateExtension.java +++ b/test/src/test/java/org/zstack/test/core/config/TestGlobalConfigValidateExtension.java @@ -6,7 +6,11 @@ import org.zstack.core.componentloader.ComponentLoader; import org.zstack.core.config.GlobalConfigFacade; import org.zstack.core.config.GlobalConfigInventory; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; public class TestGlobalConfigValidateExtension { GlobalConfigFacade gcf; diff --git a/test/src/test/java/org/zstack/test/core/config/TestGlobalConfigValidateExtension1.java b/test/src/test/java/org/zstack/test/core/config/TestGlobalConfigValidateExtension1.java index 3287fa28fdf..64dcb6c3fc2 100755 --- a/test/src/test/java/org/zstack/test/core/config/TestGlobalConfigValidateExtension1.java +++ b/test/src/test/java/org/zstack/test/core/config/TestGlobalConfigValidateExtension1.java @@ -8,7 +8,11 @@ import org.zstack.core.config.GlobalConfigFacade; import org.zstack.core.config.GlobalConfigInventory; import org.zstack.core.config.GlobalConfigValidatorExtensionPoint; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; public class TestGlobalConfigValidateExtension1 { GlobalConfigFacade gcf; diff --git a/test/src/test/java/org/zstack/test/core/config/TestGlobalConfigValidateExtension2.java b/test/src/test/java/org/zstack/test/core/config/TestGlobalConfigValidateExtension2.java index 69fce4a798d..29918ed11aa 100755 --- a/test/src/test/java/org/zstack/test/core/config/TestGlobalConfigValidateExtension2.java +++ b/test/src/test/java/org/zstack/test/core/config/TestGlobalConfigValidateExtension2.java @@ -8,7 +8,11 @@ import org.zstack.core.config.GlobalConfigFacade; import org.zstack.core.config.GlobalConfigInventory; import org.zstack.core.config.GlobalConfigValidatorExtensionPoint; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; public class TestGlobalConfigValidateExtension2 { GlobalConfigFacade gcf; diff --git a/test/src/test/java/org/zstack/test/core/config/TestQueryGlobalConfig.java b/test/src/test/java/org/zstack/test/core/config/TestQueryGlobalConfig.java index 8ad5b53b914..6e8a6dff113 100755 --- a/test/src/test/java/org/zstack/test/core/config/TestQueryGlobalConfig.java +++ b/test/src/test/java/org/zstack/test/core/config/TestQueryGlobalConfig.java @@ -3,9 +3,17 @@ import org.junit.Before; import org.junit.Test; import org.zstack.core.componentloader.ComponentLoader; -import org.zstack.core.config.*; +import org.zstack.core.config.APIQueryGlobalConfigMsg; +import org.zstack.core.config.APIQueryGlobalConfigReply; +import org.zstack.core.config.GlobalConfigException; +import org.zstack.core.config.GlobalConfigFacade; +import org.zstack.core.config.GlobalConfigInventory; import org.zstack.core.db.DatabaseFacade; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.search.QueryTestValidator; public class TestQueryGlobalConfig { diff --git a/test/src/test/java/org/zstack/test/core/debug/TestDebugManager.java b/test/src/test/java/org/zstack/test/core/debug/TestDebugManager.java index 664cc68e1b6..534a568df7e 100755 --- a/test/src/test/java/org/zstack/test/core/debug/TestDebugManager.java +++ b/test/src/test/java/org/zstack/test/core/debug/TestDebugManager.java @@ -8,7 +8,12 @@ import org.mockito.Mockito; import org.mockito.MockitoAnnotations; import org.zstack.core.cloudbus.CloudBus; -import org.zstack.core.debug.*; +import org.zstack.core.debug.APIDebugSignalEvent; +import org.zstack.core.debug.APIDebugSignalMsg; +import org.zstack.core.debug.DebugManager; +import org.zstack.core.debug.DebugManagerImpl; +import org.zstack.core.debug.DebugSignal; +import org.zstack.core.debug.DebugSignalHandler; import java.util.Collections; diff --git a/test/src/test/java/org/zstack/test/core/keyvalue/TestKeyValueDeserializer.java b/test/src/test/java/org/zstack/test/core/keyvalue/TestKeyValueDeserializer.java index 6eb8afc5df6..89065af9599 100755 --- a/test/src/test/java/org/zstack/test/core/keyvalue/TestKeyValueDeserializer.java +++ b/test/src/test/java/org/zstack/test/core/keyvalue/TestKeyValueDeserializer.java @@ -13,7 +13,11 @@ import org.zstack.test.BeanConstructor; import org.zstack.test.DBUtil; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; import static org.zstack.utils.CollectionDSL.e; import static org.zstack.utils.CollectionDSL.map; diff --git a/test/src/test/java/org/zstack/test/core/workflow/TestShareFlow.java b/test/src/test/java/org/zstack/test/core/workflow/TestShareFlow.java index ef2184e8b76..45085197bb8 100755 --- a/test/src/test/java/org/zstack/test/core/workflow/TestShareFlow.java +++ b/test/src/test/java/org/zstack/test/core/workflow/TestShareFlow.java @@ -40,6 +40,7 @@ public void test() { @Override public void setup() { + // DEBT: NoRollbackFlow — in test flow(new NoRollbackFlow() { @Override public void run(FlowTrigger trigger, Map data) { @@ -49,6 +50,7 @@ public void run(FlowTrigger trigger, Map data) { } }); + // DEBT: NoRollbackFlow — in test flow(new NoRollbackFlow() { @Override public void run(FlowTrigger trigger, Map data) { diff --git a/test/src/test/java/org/zstack/test/core/workflow/TestShareFlow1.java b/test/src/test/java/org/zstack/test/core/workflow/TestShareFlow1.java index 91c649488f4..10c5cd60ce2 100755 --- a/test/src/test/java/org/zstack/test/core/workflow/TestShareFlow1.java +++ b/test/src/test/java/org/zstack/test/core/workflow/TestShareFlow1.java @@ -5,7 +5,11 @@ import org.junit.Test; import org.zstack.core.workflow.FlowChainBuilder; import org.zstack.core.workflow.ShareFlow; -import org.zstack.header.core.workflow.*; +import org.zstack.header.core.workflow.Flow; +import org.zstack.header.core.workflow.FlowChain; +import org.zstack.header.core.workflow.FlowErrorHandler; +import org.zstack.header.core.workflow.FlowRollback; +import org.zstack.header.core.workflow.FlowTrigger; import org.zstack.header.errorcode.ErrorCode; import org.zstack.test.BeanConstructor; diff --git a/test/src/test/java/org/zstack/test/core/workflow/TestShareFlow2.java b/test/src/test/java/org/zstack/test/core/workflow/TestShareFlow2.java index ec57aa36398..05adbd7bb6f 100755 --- a/test/src/test/java/org/zstack/test/core/workflow/TestShareFlow2.java +++ b/test/src/test/java/org/zstack/test/core/workflow/TestShareFlow2.java @@ -40,6 +40,7 @@ public void test() { @Override public void setup() { + // DEBT: NoRollbackFlow — in test flow(new NoRollbackFlow() { @Override public void run(FlowTrigger trigger, Map data) { @@ -49,6 +50,7 @@ public void run(FlowTrigger trigger, Map data) { } }); + // DEBT: NoRollbackFlow — in test flow(new NoRollbackFlow() { @Override public void run(FlowTrigger trigger, Map data) { diff --git a/test/src/test/java/org/zstack/test/core/workflow/TestShareFlow3.java b/test/src/test/java/org/zstack/test/core/workflow/TestShareFlow3.java index 1e93f64f5f2..8d8cfbff5da 100755 --- a/test/src/test/java/org/zstack/test/core/workflow/TestShareFlow3.java +++ b/test/src/test/java/org/zstack/test/core/workflow/TestShareFlow3.java @@ -5,7 +5,11 @@ import org.junit.Test; import org.zstack.core.workflow.FlowChainBuilder; import org.zstack.core.workflow.ShareFlow; -import org.zstack.header.core.workflow.*; +import org.zstack.header.core.workflow.Flow; +import org.zstack.header.core.workflow.FlowChain; +import org.zstack.header.core.workflow.FlowErrorHandler; +import org.zstack.header.core.workflow.FlowRollback; +import org.zstack.header.core.workflow.FlowTrigger; import org.zstack.header.errorcode.ErrorCode; import org.zstack.test.BeanConstructor; diff --git a/test/src/test/java/org/zstack/test/core/workflow/TestShareFlow4.java b/test/src/test/java/org/zstack/test/core/workflow/TestShareFlow4.java index 840bdf77e99..5827dbbdcb3 100755 --- a/test/src/test/java/org/zstack/test/core/workflow/TestShareFlow4.java +++ b/test/src/test/java/org/zstack/test/core/workflow/TestShareFlow4.java @@ -5,7 +5,14 @@ import org.junit.Test; import org.zstack.core.workflow.FlowChainBuilder; import org.zstack.core.workflow.ShareFlow; -import org.zstack.header.core.workflow.*; +import org.zstack.header.core.workflow.AfterDone; +import org.zstack.header.core.workflow.AfterError; +import org.zstack.header.core.workflow.AfterFinal; +import org.zstack.header.core.workflow.FlowChain; +import org.zstack.header.core.workflow.FlowDoneHandler; +import org.zstack.header.core.workflow.FlowErrorHandler; +import org.zstack.header.core.workflow.FlowTrigger; +import org.zstack.header.core.workflow.NoRollbackFlow; import org.zstack.header.errorcode.ErrorCode; import org.zstack.test.BeanConstructor; @@ -25,6 +32,7 @@ public void test() { chain.then(new ShareFlow() { @Override public void setup() { + // DEBT: NoRollbackFlow — in test flow(new NoRollbackFlow() { @AfterDone List afterDone = new ArrayList(); @@ -39,6 +47,7 @@ public void run(FlowTrigger trigger, Map data) { } }); + // DEBT: NoRollbackFlow — in test flow(new NoRollbackFlow() { @Override public void run(FlowTrigger trigger, Map data) { @@ -58,6 +67,7 @@ public void handle(Map data) { chain.then(new ShareFlow() { @Override public void setup() { + // DEBT: NoRollbackFlow — in test flow(new NoRollbackFlow() { @AfterError List afterError = new ArrayList(); @@ -72,6 +82,7 @@ public void run(FlowTrigger trigger, Map data) { } }); + // DEBT: NoRollbackFlow — reason TBD flow(new NoRollbackFlow() { @Override public void run(FlowTrigger trigger, Map data) { @@ -95,6 +106,7 @@ public void handle(ErrorCode errCode, Map data) { chain.then(new ShareFlow() { @Override public void setup() { + // DEBT: NoRollbackFlow — reason TBD flow(new NoRollbackFlow() { @AfterFinal List afterFinal = new ArrayList(); @@ -109,6 +121,7 @@ public void run(FlowTrigger trigger, Map data) { } }); + // DEBT: NoRollbackFlow — reason TBD flow(new NoRollbackFlow() { @Override public void run(FlowTrigger trigger, Map data) { diff --git a/test/src/test/java/org/zstack/test/core/workflow/TestSimpleFlow.java b/test/src/test/java/org/zstack/test/core/workflow/TestSimpleFlow.java index d898f56e90c..2b3c5092391 100755 --- a/test/src/test/java/org/zstack/test/core/workflow/TestSimpleFlow.java +++ b/test/src/test/java/org/zstack/test/core/workflow/TestSimpleFlow.java @@ -26,6 +26,7 @@ public void test() throws WorkFlowException { final int[] count = {0}; new SimpleFlowChain() + // DEBT: NoRollbackFlow — in test .then(new NoRollbackFlow() { @Override public void run(FlowTrigger chain, Map data) { @@ -33,6 +34,7 @@ public void run(FlowTrigger chain, Map data) { chain.next(); } }) + // DEBT: NoRollbackFlow — in test .then(new NoRollbackFlow() { @Override public void run(FlowTrigger chain, Map data) { diff --git a/test/src/test/java/org/zstack/test/core/workflow/TestSimpleFlow1.java b/test/src/test/java/org/zstack/test/core/workflow/TestSimpleFlow1.java index 5c371aa5d52..58b79362bf6 100755 --- a/test/src/test/java/org/zstack/test/core/workflow/TestSimpleFlow1.java +++ b/test/src/test/java/org/zstack/test/core/workflow/TestSimpleFlow1.java @@ -25,6 +25,7 @@ public void test() throws WorkFlowException { final int[] count = {0}; new SimpleFlowChain() + // DEBT: NoRollbackFlow — in test .then(new NoRollbackFlow() { @Override public void run(FlowTrigger chain, Map data) { @@ -32,6 +33,7 @@ public void run(FlowTrigger chain, Map data) { chain.next(); } }) + // DEBT: NoRollbackFlow — in test .then(new NoRollbackFlow() { @Override public void run(FlowTrigger chain, Map data) { @@ -39,6 +41,7 @@ public void run(FlowTrigger chain, Map data) { chain.fail(null); } }) + // DEBT: NoRollbackFlow — in test .then(new NoRollbackFlow() { @Override public void run(FlowTrigger chain, Map data) { diff --git a/test/src/test/java/org/zstack/test/core/workflow/TestSimpleFlow12.java b/test/src/test/java/org/zstack/test/core/workflow/TestSimpleFlow12.java index fd8a3526600..0d7f98f6bbb 100755 --- a/test/src/test/java/org/zstack/test/core/workflow/TestSimpleFlow12.java +++ b/test/src/test/java/org/zstack/test/core/workflow/TestSimpleFlow12.java @@ -4,7 +4,12 @@ import org.junit.Test; import org.zstack.core.workflow.SimpleFlowChain; import org.zstack.core.workflow.WorkFlowException; -import org.zstack.header.core.workflow.*; +import org.zstack.header.core.workflow.Flow; +import org.zstack.header.core.workflow.FlowChain; +import org.zstack.header.core.workflow.FlowDoneHandler; +import org.zstack.header.core.workflow.FlowMarshaller; +import org.zstack.header.core.workflow.FlowTrigger; +import org.zstack.header.core.workflow.NoRollbackFlow; import java.util.Map; @@ -16,6 +21,7 @@ public void test() throws WorkFlowException { final int[] count = {0}; new SimpleFlowChain() + // DEBT: NoRollbackFlow — in test .then(new NoRollbackFlow() { @Override public void run(FlowTrigger chain, Map data) { @@ -31,6 +37,7 @@ public boolean skip(Map data) { .setFlowMarshaller(new FlowMarshaller() { @Override public Flow marshalTheNextFlow(String previousFlowClassName, String nextFlowClassName, FlowChain chain, Map data) { + // DEBT: NoRollbackFlow — in marshalTheNextFlow return new NoRollbackFlow() { @Override public void run(FlowTrigger trigger, Map data) { diff --git a/test/src/test/java/org/zstack/test/core/workflow/TestSimpleFlow13.java b/test/src/test/java/org/zstack/test/core/workflow/TestSimpleFlow13.java index 8e385eb3d99..4514489262c 100644 --- a/test/src/test/java/org/zstack/test/core/workflow/TestSimpleFlow13.java +++ b/test/src/test/java/org/zstack/test/core/workflow/TestSimpleFlow13.java @@ -4,7 +4,11 @@ import org.junit.Test; import org.zstack.core.workflow.SimpleFlowChain; import org.zstack.core.workflow.WorkFlowException; -import org.zstack.header.core.workflow.*; +import org.zstack.header.core.workflow.FlowDoneHandler; +import org.zstack.header.core.workflow.FlowErrorHandler; +import org.zstack.header.core.workflow.FlowRollback; +import org.zstack.header.core.workflow.FlowTrigger; +import org.zstack.header.core.workflow.NoRollbackFlow; import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.errorcode.OperationFailureException; @@ -23,6 +27,7 @@ public class TestSimpleFlow13 { public void test() throws WorkFlowException { final int[] count = {0}; + // DEBT: NoRollbackFlow — in test new SimpleFlowChain().then(new NoRollbackFlow() { final String __name__ = "flow1_skip"; @Override @@ -41,6 +46,7 @@ public void rollback(FlowRollback trigger, Map data) { count[0] = count[0] - 1; trigger.rollback(); } + // DEBT: NoRollbackFlow — in rollback }).then(new NoRollbackFlow() { final String __name__ = "flow2"; @@ -55,6 +61,7 @@ public void rollback(FlowRollback trigger, Map data) { count[0] = count[0] - 1; trigger.rollback(); } + // DEBT: NoRollbackFlow — in rollback }).then(new NoRollbackFlow() { final String __name__ = "flow3_error"; @Override diff --git a/test/src/test/java/org/zstack/test/core/workflow/TestSimpleFlow5.java b/test/src/test/java/org/zstack/test/core/workflow/TestSimpleFlow5.java index 9a3609d0685..662d0994e0e 100755 --- a/test/src/test/java/org/zstack/test/core/workflow/TestSimpleFlow5.java +++ b/test/src/test/java/org/zstack/test/core/workflow/TestSimpleFlow5.java @@ -28,6 +28,7 @@ public void test() throws WorkFlowException { Map data = new HashMap(); new SimpleFlowChain() .setData(data) + // DEBT: NoRollbackFlow — in test .then(new NoRollbackFlow() { @Override public void run(FlowTrigger chain, Map data) { @@ -35,6 +36,7 @@ public void run(FlowTrigger chain, Map data) { chain.next(); } }) + // DEBT: NoRollbackFlow — in test .then(new NoRollbackFlow() { @Override public void run(FlowTrigger chain, Map data) { diff --git a/test/src/test/java/org/zstack/test/core/workflow/TestSimpleFlow6.java b/test/src/test/java/org/zstack/test/core/workflow/TestSimpleFlow6.java index 7e84e8acce8..1cae6f1e19b 100755 --- a/test/src/test/java/org/zstack/test/core/workflow/TestSimpleFlow6.java +++ b/test/src/test/java/org/zstack/test/core/workflow/TestSimpleFlow6.java @@ -27,6 +27,7 @@ public void test() throws WorkFlowException { final int[] count = {0}; new SimpleFlowChain() + // DEBT: NoRollbackFlow — in test .then(new NoRollbackFlow() { @Override public void run(FlowTrigger chain, Map data) { @@ -34,6 +35,7 @@ public void run(FlowTrigger chain, Map data) { chain.next(); } }) + // DEBT: NoRollbackFlow — in test .then(new NoRollbackFlow() { @Override public void run(FlowTrigger chain, Map data) { @@ -41,6 +43,7 @@ public void run(FlowTrigger chain, Map data) { chain.next(); } }) + // DEBT: NoRollbackFlow — in test .then(new NoRollbackFlow() { @Override public void run(FlowTrigger chain, Map data) { diff --git a/test/src/test/java/org/zstack/test/core/workflow/TestSimpleFlow7.java b/test/src/test/java/org/zstack/test/core/workflow/TestSimpleFlow7.java index 2fcf759d9d4..6bd9317808e 100755 --- a/test/src/test/java/org/zstack/test/core/workflow/TestSimpleFlow7.java +++ b/test/src/test/java/org/zstack/test/core/workflow/TestSimpleFlow7.java @@ -27,6 +27,7 @@ public void test() throws WorkFlowException { final int[] count = {0}; new SimpleFlowChain() + // DEBT: NoRollbackFlow — in test .then(new NoRollbackFlow() { @Override public void run(FlowTrigger chain, Map data) { @@ -34,6 +35,7 @@ public void run(FlowTrigger chain, Map data) { chain.next(); } }) + // DEBT: NoRollbackFlow — in test .then(new NoRollbackFlow() { @Override public void run(FlowTrigger chain, Map data) { @@ -41,6 +43,7 @@ public void run(FlowTrigger chain, Map data) { chain.fail(null); } }) + // DEBT: NoRollbackFlow — in test .then(new NoRollbackFlow() { @Override public void run(FlowTrigger chain, Map data) { diff --git a/test/src/test/java/org/zstack/test/core/workflow/TestSimpleFlow8.java b/test/src/test/java/org/zstack/test/core/workflow/TestSimpleFlow8.java index d9deaab7bf9..4df914959f7 100755 --- a/test/src/test/java/org/zstack/test/core/workflow/TestSimpleFlow8.java +++ b/test/src/test/java/org/zstack/test/core/workflow/TestSimpleFlow8.java @@ -28,6 +28,7 @@ public void test() throws WorkFlowException { final int[] count = {0}; new SimpleFlowChain() + // DEBT: NoRollbackFlow — in test .then(new NoRollbackFlow() { @Override public void run(FlowTrigger chain, Map data) { @@ -35,6 +36,7 @@ public void run(FlowTrigger chain, Map data) { chain.next(); } }) + // DEBT: NoRollbackFlow — in test .then(new NoRollbackFlow() { @Override public void run(FlowTrigger chain, Map data) { @@ -42,6 +44,7 @@ public void run(FlowTrigger chain, Map data) { chain.fail(null); } }) + // DEBT: NoRollbackFlow — in test .then(new NoRollbackFlow() { @Override public void run(FlowTrigger chain, Map data) { diff --git a/test/src/test/java/org/zstack/test/deployer/Deployer.java b/test/src/test/java/org/zstack/test/deployer/Deployer.java index 2ed2c488714..dcb32164477 100755 --- a/test/src/test/java/org/zstack/test/deployer/Deployer.java +++ b/test/src/test/java/org/zstack/test/deployer/Deployer.java @@ -11,7 +11,11 @@ import org.zstack.header.configuration.InstanceOfferingInventory; import org.zstack.header.exception.CloudRuntimeException; import org.zstack.header.host.HostInventory; -import org.zstack.header.identity.*; +import org.zstack.header.identity.AccountInventory; +import org.zstack.header.identity.PolicyInventory; +import org.zstack.header.identity.SessionInventory; +import org.zstack.header.identity.UserGroupInventory; +import org.zstack.header.identity.UserInventory; import org.zstack.header.image.ImageInventory; import org.zstack.header.network.l2.L2NetworkInventory; import org.zstack.header.network.l3.IpRangeInventory; @@ -31,7 +35,27 @@ import org.zstack.test.ApiSenderException; import org.zstack.test.BeanConstructor; import org.zstack.test.WebBeanConstructor; -import org.zstack.test.deployer.schema.*; +import org.zstack.test.deployer.schema.AccountConfig; +import org.zstack.test.deployer.schema.BackupStorageUnion; +import org.zstack.test.deployer.schema.ClusterUnion; +import org.zstack.test.deployer.schema.DeployerConfig; +import org.zstack.test.deployer.schema.DiskOfferingConfig; +import org.zstack.test.deployer.schema.EipUnion; +import org.zstack.test.deployer.schema.GroupConfig; +import org.zstack.test.deployer.schema.HostUnion; +import org.zstack.test.deployer.schema.ImageUnion; +import org.zstack.test.deployer.schema.InstanceOfferingUnion; +import org.zstack.test.deployer.schema.IpRangeConfig; +import org.zstack.test.deployer.schema.L2NetworkUnion; +import org.zstack.test.deployer.schema.L3NetworkUnion; +import org.zstack.test.deployer.schema.LbUnion; +import org.zstack.test.deployer.schema.NetworkServiceConfig; +import org.zstack.test.deployer.schema.PortForwardingUnion; +import org.zstack.test.deployer.schema.PrimaryStorageUnion; +import org.zstack.test.deployer.schema.SecurityGroupUnion; +import org.zstack.test.deployer.schema.UserConfig; +import org.zstack.test.deployer.schema.VmUnion; +import org.zstack.test.deployer.schema.ZoneUnion; import org.zstack.utils.Utils; import org.zstack.utils.data.SizeUnit; import org.zstack.utils.gson.JSONObjectUtil; @@ -44,7 +68,13 @@ import java.lang.reflect.ParameterizedType; import java.lang.reflect.Type; import java.net.URL; -import java.util.*; +import java.util.ArrayList; +import java.util.Collection; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; public class Deployer { private static final CLogger logger = Utils.getLogger(Deployer.class); diff --git a/test/src/test/java/org/zstack/test/deployer/schema/BackupStorageConfigBase.java b/test/src/test/java/org/zstack/test/deployer/schema/BackupStorageConfigBase.java index 6d7fc14255b..b3d5b5ec578 100644 --- a/test/src/test/java/org/zstack/test/deployer/schema/BackupStorageConfigBase.java +++ b/test/src/test/java/org/zstack/test/deployer/schema/BackupStorageConfigBase.java @@ -1,6 +1,10 @@ package org.zstack.test.deployer.schema; -import javax.xml.bind.annotation.*; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlAttribute; +import javax.xml.bind.annotation.XmlSeeAlso; +import javax.xml.bind.annotation.XmlType; /** diff --git a/test/src/test/java/org/zstack/test/deployer/schema/HostConfigBase.java b/test/src/test/java/org/zstack/test/deployer/schema/HostConfigBase.java index 431b288e66b..190587fb7b4 100644 --- a/test/src/test/java/org/zstack/test/deployer/schema/HostConfigBase.java +++ b/test/src/test/java/org/zstack/test/deployer/schema/HostConfigBase.java @@ -1,6 +1,10 @@ package org.zstack.test.deployer.schema; -import javax.xml.bind.annotation.*; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlAttribute; +import javax.xml.bind.annotation.XmlSeeAlso; +import javax.xml.bind.annotation.XmlType; import java.util.ArrayList; import java.util.List; diff --git a/test/src/test/java/org/zstack/test/deployer/schema/ImageConfig.java b/test/src/test/java/org/zstack/test/deployer/schema/ImageConfig.java index acb19ec6c20..2b3443459c3 100644 --- a/test/src/test/java/org/zstack/test/deployer/schema/ImageConfig.java +++ b/test/src/test/java/org/zstack/test/deployer/schema/ImageConfig.java @@ -1,6 +1,11 @@ package org.zstack.test.deployer.schema; -import javax.xml.bind.annotation.*; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlAttribute; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; import java.util.ArrayList; import java.util.List; diff --git a/test/src/test/java/org/zstack/test/deployer/schema/InstanceOfferingConfig.java b/test/src/test/java/org/zstack/test/deployer/schema/InstanceOfferingConfig.java index fe0135de4fe..35f5dd89cb5 100644 --- a/test/src/test/java/org/zstack/test/deployer/schema/InstanceOfferingConfig.java +++ b/test/src/test/java/org/zstack/test/deployer/schema/InstanceOfferingConfig.java @@ -1,6 +1,11 @@ package org.zstack.test.deployer.schema; -import javax.xml.bind.annotation.*; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlAttribute; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlSeeAlso; +import javax.xml.bind.annotation.XmlType; /** diff --git a/test/src/test/java/org/zstack/test/deployer/schema/KvmHostConfig.java b/test/src/test/java/org/zstack/test/deployer/schema/KvmHostConfig.java index 0aacbc89b38..374e3ab9497 100644 --- a/test/src/test/java/org/zstack/test/deployer/schema/KvmHostConfig.java +++ b/test/src/test/java/org/zstack/test/deployer/schema/KvmHostConfig.java @@ -1,6 +1,10 @@ package org.zstack.test.deployer.schema; -import javax.xml.bind.annotation.*; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlAttribute; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; /** diff --git a/test/src/test/java/org/zstack/test/deployer/schema/L2NoVlanNetworkConfig.java b/test/src/test/java/org/zstack/test/deployer/schema/L2NoVlanNetworkConfig.java index 435c1c71496..9dca6d001f6 100644 --- a/test/src/test/java/org/zstack/test/deployer/schema/L2NoVlanNetworkConfig.java +++ b/test/src/test/java/org/zstack/test/deployer/schema/L2NoVlanNetworkConfig.java @@ -1,6 +1,10 @@ package org.zstack.test.deployer.schema; -import javax.xml.bind.annotation.*; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlAttribute; +import javax.xml.bind.annotation.XmlSeeAlso; +import javax.xml.bind.annotation.XmlType; /** diff --git a/test/src/test/java/org/zstack/test/deployer/schema/L2VlanNetworkConfig.java b/test/src/test/java/org/zstack/test/deployer/schema/L2VlanNetworkConfig.java index 8a9558b53af..f85c84a12a8 100644 --- a/test/src/test/java/org/zstack/test/deployer/schema/L2VlanNetworkConfig.java +++ b/test/src/test/java/org/zstack/test/deployer/schema/L2VlanNetworkConfig.java @@ -1,6 +1,10 @@ package org.zstack.test.deployer.schema; -import javax.xml.bind.annotation.*; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlAttribute; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; /** diff --git a/test/src/test/java/org/zstack/test/deployer/schema/PrimaryStorageConfigBase.java b/test/src/test/java/org/zstack/test/deployer/schema/PrimaryStorageConfigBase.java index 548f2a08341..ad0c35f16b5 100644 --- a/test/src/test/java/org/zstack/test/deployer/schema/PrimaryStorageConfigBase.java +++ b/test/src/test/java/org/zstack/test/deployer/schema/PrimaryStorageConfigBase.java @@ -1,6 +1,10 @@ package org.zstack.test.deployer.schema; -import javax.xml.bind.annotation.*; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlAttribute; +import javax.xml.bind.annotation.XmlSeeAlso; +import javax.xml.bind.annotation.XmlType; /** diff --git a/test/src/test/java/org/zstack/test/deployer/schema/SimulatorHostConfig.java b/test/src/test/java/org/zstack/test/deployer/schema/SimulatorHostConfig.java index 26c6138e6f9..c025325664b 100644 --- a/test/src/test/java/org/zstack/test/deployer/schema/SimulatorHostConfig.java +++ b/test/src/test/java/org/zstack/test/deployer/schema/SimulatorHostConfig.java @@ -1,6 +1,10 @@ package org.zstack.test.deployer.schema; -import javax.xml.bind.annotation.*; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlAttribute; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; /** diff --git a/test/src/test/java/org/zstack/test/deployer/schema/UserVmConfig.java b/test/src/test/java/org/zstack/test/deployer/schema/UserVmConfig.java index eb4decdd527..e2140c7db20 100644 --- a/test/src/test/java/org/zstack/test/deployer/schema/UserVmConfig.java +++ b/test/src/test/java/org/zstack/test/deployer/schema/UserVmConfig.java @@ -1,6 +1,10 @@ package org.zstack.test.deployer.schema; -import javax.xml.bind.annotation.*; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlAttribute; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; import java.util.ArrayList; import java.util.List; diff --git a/test/src/test/java/org/zstack/test/deployer/schema/VirtualRouterOfferingConfig.java b/test/src/test/java/org/zstack/test/deployer/schema/VirtualRouterOfferingConfig.java index 83864b67142..7d59ba22d90 100644 --- a/test/src/test/java/org/zstack/test/deployer/schema/VirtualRouterOfferingConfig.java +++ b/test/src/test/java/org/zstack/test/deployer/schema/VirtualRouterOfferingConfig.java @@ -1,6 +1,10 @@ package org.zstack.test.deployer.schema; -import javax.xml.bind.annotation.*; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlAttribute; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; /** diff --git a/test/src/test/java/org/zstack/test/diskcapacity/TestDiskCapacityCeph1.java b/test/src/test/java/org/zstack/test/diskcapacity/TestDiskCapacityCeph1.java index dbeb318ba0a..a066b0aa6ca 100755 --- a/test/src/test/java/org/zstack/test/diskcapacity/TestDiskCapacityCeph1.java +++ b/test/src/test/java/org/zstack/test/diskcapacity/TestDiskCapacityCeph1.java @@ -26,7 +26,12 @@ import org.zstack.header.volume.VolumeType; import org.zstack.storage.ceph.backup.CephBackupStorageSimulatorConfig; import org.zstack.storage.ceph.primary.CephPrimaryStorageSimulatorConfig; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSender; +import org.zstack.test.ApiSenderException; +import org.zstack.test.DBUtil; +import org.zstack.test.VmCreator; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.deployer.Deployer; import org.zstack.test.storage.backup.sftp.TestSftpBackupStorageDeleteImage2; import org.zstack.utils.Utils; diff --git a/test/src/test/java/org/zstack/test/diskcapacity/TestDiskCapacityCeph2.java b/test/src/test/java/org/zstack/test/diskcapacity/TestDiskCapacityCeph2.java index 3344931bc63..d5d5435067b 100755 --- a/test/src/test/java/org/zstack/test/diskcapacity/TestDiskCapacityCeph2.java +++ b/test/src/test/java/org/zstack/test/diskcapacity/TestDiskCapacityCeph2.java @@ -31,7 +31,12 @@ import org.zstack.header.volume.VolumeType; import org.zstack.storage.ceph.backup.CephBackupStorageSimulatorConfig; import org.zstack.storage.ceph.primary.CephPrimaryStorageSimulatorConfig; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSender; +import org.zstack.test.ApiSenderException; +import org.zstack.test.DBUtil; +import org.zstack.test.VmCreator; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.deployer.Deployer; import org.zstack.test.storage.backup.sftp.TestSftpBackupStorageDeleteImage2; import org.zstack.utils.Utils; diff --git a/test/src/test/java/org/zstack/test/diskcapacity/TestDiskCapacityLocalStorage1.java b/test/src/test/java/org/zstack/test/diskcapacity/TestDiskCapacityLocalStorage1.java index a039cd27845..6d5eed316af 100755 --- a/test/src/test/java/org/zstack/test/diskcapacity/TestDiskCapacityLocalStorage1.java +++ b/test/src/test/java/org/zstack/test/diskcapacity/TestDiskCapacityLocalStorage1.java @@ -28,7 +28,12 @@ import org.zstack.storage.primary.local.LocalStorageHostRefVOFinder; import org.zstack.storage.primary.local.LocalStorageSimulatorConfig; import org.zstack.storage.primary.local.LocalStorageSimulatorConfig.Capacity; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSender; +import org.zstack.test.ApiSenderException; +import org.zstack.test.DBUtil; +import org.zstack.test.VmCreator; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.deployer.Deployer; import org.zstack.test.storage.backup.sftp.TestSftpBackupStorageDeleteImage2; import org.zstack.utils.Utils; diff --git a/test/src/test/java/org/zstack/test/diskcapacity/TestDiskCapacityLocalStorage2.java b/test/src/test/java/org/zstack/test/diskcapacity/TestDiskCapacityLocalStorage2.java index 0c889f4b999..654c88a7cb2 100755 --- a/test/src/test/java/org/zstack/test/diskcapacity/TestDiskCapacityLocalStorage2.java +++ b/test/src/test/java/org/zstack/test/diskcapacity/TestDiskCapacityLocalStorage2.java @@ -31,7 +31,12 @@ import org.zstack.storage.primary.local.LocalStorageHostRefVOFinder; import org.zstack.storage.primary.local.LocalStorageSimulatorConfig; import org.zstack.storage.primary.local.LocalStorageSimulatorConfig.Capacity; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSender; +import org.zstack.test.ApiSenderException; +import org.zstack.test.DBUtil; +import org.zstack.test.VmCreator; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.deployer.Deployer; import org.zstack.test.storage.backup.sftp.TestSftpBackupStorageDeleteImage2; import org.zstack.utils.Utils; diff --git a/test/src/test/java/org/zstack/test/diskcapacity/TestDiskCapacityLocalStorage3.java b/test/src/test/java/org/zstack/test/diskcapacity/TestDiskCapacityLocalStorage3.java index a30261c203d..a8f4f36749c 100755 --- a/test/src/test/java/org/zstack/test/diskcapacity/TestDiskCapacityLocalStorage3.java +++ b/test/src/test/java/org/zstack/test/diskcapacity/TestDiskCapacityLocalStorage3.java @@ -30,7 +30,12 @@ import org.zstack.storage.primary.local.LocalStorageHostRefVOFinder; import org.zstack.storage.primary.local.LocalStorageSimulatorConfig; import org.zstack.storage.primary.local.LocalStorageSimulatorConfig.Capacity; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSender; +import org.zstack.test.ApiSenderException; +import org.zstack.test.DBUtil; +import org.zstack.test.VmCreator; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.deployer.Deployer; import org.zstack.test.storage.backup.sftp.TestSftpBackupStorageDeleteImage2; import org.zstack.utils.Utils; diff --git a/test/src/test/java/org/zstack/test/diskcapacity/TestDiskCapacityLocalStorage4.java b/test/src/test/java/org/zstack/test/diskcapacity/TestDiskCapacityLocalStorage4.java index 1460e72daf9..2478a3f869d 100755 --- a/test/src/test/java/org/zstack/test/diskcapacity/TestDiskCapacityLocalStorage4.java +++ b/test/src/test/java/org/zstack/test/diskcapacity/TestDiskCapacityLocalStorage4.java @@ -31,7 +31,12 @@ import org.zstack.storage.primary.local.LocalStorageHostRefVOFinder; import org.zstack.storage.primary.local.LocalStorageSimulatorConfig; import org.zstack.storage.primary.local.LocalStorageSimulatorConfig.Capacity; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSender; +import org.zstack.test.ApiSenderException; +import org.zstack.test.DBUtil; +import org.zstack.test.VmCreator; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.deployer.Deployer; import org.zstack.test.storage.backup.sftp.TestSftpBackupStorageDeleteImage2; import org.zstack.utils.Utils; diff --git a/test/src/test/java/org/zstack/test/diskcapacity/TestDiskCapacityLocalStorage5.java b/test/src/test/java/org/zstack/test/diskcapacity/TestDiskCapacityLocalStorage5.java index 8aa2e16a1dd..902803d8381 100755 --- a/test/src/test/java/org/zstack/test/diskcapacity/TestDiskCapacityLocalStorage5.java +++ b/test/src/test/java/org/zstack/test/diskcapacity/TestDiskCapacityLocalStorage5.java @@ -33,7 +33,12 @@ import org.zstack.storage.primary.local.LocalStorageSimulatorConfig; import org.zstack.storage.primary.local.LocalStorageSimulatorConfig.Capacity; import org.zstack.storage.volume.VolumeGlobalConfig; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSender; +import org.zstack.test.ApiSenderException; +import org.zstack.test.DBUtil; +import org.zstack.test.VmCreator; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.deployer.Deployer; import org.zstack.test.storage.backup.sftp.TestSftpBackupStorageDeleteImage2; import org.zstack.utils.Utils; diff --git a/test/src/test/java/org/zstack/test/diskcapacity/TestDiskCapacityLocalStorage6.java b/test/src/test/java/org/zstack/test/diskcapacity/TestDiskCapacityLocalStorage6.java index 2fbb72e401e..1a4980eb02c 100755 --- a/test/src/test/java/org/zstack/test/diskcapacity/TestDiskCapacityLocalStorage6.java +++ b/test/src/test/java/org/zstack/test/diskcapacity/TestDiskCapacityLocalStorage6.java @@ -31,7 +31,12 @@ import org.zstack.storage.primary.local.LocalStorageHostRefVOFinder; import org.zstack.storage.primary.local.LocalStorageSimulatorConfig; import org.zstack.storage.primary.local.LocalStorageSimulatorConfig.Capacity; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSender; +import org.zstack.test.ApiSenderException; +import org.zstack.test.DBUtil; +import org.zstack.test.VmCreator; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.deployer.Deployer; import org.zstack.test.storage.backup.sftp.TestSftpBackupStorageDeleteImage2; import org.zstack.utils.Utils; diff --git a/test/src/test/java/org/zstack/test/diskcapacity/TestDiskCapacityNfs1.java b/test/src/test/java/org/zstack/test/diskcapacity/TestDiskCapacityNfs1.java index d901079f7f4..2b9d2696acf 100755 --- a/test/src/test/java/org/zstack/test/diskcapacity/TestDiskCapacityNfs1.java +++ b/test/src/test/java/org/zstack/test/diskcapacity/TestDiskCapacityNfs1.java @@ -24,7 +24,12 @@ import org.zstack.header.volume.VolumeType; import org.zstack.simulator.storage.backup.sftp.SftpBackupStorageSimulatorConfig; import org.zstack.simulator.storage.primary.nfs.NfsPrimaryStorageSimulatorConfig; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSender; +import org.zstack.test.ApiSenderException; +import org.zstack.test.DBUtil; +import org.zstack.test.VmCreator; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.deployer.Deployer; import org.zstack.test.storage.backup.sftp.TestSftpBackupStorageDeleteImage2; import org.zstack.utils.Utils; diff --git a/test/src/test/java/org/zstack/test/diskcapacity/TestDiskCapacityNfs2.java b/test/src/test/java/org/zstack/test/diskcapacity/TestDiskCapacityNfs2.java index 9c03f7e7c86..5fb83a8fe8c 100755 --- a/test/src/test/java/org/zstack/test/diskcapacity/TestDiskCapacityNfs2.java +++ b/test/src/test/java/org/zstack/test/diskcapacity/TestDiskCapacityNfs2.java @@ -28,7 +28,12 @@ import org.zstack.header.volume.VolumeType; import org.zstack.simulator.storage.backup.sftp.SftpBackupStorageSimulatorConfig; import org.zstack.simulator.storage.primary.nfs.NfsPrimaryStorageSimulatorConfig; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSender; +import org.zstack.test.ApiSenderException; +import org.zstack.test.DBUtil; +import org.zstack.test.VmCreator; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.deployer.Deployer; import org.zstack.test.storage.backup.sftp.TestSftpBackupStorageDeleteImage2; import org.zstack.utils.Utils; diff --git a/test/src/test/java/org/zstack/test/diskcapacity/TestDiskCapacityNfs3.java b/test/src/test/java/org/zstack/test/diskcapacity/TestDiskCapacityNfs3.java index 55f3b6d591a..262a33c456d 100755 --- a/test/src/test/java/org/zstack/test/diskcapacity/TestDiskCapacityNfs3.java +++ b/test/src/test/java/org/zstack/test/diskcapacity/TestDiskCapacityNfs3.java @@ -29,7 +29,12 @@ import org.zstack.simulator.storage.backup.sftp.SftpBackupStorageSimulatorConfig; import org.zstack.simulator.storage.primary.nfs.NfsPrimaryStorageSimulatorConfig; import org.zstack.storage.volume.VolumeGlobalConfig; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSender; +import org.zstack.test.ApiSenderException; +import org.zstack.test.DBUtil; +import org.zstack.test.VmCreator; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.deployer.Deployer; import org.zstack.test.storage.backup.sftp.TestSftpBackupStorageDeleteImage2; import org.zstack.utils.Utils; diff --git a/test/src/test/java/org/zstack/test/diskcapacity/TestDiskCapacityNfs4.java b/test/src/test/java/org/zstack/test/diskcapacity/TestDiskCapacityNfs4.java index 39518f1a4cd..bc496853787 100755 --- a/test/src/test/java/org/zstack/test/diskcapacity/TestDiskCapacityNfs4.java +++ b/test/src/test/java/org/zstack/test/diskcapacity/TestDiskCapacityNfs4.java @@ -27,7 +27,12 @@ import org.zstack.simulator.kvm.KVMSimulatorConfig; import org.zstack.simulator.storage.backup.sftp.SftpBackupStorageSimulatorConfig; import org.zstack.simulator.storage.primary.nfs.NfsPrimaryStorageSimulatorConfig; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSender; +import org.zstack.test.ApiSenderException; +import org.zstack.test.DBUtil; +import org.zstack.test.VmCreator; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.deployer.Deployer; import org.zstack.test.storage.backup.sftp.TestSftpBackupStorageDeleteImage2; import org.zstack.utils.Utils; diff --git a/test/src/test/java/org/zstack/test/diskcapacity/TestDiskCapacityNfs5.java b/test/src/test/java/org/zstack/test/diskcapacity/TestDiskCapacityNfs5.java index 4a6a476b175..54921726350 100755 --- a/test/src/test/java/org/zstack/test/diskcapacity/TestDiskCapacityNfs5.java +++ b/test/src/test/java/org/zstack/test/diskcapacity/TestDiskCapacityNfs5.java @@ -27,7 +27,12 @@ import org.zstack.simulator.kvm.KVMSimulatorConfig; import org.zstack.simulator.storage.backup.sftp.SftpBackupStorageSimulatorConfig; import org.zstack.simulator.storage.primary.nfs.NfsPrimaryStorageSimulatorConfig; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSender; +import org.zstack.test.ApiSenderException; +import org.zstack.test.DBUtil; +import org.zstack.test.VmCreator; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.deployer.Deployer; import org.zstack.test.storage.backup.sftp.TestSftpBackupStorageDeleteImage2; import org.zstack.utils.Utils; diff --git a/test/src/test/java/org/zstack/test/diskcapacity/TestDiskCapacitySmp1.java b/test/src/test/java/org/zstack/test/diskcapacity/TestDiskCapacitySmp1.java index 70bc69acee5..7d5525ca682 100755 --- a/test/src/test/java/org/zstack/test/diskcapacity/TestDiskCapacitySmp1.java +++ b/test/src/test/java/org/zstack/test/diskcapacity/TestDiskCapacitySmp1.java @@ -28,7 +28,12 @@ import org.zstack.simulator.storage.backup.sftp.SftpBackupStorageSimulatorConfig; import org.zstack.simulator.storage.primary.nfs.NfsPrimaryStorageSimulatorConfig; import org.zstack.storage.primary.smp.SMPPrimaryStorageSimulatorConfig; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSender; +import org.zstack.test.ApiSenderException; +import org.zstack.test.DBUtil; +import org.zstack.test.VmCreator; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.deployer.Deployer; import org.zstack.test.storage.backup.sftp.TestSftpBackupStorageDeleteImage2; import org.zstack.utils.Utils; diff --git a/test/src/test/java/org/zstack/test/diskcapacity/TestDiskCapacitySmp2.java b/test/src/test/java/org/zstack/test/diskcapacity/TestDiskCapacitySmp2.java index a599739d400..a8e62b8b876 100755 --- a/test/src/test/java/org/zstack/test/diskcapacity/TestDiskCapacitySmp2.java +++ b/test/src/test/java/org/zstack/test/diskcapacity/TestDiskCapacitySmp2.java @@ -29,7 +29,12 @@ import org.zstack.simulator.storage.backup.sftp.SftpBackupStorageSimulatorConfig; import org.zstack.simulator.storage.primary.nfs.NfsPrimaryStorageSimulatorConfig; import org.zstack.storage.primary.smp.SMPPrimaryStorageSimulatorConfig; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSender; +import org.zstack.test.ApiSenderException; +import org.zstack.test.DBUtil; +import org.zstack.test.VmCreator; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.deployer.Deployer; import org.zstack.test.storage.backup.sftp.TestSftpBackupStorageDeleteImage2; import org.zstack.utils.Utils; diff --git a/test/src/test/java/org/zstack/test/diskcapacity/TestDiskCapacitySmp3.java b/test/src/test/java/org/zstack/test/diskcapacity/TestDiskCapacitySmp3.java index ed68eea3979..3c6bf35c40f 100755 --- a/test/src/test/java/org/zstack/test/diskcapacity/TestDiskCapacitySmp3.java +++ b/test/src/test/java/org/zstack/test/diskcapacity/TestDiskCapacitySmp3.java @@ -24,7 +24,12 @@ import org.zstack.simulator.storage.backup.sftp.SftpBackupStorageSimulatorConfig; import org.zstack.simulator.storage.primary.nfs.NfsPrimaryStorageSimulatorConfig; import org.zstack.storage.primary.smp.SMPPrimaryStorageSimulatorConfig; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSender; +import org.zstack.test.ApiSenderException; +import org.zstack.test.DBUtil; +import org.zstack.test.VmCreator; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.deployer.Deployer; import org.zstack.test.storage.backup.sftp.TestSftpBackupStorageDeleteImage2; import org.zstack.utils.Utils; diff --git a/test/src/test/java/org/zstack/test/eip/TestPolicyForEip.java b/test/src/test/java/org/zstack/test/eip/TestPolicyForEip.java index e06282a87f4..d2f3feabcad 100755 --- a/test/src/test/java/org/zstack/test/eip/TestPolicyForEip.java +++ b/test/src/test/java/org/zstack/test/eip/TestPolicyForEip.java @@ -15,7 +15,17 @@ import org.zstack.header.query.QueryCondition; import org.zstack.header.vm.VmInstanceInventory; import org.zstack.header.vm.VmNicInventory; -import org.zstack.network.service.eip.*; +import org.zstack.network.service.eip.APIAttachEipMsg; +import org.zstack.network.service.eip.APIChangeEipStateMsg; +import org.zstack.network.service.eip.APICreateEipMsg; +import org.zstack.network.service.eip.APIDeleteEipMsg; +import org.zstack.network.service.eip.APIDetachEipMsg; +import org.zstack.network.service.eip.APIQueryEipMsg; +import org.zstack.network.service.eip.APIQueryEipReply; +import org.zstack.network.service.eip.APIUpdateEipMsg; +import org.zstack.network.service.eip.EipConstant; +import org.zstack.network.service.eip.EipInventory; +import org.zstack.network.service.eip.EipStateEvent; import org.zstack.network.service.vip.APICreateVipMsg; import org.zstack.network.service.vip.VipConstant; import org.zstack.network.service.vip.VipInventory; diff --git a/test/src/test/java/org/zstack/test/eip/TestPolicyForEip1.java b/test/src/test/java/org/zstack/test/eip/TestPolicyForEip1.java index 2667a6902b9..ec78a821350 100755 --- a/test/src/test/java/org/zstack/test/eip/TestPolicyForEip1.java +++ b/test/src/test/java/org/zstack/test/eip/TestPolicyForEip1.java @@ -6,7 +6,11 @@ import org.zstack.core.cloudbus.CloudBus; import org.zstack.core.componentloader.ComponentLoader; import org.zstack.core.db.DatabaseFacade; -import org.zstack.header.identity.*; +import org.zstack.header.identity.AccountInventory; +import org.zstack.header.identity.IdentityErrors; +import org.zstack.header.identity.Quota; +import org.zstack.header.identity.QuotaInventory; +import org.zstack.header.identity.SessionInventory; import org.zstack.header.network.l3.L3NetworkInventory; import org.zstack.network.service.eip.EipInventory; import org.zstack.network.service.eip.EipQuotaConstant; diff --git a/test/src/test/java/org/zstack/test/eip/flatnetwork/TestFlatNetworkEip5.java b/test/src/test/java/org/zstack/test/eip/flatnetwork/TestFlatNetworkEip5.java index f192392540b..d90a8a5ee49 100755 --- a/test/src/test/java/org/zstack/test/eip/flatnetwork/TestFlatNetworkEip5.java +++ b/test/src/test/java/org/zstack/test/eip/flatnetwork/TestFlatNetworkEip5.java @@ -9,7 +9,12 @@ import org.zstack.header.host.HostInventory; import org.zstack.header.identity.SessionInventory; import org.zstack.header.network.l3.L3NetworkVO; -import org.zstack.header.vm.*; +import org.zstack.header.vm.VmInstanceConstant; +import org.zstack.header.vm.VmInstanceInventory; +import org.zstack.header.vm.VmInstanceState; +import org.zstack.header.vm.VmInstanceVO; +import org.zstack.header.vm.VmNicVO; +import org.zstack.header.vm.VmStateChangedOnHostMsg; import org.zstack.kvm.KVMSystemTags; import org.zstack.network.service.eip.EipInventory; import org.zstack.network.service.flat.FlatEipBackend.BatchApplyEipCmd; diff --git a/test/src/test/java/org/zstack/test/identity/IdentityCreator.java b/test/src/test/java/org/zstack/test/identity/IdentityCreator.java index 201e116d0c0..6fdc683280b 100755 --- a/test/src/test/java/org/zstack/test/identity/IdentityCreator.java +++ b/test/src/test/java/org/zstack/test/identity/IdentityCreator.java @@ -6,7 +6,13 @@ import org.zstack.core.db.DatabaseFacade; import org.zstack.core.db.SimpleQuery; import org.zstack.core.db.SimpleQuery.Op; -import org.zstack.header.identity.*; +import org.zstack.header.identity.AccountInventory; +import org.zstack.header.identity.AccountVO; +import org.zstack.header.identity.AccountVO_; +import org.zstack.header.identity.PolicyInventory; +import org.zstack.header.identity.SessionInventory; +import org.zstack.header.identity.UserGroupInventory; +import org.zstack.header.identity.UserInventory; import org.zstack.header.identity.PolicyStatement; import org.zstack.test.Api; import org.zstack.test.ApiSenderException; diff --git a/test/src/test/java/org/zstack/test/identity/TestCreateUser.java b/test/src/test/java/org/zstack/test/identity/TestCreateUser.java index b8a62e81934..f8e6440502e 100755 --- a/test/src/test/java/org/zstack/test/identity/TestCreateUser.java +++ b/test/src/test/java/org/zstack/test/identity/TestCreateUser.java @@ -5,8 +5,16 @@ import org.junit.Test; import org.zstack.core.componentloader.ComponentLoader; import org.zstack.core.db.DatabaseFacade; -import org.zstack.header.identity.*; -import org.zstack.test.*; +import org.zstack.header.identity.AccountInventory; +import org.zstack.header.identity.AccountVO; +import org.zstack.header.identity.SessionInventory; +import org.zstack.header.identity.UserInventory; +import org.zstack.header.identity.UserVO; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; public class TestCreateUser { Api api; diff --git a/test/src/test/java/org/zstack/test/identity/TestCredentialFailure.java b/test/src/test/java/org/zstack/test/identity/TestCredentialFailure.java index 5e53176abaa..4b8dc5077a1 100755 --- a/test/src/test/java/org/zstack/test/identity/TestCredentialFailure.java +++ b/test/src/test/java/org/zstack/test/identity/TestCredentialFailure.java @@ -4,7 +4,11 @@ import org.junit.Test; import org.zstack.core.componentloader.ComponentLoader; import org.zstack.core.db.DatabaseFacade; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; public class TestCredentialFailure { Api api; diff --git a/test/src/test/java/org/zstack/test/identity/TestGenerateApiCategory.java b/test/src/test/java/org/zstack/test/identity/TestGenerateApiCategory.java index 2fbf027cbe3..06f1aba4f44 100755 --- a/test/src/test/java/org/zstack/test/identity/TestGenerateApiCategory.java +++ b/test/src/test/java/org/zstack/test/identity/TestGenerateApiCategory.java @@ -7,7 +7,11 @@ import org.zstack.core.db.DatabaseFacade; import org.zstack.header.identity.AccountConstant; import org.zstack.header.identity.GenerateMessageIdentityCategoryMsg; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; /** */ diff --git a/test/src/test/java/org/zstack/test/identity/TestIdentity1.java b/test/src/test/java/org/zstack/test/identity/TestIdentity1.java index 8072d9708f4..1cb7336cdb1 100755 --- a/test/src/test/java/org/zstack/test/identity/TestIdentity1.java +++ b/test/src/test/java/org/zstack/test/identity/TestIdentity1.java @@ -9,7 +9,11 @@ import org.zstack.header.identity.APIQueryAccountReply; import org.zstack.header.identity.AccountInventory; import org.zstack.header.identity.AccountVO; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.search.QueryTestValidator; /** diff --git a/test/src/test/java/org/zstack/test/identity/TestIdentity10.java b/test/src/test/java/org/zstack/test/identity/TestIdentity10.java index 3066c828bca..e0a0ceaaa16 100755 --- a/test/src/test/java/org/zstack/test/identity/TestIdentity10.java +++ b/test/src/test/java/org/zstack/test/identity/TestIdentity10.java @@ -5,8 +5,17 @@ import org.junit.Test; import org.zstack.core.componentloader.ComponentLoader; import org.zstack.core.db.DatabaseFacade; -import org.zstack.header.identity.*; -import org.zstack.test.*; +import org.zstack.header.identity.AccountInventory; +import org.zstack.header.identity.AccountVO; +import org.zstack.header.identity.SessionInventory; +import org.zstack.header.identity.UserGroupInventory; +import org.zstack.header.identity.UserInventory; +import org.zstack.header.identity.UserVO; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; /** * test update identity diff --git a/test/src/test/java/org/zstack/test/identity/TestIdentity2.java b/test/src/test/java/org/zstack/test/identity/TestIdentity2.java index d5be25e00b7..ae695c28f2d 100755 --- a/test/src/test/java/org/zstack/test/identity/TestIdentity2.java +++ b/test/src/test/java/org/zstack/test/identity/TestIdentity2.java @@ -5,8 +5,16 @@ import org.junit.Test; import org.zstack.core.componentloader.ComponentLoader; import org.zstack.core.db.DatabaseFacade; -import org.zstack.header.identity.*; -import org.zstack.test.*; +import org.zstack.header.identity.APIQueryUserMsg; +import org.zstack.header.identity.APIQueryUserReply; +import org.zstack.header.identity.AccountInventory; +import org.zstack.header.identity.UserInventory; +import org.zstack.header.identity.UserVO; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.search.QueryTestValidator; /** diff --git a/test/src/test/java/org/zstack/test/identity/TestIdentity4.java b/test/src/test/java/org/zstack/test/identity/TestIdentity4.java index 7d133588abb..971cc6cc4f0 100755 --- a/test/src/test/java/org/zstack/test/identity/TestIdentity4.java +++ b/test/src/test/java/org/zstack/test/identity/TestIdentity4.java @@ -10,7 +10,11 @@ import org.zstack.header.identity.SessionInventory; import org.zstack.header.identity.UserInventory; import org.zstack.header.identity.UserVO; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; /** * 1. create an account diff --git a/test/src/test/java/org/zstack/test/identity/TestIdentity5.java b/test/src/test/java/org/zstack/test/identity/TestIdentity5.java index a0a2f645d35..3329e6d80b3 100755 --- a/test/src/test/java/org/zstack/test/identity/TestIdentity5.java +++ b/test/src/test/java/org/zstack/test/identity/TestIdentity5.java @@ -7,10 +7,19 @@ import org.zstack.core.db.DatabaseFacade; import org.zstack.core.db.SimpleQuery; import org.zstack.core.db.SimpleQuery.Op; -import org.zstack.header.identity.*; +import org.zstack.header.identity.APIQueryPolicyMsg; +import org.zstack.header.identity.APIQueryPolicyReply; +import org.zstack.header.identity.PolicyInventory; +import org.zstack.header.identity.UserInventory; +import org.zstack.header.identity.UserPolicyRefVO; +import org.zstack.header.identity.UserPolicyRefVO_; import org.zstack.header.identity.PolicyStatementEffect; import org.zstack.header.identity.PolicyStatement; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.deployer.Deployer; import org.zstack.test.search.QueryTestValidator; diff --git a/test/src/test/java/org/zstack/test/identity/TestIdentity6.java b/test/src/test/java/org/zstack/test/identity/TestIdentity6.java index 908d77f9ff1..683a8a15f0d 100755 --- a/test/src/test/java/org/zstack/test/identity/TestIdentity6.java +++ b/test/src/test/java/org/zstack/test/identity/TestIdentity6.java @@ -7,8 +7,20 @@ import org.zstack.core.db.DatabaseFacade; import org.zstack.core.db.SimpleQuery; import org.zstack.core.db.SimpleQuery.Op; -import org.zstack.header.identity.*; -import org.zstack.test.*; +import org.zstack.header.identity.AccountInventory; +import org.zstack.header.identity.SessionVO; +import org.zstack.header.identity.SessionVO_; +import org.zstack.header.identity.UserGroupInventory; +import org.zstack.header.identity.UserGroupUserRefVO; +import org.zstack.header.identity.UserGroupUserRefVO_; +import org.zstack.header.identity.UserGroupVO; +import org.zstack.header.identity.UserInventory; +import org.zstack.header.identity.UserVO; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import java.util.concurrent.TimeUnit; diff --git a/test/src/test/java/org/zstack/test/identity/TestIdentity7.java b/test/src/test/java/org/zstack/test/identity/TestIdentity7.java index 0b14f65c645..b8db74bd7fb 100755 --- a/test/src/test/java/org/zstack/test/identity/TestIdentity7.java +++ b/test/src/test/java/org/zstack/test/identity/TestIdentity7.java @@ -7,11 +7,23 @@ import org.zstack.core.db.DatabaseFacade; import org.zstack.core.db.SimpleQuery; import org.zstack.core.db.SimpleQuery.Op; -import org.zstack.header.identity.*; +import org.zstack.header.identity.APIQueryPolicyMsg; +import org.zstack.header.identity.APIQueryPolicyReply; +import org.zstack.header.identity.PolicyInventory; +import org.zstack.header.identity.UserGroupInventory; +import org.zstack.header.identity.UserGroupPolicyRefVO; +import org.zstack.header.identity.UserGroupPolicyRefVO_; +import org.zstack.header.identity.UserInventory; +import org.zstack.header.identity.UserPolicyRefVO; +import org.zstack.header.identity.UserPolicyRefVO_; import org.zstack.header.identity.PolicyStatementEffect; import org.zstack.header.identity.PolicyStatement; import org.zstack.header.query.QueryOp; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.deployer.Deployer; /** diff --git a/test/src/test/java/org/zstack/test/identity/TestIdentity8.java b/test/src/test/java/org/zstack/test/identity/TestIdentity8.java index 42d83fc8923..7d0fea380ea 100755 --- a/test/src/test/java/org/zstack/test/identity/TestIdentity8.java +++ b/test/src/test/java/org/zstack/test/identity/TestIdentity8.java @@ -8,9 +8,19 @@ import org.zstack.core.db.SimpleQuery; import org.zstack.core.db.SimpleQuery.Op; import org.zstack.header.identity.PolicyStatementEffect; -import org.zstack.header.identity.*; +import org.zstack.header.identity.AccountInventory; +import org.zstack.header.identity.PolicyVO; +import org.zstack.header.identity.PolicyVO_; +import org.zstack.header.identity.UserGroupVO; +import org.zstack.header.identity.UserGroupVO_; +import org.zstack.header.identity.UserVO; +import org.zstack.header.identity.UserVO_; import org.zstack.header.identity.PolicyStatement; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; /** * 1. delete an account diff --git a/test/src/test/java/org/zstack/test/identity/TestIdentity9.java b/test/src/test/java/org/zstack/test/identity/TestIdentity9.java index 1c85179f097..a65d76f83ec 100755 --- a/test/src/test/java/org/zstack/test/identity/TestIdentity9.java +++ b/test/src/test/java/org/zstack/test/identity/TestIdentity9.java @@ -7,9 +7,17 @@ import org.zstack.core.db.DatabaseFacade; import org.zstack.core.db.SimpleQuery; import org.zstack.core.db.SimpleQuery.Op; -import org.zstack.header.identity.*; +import org.zstack.header.identity.PolicyInventory; +import org.zstack.header.identity.PolicyStatement; +import org.zstack.header.identity.UserInventory; +import org.zstack.header.identity.UserPolicyRefVO; +import org.zstack.header.identity.UserPolicyRefVO_; import org.zstack.header.identity.PolicyStatementEffect; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.deployer.Deployer; import java.util.ArrayList; diff --git a/test/src/test/java/org/zstack/test/identity/TestListAccount.java b/test/src/test/java/org/zstack/test/identity/TestListAccount.java index c70a168da60..ac4412e354b 100755 --- a/test/src/test/java/org/zstack/test/identity/TestListAccount.java +++ b/test/src/test/java/org/zstack/test/identity/TestListAccount.java @@ -6,7 +6,11 @@ import org.zstack.core.componentloader.ComponentLoader; import org.zstack.core.db.DatabaseFacade; import org.zstack.header.identity.AccountInventory; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import java.util.List; diff --git a/test/src/test/java/org/zstack/test/identity/TestLogin.java b/test/src/test/java/org/zstack/test/identity/TestLogin.java index d48680917a6..2e6eecb9318 100755 --- a/test/src/test/java/org/zstack/test/identity/TestLogin.java +++ b/test/src/test/java/org/zstack/test/identity/TestLogin.java @@ -7,7 +7,11 @@ import org.zstack.core.db.DatabaseFacade; import org.zstack.header.identity.SessionInventory; import org.zstack.header.identity.SessionVO; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; public class TestLogin { Api api; diff --git a/test/src/test/java/org/zstack/test/identity/TestLogout.java b/test/src/test/java/org/zstack/test/identity/TestLogout.java index 96152497c44..146fce9779d 100755 --- a/test/src/test/java/org/zstack/test/identity/TestLogout.java +++ b/test/src/test/java/org/zstack/test/identity/TestLogout.java @@ -7,7 +7,11 @@ import org.zstack.core.db.DatabaseFacade; import org.zstack.header.identity.SessionInventory; import org.zstack.header.identity.SessionVO; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; public class TestLogout { Api api; diff --git a/test/src/test/java/org/zstack/test/identity/TestMaxSession.java b/test/src/test/java/org/zstack/test/identity/TestMaxSession.java index c5361672703..9c586459a7d 100755 --- a/test/src/test/java/org/zstack/test/identity/TestMaxSession.java +++ b/test/src/test/java/org/zstack/test/identity/TestMaxSession.java @@ -6,7 +6,11 @@ import org.zstack.core.config.GlobalConfigFacade; import org.zstack.core.db.DatabaseFacade; import org.zstack.identity.IdentityGlobalConfig; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; public class TestMaxSession { Api api; diff --git a/test/src/test/java/org/zstack/test/identity/TestResetAccountPassword.java b/test/src/test/java/org/zstack/test/identity/TestResetAccountPassword.java index 76bec09736e..61aceb6b4b7 100755 --- a/test/src/test/java/org/zstack/test/identity/TestResetAccountPassword.java +++ b/test/src/test/java/org/zstack/test/identity/TestResetAccountPassword.java @@ -9,7 +9,11 @@ import org.zstack.header.identity.AccountVO; import org.zstack.header.identity.SessionInventory; import org.zstack.header.identity.UserVO; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; public class TestResetAccountPassword { Api api; diff --git a/test/src/test/java/org/zstack/test/identity/TestSessionExpired.java b/test/src/test/java/org/zstack/test/identity/TestSessionExpired.java index 2415b0bc0e4..ea9473a00ab 100755 --- a/test/src/test/java/org/zstack/test/identity/TestSessionExpired.java +++ b/test/src/test/java/org/zstack/test/identity/TestSessionExpired.java @@ -11,7 +11,11 @@ import org.zstack.header.identity.AccountVO; import org.zstack.header.identity.SessionInventory; import org.zstack.identity.IdentityGlobalConfig; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import java.util.concurrent.TimeUnit; diff --git a/test/src/test/java/org/zstack/test/identity/TestSessionExpiredCleanUp.java b/test/src/test/java/org/zstack/test/identity/TestSessionExpiredCleanUp.java index 96dff3fdaba..be32aff0e54 100755 --- a/test/src/test/java/org/zstack/test/identity/TestSessionExpiredCleanUp.java +++ b/test/src/test/java/org/zstack/test/identity/TestSessionExpiredCleanUp.java @@ -9,7 +9,11 @@ import org.zstack.header.identity.SessionInventory; import org.zstack.header.identity.SessionVO; import org.zstack.identity.IdentityGlobalConfig; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import java.util.concurrent.TimeUnit; diff --git a/test/src/test/java/org/zstack/test/identity/TestValidateSession.java b/test/src/test/java/org/zstack/test/identity/TestValidateSession.java index 95de50b63ca..e1bf3369823 100755 --- a/test/src/test/java/org/zstack/test/identity/TestValidateSession.java +++ b/test/src/test/java/org/zstack/test/identity/TestValidateSession.java @@ -7,7 +7,11 @@ import org.zstack.core.db.DatabaseFacade; import org.zstack.header.identity.SessionInventory; import org.zstack.identity.IdentityGlobalConfig; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import java.util.concurrent.TimeUnit; diff --git a/test/src/test/java/org/zstack/test/image/TestAddImage.java b/test/src/test/java/org/zstack/test/image/TestAddImage.java index d78015a8b76..d7979d89ad0 100755 --- a/test/src/test/java/org/zstack/test/image/TestAddImage.java +++ b/test/src/test/java/org/zstack/test/image/TestAddImage.java @@ -12,7 +12,11 @@ import org.zstack.header.simulator.storage.backup.SimulatorBackupStorageDetails; import org.zstack.header.storage.backup.BackupStorageInventory; import org.zstack.header.storage.backup.BackupStorageVO; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.utils.Utils; import org.zstack.utils.data.SizeUnit; import org.zstack.utils.logging.CLogger; diff --git a/test/src/test/java/org/zstack/test/image/TestAddImageFailure.java b/test/src/test/java/org/zstack/test/image/TestAddImageFailure.java index a3d5ce33247..de470ec34f6 100755 --- a/test/src/test/java/org/zstack/test/image/TestAddImageFailure.java +++ b/test/src/test/java/org/zstack/test/image/TestAddImageFailure.java @@ -13,7 +13,11 @@ import org.zstack.header.storage.backup.BackupStorageInventory; import org.zstack.header.storage.backup.BackupStorageStateEvent; import org.zstack.header.storage.backup.BackupStorageVO; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.utils.Utils; import org.zstack.utils.data.SizeUnit; import org.zstack.utils.logging.CLogger; diff --git a/test/src/test/java/org/zstack/test/image/TestChangeImageState.java b/test/src/test/java/org/zstack/test/image/TestChangeImageState.java index 850e6beaf0f..4f2aca7fcd4 100755 --- a/test/src/test/java/org/zstack/test/image/TestChangeImageState.java +++ b/test/src/test/java/org/zstack/test/image/TestChangeImageState.java @@ -15,7 +15,11 @@ import org.zstack.header.simulator.storage.backup.SimulatorBackupStorageDetails; import org.zstack.header.storage.backup.BackupStorageInventory; import org.zstack.header.storage.backup.BackupStorageVO; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.utils.Utils; import org.zstack.utils.data.SizeUnit; import org.zstack.utils.logging.CLogger; diff --git a/test/src/test/java/org/zstack/test/image/TestDeleteImage.java b/test/src/test/java/org/zstack/test/image/TestDeleteImage.java index 24441914e61..d57a0a07086 100755 --- a/test/src/test/java/org/zstack/test/image/TestDeleteImage.java +++ b/test/src/test/java/org/zstack/test/image/TestDeleteImage.java @@ -14,7 +14,11 @@ import org.zstack.header.storage.backup.BackupStorageInventory; import org.zstack.header.storage.backup.BackupStorageVO; import org.zstack.image.ImageGlobalConfig; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.utils.Utils; import org.zstack.utils.data.SizeUnit; import org.zstack.utils.logging.CLogger; diff --git a/test/src/test/java/org/zstack/test/image/TestDeleteImage2.java b/test/src/test/java/org/zstack/test/image/TestDeleteImage2.java index 02eb2dbba29..e6dd0f8a99b 100755 --- a/test/src/test/java/org/zstack/test/image/TestDeleteImage2.java +++ b/test/src/test/java/org/zstack/test/image/TestDeleteImage2.java @@ -7,14 +7,23 @@ import org.zstack.core.Platform; import org.zstack.core.componentloader.ComponentLoader; import org.zstack.core.db.DatabaseFacade; -import org.zstack.header.image.*; +import org.zstack.header.image.Image; +import org.zstack.header.image.ImageBackupStorageRefInventory; +import org.zstack.header.image.ImageBackupStorageRefVO; +import org.zstack.header.image.ImageInventory; +import org.zstack.header.image.ImageStatus; +import org.zstack.header.image.ImageVO; import org.zstack.header.image.ImageConstant.ImageMediaType; import org.zstack.header.image.ImageDeletionPolicyManager.ImageDeletionPolicy; import org.zstack.header.simulator.SimulatorConstant; import org.zstack.header.simulator.storage.backup.SimulatorBackupStorageDetails; import org.zstack.header.storage.backup.BackupStorageInventory; import org.zstack.image.ImageGlobalConfig; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.utils.CollectionUtils; import org.zstack.utils.Utils; import org.zstack.utils.data.SizeUnit; diff --git a/test/src/test/java/org/zstack/test/image/TestPolicyForImage.java b/test/src/test/java/org/zstack/test/image/TestPolicyForImage.java index 2cdb4a88fd5..6df669922d2 100755 --- a/test/src/test/java/org/zstack/test/image/TestPolicyForImage.java +++ b/test/src/test/java/org/zstack/test/image/TestPolicyForImage.java @@ -10,14 +10,29 @@ import org.zstack.header.identity.IdentityErrors; import org.zstack.header.identity.PolicyStatement; import org.zstack.header.identity.SessionInventory; -import org.zstack.header.image.*; +import org.zstack.header.image.APIAddImageMsg; +import org.zstack.header.image.APIChangeImageStateMsg; +import org.zstack.header.image.APIDeleteImageMsg; +import org.zstack.header.image.APIQueryImageMsg; +import org.zstack.header.image.APIQueryImageReply; +import org.zstack.header.image.APIUpdateImageMsg; +import org.zstack.header.image.Image; +import org.zstack.header.image.ImageConstant; +import org.zstack.header.image.ImageInventory; +import org.zstack.header.image.ImageStateEvent; +import org.zstack.header.image.ImageVO; +import org.zstack.header.image.ImageVO_; import org.zstack.header.image.ImageConstant.ImageMediaType; import org.zstack.header.query.QueryCondition; import org.zstack.header.query.QueryOp; import org.zstack.header.simulator.storage.backup.SimulatorBackupStorageDetails; import org.zstack.header.storage.backup.BackupStorageInventory; import org.zstack.header.storage.backup.BackupStorageVO; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.identity.IdentityCreator; import org.zstack.utils.Utils; import org.zstack.utils.data.SizeUnit; diff --git a/test/src/test/java/org/zstack/test/image/TestSyncImageSize.java b/test/src/test/java/org/zstack/test/image/TestSyncImageSize.java index fe52f193c48..e74aacbf6b7 100644 --- a/test/src/test/java/org/zstack/test/image/TestSyncImageSize.java +++ b/test/src/test/java/org/zstack/test/image/TestSyncImageSize.java @@ -10,7 +10,11 @@ import org.zstack.core.cloudbus.CloudBus; import org.zstack.core.cloudbus.CloudBusCallBack; import org.zstack.header.errorcode.ErrorCode; -import org.zstack.header.image.*; +import org.zstack.header.image.ImageConstant; +import org.zstack.header.image.ImageState; +import org.zstack.header.image.ImageStatus; +import org.zstack.header.image.ImageVO; +import org.zstack.header.image.SyncImageSizeMsg; import org.zstack.header.message.Message; import org.zstack.header.message.MessageReply; import org.zstack.header.storage.backup.SyncImageSizeOnBackupStorageMsg; diff --git a/test/src/test/java/org/zstack/test/image/TestUpdateImage.java b/test/src/test/java/org/zstack/test/image/TestUpdateImage.java index 30c770124f7..d40a0604367 100755 --- a/test/src/test/java/org/zstack/test/image/TestUpdateImage.java +++ b/test/src/test/java/org/zstack/test/image/TestUpdateImage.java @@ -11,7 +11,11 @@ import org.zstack.header.simulator.storage.backup.SimulatorBackupStorageDetails; import org.zstack.header.storage.backup.BackupStorageInventory; import org.zstack.header.storage.backup.BackupStorageVO; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.utils.Utils; import org.zstack.utils.data.SizeUnit; import org.zstack.utils.logging.CLogger; diff --git a/test/src/test/java/org/zstack/test/kvm/TestAddKvmCheckPhysicalNetworkInterface.java b/test/src/test/java/org/zstack/test/kvm/TestAddKvmCheckPhysicalNetworkInterface.java index 930f966b141..e3e2acb9a96 100755 --- a/test/src/test/java/org/zstack/test/kvm/TestAddKvmCheckPhysicalNetworkInterface.java +++ b/test/src/test/java/org/zstack/test/kvm/TestAddKvmCheckPhysicalNetworkInterface.java @@ -12,7 +12,11 @@ import org.zstack.kvm.APIAddKVMHostMsg; import org.zstack.kvm.KVMHostFactory; import org.zstack.simulator.kvm.KVMSimulatorConfig; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSender; +import org.zstack.test.ApiSenderException; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.deployer.Deployer; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; diff --git a/test/src/test/java/org/zstack/test/kvm/TestAddKvmCheckPhysicalNetworkInterface2.java b/test/src/test/java/org/zstack/test/kvm/TestAddKvmCheckPhysicalNetworkInterface2.java index c4c4f324367..4f768ae362a 100755 --- a/test/src/test/java/org/zstack/test/kvm/TestAddKvmCheckPhysicalNetworkInterface2.java +++ b/test/src/test/java/org/zstack/test/kvm/TestAddKvmCheckPhysicalNetworkInterface2.java @@ -13,7 +13,11 @@ import org.zstack.kvm.APIAddKVMHostMsg; import org.zstack.kvm.KVMHostFactory; import org.zstack.simulator.kvm.KVMSimulatorConfig; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSender; +import org.zstack.test.ApiSenderException; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.deployer.Deployer; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; diff --git a/test/src/test/java/org/zstack/test/kvm/TestAddKvmCheckPhysicalNetworkInterfaceException.java b/test/src/test/java/org/zstack/test/kvm/TestAddKvmCheckPhysicalNetworkInterfaceException.java index 170bc051b6a..fbafbc7934a 100755 --- a/test/src/test/java/org/zstack/test/kvm/TestAddKvmCheckPhysicalNetworkInterfaceException.java +++ b/test/src/test/java/org/zstack/test/kvm/TestAddKvmCheckPhysicalNetworkInterfaceException.java @@ -12,7 +12,11 @@ import org.zstack.kvm.APIAddKVMHostMsg; import org.zstack.kvm.KVMHostFactory; import org.zstack.simulator.kvm.KVMSimulatorConfig; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSender; +import org.zstack.test.ApiSenderException; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.deployer.Deployer; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; diff --git a/test/src/test/java/org/zstack/test/kvm/TestAddKvmCheckPhysicalNetworkInterfaceFailure.java b/test/src/test/java/org/zstack/test/kvm/TestAddKvmCheckPhysicalNetworkInterfaceFailure.java index 0815929aeac..5bb023b2741 100755 --- a/test/src/test/java/org/zstack/test/kvm/TestAddKvmCheckPhysicalNetworkInterfaceFailure.java +++ b/test/src/test/java/org/zstack/test/kvm/TestAddKvmCheckPhysicalNetworkInterfaceFailure.java @@ -12,7 +12,11 @@ import org.zstack.kvm.APIAddKVMHostMsg; import org.zstack.kvm.KVMHostFactory; import org.zstack.simulator.kvm.KVMSimulatorConfig; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSender; +import org.zstack.test.ApiSenderException; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.deployer.Deployer; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; diff --git a/test/src/test/java/org/zstack/test/kvm/TestAddKvmHost.java b/test/src/test/java/org/zstack/test/kvm/TestAddKvmHost.java index b8d4987b30a..1482c7ad683 100755 --- a/test/src/test/java/org/zstack/test/kvm/TestAddKvmHost.java +++ b/test/src/test/java/org/zstack/test/kvm/TestAddKvmHost.java @@ -15,7 +15,11 @@ import org.zstack.kvm.APIAddKVMHostMsg; import org.zstack.kvm.KVMHostFactory; import org.zstack.simulator.kvm.KVMSimulatorConfig; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSender; +import org.zstack.test.ApiSenderException; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.deployer.Deployer; import org.zstack.utils.Utils; import org.zstack.utils.data.SizeUnit; diff --git a/test/src/test/java/org/zstack/test/kvm/TestAddKvmHostConncectException.java b/test/src/test/java/org/zstack/test/kvm/TestAddKvmHostConncectException.java index f4045ab4924..671d8e899d1 100755 --- a/test/src/test/java/org/zstack/test/kvm/TestAddKvmHostConncectException.java +++ b/test/src/test/java/org/zstack/test/kvm/TestAddKvmHostConncectException.java @@ -12,7 +12,11 @@ import org.zstack.kvm.APIAddKVMHostMsg; import org.zstack.kvm.KVMHostFactory; import org.zstack.simulator.kvm.KVMSimulatorConfig; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSender; +import org.zstack.test.ApiSenderException; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.deployer.Deployer; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; diff --git a/test/src/test/java/org/zstack/test/kvm/TestAddKvmHostConncectFailure.java b/test/src/test/java/org/zstack/test/kvm/TestAddKvmHostConncectFailure.java index d8adbfefa56..d02c10745cc 100755 --- a/test/src/test/java/org/zstack/test/kvm/TestAddKvmHostConncectFailure.java +++ b/test/src/test/java/org/zstack/test/kvm/TestAddKvmHostConncectFailure.java @@ -12,7 +12,11 @@ import org.zstack.kvm.APIAddKVMHostMsg; import org.zstack.kvm.KVMHostFactory; import org.zstack.simulator.kvm.KVMSimulatorConfig; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSender; +import org.zstack.test.ApiSenderException; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.deployer.Deployer; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; diff --git a/test/src/test/java/org/zstack/test/kvm/TestAddKvmHostFactException.java b/test/src/test/java/org/zstack/test/kvm/TestAddKvmHostFactException.java index 64f34fc6ca1..42eb0cb355b 100755 --- a/test/src/test/java/org/zstack/test/kvm/TestAddKvmHostFactException.java +++ b/test/src/test/java/org/zstack/test/kvm/TestAddKvmHostFactException.java @@ -12,7 +12,11 @@ import org.zstack.kvm.APIAddKVMHostMsg; import org.zstack.kvm.KVMHostFactory; import org.zstack.simulator.kvm.KVMSimulatorConfig; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSender; +import org.zstack.test.ApiSenderException; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.deployer.Deployer; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; diff --git a/test/src/test/java/org/zstack/test/kvm/TestAddKvmHostFactFailure.java b/test/src/test/java/org/zstack/test/kvm/TestAddKvmHostFactFailure.java index d5e5e1d8bf1..898ac8b9537 100755 --- a/test/src/test/java/org/zstack/test/kvm/TestAddKvmHostFactFailure.java +++ b/test/src/test/java/org/zstack/test/kvm/TestAddKvmHostFactFailure.java @@ -12,7 +12,11 @@ import org.zstack.kvm.APIAddKVMHostMsg; import org.zstack.kvm.KVMHostFactory; import org.zstack.simulator.kvm.KVMSimulatorConfig; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSender; +import org.zstack.test.ApiSenderException; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.deployer.Deployer; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; diff --git a/test/src/test/java/org/zstack/test/kvm/TestCreateVmNotStartOnKvm.java b/test/src/test/java/org/zstack/test/kvm/TestCreateVmNotStartOnKvm.java index 6e9e3609107..54527b125f6 100755 --- a/test/src/test/java/org/zstack/test/kvm/TestCreateVmNotStartOnKvm.java +++ b/test/src/test/java/org/zstack/test/kvm/TestCreateVmNotStartOnKvm.java @@ -22,7 +22,11 @@ import org.zstack.header.vm.VmInstanceState; import org.zstack.header.volume.VolumeVO; import org.zstack.simulator.storage.backup.sftp.SftpBackupStorageSimulatorConfig; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.DBUtil; +import org.zstack.test.VmCreator; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.deployer.Deployer; import org.zstack.test.storage.backup.sftp.TestSftpBackupStorageDeleteImage2; import org.zstack.utils.Utils; diff --git a/test/src/test/java/org/zstack/test/kvm/TestCreateVmOnKvm1.java b/test/src/test/java/org/zstack/test/kvm/TestCreateVmOnKvm1.java index ed9e68d9145..b8f21a4ef90 100755 --- a/test/src/test/java/org/zstack/test/kvm/TestCreateVmOnKvm1.java +++ b/test/src/test/java/org/zstack/test/kvm/TestCreateVmOnKvm1.java @@ -13,7 +13,11 @@ import org.zstack.header.vm.VmInstanceInventory; import org.zstack.header.volume.VolumeInventory; import org.zstack.simulator.storage.backup.sftp.SftpBackupStorageSimulatorConfig; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.DBUtil; +import org.zstack.test.VmCreator; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.deployer.Deployer; import org.zstack.test.storage.backup.sftp.TestSftpBackupStorageDeleteImage2; import org.zstack.utils.Utils; diff --git a/test/src/test/java/org/zstack/test/kvm/TestCreateVmOnKvm1FailureAtEnd.java b/test/src/test/java/org/zstack/test/kvm/TestCreateVmOnKvm1FailureAtEnd.java index ea41295f5e7..a99de44963b 100755 --- a/test/src/test/java/org/zstack/test/kvm/TestCreateVmOnKvm1FailureAtEnd.java +++ b/test/src/test/java/org/zstack/test/kvm/TestCreateVmOnKvm1FailureAtEnd.java @@ -16,7 +16,11 @@ import org.zstack.header.network.l3.L3NetworkInventory; import org.zstack.simulator.kvm.KVMSimulatorConfig; import org.zstack.simulator.storage.backup.sftp.SftpBackupStorageSimulatorConfig; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.DBUtil; +import org.zstack.test.VmCreator; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.deployer.Deployer; import org.zstack.test.storage.backup.sftp.TestSftpBackupStorageDeleteImage2; import org.zstack.utils.Utils; diff --git a/test/src/test/java/org/zstack/test/kvm/TestCreateVmOnKvm2.java b/test/src/test/java/org/zstack/test/kvm/TestCreateVmOnKvm2.java index 99f90c7ff3e..5978ffe68a7 100755 --- a/test/src/test/java/org/zstack/test/kvm/TestCreateVmOnKvm2.java +++ b/test/src/test/java/org/zstack/test/kvm/TestCreateVmOnKvm2.java @@ -15,7 +15,11 @@ import org.zstack.header.vm.VmInstanceInventory; import org.zstack.simulator.storage.backup.sftp.SftpBackupStorageSimulatorConfig; import org.zstack.simulator.storage.primary.nfs.NfsPrimaryStorageSimulatorConfig; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.DBUtil; +import org.zstack.test.VmCreator; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.deployer.Deployer; import org.zstack.test.storage.backup.sftp.TestSftpBackupStorageDeleteImage2; import org.zstack.utils.Utils; diff --git a/test/src/test/java/org/zstack/test/kvm/TestCreateVmOnKvmFailure.java b/test/src/test/java/org/zstack/test/kvm/TestCreateVmOnKvmFailure.java index 3382c69d9e3..7be0881d2bb 100755 --- a/test/src/test/java/org/zstack/test/kvm/TestCreateVmOnKvmFailure.java +++ b/test/src/test/java/org/zstack/test/kvm/TestCreateVmOnKvmFailure.java @@ -15,7 +15,11 @@ import org.zstack.header.vm.APICreateVmInstanceMsg; import org.zstack.header.vm.VmInstanceConstant; import org.zstack.simulator.kvm.KVMSimulatorConfig; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSender; +import org.zstack.test.ApiSenderException; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.deployer.Deployer; import org.zstack.test.storage.backup.sftp.TestSftpBackupStorageDeleteImage2; import org.zstack.utils.Utils; diff --git a/test/src/test/java/org/zstack/test/kvm/TestCreateVmOnKvmSpecifiedPrimaryStorageForRootVolume.java b/test/src/test/java/org/zstack/test/kvm/TestCreateVmOnKvmSpecifiedPrimaryStorageForRootVolume.java index 1f1ba17e8a4..9dae628ef05 100644 --- a/test/src/test/java/org/zstack/test/kvm/TestCreateVmOnKvmSpecifiedPrimaryStorageForRootVolume.java +++ b/test/src/test/java/org/zstack/test/kvm/TestCreateVmOnKvmSpecifiedPrimaryStorageForRootVolume.java @@ -12,7 +12,11 @@ import org.zstack.header.storage.primary.PrimaryStorageInventory; import org.zstack.simulator.storage.backup.sftp.SftpBackupStorageSimulatorConfig; import org.zstack.simulator.storage.primary.nfs.NfsPrimaryStorageSimulatorConfig; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.DBUtil; +import org.zstack.test.VmCreator; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.deployer.Deployer; import org.zstack.test.storage.backup.sftp.TestSftpBackupStorageDeleteImage2; import org.zstack.utils.Utils; diff --git a/test/src/test/java/org/zstack/test/kvm/TestGetCandidatesForCreatingVm.java b/test/src/test/java/org/zstack/test/kvm/TestGetCandidatesForCreatingVm.java index f2027862ea0..d3e1fc045a8 100755 --- a/test/src/test/java/org/zstack/test/kvm/TestGetCandidatesForCreatingVm.java +++ b/test/src/test/java/org/zstack/test/kvm/TestGetCandidatesForCreatingVm.java @@ -16,7 +16,11 @@ import org.zstack.header.vm.APIGetCandidateZonesClustersHostsForCreatingVmReply; import org.zstack.header.zone.ZoneInventory; import org.zstack.simulator.storage.backup.sftp.SftpBackupStorageSimulatorConfig; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSender; +import org.zstack.test.ApiSenderException; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.deployer.Deployer; import org.zstack.test.storage.backup.sftp.TestSftpBackupStorageDeleteImage2; import org.zstack.utils.Utils; diff --git a/test/src/test/java/org/zstack/test/kvm/TestGetCandidatesForCreatingVm1.java b/test/src/test/java/org/zstack/test/kvm/TestGetCandidatesForCreatingVm1.java index 0de3d46dd22..92cf02ce98b 100755 --- a/test/src/test/java/org/zstack/test/kvm/TestGetCandidatesForCreatingVm1.java +++ b/test/src/test/java/org/zstack/test/kvm/TestGetCandidatesForCreatingVm1.java @@ -16,7 +16,11 @@ import org.zstack.header.vm.APIGetCandidateZonesClustersHostsForCreatingVmReply; import org.zstack.header.zone.ZoneInventory; import org.zstack.simulator.storage.backup.sftp.SftpBackupStorageSimulatorConfig; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSender; +import org.zstack.test.ApiSenderException; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.deployer.Deployer; import org.zstack.test.storage.backup.sftp.TestSftpBackupStorageDeleteImage2; import org.zstack.utils.Utils; diff --git a/test/src/test/java/org/zstack/test/kvm/TestKvm1000Vm.java b/test/src/test/java/org/zstack/test/kvm/TestKvm1000Vm.java index f8ec3a6635b..21c7c91cde1 100755 --- a/test/src/test/java/org/zstack/test/kvm/TestKvm1000Vm.java +++ b/test/src/test/java/org/zstack/test/kvm/TestKvm1000Vm.java @@ -23,7 +23,11 @@ import org.zstack.header.vm.VmInstanceVO_; import org.zstack.simulator.kvm.KVMSimulatorConfig; import org.zstack.simulator.virtualrouter.VirtualRouterSimulatorConfig; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.DBUtil; +import org.zstack.test.VmCreator; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.deployer.Deployer; import org.zstack.utils.CollectionUtils; import org.zstack.utils.function.Function; diff --git a/test/src/test/java/org/zstack/test/kvm/TestKvm100VmBalancedToMultiHost.java b/test/src/test/java/org/zstack/test/kvm/TestKvm100VmBalancedToMultiHost.java index 1dfc86ad5be..3a94c6b512e 100755 --- a/test/src/test/java/org/zstack/test/kvm/TestKvm100VmBalancedToMultiHost.java +++ b/test/src/test/java/org/zstack/test/kvm/TestKvm100VmBalancedToMultiHost.java @@ -19,7 +19,11 @@ import org.zstack.header.network.l3.L3NetworkInventory; import org.zstack.network.service.flat.FlatNetworkServiceSimulatorConfig; import org.zstack.simulator.kvm.KVMSimulatorConfig; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.DBUtil; +import org.zstack.test.VmCreator; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.deployer.Deployer; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; diff --git a/test/src/test/java/org/zstack/test/kvm/TestKvm100VmBalancedToNewHost.java b/test/src/test/java/org/zstack/test/kvm/TestKvm100VmBalancedToNewHost.java index 0b2d2f3ad75..2b546924b29 100755 --- a/test/src/test/java/org/zstack/test/kvm/TestKvm100VmBalancedToNewHost.java +++ b/test/src/test/java/org/zstack/test/kvm/TestKvm100VmBalancedToNewHost.java @@ -23,7 +23,12 @@ import org.zstack.kvm.APIAddKVMHostMsg; import org.zstack.network.service.flat.FlatNetworkServiceSimulatorConfig; import org.zstack.simulator.kvm.KVMSimulatorConfig; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSender; +import org.zstack.test.ApiSenderException; +import org.zstack.test.DBUtil; +import org.zstack.test.VmCreator; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.deployer.Deployer; import org.zstack.utils.Utils; import org.zstack.utils.data.SizeUnit; diff --git a/test/src/test/java/org/zstack/test/kvm/TestKvmAttachL2Network2.java b/test/src/test/java/org/zstack/test/kvm/TestKvmAttachL2Network2.java index 919505e02d7..eca750ed0a1 100755 --- a/test/src/test/java/org/zstack/test/kvm/TestKvmAttachL2Network2.java +++ b/test/src/test/java/org/zstack/test/kvm/TestKvmAttachL2Network2.java @@ -11,7 +11,11 @@ import org.zstack.kvm.APIAddKVMHostMsg; import org.zstack.kvm.KVMHostFactory; import org.zstack.simulator.kvm.KVMSimulatorConfig; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSender; +import org.zstack.test.ApiSenderException; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.deployer.Deployer; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; diff --git a/test/src/test/java/org/zstack/test/kvm/TestKvmAttachL2Network3.java b/test/src/test/java/org/zstack/test/kvm/TestKvmAttachL2Network3.java index 2d848ad78cb..92f0a7be1fc 100755 --- a/test/src/test/java/org/zstack/test/kvm/TestKvmAttachL2Network3.java +++ b/test/src/test/java/org/zstack/test/kvm/TestKvmAttachL2Network3.java @@ -11,7 +11,11 @@ import org.zstack.kvm.APIAddKVMHostMsg; import org.zstack.kvm.KVMHostFactory; import org.zstack.simulator.kvm.KVMSimulatorConfig; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSender; +import org.zstack.test.ApiSenderException; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.deployer.Deployer; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; diff --git a/test/src/test/java/org/zstack/test/kvm/TestKvmHostCapacityOnFailure.java b/test/src/test/java/org/zstack/test/kvm/TestKvmHostCapacityOnFailure.java index 0ae9aba022e..4bc5568b199 100755 --- a/test/src/test/java/org/zstack/test/kvm/TestKvmHostCapacityOnFailure.java +++ b/test/src/test/java/org/zstack/test/kvm/TestKvmHostCapacityOnFailure.java @@ -25,7 +25,11 @@ import org.zstack.header.vm.VmInstanceVO; import org.zstack.simulator.kvm.KVMSimulatorConfig; import org.zstack.simulator.virtualrouter.VirtualRouterSimulatorConfig; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.DBUtil; +import org.zstack.test.VmCreator; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.deployer.Deployer; import org.zstack.utils.CollectionUtils; import org.zstack.utils.Utils; diff --git a/test/src/test/java/org/zstack/test/kvm/TestKvmNfsPrimaryStorage.java b/test/src/test/java/org/zstack/test/kvm/TestKvmNfsPrimaryStorage.java index 70aa045f81f..dd8b20223c1 100755 --- a/test/src/test/java/org/zstack/test/kvm/TestKvmNfsPrimaryStorage.java +++ b/test/src/test/java/org/zstack/test/kvm/TestKvmNfsPrimaryStorage.java @@ -21,7 +21,11 @@ import org.zstack.simulator.storage.primary.nfs.NfsPrimaryStorageSimulatorConfig; import org.zstack.storage.primary.nfs.APIAddNfsPrimaryStorageMsg; import org.zstack.storage.primary.nfs.NfsPrimaryStorageGlobalConfig; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSender; +import org.zstack.test.ApiSenderException; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.deployer.Deployer; import org.zstack.utils.Utils; import org.zstack.utils.data.SizeUnit; diff --git a/test/src/test/java/org/zstack/test/kvm/TestKvmNfsPrimaryStorage2.java b/test/src/test/java/org/zstack/test/kvm/TestKvmNfsPrimaryStorage2.java index eb0fa4336f8..4e8ad14ed67 100755 --- a/test/src/test/java/org/zstack/test/kvm/TestKvmNfsPrimaryStorage2.java +++ b/test/src/test/java/org/zstack/test/kvm/TestKvmNfsPrimaryStorage2.java @@ -21,7 +21,11 @@ import org.zstack.simulator.storage.primary.nfs.NfsPrimaryStorageSimulatorConfig; import org.zstack.storage.primary.nfs.APIAddNfsPrimaryStorageMsg; import org.zstack.storage.primary.nfs.NfsPrimaryStorageGlobalConfig; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSender; +import org.zstack.test.ApiSenderException; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.deployer.Deployer; import org.zstack.utils.Utils; import org.zstack.utils.data.SizeUnit; diff --git a/test/src/test/java/org/zstack/test/kvm/TestKvmNfsPrimaryStorageMountException.java b/test/src/test/java/org/zstack/test/kvm/TestKvmNfsPrimaryStorageMountException.java index 5a570b994e2..06cc941b42c 100755 --- a/test/src/test/java/org/zstack/test/kvm/TestKvmNfsPrimaryStorageMountException.java +++ b/test/src/test/java/org/zstack/test/kvm/TestKvmNfsPrimaryStorageMountException.java @@ -18,7 +18,11 @@ import org.zstack.simulator.kvm.KVMSimulatorConfig; import org.zstack.simulator.storage.primary.nfs.NfsPrimaryStorageSimulatorConfig; import org.zstack.storage.primary.nfs.APIAddNfsPrimaryStorageMsg; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSender; +import org.zstack.test.ApiSenderException; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.deployer.Deployer; import org.zstack.utils.Utils; import org.zstack.utils.data.SizeUnit; diff --git a/test/src/test/java/org/zstack/test/kvm/TestKvmNfsPrimaryStorageMountFailure.java b/test/src/test/java/org/zstack/test/kvm/TestKvmNfsPrimaryStorageMountFailure.java index e55ec6d9376..88340d5449d 100755 --- a/test/src/test/java/org/zstack/test/kvm/TestKvmNfsPrimaryStorageMountFailure.java +++ b/test/src/test/java/org/zstack/test/kvm/TestKvmNfsPrimaryStorageMountFailure.java @@ -18,7 +18,11 @@ import org.zstack.simulator.kvm.KVMSimulatorConfig; import org.zstack.simulator.storage.primary.nfs.NfsPrimaryStorageSimulatorConfig; import org.zstack.storage.primary.nfs.APIAddNfsPrimaryStorageMsg; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSender; +import org.zstack.test.ApiSenderException; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.deployer.Deployer; import org.zstack.utils.Utils; import org.zstack.utils.data.SizeUnit; diff --git a/test/src/test/java/org/zstack/test/kvm/TestKvmNfsPrimaryStorageUnmount.java b/test/src/test/java/org/zstack/test/kvm/TestKvmNfsPrimaryStorageUnmount.java index be8f7344c77..3b01bc7a764 100755 --- a/test/src/test/java/org/zstack/test/kvm/TestKvmNfsPrimaryStorageUnmount.java +++ b/test/src/test/java/org/zstack/test/kvm/TestKvmNfsPrimaryStorageUnmount.java @@ -18,7 +18,11 @@ import org.zstack.simulator.kvm.KVMSimulatorConfig; import org.zstack.storage.primary.nfs.APIAddNfsPrimaryStorageMsg; import org.zstack.storage.primary.nfs.NfsPrimaryStorageConstant; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSender; +import org.zstack.test.ApiSenderException; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.deployer.Deployer; import org.zstack.utils.Utils; import org.zstack.utils.data.SizeUnit; diff --git a/test/src/test/java/org/zstack/test/kvm/TestKvmNfsPrimaryStorageUnmountException.java b/test/src/test/java/org/zstack/test/kvm/TestKvmNfsPrimaryStorageUnmountException.java index 46988ed2840..ba411732dc5 100755 --- a/test/src/test/java/org/zstack/test/kvm/TestKvmNfsPrimaryStorageUnmountException.java +++ b/test/src/test/java/org/zstack/test/kvm/TestKvmNfsPrimaryStorageUnmountException.java @@ -17,7 +17,11 @@ import org.zstack.kvm.KVMHostFactory; import org.zstack.simulator.kvm.KVMSimulatorConfig; import org.zstack.storage.primary.nfs.APIAddNfsPrimaryStorageMsg; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSender; +import org.zstack.test.ApiSenderException; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.deployer.Deployer; import org.zstack.utils.Utils; import org.zstack.utils.data.SizeUnit; diff --git a/test/src/test/java/org/zstack/test/kvm/TestKvmNfsPrimaryStorageUnmountFailure.java b/test/src/test/java/org/zstack/test/kvm/TestKvmNfsPrimaryStorageUnmountFailure.java index 47686d987bb..9f8aada10ce 100755 --- a/test/src/test/java/org/zstack/test/kvm/TestKvmNfsPrimaryStorageUnmountFailure.java +++ b/test/src/test/java/org/zstack/test/kvm/TestKvmNfsPrimaryStorageUnmountFailure.java @@ -17,7 +17,11 @@ import org.zstack.kvm.KVMHostFactory; import org.zstack.simulator.kvm.KVMSimulatorConfig; import org.zstack.storage.primary.nfs.APIAddNfsPrimaryStorageMsg; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSender; +import org.zstack.test.ApiSenderException; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.deployer.Deployer; import org.zstack.utils.Utils; import org.zstack.utils.data.SizeUnit; diff --git a/test/src/test/java/org/zstack/test/kvm/TestKvmStartVmInstance100VmBalancedToMultiHostEnsureStartAllWhenResourceIsEnough.java b/test/src/test/java/org/zstack/test/kvm/TestKvmStartVmInstance100VmBalancedToMultiHostEnsureStartAllWhenResourceIsEnough.java index 7b75e67a3ea..a979475d9bc 100755 --- a/test/src/test/java/org/zstack/test/kvm/TestKvmStartVmInstance100VmBalancedToMultiHostEnsureStartAllWhenResourceIsEnough.java +++ b/test/src/test/java/org/zstack/test/kvm/TestKvmStartVmInstance100VmBalancedToMultiHostEnsureStartAllWhenResourceIsEnough.java @@ -19,7 +19,11 @@ import org.zstack.header.network.l3.L3NetworkInventory; import org.zstack.network.service.flat.FlatNetworkServiceSimulatorConfig; import org.zstack.simulator.kvm.KVMSimulatorConfig; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.DBUtil; +import org.zstack.test.VmCreator; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.deployer.Deployer; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; diff --git a/test/src/test/java/org/zstack/test/kvm/TestStartVmOnTargetHost.java b/test/src/test/java/org/zstack/test/kvm/TestStartVmOnTargetHost.java index bd2ee33e5d9..1f41ca89585 100755 --- a/test/src/test/java/org/zstack/test/kvm/TestStartVmOnTargetHost.java +++ b/test/src/test/java/org/zstack/test/kvm/TestStartVmOnTargetHost.java @@ -13,7 +13,11 @@ import org.zstack.header.vm.APIStartVmInstanceMsg; import org.zstack.header.vm.VmInstanceInventory; import org.zstack.simulator.storage.backup.sftp.SftpBackupStorageSimulatorConfig; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSender; +import org.zstack.test.ApiSenderException; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.deployer.Deployer; import org.zstack.test.storage.backup.sftp.TestSftpBackupStorageDeleteImage2; import org.zstack.utils.Utils; diff --git a/test/src/test/java/org/zstack/test/kvm/TestStartVmOnTargetHost1.java b/test/src/test/java/org/zstack/test/kvm/TestStartVmOnTargetHost1.java index 8d83c3da611..9c2edd3d15b 100755 --- a/test/src/test/java/org/zstack/test/kvm/TestStartVmOnTargetHost1.java +++ b/test/src/test/java/org/zstack/test/kvm/TestStartVmOnTargetHost1.java @@ -14,7 +14,11 @@ import org.zstack.header.vm.APIStartVmInstanceMsg; import org.zstack.header.vm.VmInstanceInventory; import org.zstack.simulator.storage.backup.sftp.SftpBackupStorageSimulatorConfig; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSender; +import org.zstack.test.ApiSenderException; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.deployer.Deployer; import org.zstack.test.storage.backup.sftp.TestSftpBackupStorageDeleteImage2; import org.zstack.utils.Utils; diff --git a/test/src/test/java/org/zstack/test/kvm/TestUpdateKvmHost.java b/test/src/test/java/org/zstack/test/kvm/TestUpdateKvmHost.java index a32e4566414..3d4b6a74ea3 100755 --- a/test/src/test/java/org/zstack/test/kvm/TestUpdateKvmHost.java +++ b/test/src/test/java/org/zstack/test/kvm/TestUpdateKvmHost.java @@ -15,7 +15,11 @@ import org.zstack.kvm.KVMHostInventory; import org.zstack.kvm.KVMHostVO; import org.zstack.simulator.kvm.KVMSimulatorConfig; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSender; +import org.zstack.test.ApiSenderException; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.deployer.Deployer; import org.zstack.utils.Utils; import org.zstack.utils.data.SizeUnit; diff --git a/test/src/test/java/org/zstack/test/kvm/TestVmSocketOnKvm.java b/test/src/test/java/org/zstack/test/kvm/TestVmSocketOnKvm.java index 057d734de4d..c8a6bf02085 100755 --- a/test/src/test/java/org/zstack/test/kvm/TestVmSocketOnKvm.java +++ b/test/src/test/java/org/zstack/test/kvm/TestVmSocketOnKvm.java @@ -12,7 +12,11 @@ import org.zstack.header.network.l3.L3NetworkInventory; import org.zstack.kvm.KVMAgentCommands; import org.zstack.simulator.kvm.KVMSimulatorConfig; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.DBUtil; +import org.zstack.test.VmCreator; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.deployer.Deployer; import org.zstack.test.storage.backup.sftp.TestSftpBackupStorageDeleteImage2; import org.zstack.utils.Utils; diff --git a/test/src/test/java/org/zstack/test/lb/TestVirtualRouterLb.java b/test/src/test/java/org/zstack/test/lb/TestVirtualRouterLb.java index f182425cd9d..1f1fe12cd64 100755 --- a/test/src/test/java/org/zstack/test/lb/TestVirtualRouterLb.java +++ b/test/src/test/java/org/zstack/test/lb/TestVirtualRouterLb.java @@ -12,7 +12,11 @@ import org.zstack.header.query.QueryOp; import org.zstack.header.vm.VmInstanceInventory; import org.zstack.header.vm.VmNicInventory; -import org.zstack.network.service.lb.*; +import org.zstack.network.service.lb.LoadBalancerConstants; +import org.zstack.network.service.lb.LoadBalancerInventory; +import org.zstack.network.service.lb.LoadBalancerListenerVO; +import org.zstack.network.service.lb.LoadBalancerListenerVmNicRefVO; +import org.zstack.network.service.lb.LoadBalancerVO; import org.zstack.network.service.vip.VipInventory; import org.zstack.network.service.vip.VipNetworkServicesRefVO; import org.zstack.network.service.vip.VipNetworkServicesRefVO_; diff --git a/test/src/test/java/org/zstack/test/lb/TestVirtualRouterLb13.java b/test/src/test/java/org/zstack/test/lb/TestVirtualRouterLb13.java index 477c43f3d6a..1cbb03dbc06 100755 --- a/test/src/test/java/org/zstack/test/lb/TestVirtualRouterLb13.java +++ b/test/src/test/java/org/zstack/test/lb/TestVirtualRouterLb13.java @@ -8,7 +8,12 @@ import org.zstack.core.db.DatabaseFacade; import org.zstack.header.identity.SessionInventory; import org.zstack.header.vm.VmNicInventory; -import org.zstack.network.service.lb.*; +import org.zstack.network.service.lb.LoadBalancerGlobalConfig; +import org.zstack.network.service.lb.LoadBalancerInventory; +import org.zstack.network.service.lb.LoadBalancerListenerInventory; +import org.zstack.network.service.lb.LoadBalancerListenerVO; +import org.zstack.network.service.lb.LoadBalancerSystemTags; +import org.zstack.network.service.lb.LoadBalancerVO; import org.zstack.network.service.virtualrouter.lb.VirtualRouterLoadBalancerBackend.LbTO; import org.zstack.network.service.virtualrouter.lb.VirtualRouterLoadBalancerBackend.RefreshLbCmd; import org.zstack.simulator.appliancevm.ApplianceVmSimulatorConfig; diff --git a/test/src/test/java/org/zstack/test/lb/TestVirtualRouterLb17.java b/test/src/test/java/org/zstack/test/lb/TestVirtualRouterLb17.java index 61714880b27..7a734f67c46 100755 --- a/test/src/test/java/org/zstack/test/lb/TestVirtualRouterLb17.java +++ b/test/src/test/java/org/zstack/test/lb/TestVirtualRouterLb17.java @@ -11,7 +11,14 @@ import org.zstack.header.vm.APIQueryVmNicMsg; import org.zstack.header.vm.APIQueryVmNicReply; import org.zstack.header.vm.VmNicInventory; -import org.zstack.network.service.lb.*; +import org.zstack.network.service.lb.APIQueryLoadBalancerListenerMsg; +import org.zstack.network.service.lb.APIQueryLoadBalancerListenerReply; +import org.zstack.network.service.lb.APIQueryLoadBalancerMsg; +import org.zstack.network.service.lb.APIQueryLoadBalancerReply; +import org.zstack.network.service.lb.LoadBalancerInventory; +import org.zstack.network.service.lb.LoadBalancerListenerInventory; +import org.zstack.network.service.lb.LoadBalancerListenerVO; +import org.zstack.network.service.lb.LoadBalancerVO; import org.zstack.network.service.vip.VipVO; import org.zstack.network.service.virtualrouter.APIQueryVirtualRouterVmMsg; import org.zstack.network.service.virtualrouter.APIQueryVirtualRouterVmReply; diff --git a/test/src/test/java/org/zstack/test/lb/TestVirtualRouterLb4.java b/test/src/test/java/org/zstack/test/lb/TestVirtualRouterLb4.java index 829b7fffa45..d512d51d115 100755 --- a/test/src/test/java/org/zstack/test/lb/TestVirtualRouterLb4.java +++ b/test/src/test/java/org/zstack/test/lb/TestVirtualRouterLb4.java @@ -9,7 +9,11 @@ import org.zstack.header.identity.SessionInventory; import org.zstack.header.vm.VmInstanceInventory; import org.zstack.header.vm.VmNicInventory; -import org.zstack.network.service.lb.*; +import org.zstack.network.service.lb.LoadBalancerInventory; +import org.zstack.network.service.lb.LoadBalancerListenerInventory; +import org.zstack.network.service.lb.LoadBalancerListenerVO; +import org.zstack.network.service.lb.LoadBalancerListenerVmNicRefVO; +import org.zstack.network.service.lb.LoadBalancerVO; import org.zstack.network.service.vip.VipVO; import org.zstack.network.service.virtualrouter.lb.VirtualRouterLoadBalancerBackend.LbTO; import org.zstack.network.service.virtualrouter.lb.VirtualRouterLoadBalancerBackend.RefreshLbCmd; diff --git a/test/src/test/java/org/zstack/test/lb/TestVirtualRouterLbPolicy.java b/test/src/test/java/org/zstack/test/lb/TestVirtualRouterLbPolicy.java index 9538a82b858..7b5c76caa3a 100755 --- a/test/src/test/java/org/zstack/test/lb/TestVirtualRouterLbPolicy.java +++ b/test/src/test/java/org/zstack/test/lb/TestVirtualRouterLbPolicy.java @@ -8,13 +8,31 @@ import org.zstack.core.componentloader.ComponentLoader; import org.zstack.core.db.DatabaseFacade; import org.zstack.header.identity.PolicyStatementEffect; -import org.zstack.header.identity.*; +import org.zstack.header.identity.AccountInventory; +import org.zstack.header.identity.IdentityErrors; +import org.zstack.header.identity.Quota; +import org.zstack.header.identity.QuotaInventory; +import org.zstack.header.identity.SessionInventory; import org.zstack.header.identity.PolicyStatement; import org.zstack.header.network.l3.L3NetworkInventory; import org.zstack.header.query.QueryCondition; import org.zstack.header.vm.VmInstanceInventory; import org.zstack.header.vm.VmNicInventory; -import org.zstack.network.service.lb.*; +import org.zstack.network.service.lb.APIAddVmNicToLoadBalancerMsg; +import org.zstack.network.service.lb.APICreateLoadBalancerListenerMsg; +import org.zstack.network.service.lb.APICreateLoadBalancerMsg; +import org.zstack.network.service.lb.APIDeleteLoadBalancerListenerMsg; +import org.zstack.network.service.lb.APIDeleteLoadBalancerMsg; +import org.zstack.network.service.lb.APIQueryLoadBalancerListenerMsg; +import org.zstack.network.service.lb.APIQueryLoadBalancerListenerReply; +import org.zstack.network.service.lb.APIQueryLoadBalancerMsg; +import org.zstack.network.service.lb.APIQueryLoadBalancerReply; +import org.zstack.network.service.lb.APIRefreshLoadBalancerMsg; +import org.zstack.network.service.lb.APIRemoveVmNicFromLoadBalancerMsg; +import org.zstack.network.service.lb.LoadBalanceQuotaConstant; +import org.zstack.network.service.lb.LoadBalancerConstants; +import org.zstack.network.service.lb.LoadBalancerInventory; +import org.zstack.network.service.lb.LoadBalancerListenerInventory; import org.zstack.network.service.vip.VipInventory; import org.zstack.simulator.appliancevm.ApplianceVmSimulatorConfig; import org.zstack.simulator.virtualrouter.VirtualRouterSimulatorConfig; diff --git a/test/src/test/java/org/zstack/test/lb/vyos/TestVyosLb.java b/test/src/test/java/org/zstack/test/lb/vyos/TestVyosLb.java index ddba16fd2e1..14df52c6160 100755 --- a/test/src/test/java/org/zstack/test/lb/vyos/TestVyosLb.java +++ b/test/src/test/java/org/zstack/test/lb/vyos/TestVyosLb.java @@ -12,7 +12,11 @@ import org.zstack.header.query.QueryOp; import org.zstack.header.vm.VmInstanceInventory; import org.zstack.header.vm.VmNicInventory; -import org.zstack.network.service.lb.*; +import org.zstack.network.service.lb.LoadBalancerConstants; +import org.zstack.network.service.lb.LoadBalancerInventory; +import org.zstack.network.service.lb.LoadBalancerListenerVO; +import org.zstack.network.service.lb.LoadBalancerListenerVmNicRefVO; +import org.zstack.network.service.lb.LoadBalancerVO; import org.zstack.network.service.vip.VipInventory; import org.zstack.network.service.vip.VipNetworkServicesRefVO; import org.zstack.network.service.vip.VipNetworkServicesRefVO_; diff --git a/test/src/test/java/org/zstack/test/ldap/TestLdapBindUnbind.java b/test/src/test/java/org/zstack/test/ldap/TestLdapBindUnbind.java index e8c98e488c7..0dc51e17370 100755 --- a/test/src/test/java/org/zstack/test/ldap/TestLdapBindUnbind.java +++ b/test/src/test/java/org/zstack/test/ldap/TestLdapBindUnbind.java @@ -15,7 +15,20 @@ import org.zstack.header.identity.AccountInventory; import org.zstack.header.identity.SessionInventory; import org.zstack.header.query.QueryCondition; -import org.zstack.ldap.*; +import org.zstack.ldap.APIAddLdapServerEvent; +import org.zstack.ldap.APIAddLdapServerMsg; +import org.zstack.ldap.APICreateLdapBindingEvent; +import org.zstack.ldap.APICreateLdapBindingMsg; +import org.zstack.ldap.APIDeleteLdapBindingEvent; +import org.zstack.ldap.APIDeleteLdapBindingMsg; +import org.zstack.ldap.APILogInByLdapMsg; +import org.zstack.ldap.APILogInByLdapReply; +import org.zstack.ldap.APIQueryLdapServerMsg; +import org.zstack.ldap.APIQueryLdapServerReply; +import org.zstack.ldap.LdapConstant; +import org.zstack.ldap.LdapManager; +import org.zstack.ldap.LdapManagerImpl; +import org.zstack.ldap.LdapServerInventory; import org.zstack.test.Api; import org.zstack.test.ApiSender; import org.zstack.test.ApiSenderException; diff --git a/test/src/test/java/org/zstack/test/ldap/TestLdapBindUnbindTLS.java b/test/src/test/java/org/zstack/test/ldap/TestLdapBindUnbindTLS.java index 500545f0002..ab97223cb9d 100755 --- a/test/src/test/java/org/zstack/test/ldap/TestLdapBindUnbindTLS.java +++ b/test/src/test/java/org/zstack/test/ldap/TestLdapBindUnbindTLS.java @@ -12,7 +12,18 @@ import org.zstack.header.identity.SessionInventory; import org.zstack.header.message.APIEvent; import org.zstack.header.query.QueryCondition; -import org.zstack.ldap.*; +import org.zstack.ldap.APIAddLdapServerEvent; +import org.zstack.ldap.APIAddLdapServerMsg; +import org.zstack.ldap.APICreateLdapBindingEvent; +import org.zstack.ldap.APICreateLdapBindingMsg; +import org.zstack.ldap.APILogInByLdapMsg; +import org.zstack.ldap.APILogInByLdapReply; +import org.zstack.ldap.APIQueryLdapServerMsg; +import org.zstack.ldap.APIQueryLdapServerReply; +import org.zstack.ldap.LdapConstant; +import org.zstack.ldap.LdapManager; +import org.zstack.ldap.LdapManagerImpl; +import org.zstack.ldap.LdapServerInventory; import org.zstack.portal.apimediator.PortalSystemTags; import org.zstack.test.Api; import org.zstack.test.ApiSender; diff --git a/test/src/test/java/org/zstack/test/ldap/TestLdapCleanInvalidBindings.java b/test/src/test/java/org/zstack/test/ldap/TestLdapCleanInvalidBindings.java index 938c09ced07..3f8a410d138 100755 --- a/test/src/test/java/org/zstack/test/ldap/TestLdapCleanInvalidBindings.java +++ b/test/src/test/java/org/zstack/test/ldap/TestLdapCleanInvalidBindings.java @@ -15,7 +15,19 @@ import org.zstack.header.identity.AccountInventory; import org.zstack.header.identity.SessionInventory; import org.zstack.header.query.QueryCondition; -import org.zstack.ldap.*; +import org.zstack.ldap.APIAddLdapServerEvent; +import org.zstack.ldap.APIAddLdapServerMsg; +import org.zstack.ldap.APICleanInvalidLdapBindingEvent; +import org.zstack.ldap.APICleanInvalidLdapBindingMsg; +import org.zstack.ldap.APICreateLdapBindingEvent; +import org.zstack.ldap.APICreateLdapBindingMsg; +import org.zstack.ldap.APIQueryLdapServerMsg; +import org.zstack.ldap.APIQueryLdapServerReply; +import org.zstack.ldap.APIUpdateLdapServerEvent; +import org.zstack.ldap.APIUpdateLdapServerMsg; +import org.zstack.ldap.LdapManager; +import org.zstack.ldap.LdapManagerImpl; +import org.zstack.ldap.LdapServerInventory; import org.zstack.test.Api; import org.zstack.test.ApiSender; import org.zstack.test.ApiSenderException; diff --git a/test/src/test/java/org/zstack/test/ldap/TestLdapServer.java b/test/src/test/java/org/zstack/test/ldap/TestLdapServer.java index 5b891411556..e915523dc58 100755 --- a/test/src/test/java/org/zstack/test/ldap/TestLdapServer.java +++ b/test/src/test/java/org/zstack/test/ldap/TestLdapServer.java @@ -15,7 +15,17 @@ import org.zstack.core.db.DatabaseFacade; import org.zstack.header.identity.SessionInventory; import org.zstack.header.query.QueryCondition; -import org.zstack.ldap.*; +import org.zstack.ldap.APIAddLdapServerEvent; +import org.zstack.ldap.APIAddLdapServerMsg; +import org.zstack.ldap.APIDeleteLdapServerEvent; +import org.zstack.ldap.APIDeleteLdapServerMsg; +import org.zstack.ldap.APIQueryLdapServerMsg; +import org.zstack.ldap.APIQueryLdapServerReply; +import org.zstack.ldap.APIUpdateLdapServerEvent; +import org.zstack.ldap.APIUpdateLdapServerMsg; +import org.zstack.ldap.LdapManager; +import org.zstack.ldap.LdapManagerImpl; +import org.zstack.ldap.LdapServerInventory; import org.zstack.simulator.kvm.KVMSimulatorConfig; import org.zstack.test.Api; import org.zstack.test.ApiSender; diff --git a/test/src/test/java/org/zstack/test/ldap/TestLdapServerMultiUid.java b/test/src/test/java/org/zstack/test/ldap/TestLdapServerMultiUid.java index 5d5f9df969f..bd412510661 100755 --- a/test/src/test/java/org/zstack/test/ldap/TestLdapServerMultiUid.java +++ b/test/src/test/java/org/zstack/test/ldap/TestLdapServerMultiUid.java @@ -15,7 +15,13 @@ import org.zstack.core.db.DatabaseFacade; import org.zstack.header.identity.SessionInventory; import org.zstack.header.query.QueryCondition; -import org.zstack.ldap.*; +import org.zstack.ldap.APIAddLdapServerEvent; +import org.zstack.ldap.APIAddLdapServerMsg; +import org.zstack.ldap.APIQueryLdapServerMsg; +import org.zstack.ldap.APIQueryLdapServerReply; +import org.zstack.ldap.LdapManager; +import org.zstack.ldap.LdapManagerImpl; +import org.zstack.ldap.LdapServerInventory; import org.zstack.test.Api; import org.zstack.test.ApiSender; import org.zstack.test.ApiSenderException; diff --git a/test/src/test/java/org/zstack/test/network/TestAddDnsToL3Network.java b/test/src/test/java/org/zstack/test/network/TestAddDnsToL3Network.java index df4f97001d6..4ff0d893109 100755 --- a/test/src/test/java/org/zstack/test/network/TestAddDnsToL3Network.java +++ b/test/src/test/java/org/zstack/test/network/TestAddDnsToL3Network.java @@ -9,7 +9,11 @@ import org.zstack.header.network.l2.L2NetworkInventory; import org.zstack.header.network.l3.L3NetworkInventory; import org.zstack.header.zone.ZoneInventory; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; diff --git a/test/src/test/java/org/zstack/test/network/TestAddIpRange.java b/test/src/test/java/org/zstack/test/network/TestAddIpRange.java index abed2becdac..6a537bb0d8c 100755 --- a/test/src/test/java/org/zstack/test/network/TestAddIpRange.java +++ b/test/src/test/java/org/zstack/test/network/TestAddIpRange.java @@ -12,7 +12,11 @@ import org.zstack.header.network.l3.L3NetworkInventory; import org.zstack.header.network.l3.L3NetworkVO; import org.zstack.header.zone.ZoneInventory; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; public class TestAddIpRange { Api api; diff --git a/test/src/test/java/org/zstack/test/network/TestAddIpRangeByCidr.java b/test/src/test/java/org/zstack/test/network/TestAddIpRangeByCidr.java index a696c185b4d..67dae8594ba 100755 --- a/test/src/test/java/org/zstack/test/network/TestAddIpRangeByCidr.java +++ b/test/src/test/java/org/zstack/test/network/TestAddIpRangeByCidr.java @@ -10,7 +10,11 @@ import org.zstack.header.network.l3.IpRangeVO; import org.zstack.header.network.l3.L3NetworkInventory; import org.zstack.header.zone.ZoneInventory; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; public class TestAddIpRangeByCidr { Api api; diff --git a/test/src/test/java/org/zstack/test/network/TestChangeL3BasicNetworkState.java b/test/src/test/java/org/zstack/test/network/TestChangeL3BasicNetworkState.java index 256d601f738..1cbba65ae1c 100755 --- a/test/src/test/java/org/zstack/test/network/TestChangeL3BasicNetworkState.java +++ b/test/src/test/java/org/zstack/test/network/TestChangeL3BasicNetworkState.java @@ -12,7 +12,11 @@ import org.zstack.header.network.l3.L3NetworkStateEvent; import org.zstack.header.network.l3.L3NetworkVO; import org.zstack.header.zone.ZoneInventory; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; diff --git a/test/src/test/java/org/zstack/test/network/TestCheckIp.java b/test/src/test/java/org/zstack/test/network/TestCheckIp.java index 0052cf58908..e07d63d0bda 100755 --- a/test/src/test/java/org/zstack/test/network/TestCheckIp.java +++ b/test/src/test/java/org/zstack/test/network/TestCheckIp.java @@ -7,9 +7,19 @@ import org.zstack.core.componentloader.ComponentLoader; import org.zstack.core.db.DatabaseFacade; import org.zstack.header.network.l2.L2NetworkInventory; -import org.zstack.header.network.l3.*; +import org.zstack.header.network.l3.AllocateIpMsg; +import org.zstack.header.network.l3.AllocateIpReply; +import org.zstack.header.network.l3.IpRangeInventory; +import org.zstack.header.network.l3.L3NetworkConstant; +import org.zstack.header.network.l3.L3NetworkInventory; +import org.zstack.header.network.l3.L3NetworkVO; +import org.zstack.header.network.l3.ReturnIpMsg; import org.zstack.header.zone.ZoneInventory; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; public class TestCheckIp { Api api; diff --git a/test/src/test/java/org/zstack/test/network/TestCreateL2NoVlanNetwork.java b/test/src/test/java/org/zstack/test/network/TestCreateL2NoVlanNetwork.java index 7d354a0ca11..cc2a9605e75 100755 --- a/test/src/test/java/org/zstack/test/network/TestCreateL2NoVlanNetwork.java +++ b/test/src/test/java/org/zstack/test/network/TestCreateL2NoVlanNetwork.java @@ -9,7 +9,11 @@ import org.zstack.header.network.l2.L2NetworkInventory; import org.zstack.header.network.l2.L2NetworkVO; import org.zstack.header.zone.ZoneInventory; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; diff --git a/test/src/test/java/org/zstack/test/network/TestCreateL3BasicNetwork.java b/test/src/test/java/org/zstack/test/network/TestCreateL3BasicNetwork.java index 90109e43580..53f7ada4aa9 100755 --- a/test/src/test/java/org/zstack/test/network/TestCreateL3BasicNetwork.java +++ b/test/src/test/java/org/zstack/test/network/TestCreateL3BasicNetwork.java @@ -10,7 +10,11 @@ import org.zstack.header.network.l3.L3NetworkInventory; import org.zstack.header.network.l3.L3NetworkVO; import org.zstack.header.zone.ZoneInventory; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; diff --git a/test/src/test/java/org/zstack/test/network/TestDeleteIpRange.java b/test/src/test/java/org/zstack/test/network/TestDeleteIpRange.java index 3f980a13662..7c1b53c5a6a 100755 --- a/test/src/test/java/org/zstack/test/network/TestDeleteIpRange.java +++ b/test/src/test/java/org/zstack/test/network/TestDeleteIpRange.java @@ -12,7 +12,11 @@ import org.zstack.header.network.l3.L3NetworkInventory; import org.zstack.header.network.l3.L3NetworkVO; import org.zstack.header.zone.ZoneInventory; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; public class TestDeleteIpRange { Api api; diff --git a/test/src/test/java/org/zstack/test/network/TestDeleteL2NoVlanNetwork.java b/test/src/test/java/org/zstack/test/network/TestDeleteL2NoVlanNetwork.java index c304f69fe8b..a80b465ede1 100755 --- a/test/src/test/java/org/zstack/test/network/TestDeleteL2NoVlanNetwork.java +++ b/test/src/test/java/org/zstack/test/network/TestDeleteL2NoVlanNetwork.java @@ -9,7 +9,11 @@ import org.zstack.header.network.l2.L2NetworkInventory; import org.zstack.header.network.l2.L2NetworkVO; import org.zstack.header.zone.ZoneInventory; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; diff --git a/test/src/test/java/org/zstack/test/network/TestDeleteL3BasicNetwork.java b/test/src/test/java/org/zstack/test/network/TestDeleteL3BasicNetwork.java index 31e2797d4c9..2ed47ad002b 100755 --- a/test/src/test/java/org/zstack/test/network/TestDeleteL3BasicNetwork.java +++ b/test/src/test/java/org/zstack/test/network/TestDeleteL3BasicNetwork.java @@ -10,7 +10,11 @@ import org.zstack.header.network.l3.L3NetworkInventory; import org.zstack.header.network.l3.L3NetworkVO; import org.zstack.header.zone.ZoneInventory; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; diff --git a/test/src/test/java/org/zstack/test/network/TestFirstAvailableConcurrentAllocateAndReturnIp.java b/test/src/test/java/org/zstack/test/network/TestFirstAvailableConcurrentAllocateAndReturnIp.java index b743169525f..0c491779ec1 100755 --- a/test/src/test/java/org/zstack/test/network/TestFirstAvailableConcurrentAllocateAndReturnIp.java +++ b/test/src/test/java/org/zstack/test/network/TestFirstAvailableConcurrentAllocateAndReturnIp.java @@ -11,9 +11,21 @@ import org.zstack.core.thread.AsyncThread; import org.zstack.header.message.MessageReply; import org.zstack.header.network.l2.L2NetworkInventory; -import org.zstack.header.network.l3.*; +import org.zstack.header.network.l3.AllocateIpMsg; +import org.zstack.header.network.l3.AllocateIpReply; +import org.zstack.header.network.l3.IpRangeInventory; +import org.zstack.header.network.l3.IpRangeVO; +import org.zstack.header.network.l3.L3NetworkConstant; +import org.zstack.header.network.l3.L3NetworkInventory; +import org.zstack.header.network.l3.L3NetworkVO; +import org.zstack.header.network.l3.ReturnIpMsg; +import org.zstack.header.network.l3.UsedIpVO; import org.zstack.header.zone.ZoneInventory; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; import org.zstack.utils.network.NetworkUtils; diff --git a/test/src/test/java/org/zstack/test/network/TestFirstAvailableIpAllocatorStrategy1.java b/test/src/test/java/org/zstack/test/network/TestFirstAvailableIpAllocatorStrategy1.java index 570ec61f22f..2337e81b0f5 100755 --- a/test/src/test/java/org/zstack/test/network/TestFirstAvailableIpAllocatorStrategy1.java +++ b/test/src/test/java/org/zstack/test/network/TestFirstAvailableIpAllocatorStrategy1.java @@ -8,9 +8,21 @@ import org.zstack.core.componentloader.ComponentLoader; import org.zstack.core.db.DatabaseFacade; import org.zstack.header.network.l2.L2NetworkInventory; -import org.zstack.header.network.l3.*; +import org.zstack.header.network.l3.AllocateIpMsg; +import org.zstack.header.network.l3.AllocateIpReply; +import org.zstack.header.network.l3.IpRangeInventory; +import org.zstack.header.network.l3.IpRangeVO; +import org.zstack.header.network.l3.L3NetworkConstant; +import org.zstack.header.network.l3.L3NetworkInventory; +import org.zstack.header.network.l3.L3NetworkVO; +import org.zstack.header.network.l3.UsedIpInventory; +import org.zstack.header.network.l3.UsedIpVO; import org.zstack.header.zone.ZoneInventory; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; public class TestFirstAvailableIpAllocatorStrategy1 { Api api; diff --git a/test/src/test/java/org/zstack/test/network/TestFirstAvailableIpAllocatorStrategy2.java b/test/src/test/java/org/zstack/test/network/TestFirstAvailableIpAllocatorStrategy2.java index 3e2244ab885..d814e3a7731 100755 --- a/test/src/test/java/org/zstack/test/network/TestFirstAvailableIpAllocatorStrategy2.java +++ b/test/src/test/java/org/zstack/test/network/TestFirstAvailableIpAllocatorStrategy2.java @@ -9,9 +9,21 @@ import org.zstack.core.componentloader.ComponentLoader; import org.zstack.core.db.DatabaseFacade; import org.zstack.header.network.l2.L2NetworkInventory; -import org.zstack.header.network.l3.*; +import org.zstack.header.network.l3.AllocateIpMsg; +import org.zstack.header.network.l3.AllocateIpReply; +import org.zstack.header.network.l3.IpRangeInventory; +import org.zstack.header.network.l3.IpRangeVO; +import org.zstack.header.network.l3.L3NetworkConstant; +import org.zstack.header.network.l3.L3NetworkInventory; +import org.zstack.header.network.l3.L3NetworkVO; +import org.zstack.header.network.l3.UsedIpInventory; +import org.zstack.header.network.l3.UsedIpVO; import org.zstack.header.zone.ZoneInventory; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.utils.network.NetworkUtils; public class TestFirstAvailableIpAllocatorStrategy2 { diff --git a/test/src/test/java/org/zstack/test/network/TestFirstAvailableIpAllocatorStrategyConcurrent.java b/test/src/test/java/org/zstack/test/network/TestFirstAvailableIpAllocatorStrategyConcurrent.java index fbed40e1d5d..46d38defab5 100755 --- a/test/src/test/java/org/zstack/test/network/TestFirstAvailableIpAllocatorStrategyConcurrent.java +++ b/test/src/test/java/org/zstack/test/network/TestFirstAvailableIpAllocatorStrategyConcurrent.java @@ -11,9 +11,19 @@ import org.zstack.core.thread.AsyncThread; import org.zstack.header.message.MessageReply; import org.zstack.header.network.l2.L2NetworkInventory; -import org.zstack.header.network.l3.*; +import org.zstack.header.network.l3.AllocateIpMsg; +import org.zstack.header.network.l3.IpRangeInventory; +import org.zstack.header.network.l3.IpRangeVO; +import org.zstack.header.network.l3.L3NetworkConstant; +import org.zstack.header.network.l3.L3NetworkInventory; +import org.zstack.header.network.l3.L3NetworkVO; +import org.zstack.header.network.l3.UsedIpVO; import org.zstack.header.zone.ZoneInventory; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; import org.zstack.utils.network.NetworkUtils; diff --git a/test/src/test/java/org/zstack/test/network/TestFirstAvailableIpAllocatorStrategyFailure.java b/test/src/test/java/org/zstack/test/network/TestFirstAvailableIpAllocatorStrategyFailure.java index fa43bb69c36..65c3018f652 100755 --- a/test/src/test/java/org/zstack/test/network/TestFirstAvailableIpAllocatorStrategyFailure.java +++ b/test/src/test/java/org/zstack/test/network/TestFirstAvailableIpAllocatorStrategyFailure.java @@ -10,9 +10,20 @@ import org.zstack.core.db.DatabaseFacade; import org.zstack.header.message.MessageReply; import org.zstack.header.network.l2.L2NetworkInventory; -import org.zstack.header.network.l3.*; +import org.zstack.header.network.l3.AllocateIpMsg; +import org.zstack.header.network.l3.AllocateIpReply; +import org.zstack.header.network.l3.IpRangeInventory; +import org.zstack.header.network.l3.IpRangeVO; +import org.zstack.header.network.l3.L3NetworkConstant; +import org.zstack.header.network.l3.L3NetworkInventory; +import org.zstack.header.network.l3.L3NetworkVO; +import org.zstack.header.network.l3.UsedIpVO; import org.zstack.header.zone.ZoneInventory; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.utils.network.NetworkUtils; public class TestFirstAvailableIpAllocatorStrategyFailure { diff --git a/test/src/test/java/org/zstack/test/network/TestFirstAvailableIpAllocatorStrategyReturnIp.java b/test/src/test/java/org/zstack/test/network/TestFirstAvailableIpAllocatorStrategyReturnIp.java index 5080fdb96a1..ff5febab86f 100755 --- a/test/src/test/java/org/zstack/test/network/TestFirstAvailableIpAllocatorStrategyReturnIp.java +++ b/test/src/test/java/org/zstack/test/network/TestFirstAvailableIpAllocatorStrategyReturnIp.java @@ -8,9 +8,22 @@ import org.zstack.core.componentloader.ComponentLoader; import org.zstack.core.db.DatabaseFacade; import org.zstack.header.network.l2.L2NetworkInventory; -import org.zstack.header.network.l3.*; +import org.zstack.header.network.l3.AllocateIpMsg; +import org.zstack.header.network.l3.AllocateIpReply; +import org.zstack.header.network.l3.IpRangeInventory; +import org.zstack.header.network.l3.IpRangeVO; +import org.zstack.header.network.l3.L3NetworkConstant; +import org.zstack.header.network.l3.L3NetworkInventory; +import org.zstack.header.network.l3.L3NetworkVO; +import org.zstack.header.network.l3.ReturnIpMsg; +import org.zstack.header.network.l3.UsedIpInventory; +import org.zstack.header.network.l3.UsedIpVO; import org.zstack.header.zone.ZoneInventory; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import java.util.concurrent.TimeUnit; diff --git a/test/src/test/java/org/zstack/test/network/TestL2NetworkDeleteExtension.java b/test/src/test/java/org/zstack/test/network/TestL2NetworkDeleteExtension.java index a38be32253a..bfed1af1299 100755 --- a/test/src/test/java/org/zstack/test/network/TestL2NetworkDeleteExtension.java +++ b/test/src/test/java/org/zstack/test/network/TestL2NetworkDeleteExtension.java @@ -9,7 +9,11 @@ import org.zstack.header.network.l2.L2NetworkInventory; import org.zstack.header.network.l2.L2NetworkVO; import org.zstack.header.zone.ZoneInventory; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; diff --git a/test/src/test/java/org/zstack/test/network/TestL3NetworkDeleteExtension.java b/test/src/test/java/org/zstack/test/network/TestL3NetworkDeleteExtension.java index 794afe9c4de..2ab02abc67b 100755 --- a/test/src/test/java/org/zstack/test/network/TestL3NetworkDeleteExtension.java +++ b/test/src/test/java/org/zstack/test/network/TestL3NetworkDeleteExtension.java @@ -10,7 +10,11 @@ import org.zstack.header.network.l3.L3NetworkInventory; import org.zstack.header.network.l3.L3NetworkVO; import org.zstack.header.zone.ZoneInventory; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; diff --git a/test/src/test/java/org/zstack/test/network/TestListIpRange.java b/test/src/test/java/org/zstack/test/network/TestListIpRange.java index cdd27c81763..162d645f86c 100755 --- a/test/src/test/java/org/zstack/test/network/TestListIpRange.java +++ b/test/src/test/java/org/zstack/test/network/TestListIpRange.java @@ -11,7 +11,11 @@ import org.zstack.header.network.l3.L3NetworkInventory; import org.zstack.header.network.l3.L3NetworkVO; import org.zstack.header.zone.ZoneInventory; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.utils.CollectionUtils; import org.zstack.utils.function.Function; diff --git a/test/src/test/java/org/zstack/test/network/TestListL2NoVlanNetwork.java b/test/src/test/java/org/zstack/test/network/TestListL2NoVlanNetwork.java index 12123916de2..5fd33befbd6 100755 --- a/test/src/test/java/org/zstack/test/network/TestListL2NoVlanNetwork.java +++ b/test/src/test/java/org/zstack/test/network/TestListL2NoVlanNetwork.java @@ -8,7 +8,11 @@ import org.zstack.core.db.DatabaseFacade; import org.zstack.header.network.l2.L2NetworkInventory; import org.zstack.header.zone.ZoneInventory; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.utils.CollectionUtils; import org.zstack.utils.Utils; import org.zstack.utils.function.Function; diff --git a/test/src/test/java/org/zstack/test/network/TestListL3Network.java b/test/src/test/java/org/zstack/test/network/TestListL3Network.java index 29fc05f5b67..e7b3a19d8b9 100755 --- a/test/src/test/java/org/zstack/test/network/TestListL3Network.java +++ b/test/src/test/java/org/zstack/test/network/TestListL3Network.java @@ -9,7 +9,11 @@ import org.zstack.header.network.l2.L2NetworkInventory; import org.zstack.header.network.l3.L3NetworkInventory; import org.zstack.header.zone.ZoneInventory; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.utils.CollectionUtils; import org.zstack.utils.function.Function; diff --git a/test/src/test/java/org/zstack/test/network/TestPolicyForL3Network.java b/test/src/test/java/org/zstack/test/network/TestPolicyForL3Network.java index 1add7d93e49..7150e7969c5 100755 --- a/test/src/test/java/org/zstack/test/network/TestPolicyForL3Network.java +++ b/test/src/test/java/org/zstack/test/network/TestPolicyForL3Network.java @@ -13,8 +13,29 @@ import org.zstack.header.network.l2.APIQueryL2NetworkMsg; import org.zstack.header.network.l2.APIQueryL2NetworkReply; import org.zstack.header.network.l2.L2NetworkInventory; -import org.zstack.header.network.l3.*; -import org.zstack.header.network.service.*; +import org.zstack.header.network.l3.APIAddDnsToL3NetworkMsg; +import org.zstack.header.network.l3.APIAddIpRangeByNetworkCidrMsg; +import org.zstack.header.network.l3.APIAddIpRangeMsg; +import org.zstack.header.network.l3.APIChangeL3NetworkStateMsg; +import org.zstack.header.network.l3.APICreateL3NetworkMsg; +import org.zstack.header.network.l3.APIDeleteIpRangeMsg; +import org.zstack.header.network.l3.APIDeleteL3NetworkMsg; +import org.zstack.header.network.l3.APIQueryIpRangeMsg; +import org.zstack.header.network.l3.APIQueryIpRangeReply; +import org.zstack.header.network.l3.APIQueryL3NetworkMsg; +import org.zstack.header.network.l3.APIQueryL3NetworkReply; +import org.zstack.header.network.l3.APIRemoveDnsFromL3NetworkMsg; +import org.zstack.header.network.l3.APIUpdateL3NetworkMsg; +import org.zstack.header.network.l3.IpRangeInventory; +import org.zstack.header.network.l3.L3NetworkConstant; +import org.zstack.header.network.l3.L3NetworkInventory; +import org.zstack.header.network.l3.L3NetworkStateEvent; +import org.zstack.header.network.service.APIAttachNetworkServiceToL3NetworkMsg; +import org.zstack.header.network.service.APIQueryNetworkServiceL3NetworkRefMsg; +import org.zstack.header.network.service.APIQueryNetworkServiceL3NetworkRefReply; +import org.zstack.header.network.service.APIQueryNetworkServiceProviderMsg; +import org.zstack.header.network.service.APIQueryNetworkServiceProviderReply; +import org.zstack.header.network.service.NetworkServiceProviderInventory; import org.zstack.header.query.QueryCondition; import org.zstack.header.query.QueryOp; import org.zstack.test.Api; diff --git a/test/src/test/java/org/zstack/test/network/TestPolicyForL3Network1.java b/test/src/test/java/org/zstack/test/network/TestPolicyForL3Network1.java index 0a2a859d7ce..c5e463e5ca5 100755 --- a/test/src/test/java/org/zstack/test/network/TestPolicyForL3Network1.java +++ b/test/src/test/java/org/zstack/test/network/TestPolicyForL3Network1.java @@ -6,7 +6,11 @@ import org.zstack.core.cloudbus.CloudBus; import org.zstack.core.componentloader.ComponentLoader; import org.zstack.core.db.DatabaseFacade; -import org.zstack.header.identity.*; +import org.zstack.header.identity.AccountInventory; +import org.zstack.header.identity.IdentityErrors; +import org.zstack.header.identity.Quota; +import org.zstack.header.identity.QuotaInventory; +import org.zstack.header.identity.SessionInventory; import org.zstack.header.network.l2.L2NetworkInventory; import org.zstack.header.network.l3.L3NetworkQuotaConstant; import org.zstack.test.Api; diff --git a/test/src/test/java/org/zstack/test/network/TestQueryL2Network.java b/test/src/test/java/org/zstack/test/network/TestQueryL2Network.java index 87a15b0f122..ec3601bb4b1 100755 --- a/test/src/test/java/org/zstack/test/network/TestQueryL2Network.java +++ b/test/src/test/java/org/zstack/test/network/TestQueryL2Network.java @@ -7,7 +7,11 @@ import org.zstack.core.componentloader.ComponentLoader; import org.zstack.core.db.DatabaseFacade; import org.zstack.header.cluster.ClusterInventory; -import org.zstack.header.network.l2.*; +import org.zstack.header.network.l2.APIQueryL2NetworkMsg; +import org.zstack.header.network.l2.APIQueryL2NetworkReply; +import org.zstack.header.network.l2.L2NetworkConstant; +import org.zstack.header.network.l2.L2NetworkInventory; +import org.zstack.header.network.l2.L2VlanNetworkInventory; import org.zstack.header.query.QueryCondition; import org.zstack.header.query.QueryOp; import org.zstack.test.Api; diff --git a/test/src/test/java/org/zstack/test/network/TestRandomIpAllocatorStrategy1.java b/test/src/test/java/org/zstack/test/network/TestRandomIpAllocatorStrategy1.java index 99324917350..ae773684e29 100755 --- a/test/src/test/java/org/zstack/test/network/TestRandomIpAllocatorStrategy1.java +++ b/test/src/test/java/org/zstack/test/network/TestRandomIpAllocatorStrategy1.java @@ -8,9 +8,20 @@ import org.zstack.core.componentloader.ComponentLoader; import org.zstack.core.db.DatabaseFacade; import org.zstack.header.network.l2.L2NetworkInventory; -import org.zstack.header.network.l3.*; +import org.zstack.header.network.l3.AllocateIpMsg; +import org.zstack.header.network.l3.AllocateIpReply; +import org.zstack.header.network.l3.IpRangeInventory; +import org.zstack.header.network.l3.IpRangeVO; +import org.zstack.header.network.l3.L3NetworkConstant; +import org.zstack.header.network.l3.L3NetworkInventory; +import org.zstack.header.network.l3.L3NetworkVO; +import org.zstack.header.network.l3.UsedIpInventory; import org.zstack.header.zone.ZoneInventory; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; import org.zstack.utils.network.NetworkUtils; diff --git a/test/src/test/java/org/zstack/test/network/TestRandomIpAllocatorStrategy2.java b/test/src/test/java/org/zstack/test/network/TestRandomIpAllocatorStrategy2.java index 7667f47193c..9c69b406062 100755 --- a/test/src/test/java/org/zstack/test/network/TestRandomIpAllocatorStrategy2.java +++ b/test/src/test/java/org/zstack/test/network/TestRandomIpAllocatorStrategy2.java @@ -9,9 +9,20 @@ import org.zstack.core.db.DatabaseFacade; import org.zstack.header.message.MessageReply; import org.zstack.header.network.l2.L2NetworkInventory; -import org.zstack.header.network.l3.*; +import org.zstack.header.network.l3.AllocateIpMsg; +import org.zstack.header.network.l3.AllocateIpReply; +import org.zstack.header.network.l3.IpRangeInventory; +import org.zstack.header.network.l3.IpRangeVO; +import org.zstack.header.network.l3.L3NetworkConstant; +import org.zstack.header.network.l3.L3NetworkInventory; +import org.zstack.header.network.l3.L3NetworkVO; +import org.zstack.header.network.l3.UsedIpInventory; import org.zstack.header.zone.ZoneInventory; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; import org.zstack.utils.network.NetworkUtils; diff --git a/test/src/test/java/org/zstack/test/network/TestRandomIpAllocatorStrategy3.java b/test/src/test/java/org/zstack/test/network/TestRandomIpAllocatorStrategy3.java index 104ca4d9664..d87e21c1001 100755 --- a/test/src/test/java/org/zstack/test/network/TestRandomIpAllocatorStrategy3.java +++ b/test/src/test/java/org/zstack/test/network/TestRandomIpAllocatorStrategy3.java @@ -8,9 +8,21 @@ import org.zstack.core.componentloader.ComponentLoader; import org.zstack.core.db.DatabaseFacade; import org.zstack.header.network.l2.L2NetworkInventory; -import org.zstack.header.network.l3.*; +import org.zstack.header.network.l3.AllocateIpMsg; +import org.zstack.header.network.l3.AllocateIpReply; +import org.zstack.header.network.l3.IpRangeInventory; +import org.zstack.header.network.l3.IpRangeVO; +import org.zstack.header.network.l3.L3NetworkConstant; +import org.zstack.header.network.l3.L3NetworkInventory; +import org.zstack.header.network.l3.L3NetworkVO; +import org.zstack.header.network.l3.ReturnIpMsg; +import org.zstack.header.network.l3.UsedIpInventory; import org.zstack.header.zone.ZoneInventory; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; import org.zstack.utils.network.NetworkUtils; diff --git a/test/src/test/java/org/zstack/test/network/TestRandomIpAllocatorStrategy5.java b/test/src/test/java/org/zstack/test/network/TestRandomIpAllocatorStrategy5.java index cf5641a4547..55da20106ee 100755 --- a/test/src/test/java/org/zstack/test/network/TestRandomIpAllocatorStrategy5.java +++ b/test/src/test/java/org/zstack/test/network/TestRandomIpAllocatorStrategy5.java @@ -8,9 +8,20 @@ import org.zstack.core.componentloader.ComponentLoader; import org.zstack.core.db.DatabaseFacade; import org.zstack.header.network.l2.L2NetworkInventory; -import org.zstack.header.network.l3.*; +import org.zstack.header.network.l3.AllocateIpMsg; +import org.zstack.header.network.l3.AllocateIpReply; +import org.zstack.header.network.l3.IpRangeInventory; +import org.zstack.header.network.l3.IpRangeVO; +import org.zstack.header.network.l3.L3NetworkConstant; +import org.zstack.header.network.l3.L3NetworkInventory; +import org.zstack.header.network.l3.L3NetworkVO; +import org.zstack.header.network.l3.UsedIpInventory; import org.zstack.header.zone.ZoneInventory; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; import org.zstack.utils.network.NetworkUtils; diff --git a/test/src/test/java/org/zstack/test/network/TestUpdateIpRange.java b/test/src/test/java/org/zstack/test/network/TestUpdateIpRange.java index 9efa78d9ce9..e1a3a3ec1ed 100755 --- a/test/src/test/java/org/zstack/test/network/TestUpdateIpRange.java +++ b/test/src/test/java/org/zstack/test/network/TestUpdateIpRange.java @@ -10,7 +10,11 @@ import org.zstack.header.network.l3.L3NetworkInventory; import org.zstack.header.network.l3.L3NetworkVO; import org.zstack.header.zone.ZoneInventory; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; public class TestUpdateIpRange { Api api; diff --git a/test/src/test/java/org/zstack/test/network/TestUpdateL2Network.java b/test/src/test/java/org/zstack/test/network/TestUpdateL2Network.java index ddc608c9e76..87740667aed 100755 --- a/test/src/test/java/org/zstack/test/network/TestUpdateL2Network.java +++ b/test/src/test/java/org/zstack/test/network/TestUpdateL2Network.java @@ -7,7 +7,11 @@ import org.zstack.core.db.DatabaseFacade; import org.zstack.header.network.l2.L2NetworkInventory; import org.zstack.header.zone.ZoneInventory; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; diff --git a/test/src/test/java/org/zstack/test/network/TestUpdateL3Network.java b/test/src/test/java/org/zstack/test/network/TestUpdateL3Network.java index b0b94cd69c5..faabbce905b 100755 --- a/test/src/test/java/org/zstack/test/network/TestUpdateL3Network.java +++ b/test/src/test/java/org/zstack/test/network/TestUpdateL3Network.java @@ -8,7 +8,11 @@ import org.zstack.header.network.l2.L2NetworkInventory; import org.zstack.header.network.l3.L3NetworkInventory; import org.zstack.header.zone.ZoneInventory; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; diff --git a/test/src/test/java/org/zstack/test/network/flat/TestFlatNetwork1.java b/test/src/test/java/org/zstack/test/network/flat/TestFlatNetwork1.java index ff87b974c2e..66d2231a49e 100755 --- a/test/src/test/java/org/zstack/test/network/flat/TestFlatNetwork1.java +++ b/test/src/test/java/org/zstack/test/network/flat/TestFlatNetwork1.java @@ -14,7 +14,11 @@ import org.zstack.network.service.flat.FlatNetworkServiceSimulatorConfig; import org.zstack.storage.primary.local.LocalStorageSimulatorConfig; import org.zstack.storage.primary.local.LocalStorageSimulatorConfig.Capacity; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.DBUtil; +import org.zstack.test.VmCreator; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.deployer.Deployer; import org.zstack.utils.data.SizeUnit; diff --git a/test/src/test/java/org/zstack/test/network/flat/TestFlatNetwork5.java b/test/src/test/java/org/zstack/test/network/flat/TestFlatNetwork5.java index a2f45a5cdf5..02db2de00bf 100755 --- a/test/src/test/java/org/zstack/test/network/flat/TestFlatNetwork5.java +++ b/test/src/test/java/org/zstack/test/network/flat/TestFlatNetwork5.java @@ -10,10 +10,18 @@ import org.zstack.header.host.HostInventory; import org.zstack.header.identity.SessionInventory; import org.zstack.header.network.l3.L3NetworkInventory; -import org.zstack.network.service.flat.*; +import org.zstack.network.service.flat.APIGetL3NetworkDhcpIpAddressMsg; +import org.zstack.network.service.flat.APIGetL3NetworkDhcpIpAddressReply; +import org.zstack.network.service.flat.FlatDhcpUpgradeExtension; +import org.zstack.network.service.flat.FlatNetworkGlobalProperty; +import org.zstack.network.service.flat.FlatNetworkServiceSimulatorConfig; import org.zstack.storage.primary.local.LocalStorageSimulatorConfig; import org.zstack.storage.primary.local.LocalStorageSimulatorConfig.Capacity; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSender; +import org.zstack.test.ApiSenderException; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.deployer.Deployer; import org.zstack.utils.Utils; import org.zstack.utils.data.SizeUnit; diff --git a/test/src/test/java/org/zstack/test/portal/TestGlobalPropertyValidator.java b/test/src/test/java/org/zstack/test/portal/TestGlobalPropertyValidator.java index 97f84ff7b71..b3d519673e0 100644 --- a/test/src/test/java/org/zstack/test/portal/TestGlobalPropertyValidator.java +++ b/test/src/test/java/org/zstack/test/portal/TestGlobalPropertyValidator.java @@ -4,7 +4,11 @@ import org.junit.Test; import org.mockito.Mock; import org.zstack.core.CoreGlobalProperty; -import org.zstack.core.propertyvalidator.*; +import org.zstack.core.propertyvalidator.GlobalPropertyValidator; +import org.zstack.core.propertyvalidator.GlobalPropertyValidatorExecption; +import org.zstack.core.propertyvalidator.LengthValidator; +import org.zstack.core.propertyvalidator.NumberRangeValidator; +import org.zstack.core.propertyvalidator.ValidatorTool; import org.zstack.header.exception.CloudRuntimeException; import java.util.HashMap; diff --git a/test/src/test/java/org/zstack/test/portal/TestQueryManagementNode.java b/test/src/test/java/org/zstack/test/portal/TestQueryManagementNode.java index cf4d93526a6..ad5ee4ff805 100755 --- a/test/src/test/java/org/zstack/test/portal/TestQueryManagementNode.java +++ b/test/src/test/java/org/zstack/test/portal/TestQueryManagementNode.java @@ -9,7 +9,11 @@ import org.zstack.header.managementnode.APIQueryManagementNodeReply; import org.zstack.header.managementnode.ManagementNodeInventory; import org.zstack.header.query.QueryCondition; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.search.QueryTestValidator; import java.util.ArrayList; diff --git a/test/src/test/java/org/zstack/test/securitygroup/TestDeleteSecurityGroup.java b/test/src/test/java/org/zstack/test/securitygroup/TestDeleteSecurityGroup.java index 3877d4c4538..45c0d45d6ca 100755 --- a/test/src/test/java/org/zstack/test/securitygroup/TestDeleteSecurityGroup.java +++ b/test/src/test/java/org/zstack/test/securitygroup/TestDeleteSecurityGroup.java @@ -11,7 +11,11 @@ import org.zstack.network.securitygroup.SecurityGroupRuleTO; import org.zstack.network.securitygroup.SecurityGroupVO; import org.zstack.simulator.SimulatorSecurityGroupBackend; -import org.zstack.test.*; +import org.zstack.test.AccountReferenceValidator; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.deployer.Deployer; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; diff --git a/test/src/test/java/org/zstack/test/securitygroup/TestPolicyForSecurityGroup.java b/test/src/test/java/org/zstack/test/securitygroup/TestPolicyForSecurityGroup.java index f7de68b6fce..09d6c2f8560 100755 --- a/test/src/test/java/org/zstack/test/securitygroup/TestPolicyForSecurityGroup.java +++ b/test/src/test/java/org/zstack/test/securitygroup/TestPolicyForSecurityGroup.java @@ -13,7 +13,26 @@ import org.zstack.header.query.QueryCondition; import org.zstack.header.vm.VmInstanceInventory; import org.zstack.header.vm.VmNicInventory; -import org.zstack.network.securitygroup.*; +import org.zstack.network.securitygroup.APIAddSecurityGroupRuleMsg; +import org.zstack.network.securitygroup.APIAddVmNicToSecurityGroupMsg; +import org.zstack.network.securitygroup.APIAttachSecurityGroupToL3NetworkMsg; +import org.zstack.network.securitygroup.APIChangeSecurityGroupStateMsg; +import org.zstack.network.securitygroup.APICreateSecurityGroupMsg; +import org.zstack.network.securitygroup.APIDeleteSecurityGroupMsg; +import org.zstack.network.securitygroup.APIDeleteSecurityGroupRuleMsg; +import org.zstack.network.securitygroup.APIDeleteVmNicFromSecurityGroupMsg; +import org.zstack.network.securitygroup.APIDetachSecurityGroupFromL3NetworkMsg; +import org.zstack.network.securitygroup.APIQuerySecurityGroupMsg; +import org.zstack.network.securitygroup.APIQuerySecurityGroupReply; +import org.zstack.network.securitygroup.APIQuerySecurityGroupRuleMsg; +import org.zstack.network.securitygroup.APIQuerySecurityGroupRuleReply; +import org.zstack.network.securitygroup.APIUpdateSecurityGroupMsg; +import org.zstack.network.securitygroup.SecurityGroupConstant; +import org.zstack.network.securitygroup.SecurityGroupInventory; +import org.zstack.network.securitygroup.SecurityGroupRuleInventory; +import org.zstack.network.securitygroup.SecurityGroupRuleProtocolType; +import org.zstack.network.securitygroup.SecurityGroupRuleType; +import org.zstack.network.securitygroup.SecurityGroupStateEvent; import org.zstack.network.securitygroup.APIAddSecurityGroupRuleMsg.SecurityGroupRuleAO; import org.zstack.test.Api; import org.zstack.test.ApiSenderException; diff --git a/test/src/test/java/org/zstack/test/securitygroup/TestPolicyForSecurityGroup1.java b/test/src/test/java/org/zstack/test/securitygroup/TestPolicyForSecurityGroup1.java index 1724898ccb8..946594fdcc8 100755 --- a/test/src/test/java/org/zstack/test/securitygroup/TestPolicyForSecurityGroup1.java +++ b/test/src/test/java/org/zstack/test/securitygroup/TestPolicyForSecurityGroup1.java @@ -5,7 +5,11 @@ import org.junit.Test; import org.zstack.core.componentloader.ComponentLoader; import org.zstack.core.db.DatabaseFacade; -import org.zstack.header.identity.*; +import org.zstack.header.identity.AccountInventory; +import org.zstack.header.identity.IdentityErrors; +import org.zstack.header.identity.Quota; +import org.zstack.header.identity.QuotaInventory; +import org.zstack.header.identity.SessionInventory; import org.zstack.network.securitygroup.SecurityGroupQuotaConstant; import org.zstack.test.Api; import org.zstack.test.ApiSenderException; diff --git a/test/src/test/java/org/zstack/test/securitygroup/TestQueryVmNicInSecurityGroup.java b/test/src/test/java/org/zstack/test/securitygroup/TestQueryVmNicInSecurityGroup.java index 2c935a8d596..1f091f96b04 100755 --- a/test/src/test/java/org/zstack/test/securitygroup/TestQueryVmNicInSecurityGroup.java +++ b/test/src/test/java/org/zstack/test/securitygroup/TestQueryVmNicInSecurityGroup.java @@ -11,7 +11,12 @@ import org.zstack.header.vm.APIQueryVmNicReply; import org.zstack.header.vm.VmInstanceInventory; import org.zstack.header.vm.VmNicInventory; -import org.zstack.network.securitygroup.*; +import org.zstack.network.securitygroup.APIQuerySecurityGroupMsg; +import org.zstack.network.securitygroup.APIQuerySecurityGroupReply; +import org.zstack.network.securitygroup.APIQueryVmNicInSecurityGroupMsg; +import org.zstack.network.securitygroup.APIQueryVmNicInSecurityGroupReply; +import org.zstack.network.securitygroup.SecurityGroupInventory; +import org.zstack.network.securitygroup.VmNicSecurityGroupRefInventory; import org.zstack.test.Api; import org.zstack.test.ApiSenderException; import org.zstack.test.DBUtil; diff --git a/test/src/test/java/org/zstack/test/securitygroup/TestSecurityGroupRuleInTwoGroup2.java b/test/src/test/java/org/zstack/test/securitygroup/TestSecurityGroupRuleInTwoGroup2.java index 686c5a55101..1fd45ae9283 100755 --- a/test/src/test/java/org/zstack/test/securitygroup/TestSecurityGroupRuleInTwoGroup2.java +++ b/test/src/test/java/org/zstack/test/securitygroup/TestSecurityGroupRuleInTwoGroup2.java @@ -8,7 +8,11 @@ import org.zstack.header.vm.VmNicInventory; import org.zstack.header.vm.VmNicVO; import org.zstack.network.securitygroup.APIAddSecurityGroupRuleMsg.SecurityGroupRuleAO; -import org.zstack.network.securitygroup.*; +import org.zstack.network.securitygroup.SecurityGroupInventory; +import org.zstack.network.securitygroup.SecurityGroupRuleInventory; +import org.zstack.network.securitygroup.SecurityGroupRuleProtocolType; +import org.zstack.network.securitygroup.SecurityGroupRuleTO; +import org.zstack.network.securitygroup.SecurityGroupRuleType; import org.zstack.simulator.SimulatorSecurityGroupBackend; import org.zstack.test.Api; import org.zstack.test.ApiSenderException; diff --git a/test/src/test/java/org/zstack/test/storage/backup/BackupStorageChangeStateExtension.java b/test/src/test/java/org/zstack/test/storage/backup/BackupStorageChangeStateExtension.java index 0b839e8b40e..b2f390c2b3e 100755 --- a/test/src/test/java/org/zstack/test/storage/backup/BackupStorageChangeStateExtension.java +++ b/test/src/test/java/org/zstack/test/storage/backup/BackupStorageChangeStateExtension.java @@ -1,6 +1,10 @@ package org.zstack.test.storage.backup; -import org.zstack.header.storage.backup.*; +import org.zstack.header.storage.backup.BackupStorageChangeStateExtensionPoint; +import org.zstack.header.storage.backup.BackupStorageException; +import org.zstack.header.storage.backup.BackupStorageInventory; +import org.zstack.header.storage.backup.BackupStorageState; +import org.zstack.header.storage.backup.BackupStorageStateEvent; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; diff --git a/test/src/test/java/org/zstack/test/storage/backup/TestAllocateBackupStorage1.java b/test/src/test/java/org/zstack/test/storage/backup/TestAllocateBackupStorage1.java index 65201a55dbd..35912db0120 100755 --- a/test/src/test/java/org/zstack/test/storage/backup/TestAllocateBackupStorage1.java +++ b/test/src/test/java/org/zstack/test/storage/backup/TestAllocateBackupStorage1.java @@ -6,7 +6,11 @@ import org.zstack.core.cloudbus.CloudBus; import org.zstack.core.componentloader.ComponentLoader; import org.zstack.core.db.DatabaseFacade; -import org.zstack.header.storage.backup.*; +import org.zstack.header.storage.backup.AllocateBackupStorageMsg; +import org.zstack.header.storage.backup.AllocateBackupStorageReply; +import org.zstack.header.storage.backup.BackupStorageConstant; +import org.zstack.header.storage.backup.BackupStorageInventory; +import org.zstack.header.storage.backup.BackupStorageVO; import org.zstack.test.Api; import org.zstack.test.ApiSenderException; import org.zstack.test.DBUtil; diff --git a/test/src/test/java/org/zstack/test/storage/backup/TestAllocateBackupStorage2.java b/test/src/test/java/org/zstack/test/storage/backup/TestAllocateBackupStorage2.java index e216654cb86..6cffaa21f83 100755 --- a/test/src/test/java/org/zstack/test/storage/backup/TestAllocateBackupStorage2.java +++ b/test/src/test/java/org/zstack/test/storage/backup/TestAllocateBackupStorage2.java @@ -7,7 +7,11 @@ import org.zstack.core.componentloader.ComponentLoader; import org.zstack.core.db.DatabaseFacade; import org.zstack.header.message.MessageReply; -import org.zstack.header.storage.backup.*; +import org.zstack.header.storage.backup.AllocateBackupStorageMsg; +import org.zstack.header.storage.backup.BackupStorageConstant; +import org.zstack.header.storage.backup.BackupStorageErrors; +import org.zstack.header.storage.backup.BackupStorageInventory; +import org.zstack.header.storage.backup.BackupStorageVO; import org.zstack.test.Api; import org.zstack.test.ApiSenderException; import org.zstack.test.DBUtil; diff --git a/test/src/test/java/org/zstack/test/storage/backup/TestAllocateBackupStorage3.java b/test/src/test/java/org/zstack/test/storage/backup/TestAllocateBackupStorage3.java index a1db5d4be25..544fc0c5ddd 100755 --- a/test/src/test/java/org/zstack/test/storage/backup/TestAllocateBackupStorage3.java +++ b/test/src/test/java/org/zstack/test/storage/backup/TestAllocateBackupStorage3.java @@ -8,7 +8,11 @@ import org.zstack.core.componentloader.ComponentLoader; import org.zstack.core.db.DatabaseFacade; import org.zstack.header.message.MessageReply; -import org.zstack.header.storage.backup.*; +import org.zstack.header.storage.backup.AllocateBackupStorageMsg; +import org.zstack.header.storage.backup.BackupStorageConstant; +import org.zstack.header.storage.backup.BackupStorageErrors; +import org.zstack.header.storage.backup.BackupStorageInventory; +import org.zstack.header.storage.backup.BackupStorageVO; import org.zstack.test.Api; import org.zstack.test.ApiSenderException; import org.zstack.test.DBUtil; diff --git a/test/src/test/java/org/zstack/test/storage/backup/TestAllocateBackupStorage4.java b/test/src/test/java/org/zstack/test/storage/backup/TestAllocateBackupStorage4.java index 4a785fa9309..5950a3bcd70 100755 --- a/test/src/test/java/org/zstack/test/storage/backup/TestAllocateBackupStorage4.java +++ b/test/src/test/java/org/zstack/test/storage/backup/TestAllocateBackupStorage4.java @@ -6,7 +6,11 @@ import org.zstack.core.cloudbus.CloudBus; import org.zstack.core.componentloader.ComponentLoader; import org.zstack.core.db.DatabaseFacade; -import org.zstack.header.storage.backup.*; +import org.zstack.header.storage.backup.AllocateBackupStorageMsg; +import org.zstack.header.storage.backup.AllocateBackupStorageReply; +import org.zstack.header.storage.backup.BackupStorageConstant; +import org.zstack.header.storage.backup.BackupStorageInventory; +import org.zstack.header.storage.backup.BackupStorageVO; import org.zstack.test.Api; import org.zstack.test.ApiSenderException; import org.zstack.test.DBUtil; diff --git a/test/src/test/java/org/zstack/test/storage/backup/TestAllocateBackupStorage5.java b/test/src/test/java/org/zstack/test/storage/backup/TestAllocateBackupStorage5.java index 936be2c33ba..ebe97e66140 100755 --- a/test/src/test/java/org/zstack/test/storage/backup/TestAllocateBackupStorage5.java +++ b/test/src/test/java/org/zstack/test/storage/backup/TestAllocateBackupStorage5.java @@ -6,7 +6,11 @@ import org.zstack.core.cloudbus.CloudBus; import org.zstack.core.componentloader.ComponentLoader; import org.zstack.core.db.DatabaseFacade; -import org.zstack.header.storage.backup.*; +import org.zstack.header.storage.backup.AllocateBackupStorageMsg; +import org.zstack.header.storage.backup.AllocateBackupStorageReply; +import org.zstack.header.storage.backup.BackupStorageConstant; +import org.zstack.header.storage.backup.BackupStorageInventory; +import org.zstack.header.storage.backup.BackupStorageVO; import org.zstack.header.zone.ZoneInventory; import org.zstack.test.Api; import org.zstack.test.ApiSenderException; diff --git a/test/src/test/java/org/zstack/test/storage/backup/TestAllocateBackupStorage6.java b/test/src/test/java/org/zstack/test/storage/backup/TestAllocateBackupStorage6.java index 5eeb8f2c38f..f7b36b1df9e 100755 --- a/test/src/test/java/org/zstack/test/storage/backup/TestAllocateBackupStorage6.java +++ b/test/src/test/java/org/zstack/test/storage/backup/TestAllocateBackupStorage6.java @@ -7,7 +7,11 @@ import org.zstack.core.componentloader.ComponentLoader; import org.zstack.core.db.DatabaseFacade; import org.zstack.header.message.MessageReply; -import org.zstack.header.storage.backup.*; +import org.zstack.header.storage.backup.AllocateBackupStorageMsg; +import org.zstack.header.storage.backup.BackupStorageConstant; +import org.zstack.header.storage.backup.BackupStorageErrors; +import org.zstack.header.storage.backup.BackupStorageInventory; +import org.zstack.header.storage.backup.BackupStorageVO; import org.zstack.header.zone.ZoneInventory; import org.zstack.test.Api; import org.zstack.test.ApiSenderException; diff --git a/test/src/test/java/org/zstack/test/storage/backup/TestAttachBackupStorage.java b/test/src/test/java/org/zstack/test/storage/backup/TestAttachBackupStorage.java index 0644645e002..93405297333 100755 --- a/test/src/test/java/org/zstack/test/storage/backup/TestAttachBackupStorage.java +++ b/test/src/test/java/org/zstack/test/storage/backup/TestAttachBackupStorage.java @@ -10,7 +10,11 @@ import org.zstack.header.storage.backup.BackupStorageInventory; import org.zstack.header.storage.backup.BackupStorageVO; import org.zstack.header.zone.ZoneInventory; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.utils.Utils; import org.zstack.utils.data.SizeUnit; import org.zstack.utils.logging.CLogger; diff --git a/test/src/test/java/org/zstack/test/storage/backup/TestBackupAttachExtensionPoint.java b/test/src/test/java/org/zstack/test/storage/backup/TestBackupAttachExtensionPoint.java index 39746d0e9fa..8bb79f6560d 100755 --- a/test/src/test/java/org/zstack/test/storage/backup/TestBackupAttachExtensionPoint.java +++ b/test/src/test/java/org/zstack/test/storage/backup/TestBackupAttachExtensionPoint.java @@ -10,7 +10,11 @@ import org.zstack.header.storage.backup.BackupStorageInventory; import org.zstack.header.storage.backup.BackupStorageVO; import org.zstack.header.zone.ZoneInventory; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.utils.data.SizeUnit; public class TestBackupAttachExtensionPoint { diff --git a/test/src/test/java/org/zstack/test/storage/backup/TestBackupStorageChangeStateExtensionPoint.java b/test/src/test/java/org/zstack/test/storage/backup/TestBackupStorageChangeStateExtensionPoint.java index dfd5b35200e..0f4ca36b317 100755 --- a/test/src/test/java/org/zstack/test/storage/backup/TestBackupStorageChangeStateExtensionPoint.java +++ b/test/src/test/java/org/zstack/test/storage/backup/TestBackupStorageChangeStateExtensionPoint.java @@ -11,7 +11,11 @@ import org.zstack.header.storage.backup.BackupStorageState; import org.zstack.header.storage.backup.BackupStorageStateEvent; import org.zstack.header.storage.backup.BackupStorageVO; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.utils.data.SizeUnit; public class TestBackupStorageChangeStateExtensionPoint { diff --git a/test/src/test/java/org/zstack/test/storage/backup/TestBackupStorageDetachExtensionPoint.java b/test/src/test/java/org/zstack/test/storage/backup/TestBackupStorageDetachExtensionPoint.java index 55abbaa8b94..e2cbebff885 100755 --- a/test/src/test/java/org/zstack/test/storage/backup/TestBackupStorageDetachExtensionPoint.java +++ b/test/src/test/java/org/zstack/test/storage/backup/TestBackupStorageDetachExtensionPoint.java @@ -10,7 +10,11 @@ import org.zstack.header.storage.backup.BackupStorageInventory; import org.zstack.header.storage.backup.BackupStorageVO; import org.zstack.header.zone.ZoneInventory; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.utils.data.SizeUnit; public class TestBackupStorageDetachExtensionPoint { diff --git a/test/src/test/java/org/zstack/test/storage/backup/TestCreateBackupStorage.java b/test/src/test/java/org/zstack/test/storage/backup/TestCreateBackupStorage.java index 45c0f26ade4..0456b5021cd 100755 --- a/test/src/test/java/org/zstack/test/storage/backup/TestCreateBackupStorage.java +++ b/test/src/test/java/org/zstack/test/storage/backup/TestCreateBackupStorage.java @@ -9,7 +9,11 @@ import org.zstack.header.simulator.storage.backup.SimulatorBackupStorageDetails; import org.zstack.header.storage.backup.BackupStorageInventory; import org.zstack.header.storage.backup.BackupStorageVO; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.utils.Utils; import org.zstack.utils.data.SizeUnit; import org.zstack.utils.logging.CLogger; diff --git a/test/src/test/java/org/zstack/test/storage/backup/TestDeleteBackupStorage.java b/test/src/test/java/org/zstack/test/storage/backup/TestDeleteBackupStorage.java index e0d55bedb16..7a128c5e1cd 100755 --- a/test/src/test/java/org/zstack/test/storage/backup/TestDeleteBackupStorage.java +++ b/test/src/test/java/org/zstack/test/storage/backup/TestDeleteBackupStorage.java @@ -9,7 +9,11 @@ import org.zstack.header.simulator.storage.backup.SimulatorBackupStorageDetails; import org.zstack.header.storage.backup.BackupStorageInventory; import org.zstack.header.storage.backup.BackupStorageVO; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.utils.Utils; import org.zstack.utils.data.SizeUnit; import org.zstack.utils.logging.CLogger; diff --git a/test/src/test/java/org/zstack/test/storage/backup/TestDeleteBackupStorageExtensionPoint.java b/test/src/test/java/org/zstack/test/storage/backup/TestDeleteBackupStorageExtensionPoint.java index 857b1a9eabc..e3166435355 100755 --- a/test/src/test/java/org/zstack/test/storage/backup/TestDeleteBackupStorageExtensionPoint.java +++ b/test/src/test/java/org/zstack/test/storage/backup/TestDeleteBackupStorageExtensionPoint.java @@ -9,7 +9,11 @@ import org.zstack.header.simulator.storage.backup.SimulatorBackupStorageDetails; import org.zstack.header.storage.backup.BackupStorageInventory; import org.zstack.header.storage.backup.BackupStorageVO; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.utils.data.SizeUnit; public class TestDeleteBackupStorageExtensionPoint { diff --git a/test/src/test/java/org/zstack/test/storage/backup/TestDetachBackupStorage.java b/test/src/test/java/org/zstack/test/storage/backup/TestDetachBackupStorage.java index 1711c446e89..8d5c5d7edc6 100755 --- a/test/src/test/java/org/zstack/test/storage/backup/TestDetachBackupStorage.java +++ b/test/src/test/java/org/zstack/test/storage/backup/TestDetachBackupStorage.java @@ -10,7 +10,11 @@ import org.zstack.header.storage.backup.BackupStorageInventory; import org.zstack.header.storage.backup.BackupStorageVO; import org.zstack.header.zone.ZoneInventory; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.utils.Utils; import org.zstack.utils.data.SizeUnit; import org.zstack.utils.logging.CLogger; diff --git a/test/src/test/java/org/zstack/test/storage/backup/sftp/TestAddSftpBackupStorage.java b/test/src/test/java/org/zstack/test/storage/backup/sftp/TestAddSftpBackupStorage.java index a89f4ffe72c..0e86cc4ba7e 100755 --- a/test/src/test/java/org/zstack/test/storage/backup/sftp/TestAddSftpBackupStorage.java +++ b/test/src/test/java/org/zstack/test/storage/backup/sftp/TestAddSftpBackupStorage.java @@ -11,8 +11,17 @@ import org.zstack.header.storage.backup.APIAddBackupStorageEvent; import org.zstack.header.storage.backup.BackupStorageInventory; import org.zstack.simulator.storage.backup.sftp.SftpBackupStorageSimulatorConfig; -import org.zstack.storage.backup.sftp.*; -import org.zstack.test.*; +import org.zstack.storage.backup.sftp.APIAddSftpBackupStorageEvent; +import org.zstack.storage.backup.sftp.APIAddSftpBackupStorageMsg; +import org.zstack.storage.backup.sftp.SftpBackupStorage; +import org.zstack.storage.backup.sftp.SftpBackupStorageConstant; +import org.zstack.storage.backup.sftp.SftpBackupStorageInventory; +import org.zstack.storage.backup.sftp.SftpBackupStorageVO; +import org.zstack.test.Api; +import org.zstack.test.ApiSender; +import org.zstack.test.ApiSenderException; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.deployer.Deployer; import org.zstack.utils.Utils; import org.zstack.utils.data.SizeUnit; diff --git a/test/src/test/java/org/zstack/test/storage/backup/sftp/TestAddSftpBackupStorageFailure.java b/test/src/test/java/org/zstack/test/storage/backup/sftp/TestAddSftpBackupStorageFailure.java index e93e388e3e8..1fce8542d49 100755 --- a/test/src/test/java/org/zstack/test/storage/backup/sftp/TestAddSftpBackupStorageFailure.java +++ b/test/src/test/java/org/zstack/test/storage/backup/sftp/TestAddSftpBackupStorageFailure.java @@ -13,7 +13,11 @@ import org.zstack.storage.backup.sftp.APIAddSftpBackupStorageMsg; import org.zstack.storage.backup.sftp.SftpBackupStorageConstant; import org.zstack.storage.backup.sftp.SftpBackupStorageVO; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSender; +import org.zstack.test.ApiSenderException; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.deployer.Deployer; import org.zstack.utils.Utils; import org.zstack.utils.data.SizeUnit; diff --git a/test/src/test/java/org/zstack/test/storage/backup/sftp/TestSftpExpungeImage.java b/test/src/test/java/org/zstack/test/storage/backup/sftp/TestSftpExpungeImage.java index cb7ba8c614d..1223bd1bab3 100755 --- a/test/src/test/java/org/zstack/test/storage/backup/sftp/TestSftpExpungeImage.java +++ b/test/src/test/java/org/zstack/test/storage/backup/sftp/TestSftpExpungeImage.java @@ -6,7 +6,11 @@ import org.zstack.core.cloudbus.CloudBus; import org.zstack.core.componentloader.ComponentLoader; import org.zstack.core.db.DatabaseFacade; -import org.zstack.header.storage.backup.*; +import org.zstack.header.storage.backup.AllocateBackupStorageMsg; +import org.zstack.header.storage.backup.AllocateBackupStorageReply; +import org.zstack.header.storage.backup.BackupStorageConstant; +import org.zstack.header.storage.backup.BackupStorageInventory; +import org.zstack.header.storage.backup.BackupStorageVO; import org.zstack.test.Api; import org.zstack.test.ApiSenderException; import org.zstack.test.DBUtil; diff --git a/test/src/test/java/org/zstack/test/storage/backup/sftp/TestUpdateSftpBackupStorage.java b/test/src/test/java/org/zstack/test/storage/backup/sftp/TestUpdateSftpBackupStorage.java index 28613d1e498..749629d6236 100755 --- a/test/src/test/java/org/zstack/test/storage/backup/sftp/TestUpdateSftpBackupStorage.java +++ b/test/src/test/java/org/zstack/test/storage/backup/sftp/TestUpdateSftpBackupStorage.java @@ -10,8 +10,17 @@ import org.zstack.header.identity.SessionInventory; import org.zstack.header.storage.backup.APIAddBackupStorageEvent; import org.zstack.simulator.storage.backup.sftp.SftpBackupStorageSimulatorConfig; -import org.zstack.storage.backup.sftp.*; -import org.zstack.test.*; +import org.zstack.storage.backup.sftp.APIAddSftpBackupStorageEvent; +import org.zstack.storage.backup.sftp.APIAddSftpBackupStorageMsg; +import org.zstack.storage.backup.sftp.SftpBackupStorage; +import org.zstack.storage.backup.sftp.SftpBackupStorageConstant; +import org.zstack.storage.backup.sftp.SftpBackupStorageInventory; +import org.zstack.storage.backup.sftp.SftpBackupStorageVO; +import org.zstack.test.Api; +import org.zstack.test.ApiSender; +import org.zstack.test.ApiSenderException; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.deployer.Deployer; import org.zstack.utils.Utils; import org.zstack.utils.data.SizeUnit; diff --git a/test/src/test/java/org/zstack/test/storage/ceph/TestCeph10.java b/test/src/test/java/org/zstack/test/storage/ceph/TestCeph10.java index 4e1c9157ff2..c3e59d7a5ee 100755 --- a/test/src/test/java/org/zstack/test/storage/ceph/TestCeph10.java +++ b/test/src/test/java/org/zstack/test/storage/ceph/TestCeph10.java @@ -13,7 +13,11 @@ import org.zstack.storage.ceph.backup.CephBackupStorageMonVO; import org.zstack.storage.ceph.backup.CephBackupStorageSimulatorConfig; import org.zstack.storage.ceph.backup.CephBackupStorageSimulatorConfig.CephBackupStorageConfig; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSender; +import org.zstack.test.ApiSenderException; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.deployer.Deployer; import org.zstack.utils.SizeUtils; diff --git a/test/src/test/java/org/zstack/test/storage/ceph/TestCeph12.java b/test/src/test/java/org/zstack/test/storage/ceph/TestCeph12.java index 55e54e8d45f..b97a52b64e9 100755 --- a/test/src/test/java/org/zstack/test/storage/ceph/TestCeph12.java +++ b/test/src/test/java/org/zstack/test/storage/ceph/TestCeph12.java @@ -25,7 +25,11 @@ import org.zstack.storage.ceph.primary.CephPrimaryStorageBase; import org.zstack.storage.ceph.primary.CephPrimaryStorageMonVO; import org.zstack.storage.ceph.primary.CephPrimaryStorageSimulatorConfig; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSender; +import org.zstack.test.ApiSenderException; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.deployer.Deployer; import java.util.concurrent.TimeUnit; diff --git a/test/src/test/java/org/zstack/test/storage/ceph/TestCeph19.java b/test/src/test/java/org/zstack/test/storage/ceph/TestCeph19.java index df17486af12..e4b1388d923 100755 --- a/test/src/test/java/org/zstack/test/storage/ceph/TestCeph19.java +++ b/test/src/test/java/org/zstack/test/storage/ceph/TestCeph19.java @@ -25,7 +25,11 @@ import org.zstack.storage.ceph.primary.CephPrimaryStorageMonVO; import org.zstack.storage.ceph.primary.CephPrimaryStorageSimulatorConfig; import org.zstack.storage.ceph.primary.CephPrimaryStorageSimulatorConfig.CephPrimaryStorageConfig; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSender; +import org.zstack.test.ApiSenderException; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.deployer.Deployer; import org.zstack.utils.data.SizeUnit; diff --git a/test/src/test/java/org/zstack/test/storage/ceph/TestCeph9.java b/test/src/test/java/org/zstack/test/storage/ceph/TestCeph9.java index 2c8cd58b68a..cb5b82cb92a 100755 --- a/test/src/test/java/org/zstack/test/storage/ceph/TestCeph9.java +++ b/test/src/test/java/org/zstack/test/storage/ceph/TestCeph9.java @@ -13,7 +13,11 @@ import org.zstack.storage.ceph.primary.APIAddCephPrimaryStorageMsg; import org.zstack.storage.ceph.primary.CephPrimaryStorageMonVO; import org.zstack.storage.ceph.primary.CephPrimaryStorageSimulatorConfig; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSender; +import org.zstack.test.ApiSenderException; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.deployer.Deployer; import org.zstack.utils.SizeUtils; diff --git a/test/src/test/java/org/zstack/test/storage/ceph/TestCephBackupStorage.java b/test/src/test/java/org/zstack/test/storage/ceph/TestCephBackupStorage.java index 39e42a81b79..18190ba60a1 100755 --- a/test/src/test/java/org/zstack/test/storage/ceph/TestCephBackupStorage.java +++ b/test/src/test/java/org/zstack/test/storage/ceph/TestCephBackupStorage.java @@ -16,7 +16,11 @@ import org.zstack.storage.ceph.backup.CephBackupStorageMonVO; import org.zstack.storage.ceph.backup.CephBackupStorageSimulatorConfig; import org.zstack.storage.ceph.backup.CephBackupStorageVO; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSender; +import org.zstack.test.ApiSenderException; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.deployer.Deployer; import org.zstack.utils.Utils; import org.zstack.utils.data.SizeUnit; diff --git a/test/src/test/java/org/zstack/test/storage/primary/PrimaryStorageChangeStateExtension.java b/test/src/test/java/org/zstack/test/storage/primary/PrimaryStorageChangeStateExtension.java index b72e136b1f6..a7776efed6d 100755 --- a/test/src/test/java/org/zstack/test/storage/primary/PrimaryStorageChangeStateExtension.java +++ b/test/src/test/java/org/zstack/test/storage/primary/PrimaryStorageChangeStateExtension.java @@ -1,6 +1,10 @@ package org.zstack.test.storage.primary; -import org.zstack.header.storage.primary.*; +import org.zstack.header.storage.primary.PrimaryStorageChangeStateExtensionPoint; +import org.zstack.header.storage.primary.PrimaryStorageException; +import org.zstack.header.storage.primary.PrimaryStorageInventory; +import org.zstack.header.storage.primary.PrimaryStorageState; +import org.zstack.header.storage.primary.PrimaryStorageStateEvent; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; diff --git a/test/src/test/java/org/zstack/test/storage/primary/TestAttachPrimaryStorage.java b/test/src/test/java/org/zstack/test/storage/primary/TestAttachPrimaryStorage.java index ff91a7cad0d..a2edb9b45f2 100755 --- a/test/src/test/java/org/zstack/test/storage/primary/TestAttachPrimaryStorage.java +++ b/test/src/test/java/org/zstack/test/storage/primary/TestAttachPrimaryStorage.java @@ -10,7 +10,11 @@ import org.zstack.header.simulator.storage.primary.SimulatorPrimaryStorageDetails; import org.zstack.header.storage.primary.PrimaryStorageInventory; import org.zstack.header.zone.ZoneInventory; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.utils.Utils; import org.zstack.utils.data.SizeUnit; import org.zstack.utils.logging.CLogger; diff --git a/test/src/test/java/org/zstack/test/storage/primary/TestChangePrimaryStorageState.java b/test/src/test/java/org/zstack/test/storage/primary/TestChangePrimaryStorageState.java index 865c0e7497d..2291db421ed 100755 --- a/test/src/test/java/org/zstack/test/storage/primary/TestChangePrimaryStorageState.java +++ b/test/src/test/java/org/zstack/test/storage/primary/TestChangePrimaryStorageState.java @@ -10,7 +10,11 @@ import org.zstack.header.storage.primary.PrimaryStorageState; import org.zstack.header.storage.primary.PrimaryStorageStateEvent; import org.zstack.header.zone.ZoneInventory; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.utils.Utils; import org.zstack.utils.data.SizeUnit; import org.zstack.utils.logging.CLogger; diff --git a/test/src/test/java/org/zstack/test/storage/primary/TestCreatePrimaryStorage.java b/test/src/test/java/org/zstack/test/storage/primary/TestCreatePrimaryStorage.java index 946cd60e072..6d3d6b4b263 100755 --- a/test/src/test/java/org/zstack/test/storage/primary/TestCreatePrimaryStorage.java +++ b/test/src/test/java/org/zstack/test/storage/primary/TestCreatePrimaryStorage.java @@ -10,7 +10,11 @@ import org.zstack.header.storage.primary.PrimaryStorageInventory; import org.zstack.header.storage.primary.PrimaryStorageVO; import org.zstack.header.zone.ZoneInventory; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.utils.data.SizeUnit; public class TestCreatePrimaryStorage { diff --git a/test/src/test/java/org/zstack/test/storage/primary/TestDefaultPrimaryStorageAllocatorStrategy.java b/test/src/test/java/org/zstack/test/storage/primary/TestDefaultPrimaryStorageAllocatorStrategy.java index 49fe1def6dc..501d83a238d 100755 --- a/test/src/test/java/org/zstack/test/storage/primary/TestDefaultPrimaryStorageAllocatorStrategy.java +++ b/test/src/test/java/org/zstack/test/storage/primary/TestDefaultPrimaryStorageAllocatorStrategy.java @@ -11,9 +11,18 @@ import org.zstack.header.host.HostInventory; import org.zstack.header.message.MessageReply; import org.zstack.header.simulator.storage.primary.SimulatorPrimaryStorageDetails; -import org.zstack.header.storage.primary.*; +import org.zstack.header.storage.primary.AllocatePrimaryStorageMsg; +import org.zstack.header.storage.primary.AllocatePrimaryStorageReply; +import org.zstack.header.storage.primary.PrimaryStorageConstant; +import org.zstack.header.storage.primary.PrimaryStorageInventory; +import org.zstack.header.storage.primary.PrimaryStorageManager; +import org.zstack.header.storage.primary.PrimaryStorageVO; import org.zstack.header.zone.ZoneInventory; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.utils.Utils; import org.zstack.utils.data.SizeUnit; import org.zstack.utils.logging.CLogger; diff --git a/test/src/test/java/org/zstack/test/storage/primary/TestDefaultPrimaryStorageAllocatorStrategy1.java b/test/src/test/java/org/zstack/test/storage/primary/TestDefaultPrimaryStorageAllocatorStrategy1.java index c396f4da5ca..1982528d789 100755 --- a/test/src/test/java/org/zstack/test/storage/primary/TestDefaultPrimaryStorageAllocatorStrategy1.java +++ b/test/src/test/java/org/zstack/test/storage/primary/TestDefaultPrimaryStorageAllocatorStrategy1.java @@ -11,9 +11,18 @@ import org.zstack.header.host.HostInventory; import org.zstack.header.message.MessageReply; import org.zstack.header.simulator.storage.primary.SimulatorPrimaryStorageDetails; -import org.zstack.header.storage.primary.*; +import org.zstack.header.storage.primary.AllocatePrimaryStorageMsg; +import org.zstack.header.storage.primary.AllocatePrimaryStorageReply; +import org.zstack.header.storage.primary.PrimaryStorageConstant; +import org.zstack.header.storage.primary.PrimaryStorageInventory; +import org.zstack.header.storage.primary.PrimaryStorageManager; +import org.zstack.header.storage.primary.PrimaryStorageVO; import org.zstack.header.zone.ZoneInventory; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.utils.Utils; import org.zstack.utils.data.SizeUnit; import org.zstack.utils.logging.CLogger; diff --git a/test/src/test/java/org/zstack/test/storage/primary/TestDefaultPrimaryStorageAllocatorStrategy2.java b/test/src/test/java/org/zstack/test/storage/primary/TestDefaultPrimaryStorageAllocatorStrategy2.java index c4462972452..490e3775424 100755 --- a/test/src/test/java/org/zstack/test/storage/primary/TestDefaultPrimaryStorageAllocatorStrategy2.java +++ b/test/src/test/java/org/zstack/test/storage/primary/TestDefaultPrimaryStorageAllocatorStrategy2.java @@ -11,9 +11,18 @@ import org.zstack.header.host.HostInventory; import org.zstack.header.message.MessageReply; import org.zstack.header.simulator.storage.primary.SimulatorPrimaryStorageDetails; -import org.zstack.header.storage.primary.*; +import org.zstack.header.storage.primary.AllocatePrimaryStorageMsg; +import org.zstack.header.storage.primary.AllocatePrimaryStorageReply; +import org.zstack.header.storage.primary.PrimaryStorageConstant; +import org.zstack.header.storage.primary.PrimaryStorageInventory; +import org.zstack.header.storage.primary.PrimaryStorageManager; +import org.zstack.header.storage.primary.PrimaryStorageVO; import org.zstack.header.zone.ZoneInventory; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.utils.Utils; import org.zstack.utils.data.SizeUnit; import org.zstack.utils.logging.CLogger; diff --git a/test/src/test/java/org/zstack/test/storage/primary/TestDefaultPrimaryStorageAllocatorStrategyFailure1.java b/test/src/test/java/org/zstack/test/storage/primary/TestDefaultPrimaryStorageAllocatorStrategyFailure1.java index c4f0cf1bfbe..8d9032273ae 100755 --- a/test/src/test/java/org/zstack/test/storage/primary/TestDefaultPrimaryStorageAllocatorStrategyFailure1.java +++ b/test/src/test/java/org/zstack/test/storage/primary/TestDefaultPrimaryStorageAllocatorStrategyFailure1.java @@ -15,7 +15,11 @@ import org.zstack.header.storage.primary.PrimaryStorageConstant; import org.zstack.header.storage.primary.PrimaryStorageInventory; import org.zstack.header.zone.ZoneInventory; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.utils.Utils; import org.zstack.utils.data.SizeUnit; import org.zstack.utils.logging.CLogger; diff --git a/test/src/test/java/org/zstack/test/storage/primary/TestDefaultPrimaryStorageAllocatorStrategyFailure2.java b/test/src/test/java/org/zstack/test/storage/primary/TestDefaultPrimaryStorageAllocatorStrategyFailure2.java index 8124133bf72..0c3f18ef3f8 100755 --- a/test/src/test/java/org/zstack/test/storage/primary/TestDefaultPrimaryStorageAllocatorStrategyFailure2.java +++ b/test/src/test/java/org/zstack/test/storage/primary/TestDefaultPrimaryStorageAllocatorStrategyFailure2.java @@ -15,7 +15,11 @@ import org.zstack.header.storage.primary.PrimaryStorageConstant; import org.zstack.header.storage.primary.PrimaryStorageInventory; import org.zstack.header.zone.ZoneInventory; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.utils.Utils; import org.zstack.utils.data.SizeUnit; import org.zstack.utils.logging.CLogger; diff --git a/test/src/test/java/org/zstack/test/storage/primary/TestDefaultPrimaryStorageAllocatorStrategyFailure3.java b/test/src/test/java/org/zstack/test/storage/primary/TestDefaultPrimaryStorageAllocatorStrategyFailure3.java index 71c3b758f1c..24df827ec5b 100755 --- a/test/src/test/java/org/zstack/test/storage/primary/TestDefaultPrimaryStorageAllocatorStrategyFailure3.java +++ b/test/src/test/java/org/zstack/test/storage/primary/TestDefaultPrimaryStorageAllocatorStrategyFailure3.java @@ -15,7 +15,11 @@ import org.zstack.header.storage.primary.PrimaryStorageConstant; import org.zstack.header.storage.primary.PrimaryStorageInventory; import org.zstack.header.zone.ZoneInventory; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.utils.Utils; import org.zstack.utils.data.SizeUnit; import org.zstack.utils.logging.CLogger; diff --git a/test/src/test/java/org/zstack/test/storage/primary/TestDefaultPrimaryStorageAllocatorStrategyFailure4.java b/test/src/test/java/org/zstack/test/storage/primary/TestDefaultPrimaryStorageAllocatorStrategyFailure4.java index 96584dd7b78..5d7e8d9f611 100755 --- a/test/src/test/java/org/zstack/test/storage/primary/TestDefaultPrimaryStorageAllocatorStrategyFailure4.java +++ b/test/src/test/java/org/zstack/test/storage/primary/TestDefaultPrimaryStorageAllocatorStrategyFailure4.java @@ -16,7 +16,11 @@ import org.zstack.header.storage.primary.PrimaryStorageInventory; import org.zstack.header.storage.primary.PrimaryStorageStateEvent; import org.zstack.header.zone.ZoneInventory; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.utils.Utils; import org.zstack.utils.data.SizeUnit; import org.zstack.utils.logging.CLogger; diff --git a/test/src/test/java/org/zstack/test/storage/primary/TestDefaultPrimaryStorageAllocatorStrategyFailure5.java b/test/src/test/java/org/zstack/test/storage/primary/TestDefaultPrimaryStorageAllocatorStrategyFailure5.java index 1790b15c33c..3dbfe0a2f43 100755 --- a/test/src/test/java/org/zstack/test/storage/primary/TestDefaultPrimaryStorageAllocatorStrategyFailure5.java +++ b/test/src/test/java/org/zstack/test/storage/primary/TestDefaultPrimaryStorageAllocatorStrategyFailure5.java @@ -11,9 +11,18 @@ import org.zstack.header.host.HostInventory; import org.zstack.header.message.MessageReply; import org.zstack.header.simulator.storage.primary.SimulatorPrimaryStorageDetails; -import org.zstack.header.storage.primary.*; +import org.zstack.header.storage.primary.AllocatePrimaryStorageMsg; +import org.zstack.header.storage.primary.PrimaryStorageConstant; +import org.zstack.header.storage.primary.PrimaryStorageInventory; +import org.zstack.header.storage.primary.PrimaryStorageManager; +import org.zstack.header.storage.primary.PrimaryStorageStatus; +import org.zstack.header.storage.primary.PrimaryStorageVO; import org.zstack.header.zone.ZoneInventory; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.utils.Utils; import org.zstack.utils.data.SizeUnit; import org.zstack.utils.logging.CLogger; diff --git a/test/src/test/java/org/zstack/test/storage/primary/TestDeletePrimaryStorage.java b/test/src/test/java/org/zstack/test/storage/primary/TestDeletePrimaryStorage.java index 7ae9e93149a..e9e5a87197f 100755 --- a/test/src/test/java/org/zstack/test/storage/primary/TestDeletePrimaryStorage.java +++ b/test/src/test/java/org/zstack/test/storage/primary/TestDeletePrimaryStorage.java @@ -10,7 +10,11 @@ import org.zstack.header.storage.primary.PrimaryStorageInventory; import org.zstack.header.storage.primary.PrimaryStorageVO; import org.zstack.header.zone.ZoneInventory; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.utils.Utils; import org.zstack.utils.data.SizeUnit; import org.zstack.utils.logging.CLogger; diff --git a/test/src/test/java/org/zstack/test/storage/primary/TestDetachPrimaryStorage.java b/test/src/test/java/org/zstack/test/storage/primary/TestDetachPrimaryStorage.java index d643c7a48b6..38e65665af6 100755 --- a/test/src/test/java/org/zstack/test/storage/primary/TestDetachPrimaryStorage.java +++ b/test/src/test/java/org/zstack/test/storage/primary/TestDetachPrimaryStorage.java @@ -12,7 +12,11 @@ import org.zstack.header.storage.primary.PrimaryStorageClusterRefVO; import org.zstack.header.storage.primary.PrimaryStorageInventory; import org.zstack.header.zone.ZoneInventory; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.utils.Utils; import org.zstack.utils.data.SizeUnit; import org.zstack.utils.logging.CLogger; diff --git a/test/src/test/java/org/zstack/test/storage/primary/TestListPrimaryStorage.java b/test/src/test/java/org/zstack/test/storage/primary/TestListPrimaryStorage.java index 372133f0cee..59f75877cbc 100755 --- a/test/src/test/java/org/zstack/test/storage/primary/TestListPrimaryStorage.java +++ b/test/src/test/java/org/zstack/test/storage/primary/TestListPrimaryStorage.java @@ -9,7 +9,11 @@ import org.zstack.header.simulator.storage.primary.SimulatorPrimaryStorageDetails; import org.zstack.header.storage.primary.PrimaryStorageInventory; import org.zstack.header.zone.ZoneInventory; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.utils.CollectionUtils; import org.zstack.utils.Utils; import org.zstack.utils.data.SizeUnit; diff --git a/test/src/test/java/org/zstack/test/storage/primary/TestPrimaryStorageAttachExtensionPoint.java b/test/src/test/java/org/zstack/test/storage/primary/TestPrimaryStorageAttachExtensionPoint.java index 94d272ae89a..c2c3609ea74 100755 --- a/test/src/test/java/org/zstack/test/storage/primary/TestPrimaryStorageAttachExtensionPoint.java +++ b/test/src/test/java/org/zstack/test/storage/primary/TestPrimaryStorageAttachExtensionPoint.java @@ -10,7 +10,11 @@ import org.zstack.header.simulator.storage.primary.SimulatorPrimaryStorageDetails; import org.zstack.header.storage.primary.PrimaryStorageInventory; import org.zstack.header.zone.ZoneInventory; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.utils.data.SizeUnit; public class TestPrimaryStorageAttachExtensionPoint { diff --git a/test/src/test/java/org/zstack/test/storage/primary/TestPrimaryStorageChangeStateExtensionPoint.java b/test/src/test/java/org/zstack/test/storage/primary/TestPrimaryStorageChangeStateExtensionPoint.java index f2a2a0f0863..e176d21cf4c 100755 --- a/test/src/test/java/org/zstack/test/storage/primary/TestPrimaryStorageChangeStateExtensionPoint.java +++ b/test/src/test/java/org/zstack/test/storage/primary/TestPrimaryStorageChangeStateExtensionPoint.java @@ -12,7 +12,11 @@ import org.zstack.header.storage.primary.PrimaryStorageStateEvent; import org.zstack.header.storage.primary.PrimaryStorageVO; import org.zstack.header.zone.ZoneInventory; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.utils.data.SizeUnit; public class TestPrimaryStorageChangeStateExtensionPoint { diff --git a/test/src/test/java/org/zstack/test/storage/primary/TestPrimaryStorageDeleteExtensionPoint.java b/test/src/test/java/org/zstack/test/storage/primary/TestPrimaryStorageDeleteExtensionPoint.java index ef378ccbf01..6a80468cf69 100755 --- a/test/src/test/java/org/zstack/test/storage/primary/TestPrimaryStorageDeleteExtensionPoint.java +++ b/test/src/test/java/org/zstack/test/storage/primary/TestPrimaryStorageDeleteExtensionPoint.java @@ -10,7 +10,11 @@ import org.zstack.header.storage.primary.PrimaryStorageInventory; import org.zstack.header.storage.primary.PrimaryStorageVO; import org.zstack.header.zone.ZoneInventory; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.utils.data.SizeUnit; public class TestPrimaryStorageDeleteExtensionPoint { diff --git a/test/src/test/java/org/zstack/test/storage/primary/TestPrimaryStorageDetachExtensionPoint.java b/test/src/test/java/org/zstack/test/storage/primary/TestPrimaryStorageDetachExtensionPoint.java index 04c7aafcffa..bc8c947cbfa 100755 --- a/test/src/test/java/org/zstack/test/storage/primary/TestPrimaryStorageDetachExtensionPoint.java +++ b/test/src/test/java/org/zstack/test/storage/primary/TestPrimaryStorageDetachExtensionPoint.java @@ -10,7 +10,11 @@ import org.zstack.header.simulator.storage.primary.SimulatorPrimaryStorageDetails; import org.zstack.header.storage.primary.PrimaryStorageInventory; import org.zstack.header.zone.ZoneInventory; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.utils.data.SizeUnit; public class TestPrimaryStorageDetachExtensionPoint { diff --git a/test/src/test/java/org/zstack/test/storage/primary/TestReturnPrimaryStorage.java b/test/src/test/java/org/zstack/test/storage/primary/TestReturnPrimaryStorage.java index 3cf9dae55de..edfdd9367eb 100755 --- a/test/src/test/java/org/zstack/test/storage/primary/TestReturnPrimaryStorage.java +++ b/test/src/test/java/org/zstack/test/storage/primary/TestReturnPrimaryStorage.java @@ -11,9 +11,19 @@ import org.zstack.header.host.HostInventory; import org.zstack.header.message.MessageReply; import org.zstack.header.simulator.storage.primary.SimulatorPrimaryStorageDetails; -import org.zstack.header.storage.primary.*; +import org.zstack.header.storage.primary.AllocatePrimaryStorageMsg; +import org.zstack.header.storage.primary.AllocatePrimaryStorageReply; +import org.zstack.header.storage.primary.IncreasePrimaryStorageCapacityMsg; +import org.zstack.header.storage.primary.PrimaryStorageConstant; +import org.zstack.header.storage.primary.PrimaryStorageInventory; +import org.zstack.header.storage.primary.PrimaryStorageManager; +import org.zstack.header.storage.primary.PrimaryStorageVO; import org.zstack.header.zone.ZoneInventory; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.utils.Utils; import org.zstack.utils.data.SizeUnit; import org.zstack.utils.logging.CLogger; diff --git a/test/src/test/java/org/zstack/test/storage/primary/TestUpdatePrimaryStorage.java b/test/src/test/java/org/zstack/test/storage/primary/TestUpdatePrimaryStorage.java index 80e09559e36..ef74dd16bcf 100755 --- a/test/src/test/java/org/zstack/test/storage/primary/TestUpdatePrimaryStorage.java +++ b/test/src/test/java/org/zstack/test/storage/primary/TestUpdatePrimaryStorage.java @@ -9,7 +9,11 @@ import org.zstack.header.simulator.storage.primary.SimulatorPrimaryStorageDetails; import org.zstack.header.storage.primary.PrimaryStorageInventory; import org.zstack.header.zone.ZoneInventory; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.utils.data.SizeUnit; public class TestUpdatePrimaryStorage { diff --git a/test/src/test/java/org/zstack/test/storage/primary/local/TestLocalStorage1.java b/test/src/test/java/org/zstack/test/storage/primary/local/TestLocalStorage1.java index 4d47ae35f5f..14361a97be2 100755 --- a/test/src/test/java/org/zstack/test/storage/primary/local/TestLocalStorage1.java +++ b/test/src/test/java/org/zstack/test/storage/primary/local/TestLocalStorage1.java @@ -14,7 +14,11 @@ import org.zstack.header.vm.VmInstanceConstant.Capability; import org.zstack.header.vm.VmInstanceInventory; import org.zstack.header.volume.VolumeConstant; -import org.zstack.storage.primary.local.*; +import org.zstack.storage.primary.local.LocalStorageHostRefVO; +import org.zstack.storage.primary.local.LocalStorageHostRefVOFinder; +import org.zstack.storage.primary.local.LocalStorageResourceRefVO; +import org.zstack.storage.primary.local.LocalStorageResourceRefVO_; +import org.zstack.storage.primary.local.LocalStorageSimulatorConfig; import org.zstack.storage.primary.local.LocalStorageSimulatorConfig.Capacity; import org.zstack.test.Api; import org.zstack.test.ApiSenderException; diff --git a/test/src/test/java/org/zstack/test/storage/primary/local/TestLocalStorage14.java b/test/src/test/java/org/zstack/test/storage/primary/local/TestLocalStorage14.java index 612acea3f9c..f811c8c8dca 100755 --- a/test/src/test/java/org/zstack/test/storage/primary/local/TestLocalStorage14.java +++ b/test/src/test/java/org/zstack/test/storage/primary/local/TestLocalStorage14.java @@ -13,7 +13,11 @@ import org.zstack.header.vm.VmInstanceInventory; import org.zstack.storage.primary.local.LocalStorageSimulatorConfig; import org.zstack.storage.primary.local.LocalStorageSimulatorConfig.Capacity; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.DBUtil; +import org.zstack.test.VmCreator; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.deployer.Deployer; import org.zstack.utils.data.SizeUnit; diff --git a/test/src/test/java/org/zstack/test/storage/primary/local/TestLocalStorage2.java b/test/src/test/java/org/zstack/test/storage/primary/local/TestLocalStorage2.java index a8460240fd0..5eae7dc4341 100755 --- a/test/src/test/java/org/zstack/test/storage/primary/local/TestLocalStorage2.java +++ b/test/src/test/java/org/zstack/test/storage/primary/local/TestLocalStorage2.java @@ -16,7 +16,11 @@ import org.zstack.header.storage.primary.PrimaryStorageVO; import org.zstack.header.vm.VmInstanceDeletionPolicyManager.VmInstanceDeletionPolicy; import org.zstack.header.vm.VmInstanceInventory; -import org.zstack.storage.primary.local.*; +import org.zstack.storage.primary.local.LocalStorageHostRefVO; +import org.zstack.storage.primary.local.LocalStorageHostRefVOFinder; +import org.zstack.storage.primary.local.LocalStorageResourceRefVO; +import org.zstack.storage.primary.local.LocalStorageResourceRefVO_; +import org.zstack.storage.primary.local.LocalStorageSimulatorConfig; import org.zstack.storage.primary.local.LocalStorageSimulatorConfig.Capacity; import org.zstack.test.Api; import org.zstack.test.ApiSenderException; diff --git a/test/src/test/java/org/zstack/test/storage/primary/local/TestLocalStorage27.java b/test/src/test/java/org/zstack/test/storage/primary/local/TestLocalStorage27.java index fe0a15d7e83..8823aec036d 100755 --- a/test/src/test/java/org/zstack/test/storage/primary/local/TestLocalStorage27.java +++ b/test/src/test/java/org/zstack/test/storage/primary/local/TestLocalStorage27.java @@ -13,7 +13,11 @@ import org.zstack.header.identity.SessionInventory; import org.zstack.header.image.ImageInventory; import org.zstack.header.network.l3.L3NetworkInventory; -import org.zstack.header.storage.primary.*; +import org.zstack.header.storage.primary.ImageCacheVO; +import org.zstack.header.storage.primary.ImageCacheVO_; +import org.zstack.header.storage.primary.PrimaryStorageCapacityVO; +import org.zstack.header.storage.primary.PrimaryStorageInventory; +import org.zstack.header.storage.primary.PrimaryStorageOverProvisioningManager; import org.zstack.header.vm.VmInstanceInventory; import org.zstack.header.volume.VolumeStatus; import org.zstack.header.volume.VolumeVO; @@ -22,7 +26,11 @@ import org.zstack.storage.primary.local.LocalStorageHostRefVOFinder; import org.zstack.storage.primary.local.LocalStorageSimulatorConfig; import org.zstack.storage.primary.local.LocalStorageSimulatorConfig.Capacity; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.DBUtil; +import org.zstack.test.VmCreator; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.deployer.Deployer; import org.zstack.utils.data.SizeUnit; diff --git a/test/src/test/java/org/zstack/test/storage/primary/local/TestLocalStorage28.java b/test/src/test/java/org/zstack/test/storage/primary/local/TestLocalStorage28.java index 75a444c65a0..2a823240218 100755 --- a/test/src/test/java/org/zstack/test/storage/primary/local/TestLocalStorage28.java +++ b/test/src/test/java/org/zstack/test/storage/primary/local/TestLocalStorage28.java @@ -24,7 +24,11 @@ import org.zstack.header.volume.VolumeVO; import org.zstack.kvm.KVMAgentCommands.MigrateVmCmd; import org.zstack.simulator.kvm.KVMSimulatorConfig; -import org.zstack.storage.primary.local.*; +import org.zstack.storage.primary.local.LocalStorageHostRefVO; +import org.zstack.storage.primary.local.LocalStorageHostRefVOFinder; +import org.zstack.storage.primary.local.LocalStorageResourceRefVO; +import org.zstack.storage.primary.local.LocalStorageResourceRefVO_; +import org.zstack.storage.primary.local.LocalStorageSimulatorConfig; import org.zstack.storage.primary.local.LocalStorageUtils.InstallPath; import org.zstack.storage.primary.local.LocalStorageKvmBackend.CreateEmptyVolumeCmd; import org.zstack.storage.primary.local.LocalStorageKvmBackend.DeleteBitsCmd; diff --git a/test/src/test/java/org/zstack/test/storage/primary/local/TestLocalStorage29.java b/test/src/test/java/org/zstack/test/storage/primary/local/TestLocalStorage29.java index 4727332cd65..446d2632af3 100755 --- a/test/src/test/java/org/zstack/test/storage/primary/local/TestLocalStorage29.java +++ b/test/src/test/java/org/zstack/test/storage/primary/local/TestLocalStorage29.java @@ -18,7 +18,12 @@ import org.zstack.header.volume.VolumeInventory; import org.zstack.header.volume.VolumeVO; import org.zstack.simulator.kvm.KVMSimulatorConfig; -import org.zstack.storage.primary.local.*; +import org.zstack.storage.primary.local.LocalStorageDirectlyDeleteBitsMsg; +import org.zstack.storage.primary.local.LocalStorageHostRefVO; +import org.zstack.storage.primary.local.LocalStorageHostRefVOFinder; +import org.zstack.storage.primary.local.LocalStorageResourceRefVO; +import org.zstack.storage.primary.local.LocalStorageResourceRefVO_; +import org.zstack.storage.primary.local.LocalStorageSimulatorConfig; import org.zstack.storage.primary.local.LocalStorageKvmBackend.CreateEmptyVolumeCmd; import org.zstack.storage.primary.local.LocalStorageKvmBackend.DeleteBitsCmd; import org.zstack.storage.primary.local.LocalStorageSimulatorConfig.Capacity; diff --git a/test/src/test/java/org/zstack/test/storage/primary/local/TestLocalStorage30.java b/test/src/test/java/org/zstack/test/storage/primary/local/TestLocalStorage30.java index b13fdb38340..be2b3d2ccc5 100755 --- a/test/src/test/java/org/zstack/test/storage/primary/local/TestLocalStorage30.java +++ b/test/src/test/java/org/zstack/test/storage/primary/local/TestLocalStorage30.java @@ -17,7 +17,11 @@ import org.zstack.header.volume.VolumeVO; import org.zstack.kvm.KVMAgentCommands.MigrateVmCmd; import org.zstack.simulator.kvm.KVMSimulatorConfig; -import org.zstack.storage.primary.local.*; +import org.zstack.storage.primary.local.LocalStorageHostRefVO; +import org.zstack.storage.primary.local.LocalStorageHostRefVOFinder; +import org.zstack.storage.primary.local.LocalStorageResourceRefVO; +import org.zstack.storage.primary.local.LocalStorageResourceRefVO_; +import org.zstack.storage.primary.local.LocalStorageSimulatorConfig; import org.zstack.storage.primary.local.LocalStorageKvmBackend.CreateEmptyVolumeCmd; import org.zstack.storage.primary.local.LocalStorageKvmBackend.DeleteBitsCmd; import org.zstack.storage.primary.local.LocalStorageSimulatorConfig.Capacity; diff --git a/test/src/test/java/org/zstack/test/storage/primary/local/TestLocalStorage31.java b/test/src/test/java/org/zstack/test/storage/primary/local/TestLocalStorage31.java index 360e8d03972..e65f608709e 100755 --- a/test/src/test/java/org/zstack/test/storage/primary/local/TestLocalStorage31.java +++ b/test/src/test/java/org/zstack/test/storage/primary/local/TestLocalStorage31.java @@ -25,7 +25,11 @@ import org.zstack.kvm.KVMAgentCommands.MigrateVmCmd; import org.zstack.kvm.KVMHostVO; import org.zstack.simulator.kvm.KVMSimulatorConfig; -import org.zstack.storage.primary.local.*; +import org.zstack.storage.primary.local.LocalStorageHostRefVO; +import org.zstack.storage.primary.local.LocalStorageHostRefVOFinder; +import org.zstack.storage.primary.local.LocalStorageResourceRefVO; +import org.zstack.storage.primary.local.LocalStorageResourceRefVO_; +import org.zstack.storage.primary.local.LocalStorageSimulatorConfig; import org.zstack.storage.primary.local.LocalStorageKvmBackend.CreateEmptyVolumeCmd; import org.zstack.storage.primary.local.LocalStorageKvmBackend.DeleteBitsCmd; import org.zstack.storage.primary.local.LocalStorageKvmMigrateVmFlow.CopyBitsFromRemoteCmd; diff --git a/test/src/test/java/org/zstack/test/storage/primary/local/TestLocalStorage32.java b/test/src/test/java/org/zstack/test/storage/primary/local/TestLocalStorage32.java index 1b0fc585541..2f4e39401c9 100755 --- a/test/src/test/java/org/zstack/test/storage/primary/local/TestLocalStorage32.java +++ b/test/src/test/java/org/zstack/test/storage/primary/local/TestLocalStorage32.java @@ -19,7 +19,12 @@ import org.zstack.header.vm.VmInstanceInventory; import org.zstack.header.volume.VolumeInventory; import org.zstack.header.volume.VolumeType; -import org.zstack.storage.primary.local.*; +import org.zstack.storage.primary.local.LocalStorageHostRefVO; +import org.zstack.storage.primary.local.LocalStorageHostRefVOFinder; +import org.zstack.storage.primary.local.LocalStorageResourceRefInventory; +import org.zstack.storage.primary.local.LocalStorageResourceRefVO; +import org.zstack.storage.primary.local.LocalStorageResourceRefVO_; +import org.zstack.storage.primary.local.LocalStorageSimulatorConfig; import org.zstack.storage.primary.local.LocalStorageKvmBackend.*; import org.zstack.storage.primary.local.LocalStorageKvmSftpBackupStorageMediatorImpl.SftpDownloadBitsCmd; import org.zstack.storage.primary.local.LocalStorageSimulatorConfig.Capacity; diff --git a/test/src/test/java/org/zstack/test/storage/primary/local/TestLocalStorage33.java b/test/src/test/java/org/zstack/test/storage/primary/local/TestLocalStorage33.java index 4863b4ec22e..f1a039034fa 100755 --- a/test/src/test/java/org/zstack/test/storage/primary/local/TestLocalStorage33.java +++ b/test/src/test/java/org/zstack/test/storage/primary/local/TestLocalStorage33.java @@ -18,7 +18,11 @@ import org.zstack.header.vm.VmInstanceInventory; import org.zstack.header.volume.VolumeInventory; import org.zstack.header.volume.VolumeType; -import org.zstack.storage.primary.local.*; +import org.zstack.storage.primary.local.LocalStorageHostRefVO; +import org.zstack.storage.primary.local.LocalStorageHostRefVOFinder; +import org.zstack.storage.primary.local.LocalStorageResourceRefVO; +import org.zstack.storage.primary.local.LocalStorageResourceRefVO_; +import org.zstack.storage.primary.local.LocalStorageSimulatorConfig; import org.zstack.storage.primary.local.LocalStorageKvmBackend.DeleteBitsCmd; import org.zstack.storage.primary.local.LocalStorageSimulatorConfig.Capacity; import org.zstack.test.Api; diff --git a/test/src/test/java/org/zstack/test/storage/primary/local/TestLocalStorage43.java b/test/src/test/java/org/zstack/test/storage/primary/local/TestLocalStorage43.java index 62f102e9377..809ca9c8a01 100755 --- a/test/src/test/java/org/zstack/test/storage/primary/local/TestLocalStorage43.java +++ b/test/src/test/java/org/zstack/test/storage/primary/local/TestLocalStorage43.java @@ -23,7 +23,13 @@ import org.zstack.header.volume.VolumeVO; import org.zstack.kvm.KVMAgentCommands.MigrateVmCmd; import org.zstack.simulator.kvm.KVMSimulatorConfig; -import org.zstack.storage.primary.local.*; +import org.zstack.storage.primary.local.LocalStorageHostRefVO; +import org.zstack.storage.primary.local.LocalStorageHostRefVOFinder; +import org.zstack.storage.primary.local.LocalStorageKvmBackend; +import org.zstack.storage.primary.local.LocalStorageKvmMigrateVmFlow; +import org.zstack.storage.primary.local.LocalStorageResourceRefVO; +import org.zstack.storage.primary.local.LocalStorageResourceRefVO_; +import org.zstack.storage.primary.local.LocalStorageSimulatorConfig; import org.zstack.storage.primary.local.LocalStorageKvmBackend.CreateEmptyVolumeCmd; import org.zstack.storage.primary.local.LocalStorageKvmBackend.DeleteBitsCmd; import org.zstack.storage.primary.local.LocalStorageSimulatorConfig.Capacity; diff --git a/test/src/test/java/org/zstack/test/storage/primary/local/TestLocalStorage47.java b/test/src/test/java/org/zstack/test/storage/primary/local/TestLocalStorage47.java index 19aa21658bd..fbd57a4511e 100755 --- a/test/src/test/java/org/zstack/test/storage/primary/local/TestLocalStorage47.java +++ b/test/src/test/java/org/zstack/test/storage/primary/local/TestLocalStorage47.java @@ -15,7 +15,11 @@ import org.zstack.simulator.kvm.KVMSimulatorConfig; import org.zstack.storage.primary.local.LocalStorageSimulatorConfig; import org.zstack.storage.primary.local.LocalStorageSimulatorConfig.Capacity; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSender; +import org.zstack.test.ApiSenderException; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.deployer.Deployer; import org.zstack.utils.data.SizeUnit; diff --git a/test/src/test/java/org/zstack/test/storage/primary/local/TestLocalStorage5.java b/test/src/test/java/org/zstack/test/storage/primary/local/TestLocalStorage5.java index 9560a9f2098..9c63b3aa787 100755 --- a/test/src/test/java/org/zstack/test/storage/primary/local/TestLocalStorage5.java +++ b/test/src/test/java/org/zstack/test/storage/primary/local/TestLocalStorage5.java @@ -17,7 +17,11 @@ import org.zstack.storage.primary.local.LocalStorageHostRefVOFinder; import org.zstack.storage.primary.local.LocalStorageSimulatorConfig; import org.zstack.storage.primary.local.LocalStorageSimulatorConfig.Capacity; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSender; +import org.zstack.test.ApiSenderException; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.deployer.Deployer; import org.zstack.utils.data.SizeUnit; diff --git a/test/src/test/java/org/zstack/test/storage/primary/local/TestLocalStorage54.java b/test/src/test/java/org/zstack/test/storage/primary/local/TestLocalStorage54.java index 19271e579af..67a9ea5a6c0 100755 --- a/test/src/test/java/org/zstack/test/storage/primary/local/TestLocalStorage54.java +++ b/test/src/test/java/org/zstack/test/storage/primary/local/TestLocalStorage54.java @@ -18,7 +18,11 @@ import org.zstack.storage.primary.local.LocalStorageKvmMigrateVmFlow.CopyBitsFromRemoteCmd; import org.zstack.storage.primary.local.LocalStorageSimulatorConfig; import org.zstack.storage.primary.local.LocalStorageSimulatorConfig.Capacity; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSender; +import org.zstack.test.ApiSenderException; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.deployer.Deployer; import org.zstack.utils.data.SizeUnit; diff --git a/test/src/test/java/org/zstack/test/storage/primary/local/TestLocalStorage56.java b/test/src/test/java/org/zstack/test/storage/primary/local/TestLocalStorage56.java index 8219da3c5e2..5cd5e542da5 100644 --- a/test/src/test/java/org/zstack/test/storage/primary/local/TestLocalStorage56.java +++ b/test/src/test/java/org/zstack/test/storage/primary/local/TestLocalStorage56.java @@ -16,7 +16,7 @@ import org.zstack.header.vm.VmInstanceVO; import org.zstack.header.volume.VolumeConstant; import org.zstack.header.volume.VolumeVO; -import org.zstack.storage.primary.local.*; +import org.zstack.storage.primary.local.LocalStorageSimulatorConfig; import org.zstack.storage.primary.local.LocalStorageSimulatorConfig.Capacity; import org.zstack.test.Api; import org.zstack.test.ApiSenderException; diff --git a/test/src/test/java/org/zstack/test/storage/primary/local/TestLocalStorage6.java b/test/src/test/java/org/zstack/test/storage/primary/local/TestLocalStorage6.java index afda962c7ff..4ed9180d39b 100755 --- a/test/src/test/java/org/zstack/test/storage/primary/local/TestLocalStorage6.java +++ b/test/src/test/java/org/zstack/test/storage/primary/local/TestLocalStorage6.java @@ -20,7 +20,11 @@ import org.zstack.storage.primary.local.LocalStorageHostRefVOFinder; import org.zstack.storage.primary.local.LocalStorageSimulatorConfig; import org.zstack.storage.primary.local.LocalStorageSimulatorConfig.Capacity; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSender; +import org.zstack.test.ApiSenderException; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.deployer.Deployer; import org.zstack.utils.data.SizeUnit; diff --git a/test/src/test/java/org/zstack/test/storage/primary/local/TestLocalStorage7.java b/test/src/test/java/org/zstack/test/storage/primary/local/TestLocalStorage7.java index 142d29fe7bc..c1ff9e643a0 100755 --- a/test/src/test/java/org/zstack/test/storage/primary/local/TestLocalStorage7.java +++ b/test/src/test/java/org/zstack/test/storage/primary/local/TestLocalStorage7.java @@ -16,7 +16,11 @@ import org.zstack.storage.primary.local.LocalStorageHostRefVOFinder; import org.zstack.storage.primary.local.LocalStorageSimulatorConfig; import org.zstack.storage.primary.local.LocalStorageSimulatorConfig.Capacity; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSender; +import org.zstack.test.ApiSenderException; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.deployer.Deployer; import org.zstack.utils.data.SizeUnit; diff --git a/test/src/test/java/org/zstack/test/storage/primary/local/TestLocalStorage8.java b/test/src/test/java/org/zstack/test/storage/primary/local/TestLocalStorage8.java index adea2d98b13..1af19825a3b 100755 --- a/test/src/test/java/org/zstack/test/storage/primary/local/TestLocalStorage8.java +++ b/test/src/test/java/org/zstack/test/storage/primary/local/TestLocalStorage8.java @@ -16,7 +16,11 @@ import org.zstack.storage.primary.local.LocalStorageHostRefVOFinder; import org.zstack.storage.primary.local.LocalStorageSimulatorConfig; import org.zstack.storage.primary.local.LocalStorageSimulatorConfig.Capacity; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSender; +import org.zstack.test.ApiSenderException; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.deployer.Deployer; import org.zstack.utils.data.SizeUnit; diff --git a/test/src/test/java/org/zstack/test/storage/primary/local/TestLocalStorageCreateDataVolume.java b/test/src/test/java/org/zstack/test/storage/primary/local/TestLocalStorageCreateDataVolume.java index 1f6d5f04731..7510351c677 100755 --- a/test/src/test/java/org/zstack/test/storage/primary/local/TestLocalStorageCreateDataVolume.java +++ b/test/src/test/java/org/zstack/test/storage/primary/local/TestLocalStorageCreateDataVolume.java @@ -21,7 +21,11 @@ import org.zstack.storage.primary.local.LocalStorageSimulatorConfig; import org.zstack.storage.primary.local.LocalStorageSimulatorConfig.Capacity; import org.zstack.storage.primary.local.LocalStorageSystemTags; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSender; +import org.zstack.test.ApiSenderException; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.deployer.Deployer; import org.zstack.test.storage.backup.sftp.TestSftpBackupStorageDeleteImage2; import org.zstack.utils.Utils; diff --git a/test/src/test/java/org/zstack/test/storage/primary/nfs/TestImageCacheMissing.java b/test/src/test/java/org/zstack/test/storage/primary/nfs/TestImageCacheMissing.java index 67b2e90c5f6..a59f448cce3 100755 --- a/test/src/test/java/org/zstack/test/storage/primary/nfs/TestImageCacheMissing.java +++ b/test/src/test/java/org/zstack/test/storage/primary/nfs/TestImageCacheMissing.java @@ -14,7 +14,11 @@ import org.zstack.header.storage.primary.ImageCacheVO; import org.zstack.header.storage.primary.ImageCacheVO_; import org.zstack.simulator.storage.primary.nfs.NfsPrimaryStorageSimulatorConfig; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.DBUtil; +import org.zstack.test.VmCreator; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.deployer.Deployer; public class TestImageCacheMissing { diff --git a/test/src/test/java/org/zstack/test/storage/primary/nfs/TestImageCacheMissingFailure.java b/test/src/test/java/org/zstack/test/storage/primary/nfs/TestImageCacheMissingFailure.java index fd744c22960..533a74f582f 100755 --- a/test/src/test/java/org/zstack/test/storage/primary/nfs/TestImageCacheMissingFailure.java +++ b/test/src/test/java/org/zstack/test/storage/primary/nfs/TestImageCacheMissingFailure.java @@ -14,7 +14,11 @@ import org.zstack.header.storage.primary.ImageCacheVO; import org.zstack.header.storage.primary.ImageCacheVO_; import org.zstack.simulator.storage.primary.nfs.NfsPrimaryStorageSimulatorConfig; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.DBUtil; +import org.zstack.test.VmCreator; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.deployer.Deployer; public class TestImageCacheMissingFailure { diff --git a/test/src/test/java/org/zstack/test/storage/snapshot/TestGetSnapshotTree.java b/test/src/test/java/org/zstack/test/storage/snapshot/TestGetSnapshotTree.java index 685cfb7195c..9ff8bf3adaa 100755 --- a/test/src/test/java/org/zstack/test/storage/snapshot/TestGetSnapshotTree.java +++ b/test/src/test/java/org/zstack/test/storage/snapshot/TestGetSnapshotTree.java @@ -10,7 +10,14 @@ import org.zstack.core.db.SimpleQuery.Op; import org.zstack.header.identity.SessionInventory; import org.zstack.header.storage.backup.BackupStorageInventory; -import org.zstack.header.storage.snapshot.*; +import org.zstack.header.storage.snapshot.VolumeSnapshotBackupStorageRefVO; +import org.zstack.header.storage.snapshot.VolumeSnapshotBackupStorageRefVO_; +import org.zstack.header.storage.snapshot.VolumeSnapshotInventory; +import org.zstack.header.storage.snapshot.VolumeSnapshotState; +import org.zstack.header.storage.snapshot.VolumeSnapshotStatus; +import org.zstack.header.storage.snapshot.VolumeSnapshotTreeInventory; +import org.zstack.header.storage.snapshot.VolumeSnapshotTreeVO; +import org.zstack.header.storage.snapshot.VolumeSnapshotVO; import org.zstack.header.storage.snapshot.VolumeSnapshotTree.SnapshotLeafInventory; import org.zstack.header.vm.VmInstanceInventory; import org.zstack.header.volume.VolumeVO; diff --git a/test/src/test/java/org/zstack/test/storage/snapshot/TestPolicyForSnapshot.java b/test/src/test/java/org/zstack/test/storage/snapshot/TestPolicyForSnapshot.java index f8d4938d22a..f83f89b8d25 100755 --- a/test/src/test/java/org/zstack/test/storage/snapshot/TestPolicyForSnapshot.java +++ b/test/src/test/java/org/zstack/test/storage/snapshot/TestPolicyForSnapshot.java @@ -14,7 +14,17 @@ import org.zstack.header.image.ImageConstant; import org.zstack.header.query.QueryCondition; import org.zstack.header.storage.backup.BackupStorageInventory; -import org.zstack.header.storage.snapshot.*; +import org.zstack.header.storage.snapshot.APIBackupVolumeSnapshotMsg; +import org.zstack.header.storage.snapshot.APIDeleteVolumeSnapshotFromBackupStorageMsg; +import org.zstack.header.storage.snapshot.APIDeleteVolumeSnapshotMsg; +import org.zstack.header.storage.snapshot.APIQueryVolumeSnapshotMsg; +import org.zstack.header.storage.snapshot.APIQueryVolumeSnapshotReply; +import org.zstack.header.storage.snapshot.APIQueryVolumeSnapshotTreeMsg; +import org.zstack.header.storage.snapshot.APIQueryVolumeSnapshotTreeReply; +import org.zstack.header.storage.snapshot.APIRevertVolumeFromSnapshotMsg; +import org.zstack.header.storage.snapshot.APIUpdateVolumeSnapshotMsg; +import org.zstack.header.storage.snapshot.VolumeSnapshotConstant; +import org.zstack.header.storage.snapshot.VolumeSnapshotInventory; import org.zstack.header.vm.VmInstanceInventory; import org.zstack.header.volume.APICreateDataVolumeFromVolumeSnapshotMsg; import org.zstack.header.volume.APICreateVolumeSnapshotMsg; diff --git a/test/src/test/java/org/zstack/test/storage/snapshot/TestQuerySnapshot1.java b/test/src/test/java/org/zstack/test/storage/snapshot/TestQuerySnapshot1.java index dd6130bebdc..d1d6cb25aab 100755 --- a/test/src/test/java/org/zstack/test/storage/snapshot/TestQuerySnapshot1.java +++ b/test/src/test/java/org/zstack/test/storage/snapshot/TestQuerySnapshot1.java @@ -11,7 +11,15 @@ import org.zstack.header.identity.SessionInventory; import org.zstack.header.query.QueryOp; import org.zstack.header.storage.backup.BackupStorageInventory; -import org.zstack.header.storage.snapshot.*; +import org.zstack.header.storage.snapshot.APIQueryVolumeSnapshotMsg; +import org.zstack.header.storage.snapshot.APIQueryVolumeSnapshotReply; +import org.zstack.header.storage.snapshot.VolumeSnapshotBackupStorageRefVO; +import org.zstack.header.storage.snapshot.VolumeSnapshotBackupStorageRefVO_; +import org.zstack.header.storage.snapshot.VolumeSnapshotInventory; +import org.zstack.header.storage.snapshot.VolumeSnapshotState; +import org.zstack.header.storage.snapshot.VolumeSnapshotStatus; +import org.zstack.header.storage.snapshot.VolumeSnapshotTreeVO; +import org.zstack.header.storage.snapshot.VolumeSnapshotVO; import org.zstack.header.vm.VmInstanceInventory; import org.zstack.header.volume.VolumeVO; import org.zstack.simulator.storage.primary.nfs.NfsPrimaryStorageSimulatorConfig; diff --git a/test/src/test/java/org/zstack/test/storage/snapshot/TestReInitVMOnKvmWithCephAsPS.java b/test/src/test/java/org/zstack/test/storage/snapshot/TestReInitVMOnKvmWithCephAsPS.java index 06ec5342317..8d4f60be470 100644 --- a/test/src/test/java/org/zstack/test/storage/snapshot/TestReInitVMOnKvmWithCephAsPS.java +++ b/test/src/test/java/org/zstack/test/storage/snapshot/TestReInitVMOnKvmWithCephAsPS.java @@ -12,7 +12,11 @@ import org.zstack.header.vm.APIReimageVmInstanceEvent; import org.zstack.header.vm.APIReimageVmInstanceMsg; import org.zstack.header.vm.VmInstanceInventory; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSender; +import org.zstack.test.ApiSenderException; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.deployer.Deployer; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; diff --git a/test/src/test/java/org/zstack/test/storage/snapshot/TestReInitVMOnKvmWithFileBasedPS.java b/test/src/test/java/org/zstack/test/storage/snapshot/TestReInitVMOnKvmWithFileBasedPS.java index 210760c5315..82cd28fa472 100644 --- a/test/src/test/java/org/zstack/test/storage/snapshot/TestReInitVMOnKvmWithFileBasedPS.java +++ b/test/src/test/java/org/zstack/test/storage/snapshot/TestReInitVMOnKvmWithFileBasedPS.java @@ -12,7 +12,11 @@ import org.zstack.header.vm.APIReimageVmInstanceEvent; import org.zstack.header.vm.APIReimageVmInstanceMsg; import org.zstack.header.vm.VmInstanceInventory; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSender; +import org.zstack.test.ApiSenderException; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.deployer.Deployer; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; diff --git a/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm.java b/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm.java index 0faa97f45b9..4cafbe971d3 100755 --- a/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm.java +++ b/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm.java @@ -7,7 +7,11 @@ import org.zstack.core.componentloader.ComponentLoader; import org.zstack.core.db.DatabaseFacade; import org.zstack.header.identity.SessionInventory; -import org.zstack.header.storage.snapshot.*; +import org.zstack.header.storage.snapshot.VolumeSnapshotInventory; +import org.zstack.header.storage.snapshot.VolumeSnapshotState; +import org.zstack.header.storage.snapshot.VolumeSnapshotStatus; +import org.zstack.header.storage.snapshot.VolumeSnapshotTreeVO; +import org.zstack.header.storage.snapshot.VolumeSnapshotVO; import org.zstack.header.vm.VmInstanceInventory; import org.zstack.header.volume.VolumeVO; import org.zstack.simulator.kvm.VolumeSnapshotKvmSimulator; diff --git a/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm1.java b/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm1.java index 1b3778e9797..bc78855b3d6 100755 --- a/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm1.java +++ b/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm1.java @@ -8,7 +8,12 @@ import org.zstack.core.db.DatabaseFacade; import org.zstack.core.db.SimpleQuery; import org.zstack.header.identity.SessionInventory; -import org.zstack.header.storage.snapshot.*; +import org.zstack.header.storage.snapshot.VolumeSnapshotInventory; +import org.zstack.header.storage.snapshot.VolumeSnapshotState; +import org.zstack.header.storage.snapshot.VolumeSnapshotStatus; +import org.zstack.header.storage.snapshot.VolumeSnapshotTreeVO; +import org.zstack.header.storage.snapshot.VolumeSnapshotVO; +import org.zstack.header.storage.snapshot.VolumeSnapshotVO_; import org.zstack.header.vm.VmInstanceInventory; import org.zstack.header.volume.VolumeVO; import org.zstack.simulator.kvm.VolumeSnapshotKvmSimulator; diff --git a/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm10.java b/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm10.java index ec728e91643..ff04757ef42 100755 --- a/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm10.java +++ b/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm10.java @@ -7,7 +7,11 @@ import org.zstack.core.componentloader.ComponentLoader; import org.zstack.core.db.DatabaseFacade; import org.zstack.header.identity.SessionInventory; -import org.zstack.header.storage.snapshot.*; +import org.zstack.header.storage.snapshot.VolumeSnapshotInventory; +import org.zstack.header.storage.snapshot.VolumeSnapshotState; +import org.zstack.header.storage.snapshot.VolumeSnapshotStatus; +import org.zstack.header.storage.snapshot.VolumeSnapshotTreeVO; +import org.zstack.header.storage.snapshot.VolumeSnapshotVO; import org.zstack.header.vm.VmInstanceInventory; import org.zstack.header.volume.VolumeVO; import org.zstack.simulator.kvm.KVMSimulatorConfig; diff --git a/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm11.java b/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm11.java index 7c6888fec96..8f62ffc457f 100755 --- a/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm11.java +++ b/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm11.java @@ -9,7 +9,13 @@ import org.zstack.core.db.SimpleQuery; import org.zstack.header.identity.SessionInventory; import org.zstack.header.storage.backup.BackupStorageInventory; -import org.zstack.header.storage.snapshot.*; +import org.zstack.header.storage.snapshot.VolumeSnapshotBackupStorageRefVO; +import org.zstack.header.storage.snapshot.VolumeSnapshotBackupStorageRefVO_; +import org.zstack.header.storage.snapshot.VolumeSnapshotInventory; +import org.zstack.header.storage.snapshot.VolumeSnapshotState; +import org.zstack.header.storage.snapshot.VolumeSnapshotStatus; +import org.zstack.header.storage.snapshot.VolumeSnapshotTreeVO; +import org.zstack.header.storage.snapshot.VolumeSnapshotVO; import org.zstack.header.vm.VmInstanceInventory; import org.zstack.header.volume.VolumeVO; import org.zstack.simulator.kvm.VolumeSnapshotKvmSimulator; diff --git a/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm12.java b/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm12.java index 31ac6597350..2488cb4c5a3 100755 --- a/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm12.java +++ b/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm12.java @@ -9,7 +9,14 @@ import org.zstack.core.db.SimpleQuery; import org.zstack.header.identity.SessionInventory; import org.zstack.header.storage.backup.BackupStorageInventory; -import org.zstack.header.storage.snapshot.*; +import org.zstack.header.storage.snapshot.VolumeSnapshotBackupStorageRefInventory; +import org.zstack.header.storage.snapshot.VolumeSnapshotBackupStorageRefVO; +import org.zstack.header.storage.snapshot.VolumeSnapshotBackupStorageRefVO_; +import org.zstack.header.storage.snapshot.VolumeSnapshotInventory; +import org.zstack.header.storage.snapshot.VolumeSnapshotState; +import org.zstack.header.storage.snapshot.VolumeSnapshotStatus; +import org.zstack.header.storage.snapshot.VolumeSnapshotTreeVO; +import org.zstack.header.storage.snapshot.VolumeSnapshotVO; import org.zstack.header.vm.VmInstanceInventory; import org.zstack.header.volume.VolumeVO; import org.zstack.simulator.kvm.VolumeSnapshotKvmSimulator; diff --git a/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm13.java b/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm13.java index 7cabe3a6a3a..e131ffd382d 100755 --- a/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm13.java +++ b/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm13.java @@ -9,7 +9,14 @@ import org.zstack.core.db.SimpleQuery; import org.zstack.header.identity.SessionInventory; import org.zstack.header.storage.backup.BackupStorageInventory; -import org.zstack.header.storage.snapshot.*; +import org.zstack.header.storage.snapshot.VolumeSnapshotBackupStorageRefInventory; +import org.zstack.header.storage.snapshot.VolumeSnapshotBackupStorageRefVO; +import org.zstack.header.storage.snapshot.VolumeSnapshotBackupStorageRefVO_; +import org.zstack.header.storage.snapshot.VolumeSnapshotInventory; +import org.zstack.header.storage.snapshot.VolumeSnapshotState; +import org.zstack.header.storage.snapshot.VolumeSnapshotStatus; +import org.zstack.header.storage.snapshot.VolumeSnapshotTreeVO; +import org.zstack.header.storage.snapshot.VolumeSnapshotVO; import org.zstack.header.vm.VmInstanceInventory; import org.zstack.header.volume.VolumeVO; import org.zstack.simulator.kvm.VolumeSnapshotKvmSimulator; diff --git a/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm14.java b/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm14.java index b9acab97523..c9f09e90b1f 100755 --- a/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm14.java +++ b/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm14.java @@ -11,7 +11,14 @@ import org.zstack.header.identity.SessionInventory; import org.zstack.header.storage.backup.BackupStorageInventory; import org.zstack.header.storage.backup.BackupStorageVO; -import org.zstack.header.storage.snapshot.*; +import org.zstack.header.storage.snapshot.VolumeSnapshotBackupStorageRefInventory; +import org.zstack.header.storage.snapshot.VolumeSnapshotBackupStorageRefVO; +import org.zstack.header.storage.snapshot.VolumeSnapshotBackupStorageRefVO_; +import org.zstack.header.storage.snapshot.VolumeSnapshotInventory; +import org.zstack.header.storage.snapshot.VolumeSnapshotState; +import org.zstack.header.storage.snapshot.VolumeSnapshotStatus; +import org.zstack.header.storage.snapshot.VolumeSnapshotTreeVO; +import org.zstack.header.storage.snapshot.VolumeSnapshotVO; import org.zstack.header.vm.VmInstanceInventory; import org.zstack.header.volume.VolumeVO; import org.zstack.simulator.storage.primary.nfs.NfsPrimaryStorageSimulatorConfig; diff --git a/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm15.java b/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm15.java index 8ebba87bca3..428bf2866ee 100755 --- a/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm15.java +++ b/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm15.java @@ -9,7 +9,14 @@ import org.zstack.core.db.SimpleQuery; import org.zstack.header.identity.SessionInventory; import org.zstack.header.storage.backup.BackupStorageInventory; -import org.zstack.header.storage.snapshot.*; +import org.zstack.header.storage.snapshot.VolumeSnapshotBackupStorageRefInventory; +import org.zstack.header.storage.snapshot.VolumeSnapshotBackupStorageRefVO; +import org.zstack.header.storage.snapshot.VolumeSnapshotBackupStorageRefVO_; +import org.zstack.header.storage.snapshot.VolumeSnapshotInventory; +import org.zstack.header.storage.snapshot.VolumeSnapshotState; +import org.zstack.header.storage.snapshot.VolumeSnapshotStatus; +import org.zstack.header.storage.snapshot.VolumeSnapshotTreeVO; +import org.zstack.header.storage.snapshot.VolumeSnapshotVO; import org.zstack.header.vm.VmInstanceInventory; import org.zstack.header.volume.VolumeVO; import org.zstack.simulator.storage.primary.nfs.NfsPrimaryStorageSimulatorConfig; diff --git a/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm16.java b/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm16.java index fab9b7eae67..edaf6a2d228 100755 --- a/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm16.java +++ b/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm16.java @@ -8,7 +8,13 @@ import org.zstack.core.db.DatabaseFacade; import org.zstack.core.db.SimpleQuery; import org.zstack.header.identity.SessionInventory; -import org.zstack.header.storage.snapshot.*; +import org.zstack.header.storage.snapshot.VolumeSnapshotBackupStorageRefVO; +import org.zstack.header.storage.snapshot.VolumeSnapshotBackupStorageRefVO_; +import org.zstack.header.storage.snapshot.VolumeSnapshotInventory; +import org.zstack.header.storage.snapshot.VolumeSnapshotState; +import org.zstack.header.storage.snapshot.VolumeSnapshotStatus; +import org.zstack.header.storage.snapshot.VolumeSnapshotTreeVO; +import org.zstack.header.storage.snapshot.VolumeSnapshotVO; import org.zstack.header.vm.VmInstanceInventory; import org.zstack.header.volume.VolumeVO; import org.zstack.simulator.storage.backup.sftp.SftpBackupStorageSimulatorConfig; diff --git a/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm17.java b/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm17.java index 302f4cf97ae..fef25b3c8c8 100755 --- a/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm17.java +++ b/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm17.java @@ -8,7 +8,13 @@ import org.zstack.core.db.DatabaseFacade; import org.zstack.core.db.SimpleQuery; import org.zstack.header.identity.SessionInventory; -import org.zstack.header.storage.snapshot.*; +import org.zstack.header.storage.snapshot.VolumeSnapshotBackupStorageRefVO; +import org.zstack.header.storage.snapshot.VolumeSnapshotBackupStorageRefVO_; +import org.zstack.header.storage.snapshot.VolumeSnapshotInventory; +import org.zstack.header.storage.snapshot.VolumeSnapshotState; +import org.zstack.header.storage.snapshot.VolumeSnapshotStatus; +import org.zstack.header.storage.snapshot.VolumeSnapshotTreeVO; +import org.zstack.header.storage.snapshot.VolumeSnapshotVO; import org.zstack.header.vm.VmInstanceInventory; import org.zstack.header.volume.VolumeVO; import org.zstack.simulator.storage.backup.sftp.SftpBackupStorageSimulatorConfig; diff --git a/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm18.java b/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm18.java index 5c289b3c511..51327734ee8 100755 --- a/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm18.java +++ b/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm18.java @@ -9,7 +9,14 @@ import org.zstack.core.db.SimpleQuery; import org.zstack.header.identity.SessionInventory; import org.zstack.header.storage.backup.BackupStorageInventory; -import org.zstack.header.storage.snapshot.*; +import org.zstack.header.storage.snapshot.VolumeSnapshotBackupStorageRefInventory; +import org.zstack.header.storage.snapshot.VolumeSnapshotBackupStorageRefVO; +import org.zstack.header.storage.snapshot.VolumeSnapshotBackupStorageRefVO_; +import org.zstack.header.storage.snapshot.VolumeSnapshotInventory; +import org.zstack.header.storage.snapshot.VolumeSnapshotState; +import org.zstack.header.storage.snapshot.VolumeSnapshotStatus; +import org.zstack.header.storage.snapshot.VolumeSnapshotTreeVO; +import org.zstack.header.storage.snapshot.VolumeSnapshotVO; import org.zstack.header.vm.VmInstanceInventory; import org.zstack.header.volume.VolumeVO; import org.zstack.simulator.storage.backup.sftp.SftpBackupStorageSimulatorConfig; diff --git a/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm19.java b/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm19.java index 0d02bd48308..2b16953d9e8 100755 --- a/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm19.java +++ b/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm19.java @@ -9,7 +9,14 @@ import org.zstack.core.db.SimpleQuery; import org.zstack.header.identity.SessionInventory; import org.zstack.header.storage.backup.BackupStorageInventory; -import org.zstack.header.storage.snapshot.*; +import org.zstack.header.storage.snapshot.VolumeSnapshotBackupStorageRefInventory; +import org.zstack.header.storage.snapshot.VolumeSnapshotBackupStorageRefVO; +import org.zstack.header.storage.snapshot.VolumeSnapshotBackupStorageRefVO_; +import org.zstack.header.storage.snapshot.VolumeSnapshotInventory; +import org.zstack.header.storage.snapshot.VolumeSnapshotState; +import org.zstack.header.storage.snapshot.VolumeSnapshotStatus; +import org.zstack.header.storage.snapshot.VolumeSnapshotTreeVO; +import org.zstack.header.storage.snapshot.VolumeSnapshotVO; import org.zstack.header.vm.VmInstanceInventory; import org.zstack.header.volume.VolumeVO; import org.zstack.simulator.kvm.VolumeSnapshotKvmSimulator; diff --git a/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm2.java b/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm2.java index e095e3c7548..afdcef9a38d 100755 --- a/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm2.java +++ b/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm2.java @@ -8,7 +8,12 @@ import org.zstack.core.db.DatabaseFacade; import org.zstack.core.db.SimpleQuery; import org.zstack.header.identity.SessionInventory; -import org.zstack.header.storage.snapshot.*; +import org.zstack.header.storage.snapshot.VolumeSnapshotInventory; +import org.zstack.header.storage.snapshot.VolumeSnapshotState; +import org.zstack.header.storage.snapshot.VolumeSnapshotStatus; +import org.zstack.header.storage.snapshot.VolumeSnapshotTreeVO; +import org.zstack.header.storage.snapshot.VolumeSnapshotVO; +import org.zstack.header.storage.snapshot.VolumeSnapshotVO_; import org.zstack.header.vm.VmInstanceInventory; import org.zstack.header.volume.VolumeVO; import org.zstack.simulator.kvm.VolumeSnapshotKvmSimulator; diff --git a/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm20.java b/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm20.java index a1f30a71507..7061ea67e77 100755 --- a/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm20.java +++ b/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm20.java @@ -10,7 +10,11 @@ import org.zstack.header.image.ImageConstant.ImageMediaType; import org.zstack.header.image.ImageInventory; import org.zstack.header.storage.backup.BackupStorageInventory; -import org.zstack.header.storage.snapshot.*; +import org.zstack.header.storage.snapshot.VolumeSnapshotInventory; +import org.zstack.header.storage.snapshot.VolumeSnapshotState; +import org.zstack.header.storage.snapshot.VolumeSnapshotStatus; +import org.zstack.header.storage.snapshot.VolumeSnapshotTreeVO; +import org.zstack.header.storage.snapshot.VolumeSnapshotVO; import org.zstack.header.vm.VmInstanceInventory; import org.zstack.header.volume.VolumeVO; import org.zstack.simulator.kvm.VolumeSnapshotKvmSimulator; diff --git a/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm21.java b/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm21.java index 1229b90f7b7..b529509b821 100755 --- a/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm21.java +++ b/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm21.java @@ -10,7 +10,11 @@ import org.zstack.header.image.ImageConstant.ImageMediaType; import org.zstack.header.image.ImageInventory; import org.zstack.header.storage.backup.BackupStorageInventory; -import org.zstack.header.storage.snapshot.*; +import org.zstack.header.storage.snapshot.VolumeSnapshotInventory; +import org.zstack.header.storage.snapshot.VolumeSnapshotState; +import org.zstack.header.storage.snapshot.VolumeSnapshotStatus; +import org.zstack.header.storage.snapshot.VolumeSnapshotTreeVO; +import org.zstack.header.storage.snapshot.VolumeSnapshotVO; import org.zstack.header.vm.VmInstanceInventory; import org.zstack.header.volume.VolumeVO; import org.zstack.simulator.storage.primary.nfs.NfsPrimaryStorageSimulatorConfig; diff --git a/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm22.java b/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm22.java index 50019253f14..9c3b0130af8 100755 --- a/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm22.java +++ b/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm22.java @@ -9,7 +9,11 @@ import org.zstack.header.identity.SessionInventory; import org.zstack.header.storage.backup.BackupStorageInventory; import org.zstack.header.storage.backup.BackupStorageVO; -import org.zstack.header.storage.snapshot.*; +import org.zstack.header.storage.snapshot.VolumeSnapshotInventory; +import org.zstack.header.storage.snapshot.VolumeSnapshotState; +import org.zstack.header.storage.snapshot.VolumeSnapshotStatus; +import org.zstack.header.storage.snapshot.VolumeSnapshotTreeVO; +import org.zstack.header.storage.snapshot.VolumeSnapshotVO; import org.zstack.header.vm.VmInstanceInventory; import org.zstack.header.volume.VolumeVO; import org.zstack.simulator.storage.primary.nfs.NfsPrimaryStorageSimulatorConfig; diff --git a/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm23.java b/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm23.java index 6aeef1f9559..099b2c351db 100755 --- a/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm23.java +++ b/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm23.java @@ -9,7 +9,11 @@ import org.zstack.header.identity.SessionInventory; import org.zstack.header.storage.backup.BackupStorageInventory; import org.zstack.header.storage.backup.BackupStorageVO; -import org.zstack.header.storage.snapshot.*; +import org.zstack.header.storage.snapshot.VolumeSnapshotInventory; +import org.zstack.header.storage.snapshot.VolumeSnapshotState; +import org.zstack.header.storage.snapshot.VolumeSnapshotStatus; +import org.zstack.header.storage.snapshot.VolumeSnapshotTreeVO; +import org.zstack.header.storage.snapshot.VolumeSnapshotVO; import org.zstack.header.vm.VmInstanceInventory; import org.zstack.header.volume.VolumeVO; import org.zstack.simulator.storage.primary.nfs.NfsPrimaryStorageSimulatorConfig; diff --git a/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm24.java b/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm24.java index 42402bc7167..9485603b5e9 100755 --- a/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm24.java +++ b/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm24.java @@ -10,7 +10,14 @@ import org.zstack.core.db.SimpleQuery; import org.zstack.header.identity.SessionInventory; import org.zstack.header.storage.backup.BackupStorageInventory; -import org.zstack.header.storage.snapshot.*; +import org.zstack.header.storage.snapshot.VolumeSnapshotBackupStorageRefInventory; +import org.zstack.header.storage.snapshot.VolumeSnapshotBackupStorageRefVO; +import org.zstack.header.storage.snapshot.VolumeSnapshotBackupStorageRefVO_; +import org.zstack.header.storage.snapshot.VolumeSnapshotInventory; +import org.zstack.header.storage.snapshot.VolumeSnapshotState; +import org.zstack.header.storage.snapshot.VolumeSnapshotStatus; +import org.zstack.header.storage.snapshot.VolumeSnapshotTreeVO; +import org.zstack.header.storage.snapshot.VolumeSnapshotVO; import org.zstack.header.vm.VmInstanceDeletionPolicyManager.VmInstanceDeletionPolicy; import org.zstack.header.vm.VmInstanceInventory; import org.zstack.header.volume.VolumeVO; diff --git a/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm25.java b/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm25.java index ceadcc86e54..febe6fad93f 100755 --- a/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm25.java +++ b/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm25.java @@ -13,7 +13,12 @@ import org.zstack.header.image.ImageConstant.ImageMediaType; import org.zstack.header.image.ImageInventory; import org.zstack.header.storage.backup.BackupStorageInventory; -import org.zstack.header.storage.snapshot.*; +import org.zstack.header.storage.snapshot.VolumeSnapshotInventory; +import org.zstack.header.storage.snapshot.VolumeSnapshotState; +import org.zstack.header.storage.snapshot.VolumeSnapshotStatus; +import org.zstack.header.storage.snapshot.VolumeSnapshotTreeVO; +import org.zstack.header.storage.snapshot.VolumeSnapshotVO; +import org.zstack.header.storage.snapshot.VolumeSnapshotVO_; import org.zstack.header.vm.VmInstanceInventory; import org.zstack.header.volume.VolumeVO; import org.zstack.simulator.storage.primary.nfs.NfsPrimaryStorageSimulatorConfig; diff --git a/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm26.java b/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm26.java index 2c068858aa0..82bb4348790 100755 --- a/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm26.java +++ b/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm26.java @@ -9,7 +9,13 @@ import org.zstack.core.db.SimpleQuery; import org.zstack.header.identity.SessionInventory; import org.zstack.header.storage.backup.BackupStorageInventory; -import org.zstack.header.storage.snapshot.*; +import org.zstack.header.storage.snapshot.VolumeSnapshotBackupStorageRefVO; +import org.zstack.header.storage.snapshot.VolumeSnapshotBackupStorageRefVO_; +import org.zstack.header.storage.snapshot.VolumeSnapshotInventory; +import org.zstack.header.storage.snapshot.VolumeSnapshotState; +import org.zstack.header.storage.snapshot.VolumeSnapshotStatus; +import org.zstack.header.storage.snapshot.VolumeSnapshotTreeVO; +import org.zstack.header.storage.snapshot.VolumeSnapshotVO; import org.zstack.header.vm.VmInstanceInventory; import org.zstack.header.volume.VolumeVO; import org.zstack.simulator.storage.primary.nfs.NfsPrimaryStorageSimulatorConfig; diff --git a/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm27.java b/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm27.java index 524ecd91e7d..fbf9b33a75f 100755 --- a/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm27.java +++ b/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm27.java @@ -9,7 +9,13 @@ import org.zstack.core.db.SimpleQuery; import org.zstack.header.identity.SessionInventory; import org.zstack.header.storage.backup.BackupStorageInventory; -import org.zstack.header.storage.snapshot.*; +import org.zstack.header.storage.snapshot.VolumeSnapshotBackupStorageRefVO; +import org.zstack.header.storage.snapshot.VolumeSnapshotBackupStorageRefVO_; +import org.zstack.header.storage.snapshot.VolumeSnapshotInventory; +import org.zstack.header.storage.snapshot.VolumeSnapshotState; +import org.zstack.header.storage.snapshot.VolumeSnapshotStatus; +import org.zstack.header.storage.snapshot.VolumeSnapshotTreeVO; +import org.zstack.header.storage.snapshot.VolumeSnapshotVO; import org.zstack.header.vm.VmInstanceInventory; import org.zstack.header.volume.VolumeVO; import org.zstack.simulator.storage.primary.nfs.NfsPrimaryStorageSimulatorConfig; diff --git a/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm28.java b/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm28.java index 648232b1458..8f30edbc7b7 100755 --- a/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm28.java +++ b/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm28.java @@ -9,7 +9,12 @@ import org.zstack.core.db.SimpleQuery; import org.zstack.core.db.SimpleQuery.Op; import org.zstack.header.identity.SessionInventory; -import org.zstack.header.storage.snapshot.*; +import org.zstack.header.storage.snapshot.VolumeSnapshotInventory; +import org.zstack.header.storage.snapshot.VolumeSnapshotState; +import org.zstack.header.storage.snapshot.VolumeSnapshotStatus; +import org.zstack.header.storage.snapshot.VolumeSnapshotTreeVO; +import org.zstack.header.storage.snapshot.VolumeSnapshotVO; +import org.zstack.header.storage.snapshot.VolumeSnapshotVO_; import org.zstack.header.vm.VmInstanceInventory; import org.zstack.header.volume.VolumeInventory; import org.zstack.header.volume.VolumeType; diff --git a/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm29.java b/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm29.java index 8bf435b1001..dc9b49de469 100755 --- a/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm29.java +++ b/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm29.java @@ -10,7 +10,12 @@ import org.zstack.core.db.SimpleQuery; import org.zstack.core.db.SimpleQuery.Op; import org.zstack.header.identity.SessionInventory; -import org.zstack.header.storage.snapshot.*; +import org.zstack.header.storage.snapshot.VolumeSnapshotInventory; +import org.zstack.header.storage.snapshot.VolumeSnapshotState; +import org.zstack.header.storage.snapshot.VolumeSnapshotStatus; +import org.zstack.header.storage.snapshot.VolumeSnapshotTreeVO; +import org.zstack.header.storage.snapshot.VolumeSnapshotVO; +import org.zstack.header.storage.snapshot.VolumeSnapshotVO_; import org.zstack.header.vm.VmInstanceDeletionPolicyManager.VmInstanceDeletionPolicy; import org.zstack.header.vm.VmInstanceInventory; import org.zstack.header.volume.VolumeDeletionPolicyManager.VolumeDeletionPolicy; diff --git a/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm3.java b/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm3.java index c60f8a5f4f2..5388f8cfd8d 100755 --- a/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm3.java +++ b/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm3.java @@ -7,7 +7,11 @@ import org.zstack.core.componentloader.ComponentLoader; import org.zstack.core.db.DatabaseFacade; import org.zstack.header.identity.SessionInventory; -import org.zstack.header.storage.snapshot.*; +import org.zstack.header.storage.snapshot.VolumeSnapshotInventory; +import org.zstack.header.storage.snapshot.VolumeSnapshotState; +import org.zstack.header.storage.snapshot.VolumeSnapshotStatus; +import org.zstack.header.storage.snapshot.VolumeSnapshotTreeVO; +import org.zstack.header.storage.snapshot.VolumeSnapshotVO; import org.zstack.header.vm.VmInstanceInventory; import org.zstack.header.volume.VolumeVO; import org.zstack.simulator.kvm.VolumeSnapshotKvmSimulator; diff --git a/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm30.java b/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm30.java index 2cd518b0ca6..357a724eeed 100755 --- a/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm30.java +++ b/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm30.java @@ -10,7 +10,13 @@ import org.zstack.core.db.SimpleQuery; import org.zstack.core.db.SimpleQuery.Op; import org.zstack.header.identity.SessionInventory; -import org.zstack.header.storage.snapshot.*; +import org.zstack.header.storage.snapshot.VolumeSnapshotBackupStorageRefVO; +import org.zstack.header.storage.snapshot.VolumeSnapshotInventory; +import org.zstack.header.storage.snapshot.VolumeSnapshotState; +import org.zstack.header.storage.snapshot.VolumeSnapshotStatus; +import org.zstack.header.storage.snapshot.VolumeSnapshotTreeVO; +import org.zstack.header.storage.snapshot.VolumeSnapshotVO; +import org.zstack.header.storage.snapshot.VolumeSnapshotVO_; import org.zstack.header.vm.VmInstanceDeletionPolicyManager.VmInstanceDeletionPolicy; import org.zstack.header.vm.VmInstanceInventory; import org.zstack.header.volume.VolumeDeletionPolicyManager.VolumeDeletionPolicy; diff --git a/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm31.java b/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm31.java index 763f1167ccb..0da8798ac42 100755 --- a/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm31.java +++ b/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm31.java @@ -9,7 +9,12 @@ import org.zstack.core.db.SimpleQuery; import org.zstack.core.db.SimpleQuery.Op; import org.zstack.header.identity.SessionInventory; -import org.zstack.header.storage.snapshot.*; +import org.zstack.header.storage.snapshot.VolumeSnapshotInventory; +import org.zstack.header.storage.snapshot.VolumeSnapshotState; +import org.zstack.header.storage.snapshot.VolumeSnapshotStatus; +import org.zstack.header.storage.snapshot.VolumeSnapshotTreeVO; +import org.zstack.header.storage.snapshot.VolumeSnapshotVO; +import org.zstack.header.storage.snapshot.VolumeSnapshotVO_; import org.zstack.header.vm.VmInstanceInventory; import org.zstack.header.volume.VolumeInventory; import org.zstack.header.volume.VolumeStatus; diff --git a/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm32.java b/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm32.java index 3bf562318dc..060a0d60c0d 100755 --- a/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm32.java +++ b/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm32.java @@ -9,7 +9,12 @@ import org.zstack.core.db.SimpleQuery; import org.zstack.core.db.SimpleQuery.Op; import org.zstack.header.identity.SessionInventory; -import org.zstack.header.storage.snapshot.*; +import org.zstack.header.storage.snapshot.VolumeSnapshotInventory; +import org.zstack.header.storage.snapshot.VolumeSnapshotState; +import org.zstack.header.storage.snapshot.VolumeSnapshotStatus; +import org.zstack.header.storage.snapshot.VolumeSnapshotTreeVO; +import org.zstack.header.storage.snapshot.VolumeSnapshotVO; +import org.zstack.header.storage.snapshot.VolumeSnapshotVO_; import org.zstack.header.vm.VmInstanceInventory; import org.zstack.header.volume.VolumeInventory; import org.zstack.header.volume.VolumeType; diff --git a/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm33.java b/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm33.java index e28aacb21f2..9951b3c7c80 100755 --- a/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm33.java +++ b/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm33.java @@ -10,7 +10,12 @@ import org.zstack.core.db.SimpleQuery.Op; import org.zstack.header.identity.SessionInventory; import org.zstack.header.storage.backup.BackupStorageInventory; -import org.zstack.header.storage.snapshot.*; +import org.zstack.header.storage.snapshot.VolumeSnapshotInventory; +import org.zstack.header.storage.snapshot.VolumeSnapshotState; +import org.zstack.header.storage.snapshot.VolumeSnapshotStatus; +import org.zstack.header.storage.snapshot.VolumeSnapshotTreeVO; +import org.zstack.header.storage.snapshot.VolumeSnapshotVO; +import org.zstack.header.storage.snapshot.VolumeSnapshotVO_; import org.zstack.header.vm.VmInstanceInventory; import org.zstack.header.volume.VolumeInventory; import org.zstack.header.volume.VolumeStatus; diff --git a/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm34.java b/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm34.java index e6ddf5e743e..98bad193ed8 100755 --- a/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm34.java +++ b/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm34.java @@ -10,7 +10,12 @@ import org.zstack.core.db.SimpleQuery.Op; import org.zstack.header.identity.SessionInventory; import org.zstack.header.storage.primary.PrimaryStorageInventory; -import org.zstack.header.storage.snapshot.*; +import org.zstack.header.storage.snapshot.VolumeSnapshotInventory; +import org.zstack.header.storage.snapshot.VolumeSnapshotState; +import org.zstack.header.storage.snapshot.VolumeSnapshotStatus; +import org.zstack.header.storage.snapshot.VolumeSnapshotTreeVO; +import org.zstack.header.storage.snapshot.VolumeSnapshotVO; +import org.zstack.header.storage.snapshot.VolumeSnapshotVO_; import org.zstack.header.vm.VmInstanceInventory; import org.zstack.header.volume.VolumeInventory; import org.zstack.header.volume.VolumeStatus; diff --git a/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm35.java b/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm35.java index 653d07312ea..f71d7d037de 100755 --- a/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm35.java +++ b/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm35.java @@ -9,7 +9,12 @@ import org.zstack.core.db.SimpleQuery; import org.zstack.core.db.SimpleQuery.Op; import org.zstack.header.identity.SessionInventory; -import org.zstack.header.storage.snapshot.*; +import org.zstack.header.storage.snapshot.VolumeSnapshotInventory; +import org.zstack.header.storage.snapshot.VolumeSnapshotState; +import org.zstack.header.storage.snapshot.VolumeSnapshotStatus; +import org.zstack.header.storage.snapshot.VolumeSnapshotTreeVO; +import org.zstack.header.storage.snapshot.VolumeSnapshotVO; +import org.zstack.header.storage.snapshot.VolumeSnapshotVO_; import org.zstack.header.vm.VmInstanceInventory; import org.zstack.header.volume.VolumeInventory; import org.zstack.header.volume.VolumeType; diff --git a/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm36.java b/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm36.java index eb3216b292e..edaf3134e26 100755 --- a/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm36.java +++ b/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm36.java @@ -7,7 +7,11 @@ import org.zstack.core.componentloader.ComponentLoader; import org.zstack.core.db.DatabaseFacade; import org.zstack.header.identity.SessionInventory; -import org.zstack.header.storage.snapshot.*; +import org.zstack.header.storage.snapshot.VolumeSnapshotInventory; +import org.zstack.header.storage.snapshot.VolumeSnapshotState; +import org.zstack.header.storage.snapshot.VolumeSnapshotStatus; +import org.zstack.header.storage.snapshot.VolumeSnapshotTreeVO; +import org.zstack.header.storage.snapshot.VolumeSnapshotVO; import org.zstack.header.vm.VmInstanceInventory; import org.zstack.header.volume.VolumeInventory; import org.zstack.header.volume.VolumeType; diff --git a/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm37.java b/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm37.java index c2cf7e9e12b..581cac0d7ce 100755 --- a/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm37.java +++ b/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm37.java @@ -7,7 +7,11 @@ import org.zstack.core.componentloader.ComponentLoader; import org.zstack.core.db.DatabaseFacade; import org.zstack.header.identity.SessionInventory; -import org.zstack.header.storage.snapshot.*; +import org.zstack.header.storage.snapshot.VolumeSnapshotInventory; +import org.zstack.header.storage.snapshot.VolumeSnapshotState; +import org.zstack.header.storage.snapshot.VolumeSnapshotStatus; +import org.zstack.header.storage.snapshot.VolumeSnapshotTreeVO; +import org.zstack.header.storage.snapshot.VolumeSnapshotVO; import org.zstack.header.vm.VmInstanceInventory; import org.zstack.header.volume.VolumeInventory; import org.zstack.header.volume.VolumeType; diff --git a/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm38.java b/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm38.java index 6dc69612654..f10ea0b3c2a 100755 --- a/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm38.java +++ b/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm38.java @@ -10,7 +10,12 @@ import org.zstack.core.db.SimpleQuery; import org.zstack.core.db.SimpleQuery.Op; import org.zstack.header.identity.SessionInventory; -import org.zstack.header.storage.snapshot.*; +import org.zstack.header.storage.snapshot.VolumeSnapshotInventory; +import org.zstack.header.storage.snapshot.VolumeSnapshotState; +import org.zstack.header.storage.snapshot.VolumeSnapshotStatus; +import org.zstack.header.storage.snapshot.VolumeSnapshotTreeVO; +import org.zstack.header.storage.snapshot.VolumeSnapshotVO; +import org.zstack.header.storage.snapshot.VolumeSnapshotVO_; import org.zstack.header.vm.VmInstanceDeletionPolicyManager.VmInstanceDeletionPolicy; import org.zstack.header.vm.VmInstanceInventory; import org.zstack.header.volume.VolumeDeletionPolicyManager.VolumeDeletionPolicy; diff --git a/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm39.java b/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm39.java index e59a5053e11..fa5983a04d8 100755 --- a/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm39.java +++ b/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm39.java @@ -7,7 +7,11 @@ import org.zstack.core.componentloader.ComponentLoader; import org.zstack.core.db.DatabaseFacade; import org.zstack.header.identity.SessionInventory; -import org.zstack.header.storage.snapshot.*; +import org.zstack.header.storage.snapshot.VolumeSnapshotInventory; +import org.zstack.header.storage.snapshot.VolumeSnapshotState; +import org.zstack.header.storage.snapshot.VolumeSnapshotStatus; +import org.zstack.header.storage.snapshot.VolumeSnapshotTreeVO; +import org.zstack.header.storage.snapshot.VolumeSnapshotVO; import org.zstack.header.vm.VmInstanceInventory; import org.zstack.header.volume.VolumeInventory; import org.zstack.header.volume.VolumeType; diff --git a/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm4.java b/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm4.java index 1b3cc220ee9..daa15c657e0 100755 --- a/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm4.java +++ b/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm4.java @@ -7,7 +7,11 @@ import org.zstack.core.componentloader.ComponentLoader; import org.zstack.core.db.DatabaseFacade; import org.zstack.header.identity.SessionInventory; -import org.zstack.header.storage.snapshot.*; +import org.zstack.header.storage.snapshot.VolumeSnapshotInventory; +import org.zstack.header.storage.snapshot.VolumeSnapshotState; +import org.zstack.header.storage.snapshot.VolumeSnapshotStatus; +import org.zstack.header.storage.snapshot.VolumeSnapshotTreeVO; +import org.zstack.header.storage.snapshot.VolumeSnapshotVO; import org.zstack.header.vm.VmInstanceInventory; import org.zstack.header.volume.VolumeVO; import org.zstack.simulator.kvm.KVMSimulatorConfig; diff --git a/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm40.java b/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm40.java index 1ed4448f769..ab2d420ae27 100755 --- a/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm40.java +++ b/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm40.java @@ -9,7 +9,13 @@ import org.zstack.core.db.SimpleQuery; import org.zstack.core.db.SimpleQuery.Op; import org.zstack.header.identity.SessionInventory; -import org.zstack.header.storage.snapshot.*; +import org.zstack.header.storage.snapshot.VolumeSnapshotInventory; +import org.zstack.header.storage.snapshot.VolumeSnapshotState; +import org.zstack.header.storage.snapshot.VolumeSnapshotStatus; +import org.zstack.header.storage.snapshot.VolumeSnapshotTreeVO; +import org.zstack.header.storage.snapshot.VolumeSnapshotTreeVO_; +import org.zstack.header.storage.snapshot.VolumeSnapshotVO; +import org.zstack.header.storage.snapshot.VolumeSnapshotVO_; import org.zstack.header.vm.VmInstanceInventory; import org.zstack.header.volume.VolumeVO; import org.zstack.simulator.kvm.VolumeSnapshotKvmSimulator; diff --git a/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm41.java b/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm41.java index 8498dcfd53a..cec48e87897 100755 --- a/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm41.java +++ b/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm41.java @@ -10,7 +10,13 @@ import org.zstack.core.db.SimpleQuery.Op; import org.zstack.header.identity.SessionInventory; import org.zstack.header.storage.backup.BackupStorageInventory; -import org.zstack.header.storage.snapshot.*; +import org.zstack.header.storage.snapshot.VolumeSnapshotBackupStorageRefVO; +import org.zstack.header.storage.snapshot.VolumeSnapshotBackupStorageRefVO_; +import org.zstack.header.storage.snapshot.VolumeSnapshotInventory; +import org.zstack.header.storage.snapshot.VolumeSnapshotState; +import org.zstack.header.storage.snapshot.VolumeSnapshotStatus; +import org.zstack.header.storage.snapshot.VolumeSnapshotTreeVO; +import org.zstack.header.storage.snapshot.VolumeSnapshotVO; import org.zstack.header.vm.VmInstanceInventory; import org.zstack.header.volume.VolumeVO; import org.zstack.simulator.storage.primary.nfs.NfsPrimaryStorageSimulatorConfig; diff --git a/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm42.java b/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm42.java index 637fe09becc..2d795230cfd 100755 --- a/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm42.java +++ b/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm42.java @@ -9,7 +9,12 @@ import org.zstack.core.db.SimpleQuery; import org.zstack.core.db.SimpleQuery.Op; import org.zstack.header.identity.SessionInventory; -import org.zstack.header.storage.snapshot.*; +import org.zstack.header.storage.snapshot.VolumeSnapshotInventory; +import org.zstack.header.storage.snapshot.VolumeSnapshotState; +import org.zstack.header.storage.snapshot.VolumeSnapshotStatus; +import org.zstack.header.storage.snapshot.VolumeSnapshotTreeVO; +import org.zstack.header.storage.snapshot.VolumeSnapshotTreeVO_; +import org.zstack.header.storage.snapshot.VolumeSnapshotVO; import org.zstack.header.vm.VmInstanceInventory; import org.zstack.header.volume.VolumeInventory; import org.zstack.header.volume.VolumeType; diff --git a/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm43.java b/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm43.java index 4dce0ef86af..9ebc7b2541a 100755 --- a/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm43.java +++ b/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm43.java @@ -9,7 +9,11 @@ import org.zstack.header.identity.SessionInventory; import org.zstack.header.storage.backup.BackupStorageInventory; import org.zstack.header.storage.backup.BackupStorageVO; -import org.zstack.header.storage.snapshot.*; +import org.zstack.header.storage.snapshot.VolumeSnapshotInventory; +import org.zstack.header.storage.snapshot.VolumeSnapshotState; +import org.zstack.header.storage.snapshot.VolumeSnapshotStatus; +import org.zstack.header.storage.snapshot.VolumeSnapshotTreeVO; +import org.zstack.header.storage.snapshot.VolumeSnapshotVO; import org.zstack.header.vm.VmInstanceInventory; import org.zstack.header.volume.VolumeInventory; import org.zstack.header.volume.VolumeType; diff --git a/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm44.java b/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm44.java index f88d6f3268c..a9ae42fba27 100755 --- a/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm44.java +++ b/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm44.java @@ -9,7 +9,11 @@ import org.zstack.header.identity.SessionInventory; import org.zstack.header.storage.backup.BackupStorageInventory; import org.zstack.header.storage.backup.BackupStorageVO; -import org.zstack.header.storage.snapshot.*; +import org.zstack.header.storage.snapshot.VolumeSnapshotInventory; +import org.zstack.header.storage.snapshot.VolumeSnapshotState; +import org.zstack.header.storage.snapshot.VolumeSnapshotStatus; +import org.zstack.header.storage.snapshot.VolumeSnapshotTreeVO; +import org.zstack.header.storage.snapshot.VolumeSnapshotVO; import org.zstack.header.vm.VmInstanceInventory; import org.zstack.header.volume.VolumeInventory; import org.zstack.header.volume.VolumeType; diff --git a/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm45.java b/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm45.java index 0a4b2bdd213..0b75d71a54f 100755 --- a/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm45.java +++ b/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm45.java @@ -11,7 +11,11 @@ import org.zstack.header.image.ImageConstant.ImageMediaType; import org.zstack.header.image.ImageInventory; import org.zstack.header.storage.backup.BackupStorageInventory; -import org.zstack.header.storage.snapshot.*; +import org.zstack.header.storage.snapshot.VolumeSnapshotInventory; +import org.zstack.header.storage.snapshot.VolumeSnapshotState; +import org.zstack.header.storage.snapshot.VolumeSnapshotStatus; +import org.zstack.header.storage.snapshot.VolumeSnapshotTreeVO; +import org.zstack.header.storage.snapshot.VolumeSnapshotVO; import org.zstack.header.vm.VmInstanceInventory; import org.zstack.header.volume.VolumeVO; import org.zstack.simulator.kvm.VolumeSnapshotKvmSimulator; diff --git a/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm46.java b/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm46.java index bad8019a25c..9ab7ef99863 100755 --- a/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm46.java +++ b/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm46.java @@ -11,7 +11,11 @@ import org.zstack.header.image.ImageInventory; import org.zstack.header.storage.backup.BackupStorageInventory; import org.zstack.header.storage.backup.BackupStorageStateEvent; -import org.zstack.header.storage.snapshot.*; +import org.zstack.header.storage.snapshot.VolumeSnapshotInventory; +import org.zstack.header.storage.snapshot.VolumeSnapshotState; +import org.zstack.header.storage.snapshot.VolumeSnapshotStatus; +import org.zstack.header.storage.snapshot.VolumeSnapshotTreeVO; +import org.zstack.header.storage.snapshot.VolumeSnapshotVO; import org.zstack.header.vm.VmInstanceInventory; import org.zstack.header.volume.VolumeVO; import org.zstack.simulator.kvm.VolumeSnapshotKvmSimulator; diff --git a/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm47.java b/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm47.java index f439cff9c63..8677ada69d9 100755 --- a/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm47.java +++ b/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm47.java @@ -10,7 +10,11 @@ import org.zstack.header.image.ImageVO; import org.zstack.header.storage.backup.BackupStorageInventory; import org.zstack.header.storage.backup.BackupStorageStateEvent; -import org.zstack.header.storage.snapshot.*; +import org.zstack.header.storage.snapshot.VolumeSnapshotInventory; +import org.zstack.header.storage.snapshot.VolumeSnapshotState; +import org.zstack.header.storage.snapshot.VolumeSnapshotStatus; +import org.zstack.header.storage.snapshot.VolumeSnapshotTreeVO; +import org.zstack.header.storage.snapshot.VolumeSnapshotVO; import org.zstack.header.vm.VmInstanceInventory; import org.zstack.header.volume.VolumeVO; import org.zstack.simulator.kvm.VolumeSnapshotKvmSimulator; diff --git a/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm5.java b/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm5.java index 2666f16544c..2de6a5c9555 100755 --- a/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm5.java +++ b/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm5.java @@ -7,7 +7,11 @@ import org.zstack.core.componentloader.ComponentLoader; import org.zstack.core.db.DatabaseFacade; import org.zstack.header.identity.SessionInventory; -import org.zstack.header.storage.snapshot.*; +import org.zstack.header.storage.snapshot.VolumeSnapshotInventory; +import org.zstack.header.storage.snapshot.VolumeSnapshotState; +import org.zstack.header.storage.snapshot.VolumeSnapshotStatus; +import org.zstack.header.storage.snapshot.VolumeSnapshotTreeVO; +import org.zstack.header.storage.snapshot.VolumeSnapshotVO; import org.zstack.header.vm.VmInstanceInventory; import org.zstack.header.volume.VolumeVO; import org.zstack.simulator.kvm.KVMSimulatorConfig; diff --git a/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm6.java b/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm6.java index 6d07d783c90..5fda56a289d 100755 --- a/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm6.java +++ b/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm6.java @@ -8,7 +8,12 @@ import org.zstack.core.db.DatabaseFacade; import org.zstack.core.db.SimpleQuery; import org.zstack.header.identity.SessionInventory; -import org.zstack.header.storage.snapshot.*; +import org.zstack.header.storage.snapshot.VolumeSnapshotInventory; +import org.zstack.header.storage.snapshot.VolumeSnapshotState; +import org.zstack.header.storage.snapshot.VolumeSnapshotStatus; +import org.zstack.header.storage.snapshot.VolumeSnapshotTreeVO; +import org.zstack.header.storage.snapshot.VolumeSnapshotTreeVO_; +import org.zstack.header.storage.snapshot.VolumeSnapshotVO; import org.zstack.header.vm.VmInstanceInventory; import org.zstack.header.volume.VolumeVO; import org.zstack.simulator.kvm.KVMSimulatorConfig; diff --git a/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm7.java b/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm7.java index 234681e23a1..ae01d669486 100755 --- a/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm7.java +++ b/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm7.java @@ -8,7 +8,11 @@ import org.zstack.core.componentloader.ComponentLoader; import org.zstack.core.db.DatabaseFacade; import org.zstack.header.identity.SessionInventory; -import org.zstack.header.storage.snapshot.*; +import org.zstack.header.storage.snapshot.VolumeSnapshotInventory; +import org.zstack.header.storage.snapshot.VolumeSnapshotState; +import org.zstack.header.storage.snapshot.VolumeSnapshotStatus; +import org.zstack.header.storage.snapshot.VolumeSnapshotTreeVO; +import org.zstack.header.storage.snapshot.VolumeSnapshotVO; import org.zstack.header.vm.VmInstanceInventory; import org.zstack.header.volume.VolumeVO; import org.zstack.simulator.kvm.KVMSimulatorConfig; diff --git a/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm8.java b/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm8.java index a1c14f19815..41521a63e94 100755 --- a/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm8.java +++ b/test/src/test/java/org/zstack/test/storage/snapshot/TestSnapshotOnKvm8.java @@ -8,7 +8,12 @@ import org.zstack.core.db.DatabaseFacade; import org.zstack.core.db.SimpleQuery; import org.zstack.header.identity.SessionInventory; -import org.zstack.header.storage.snapshot.*; +import org.zstack.header.storage.snapshot.VolumeSnapshotInventory; +import org.zstack.header.storage.snapshot.VolumeSnapshotState; +import org.zstack.header.storage.snapshot.VolumeSnapshotStatus; +import org.zstack.header.storage.snapshot.VolumeSnapshotTreeVO; +import org.zstack.header.storage.snapshot.VolumeSnapshotVO; +import org.zstack.header.storage.snapshot.VolumeSnapshotVO_; import org.zstack.header.vm.VmInstanceInventory; import org.zstack.header.volume.VolumeVO; import org.zstack.simulator.kvm.VolumeSnapshotKvmSimulator; diff --git a/test/src/test/java/org/zstack/test/storage/volume/AddImage.java b/test/src/test/java/org/zstack/test/storage/volume/AddImage.java index fd0a71e8930..109fd4b036d 100755 --- a/test/src/test/java/org/zstack/test/storage/volume/AddImage.java +++ b/test/src/test/java/org/zstack/test/storage/volume/AddImage.java @@ -12,7 +12,11 @@ import org.zstack.header.simulator.storage.backup.SimulatorBackupStorageDetails; import org.zstack.header.storage.backup.BackupStorageInventory; import org.zstack.header.storage.backup.BackupStorageVO; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.utils.Utils; import org.zstack.utils.data.SizeUnit; import org.zstack.utils.logging.CLogger; diff --git a/test/src/test/java/org/zstack/test/storage/volume/TestChangeVolumeState.java b/test/src/test/java/org/zstack/test/storage/volume/TestChangeVolumeState.java index ed07fe6a7c2..77d9554a318 100755 --- a/test/src/test/java/org/zstack/test/storage/volume/TestChangeVolumeState.java +++ b/test/src/test/java/org/zstack/test/storage/volume/TestChangeVolumeState.java @@ -8,8 +8,16 @@ import org.zstack.core.componentloader.ComponentLoader; import org.zstack.core.db.DatabaseFacade; import org.zstack.header.configuration.DiskOfferingInventory; -import org.zstack.header.volume.*; -import org.zstack.test.*; +import org.zstack.header.volume.VolumeInventory; +import org.zstack.header.volume.VolumeState; +import org.zstack.header.volume.VolumeStateEvent; +import org.zstack.header.volume.VolumeStatus; +import org.zstack.header.volume.VolumeType; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.utils.data.SizeUnit; /** diff --git a/test/src/test/java/org/zstack/test/storage/volume/TestCreateDataVolume.java b/test/src/test/java/org/zstack/test/storage/volume/TestCreateDataVolume.java index b1becfdf270..c904dfb8bb0 100755 --- a/test/src/test/java/org/zstack/test/storage/volume/TestCreateDataVolume.java +++ b/test/src/test/java/org/zstack/test/storage/volume/TestCreateDataVolume.java @@ -11,7 +11,11 @@ import org.zstack.header.volume.VolumeInventory; import org.zstack.header.volume.VolumeStatus; import org.zstack.header.volume.VolumeType; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.utils.Utils; import org.zstack.utils.data.SizeUnit; import org.zstack.utils.logging.CLogger; diff --git a/test/src/test/java/org/zstack/test/storage/volume/TestDeleteDataVolume.java b/test/src/test/java/org/zstack/test/storage/volume/TestDeleteDataVolume.java index f775a8d999a..e4166e26fad 100755 --- a/test/src/test/java/org/zstack/test/storage/volume/TestDeleteDataVolume.java +++ b/test/src/test/java/org/zstack/test/storage/volume/TestDeleteDataVolume.java @@ -13,7 +13,11 @@ import org.zstack.header.volume.VolumeType; import org.zstack.header.volume.VolumeVO; import org.zstack.storage.volume.VolumeGlobalConfig; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.utils.Utils; import org.zstack.utils.data.SizeUnit; import org.zstack.utils.logging.CLogger; diff --git a/test/src/test/java/org/zstack/test/storage/volume/TestPolicyForVolume.java b/test/src/test/java/org/zstack/test/storage/volume/TestPolicyForVolume.java index 377b474b423..d7651c4a680 100755 --- a/test/src/test/java/org/zstack/test/storage/volume/TestPolicyForVolume.java +++ b/test/src/test/java/org/zstack/test/storage/volume/TestPolicyForVolume.java @@ -19,7 +19,18 @@ import org.zstack.header.storage.backup.BackupStorageInventory; import org.zstack.header.storage.primary.PrimaryStorageInventory; import org.zstack.header.vm.VmInstanceInventory; -import org.zstack.header.volume.*; +import org.zstack.header.volume.APIAttachDataVolumeToVmMsg; +import org.zstack.header.volume.APIChangeVolumeStateMsg; +import org.zstack.header.volume.APICreateDataVolumeFromVolumeTemplateMsg; +import org.zstack.header.volume.APICreateDataVolumeMsg; +import org.zstack.header.volume.APIDeleteDataVolumeMsg; +import org.zstack.header.volume.APIDetachDataVolumeFromVmMsg; +import org.zstack.header.volume.APIQueryVolumeMsg; +import org.zstack.header.volume.APIQueryVolumeReply; +import org.zstack.header.volume.APIUpdateVolumeMsg; +import org.zstack.header.volume.VolumeConstant; +import org.zstack.header.volume.VolumeInventory; +import org.zstack.header.volume.VolumeStateEvent; import org.zstack.test.Api; import org.zstack.test.ApiSenderException; import org.zstack.test.DBUtil; diff --git a/test/src/test/java/org/zstack/test/storage/volume/TestUpdateVolume.java b/test/src/test/java/org/zstack/test/storage/volume/TestUpdateVolume.java index c29f772703b..d8efc8aff85 100755 --- a/test/src/test/java/org/zstack/test/storage/volume/TestUpdateVolume.java +++ b/test/src/test/java/org/zstack/test/storage/volume/TestUpdateVolume.java @@ -8,7 +8,11 @@ import org.zstack.core.db.DatabaseFacade; import org.zstack.header.configuration.DiskOfferingInventory; import org.zstack.header.volume.VolumeInventory; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.BeanConstructor; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.utils.Utils; import org.zstack.utils.data.SizeUnit; import org.zstack.utils.logging.CLogger; diff --git a/test/src/test/java/org/zstack/test/storage/volume/TestVolumeOn1000VmKvm.java b/test/src/test/java/org/zstack/test/storage/volume/TestVolumeOn1000VmKvm.java index 4587493a29a..2d6da5cb45f 100755 --- a/test/src/test/java/org/zstack/test/storage/volume/TestVolumeOn1000VmKvm.java +++ b/test/src/test/java/org/zstack/test/storage/volume/TestVolumeOn1000VmKvm.java @@ -21,11 +21,24 @@ import org.zstack.header.network.l3.L3NetworkVO; import org.zstack.header.network.l3.L3NetworkVO_; import org.zstack.header.vm.VmInstanceInventory; -import org.zstack.header.volume.*; +import org.zstack.header.volume.APIAttachDataVolumeToVmEvent; +import org.zstack.header.volume.APIAttachDataVolumeToVmMsg; +import org.zstack.header.volume.APICreateDataVolumeEvent; +import org.zstack.header.volume.APICreateDataVolumeMsg; +import org.zstack.header.volume.VolumeInventory; +import org.zstack.header.volume.VolumeStatus; +import org.zstack.header.volume.VolumeType; +import org.zstack.header.volume.VolumeVO; +import org.zstack.header.volume.VolumeVO_; import org.zstack.identity.IdentityGlobalConfig; import org.zstack.simulator.kvm.KVMSimulatorConfig; import org.zstack.simulator.virtualrouter.VirtualRouterSimulatorConfig; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSender; +import org.zstack.test.ApiSenderException; +import org.zstack.test.DBUtil; +import org.zstack.test.VmCreator; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.deployer.Deployer; import org.zstack.utils.CollectionUtils; import org.zstack.utils.Utils; diff --git a/test/src/test/java/org/zstack/test/storage/volume/TestVolumeOn1000VmSimulator.java b/test/src/test/java/org/zstack/test/storage/volume/TestVolumeOn1000VmSimulator.java index 091b00dc609..da5a860c2a9 100755 --- a/test/src/test/java/org/zstack/test/storage/volume/TestVolumeOn1000VmSimulator.java +++ b/test/src/test/java/org/zstack/test/storage/volume/TestVolumeOn1000VmSimulator.java @@ -21,9 +21,22 @@ import org.zstack.header.network.l3.L3NetworkVO; import org.zstack.header.network.l3.L3NetworkVO_; import org.zstack.header.vm.VmInstanceInventory; -import org.zstack.header.volume.*; +import org.zstack.header.volume.APIAttachDataVolumeToVmEvent; +import org.zstack.header.volume.APIAttachDataVolumeToVmMsg; +import org.zstack.header.volume.APICreateDataVolumeEvent; +import org.zstack.header.volume.APICreateDataVolumeMsg; +import org.zstack.header.volume.VolumeInventory; +import org.zstack.header.volume.VolumeStatus; +import org.zstack.header.volume.VolumeType; +import org.zstack.header.volume.VolumeVO; +import org.zstack.header.volume.VolumeVO_; import org.zstack.identity.IdentityGlobalConfig; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSender; +import org.zstack.test.ApiSenderException; +import org.zstack.test.DBUtil; +import org.zstack.test.VmCreator; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.deployer.Deployer; import org.zstack.utils.CollectionUtils; import org.zstack.utils.Utils; diff --git a/test/src/test/java/org/zstack/test/tag/TestPolicyForTag.java b/test/src/test/java/org/zstack/test/tag/TestPolicyForTag.java index 421a055387b..c13711ac801 100755 --- a/test/src/test/java/org/zstack/test/tag/TestPolicyForTag.java +++ b/test/src/test/java/org/zstack/test/tag/TestPolicyForTag.java @@ -12,7 +12,15 @@ import org.zstack.header.identity.PolicyStatement; import org.zstack.header.identity.SessionInventory; import org.zstack.header.query.QueryCondition; -import org.zstack.header.tag.*; +import org.zstack.header.tag.APICreateSystemTagMsg; +import org.zstack.header.tag.APICreateUserTagMsg; +import org.zstack.header.tag.APIDeleteTagMsg; +import org.zstack.header.tag.APIQuerySystemTagMsg; +import org.zstack.header.tag.APIQuerySystemTagReply; +import org.zstack.header.tag.APIQueryUserTagMsg; +import org.zstack.header.tag.APIQueryUserTagReply; +import org.zstack.header.tag.TagConstant; +import org.zstack.header.tag.TagInventory; import org.zstack.header.vm.VmInstanceInventory; import org.zstack.header.vm.VmInstanceVO; import org.zstack.test.Api; diff --git a/test/src/test/java/org/zstack/test/tag/TestQueryTag.java b/test/src/test/java/org/zstack/test/tag/TestQueryTag.java index 07d30488226..6205e203804 100755 --- a/test/src/test/java/org/zstack/test/tag/TestQueryTag.java +++ b/test/src/test/java/org/zstack/test/tag/TestQueryTag.java @@ -6,7 +6,14 @@ import org.zstack.core.componentloader.ComponentLoader; import org.zstack.core.db.DatabaseFacade; import org.zstack.header.storage.primary.PrimaryStorageVO; -import org.zstack.header.tag.*; +import org.zstack.header.tag.APIQuerySystemTagMsg; +import org.zstack.header.tag.APIQuerySystemTagReply; +import org.zstack.header.tag.APIQueryUserTagMsg; +import org.zstack.header.tag.APIQueryUserTagReply; +import org.zstack.header.tag.SystemTagInventory; +import org.zstack.header.tag.SystemTagVO; +import org.zstack.header.tag.UserTagInventory; +import org.zstack.header.tag.UserTagVO; import org.zstack.storage.primary.PrimaryStorageSystemTags; import org.zstack.test.Api; import org.zstack.test.BeanConstructor; diff --git a/test/src/test/java/org/zstack/test/tag/TestSystemTag2.java b/test/src/test/java/org/zstack/test/tag/TestSystemTag2.java index 97820b1736f..b1c4233b44c 100755 --- a/test/src/test/java/org/zstack/test/tag/TestSystemTag2.java +++ b/test/src/test/java/org/zstack/test/tag/TestSystemTag2.java @@ -6,7 +6,11 @@ import org.zstack.core.cloudbus.CloudBus; import org.zstack.core.componentloader.ComponentLoader; import org.zstack.core.db.DatabaseFacade; -import org.zstack.header.tag.*; +import org.zstack.header.tag.SystemTagInventory; +import org.zstack.header.tag.SystemTagLifeCycleListener; +import org.zstack.header.tag.SystemTagVO; +import org.zstack.header.tag.TagDefinition; +import org.zstack.header.tag.TagInventory; import org.zstack.header.zone.ZoneInventory; import org.zstack.header.zone.ZoneVO; import org.zstack.tag.SystemTag; diff --git a/test/src/test/java/org/zstack/test/userdata/TestUserdata1.java b/test/src/test/java/org/zstack/test/userdata/TestUserdata1.java index ebb474d2b86..bba6558af36 100755 --- a/test/src/test/java/org/zstack/test/userdata/TestUserdata1.java +++ b/test/src/test/java/org/zstack/test/userdata/TestUserdata1.java @@ -18,7 +18,11 @@ import org.zstack.network.service.flat.FlatUserdataBackend; import org.zstack.storage.primary.local.LocalStorageSimulatorConfig; import org.zstack.storage.primary.local.LocalStorageSimulatorConfig.Capacity; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.DBUtil; +import org.zstack.test.VmCreator; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.deployer.Deployer; import org.zstack.utils.CollectionUtils; import org.zstack.utils.data.SizeUnit; diff --git a/test/src/test/java/org/zstack/test/userdata/TestUserdata2.java b/test/src/test/java/org/zstack/test/userdata/TestUserdata2.java index b9525bec950..73f0e0459a4 100755 --- a/test/src/test/java/org/zstack/test/userdata/TestUserdata2.java +++ b/test/src/test/java/org/zstack/test/userdata/TestUserdata2.java @@ -21,7 +21,11 @@ import org.zstack.network.service.userdata.UserdataGlobalProperty; import org.zstack.storage.primary.local.LocalStorageSimulatorConfig; import org.zstack.storage.primary.local.LocalStorageSimulatorConfig.Capacity; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.DBUtil; +import org.zstack.test.VmCreator; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.deployer.Deployer; import org.zstack.utils.data.SizeUnit; diff --git a/test/src/test/java/org/zstack/test/utils/TestRangeSet.java b/test/src/test/java/org/zstack/test/utils/TestRangeSet.java index 4d2c2057938..11be2f1a6de 100755 --- a/test/src/test/java/org/zstack/test/utils/TestRangeSet.java +++ b/test/src/test/java/org/zstack/test/utils/TestRangeSet.java @@ -5,7 +5,11 @@ import org.zstack.utils.RangeSet; import org.zstack.utils.RangeSet.Range; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; +import java.util.Collections; +import java.util.List; import static org.junit.Assert.*; diff --git a/test/src/test/java/org/zstack/test/vip/TestPolicyForVip.java b/test/src/test/java/org/zstack/test/vip/TestPolicyForVip.java index 5bd03da9bf6..79f6cd29d62 100755 --- a/test/src/test/java/org/zstack/test/vip/TestPolicyForVip.java +++ b/test/src/test/java/org/zstack/test/vip/TestPolicyForVip.java @@ -13,7 +13,15 @@ import org.zstack.header.network.l3.L3NetworkInventory; import org.zstack.header.query.QueryCondition; import org.zstack.header.vm.VmInstanceInventory; -import org.zstack.network.service.vip.*; +import org.zstack.network.service.vip.APIChangeVipStateMsg; +import org.zstack.network.service.vip.APICreateVipMsg; +import org.zstack.network.service.vip.APIDeleteVipMsg; +import org.zstack.network.service.vip.APIQueryVipMsg; +import org.zstack.network.service.vip.APIQueryVipReply; +import org.zstack.network.service.vip.APIUpdateVipMsg; +import org.zstack.network.service.vip.VipConstant; +import org.zstack.network.service.vip.VipInventory; +import org.zstack.network.service.vip.VipStateEvent; import org.zstack.simulator.kvm.KVMSimulatorConfig; import org.zstack.simulator.virtualrouter.VirtualRouterSimulatorConfig; import org.zstack.test.Api; diff --git a/test/src/test/java/org/zstack/test/vip/TestPolicyForVip1.java b/test/src/test/java/org/zstack/test/vip/TestPolicyForVip1.java index 98b06d8d02d..a3a4d80ea64 100755 --- a/test/src/test/java/org/zstack/test/vip/TestPolicyForVip1.java +++ b/test/src/test/java/org/zstack/test/vip/TestPolicyForVip1.java @@ -6,7 +6,11 @@ import org.zstack.core.cloudbus.CloudBus; import org.zstack.core.componentloader.ComponentLoader; import org.zstack.core.db.DatabaseFacade; -import org.zstack.header.identity.*; +import org.zstack.header.identity.AccountInventory; +import org.zstack.header.identity.IdentityErrors; +import org.zstack.header.identity.Quota; +import org.zstack.header.identity.QuotaInventory; +import org.zstack.header.identity.SessionInventory; import org.zstack.header.network.l3.L3NetworkInventory; import org.zstack.network.service.vip.VipQuotaConstant; import org.zstack.simulator.kvm.KVMSimulatorConfig; diff --git a/test/src/test/java/org/zstack/test/virtualrouter/TestCreateVirtualRouterFailure.java b/test/src/test/java/org/zstack/test/virtualrouter/TestCreateVirtualRouterFailure.java index b6426928f7a..c50d6083ef8 100755 --- a/test/src/test/java/org/zstack/test/virtualrouter/TestCreateVirtualRouterFailure.java +++ b/test/src/test/java/org/zstack/test/virtualrouter/TestCreateVirtualRouterFailure.java @@ -15,7 +15,11 @@ import org.zstack.simulator.appliancevm.ApplianceVmSimulatorConfig; import org.zstack.simulator.kvm.KVMSimulatorConfig; import org.zstack.simulator.virtualrouter.VirtualRouterSimulatorConfig; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.DBUtil; +import org.zstack.test.VmCreator; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.deployer.Deployer; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; diff --git a/test/src/test/java/org/zstack/test/virtualrouter/TestPolicyForPortForwarding.java b/test/src/test/java/org/zstack/test/virtualrouter/TestPolicyForPortForwarding.java index 046c3b758b6..74f3fb5b3c2 100755 --- a/test/src/test/java/org/zstack/test/virtualrouter/TestPolicyForPortForwarding.java +++ b/test/src/test/java/org/zstack/test/virtualrouter/TestPolicyForPortForwarding.java @@ -14,7 +14,18 @@ import org.zstack.header.query.QueryCondition; import org.zstack.header.vm.VmInstanceInventory; import org.zstack.header.vm.VmNicInventory; -import org.zstack.network.service.portforwarding.*; +import org.zstack.network.service.portforwarding.APIAttachPortForwardingRuleMsg; +import org.zstack.network.service.portforwarding.APIChangePortForwardingRuleStateMsg; +import org.zstack.network.service.portforwarding.APICreatePortForwardingRuleMsg; +import org.zstack.network.service.portforwarding.APIDeletePortForwardingRuleMsg; +import org.zstack.network.service.portforwarding.APIDetachPortForwardingRuleMsg; +import org.zstack.network.service.portforwarding.APIQueryPortForwardingRuleMsg; +import org.zstack.network.service.portforwarding.APIQueryPortForwardingRuleReply; +import org.zstack.network.service.portforwarding.APIUpdatePortForwardingRuleMsg; +import org.zstack.network.service.portforwarding.PortForwardingConstant; +import org.zstack.network.service.portforwarding.PortForwardingProtocolType; +import org.zstack.network.service.portforwarding.PortForwardingRuleInventory; +import org.zstack.network.service.portforwarding.PortForwardingRuleStateEvent; import org.zstack.network.service.vip.APICreateVipMsg; import org.zstack.network.service.vip.VipConstant; import org.zstack.network.service.vip.VipInventory; diff --git a/test/src/test/java/org/zstack/test/virtualrouter/TestPolicyForPortForwarding1.java b/test/src/test/java/org/zstack/test/virtualrouter/TestPolicyForPortForwarding1.java index 5760bf76f85..d068205dd85 100755 --- a/test/src/test/java/org/zstack/test/virtualrouter/TestPolicyForPortForwarding1.java +++ b/test/src/test/java/org/zstack/test/virtualrouter/TestPolicyForPortForwarding1.java @@ -6,7 +6,11 @@ import org.zstack.core.cloudbus.CloudBus; import org.zstack.core.componentloader.ComponentLoader; import org.zstack.core.db.DatabaseFacade; -import org.zstack.header.identity.*; +import org.zstack.header.identity.AccountInventory; +import org.zstack.header.identity.IdentityErrors; +import org.zstack.header.identity.Quota; +import org.zstack.header.identity.QuotaInventory; +import org.zstack.header.identity.SessionInventory; import org.zstack.header.network.l3.L3NetworkInventory; import org.zstack.network.service.portforwarding.PortForwardingProtocolType; import org.zstack.network.service.portforwarding.PortForwardingQuotaConstant; diff --git a/test/src/test/java/org/zstack/test/virtualrouter/TestPolicyForVirtualRouterOffering.java b/test/src/test/java/org/zstack/test/virtualrouter/TestPolicyForVirtualRouterOffering.java index 85d6633df5a..0399e46d785 100755 --- a/test/src/test/java/org/zstack/test/virtualrouter/TestPolicyForVirtualRouterOffering.java +++ b/test/src/test/java/org/zstack/test/virtualrouter/TestPolicyForVirtualRouterOffering.java @@ -21,7 +21,11 @@ import org.zstack.network.service.virtualrouter.APIQueryVirtualRouterOfferingMsg; import org.zstack.network.service.virtualrouter.APIQueryVirtualRouterOfferingReply; import org.zstack.network.service.virtualrouter.VirtualRouterConstant; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSender; +import org.zstack.test.ApiSenderException; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.deployer.Deployer; import org.zstack.test.identity.IdentityCreator; import org.zstack.utils.data.SizeUnit; diff --git a/test/src/test/java/org/zstack/test/virtualrouter/TestQueryVirtualRouterOffering.java b/test/src/test/java/org/zstack/test/virtualrouter/TestQueryVirtualRouterOffering.java index a2b89df1885..560e9b1657f 100755 --- a/test/src/test/java/org/zstack/test/virtualrouter/TestQueryVirtualRouterOffering.java +++ b/test/src/test/java/org/zstack/test/virtualrouter/TestQueryVirtualRouterOffering.java @@ -9,8 +9,17 @@ import org.zstack.header.image.ImageInventory; import org.zstack.header.network.l3.L3NetworkInventory; import org.zstack.header.zone.ZoneInventory; -import org.zstack.network.service.virtualrouter.*; -import org.zstack.test.*; +import org.zstack.network.service.virtualrouter.APICreateVirtualRouterOfferingMsg; +import org.zstack.network.service.virtualrouter.APIQueryVirtualRouterOfferingMsg; +import org.zstack.network.service.virtualrouter.APIQueryVirtualRouterOfferingReply; +import org.zstack.network.service.virtualrouter.VirtualRouter; +import org.zstack.network.service.virtualrouter.VirtualRouterOfferingInventory; +import org.zstack.network.service.virtualrouter.VirtualRouterOfferingVO; +import org.zstack.test.Api; +import org.zstack.test.ApiSender; +import org.zstack.test.ApiSenderException; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.deployer.Deployer; import org.zstack.test.search.QueryTestValidator; import org.zstack.utils.data.SizeUnit; diff --git a/test/src/test/java/org/zstack/test/virtualrouter/TestStartVirtualRouter.java b/test/src/test/java/org/zstack/test/virtualrouter/TestStartVirtualRouter.java index 79e6a608f6d..24d7793205e 100755 --- a/test/src/test/java/org/zstack/test/virtualrouter/TestStartVirtualRouter.java +++ b/test/src/test/java/org/zstack/test/virtualrouter/TestStartVirtualRouter.java @@ -15,7 +15,11 @@ import org.zstack.header.vm.VmInstanceConstant; import org.zstack.simulator.kvm.KVMSimulatorConfig; import org.zstack.simulator.virtualrouter.VirtualRouterSimulatorConfig; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSender; +import org.zstack.test.ApiSenderException; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.deployer.Deployer; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; diff --git a/test/src/test/java/org/zstack/test/virtualrouter/TestStartVirtualRouter2.java b/test/src/test/java/org/zstack/test/virtualrouter/TestStartVirtualRouter2.java index f1447a9d23e..d984a1f1c51 100755 --- a/test/src/test/java/org/zstack/test/virtualrouter/TestStartVirtualRouter2.java +++ b/test/src/test/java/org/zstack/test/virtualrouter/TestStartVirtualRouter2.java @@ -17,10 +17,19 @@ import org.zstack.header.identity.SessionInventory; import org.zstack.header.image.ImageInventory; import org.zstack.header.network.l3.L3NetworkInventory; -import org.zstack.header.vm.*; +import org.zstack.header.vm.APICreateVmInstanceEvent; +import org.zstack.header.vm.APICreateVmInstanceMsg; +import org.zstack.header.vm.VmInstanceConstant; +import org.zstack.header.vm.VmInstanceState; +import org.zstack.header.vm.VmInstanceVO; +import org.zstack.header.vm.VmInstanceVO_; import org.zstack.simulator.kvm.KVMSimulatorConfig; import org.zstack.simulator.virtualrouter.VirtualRouterSimulatorConfig; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSender; +import org.zstack.test.ApiSenderException; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.deployer.Deployer; import org.zstack.test.storage.backup.sftp.TestSftpBackupStorageDeleteImage2; import org.zstack.utils.Utils; diff --git a/test/src/test/java/org/zstack/test/virtualrouter/TestStartVirtualRouter3.java b/test/src/test/java/org/zstack/test/virtualrouter/TestStartVirtualRouter3.java index 6f7133ead4c..a15ba8b410e 100755 --- a/test/src/test/java/org/zstack/test/virtualrouter/TestStartVirtualRouter3.java +++ b/test/src/test/java/org/zstack/test/virtualrouter/TestStartVirtualRouter3.java @@ -23,7 +23,11 @@ import org.zstack.network.service.virtualrouter.VirtualRouterConstant; import org.zstack.simulator.kvm.KVMSimulatorConfig; import org.zstack.simulator.virtualrouter.VirtualRouterSimulatorConfig; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSender; +import org.zstack.test.ApiSenderException; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.deployer.Deployer; import org.zstack.test.storage.backup.sftp.TestSftpBackupStorageDeleteImage2; import org.zstack.utils.Utils; diff --git a/test/src/test/java/org/zstack/test/virtualrouter/TestStartVirtualRouter4.java b/test/src/test/java/org/zstack/test/virtualrouter/TestStartVirtualRouter4.java index e44daeada4c..c6d93fb7db6 100755 --- a/test/src/test/java/org/zstack/test/virtualrouter/TestStartVirtualRouter4.java +++ b/test/src/test/java/org/zstack/test/virtualrouter/TestStartVirtualRouter4.java @@ -22,7 +22,11 @@ import org.zstack.network.service.virtualrouter.VirtualRouterConstant; import org.zstack.simulator.kvm.KVMSimulatorConfig; import org.zstack.simulator.virtualrouter.VirtualRouterSimulatorConfig; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSender; +import org.zstack.test.ApiSenderException; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.deployer.Deployer; import org.zstack.test.storage.backup.sftp.TestSftpBackupStorageDeleteImage2; import org.zstack.utils.Utils; diff --git a/test/src/test/java/org/zstack/test/virtualrouter/TestStartVirtualRouter5.java b/test/src/test/java/org/zstack/test/virtualrouter/TestStartVirtualRouter5.java index c5d60a301fc..760e639883b 100755 --- a/test/src/test/java/org/zstack/test/virtualrouter/TestStartVirtualRouter5.java +++ b/test/src/test/java/org/zstack/test/virtualrouter/TestStartVirtualRouter5.java @@ -16,11 +16,19 @@ import org.zstack.header.identity.SessionInventory; import org.zstack.header.image.ImageInventory; import org.zstack.header.network.l3.L3NetworkInventory; -import org.zstack.header.vm.*; +import org.zstack.header.vm.APICreateVmInstanceEvent; +import org.zstack.header.vm.APICreateVmInstanceMsg; +import org.zstack.header.vm.VmInstanceConstant; +import org.zstack.header.vm.VmInstanceInventory; +import org.zstack.header.vm.VmInstanceState; import org.zstack.network.service.virtualrouter.VirtualRouterConstant; import org.zstack.simulator.kvm.KVMSimulatorConfig; import org.zstack.simulator.virtualrouter.VirtualRouterSimulatorConfig; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSender; +import org.zstack.test.ApiSenderException; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.deployer.Deployer; import org.zstack.test.storage.backup.sftp.TestSftpBackupStorageDeleteImage2; import org.zstack.utils.Utils; diff --git a/test/src/test/java/org/zstack/test/virtualrouter/TestStartVirtualRouter6.java b/test/src/test/java/org/zstack/test/virtualrouter/TestStartVirtualRouter6.java index 893a92de4d9..77a5d42ad60 100755 --- a/test/src/test/java/org/zstack/test/virtualrouter/TestStartVirtualRouter6.java +++ b/test/src/test/java/org/zstack/test/virtualrouter/TestStartVirtualRouter6.java @@ -23,7 +23,11 @@ import org.zstack.network.service.virtualrouter.VirtualRouterConstant; import org.zstack.simulator.kvm.KVMSimulatorConfig; import org.zstack.simulator.virtualrouter.VirtualRouterSimulatorConfig; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSender; +import org.zstack.test.ApiSenderException; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.deployer.Deployer; import org.zstack.test.storage.backup.sftp.TestSftpBackupStorageDeleteImage2; import org.zstack.utils.Utils; diff --git a/test/src/test/java/org/zstack/test/virtualrouter/TestStartVirtualRouter7.java b/test/src/test/java/org/zstack/test/virtualrouter/TestStartVirtualRouter7.java index 0d6b49560d7..be5114ac0d0 100755 --- a/test/src/test/java/org/zstack/test/virtualrouter/TestStartVirtualRouter7.java +++ b/test/src/test/java/org/zstack/test/virtualrouter/TestStartVirtualRouter7.java @@ -24,7 +24,11 @@ import org.zstack.simulator.appliancevm.ApplianceVmSimulatorConfig; import org.zstack.simulator.kvm.KVMSimulatorConfig; import org.zstack.simulator.virtualrouter.VirtualRouterSimulatorConfig; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSender; +import org.zstack.test.ApiSenderException; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.deployer.Deployer; import org.zstack.test.storage.backup.sftp.TestSftpBackupStorageDeleteImage2; import org.zstack.utils.Utils; diff --git a/test/src/test/java/org/zstack/test/virtualrouter/TestStartVirtualRouter8.java b/test/src/test/java/org/zstack/test/virtualrouter/TestStartVirtualRouter8.java index ac4731ec7a4..ea880d3f7de 100755 --- a/test/src/test/java/org/zstack/test/virtualrouter/TestStartVirtualRouter8.java +++ b/test/src/test/java/org/zstack/test/virtualrouter/TestStartVirtualRouter8.java @@ -19,7 +19,11 @@ import org.zstack.simulator.kvm.KVMSimulatorConfig; import org.zstack.simulator.virtualrouter.VirtualRouterSimulatorConfig; import org.zstack.tag.SystemTagCreator; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSender; +import org.zstack.test.ApiSenderException; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.deployer.Deployer; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; diff --git a/test/src/test/java/org/zstack/test/virtualrouter/TestStartVirtualRouter9.java b/test/src/test/java/org/zstack/test/virtualrouter/TestStartVirtualRouter9.java index d8ade5d8a0b..456afc1761e 100755 --- a/test/src/test/java/org/zstack/test/virtualrouter/TestStartVirtualRouter9.java +++ b/test/src/test/java/org/zstack/test/virtualrouter/TestStartVirtualRouter9.java @@ -19,7 +19,11 @@ import org.zstack.simulator.kvm.KVMSimulatorConfig; import org.zstack.simulator.virtualrouter.VirtualRouterSimulatorConfig; import org.zstack.tag.SystemTagCreator; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSender; +import org.zstack.test.ApiSenderException; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.deployer.Deployer; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; diff --git a/test/src/test/java/org/zstack/test/virtualrouter/TestStartVirtualRouterFailure.java b/test/src/test/java/org/zstack/test/virtualrouter/TestStartVirtualRouterFailure.java index 0277bcfa59b..65f89e39bd3 100755 --- a/test/src/test/java/org/zstack/test/virtualrouter/TestStartVirtualRouterFailure.java +++ b/test/src/test/java/org/zstack/test/virtualrouter/TestStartVirtualRouterFailure.java @@ -17,7 +17,11 @@ import org.zstack.header.vm.VmInstanceVO; import org.zstack.simulator.kvm.KVMSimulatorConfig; import org.zstack.simulator.virtualrouter.VirtualRouterSimulatorConfig; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSender; +import org.zstack.test.ApiSenderException; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.deployer.Deployer; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; diff --git a/test/src/test/java/org/zstack/test/virtualrouter/TestVirtualRouterApplyExistingDhcp.java b/test/src/test/java/org/zstack/test/virtualrouter/TestVirtualRouterApplyExistingDhcp.java index a2a848d8048..d1925895ae5 100755 --- a/test/src/test/java/org/zstack/test/virtualrouter/TestVirtualRouterApplyExistingDhcp.java +++ b/test/src/test/java/org/zstack/test/virtualrouter/TestVirtualRouterApplyExistingDhcp.java @@ -17,11 +17,21 @@ import org.zstack.header.image.ImageInventory; import org.zstack.header.network.l3.L3NetworkInventory; import org.zstack.header.network.l3.L3NetworkVO; -import org.zstack.header.vm.*; +import org.zstack.header.vm.APICreateVmInstanceEvent; +import org.zstack.header.vm.APICreateVmInstanceMsg; +import org.zstack.header.vm.VmInstanceConstant; +import org.zstack.header.vm.VmInstanceState; +import org.zstack.header.vm.VmInstanceVO; +import org.zstack.header.vm.VmInstanceVO_; +import org.zstack.header.vm.VmNicVO; import org.zstack.network.service.virtualrouter.VirtualRouterCommands.DhcpInfo; import org.zstack.simulator.kvm.KVMSimulatorConfig; import org.zstack.simulator.virtualrouter.VirtualRouterSimulatorConfig; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSender; +import org.zstack.test.ApiSenderException; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.deployer.Deployer; import java.util.ArrayList; diff --git a/test/src/test/java/org/zstack/test/virtualrouter/TestVirtualRouterDhcpFailure.java b/test/src/test/java/org/zstack/test/virtualrouter/TestVirtualRouterDhcpFailure.java index fb94e30c84a..ee6a204f9de 100755 --- a/test/src/test/java/org/zstack/test/virtualrouter/TestVirtualRouterDhcpFailure.java +++ b/test/src/test/java/org/zstack/test/virtualrouter/TestVirtualRouterDhcpFailure.java @@ -15,7 +15,11 @@ import org.zstack.header.vm.VmInstanceConstant; import org.zstack.simulator.kvm.KVMSimulatorConfig; import org.zstack.simulator.virtualrouter.VirtualRouterSimulatorConfig; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSender; +import org.zstack.test.ApiSenderException; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.deployer.Deployer; import org.zstack.test.storage.backup.sftp.TestSftpBackupStorageDeleteImage2; import org.zstack.utils.Utils; diff --git a/test/src/test/java/org/zstack/test/virtualrouter/TestVirtualRouterFirewall.java b/test/src/test/java/org/zstack/test/virtualrouter/TestVirtualRouterFirewall.java index 257c33ffebb..bfb7bf9e31b 100755 --- a/test/src/test/java/org/zstack/test/virtualrouter/TestVirtualRouterFirewall.java +++ b/test/src/test/java/org/zstack/test/virtualrouter/TestVirtualRouterFirewall.java @@ -21,7 +21,11 @@ import org.zstack.network.service.virtualrouter.VirtualRouterVmVO; import org.zstack.simulator.appliancevm.ApplianceVmSimulatorConfig; import org.zstack.simulator.virtualrouter.VirtualRouterSimulatorConfig; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSender; +import org.zstack.test.ApiSenderException; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.deployer.Deployer; import org.zstack.utils.CollectionUtils; import org.zstack.utils.RangeSet.Range; diff --git a/test/src/test/java/org/zstack/test/virtualrouter/TestVirtualRouterPortForwarding1000Vm.java b/test/src/test/java/org/zstack/test/virtualrouter/TestVirtualRouterPortForwarding1000Vm.java index 03e288377a7..51eae39222e 100755 --- a/test/src/test/java/org/zstack/test/virtualrouter/TestVirtualRouterPortForwarding1000Vm.java +++ b/test/src/test/java/org/zstack/test/virtualrouter/TestVirtualRouterPortForwarding1000Vm.java @@ -25,7 +25,11 @@ import org.zstack.simulator.SimulatorGlobalProperty; import org.zstack.simulator.kvm.KVMSimulatorConfig; import org.zstack.simulator.virtualrouter.VirtualRouterSimulatorConfig; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.DBUtil; +import org.zstack.test.VmCreator; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.deployer.Deployer; import java.util.ArrayList; diff --git a/test/src/test/java/org/zstack/test/virtualrouter/vyos/TestVyosAfterL2NetworkDetach.java b/test/src/test/java/org/zstack/test/virtualrouter/vyos/TestVyosAfterL2NetworkDetach.java index ccce901216d..5adeb1c8657 100755 --- a/test/src/test/java/org/zstack/test/virtualrouter/vyos/TestVyosAfterL2NetworkDetach.java +++ b/test/src/test/java/org/zstack/test/virtualrouter/vyos/TestVyosAfterL2NetworkDetach.java @@ -16,7 +16,10 @@ import org.zstack.network.service.virtualrouter.portforwarding.PortForwardingRuleTO; import org.zstack.simulator.appliancevm.ApplianceVmSimulatorConfig; import org.zstack.simulator.virtualrouter.VirtualRouterSimulatorConfig; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.deployer.Deployer; import org.zstack.test.virtualrouter.PortForwardingRuleTestValidator; import org.zstack.test.virtualrouter.VipTestValidator; diff --git a/test/src/test/java/org/zstack/test/virtualrouter/vyos/TestVyosApplyExistingDhcp.java b/test/src/test/java/org/zstack/test/virtualrouter/vyos/TestVyosApplyExistingDhcp.java index b76435c8a5c..18d9b50d127 100755 --- a/test/src/test/java/org/zstack/test/virtualrouter/vyos/TestVyosApplyExistingDhcp.java +++ b/test/src/test/java/org/zstack/test/virtualrouter/vyos/TestVyosApplyExistingDhcp.java @@ -17,11 +17,21 @@ import org.zstack.header.image.ImageInventory; import org.zstack.header.network.l3.L3NetworkInventory; import org.zstack.header.network.l3.L3NetworkVO; -import org.zstack.header.vm.*; +import org.zstack.header.vm.APICreateVmInstanceEvent; +import org.zstack.header.vm.APICreateVmInstanceMsg; +import org.zstack.header.vm.VmInstanceConstant; +import org.zstack.header.vm.VmInstanceState; +import org.zstack.header.vm.VmInstanceVO; +import org.zstack.header.vm.VmInstanceVO_; +import org.zstack.header.vm.VmNicVO; import org.zstack.network.service.virtualrouter.VirtualRouterCommands.DhcpInfo; import org.zstack.simulator.kvm.KVMSimulatorConfig; import org.zstack.simulator.virtualrouter.VirtualRouterSimulatorConfig; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSender; +import org.zstack.test.ApiSenderException; +import org.zstack.test.DBUtil; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.deployer.Deployer; import java.util.ArrayList; diff --git a/test/src/test/java/org/zstack/test/virtualrouter/vyos/TestVyosPortForwarding1.java b/test/src/test/java/org/zstack/test/virtualrouter/vyos/TestVyosPortForwarding1.java index 26452ec9fac..a6f6f788d6e 100755 --- a/test/src/test/java/org/zstack/test/virtualrouter/vyos/TestVyosPortForwarding1.java +++ b/test/src/test/java/org/zstack/test/virtualrouter/vyos/TestVyosPortForwarding1.java @@ -17,7 +17,11 @@ import org.zstack.network.service.virtualrouter.VirtualRouterVmVO; import org.zstack.simulator.appliancevm.ApplianceVmSimulatorConfig; import org.zstack.simulator.virtualrouter.VirtualRouterSimulatorConfig; -import org.zstack.test.*; +import org.zstack.test.Api; +import org.zstack.test.ApiSenderException; +import org.zstack.test.DBUtil; +import org.zstack.test.VmCreator; +import org.zstack.test.WebBeanConstructor; import org.zstack.test.deployer.Deployer; import org.zstack.utils.data.SizeUnit; diff --git a/utils/src/main/java/org/zstack/utils/CollectionDSL.java b/utils/src/main/java/org/zstack/utils/CollectionDSL.java index fbfa8a8f5bb..355e2df1e9b 100755 --- a/utils/src/main/java/org/zstack/utils/CollectionDSL.java +++ b/utils/src/main/java/org/zstack/utils/CollectionDSL.java @@ -1,7 +1,11 @@ package org.zstack.utils; -import java.util.*; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; /** */ diff --git a/utils/src/main/java/org/zstack/utils/CollectionUtils.java b/utils/src/main/java/org/zstack/utils/CollectionUtils.java index b04a0635668..664f6fa8c5a 100755 --- a/utils/src/main/java/org/zstack/utils/CollectionUtils.java +++ b/utils/src/main/java/org/zstack/utils/CollectionUtils.java @@ -5,7 +5,16 @@ import org.zstack.utils.function.ListFunction; import org.zstack.utils.logging.CLogger; -import java.util.*; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Comparator; +import java.util.HashSet; +import java.util.LinkedHashSet; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Random; +import java.util.Set; import java.util.concurrent.ConcurrentHashMap; import java.util.function.Predicate; import java.util.stream.Collectors; diff --git a/utils/src/main/java/org/zstack/utils/FieldUtils.java b/utils/src/main/java/org/zstack/utils/FieldUtils.java index 83d3023c792..2cb2d691c4d 100755 --- a/utils/src/main/java/org/zstack/utils/FieldUtils.java +++ b/utils/src/main/java/org/zstack/utils/FieldUtils.java @@ -6,7 +6,11 @@ import java.lang.reflect.Field; import java.lang.reflect.ParameterizedType; import java.lang.reflect.Type; -import java.util.*; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; +import java.util.List; +import java.util.Map; import java.util.function.Function; public class FieldUtils { diff --git a/utils/src/main/java/org/zstack/utils/GroovyUtils.java b/utils/src/main/java/org/zstack/utils/GroovyUtils.java index 3347aab3e32..3ad0c4668bc 100755 --- a/utils/src/main/java/org/zstack/utils/GroovyUtils.java +++ b/utils/src/main/java/org/zstack/utils/GroovyUtils.java @@ -63,7 +63,9 @@ public static Class getClass(String scriptPath, ClassLoader parent) { InputStream in = parent.getResourceAsStream(scriptPath); String script = StringDSL.inputStreamToString(in); clz = loader.parseClass(script); - } catch (IOException ignore) {} + } catch (IOException e) { + /* intentionally ignored: GroovyClassLoader close failure is non-critical */ + } groovyClasses.put(scriptPath, clz); return clz; } diff --git a/utils/src/main/java/org/zstack/utils/MapGetter.java b/utils/src/main/java/org/zstack/utils/MapGetter.java index 1eae92fa4a4..fc4a2370ade 100755 --- a/utils/src/main/java/org/zstack/utils/MapGetter.java +++ b/utils/src/main/java/org/zstack/utils/MapGetter.java @@ -1,6 +1,10 @@ package org.zstack.utils; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Iterator; +import java.util.List; +import java.util.Map; /** * Created by xing5 on 2017/6/15. diff --git a/utils/src/main/java/org/zstack/utils/ProcessFinder.java b/utils/src/main/java/org/zstack/utils/ProcessFinder.java index 40629c766db..3ba63608c5e 100755 --- a/utils/src/main/java/org/zstack/utils/ProcessFinder.java +++ b/utils/src/main/java/org/zstack/utils/ProcessFinder.java @@ -36,7 +36,7 @@ private List getAllProcessFolders() { p.procFolder = f; procs.add(p); } catch (NumberFormatException e) { - // pass + /* intentionally ignored: non-PID directory names in /proc */ } } @@ -66,7 +66,9 @@ public Integer findByCommandLineKeywords(String...words) { if (count == words.length) { return p.pid; } - } catch (IOException ignore) {} + } catch (IOException e) { + /* intentionally ignored: process may have exited between listing and reading */ + } } return null; diff --git a/utils/src/main/java/org/zstack/utils/RangeSet.java b/utils/src/main/java/org/zstack/utils/RangeSet.java index 9f2c8378cf6..b0151c776e0 100755 --- a/utils/src/main/java/org/zstack/utils/RangeSet.java +++ b/utils/src/main/java/org/zstack/utils/RangeSet.java @@ -2,7 +2,15 @@ import org.apache.logging.log4j.util.Strings; -import java.util.*; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; +import java.util.Comparator; +import java.util.HashSet; +import java.util.Iterator; +import java.util.List; +import java.util.Objects; +import java.util.Set; import java.util.stream.Collectors; /** @@ -218,7 +226,9 @@ public static RangeSet valueOf(String str) { String end = range[1].trim(); results.closed(Long.parseLong(start), Long.parseLong(end)); } - } catch (NumberFormatException ignore) {} + } catch (NumberFormatException e) { + /* intentionally ignored: skip unparseable range segments */ + } } return results; diff --git a/utils/src/main/java/org/zstack/utils/ShellUtils.java b/utils/src/main/java/org/zstack/utils/ShellUtils.java index 84d78f3811a..86cc3b690ae 100755 --- a/utils/src/main/java/org/zstack/utils/ShellUtils.java +++ b/utils/src/main/java/org/zstack/utils/ShellUtils.java @@ -4,7 +4,16 @@ import org.zstack.utils.logging.CLogger; import org.zstack.utils.path.PathUtil; -import java.io.*; +import java.io.BufferedReader; +import java.io.BufferedWriter; +import java.io.File; +import java.io.FileWriter; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.io.OutputStreamWriter; +import java.io.PrintWriter; +import java.io.StringWriter; +import java.io.Writer; import java.lang.reflect.Field; import java.util.Arrays; import java.util.concurrent.TimeUnit; diff --git a/utils/src/main/java/org/zstack/utils/TagUtils.java b/utils/src/main/java/org/zstack/utils/TagUtils.java index 823a7af6dc2..cc698b42a53 100755 --- a/utils/src/main/java/org/zstack/utils/TagUtils.java +++ b/utils/src/main/java/org/zstack/utils/TagUtils.java @@ -3,7 +3,11 @@ import org.apache.commons.codec.binary.StringUtils; import org.apache.logging.log4j.util.Strings; -import java.util.*; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; /** */ diff --git a/utils/src/main/java/org/zstack/utils/Utils.java b/utils/src/main/java/org/zstack/utils/Utils.java index 493f86b082d..deecfed391f 100755 --- a/utils/src/main/java/org/zstack/utils/Utils.java +++ b/utils/src/main/java/org/zstack/utils/Utils.java @@ -15,7 +15,9 @@ import org.zstack.utils.tester.ZTester; import org.zstack.utils.tester.ZTesterImpl; -import java.util.*; +import java.util.Collections; +import java.util.HashMap; +import java.util.Map; import java.util.function.Function; import java.util.regex.Pattern; diff --git a/utils/src/main/java/org/zstack/utils/VipUseForList.java b/utils/src/main/java/org/zstack/utils/VipUseForList.java index 4892680c618..00bae6840ce 100644 --- a/utils/src/main/java/org/zstack/utils/VipUseForList.java +++ b/utils/src/main/java/org/zstack/utils/VipUseForList.java @@ -2,7 +2,10 @@ import org.zstack.utils.logging.CLogger; -import java.util.*; +import java.util.ArrayList; +import java.util.Collection; +import java.util.HashSet; +import java.util.List; /** * Created by shixin 2017/10/06 diff --git a/utils/src/main/java/org/zstack/utils/WebUtils.java b/utils/src/main/java/org/zstack/utils/WebUtils.java index be2b36d2b17..1429e9c6d9a 100644 --- a/utils/src/main/java/org/zstack/utils/WebUtils.java +++ b/utils/src/main/java/org/zstack/utils/WebUtils.java @@ -10,7 +10,9 @@ public static Integer getFreePort(){ ServerSocket s = new ServerSocket(0); port = s.getLocalPort(); s.close(); - } catch (IOException ignored) {} + } catch (IOException e) { + /* intentionally ignored: port allocation is best-effort */ + } return port; } } diff --git a/utils/src/main/java/org/zstack/utils/data/ArrayHelper.java b/utils/src/main/java/org/zstack/utils/data/ArrayHelper.java index ea1551a26f3..a793c18a180 100755 --- a/utils/src/main/java/org/zstack/utils/data/ArrayHelper.java +++ b/utils/src/main/java/org/zstack/utils/data/ArrayHelper.java @@ -3,7 +3,12 @@ import java.io.IOException; import java.lang.reflect.Array; import java.lang.reflect.Field; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; +import java.util.Collections; +import java.util.Enumeration; +import java.util.List; import static org.zstack.utils.ObjectUtils.serializableCopy; diff --git a/utils/src/main/java/org/zstack/utils/form/CsvReader.java b/utils/src/main/java/org/zstack/utils/form/CsvReader.java index 5e310e7bf3c..e26a8e0aaf4 100644 --- a/utils/src/main/java/org/zstack/utils/form/CsvReader.java +++ b/utils/src/main/java/org/zstack/utils/form/CsvReader.java @@ -66,7 +66,9 @@ private List getRecords(String content) { if (records.isEmpty() || tempRecords.get(0).length > records.get(0).length) { records = tempRecords; } - } catch (IOException ignored) {} + } catch (IOException e) { + /* intentionally ignored: try next CSV format */ + } } if (records.size() > 1 && records.get(0).length != 0) { diff --git a/utils/src/main/java/org/zstack/utils/form/Form.java b/utils/src/main/java/org/zstack/utils/form/Form.java index abe47906f46..df553c40563 100644 --- a/utils/src/main/java/org/zstack/utils/form/Form.java +++ b/utils/src/main/java/org/zstack/utils/form/Form.java @@ -6,7 +6,15 @@ import java.io.IOException; import java.lang.reflect.Field; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import java.util.TreeMap; import java.util.stream.Collectors; public class Form { diff --git a/utils/src/main/java/org/zstack/utils/hash/ConsistentHash.java b/utils/src/main/java/org/zstack/utils/hash/ConsistentHash.java index 38f6a2f2ca5..aa86e657955 100755 --- a/utils/src/main/java/org/zstack/utils/hash/ConsistentHash.java +++ b/utils/src/main/java/org/zstack/utils/hash/ConsistentHash.java @@ -3,7 +3,12 @@ import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; -import java.util.*; +import java.util.Collection; +import java.util.Collections; +import java.util.HashSet; +import java.util.Set; +import java.util.SortedMap; +import java.util.TreeMap; public class ConsistentHash { private final CLogger logger = Utils.getLogger(ConsistentHash.class); diff --git a/utils/src/main/java/org/zstack/utils/network/NetworkUtils.java b/utils/src/main/java/org/zstack/utils/network/NetworkUtils.java index 3a7859fec8d..aae87b8bb88 100755 --- a/utils/src/main/java/org/zstack/utils/network/NetworkUtils.java +++ b/utils/src/main/java/org/zstack/utils/network/NetworkUtils.java @@ -12,9 +12,23 @@ import org.zstack.utils.logging.CLogger; import java.io.IOException; -import java.net.*; +import java.net.InetAddress; +import java.net.InetSocketAddress; +import java.net.Socket; +import java.net.SocketAddress; +import java.net.SocketException; +import java.net.UnknownHostException; import java.nio.ByteBuffer; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.BitSet; +import java.util.Collection; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Random; +import java.util.TreeSet; import java.util.regex.Matcher; import java.util.regex.Pattern; import java.util.stream.Collectors; diff --git a/utils/src/main/java/org/zstack/utils/path/PathUtil.java b/utils/src/main/java/org/zstack/utils/path/PathUtil.java index fcabfffd20b..548ec97b402 100755 --- a/utils/src/main/java/org/zstack/utils/path/PathUtil.java +++ b/utils/src/main/java/org/zstack/utils/path/PathUtil.java @@ -7,15 +7,38 @@ import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; -import java.io.*; +import java.io.BufferedReader; +import java.io.BufferedWriter; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.FileWriter; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; import java.net.URI; import java.net.URISyntaxException; import java.net.URL; import java.nio.charset.Charset; import java.nio.charset.StandardCharsets; -import java.nio.file.*; -import java.nio.file.attribute.*; -import java.util.*; +import java.nio.file.FileSystem; +import java.nio.file.FileSystems; +import java.nio.file.Files; +import java.nio.file.InvalidPathException; +import java.nio.file.LinkOption; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.nio.file.attribute.FileTime; +import java.nio.file.attribute.GroupPrincipal; +import java.nio.file.attribute.PosixFileAttributeView; +import java.nio.file.attribute.PosixFilePermission; +import java.nio.file.attribute.PosixFilePermissions; +import java.nio.file.attribute.UserPrincipal; +import java.nio.file.attribute.UserPrincipalLookupService; +import java.util.ArrayList; +import java.util.List; +import java.util.Optional; +import java.util.Set; public class PathUtil { private static final CLogger logger = Utils.getLogger(PathUtil.class); diff --git a/utils/src/main/java/org/zstack/utils/serializable/SerializableHelper.java b/utils/src/main/java/org/zstack/utils/serializable/SerializableHelper.java index e844d2d8750..2f703a9b6d6 100755 --- a/utils/src/main/java/org/zstack/utils/serializable/SerializableHelper.java +++ b/utils/src/main/java/org/zstack/utils/serializable/SerializableHelper.java @@ -1,6 +1,10 @@ package org.zstack.utils.serializable; -import java.io.*; +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.io.ObjectInputStream; +import java.io.ObjectOutputStream; public class SerializableHelper { diff --git a/utils/src/main/java/org/zstack/utils/ssh/Ssh.java b/utils/src/main/java/org/zstack/utils/ssh/Ssh.java index 69de299e258..473618c1166 100755 --- a/utils/src/main/java/org/zstack/utils/ssh/Ssh.java +++ b/utils/src/main/java/org/zstack/utils/ssh/Ssh.java @@ -16,7 +16,12 @@ import java.io.File; import java.io.IOException; import java.io.InputStream; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.UUID; import java.util.concurrent.TimeUnit; import static org.zstack.utils.CollectionDSL.e; diff --git a/utils/src/main/java/org/zstack/utils/string/GetCpuRangeMethod.java b/utils/src/main/java/org/zstack/utils/string/GetCpuRangeMethod.java index 3f7b984f9ec..0af928f0f97 100644 --- a/utils/src/main/java/org/zstack/utils/string/GetCpuRangeMethod.java +++ b/utils/src/main/java/org/zstack/utils/string/GetCpuRangeMethod.java @@ -1,6 +1,10 @@ package org.zstack.utils.string; -import java.util.*; +import java.util.ArrayList; +import java.util.Comparator; +import java.util.HashSet; +import java.util.List; +import java.util.Set; import java.util.stream.Collectors; import java.util.stream.IntStream; diff --git a/utils/src/main/java/org/zstack/utils/string/StringSimilarity.java b/utils/src/main/java/org/zstack/utils/string/StringSimilarity.java index be5d1a5442f..9d9e456d12b 100644 --- a/utils/src/main/java/org/zstack/utils/string/StringSimilarity.java +++ b/utils/src/main/java/org/zstack/utils/string/StringSimilarity.java @@ -14,7 +14,12 @@ import java.io.File; import java.io.IOException; import java.nio.charset.Charset; -import java.util.*; +import java.util.ArrayList; +import java.util.Collections; +import java.util.Comparator; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; import java.util.concurrent.ConcurrentHashMap; import java.util.regex.Pattern; diff --git a/utils/src/main/java/org/zstack/utils/verify/ParamValidator.java b/utils/src/main/java/org/zstack/utils/verify/ParamValidator.java index 1294a283441..13cd5ba7441 100644 --- a/utils/src/main/java/org/zstack/utils/verify/ParamValidator.java +++ b/utils/src/main/java/org/zstack/utils/verify/ParamValidator.java @@ -1,6 +1,10 @@ package org.zstack.utils.verify; -import org.zstack.utils.*; +import org.zstack.utils.BeanUtils; +import org.zstack.utils.DebugUtils; +import org.zstack.utils.FieldUtils; +import org.zstack.utils.StringDSL; +import org.zstack.utils.TypeUtils; import java.lang.reflect.Field; import java.util.ArrayList; diff --git a/utils/src/test/java/org/zstack/utils/test/TestConsistentHash.java b/utils/src/test/java/org/zstack/utils/test/TestConsistentHash.java index fbb414db9a8..9e49941d902 100644 --- a/utils/src/test/java/org/zstack/utils/test/TestConsistentHash.java +++ b/utils/src/test/java/org/zstack/utils/test/TestConsistentHash.java @@ -4,7 +4,12 @@ import org.zstack.utils.hash.ApacheHash; import org.zstack.utils.hash.ConsistentHash; -import java.util.*; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.UUID; /** * Created with IntelliJ IDEA. diff --git a/utils/src/test/java/org/zstack/utils/test/TestURI.java b/utils/src/test/java/org/zstack/utils/test/TestURI.java index 676e4f2ea6f..b4c7523a05d 100644 --- a/utils/src/test/java/org/zstack/utils/test/TestURI.java +++ b/utils/src/test/java/org/zstack/utils/test/TestURI.java @@ -3,7 +3,8 @@ import org.junit.Test; import java.io.UnsupportedEncodingException; -import java.net.*; +import java.net.MalformedURLException; +import java.net.URISyntaxException; import java.util.List; import static org.zstack.utils.CollectionDSL.list;