diff --git a/.mvn/jvm.config b/.mvn/jvm.config new file mode 100644 index 00000000000..f357a6dc075 --- /dev/null +++ b/.mvn/jvm.config @@ -0,0 +1,13 @@ +-Dzstack.skipPlatformInit=true +--add-opens java.base/java.util=ALL-UNNAMED +--add-opens java.base/java.lang=ALL-UNNAMED +--add-opens java.base/java.lang.reflect=ALL-UNNAMED +--add-opens java.base/java.text=ALL-UNNAMED +--add-opens java.base/java.io=ALL-UNNAMED +--add-opens java.base/java.math=ALL-UNNAMED +--add-opens java.base/java.net=ALL-UNNAMED +--add-opens java.base/java.nio=ALL-UNNAMED +--add-opens java.base/java.security=ALL-UNNAMED +--add-opens java.base/java.time=ALL-UNNAMED +--add-opens java.base/sun.nio.ch=ALL-UNNAMED +--add-opens java.base/sun.security.ssl=ALL-UNNAMED diff --git a/abstraction/pom.xml b/abstraction/pom.xml index f43ae6f7e96..09a1353d9d9 100644 --- a/abstraction/pom.xml +++ b/abstraction/pom.xml @@ -15,24 +15,11 @@ maven-compiler-plugin ${project.compiler.version} - groovy-eclipse-compiler ${project.java.version} ${project.java.version} lines,vars,source true - - - org.codehaus.groovy - groovy-eclipse-compiler - ${groovy.eclipse.compiler} - - - org.codehaus.groovy - groovy-eclipse-batch - ${groovy.eclipse.batch} - - diff --git a/build/deploydb.sh b/build/deploydb.sh index dc9c5478d23..e08e597855e 100755 --- a/build/deploydb.sh +++ b/build/deploydb.sh @@ -70,12 +70,16 @@ mkdir -p ${flyway_sql} eval "rm -f ${flyway_sql}/*" cp ${base}/../conf/db/V0.6__schema.sql ${flyway_sql} -cp ${base}/../conf/db/upgrade/* ${flyway_sql} +for f in ${base}/../conf/db/upgrade/*; do + [ "$(basename "$f")" = "beforeValidate.sql" ] && continue + cp "$f" ${flyway_sql} +done +tz_param="?serverTimezone=Asia/Shanghai" if [[ ! -n $host ]] || [[ ! -n $port ]];then - url="jdbc:mysql://localhost:3306/zstack" + url="jdbc:mysql://localhost:3306/zstack${tz_param}" else - url="jdbc:mysql://$host:$port/zstack" + url="jdbc:mysql://$host:$port/zstack${tz_param}" fi ${flyway} -user=${user} -password=${password} -url=${url} clean @@ -90,9 +94,9 @@ eval "rm -f ${flyway_sql}/*" cp ${base}/../conf/db/V0.6__schema_buildin_httpserver.sql ${flyway_sql} if [[ ! -n $host ]] || [[ ! -n $port ]];then - url="jdbc:mysql://localhost:3306/zstack_rest" + url="jdbc:mysql://localhost:3306/zstack_rest${tz_param}" else - url="jdbc:mysql://$host:$port/zstack_rest" + url="jdbc:mysql://$host:$port/zstack_rest${tz_param}" fi ${flyway} -user=${user} -password=${password} -url=${url} clean ${flyway} -outOfOrder=true -user=${user} -password=${password} -url=${url} migrate diff --git a/build/pom.xml b/build/pom.xml index 6801d25cbba..e67a85c4f20 100755 --- a/build/pom.xml +++ b/build/pom.xml @@ -18,7 +18,7 @@ maven-war-plugin - 2.3 + 3.4.0 %regex[WEB-INF/lib/maven(?!-artifact).*.jar], @@ -29,7 +29,6 @@ WEB-INF/lib/regexp*.jar, WEB-INF/lib/jtidy*.jar, WEB-INF/lib/servlet-api*.jar, - WEB-INF/lib/c3p0-0.9.1.1.jar, WEB-INF/lib/reflections-0.9.8.jar, WEB-INF/lib/groovy-2.4.7.jar, WEB-INF/lib/sisu-guava-0.9.9.jar, @@ -670,7 +669,7 @@ maven-war-plugin - 2.3 + 3.4.0 %regex[WEB-INF/lib/maven(?!-artifact).*.jar], @@ -681,7 +680,6 @@ WEB-INF/lib/regexp*.jar, WEB-INF/lib/jtidy*.jar, WEB-INF/lib/servlet-api*.jar, - WEB-INF/lib/c3p0-0.9.1.1.jar, WEB-INF/lib/reflections-0.9.8.jar, WEB-INF/lib/groovy-2.4.7.jar, diff --git a/compute/pom.xml b/compute/pom.xml index d7543119ad7..2f0eb5ecfbf 100755 --- a/compute/pom.xml +++ b/compute/pom.xml @@ -18,29 +18,55 @@ maven-compiler-plugin ${project.compiler.version} - groovy-eclipse-compiler ${project.java.version} ${project.java.version} lines,vars,source true - - - org.codehaus.groovy - groovy-eclipse-compiler - ${groovy.eclipse.compiler} - - - org.codehaus.groovy - groovy-eclipse-batch - ${groovy.eclipse.batch} - - - org.codehaus.mojo + org.codehaus.gmavenplus + gmavenplus-plugin + 3.0.2 + + + + ${project.basedir}/src/main/java + + **/*.groovy + + + + + + + groovy-stubs + generateStubsremoveStubs + + + groovy-compile + compile + + + + + org.apache.groovy + groovy + ${groovy.version} + + + + + dev.aspectj aspectj-maven-plugin ${aspectj.plugin.version} + + + org.aspectj + aspectjtools + ${aspectj.version} + + 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..4a6279b1fc6 100644 --- a/compute/src/main/java/org/zstack/compute/allocator/AttachedL2NetworkAllocatorFlow.java +++ b/compute/src/main/java/org/zstack/compute/allocator/AttachedL2NetworkAllocatorFlow.java @@ -14,8 +14,8 @@ import org.zstack.header.network.l2.*; import org.zstack.header.network.l3.L3NetworkInventory; -import javax.persistence.Tuple; -import javax.persistence.TypedQuery; +import jakarta.persistence.Tuple; +import jakarta.persistence.TypedQuery; import java.util.*; import java.util.stream.Collectors; diff --git a/compute/src/main/java/org/zstack/compute/allocator/AttachedPrimaryStorageAllocatorFlow.java b/compute/src/main/java/org/zstack/compute/allocator/AttachedPrimaryStorageAllocatorFlow.java index 743f85f04a7..d4ccbeca1da 100755 --- a/compute/src/main/java/org/zstack/compute/allocator/AttachedPrimaryStorageAllocatorFlow.java +++ b/compute/src/main/java/org/zstack/compute/allocator/AttachedPrimaryStorageAllocatorFlow.java @@ -17,7 +17,7 @@ import org.zstack.utils.function.Function; import org.zstack.utils.logging.CLogger; -import javax.persistence.TypedQuery; +import jakarta.persistence.TypedQuery; import java.util.List; import java.util.Set; import static org.zstack.utils.clouderrorcode.CloudOperationsErrorCode.*; diff --git a/compute/src/main/java/org/zstack/compute/allocator/BackupStorageSelectPrimaryStorageAllocatorFlow.java b/compute/src/main/java/org/zstack/compute/allocator/BackupStorageSelectPrimaryStorageAllocatorFlow.java index 70d748c98c9..a0eb9094a36 100755 --- a/compute/src/main/java/org/zstack/compute/allocator/BackupStorageSelectPrimaryStorageAllocatorFlow.java +++ b/compute/src/main/java/org/zstack/compute/allocator/BackupStorageSelectPrimaryStorageAllocatorFlow.java @@ -18,7 +18,7 @@ import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; -import javax.persistence.TypedQuery; +import jakarta.persistence.TypedQuery; import java.util.List; import static org.zstack.core.Platform.inerr; diff --git a/compute/src/main/java/org/zstack/compute/allocator/DesignatedHostAllocatorFlow.java b/compute/src/main/java/org/zstack/compute/allocator/DesignatedHostAllocatorFlow.java index 72386b3dd3e..3191930332d 100755 --- a/compute/src/main/java/org/zstack/compute/allocator/DesignatedHostAllocatorFlow.java +++ b/compute/src/main/java/org/zstack/compute/allocator/DesignatedHostAllocatorFlow.java @@ -15,7 +15,7 @@ import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; -import javax.persistence.TypedQuery; +import jakarta.persistence.TypedQuery; import java.util.ArrayList; import java.util.List; import static org.zstack.utils.clouderrorcode.CloudOperationsErrorCode.*; 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 48544a68333..aad813615a4 100755 --- a/compute/src/main/java/org/zstack/compute/allocator/HostAllocatorManagerImpl.java +++ b/compute/src/main/java/org/zstack/compute/allocator/HostAllocatorManagerImpl.java @@ -45,8 +45,8 @@ import org.zstack.utils.function.Function; import org.zstack.utils.logging.CLogger; -import javax.persistence.Tuple; -import javax.persistence.TypedQuery; +import jakarta.persistence.Tuple; +import jakarta.persistence.TypedQuery; import java.text.DecimalFormat; import java.util.*; import java.util.concurrent.Callable; diff --git a/compute/src/main/java/org/zstack/compute/allocator/HostCapacityReserveManagerImpl.java b/compute/src/main/java/org/zstack/compute/allocator/HostCapacityReserveManagerImpl.java index aa4a0a6de31..b8f849a4f10 100755 --- a/compute/src/main/java/org/zstack/compute/allocator/HostCapacityReserveManagerImpl.java +++ b/compute/src/main/java/org/zstack/compute/allocator/HostCapacityReserveManagerImpl.java @@ -18,7 +18,7 @@ import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; -import javax.persistence.Tuple; +import jakarta.persistence.Tuple; import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; diff --git a/compute/src/main/java/org/zstack/compute/allocator/HostCapacityUpdater.java b/compute/src/main/java/org/zstack/compute/allocator/HostCapacityUpdater.java index 2d7cd71a836..9c35bb3af23 100755 --- a/compute/src/main/java/org/zstack/compute/allocator/HostCapacityUpdater.java +++ b/compute/src/main/java/org/zstack/compute/allocator/HostCapacityUpdater.java @@ -10,8 +10,8 @@ import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; -import javax.persistence.LockModeType; -import javax.persistence.TypedQuery; +import jakarta.persistence.LockModeType; +import jakarta.persistence.TypedQuery; import java.util.List; /** diff --git a/compute/src/main/java/org/zstack/compute/allocator/HostCpuOverProvisioningManagerImpl.java b/compute/src/main/java/org/zstack/compute/allocator/HostCpuOverProvisioningManagerImpl.java index 763093cc4d6..c34c4372b99 100755 --- a/compute/src/main/java/org/zstack/compute/allocator/HostCpuOverProvisioningManagerImpl.java +++ b/compute/src/main/java/org/zstack/compute/allocator/HostCpuOverProvisioningManagerImpl.java @@ -15,7 +15,7 @@ import org.zstack.utils.CollectionUtils; import org.zstack.utils.function.Function; -import javax.persistence.Query; +import jakarta.persistence.Query; import java.util.List; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; 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..3063e475a54 100755 --- a/compute/src/main/java/org/zstack/compute/allocator/HostPrimaryStorageAllocatorFlow.java +++ b/compute/src/main/java/org/zstack/compute/allocator/HostPrimaryStorageAllocatorFlow.java @@ -18,8 +18,8 @@ import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; -import javax.persistence.Tuple; -import javax.persistence.TypedQuery; +import jakarta.persistence.Tuple; +import jakarta.persistence.TypedQuery; import java.util.*; import java.util.stream.Collectors; import static org.zstack.utils.clouderrorcode.CloudOperationsErrorCode.*; 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..3e8bb0f68a6 100755 --- a/compute/src/main/java/org/zstack/compute/allocator/LeastVmPreferredSortFlow.java +++ b/compute/src/main/java/org/zstack/compute/allocator/LeastVmPreferredSortFlow.java @@ -11,7 +11,7 @@ import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; -import javax.persistence.Tuple; +import jakarta.persistence.Tuple; import java.util.*; import java.util.stream.Collectors; diff --git a/compute/src/main/java/org/zstack/compute/allocator/PrimaryStoragePrioritySortFlow.java b/compute/src/main/java/org/zstack/compute/allocator/PrimaryStoragePrioritySortFlow.java index 8ef37ff197d..57718d56acd 100644 --- a/compute/src/main/java/org/zstack/compute/allocator/PrimaryStoragePrioritySortFlow.java +++ b/compute/src/main/java/org/zstack/compute/allocator/PrimaryStoragePrioritySortFlow.java @@ -16,7 +16,7 @@ import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; -import javax.persistence.Tuple; +import jakarta.persistence.Tuple; import java.util.Comparator; import java.util.HashMap; import java.util.List; 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..1e9e9da3ccc 100644 --- a/compute/src/main/java/org/zstack/compute/allocator/QuotaAllocatorFlow.java +++ b/compute/src/main/java/org/zstack/compute/allocator/QuotaAllocatorFlow.java @@ -19,7 +19,7 @@ import org.zstack.utils.Utils; import org.zstack.core.db.SimpleQuery; import org.zstack.header.host.*; -import javax.persistence.TypedQuery; +import jakarta.persistence.TypedQuery; import java.util.*; 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..f596fc6c4ad 100644 --- a/compute/src/main/java/org/zstack/compute/allocator/StoppedVmAwareLeastVmPreferredSortFlow.java +++ b/compute/src/main/java/org/zstack/compute/allocator/StoppedVmAwareLeastVmPreferredSortFlow.java @@ -14,7 +14,7 @@ import org.zstack.header.vm.VmInstanceState; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; -import javax.persistence.Tuple; +import jakarta.persistence.Tuple; import java.util.*; import java.util.stream.Collectors; 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..2fc58c2c7d3 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 @@ -16,7 +16,7 @@ import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; -import javax.persistence.Tuple; +import jakarta.persistence.Tuple; import java.util.*; /** 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..d7aee74eef2 100755 --- a/compute/src/main/java/org/zstack/compute/host/HostManagerImpl.java +++ b/compute/src/main/java/org/zstack/compute/host/HostManagerImpl.java @@ -50,7 +50,7 @@ import org.zstack.utils.function.ForEachFunction; import org.zstack.utils.logging.CLogger; -import javax.persistence.Tuple; +import jakarta.persistence.Tuple; import java.util.*; import java.util.concurrent.Future; import java.util.concurrent.TimeUnit; diff --git a/compute/src/main/java/org/zstack/compute/host/HostTrackImpl.java b/compute/src/main/java/org/zstack/compute/host/HostTrackImpl.java index 48ed6a7dc48..0095a6ea42b 100755 --- a/compute/src/main/java/org/zstack/compute/host/HostTrackImpl.java +++ b/compute/src/main/java/org/zstack/compute/host/HostTrackImpl.java @@ -25,7 +25,7 @@ import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; -import javax.persistence.Tuple; +import jakarta.persistence.Tuple; import java.util.*; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.TimeUnit; diff --git a/compute/src/main/java/org/zstack/compute/vm/ImageBackupStorageSelector.java b/compute/src/main/java/org/zstack/compute/vm/ImageBackupStorageSelector.java index b0021c843ba..016d23d5ff4 100755 --- a/compute/src/main/java/org/zstack/compute/vm/ImageBackupStorageSelector.java +++ b/compute/src/main/java/org/zstack/compute/vm/ImageBackupStorageSelector.java @@ -8,7 +8,7 @@ import org.zstack.header.image.ImageStatus; import org.zstack.header.storage.backup.BackupStorageStatus; -import javax.persistence.TypedQuery; +import jakarta.persistence.TypedQuery; import java.util.List; /** diff --git a/compute/src/main/java/org/zstack/compute/vm/StaticIpOperator.java b/compute/src/main/java/org/zstack/compute/vm/StaticIpOperator.java index 86ca327ae93..2919c8f06a3 100755 --- a/compute/src/main/java/org/zstack/compute/vm/StaticIpOperator.java +++ b/compute/src/main/java/org/zstack/compute/vm/StaticIpOperator.java @@ -28,7 +28,7 @@ import org.zstack.utils.network.IPv6NetworkUtils; import org.zstack.utils.network.NetworkUtils; -import javax.persistence.Tuple; +import jakarta.persistence.Tuple; import java.util.ArrayList; import java.util.HashMap; import java.util.List; diff --git a/compute/src/main/java/org/zstack/compute/vm/VmAllocateHostAndPrimaryStorageFlow.java b/compute/src/main/java/org/zstack/compute/vm/VmAllocateHostAndPrimaryStorageFlow.java index 0bf4d044535..8e76355ca07 100644 --- a/compute/src/main/java/org/zstack/compute/vm/VmAllocateHostAndPrimaryStorageFlow.java +++ b/compute/src/main/java/org/zstack/compute/vm/VmAllocateHostAndPrimaryStorageFlow.java @@ -35,7 +35,7 @@ import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; -import javax.persistence.Tuple; +import jakarta.persistence.Tuple; import java.util.*; import java.util.stream.Collectors; diff --git a/compute/src/main/java/org/zstack/compute/vm/VmCascadeExtension.java b/compute/src/main/java/org/zstack/compute/vm/VmCascadeExtension.java index 5b2dd2f399a..39d2e326690 100755 --- a/compute/src/main/java/org/zstack/compute/vm/VmCascadeExtension.java +++ b/compute/src/main/java/org/zstack/compute/vm/VmCascadeExtension.java @@ -49,9 +49,9 @@ import org.zstack.utils.logging.CLogger; import org.zstack.utils.network.IPv6Constants; -import javax.persistence.Query; -import javax.persistence.Tuple; -import javax.persistence.TypedQuery; +import jakarta.persistence.Query; +import jakarta.persistence.Tuple; +import jakarta.persistence.TypedQuery; import java.util.*; import java.util.concurrent.Callable; import java.util.stream.Collectors; diff --git a/compute/src/main/java/org/zstack/compute/vm/VmCdRomUpgradeExtension.java b/compute/src/main/java/org/zstack/compute/vm/VmCdRomUpgradeExtension.java index c4699980258..64a070b4301 100644 --- a/compute/src/main/java/org/zstack/compute/vm/VmCdRomUpgradeExtension.java +++ b/compute/src/main/java/org/zstack/compute/vm/VmCdRomUpgradeExtension.java @@ -18,7 +18,7 @@ import org.zstack.identity.Account; import java.util.HashMap; import java.util.Map; -import javax.persistence.Tuple; +import jakarta.persistence.Tuple; import java.util.ArrayList; import java.util.List; diff --git a/compute/src/main/java/org/zstack/compute/vm/VmDeleteVolumeFlow.java b/compute/src/main/java/org/zstack/compute/vm/VmDeleteVolumeFlow.java index 8acb64f9bc3..af2052be9aa 100755 --- a/compute/src/main/java/org/zstack/compute/vm/VmDeleteVolumeFlow.java +++ b/compute/src/main/java/org/zstack/compute/vm/VmDeleteVolumeFlow.java @@ -23,7 +23,7 @@ import org.zstack.utils.function.Function; import org.zstack.utils.logging.CLogger; -import javax.persistence.Query; +import jakarta.persistence.Query; import java.util.Arrays; import java.util.List; import java.util.Map; diff --git a/compute/src/main/java/org/zstack/compute/vm/VmExtraInfoGetter.java b/compute/src/main/java/org/zstack/compute/vm/VmExtraInfoGetter.java index 2cffe0f0b90..ccd25ccee16 100644 --- a/compute/src/main/java/org/zstack/compute/vm/VmExtraInfoGetter.java +++ b/compute/src/main/java/org/zstack/compute/vm/VmExtraInfoGetter.java @@ -10,7 +10,7 @@ import org.zstack.core.db.SQL; import org.zstack.header.volume.VolumeType; -import javax.persistence.Tuple; +import jakarta.persistence.Tuple; import java.util.List; /** diff --git a/compute/src/main/java/org/zstack/compute/vm/VmImageSelectBackupStorageFlow.java b/compute/src/main/java/org/zstack/compute/vm/VmImageSelectBackupStorageFlow.java index 893020ea582..29a2369e73d 100755 --- a/compute/src/main/java/org/zstack/compute/vm/VmImageSelectBackupStorageFlow.java +++ b/compute/src/main/java/org/zstack/compute/vm/VmImageSelectBackupStorageFlow.java @@ -22,7 +22,7 @@ import org.zstack.utils.DebugUtils; import org.zstack.utils.function.Function; -import javax.persistence.TypedQuery; +import jakarta.persistence.TypedQuery; import java.util.Collections; import java.util.HashSet; import java.util.List; diff --git a/compute/src/main/java/org/zstack/compute/vm/VmInstanceApiInterceptor.java b/compute/src/main/java/org/zstack/compute/vm/VmInstanceApiInterceptor.java index ab57c1845ad..f04b024ba31 100755 --- a/compute/src/main/java/org/zstack/compute/vm/VmInstanceApiInterceptor.java +++ b/compute/src/main/java/org/zstack/compute/vm/VmInstanceApiInterceptor.java @@ -53,8 +53,8 @@ import org.zstack.utils.network.NetworkUtils; import org.zstack.utils.network.NicIpAddressInfo; -import javax.persistence.Tuple; -import javax.persistence.TypedQuery; +import jakarta.persistence.Tuple; +import jakarta.persistence.TypedQuery; import java.util.*; import java.util.stream.Collectors; diff --git a/compute/src/main/java/org/zstack/compute/vm/VmInstanceBase.java b/compute/src/main/java/org/zstack/compute/vm/VmInstanceBase.java index 80ba38486fc..2bbc43b2e7d 100755 --- a/compute/src/main/java/org/zstack/compute/vm/VmInstanceBase.java +++ b/compute/src/main/java/org/zstack/compute/vm/VmInstanceBase.java @@ -83,8 +83,8 @@ import org.zstack.utils.network.IPv6NetworkUtils; import org.zstack.utils.network.NetworkUtils; -import javax.persistence.PersistenceException; -import javax.persistence.TypedQuery; +import jakarta.persistence.PersistenceException; +import jakarta.persistence.TypedQuery; import java.sql.Timestamp; import java.time.LocalDateTime; import java.util.*; 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..d2deceba539 100755 --- a/compute/src/main/java/org/zstack/compute/vm/VmInstanceManagerImpl.java +++ b/compute/src/main/java/org/zstack/compute/vm/VmInstanceManagerImpl.java @@ -80,9 +80,9 @@ import org.zstack.utils.network.IPv6NetworkUtils; import org.zstack.utils.network.NetworkUtils; -import javax.persistence.PersistenceException; -import javax.persistence.Tuple; -import javax.persistence.TypedQuery; +import jakarta.persistence.PersistenceException; +import jakarta.persistence.Tuple; +import jakarta.persistence.TypedQuery; import java.sql.SQLIntegrityConstraintViolationException; import java.sql.Timestamp; import java.util.*; 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..8b1b263e2fc 100755 --- a/compute/src/main/java/org/zstack/compute/vm/VmNicFactory.java +++ b/compute/src/main/java/org/zstack/compute/vm/VmNicFactory.java @@ -12,7 +12,7 @@ import org.zstack.utils.logging.CLogger; import org.zstack.utils.network.NetworkUtils; -import javax.persistence.PersistenceException; +import jakarta.persistence.PersistenceException; import java.sql.SQLIntegrityConstraintViolationException; import static org.zstack.core.Platform.err; diff --git a/compute/src/main/java/org/zstack/compute/vm/VmNicManagerImpl.java b/compute/src/main/java/org/zstack/compute/vm/VmNicManagerImpl.java index 31b3e35d32a..4da696cc786 100644 --- a/compute/src/main/java/org/zstack/compute/vm/VmNicManagerImpl.java +++ b/compute/src/main/java/org/zstack/compute/vm/VmNicManagerImpl.java @@ -29,7 +29,7 @@ import org.zstack.utils.logging.CLogger; import org.zstack.utils.network.IPv6Constants; -import javax.persistence.Tuple; +import jakarta.persistence.Tuple; import java.util.*; import java.util.stream.Collectors; 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 10dfb0d7610..49b6ec19683 100644 --- a/compute/src/main/java/org/zstack/compute/vm/VmQuotaOperator.java +++ b/compute/src/main/java/org/zstack/compute/vm/VmQuotaOperator.java @@ -20,8 +20,8 @@ import org.zstack.identity.QuotaUtil; import org.zstack.utils.data.Pair; -import javax.persistence.Tuple; -import javax.persistence.TypedQuery; +import jakarta.persistence.Tuple; +import jakarta.persistence.TypedQuery; import java.util.ArrayList; import java.util.HashMap; import java.util.List; diff --git a/compute/src/main/java/org/zstack/compute/vm/VmQuotaUtil.java b/compute/src/main/java/org/zstack/compute/vm/VmQuotaUtil.java index dd76200386b..77aa44b53aa 100755 --- a/compute/src/main/java/org/zstack/compute/vm/VmQuotaUtil.java +++ b/compute/src/main/java/org/zstack/compute/vm/VmQuotaUtil.java @@ -15,8 +15,8 @@ import org.zstack.header.volume.VolumeVO; import org.zstack.header.volume.VolumeVO_; -import javax.persistence.Tuple; -import javax.persistence.TypedQuery; +import jakarta.persistence.Tuple; +import jakarta.persistence.TypedQuery; import static org.zstack.utils.CollectionDSL.list; 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..2f90ec73273 100644 --- a/compute/src/main/java/org/zstack/compute/vm/VmSchedHistoryRecorder.java +++ b/compute/src/main/java/org/zstack/compute/vm/VmSchedHistoryRecorder.java @@ -11,7 +11,7 @@ import org.zstack.utils.DebugUtils; import org.zstack.utils.data.Pair; -import javax.persistence.Tuple; +import jakarta.persistence.Tuple; @Configurable(preConstruction = true, autowire = Autowire.BY_TYPE) public class VmSchedHistoryRecorder { 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..db6739bd445 100755 --- a/compute/src/main/java/org/zstack/compute/vm/VmTracer.java +++ b/compute/src/main/java/org/zstack/compute/vm/VmTracer.java @@ -13,8 +13,8 @@ import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; -import javax.persistence.Tuple; -import javax.persistence.TypedQuery; +import jakarta.persistence.Tuple; +import jakarta.persistence.TypedQuery; import java.util.*; import static org.zstack.utils.CollectionDSL.list; diff --git a/conf/db/V0.6__schema.sql b/conf/db/V0.6__schema.sql index 7e956f3d195..cfdfe625b29 100755 --- a/conf/db/V0.6__schema.sql +++ b/conf/db/V0.6__schema.sql @@ -958,172 +958,172 @@ CREATE TABLE `zstack`.`ManagementNodeContextVO` ( PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -# Foreign keys for table ApplianceVmFirewallRuleVO +-- Foreign keys for table ApplianceVmFirewallRuleVO ALTER TABLE ApplianceVmFirewallRuleVO ADD CONSTRAINT fkApplianceVmFirewallRuleVOL3NetworkEO FOREIGN KEY (l3NetworkUuid) REFERENCES L3NetworkEO (uuid) ON DELETE CASCADE; ALTER TABLE ApplianceVmFirewallRuleVO ADD CONSTRAINT fkApplianceVmFirewallRuleVOVmInstanceEO FOREIGN KEY (applianceVmUuid) REFERENCES VmInstanceEO (uuid) ON DELETE CASCADE; -# Foreign keys for table ApplianceVmVO +-- Foreign keys for table ApplianceVmVO ALTER TABLE ApplianceVmVO ADD CONSTRAINT fkApplianceVmVOL3NetworkEO FOREIGN KEY (managementNetworkUuid) REFERENCES L3NetworkEO (uuid) ON DELETE RESTRICT; ALTER TABLE ApplianceVmVO ADD CONSTRAINT fkApplianceVmVOL3NetworkEO1 FOREIGN KEY (defaultRouteL3NetworkUuid) REFERENCES L3NetworkEO (uuid) ; ALTER TABLE ApplianceVmVO ADD CONSTRAINT fkApplianceVmVOVmInstanceEO FOREIGN KEY (uuid) REFERENCES VmInstanceEO (uuid) ON UPDATE RESTRICT ON DELETE CASCADE; -# Foreign keys for table BackupStorageZoneRefVO +-- Foreign keys for table BackupStorageZoneRefVO ALTER TABLE BackupStorageZoneRefVO ADD CONSTRAINT fkBackupStorageZoneRefVOBackupStorageEO FOREIGN KEY (backupStorageUuid) REFERENCES BackupStorageEO (uuid) ON DELETE CASCADE; ALTER TABLE BackupStorageZoneRefVO ADD CONSTRAINT fkBackupStorageZoneRefVOZoneEO FOREIGN KEY (zoneUuid) REFERENCES ZoneEO (uuid) ON DELETE CASCADE; -# Foreign keys for table ClusterEO +-- Foreign keys for table ClusterEO ALTER TABLE ClusterEO ADD CONSTRAINT fkClusterEOZoneEO FOREIGN KEY (zoneUuid) REFERENCES ZoneEO (uuid) ON DELETE RESTRICT; -# Foreign keys for table ConsoleProxyVO +-- Foreign keys for table ConsoleProxyVO ALTER TABLE ConsoleProxyVO ADD CONSTRAINT fkConsoleProxyVOVmInstanceEO FOREIGN KEY (vmInstanceUuid) REFERENCES VmInstanceEO (uuid) ON DELETE CASCADE; -# Foreign keys for table EipVO +-- Foreign keys for table EipVO ALTER TABLE EipVO ADD CONSTRAINT fkEipVOVipVO FOREIGN KEY (vipUuid) REFERENCES VipVO (uuid) ON DELETE CASCADE; ALTER TABLE EipVO ADD CONSTRAINT fkEipVOVmNicVO FOREIGN KEY (vmNicUuid) REFERENCES VmNicVO (uuid) ON DELETE SET NULL; -# Foreign keys for table HostCapacityVO +-- Foreign keys for table HostCapacityVO ALTER TABLE HostCapacityVO ADD CONSTRAINT fkHostCapacityVOHostEO FOREIGN KEY (uuid) REFERENCES HostEO (uuid) ON DELETE CASCADE; -# Foreign keys for table HostEO +-- Foreign keys for table HostEO ALTER TABLE HostEO ADD CONSTRAINT fkHostEOClusterEO FOREIGN KEY (clusterUuid) REFERENCES ClusterEO (uuid) ON DELETE RESTRICT; ALTER TABLE HostEO ADD CONSTRAINT fkHostEOZoneEO FOREIGN KEY (zoneUuid) REFERENCES ZoneEO (uuid) ON DELETE RESTRICT; -# Foreign keys for table ImageBackupStorageRefVO +-- Foreign keys for table ImageBackupStorageRefVO ALTER TABLE ImageBackupStorageRefVO ADD CONSTRAINT fkImageBackupStorageRefVOBackupStorageEO FOREIGN KEY (backupStorageUuid) REFERENCES BackupStorageEO (uuid) ON DELETE CASCADE; ALTER TABLE ImageBackupStorageRefVO ADD CONSTRAINT fkImageBackupStorageRefVOImageEO FOREIGN KEY (imageUuid) REFERENCES ImageEO (uuid) ON DELETE CASCADE; -# Foreign keys for table ImageCacheVO +-- Foreign keys for table ImageCacheVO ALTER TABLE ImageCacheVO ADD CONSTRAINT fkImageCacheVOImageEO FOREIGN KEY (imageUuid) REFERENCES ImageEO (uuid) ON DELETE SET NULL; ALTER TABLE ImageCacheVO ADD CONSTRAINT fkImageCacheVOPrimaryStorageEO FOREIGN KEY (primaryStorageUuid) REFERENCES PrimaryStorageEO (uuid) ON DELETE CASCADE; -# Foreign keys for table IpRangeEO +-- Foreign keys for table IpRangeEO ALTER TABLE IpRangeEO ADD CONSTRAINT fkIpRangeEOL3NetworkEO FOREIGN KEY (l3NetworkUuid) REFERENCES L3NetworkEO (uuid) ON DELETE CASCADE; -# Foreign keys for table JobQueueEntryVO +-- Foreign keys for table JobQueueEntryVO ALTER TABLE JobQueueEntryVO ADD CONSTRAINT fkJobQueueEntryVOJobQueueVO FOREIGN KEY (jobQueueId) REFERENCES JobQueueVO (id) ON DELETE CASCADE; ALTER TABLE JobQueueEntryVO ADD CONSTRAINT fkJobQueueEntryVOManagementNodeVO FOREIGN KEY (issuerManagementNodeId) REFERENCES ManagementNodeVO (uuid) ON DELETE SET NULL; -# Foreign keys for table JobQueueVO +-- Foreign keys for table JobQueueVO ALTER TABLE JobQueueVO ADD CONSTRAINT fkJobQueueVOManagementNodeVO FOREIGN KEY (workerManagementNodeId) REFERENCES ManagementNodeVO (uuid) ON DELETE SET NULL; -# Foreign keys for table KVMHostVO +-- Foreign keys for table KVMHostVO ALTER TABLE KVMHostVO ADD CONSTRAINT fkKVMHostVOHostEO FOREIGN KEY (uuid) REFERENCES HostEO (uuid) ON UPDATE RESTRICT ON DELETE CASCADE; -# Foreign keys for table KeyValueVO +-- Foreign keys for table KeyValueVO ALTER TABLE KeyValueVO ADD CONSTRAINT fkKeyValueVOKeyValueBinaryVO FOREIGN KEY (uuid) REFERENCES KeyValueBinaryVO (uuid) ON DELETE CASCADE; -# Foreign keys for table L2NetworkClusterRefVO +-- Foreign keys for table L2NetworkClusterRefVO ALTER TABLE L2NetworkClusterRefVO ADD CONSTRAINT fkL2NetworkClusterRefVOClusterEO FOREIGN KEY (clusterUuid) REFERENCES ClusterEO (uuid) ON DELETE CASCADE; ALTER TABLE L2NetworkClusterRefVO ADD CONSTRAINT fkL2NetworkClusterRefVOL2NetworkEO FOREIGN KEY (l2NetworkUuid) REFERENCES L2NetworkEO (uuid) ON DELETE CASCADE; -# Foreign keys for table L2NetworkEO +-- Foreign keys for table L2NetworkEO ALTER TABLE L2NetworkEO ADD CONSTRAINT fkL2NetworkEOZoneEO FOREIGN KEY (zoneUuid) REFERENCES ZoneEO (uuid) ON DELETE RESTRICT; -# Foreign keys for table L2VlanNetworkVO +-- Foreign keys for table L2VlanNetworkVO ALTER TABLE L2VlanNetworkVO ADD CONSTRAINT fkL2VlanNetworkVOL2NetworkEO FOREIGN KEY (uuid) REFERENCES L2NetworkEO (uuid) ON UPDATE RESTRICT ON DELETE CASCADE; -# Foreign keys for table L3NetworkDnsVO +-- Foreign keys for table L3NetworkDnsVO ALTER TABLE L3NetworkDnsVO ADD CONSTRAINT fkL3NetworkDnsVOL3NetworkEO FOREIGN KEY (l3NetworkUuid) REFERENCES L3NetworkEO (uuid) ON DELETE CASCADE; -# Foreign keys for table L3NetworkEO +-- Foreign keys for table L3NetworkEO ALTER TABLE L3NetworkEO ADD CONSTRAINT fkL3NetworkEOL2NetworkEO FOREIGN KEY (l2NetworkUuid) REFERENCES L2NetworkEO (uuid) ON DELETE RESTRICT; ALTER TABLE L3NetworkEO ADD CONSTRAINT fkL3NetworkEOZoneEO FOREIGN KEY (zoneUuid) REFERENCES ZoneEO (uuid) ON DELETE RESTRICT; -# Foreign keys for table NetworkServiceL3NetworkRefVO +-- Foreign keys for table NetworkServiceL3NetworkRefVO ALTER TABLE NetworkServiceL3NetworkRefVO ADD CONSTRAINT fkNetworkServiceL3NetworkRefVOL3NetworkEO FOREIGN KEY (l3NetworkUuid) REFERENCES L3NetworkEO (uuid) ON DELETE CASCADE; ALTER TABLE NetworkServiceL3NetworkRefVO ADD CONSTRAINT fkNetworkServiceL3NetworkRefVONetworkServiceProviderVO FOREIGN KEY (networkServiceProviderUuid) REFERENCES NetworkServiceProviderVO (uuid) ON DELETE CASCADE; -# Foreign keys for table NetworkServiceProviderL2NetworkRefVO +-- Foreign keys for table NetworkServiceProviderL2NetworkRefVO ALTER TABLE NetworkServiceProviderL2NetworkRefVO ADD CONSTRAINT fkNetworkServiceProviderL2NetworkRefVOL2NetworkEO FOREIGN KEY (l2NetworkUuid) REFERENCES L2NetworkEO (uuid) ON DELETE CASCADE; ALTER TABLE NetworkServiceProviderL2NetworkRefVO ADD CONSTRAINT fkNetworkServiceProviderL2NetworkRefVONetworkServiceProviderVO FOREIGN KEY (networkServiceProviderUuid) REFERENCES NetworkServiceProviderVO (uuid) ON DELETE CASCADE; -# Foreign keys for table NetworkServiceTypeVO +-- Foreign keys for table NetworkServiceTypeVO ALTER TABLE NetworkServiceTypeVO ADD CONSTRAINT fkNetworkServiceTypeVONetworkServiceProviderVO FOREIGN KEY (networkServiceProviderUuid) REFERENCES NetworkServiceProviderVO (uuid) ON DELETE CASCADE; -# Foreign keys for table PortForwardingRuleVO +-- Foreign keys for table PortForwardingRuleVO ALTER TABLE PortForwardingRuleVO ADD CONSTRAINT fkPortForwardingRuleVOVipVO FOREIGN KEY (vipUuid) REFERENCES VipVO (uuid) ON DELETE RESTRICT; ALTER TABLE PortForwardingRuleVO ADD CONSTRAINT fkPortForwardingRuleVOVmNicVO FOREIGN KEY (vmNicUuid) REFERENCES VmNicVO (uuid) ON DELETE SET NULL; -# Foreign keys for table PrimaryStorageCapacityVO +-- Foreign keys for table PrimaryStorageCapacityVO ALTER TABLE PrimaryStorageCapacityVO ADD CONSTRAINT fkPrimaryStorageCapacityVOPrimaryStorageEO FOREIGN KEY (uuid) REFERENCES PrimaryStorageEO (uuid) ON DELETE CASCADE; -# Foreign keys for table PrimaryStorageClusterRefVO +-- Foreign keys for table PrimaryStorageClusterRefVO ALTER TABLE PrimaryStorageClusterRefVO ADD CONSTRAINT fkPrimaryStorageClusterRefVOClusterEO FOREIGN KEY (clusterUuid) REFERENCES ClusterEO (uuid) ON DELETE CASCADE; ALTER TABLE PrimaryStorageClusterRefVO ADD CONSTRAINT fkPrimaryStorageClusterRefVOPrimaryStorageEO FOREIGN KEY (primaryStorageUuid) REFERENCES PrimaryStorageEO (uuid) ON DELETE CASCADE; -# Foreign keys for table PrimaryStorageEO +-- Foreign keys for table PrimaryStorageEO ALTER TABLE PrimaryStorageEO ADD CONSTRAINT fkPrimaryStorageEOZoneEO FOREIGN KEY (zoneUuid) REFERENCES ZoneEO (uuid) ON DELETE RESTRICT; -# Foreign keys for table SecurityGroupFailureHostVO +-- Foreign keys for table SecurityGroupFailureHostVO ALTER TABLE SecurityGroupFailureHostVO ADD CONSTRAINT fkSecurityGroupFailureHostVOHostEO FOREIGN KEY (hostUuid) REFERENCES HostEO (uuid) ON DELETE CASCADE; ALTER TABLE SecurityGroupFailureHostVO ADD CONSTRAINT fkSecurityGroupFailureHostVOManagementNodeVO FOREIGN KEY (managementNodeId) REFERENCES ManagementNodeVO (uuid) ON DELETE SET NULL; -# Foreign keys for table SecurityGroupL3NetworkRefVO +-- Foreign keys for table SecurityGroupL3NetworkRefVO ALTER TABLE SecurityGroupL3NetworkRefVO ADD CONSTRAINT fkSecurityGroupL3NetworkRefVOL3NetworkEO FOREIGN KEY (l3NetworkUuid) REFERENCES L3NetworkEO (uuid) ON DELETE CASCADE; ALTER TABLE SecurityGroupL3NetworkRefVO ADD CONSTRAINT fkSecurityGroupL3NetworkRefVOSecurityGroupVO FOREIGN KEY (securityGroupUuid) REFERENCES SecurityGroupVO (uuid) ON DELETE CASCADE; -# Foreign keys for table SecurityGroupRuleVO +-- Foreign keys for table SecurityGroupRuleVO ALTER TABLE SecurityGroupRuleVO ADD CONSTRAINT fkSecurityGroupRuleVOSecurityGroupVO FOREIGN KEY (securityGroupUuid) REFERENCES SecurityGroupVO (uuid) ON DELETE CASCADE; -# Foreign keys for table SftpBackupStorageVO +-- Foreign keys for table SftpBackupStorageVO ALTER TABLE SftpBackupStorageVO ADD CONSTRAINT fkSftpBackupStorageVOBackupStorageEO FOREIGN KEY (uuid) REFERENCES BackupStorageEO (uuid) ON UPDATE RESTRICT ON DELETE CASCADE; -# Foreign keys for table SimulatorHostVO +-- Foreign keys for table SimulatorHostVO ALTER TABLE SimulatorHostVO ADD CONSTRAINT fkSimulatorHostVOHostEO FOREIGN KEY (uuid) REFERENCES HostEO (uuid) ON UPDATE RESTRICT ON DELETE CASCADE; -# Foreign keys for table UsedIpVO +-- Foreign keys for table UsedIpVO ALTER TABLE UsedIpVO ADD CONSTRAINT fkUsedIpVOIpRangeEO FOREIGN KEY (ipRangeUuid) REFERENCES IpRangeEO (uuid) ON DELETE CASCADE; ALTER TABLE UsedIpVO ADD CONSTRAINT fkUsedIpVOL3NetworkEO FOREIGN KEY (l3NetworkUuid) REFERENCES L3NetworkEO (uuid) ON DELETE CASCADE; -# Foreign keys for table VipVO +-- Foreign keys for table VipVO ALTER TABLE VipVO ADD CONSTRAINT fkVipVOIpRangeEO FOREIGN KEY (ipRangeUuid) REFERENCES IpRangeEO (uuid) ON DELETE CASCADE; ALTER TABLE VipVO ADD CONSTRAINT fkVipVOL3NetworkEO FOREIGN KEY (l3NetworkUuid) REFERENCES L3NetworkEO (uuid) ON DELETE CASCADE; ALTER TABLE VipVO ADD CONSTRAINT fkVipVOL3NetworkEO1 FOREIGN KEY (peerL3NetworkUuid) REFERENCES L3NetworkEO (uuid) ON DELETE CASCADE; -# Foreign keys for table VirtualRouterBootstrapIsoVO +-- Foreign keys for table VirtualRouterBootstrapIsoVO ALTER TABLE VirtualRouterBootstrapIsoVO ADD CONSTRAINT fkVirtualRouterBootstrapIsoVOVmInstanceEO FOREIGN KEY (virtualRouterUuid) REFERENCES VmInstanceEO (uuid) ON DELETE CASCADE; -# Foreign keys for table VirtualRouterEipRefVO +-- Foreign keys for table VirtualRouterEipRefVO ALTER TABLE VirtualRouterEipRefVO ADD CONSTRAINT fkVirtualRouterEipRefVOEipVO FOREIGN KEY (eipUuid) REFERENCES EipVO (uuid) ON DELETE RESTRICT; ALTER TABLE VirtualRouterEipRefVO ADD CONSTRAINT fkVirtualRouterEipRefVOVmInstanceEO FOREIGN KEY (virtualRouterVmUuid) REFERENCES VmInstanceEO (uuid) ON DELETE CASCADE; -# Foreign keys for table VirtualRouterOfferingVO +-- Foreign keys for table VirtualRouterOfferingVO ALTER TABLE VirtualRouterOfferingVO ADD CONSTRAINT fkVirtualRouterOfferingVOImageEO FOREIGN KEY (imageUuid) REFERENCES ImageEO (uuid) ON DELETE CASCADE; ALTER TABLE VirtualRouterOfferingVO ADD CONSTRAINT fkVirtualRouterOfferingVOInstanceOfferingEO FOREIGN KEY (uuid) REFERENCES InstanceOfferingEO (uuid) ON UPDATE RESTRICT ON DELETE CASCADE; @@ -1131,21 +1131,21 @@ ALTER TABLE VirtualRouterOfferingVO ADD CONSTRAINT fkVirtualRouterOfferingVOL3Ne ALTER TABLE VirtualRouterOfferingVO ADD CONSTRAINT fkVirtualRouterOfferingVOL3NetworkEO1 FOREIGN KEY (publicNetworkUuid) REFERENCES L3NetworkEO (uuid) ON DELETE CASCADE; ALTER TABLE VirtualRouterOfferingVO ADD CONSTRAINT fkVirtualRouterOfferingVOZoneEO FOREIGN KEY (zoneUuid) REFERENCES ZoneEO (uuid) ON DELETE CASCADE; -# Foreign keys for table VirtualRouterPortForwardingRuleRefVO +-- Foreign keys for table VirtualRouterPortForwardingRuleRefVO ALTER TABLE VirtualRouterPortForwardingRuleRefVO ADD CONSTRAINT fkVirtualRouterPortForwardingRuleRefVOVipVO FOREIGN KEY (vipUuid) REFERENCES VipVO (uuid) ON DELETE CASCADE; ALTER TABLE VirtualRouterPortForwardingRuleRefVO ADD CONSTRAINT fkVirtualRouterPortForwardingRuleRefVOVmInstanceEO FOREIGN KEY (virtualRouterVmUuid) REFERENCES VmInstanceEO (uuid) ON DELETE CASCADE; -# Foreign keys for table VirtualRouterVipVO +-- Foreign keys for table VirtualRouterVipVO ALTER TABLE VirtualRouterVipVO ADD CONSTRAINT fkVirtualRouterVipVOVipVO FOREIGN KEY (uuid) REFERENCES VipVO (uuid) ON DELETE RESTRICT; ALTER TABLE VirtualRouterVipVO ADD CONSTRAINT fkVirtualRouterVipVOVmInstanceEO FOREIGN KEY (virtualRouterVmUuid) REFERENCES VmInstanceEO (uuid) ON DELETE CASCADE; -# Foreign keys for table VirtualRouterVmVO +-- Foreign keys for table VirtualRouterVmVO ALTER TABLE VirtualRouterVmVO ADD CONSTRAINT fkVirtualRouterVmVOVmInstanceEO FOREIGN KEY (uuid) REFERENCES VmInstanceEO (uuid) ON UPDATE RESTRICT ON DELETE CASCADE; -# Foreign keys for table VmInstanceEO +-- Foreign keys for table VmInstanceEO ALTER TABLE VmInstanceEO ADD CONSTRAINT fkVmInstanceEOClusterEO FOREIGN KEY (clusterUuid) REFERENCES ClusterEO (uuid) ON DELETE SET NULL; ALTER TABLE VmInstanceEO ADD CONSTRAINT fkVmInstanceEOHostEO FOREIGN KEY (hostUuid) REFERENCES HostEO (uuid) ON DELETE SET NULL; @@ -1154,51 +1154,51 @@ ALTER TABLE VmInstanceEO ADD CONSTRAINT fkVmInstanceEOImageEO FOREIGN KEY (image ALTER TABLE VmInstanceEO ADD CONSTRAINT fkVmInstanceEOInstanceOfferingEO FOREIGN KEY (instanceOfferingUuid) REFERENCES InstanceOfferingEO (uuid) ON DELETE RESTRICT; ALTER TABLE VmInstanceEO ADD CONSTRAINT fkVmInstanceEOZoneEO FOREIGN KEY (zoneUuid) REFERENCES ZoneEO (uuid) ON DELETE SET NULL; -# Foreign keys for table VmNicSecurityGroupRefVO +-- Foreign keys for table VmNicSecurityGroupRefVO ALTER TABLE VmNicSecurityGroupRefVO ADD CONSTRAINT fkVmNicSecurityGroupRefVOSecurityGroupVO FOREIGN KEY (securityGroupUuid) REFERENCES SecurityGroupVO (uuid) ON DELETE CASCADE; ALTER TABLE VmNicSecurityGroupRefVO ADD CONSTRAINT fkVmNicSecurityGroupRefVOVmInstanceEO FOREIGN KEY (vmInstanceUuid) REFERENCES VmInstanceEO (uuid) ON DELETE CASCADE; ALTER TABLE VmNicSecurityGroupRefVO ADD CONSTRAINT fkVmNicSecurityGroupRefVOVmNicVO FOREIGN KEY (vmNicUuid) REFERENCES VmNicVO (uuid) ON DELETE CASCADE; -# Foreign keys for table VmNicVO +-- Foreign keys for table VmNicVO ALTER TABLE VmNicVO ADD CONSTRAINT fkVmNicVOL3NetworkEO FOREIGN KEY (l3NetworkUuid) REFERENCES L3NetworkEO (uuid) ON DELETE SET NULL; ALTER TABLE VmNicVO ADD CONSTRAINT fkVmNicVOUsedIpVO FOREIGN KEY (usedIpUuid) REFERENCES UsedIpVO (uuid) ON DELETE SET NULL; ALTER TABLE VmNicVO ADD CONSTRAINT fkVmNicVOVmInstanceEO FOREIGN KEY (vmInstanceUuid) REFERENCES VmInstanceEO (uuid) ON DELETE CASCADE; -# Foreign keys for table VolumeEO +-- Foreign keys for table VolumeEO ALTER TABLE VolumeEO ADD CONSTRAINT fkVolumeEODiskOfferingEO FOREIGN KEY (diskOfferingUuid) REFERENCES DiskOfferingEO (uuid) ON DELETE RESTRICT; ALTER TABLE VolumeEO ADD CONSTRAINT fkVolumeEOImageEO FOREIGN KEY (rootImageUuid) REFERENCES ImageEO (uuid) ON DELETE SET NULL; ALTER TABLE VolumeEO ADD CONSTRAINT fkVolumeEOPrimaryStorageEO FOREIGN KEY (primaryStorageUuid) REFERENCES PrimaryStorageEO (uuid) ON DELETE CASCADE; ALTER TABLE VolumeEO ADD CONSTRAINT fkVolumeEOVmInstanceEO FOREIGN KEY (vmInstanceUuid) REFERENCES VmInstanceEO (uuid) ON DELETE CASCADE; -# Foreign keys for table VolumeSnapshotBackupStorageRefVO +-- Foreign keys for table VolumeSnapshotBackupStorageRefVO ALTER TABLE VolumeSnapshotBackupStorageRefVO ADD CONSTRAINT fkVolumeSnapshotBackupStorageRefVOBackupStorageEO FOREIGN KEY (backupStorageUuid) REFERENCES BackupStorageEO (uuid) ON DELETE CASCADE; ALTER TABLE VolumeSnapshotBackupStorageRefVO ADD CONSTRAINT fkVolumeSnapshotBackupStorageRefVOVolumeSnapshotEO FOREIGN KEY (volumeSnapshotUuid) REFERENCES VolumeSnapshotEO (uuid) ON DELETE CASCADE; -# Foreign keys for table VolumeSnapshotEO +-- Foreign keys for table VolumeSnapshotEO ALTER TABLE VolumeSnapshotEO ADD CONSTRAINT fkVolumeSnapshotEOPrimaryStorageEO FOREIGN KEY (primaryStorageUuid) REFERENCES PrimaryStorageEO (uuid) ON DELETE SET NULL; ALTER TABLE VolumeSnapshotEO ADD CONSTRAINT fkVolumeSnapshotEOVolumeEO FOREIGN KEY (volumeUuid) REFERENCES VolumeEO (uuid) ON DELETE SET NULL; ALTER TABLE VolumeSnapshotEO ADD CONSTRAINT fkVolumeSnapshotEOVolumeSnapshotEO FOREIGN KEY (parentUuid) REFERENCES VolumeSnapshotEO (uuid) ON DELETE SET NULL; ALTER TABLE VolumeSnapshotEO ADD CONSTRAINT fkVolumeSnapshotEOVolumeSnapshotTreeEO FOREIGN KEY (treeUuid) REFERENCES VolumeSnapshotTreeEO (uuid) ON DELETE CASCADE; -# Foreign keys for table VolumeSnapshotTreeEO +-- Foreign keys for table VolumeSnapshotTreeEO ALTER TABLE VolumeSnapshotTreeEO ADD CONSTRAINT fkVolumeSnapshotTreeEOVolumeEO FOREIGN KEY (volumeUuid) REFERENCES VolumeEO (uuid) ON DELETE SET NULL; -# Index for table AccountResourceRefVO +-- Index for table AccountResourceRefVO CREATE INDEX idxAccountResourceRefVOresourceUuid ON AccountResourceRefVO (resourceUuid); CREATE INDEX idxAccountResourceRefVOresourceType ON AccountResourceRefVO (resourceType); -# Index for table AccountVO +-- Index for table AccountVO CREATE INDEX idxAccountVOname ON AccountVO (name); -# Index for table ApplianceVmFirewallRuleVO +-- Index for table ApplianceVmFirewallRuleVO CREATE INDEX idxApplianceVmFirewallRuleVOprotocol ON ApplianceVmFirewallRuleVO (protocol); CREATE INDEX idxApplianceVmFirewallRuleVOstartPort ON ApplianceVmFirewallRuleVO (startPort); @@ -1208,42 +1208,42 @@ CREATE INDEX idxApplianceVmFirewallRuleVOsourceIp ON ApplianceVmFirewallRuleVO ( CREATE INDEX idxApplianceVmFirewallRuleVOdestIp ON ApplianceVmFirewallRuleVO (destIp); CREATE INDEX idxApplianceVmFirewallRuleVOidentity ON ApplianceVmFirewallRuleVO (identity); -# Index for table BackupStorageEO +-- Index for table BackupStorageEO CREATE INDEX idxBackupStorageEOname ON BackupStorageEO (name); -# Index for table ClusterEO +-- Index for table ClusterEO CREATE INDEX idxClusterEOname ON ClusterEO (name); -# Index for table DiskOfferingEO +-- Index for table DiskOfferingEO CREATE INDEX idxDiskOfferingEOname ON DiskOfferingEO (name); -# Index for table EipVO +-- Index for table EipVO CREATE INDEX idxEipVOname ON EipVO (name); -# Index for table HostCapacityVO +-- Index for table HostCapacityVO CREATE INDEX idxHostCapacityVOtotalMemory ON HostCapacityVO (totalMemory); CREATE INDEX idxHostCapacityVOtotalCpu ON HostCapacityVO (totalCpu); CREATE INDEX idxHostCapacityVOavailableMemory ON HostCapacityVO (availableMemory); CREATE INDEX idxHostCapacityVOavailableCpu ON HostCapacityVO (availableCpu); -# Index for table HostEO +-- Index for table HostEO CREATE INDEX idxHostEOuuid ON HostEO (uuid); -# Index for table ImageEO +-- Index for table ImageEO CREATE INDEX idxImageEOname ON ImageEO (name); -# Index for table InstanceOfferingEO +-- Index for table InstanceOfferingEO CREATE INDEX idxInstanceOfferingEOname ON InstanceOfferingEO (name); -# Index for table IpRangeEO +-- Index for table IpRangeEO CREATE INDEX idxIpRangeEOname ON IpRangeEO (name); CREATE INDEX idxIpRangeEOstartIp ON IpRangeEO (startIp); @@ -1251,19 +1251,19 @@ CREATE INDEX idxIpRangeEOendIp ON IpRangeEO (endIp); CREATE INDEX idxIpRangeEOnetmask ON IpRangeEO (netmask); CREATE INDEX idxIpRangeEOgateway ON IpRangeEO (gateway); -# Index for table L2NetworkEO +-- Index for table L2NetworkEO CREATE INDEX idxL2NetworkEOname ON L2NetworkEO (name); -# Index for table L3NetworkEO +-- Index for table L3NetworkEO CREATE INDEX idxL3NetworkEOname ON L3NetworkEO (name); -# Index for table NetworkServiceProviderVO +-- Index for table NetworkServiceProviderVO CREATE INDEX idxNetworkServiceProviderVOname ON NetworkServiceProviderVO (name); -# Index for table PortForwardingRuleVO +-- Index for table PortForwardingRuleVO CREATE INDEX idxPortForwardingRuleVOname ON PortForwardingRuleVO (name); CREATE INDEX idxPortForwardingRuleVOvipPortStart ON PortForwardingRuleVO (vipPortStart); @@ -1271,57 +1271,57 @@ CREATE INDEX idxPortForwardingRuleVOvipPortEnd ON PortForwardingRuleVO (vipPortE CREATE INDEX idxPortForwardingRuleVOprivatePortStart ON PortForwardingRuleVO (privatePortStart); CREATE INDEX idxPortForwardingRuleVOprivatePortEnd ON PortForwardingRuleVO (privatePortEnd); -# Index for table PrimaryStorageCapacityVO +-- Index for table PrimaryStorageCapacityVO CREATE INDEX idxPrimaryStorageCapacityVOtotalCapacity ON PrimaryStorageCapacityVO (totalCapacity); CREATE INDEX idxPrimaryStorageCapacityVOavailableCapacity ON PrimaryStorageCapacityVO (availableCapacity); -# Index for table SecurityGroupVO +-- Index for table SecurityGroupVO CREATE INDEX idxSecurityGroupVOname ON SecurityGroupVO (name); -# Index for table SystemTagVO +-- Index for table SystemTagVO CREATE INDEX idxSystemTagVOresourceUuid ON SystemTagVO (resourceUuid); CREATE INDEX idxSystemTagVOresourceType ON SystemTagVO (resourceType); CREATE INDEX idxSystemTagVOtag ON SystemTagVO (tag(128)); CREATE INDEX idxSystemTagVOtype ON SystemTagVO (type); -# Index for table UsedIpVO +-- Index for table UsedIpVO CREATE INDEX idxUsedIpVOip ON UsedIpVO (ip); CREATE INDEX idxUsedIpVOipInLong ON UsedIpVO (ipInLong); -# Index for table UserTagVO +-- Index for table UserTagVO CREATE INDEX idxUserTagVOresourceUuid ON UserTagVO (resourceUuid); CREATE INDEX idxUserTagVOresourceType ON UserTagVO (resourceType); CREATE INDEX idxUserTagVOtag ON UserTagVO (tag(128)); CREATE INDEX idxUserTagVOtype ON UserTagVO (type); -# Index for table VipVO +-- Index for table VipVO CREATE INDEX idxVipVOname ON VipVO (name); CREATE INDEX idxVipVOip ON VipVO (ip); -# Index for table VmInstanceEO +-- Index for table VmInstanceEO CREATE INDEX idxVmInstanceEOname ON VmInstanceEO (name(128)); -# Index for table VmNicVO +-- Index for table VmNicVO CREATE INDEX idxVmNicVOip ON VmNicVO (ip); CREATE INDEX idxVmNicVOmac ON VmNicVO (mac); -# Index for table VolumeEO +-- Index for table VolumeEO CREATE INDEX idxVolumeEOname ON VolumeEO (name); -# Index for table VolumeSnapshotEO +-- Index for table VolumeSnapshotEO CREATE INDEX idxVolumeSnapshotEOname ON VolumeSnapshotEO (name); -# Index for table ZoneEO +-- Index for table ZoneEO CREATE INDEX idxZoneEOname ON ZoneEO (name); diff --git a/conf/persistence.xml b/conf/persistence.xml index 30c36210dd6..74d7d68e1f5 100755 --- a/conf/persistence.xml +++ b/conf/persistence.xml @@ -14,8 +14,18 @@ org.zstack.core.job.JobQueueEntryVO org.zstack.core.config.GlobalConfigVO org.zstack.core.eventlog.EventLogVO - org.zstack.core.plugin.PluginDriverVO + org.zstack.header.core.external.plugin.PluginDriverVO + org.zstack.templateConfig.GlobalConfigTemplateVO + org.zstack.templateConfig.TemplateConfigVO org.zstack.resourceconfig.ResourceConfigVO + org.zstack.header.scheduler.SchedulerVO + org.zstack.header.scheduler.SchedulerJobVO + org.zstack.header.scheduler.SchedulerJobGroupVO + org.zstack.header.scheduler.SchedulerTriggerVO + org.zstack.header.scheduler.SchedulerJobSchedulerTriggerRefVO + org.zstack.header.scheduler.SchedulerJobGroupSchedulerTriggerRefVO + org.zstack.header.scheduler.SchedulerJobGroupJobRefVO + org.zstack.header.scheduler.SchedulerJobHistoryVO org.zstack.header.managementnode.ManagementNodeVO org.zstack.header.managementnode.ManagementNodeContextVO org.zstack.header.zone.ZoneVO @@ -34,12 +44,17 @@ org.zstack.header.storage.backup.BackupStorageVO org.zstack.header.storage.backup.BackupStorageEO org.zstack.header.storage.backup.BackupStorageZoneRefVO + org.zstack.header.storage.cdp.CdpPolicyVO + org.zstack.header.storage.cdp.CdpPolicyEO + org.zstack.header.storage.cdp.CdpTaskResourceRefVO + org.zstack.header.storage.cdp.CdpTaskVO + org.zstack.header.storage.cdp.CdpVolumeHistoryVO org.zstack.header.image.ImageVO org.zstack.header.image.ImageEO org.zstack.header.image.ImageGroupVO org.zstack.header.image.ImageGroupRefVO - org.zstack.header.image.GuestOsCategoryVO org.zstack.header.image.ImageBackupStorageRefVO + org.zstack.header.image.GuestOsCategoryVO org.zstack.header.allocator.HostCapacityVO org.zstack.header.configuration.InstanceOfferingVO org.zstack.header.configuration.InstanceOfferingEO @@ -50,13 +65,21 @@ org.zstack.header.network.l2.L2NetworkVO org.zstack.header.network.l2.L2NetworkEO org.zstack.header.network.l2.L2VlanNetworkVO + org.zstack.header.network.l2.L2NetworkClusterRefVO + org.zstack.header.network.l2.L2NetworkHostRefVO org.zstack.network.l2.vxlan.vxlanNetworkPool.VxlanNetworkPoolVO org.zstack.network.l2.vxlan.vxlanNetwork.VxlanNetworkVO org.zstack.network.l2.vxlan.vtep.VtepVO org.zstack.network.l2.vxlan.vtep.RemoteVtepVO org.zstack.network.l2.vxlan.vxlanNetworkPool.VniRangeVO - org.zstack.header.network.l2.L2NetworkClusterRefVO - org.zstack.header.network.l2.L2NetworkHostRefVO + org.zstack.header.network.sdncontroller.SdnControllerVO + org.zstack.sdnController.header.HardwareL2VxlanNetworkPoolVO + org.zstack.sdnController.header.HardwareL2VxlanNetworkVO + org.zstack.sdnController.header.VxlanHostMappingVO + org.zstack.sdnController.header.VxlanClusterMappingVO + org.zstack.sdnController.header.H3cSdnControllerTenantVO + org.zstack.sdnController.header.H3cSdnSubnetIpRangeRefVO + org.zstack.header.network.sdncontroller.SdnControllerHostRefVO org.zstack.header.network.l3.L3NetworkVO org.zstack.header.network.l3.L3NetworkEO org.zstack.header.network.l3.L3NetworkDnsVO @@ -67,8 +90,6 @@ org.zstack.header.network.l3.AddressPoolVO org.zstack.header.network.l3.NormalIpRangeVO org.zstack.header.network.l3.ReservedIpRangeVO - org.zstack.network.hostNetworkInterface.HostNetworkBondingVO - org.zstack.network.hostNetworkInterface.HostNetworkInterfaceVO org.zstack.network.service.vip.VipVO org.zstack.network.service.vip.VipNetworkServicesRefVO org.zstack.network.service.vip.VipPeerL3NetworkRefVO @@ -86,7 +107,8 @@ org.zstack.appliancevm.ApplianceVmVO org.zstack.appliancevm.ApplianceVmFirewallRuleVO org.zstack.header.vm.VmNicVO - org.zstack.header.vm.VmSchedHistoryVO + org.zstack.header.vm.VmPriorityConfigVO + org.zstack.header.vm.VmSchedHistoryVO org.zstack.header.identity.SessionVO org.zstack.header.identity.AccountVO org.zstack.header.identity.AccountResourceRefVO @@ -105,8 +127,15 @@ org.zstack.kvm.hypervisor.datatype.KvmHypervisorInfoVO org.zstack.kvm.hypervisor.datatype.HostOsCategoryVO org.zstack.kvm.hypervisor.datatype.KvmHostHypervisorMetadataVO + org.zstack.xdragon.XDragonHostVO org.zstack.storage.backup.sftp.SftpBackupStorageVO org.zstack.storage.backup.imagestore.ImageStoreBackupStorageVO + org.zstack.vmware.VCenterVO + org.zstack.vmware.VCenterClusterVO + org.zstack.vmware.VCenterBackupStorageVO + org.zstack.vmware.VCenterDatacenterVO + org.zstack.vmware.VCenterPrimaryStorageVO + org.zstack.vmware.ESXHostVO org.zstack.header.simulator.SimulatorHostVO org.zstack.header.storage.primary.ImageCacheVO org.zstack.network.service.virtualrouter.VirtualRouterOfferingVO @@ -135,7 +164,6 @@ org.zstack.header.tag.TagPatternVO org.zstack.network.service.virtualrouter.VirtualRouterVmVO org.zstack.network.service.virtualrouter.VirtualRouterMetadataVO - org.zstack.network.service.virtualrouter.VirtualRouterSoftwareVersionVO org.zstack.storage.primary.local.LocalStorageResourceRefVO org.zstack.storage.primary.local.LocalStorageHostRefVO org.zstack.header.storage.addon.primary.ExternalPrimaryStorageVO @@ -156,23 +184,162 @@ org.zstack.network.service.lb.LoadBalancerListenerACLRefVO org.zstack.network.service.lb.LoadBalancerListenerVmNicRefVO org.zstack.network.service.lb.LoadBalancerListenerVO + org.zstack.network.service.lb.CertificateVO + org.zstack.network.service.lb.LoadBalancerListenerCertificateRefVO org.zstack.network.service.lb.LoadBalancerServerGroupVO org.zstack.network.service.lb.LoadBalancerServerGroupVmNicRefVO org.zstack.network.service.lb.LoadBalancerServerGroupServerIpVO org.zstack.network.service.lb.LoadBalancerListenerServerGroupRefVO - org.zstack.network.service.lb.CertificateVO - org.zstack.network.service.lb.LoadBalancerListenerCertificateRefVO org.zstack.header.console.ConsoleProxyAgentVO org.zstack.header.storage.primary.ImageCacheShadowVO org.zstack.ldap.LdapServerVO org.zstack.ldap.LdapAccountRefVO + org.zstack.login.entity.LdapResourceRefVO org.zstack.core.jsonlabel.JsonLabelVO + org.zstack.billing.PriceVO + org.zstack.billing.spendingcalculator.pcidevice.PricePciDeviceOfferingRefVO + org.zstack.billing.spendingcalculator.pcidevice.PciDeviceUsageVO + org.zstack.billing.spendingcalculator.volume.data.DataVolumeUsageVO + org.zstack.billing.spendingcalculator.volume.root.RootVolumeUsageVO + org.zstack.billing.spendingcalculator.vm.VmUsageVO + org.zstack.billing.spendingcalculator.snapshot.SnapShotUsageVO + org.zstack.ipsec.IPsecConnectionVO + org.zstack.ipsec.IPsecPeerCidrVO + org.zstack.ipsec.IPsecL3NetworkRefVO + org.zstack.mevoco.ShareableVolumeVmInstanceRefVO org.zstack.rest.AsyncRestVO - org.zstack.storage.ceph.primary.CephPrimaryStoragePoolVO + org.zstack.header.aliyun.network.vpc.EcsVpcVO + org.zstack.header.aliyun.network.vpc.EcsVSwitchVO + org.zstack.header.hybrid.network.eip.HybridEipAddressVO + org.zstack.header.aliyun.network.group.EcsSecurityGroupVO + org.zstack.header.aliyun.image.EcsImageUsageVO + org.zstack.header.aliyun.ecs.EcsInstanceVO + org.zstack.header.identityzone.IdentityZoneVO + org.zstack.header.aliyun.image.EcsImageVO + org.zstack.header.datacenter.DataCenterVO + org.zstack.hybrid.account.HybridAccountVO + org.zstack.header.aliyun.oss.OssBucketVO + org.zstack.header.aliyun.oss.OssUploadPartsVO + org.zstack.header.aliyun.oss.OssBucketDomainVO + org.zstack.header.hybrid.network.eip.HybridEipAddressVO + org.zstack.header.aliyun.network.group.EcsSecurityGroupRuleVO + org.zstack.header.aliyun.network.connection.ConnectionAccessPointVO + org.zstack.header.aliyun.network.connection.VirtualBorderRouterVO + org.zstack.header.aliyun.network.connection.AliyunRouterInterfaceVO + org.zstack.header.aliyun.network.vrouter.VpcVirtualRouteEntryVO + org.zstack.header.aliyun.network.vrouter.VpcVirtualRouterVO + org.zstack.header.aliyun.network.connection.ConnectionRelationShipVO + org.zstack.header.aliyun.network.connection.HybridConnectionRefVO + org.zstack.storage.ceph.primary.CephPrimaryStoragePoolVO org.zstack.header.core.progress.TaskProgressVO org.zstack.header.vo.ResourceVO org.zstack.header.core.webhooks.WebhookVO + org.zstack.header.baremetal.pxeserver.BaremetalPxeServerClusterRefVO + org.zstack.header.baremetal.pxeserver.BaremetalPxeServerVO + org.zstack.header.baremetal.chassis.BaremetalChassisVO + org.zstack.header.baremetal.chassis.BaremetalHardwareInfoVO + org.zstack.header.baremetal.instance.BaremetalInstanceVO + org.zstack.header.baremetal.instance.BaremetalInstanceSequenceNumberVO + org.zstack.header.baremetal.instance.BaremetalConsoleProxyVO + org.zstack.header.baremetal.network.BaremetalNicVO + org.zstack.header.baremetal.network.BaremetalVlanNicVO + org.zstack.header.baremetal.network.BaremetalBondingVO + org.zstack.header.baremetal.instance.BaremetalImageCacheVO + org.zstack.header.baremetal.preconfiguration.CustomPreconfigurationVO + org.zstack.header.baremetal.preconfiguration.TemplateCustomParamVO + org.zstack.header.baremetal.preconfiguration.PreconfigurationTemplateVO + org.zstack.baremetal2.chassis.BareMetal2ChassisVO + org.zstack.baremetal2.chassis.BareMetal2ChassisNicVO + org.zstack.baremetal2.chassis.BareMetal2ChassisDiskVO + org.zstack.baremetal2.chassis.ipmi.BareMetal2IpmiChassisVO + org.zstack.baremetal2.configuration.BareMetal2ChassisOfferingVO + org.zstack.baremetal2.provisionnetwork.BareMetal2ProvisionNetworkVO + org.zstack.baremetal2.provisionnetwork.BareMetal2ProvisionNetworkClusterRefVO + org.zstack.baremetal2.gateway.BareMetal2GatewayVO + org.zstack.baremetal2.gateway.BareMetal2GatewayClusterRefVO + org.zstack.baremetal2.gateway.BareMetal2GatewayProvisionNicVO + org.zstack.baremetal2.instance.BareMetal2InstanceVO + org.zstack.baremetal2.instance.BareMetal2InstanceProvisionNicVO + org.zstack.header.hybrid.network.vpn.VpcUserVpnGatewayVO + org.zstack.header.hybrid.network.vpn.VpcVpnGatewayVO + org.zstack.header.hybrid.network.vpn.VpcVpnConnectionVO + org.zstack.header.hybrid.network.vpn.VpcVpnIpSecConfigVO + org.zstack.header.hybrid.network.vpn.VpcVpnIkeConfigVO + org.zstack.header.storageDevice.ScsiLunVO + org.zstack.header.storageDevice.ScsiLunVmInstanceRefVO + org.zstack.header.storageDevice.ScsiLunHostRefVO + org.zstack.storage.device.localRaid.RaidControllerVO + org.zstack.storage.device.localRaid.RaidPhysicalDriveVO + org.zstack.storage.device.localRaid.PhysicalDriveSmartSelfTestHistoryVO + org.zstack.storage.device.iscsi.IscsiServerVO + org.zstack.storage.device.iscsi.IscsiTargetVO + org.zstack.storage.device.iscsi.IscsiLunVO + org.zstack.storage.device.iscsi.IscsiServerClusterRefVO + org.zstack.storage.device.fibreChannel.FiberChannelLunVO + org.zstack.storage.device.fibreChannel.FiberChannelStorageVO + org.zstack.storage.device.nvme.NvmeLunVO + org.zstack.storage.device.nvme.NvmeTargetVO + org.zstack.storage.device.nvme.NvmeLunHostRefVO + org.zstack.storage.device.nvme.NvmeServerVO + org.zstack.storage.device.nvme.NvmeServerClusterRefVO + org.zstack.vrouterRoute.VRouterRouteTableVO + org.zstack.vrouterRoute.VRouterRouteEntryVO + org.zstack.vrouterRoute.VirtualRouterVRouterRouteTableRefVO + org.zstack.pciDevice.PciDeviceVO + org.zstack.pciDevice.PciDeviceOfferingVO + org.zstack.pciDevice.PciDevicePciDeviceOfferingRefVO + org.zstack.pciDevice.PciDeviceOfferingInstanceOfferingRefVO + org.zstack.pciDevice.specification.pci.PciDeviceSpecVO + org.zstack.pciDevice.specification.pci.VmInstancePciDeviceSpecRefVO + org.zstack.pciDevice.virtual.vfio_mdev.MdevDeviceVO + org.zstack.pciDevice.specification.mdev.MdevDeviceSpecVO + org.zstack.pciDevice.specification.mdev.PciDeviceMdevSpecRefVO + org.zstack.pciDevice.specification.mdev.VmInstanceMdevDeviceSpecRefVO + org.zstack.header.aliyun.storage.snapshot.AliyunSnapshotVO + org.zstack.header.aliyun.storage.disk.AliyunDiskVO + org.zstack.sns.platform.email.SNSEmailEndpointVO + org.zstack.sns.platform.email.SNSEmailPlatformVO + org.zstack.sns.platform.email.SNSEmailAddressVO + org.zstack.sns.platform.http.SNSHttpEndpointVO + org.zstack.sns.platform.dingtalk.SNSDingTalkEndpointVO + org.zstack.sns.platform.dingtalk.SNSDingTalkAtPersonVO + org.zstack.sns.SNSApplicationEndpointVO + org.zstack.sns.SNSApplicationPlatformVO + org.zstack.sns.SNSTopicVO + org.zstack.sns.SNSSubscriberVO + org.zstack.zwatch.alarm.sns.SNSTextTemplateVO + org.zstack.zwatch.alarm.AlarmVO + org.zstack.zwatch.alarm.AlarmActionVO + org.zstack.zwatch.alarm.AlarmLabelVO + org.zstack.zwatch.alarm.EventSubscriptionActionVO + org.zstack.zwatch.alarm.EventSubscriptionLabelVO + org.zstack.zwatch.alarm.EventSubscriptionVO + org.zstack.monitoring.MonitorTriggerVO + org.zstack.monitoring.media.EmailMediaVO + org.zstack.monitoring.media.MediaVO + org.zstack.monitoring.actions.MonitorTriggerActionVO + org.zstack.monitoring.actions.EmailTriggerActionVO + org.zstack.monitoring.MonitorTriggerActionRefVO + org.zstack.monitoring.AlertVO + org.zstack.header.storage.backup.VolumeBackupVO + org.zstack.header.storage.backup.VolumeBackupHistoryVO + org.zstack.header.storage.backup.VolumeBackupStorageRefVO + org.zstack.header.storage.database.backup.DatabaseBackupVO + org.zstack.header.storage.database.backup.DatabaseBackupStorageRefVO + org.zstack.pciDevice.PciDeviceVO + org.zstack.pciDevice.PciDeviceOfferingVO + org.zstack.pciDevice.PciDevicePciDeviceOfferingRefVO + org.zstack.pciDevice.PciDeviceOfferingInstanceOfferingRefVO + org.zstack.pciDevice.specification.pci.PciDeviceSpecVO + org.zstack.header.aliyun.storage.snapshot.AliyunSnapshotVO + org.zstack.header.aliyun.storage.disk.AliyunDiskVO + org.zstack.usbDevice.UsbDeviceVO + org.zstack.header.affinitygroup.AffinityGroupVO + org.zstack.header.affinitygroup.AffinityGroupUsageVO org.zstack.header.longjob.LongJobVO + org.zstack.header.vipQos.VipQosVO + org.zstack.header.vipQos.VpcSharedQosVO + org.zstack.header.vipQos.VpcSharedQosRefVipVO org.zstack.header.identity.role.RoleAccountRefVO org.zstack.header.identity.role.RolePolicyRefVO org.zstack.header.identity.role.RoleUserGroupRefVO @@ -180,48 +347,376 @@ org.zstack.header.identity.role.RoleVO org.zstack.header.identity.role.SystemRoleVO org.zstack.header.identity.role.RolePolicyStatementVO + org.zstack.iam2.entity.IAM2GroupVirtualIDRefVO + org.zstack.iam2.entity.IAM2OrganizationAttributeVO + org.zstack.iam2.entity.IAM2OrganizationVO + org.zstack.iam2.entity.IAM2ProjectAttributeVO + org.zstack.iam2.entity.IAM2ProjectResourceRefVO + org.zstack.iam2.entity.IAM2ProjectVirtualIDRefVO + org.zstack.iam2.entity.IAM2ProjectVO + org.zstack.iam2.entity.IAM2VirtualIDAttributeVO + org.zstack.iam2.entity.IAM2VirtualIDGroupAttributeVO + org.zstack.iam2.entity.IAM2VirtualIDGroupRefVO + org.zstack.iam2.entity.IAM2VirtualIDGroupRoleRefVO + org.zstack.iam2.entity.IAM2VirtualIDGroupVO + org.zstack.iam2.entity.IAM2VirtualIDOrganizationRefVO + org.zstack.iam2.entity.IAM2VirtualIDRoleRefVO + org.zstack.iam2.entity.IAM2VirtualIDVO + org.zstack.iam2.entity.IAM2ProjectAccountRefVO + org.zstack.iam2.entity.IAM2ProjectTemplateVO + org.zstack.storage.primary.sharedblock.SharedBlockGroupVO + org.zstack.storage.primary.sharedblock.SharedBlockVO + org.zstack.storage.primary.sharedblock.SharedBlockGroupPrimaryStorageHostRefVO + org.zstack.storage.primary.ministorage.MiniStorageVO + org.zstack.storage.primary.ministorage.MiniStorageHostRefVO + org.zstack.storage.primary.ministorage.MiniStorageResourceReplicationVO + org.zstack.storage.primary.block.BlockPrimaryStorageVO + org.zstack.storage.primary.block.BlockScsiLunVO + org.zstack.storage.primary.block.BlockPrimaryStorageHostRefVO + org.zstack.imagereplicator.ImageReplicationGroupVO + org.zstack.imagereplicator.ImageReplicationGroupBackupStorageRefVO + org.zstack.imagereplicator.ImageOpsJournalVO + org.zstack.imagereplicator.ImageReplicationHistoryVO + org.zstack.ticket.entity.TicketFlowCollectionVO + org.zstack.ticket.entity.TicketFlowVO + org.zstack.ticket.iam2.entity.IAM2TicketFlowVO + org.zstack.ticket.iam2.entity.IAM2TicketFlowCollectionVO + org.zstack.ticket.entity.TicketTypeVO + org.zstack.ticket.entity.TicketTypeTicketFlowCollectionRefVO + org.zstack.ticket.entity.TicketStatusHistoryVO + org.zstack.ticket.entity.TicketVO + org.zstack.ticket.entity.ArchiveTicketVO + org.zstack.ticket.entity.ArchiveTicketStatusHistoryVO + org.zstack.nas.NasFileSystemVO + org.zstack.aliyun.nas.filesystem.AliyunNasFileSystemVO + org.zstack.nas.NasMountTargetVO + org.zstack.aliyun.nas.filesystem.AliyunNasMountTargetVO + org.zstack.aliyun.nas.filesystem.AliyunNasAccessGroupVO + org.zstack.aliyun.nas.filesystem.AliyunNasAccessRuleVO + org.zstack.aliyun.nas.storage.primary.AliyunNasPrimaryStorageFileSystemRefVO + org.zstack.aliyun.nas.storage.primary.AliyunNasPrimaryStorageMountPointVO + org.zstack.aliyun.nas.storage.primary.AliyunNasMountVolumeRefVO + org.zstack.autoscaling.group.rule.trigger.AutoScalingRuleTriggerVO + org.zstack.autoscaling.group.rule.trigger.AutoScalingRuleAlarmTriggerVO + org.zstack.autoscaling.group.rule.AutoScalingHorizontalScalingProfileVO + org.zstack.autoscaling.template.AutoScalingVmTemplateVO + org.zstack.autoscaling.template.AutoScalingTemplateVO + org.zstack.autoscaling.template.AutoScalingTemplateGroupRefVO + org.zstack.autoscaling.group.AutoScalingGroupVO + org.zstack.autoscaling.group.activity.AutoScalingGroupActivityVO + org.zstack.autoscaling.group.instance.AutoScalingGroupInstanceVO + org.zstack.autoscaling.group.rule.AddingNewInstanceRuleVO + org.zstack.autoscaling.group.rule.RemovalInstanceRuleVO + org.zstack.header.aliyun.ebs.AliyunEbsPrimaryStorageVO + org.zstack.header.vpc.VpcRouterDnsVO + org.zstack.header.vpc.VpcRouterVmVO + org.zstack.header.cloudformation.ResourceStackVO + org.zstack.header.cloudformation.StackTemplateVO + org.zstack.header.cloudformation.CloudFormationStackResourceRefVO + org.zstack.header.cloudformation.CloudFormationStackEventVO + org.zstack.twoFactorAuthentication.TwoFactorAuthenticationSecretVO org.zstack.header.core.captcha.CaptchaVO + org.zstack.loginControl.entity.LoginAttemptsVO + org.zstack.aliyunproxy.vpc.AliyunProxyVpcVO + org.zstack.aliyunproxy.vpc.AliyunProxyVSwitchVO + org.zstack.v2v.V2VConversionHostVO + org.zstack.v2v.V2VConversionCacheVO + org.zstack.accessKey.AccessKeyVO + org.zstack.aliyun.pangu.AliyunPanguPartitionVO + org.zstack.header.aliyun.ebs.AliyunEbsBackupStorageVO + org.zstack.billing.spendingcalculator.vmnic.PubIpVmNicBandwidthUsageVO + org.zstack.billing.spendingcalculator.vip.PubIpVipBandwidthUsageVO + org.zstack.vmware.VCenterResourcePoolVO + org.zstack.vmware.VCenterResourcePoolUsageVO org.zstack.header.vm.cdrom.VmCdRomVO + org.zstack.header.protocol.RouterAreaVO + org.zstack.header.protocol.NetworkRouterAreaRefVO + org.zstack.header.flowMeter.FlowMeterVO + org.zstack.header.flowMeter.FlowCollectorVO + org.zstack.header.flowMeter.FlowRouterVO + org.zstack.header.flowMeter.NetworkRouterFlowMeterRefVO + org.zstack.billing.generator.BillingVO + org.zstack.billing.generator.BillingResourceLabelVO + org.zstack.billing.generator.volume.root.RootVolumeBillingVO + org.zstack.billing.generator.volume.data.DataVolumeBillingVO + org.zstack.billing.generator.volume.data.DataVolumeUsageHistoryVO + org.zstack.billing.generator.volume.root.RootVolumeUsageHistoryVO + org.zstack.billing.generator.vm.cpu.VmCPUBillingVO + org.zstack.billing.generator.vm.memory.VmMemoryBillingVO + org.zstack.billing.generator.vm.VmUsageHistoryVO + org.zstack.billing.generator.pcidevice.PciDeviceBillingVO + org.zstack.billing.generator.pcidevice.PciDeviceUsageHistoryVO + org.zstack.billing.generator.pubip.vip.PubIpVipBandwidthUsageHistoryVO + org.zstack.billing.generator.pubip.vip.PubIpVipBandwidthOutBillingVO + org.zstack.billing.generator.pubip.vip.PubIpVipBandwidthInBillingVO + org.zstack.billing.generator.pubip.vip.PubIpVipBandwidthOutBillingVO + org.zstack.billing.generator.pubip.vmnic.PubIpVmNicBandwidthInBillingVO + org.zstack.billing.generator.pubip.vmnic.PubIpVmNicBandwidthOutBillingVO + org.zstack.billing.generator.pubip.vmnic.PubIpVmNicBandwidthUsageHistoryVO + org.zstack.billing.spendingcalculator.volume.data.DataVolumeUsageExtensionVO + org.zstack.billing.spendingcalculator.volume.root.RootVolumeUsageExtensionVO + org.zstack.header.vpc.ha.VpcHaGroupVO + org.zstack.header.vpc.ha.VpcHaGroupMonitorIpVO + org.zstack.header.vpc.ha.VpcHaGroupNetworkServiceRefVO + org.zstack.header.vpc.ha.VpcHaGroupApplianceVmRefVO + org.zstack.header.vpc.ha.VpcHaGroupVipRefVO + org.zstack.header.vpc.VpcSnatStateVO + org.zstack.loginControl.entity.AccessControlRuleVO + org.zstack.loginControl.entity.HistoricalPasswordVO + org.zstack.policyRoute.PolicyRouteRuleSetL3RefVO + org.zstack.policyRoute.PolicyRouteRuleSetVO + org.zstack.policyRoute.PolicyRouteRuleVO + org.zstack.policyRoute.PolicyRouteTableVO + org.zstack.policyRoute.PolicyRouteTableRouteEntryVO + org.zstack.policyRoute.PolicyRouteRuleSetVRouterRefVO + org.zstack.policyRoute.PolicyRouteTableVRouterRefVO + org.zstack.iam2.entity.IAM2OrganizationProjectRefVO + org.zstack.vpcfirewall.entity.VpcFirewallVO + org.zstack.vpcfirewall.entity.VpcFirewallRuleSetVO + org.zstack.vpcfirewall.entity.VpcFirewallRuleVO + org.zstack.vpcfirewall.entity.VpcFirewallRuleTemplateVO + org.zstack.vpcfirewall.entity.VpcFirewallIpSetTemplateVO + org.zstack.vpcfirewall.entity.VpcFirewallRuleSetL3RefVO + org.zstack.vpcfirewall.entity.VpcFirewallVRouterRefVO org.zstack.header.core.trash.InstallPathRecycleVO - org.zstack.header.vm.VmPriorityConfigVO + org.zstack.sns.SNSAliyunSmsEndpointVO + org.zstack.sns.SNSSmsReceiverVO + org.zstack.zwatch.alarm.sns.template.aliyunsms.AliyunSmsSNSTextTemplateVO + org.zstack.multicast.router.header.MulticastRouterVO + org.zstack.multicast.router.header.MulticastRouterVpcVRouterRefVO + org.zstack.multicast.router.header.MulticastRouterRendezvousPointVO + org.zstack.guesttools.GuestToolsVO + org.zstack.header.portMirror.PortMirrorVO + org.zstack.header.portMirror.PortMirrorSessionVO + org.zstack.header.portMirror.MirrorNetworkUsedIpVO + org.zstack.header.portMirror.PortMirrorSessionMirrorNetworkRefVO + org.zstack.header.portMirror.PortMirrorSessionSequenceNumberVO + org.zstack.billing.table.PriceTableVO + org.zstack.billing.table.AccountPriceTableRefVO + org.zstack.drs.entity.ClusterDRSVO + org.zstack.drs.entity.DRSAdviceVO + org.zstack.drs.entity.DRSVmMigrationActivityVO + org.zstack.header.buildsystem.AppBuildSystemVO + org.zstack.header.buildsystem.AppBuildSystemZoneRefVO + org.zstack.header.buildapp.BuildAppExportHistoryVO + org.zstack.header.buildapp.BuildApplicationVO + org.zstack.header.buildapp.BuildAppImageRefVO + org.zstack.header.appcenter.PublishAppVO + org.zstack.header.appcenter.PublishAppResourceRefVO + org.zstack.header.cloudformation.monitor.ResourceStackVmPortRefVO + org.zstack.zbox.ZBoxVO + org.zstack.zbox.ZBoxLocationRefVO + org.zstack.header.sriov.VmVfNicVO + org.zstack.header.sriov.EthernetVfPciDeviceVO + org.zstack.header.vdpa.VmVdpaNicVO + org.zstack.header.host.HostNetworkBondingServiceRefVO + org.zstack.header.host.HostNetworkInterfaceServiceRefVO + org.zstack.network.hostNetworkInterface.HostNetworkBondingVO + org.zstack.network.hostNetworkInterface.HostNetworkInterfaceVO + org.zstack.header.host.HostPhysicalMemoryVO + org.zstack.externalbackup.zbox.ZBoxBackupVO + org.zstack.externalbackup.ExternalBackupVO + org.zstack.externalbackup.ExternalBackupMetadataVO + org.zstack.zwatch.metricpusher.MetricDataHttpReceiverVO + org.zstack.zwatch.metricpusher.MetricTemplateVO + org.zstack.sns.platform.universalsms.SNSUniversalSmsEndpointVO + org.zstack.sns.platform.universalsms.supplier.emay.SNSEmaySmsEndpointVO + org.zstack.sns.platform.microsoftteams.SNSMicrosoftTeamsEndpointVO + org.zstack.sns.platform.plugin.SNSPluginEndpointVO org.zstack.header.host.HostPortVO + org.zstack.faulttolerance.entity.FaultToleranceVmGroupVO + org.zstack.faulttolerance.entity.CacheVolumeRefVO + org.zstack.faulttolerance.entity.FaultToleranceVmInstanceGroupHostPortRefVO + org.zstack.faulttolerance.entity.VmInstanceVmNicRedirectPortRefVO + org.zstack.zwatch.thirdparty.entity.ThirdpartyPlatformVO + org.zstack.zwatch.thirdparty.entity.ThirdpartyOriginalAlertVO + org.zstack.zwatch.thirdparty.entity.SNSEndpointThirdpartyAlertHistoryVO + org.zstack.iam2.entity.IAM2ProjectRoleVO + org.zstack.iam2.entity.IAM2ProjectVirtualIDGroupRefVO + org.zstack.zwatch.monitorgroup.entity.EventRuleTemplateVO + org.zstack.zwatch.monitorgroup.entity.MetricRuleTemplateVO + org.zstack.zwatch.monitorgroup.entity.MonitorGroupAlarmVO + org.zstack.zwatch.monitorgroup.entity.MonitorGroupEventSubscriptionVO + org.zstack.zwatch.monitorgroup.entity.MonitorGroupInstanceVO + org.zstack.zwatch.monitorgroup.entity.MonitorGroupTemplateRefVO + org.zstack.zwatch.monitorgroup.entity.MonitorGroupVO + org.zstack.zwatch.monitorgroup.entity.MonitorTemplateVO + org.zstack.zwatch.alarm.activealarm.entity.ActiveAlarmVO + org.zstack.zwatch.alarm.activealarm.entity.ActiveAlarmTemplateVO + org.zstack.zwatch.alarm.AlertDataAckVO + org.zstack.zwatch.alarm.AlarmDataAckVO + org.zstack.zwatch.alarm.EventDataAckVO + org.zstack.network.service.slb.SlbOfferingVO + org.zstack.network.service.slb.SlbLoadBalancerVO + org.zstack.network.service.slb.SlbVmInstanceVO + org.zstack.network.service.slb.SlbGroupVO + org.zstack.network.service.slb.SlbGroupL3NetworkRefVO + org.zstack.network.service.slb.SlbGroupMonitorIpVO + org.zstack.network.service.nfvinstgroup.NfvInstGroupVO + org.zstack.network.service.nfvinstgroup.NfvInstGroupMonitorIpVO + org.zstack.network.service.nfvinstgroup.NfvInstGroupNetworkServiceRefVO + org.zstack.network.service.nfvinstgroup.NfvInstGroupL3NetworkRefVO + org.zstack.network.service.header.nfvinstgroup.NfvInstGroupConfigTaskVO + org.zstack.network.service.header.nfvinstgroup.NfvInstVO + org.zstack.network.service.header.nfvinstgroup.NfvInstOfferingVO + org.zstack.network.service.nfvinst.NfvInstMetaDataVO + org.zstack.autoscaling.group.rule.trigger.AutoScalingRuleSchedulerJobTriggerVO + org.zstack.license.LicenseHistoryVO + org.zstack.license.UKeyLicenseVO + org.zstack.license.RegisterLicenseApplicationVO + org.zstack.license.header.server.LicenseAuthorizedCapacityVO + org.zstack.license.header.server.LicenseAuthorizedNodeVO + org.zstack.license.header.server.LicenseAuthorizeHistoryVO + org.zstack.zwatch.migratedb.AuditsVO + org.zstack.zwatch.migratedb.AlarmRecordsVO + org.zstack.zwatch.migratedb.EventRecordsVO + org.zstack.billing.spendingcalculator.baremetal2.BareMetal2UsageVO + org.zstack.billing.spendingcalculator.baremetal2.PriceBareMetal2ChassisOfferingRefVO + org.zstack.billing.generator.baremetal2.BareMetal2BillingVO + org.zstack.billing.generator.baremetal2.BareMetal2UsageHistoryVO + org.zstack.header.message.ReplayMessageVO org.zstack.header.allocator.HostAllocatedCpuVO org.zstack.header.vm.VmInstanceNumaNodeVO org.zstack.header.host.HostNumaNodeVO + org.zstack.crypto.ccs.CCSCertificateVO + org.zstack.crypto.ccs.CCSCertificateUserRefVO + org.zstack.header.securitymachine.SecretResourcePoolVO + org.zstack.header.securitymachine.SecurityMachineVO + org.zstack.crypto.securitymachine.thirdparty.infoSec.InfoSecSecurityMachineVO + org.zstack.crypto.securitymachine.thirdparty.infoSec.InfoSecSecretResourcePoolVO + org.zstack.crypto.securitymachine.thirdparty.aisino.AiSiNoSecretResourcePoolVO + org.zstack.crypto.securitymachine.thirdparty.haitai.HaiTaiSecretResourcePoolVO + org.zstack.crypto.securitymachine.thirdparty.csp.CSPSecretResourcePoolVO + org.zstack.crypto.securitymachine.thirdparty.koal.KoAlSecretResourcePoolVO + org.zstack.crypto.securitymachine.thirdparty.plugin.PluginSecretResourcePoolVO org.zstack.header.core.encrypt.EncryptionIntegrityVO + org.zstack.iam2.entity.IAM2ProjectResourceRefVO + org.zstack.ovf.datatype.ImagePackageVO org.zstack.storage.primary.sharedblock.SharedBlockCapacityVO + org.zstack.baremetal2.chassis.BareMetal2BondingVO + org.zstack.baremetal2.chassis.BareMetal2BondingNicRefVO + org.zstack.network.service.virtualrouter.VirtualRouterSoftwareVersionVO org.zstack.header.vm.devices.VmInstanceDeviceAddressVO org.zstack.header.vm.devices.VmInstanceDeviceAddressArchiveVO org.zstack.header.vm.devices.VmInstanceDeviceAddressGroupVO org.zstack.header.core.encrypt.EncryptEntityMetadataVO org.zstack.storage.ceph.primary.CephOsdGroupVO - org.zstack.header.network.sdncontroller.SdnControllerVO - org.zstack.header.network.sdncontroller.SdnControllerHostRefVO - org.zstack.sdnController.header.HardwareL2VxlanNetworkPoolVO - org.zstack.sdnController.header.HardwareL2VxlanNetworkVO - org.zstack.sdnController.header.VxlanHostMappingVO - org.zstack.sdnController.header.VxlanClusterMappingVO - org.zstack.sdnController.header.H3cSdnControllerTenantVO - org.zstack.sdnController.header.H3cSdnSubnetIpRangeRefVO org.zstack.header.volume.VolumeHostRefVO + org.zstack.sso.header.SSOClientVO + org.zstack.sso.header.SSOClientAttributeVO + org.zstack.sso.header.CasClientVO + org.zstack.sso.header.OAuth2ClientVO + org.zstack.sso.header.SAML2ClientVO + org.zstack.sso.header.SSORedirectTemplateVO + org.zstack.sso.header.ThirdClientAccountRefVO + org.zstack.header.vmscheduling.HostSchedulingRuleGroupRefVO + org.zstack.header.vmscheduling.HostSchedulingRuleGroupVO + org.zstack.header.vmscheduling.VmSchedulingRuleGroupRefVO + org.zstack.header.vmscheduling.VmSchedulingRuleGroupVO + org.zstack.header.vmscheduling.VmSchedulingRuleRefVO + org.zstack.header.vmscheduling.VmSchedulingRuleVO org.zstack.directory.DirectoryVO org.zstack.directory.ResourceDirectoryRefVO + org.zstack.crypto.securitymachine.thirdparty.sansec.SanSecSecretResourcePoolVO + org.zstack.crypto.securitymachine.thirdparty.sansec.SanSecSecurityMachineVO + org.zstack.crypto.securitymachine.thirdparty.flkSec.FlkSecSecretResourcePoolVO + org.zstack.crypto.securitymachine.thirdparty.flkSec.FlkSecSecurityMachineVO + org.zstack.crypto.securitymachine.thirdparty.fiSec.FiSecSecretResourcePoolVO + org.zstack.crypto.securitymachine.thirdparty.fiSec.FiSecSecurityMachineVO + org.zstack.mttyDevice.MttyDeviceVO org.zstack.core.upgrade.AgentVersionVO + org.zstack.guesttools.GuestToolsStateVO + org.zstack.header.core.encrypt.FileIntegrityVerificationVO + org.zstack.sso.header.SSOTokenVO + org.zstack.sso.header.OAuth2TokenVO + org.zstack.sso.header.SSOServerTokenVO org.zstack.header.host.HostIpmiVO + org.zstack.ha.HaStrategyConditionVO + org.zstack.ha.hostHastate.HostHaStateVO + org.zstack.license.LicenseAppIdRefVO + org.zstack.header.volume.block.BlockVolumeVO + org.zstack.header.volume.block.XskyBlockVolumeVO org.zstack.header.sshkeypair.SshKeyPairVO org.zstack.header.sshkeypair.SshKeyPairRefVO + org.zstack.snmp.agent.SnmpAgentVO + org.zstack.sns.platform.snmp.SNSSnmpPlatformVO org.zstack.header.storage.primary.PrimaryStorageHistoricalUsageVO org.zstack.storage.ceph.primary.CephOsdGroupHistoricalUsageVO org.zstack.storage.primary.local.LocalStorageHostHistoricalUsageVO + org.zstack.network.l2.virtualSwitch.header.L2VirtualSwitchNetworkVO + org.zstack.network.l2.virtualSwitch.header.L2PortGroupNetworkVO org.zstack.network.hostNetworkInterface.lldp.entity.HostNetworkInterfaceLldpVO org.zstack.network.hostNetworkInterface.lldp.entity.HostNetworkInterfaceLldpRefVO - org.zstack.header.volume.block.BlockVolumeVO + org.zstack.sns.platform.wecom.SNSWeComEndpointVO + org.zstack.sns.platform.wecom.SNSWeComAtPersonVO + org.zstack.sns.platform.feishu.SNSFeiShuEndpointVO + org.zstack.sns.platform.feishu.SNSFeiShuAtPersonVO + org.zstack.crypto.securitymachine.thirdparty.jit.JitSecurityMachineVO + org.zstack.network.service.slb.configManager.SlbVmInstanceConfigTaskVO + org.zstack.header.volume.block.ExponBlockVolumeVO + org.zstack.pciDevice.gpu.GpuDeviceVO + org.zstack.pciDevice.gpu.GpuDeviceSpecVO org.zstack.header.host.HostHwMonitorStatusVO + org.zstack.baremetal2.chassis.BareMetal2ChassisPciDeviceVO + org.zstack.baremetal2.chassis.BareMetal2ChassisGpuDeviceVO org.zstack.kvm.xmlhook.XmlHookVO org.zstack.kvm.xmlhook.XmlHookVmInstanceRefVO + org.zstack.guesttools.GuestVmScriptEO + org.zstack.guesttools.GuestVmScriptVO + org.zstack.guesttools.GuestVmScriptExecutedRecordVO + org.zstack.guesttools.GuestVmScriptExecutedRecordDetailVO + org.zstack.storage.device.hba.HbaDeviceVO + org.zstack.storage.device.hba.FcHbaDeviceVO + org.zstack.ai.entity.ApplicationDevelopmentServiceVO + org.zstack.ai.entity.DatasetVO + org.zstack.ai.entity.ModelServiceVO + org.zstack.ai.entity.ModelServiceCpuArchitectureVO + org.zstack.ai.entity.ModelServiceTemplateVO + org.zstack.ai.entity.ModelServiceGpuVendorVO + org.zstack.ai.entity.ModelServiceGpuVendorSpecRefVO + org.zstack.ai.entity.ModelVO + org.zstack.ai.entity.ModelCenterVO + org.zstack.ai.entity.ModelCenterCapacityVO + org.zstack.ai.entity.ModelServiceRefVO + org.zstack.ai.entity.ModelServiceInstanceGroupVO + org.zstack.ai.entity.ModelEvalServiceInstanceGroupVO + org.zstack.ai.entity.ModelEvaluationTaskVO + org.zstack.ai.entity.ModelServiceGroupDatasetRefVO + org.zstack.ai.entity.ModelServiceGroupModelServiceRefVO + org.zstack.ai.entity.ModelServiceInstanceVO + org.zstack.ai.entity.TrainedModelRecordVO + org.zstack.container.entity.ContainerImageVO + org.zstack.container.entity.ContainerManagementEndpointVO + org.zstack.container.entity.ContainerBackupStorageVO + org.zstack.container.entity.NativeClusterVO + org.zstack.container.entity.NativeHostVO + org.zstack.container.entity.PodVO + org.zstack.container.entity.PodGpuStatsVO + org.zstack.container.entity.KubernetesServiceVO + org.zstack.proxy.UserProxyConfigVO + org.zstack.proxy.UserProxyConfigResourceRefVO + org.zstack.network.ovn.OvnControllerVmInstanceVO + org.zstack.network.ovn.OvnControllerVmOfferingVO + org.zstack.observabilityServer.ObservabilityServerOfferingVO + org.zstack.observabilityServer.ObservabilityServerVmVO + org.zstack.header.cbt.CbtTaskVO + org.zstack.header.cbt.CbtTaskResourceRefVO + org.zstack.header.cbt.VolumeCbtBackupRecordVO + org.zstack.observabilityServer.service.ObservabilityServerServiceRefVO org.zstack.log.server.LogServerVO + org.zstack.header.zdfs.ZdfsVO + org.zstack.header.zdfs.ZdfsStorageVO org.zstack.header.network.l3.L3NetworkSequenceNumberVO org.zstack.network.hostNetworkInterface.PhysicalSwitchVO org.zstack.network.hostNetworkInterface.PhysicalSwitchPortVO + org.zstack.network.huawei.imaster.HuaweiIMasterFabricVO + org.zstack.network.huawei.imaster.HuaweiIMasterVpcVO + org.zstack.network.huawei.imaster.HuaweiIMasterTenantVO + org.zstack.network.huawei.imaster.HuaweiIMasterTenantFabricRefVO + org.zstack.network.huawei.imaster.HuaweiIMasterVRouterVO + org.zstack.network.huawei.imaster.HuaweiIMasterSdnControllerVO + org.zstack.hygon.HygonCcpDeviceVO + org.zstack.hygon.HygonCcpMdevVO + org.zstack.network.ovn.OvnControllerVO diff --git a/conf/springConfigXml/DatabaseFacade.xml b/conf/springConfigXml/DatabaseFacade.xml index 0e32b390993..3dc84217657 100755 --- a/conf/springConfigXml/DatabaseFacade.xml +++ b/conf/springConfigXml/DatabaseFacade.xml @@ -1,111 +1,86 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - org.hibernate.dialect.MySQLInnoDBDialect - false - false - org.zstack.core.db.hibernate.InlineIdsOrClauseBulkIdStrategy2 - - org.zstack.search.CustomSearchMappingFactory - ${Search.autoRegister:true} - infinispan - searchConfig/default-infinispan.xml - ${Exclusive.indexUse:false} - jgroups - searchConfig/jgroup-backend-tcp.xml - - - 1000 - 100 - - sync - - true - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + org.hibernate.dialect.MySQLDialect + false + false + org.hibernate.query.sqm.mutation.internal.inline.InlineMutationStrategy + false + true + + + + + + + + + + + + + + + + + + + + + diff --git a/conf/springConfigXml/RESTFacade.xml b/conf/springConfigXml/RESTFacade.xml index 044e4e8bb50..2a6fa8e56c2 100755 --- a/conf/springConfigXml/RESTFacade.xml +++ b/conf/springConfigXml/RESTFacade.xml @@ -29,21 +29,17 @@ - - - + + - + - - - - - - - - - + + + + + + - org.hibernate.dialect.MySQLInnoDBDialect + org.hibernate.dialect.MySQLDialect false diff --git a/conf/tools/flyway-3.2.1/drivers/jna-3.3.0-platform.jar b/conf/tools/flyway-3.2.1/drivers-lib/jna-3.3.0-platform.jar similarity index 100% rename from conf/tools/flyway-3.2.1/drivers/jna-3.3.0-platform.jar rename to conf/tools/flyway-3.2.1/drivers-lib/jna-3.3.0-platform.jar diff --git a/conf/tools/flyway-3.2.1/drivers/jna-3.3.0.jar b/conf/tools/flyway-3.2.1/drivers-lib/jna-3.3.0.jar similarity index 100% rename from conf/tools/flyway-3.2.1/drivers/jna-3.3.0.jar rename to conf/tools/flyway-3.2.1/drivers-lib/jna-3.3.0.jar diff --git a/conf/tools/flyway-3.2.1/drivers-lib/mysql-connector-java-8.0.17.jar b/conf/tools/flyway-3.2.1/drivers-lib/mysql-connector-java-8.0.17.jar new file mode 100644 index 00000000000..3eb044b59eb Binary files /dev/null and b/conf/tools/flyway-3.2.1/drivers-lib/mysql-connector-java-8.0.17.jar differ diff --git a/conf/tools/flyway-3.2.1/drivers/mariadb-java-client-1.1.7.jar b/conf/tools/flyway-3.2.1/drivers/mariadb-java-client-1.1.7.jar deleted file mode 100755 index 765f9577845..00000000000 Binary files a/conf/tools/flyway-3.2.1/drivers/mariadb-java-client-1.1.7.jar and /dev/null differ diff --git a/conf/tools/flyway-3.2.1/flyway b/conf/tools/flyway-3.2.1/flyway index 215368c0746..2f47de3ce47 100755 --- a/conf/tools/flyway-3.2.1/flyway +++ b/conf/tools/flyway-3.2.1/flyway @@ -48,7 +48,7 @@ else fi fi -CP="$INSTALLDIR/lib/*:$INSTALLDIR/drivers/*" +CP="$INSTALLDIR/lib/*:$INSTALLDIR/drivers-lib/*" if $cygwin; then CP=$(cygpath -pw "$CP") diff --git a/conf/tools/flyway-6.3.1/sql/V0.6__schema.sql b/conf/tools/flyway-6.3.1/sql/V0.6__schema.sql new file mode 100755 index 00000000000..cfdfe625b29 --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V0.6__schema.sql @@ -0,0 +1,1356 @@ +use zstack; + +CREATE TABLE `zstack`.`person` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `name` varchar(255), + `uuid` varchar(36) NOT NULL, + `description` varchar(255), + `age` int(10) unsigned, + `sex` varchar(40) NOT NULL DEFAULT 'male', + `marriage` tinyint(1) unsigned NOT NULL, + `title` varchar(12) NOT NULL, + `date` datetime NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`LogVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `content` text, + `type` varchar(32) NOT NULL, + `level` varchar(32), + `resourceUuid` varchar(32), + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`ManagementNodeVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `hostName` varchar(255) DEFAULT NULL, + `port` int unsigned DEFAULT NULL, + `state` varchar(128) NOT NULL, + `joinDate` timestamp DEFAULT CURRENT_TIMESTAMP, + `heartBeat` timestamp, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`AccountVO` ( + `uuid` varchar(32) NOT NULL UNIQUE COMMENT 'account uuid', + `name` varchar(128) NOT NULL UNIQUE COMMENT 'account name', + `password` varchar(255) NOT NULL COMMENT 'password', + `type` varchar(128) NOT NULL COMMENT 'account type', + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP COMMENT 'last operation date', + `createDate` timestamp, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`AccountResourceRefVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `accountUuid` varchar(32) NOT NULL, + `ownerAccountUuid` varchar(32) NOT NULL, + `resourceUuid` varchar(32) NOT NULL, + `resourceType` varchar(255) NOT NULL, + `permission` int unsigned NOT NULL, + `isShared` tinyint(1) unsigned NOT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`id`), + CONSTRAINT `fkAccountResourceAcntUuid` FOREIGN KEY (`accountUuid`) REFERENCES `AccountVO` (`uuid`) ON DELETE CASCADE, + CONSTRAINT `fkAccountResourceOwnerUuid` FOREIGN KEY (`accountUuid`) REFERENCES `AccountVO` (`uuid`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`UserVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `accountUuid` varchar(32) NOT NULL, + `name` varchar(128) NOT NULL, + `password` varchar(255) DEFAULT NULL, + `securityKey` varchar(128) DEFAULT NULL, + `token` varchar(128) DEFAULT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP COMMENT 'last operation date', + `createDate` timestamp, + PRIMARY KEY (`uuid`), + CONSTRAINT `uqUserVO` UNIQUE(`accountUuid`, `name`), + CONSTRAINT `fkUserAccountUuid` FOREIGN KEY (`accountUuid`) REFERENCES `AccountVO` (`uuid`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`SessionVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `accountUuid` varchar(32) NOT NULL, + `userUuid` varchar(32) DEFAULT NULL, + `expiredDate` timestamp NOT NULL, + `createDate` timestamp, + CONSTRAINT `fkSessionAccountUuid` FOREIGN KEY (`accountUuid`) REFERENCES `AccountVO` (`uuid`) ON DELETE CASCADE, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`PolicyVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `name` varchar(255) NOT NULL, + `description` varchar(255) DEFAULT NULL, + `accountUuid` varchar(32) NOT NULL, + `type` varchar(32) NOT NULL, + `data` text NOT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP COMMENT 'last operation date', + `createDate` timestamp, + PRIMARY KEY (`uuid`), + CONSTRAINT `fkPolicyAccountUuid` FOREIGN KEY (`accountUuid`) REFERENCES `AccountVO` (`uuid`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`UserPolicyRefVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `policyUuid` varchar(32) NOT NULL, + `userUuid` varchar(32) NOT NULL , + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP COMMENT 'last operation date', + `createDate` timestamp, + PRIMARY KEY (`id`), + CONSTRAINT `fkUpPolicyUuid` FOREIGN KEY (`policyUuid`) REFERENCES `PolicyVO` (`uuid`), + CONSTRAINT `fkUpUserUuid` FOREIGN KEY (`userUuid`) REFERENCES `UserVO` (`uuid`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`UserGroupVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `name` varchar(255) NOT NULL, + `description` varchar(255) DEFAULT NULL, + `accountUuid` varchar(32) NOT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP COMMENT 'last operation date', + `createDate` timestamp, + PRIMARY KEY (`uuid`), + CONSTRAINT `fkGroupAccountUuid` FOREIGN KEY (`accountUuid`) REFERENCES `AccountVO` (`uuid`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`UserGroupPolicyRefVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `policyUuid` varchar(32) NOT NULL, + `groupUuid` varchar(32) NOT NULL , + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP COMMENT 'last operation date', + `createDate` timestamp, + PRIMARY KEY (`id`), + CONSTRAINT `fkGpPolicyUuid` FOREIGN KEY (`policyUuid`) REFERENCES `PolicyVO` (`uuid`), + CONSTRAINT `fkGpGroupUuid` FOREIGN KEY (`groupUuid`) REFERENCES `UserGroupVO` (`uuid`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`UserGroupUserRefVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `userUuid` varchar(32) NOT NULL, + `groupUuid` varchar(32) NOT NULL , + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP COMMENT 'last operation date', + `createDate` timestamp, + PRIMARY KEY (`id`), + CONSTRAINT `fkUgPolicyUuid` FOREIGN KEY (`userUuid`) REFERENCES `UserVO` (`uuid`), + CONSTRAINT `fkUgGroupUuid` FOREIGN KEY (`groupUuid`) REFERENCES `UserGroupVO` (`uuid`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`ZoneEO` ( + `uuid` varchar(32) NOT NULL UNIQUE COMMENT 'Zone uuid', + `name` varchar(255) NOT NULL COMMENT 'Zone name', + `type` varchar(255) NOT NULL COMMENT 'Zone type', + `state` varchar(32) NOT NULL COMMENT 'Zone state', + `description` varchar(2048) DEFAULT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP COMMENT 'last operation date', + `createDate` timestamp, + `deleted` varchar(255) DEFAULT NULL, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`ClusterEO` ( + `uuid` varchar(32) NOT NULL UNIQUE COMMENT 'cluster uuid', + `zoneUuid` varchar(32) NOT NULL COMMENT 'zone uuid', + `name` varchar(255) NOT NULL COMMENT 'cluster name', + `type` varchar(255) NOT NULL COMMENT 'cluster name', + `managementNodeId` varchar(128) DEFAULT NULL COMMENT 'management node id', + `state` varchar(32) NOT NULL COMMENT 'cluster state', + `hypervisorType` varchar(64) NOT NULL COMMENT 'hypervisor type', + `description` varchar(2048) DEFAULT NULL COMMENT 'cluster description', + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP COMMENT 'last operation date', + `createDate` timestamp, + `deleted` varchar(255) DEFAULT NULL, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`HostEO` ( + `uuid` varchar(32) NOT NULL UNIQUE COMMENT 'host uuid', + `zoneUuid` varchar(32) NOT NULL COMMENT 'zone uuid', + `clusterUuid` varchar(32) NOT NULL COMMENT 'cluster uuid', + `name` varchar(255) NOT NULL COMMENT 'host name', + `state` varchar(32) NOT NULL COMMENT 'host state', + `status` varchar(32) NOT NULL COMMENT 'host connection status', + `hypervisorType` varchar(64) NOT NULL COMMENT 'hypervisor type', + `managementIp` varchar(255) NOT NULL COMMENT 'ip of managment nic', + `description` varchar(2048) DEFAULT NULL COMMENT 'host description', + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP COMMENT 'last operation date', + `createDate` timestamp, + `deleted` varchar(255) DEFAULT NULL, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`UserTagVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `resourceUuid` varchar(32) NOT NULL, + `resourceType` varchar(64) NOT NULL, + `type` varchar(32) NOT NULL, + `tag` varchar(2048) NOT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`SystemTagVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `resourceUuid` varchar(32) NOT NULL, + `resourceType` varchar(64) NOT NULL, + `inherent` tinyint unsigned NOT NULL DEFAULT 0, + `type` varchar(32) NOT NULL, + `tag` varchar(2048) NOT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`HostTagVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `hostUuid` varchar(32) NOT NULL COMMENT 'host uuid', + `tag` varchar(128) NOT NULL COMMENT 'host tag', + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP COMMENT 'last operation date', + `createDate` timestamp, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`SimulatorHostVO` ( + `uuid` varchar(32) NOT NULL UNIQUE COMMENT 'host uuid', + `memoryCapacity` bigint unsigned NOT NULL COMMENT 'total memory of host in bytes', + `cpuCapacity` bigint unsigned NOT NULL COMMENT 'total cpu of host in HZ', + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`KVMHostVO` ( + `uuid` varchar(32) NOT NULL UNIQUE COMMENT 'host uuid', + `username` varchar(255) NOT NULL, + `password` varchar(255) NOT NULL, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`PrimaryStorageEO` ( + `uuid` varchar(32) NOT NULL UNIQUE COMMENT 'uuid', + `zoneUuid` varchar(32) NOT NULL, + `name` varchar(255) DEFAULT NULL COMMENT 'primary storage name', + `url` varchar(2048) NOT NULL, + `mountPath` varchar(2048) NOT NULL, + `description` varchar(2048) DEFAULT NULL COMMENT 'primary storage description', + `state` varchar(32) NOT NULL, + `status` varchar(32) NOT NULL, + `type` varchar(32) NOT NULL COMMENT 'primary storage type', + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP COMMENT 'last operation date', + `createDate` timestamp, + `deleted` varchar(255) DEFAULT NULL, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`PrimaryStorageCapacityVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `totalCapacity` bigint unsigned DEFAULT 0, + `availableCapacity` bigint unsigned DEFAULT 0, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`PrimaryStorageClusterRefVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `primaryStorageUuid` varchar(32) NOT NULL COMMENT 'primary storage uuid', + `clusterUuid` varchar(32) NOT NULL COMMENT 'primary storage uuid', + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP COMMENT 'last operation date', + `createDate` timestamp, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`BackupStorageEO` ( + `uuid` varchar(32) NOT NULL UNIQUE COMMENT 'uuid', + `name` varchar(255) DEFAULT NULL COMMENT 'backup storage name', + `url` varchar(2048) NOT NULL COMMENT 'url, can be ip or fqdn name or type specific string', + `description` varchar(2048) DEFAULT NULL COMMENT 'backup storage description', + `totalCapacity` bigint unsigned NOT NULL COMMENT 'total capacity of backup storage in bytes', + `availableCapacity` bigint unsigned NOT NULL, + `state` varchar(32) NOT NULL COMMENT 'backup storage state', + `status` varchar(32) NOT NULL COMMENT 'backup storage status', + `type` varchar(32) NOT NULL COMMENT 'backup storage type', + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP COMMENT 'last operation date', + `createDate` timestamp, + `deleted` varchar(255) DEFAULT NULL, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`SftpBackupStorageVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `hostname` varchar(255) NOT NULL UNIQUE, + `username` varchar(255) NOT NULL, + `password` varchar(255) NOT NULL, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`BackupStorageZoneRefVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `backupStorageUuid` varchar(32) NOT NULL COMMENT 'uuid of backup storage', + `zoneUuid` varchar(32) NOT NULL COMMENT 'uuid of zone', + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP COMMENT 'last operation date', + `createDate` timestamp, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`ImageEO` ( + `uuid` varchar(32) NOT NULL UNIQUE COMMENT 'uuid', + `size` bigint unsigned DEFAULT NULL COMMENT 'image size', + `md5sum` varchar(255) DEFAULT NULL COMMENT 'md5sum of image', + `name` varchar(255) NOT NULL COMMENT 'image name', + `description` varchar(1024) DEFAULT NULL COMMENT 'image description', + `url` varchar(1024) NOT NULL COMMENT 'image url', + `installUrl` varchar(1024) DEFAULT NULL COMMENT 'url where image installed on secondary storage', + `mediaType` varchar(32) NOT NULL, + `format` varchar(32) NOT NULL, + `system` tinyint unsigned DEFAULT 0, + `platform` varchar(16) DEFAULT NULL, + `type` varchar(255) NOT NULL COMMENT 'image type', + `guestOsType` varchar(255) DEFAULT 'other' COMMENT 'guest os type string', + `state` varchar(32) NOT NULL COMMENT 'image state', + `status` varchar(32) NOT NULL COMMENT 'image status', + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP COMMENT 'last operation date', + `createDate` timestamp, + `deleted` varchar(255) DEFAULT NULL, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`ImageBackupStorageRefVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `backupStorageUuid` varchar(32) NOT NULL, + `imageUuid` varchar(32) NOT NULL, + `installPath` varchar(2048) NOT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`ImageCacheVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `primaryStorageUuid` varchar(32) NOT NULL, + `imageUuid` varchar(32) DEFAULT NULL, + `installUrl` varchar(1024) NOT NULL, + `mediaType` varchar(64) NOT NULL, + `size` bigint unsigned NOT NULL, + `md5sum` varchar(255) NOT NULL, + `state` varchar(255) NOT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`InstanceOfferingEO` ( + `uuid` varchar(32) NOT NULL UNIQUE COMMENT 'uuid', + `name` varchar(255) NOT NULL COMMENT 'instance offering name', + `description` varchar(1024) DEFAULT NULL COMMENT 'instance offering description', + `cpuNum` int(10) unsigned NOT NULL COMMENT 'number of cpus', + `cpuSpeed` bigint unsigned NOT NULL COMMENT 'cpu speed in hz', + `memorySize` bigint unsigned NOT NULL COMMENT 'memory size in bytes', + `state` varchar(32) NOT NULL, + `sortKey` int(10) unsigned DEFAULT 0 COMMENT 'sort key', + `type` varchar(255) NOT NULL COMMENT 'offering type', + `duration` varchar(255) NOT NULL, + `allocatorStrategy` varchar(64) DEFAULT NULL COMMENT 'allocator strategy deciding which allocator chain to use', + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP COMMENT 'last operation date', + `createDate` timestamp, + `deleted` varchar(255) DEFAULT NULL, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`DiskOfferingEO` ( + `uuid` varchar(32) NOT NULL UNIQUE COMMENT 'uuid', + `name` varchar(255) NOT NULL COMMENT 'disk offering name', + `description` varchar(1024) DEFAULT NULL COMMENT 'disk offering description', + `diskSize` bigint unsigned NOT NULL COMMENT 'disk size in bytes', + `sortKey` int(10) unsigned DEFAULT 0 COMMENT 'sort key', + `state` varchar(32) NOT NULL, + `type` varchar(255) NOT NULL, + `allocatorStrategy` varchar(64) DEFAULT NULL COMMENT 'allocator strategy deciding which allocator chain to use', + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP COMMENT 'last operation date', + `createDate` timestamp, + `deleted` varchar(255) DEFAULT NULL, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`HostCapacityVO` ( + `uuid` varchar(32) NOT NULL UNIQUE COMMENT 'host uuid', + `totalMemory` bigint unsigned NOT NULL COMMENT 'total memory of host in bytes', + `totalCpu` bigint unsigned NOT NULL COMMENT 'total cpu of host in HZ', + `availableMemory` bigint unsigned NOT NULL COMMENT 'used memory of host in bytes', + `availableCpu` bigint unsigned NOT NULL COMMENT 'used cpu of host in HZ', + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`VolumeEO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `primaryStorageUuid` varchar(32) DEFAULT NULL, + `rootImageUuid` varchar(32) DEFAULT NULL, + `vmInstanceUuid` varchar(32) DEFAULT NULL, + `diskOfferingUuid` varchar(32) DEFAULT NULL, + `name` varchar(255) NOT NULL, + `description` varchar(1024) DEFAULT NULL, + `installPath` varchar(1024) DEFAULT NULL, + `type` varchar(64) NOT NULL, + `format` varchar(64) DEFAULT NULL, + `size` bigint unsigned NOT NULL, + `deviceId` int unsigned DEFAULT NULL, + `status` varchar(32) NOT NULL, + `state` varchar(32) NOT NULL, + `isAttached` tinyint(1) unsigned NOT NULL DEFAULT 0, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + `deleted` varchar(255) DEFAULT NULL, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + + +CREATE TABLE `zstack`.`VolumeSnapshotTreeEO` ( + `uuid` varchar(32) NOT NULL UNIQUE COMMENT 'host uuid', + `volumeUuid` varchar(32) DEFAULT NULL, + `current` tinyint(1) unsigned DEFAULT 0, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP COMMENT 'last operation date', + `createDate` timestamp, + `deleted` varchar(255) DEFAULT NULL, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`VolumeSnapshotEO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `name` varchar(255) NOT NULL, + `volumeUuid` varchar(32) DEFAULT NULL, + `description` varchar(2048) DEFAULT NULL, + `type` varchar(255) DEFAULT NULL, + `format` varchar(64) NOT NULL, + `treeUuid` varchar(32) NOT NULL, + `parentUuid` varchar(32) DEFAULT NULL, + `backupStorageUuid` varchar(32) DEFAULT NULL, + `primaryStorageUuid` varchar(32) DEFAULT NULL, + `primaryStorageInstallPath` varchar(1024) DEFAULT NULL, + `backupStorageInstallPath` varchar(1024) DEFAULT NULL, + `volumeType` varchar(32) NOT NULL, + `state` varchar(64) NOT NULL, + `status` varchar(64) NOT NULL, + `distance` int unsigned DEFAULT 0, + `size` bigint unsigned DEFAULT 0, + `latest` tinyint(1) unsigned DEFAULT 0, + `fullSnapshot` tinyint(1) unsigned DEFAULT 0, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + `deleted` varchar(255) DEFAULT NULL, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`VolumeSnapshotBackupStorageRefVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `volumeSnapshotUuid` varchar(32) NOT NULL, + `backupStorageUuid` varchar(32) NOT NULL, + `installPath` varchar(1024) NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`L2NetworkEO` ( + `uuid` varchar(32) NOT NULL UNIQUE COMMENT 'l2 network uuid', + `name` varchar(255) NOT NULL COMMENT 'name', + `type` varchar(128) NOT NULL COMMENT 'type', + `description` varchar(2048) DEFAULT NULL COMMENT 'description', + `zoneUuid` varchar(32) NOT NULL COMMENT 'zone uuid', + `physicalInterface` varchar(1024) NOT NULL COMMENT 'physical nic that this L2 network attaches to', + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP COMMENT 'last operation date', + `createDate` timestamp, + `deleted` varchar(255) DEFAULT NULL, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`L2VlanNetworkVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `vlan` int unsigned NOT NULL, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`L2NetworkClusterRefVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `l2NetworkUuid` varchar(32) NOT NULL, + `clusterUuid` varchar(32) NOT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`L3NetworkEO` ( + `uuid` varchar(32) NOT NULL UNIQUE COMMENT 'l3 network uuid', + `l2NetworkUuid` varchar(32) NOT NULL COMMENT 'l2 network uuid that this l3 network belongs to', + `name` varchar(255) NOT NULL COMMENT 'name', + `description` varchar(2048) DEFAULT NULL COMMENT 'description', + `type` varchar(128) NOT NULL COMMENT 'type', + `dnsDomain` varchar(255) DEFAULT NULL, + `system` tinyint unsigned DEFAULT 0, + `state` varchar(32) NOT NULL, + `zoneUuid` varchar(32) NOT NULL COMMENT 'zone uuid', + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP COMMENT 'last operation date', + `createDate` timestamp, + `deleted` varchar(255) DEFAULT NULL, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + + +CREATE TABLE `zstack`.`IpRangeEO` ( + `uuid` varchar(32) NOT NULL UNIQUE COMMENT 'uuid', + `l3NetworkUuid` varchar(32) NOT NULL COMMENT 'l3 network uuid', + `name` varchar(255) DEFAULT NULL COMMENT 'name', + `description` varchar(2048) DEFAULT NULL COMMENT 'description', + `startIp` varchar(64) NOT NULL COMMENT 'start ip', + `endIp` varchar(64) NOT NULL COMMENT 'end ip', + `netmask` varchar(64) NOT NULL COMMENT 'netmask', + `gateway` varchar(64) NOT NULL COMMENT 'gateway', + `networkCidr` varchar(64) DEFAULT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP COMMENT 'last operation date', + `createDate` timestamp, + `deleted` varchar(255) DEFAULT NULL, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`L3NetworkDnsVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `l3NetworkUuid` varchar(32) NOT NULL COMMENT 'l3 network uuid', + `dns` varchar(255) NOT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP COMMENT 'last operation date', + `createDate` timestamp, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`UsedIpVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `ipRangeUuid` varchar(32) NOT NULL, + `l3NetworkUuid` varchar(32) NOT NULL, + `ip` varchar(128) NOT NULL, + `ipInLong` bigint unsigned NOT NULL, + `gateway` varchar(128) DEFAULT NULL, + `netmask` varchar(128) DEFAULT NULL, + `usedFor` varchar(128) DEFAULT NULL, + `metaData` text DEFAULT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`VipVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `name` varchar(255) NOT NULL, + `description` varchar(1024) DEFAULT NULL, + `ipRangeUuid` varchar(32) NOT NULL, + `usedIpUuid` varchar(32) NOT NULL, + `l3NetworkUuid` varchar(32) NOT NULL, + `peerL3NetworkUuid` varchar(32) DEFAULT NULL, + `state` varchar(32) NOT NULL, + `ip` varchar(128) NOT NULL, + `gateway` varchar(128) DEFAULT NULL, + `netmask` varchar(128) DEFAULT NULL, + `useFor` varchar(1024) DEFAULT NULL, + `serviceProvider` varchar(255) DEFAULT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`VmInstanceSequenceNumberVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`VmInstanceEO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `zoneUuid` varchar(32) DEFAULT NULL, + `clusterUuid` varchar(32) DEFAULT NULL, + `imageUuid` varchar(32) DEFAULT NULL, + `hostUuid` varchar(32) DEFAULT NULL, + `lastHostUuid` varchar(32) DEFAULT NULL, + `rootVolumeUuid` varchar(32) DEFAULT NULL, + `instanceOfferingUuid` varchar(32) DEFAULT NULL, + `defaultL3NetworkUuid` varchar(32), + `cpuNum` int(10) unsigned NOT NULL, + `cpuSpeed` bigint unsigned NOT NULL, + `memorySize` bigint unsigned NOT NULL, + `allocatorStrategy` varchar(64) DEFAULT NULL, + `name` varchar(255) NOT NULL, + `description` varchar(2048) DEFAULT NULL, + `type` varchar(64) NOT NULL, + `internalId` bigint unsigned NOT NULL, + `hypervisorType` varchar(64) DEFAULT NULL, + `state` varchar(128) NOT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + `deleted` varchar(255) DEFAULT NULL, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`VmNicVO` ( + `uuid` varchar(32) NOT NULL UNIQUE COMMENT 'uuid', + `vmInstanceUuid` varchar(32) NOT NULL COMMENT 'vm instance uuid', + `usedIpUuid` varchar(32) DEFAULT NULL UNIQUE COMMENT 'used ip uuid', + `l3NetworkUuid` varchar(32) DEFAULT NULL COMMENT 'l3 network uuid', + `metaData` varchar(255) DEFAULT NULL, + `ip` varchar(128) NOT NULL COMMENT 'ip in string', + `mac` varchar(17) NOT NULL UNIQUE COMMENT 'mac address', + `gateway` varchar(128) DEFAULT NULL, + `netmask` varchar(128) DEFAULT NULL, + `internalName` varchar(128) NOT NULL, + `deviceId` int unsigned NOT NULL COMMENT 'device id', + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP COMMENT 'last operation date', + `createDate` timestamp, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`EipVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `name` varchar(255) NOT NULL, + `description` varchar(2048) DEFAULT NULL, + `vipUuid` varchar(32) NOT NULL, + `vipIp` varchar(128) NOT NULL, + `state` varchar(32) NOT NULL, + `vmNicUuid` varchar(32) DEFAULT NULL, + `guestIp` varchar(128) DEFAULT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`ApplianceVmVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `applianceVmType` varchar(64) NOT NULL, + `managementNetworkUuid` varchar(32) DEFAULT NULL, + `defaultRouteL3NetworkUuid` varchar(32) DEFAULT NULL, + `status` varchar(64) NOT NULL, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`VirtualRouterVmVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `publicNetworkUuid` varchar(32) DEFAULT NULL, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`ApplianceVmFirewallRuleVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `applianceVmUuid` varchar(32) NOT NULL, + `protocol` varchar(16), + `sourceIp` varchar(128) DEFAULT NULL, + `destIp` varchar(128) DEFAULT NULL, + `startPort` int unsigned DEFAULT 0, + `endPort` int unsigned DEFAULT 0, + `allowCidr` varchar(32) DEFAULT NULL, + `l3NetworkUuid` varchar(32) NOT NULL, + `identity` varchar(128) NOT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`GlobalConfigVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `name` varchar(255) NOT NULL, + `description` varchar(1024) DEFAULT NULL, + `category` varchar(64) NOT NULL, + `defaultValue` text DEFAULT NULL, + `value` text DEFAULT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`NetworkServiceProviderVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `name` varchar(255) NOT NULL, + `description` varchar(1024) DEFAULT NULL, + `type` varchar(255) NOT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`NetworkServiceTypeVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `networkServiceProviderUuid` varchar(32) NOT NULL, + `type` varchar(255) NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`NetworkServiceL3NetworkRefVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `l3NetworkUuid` varchar(32) NOT NULL, + `networkServiceProviderUuid` varchar(32) NOT NULL, + `networkServiceType` varchar(255) NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`NetworkServiceProviderL2NetworkRefVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `networkServiceProviderUuid` varchar(32) NOT NULL, + `l2NetworkUuid` varchar(32) NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`VirtualRouterBootstrapIsoVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `virtualRouterUuid` varchar(32) NOT NULL, + `isoPath` varchar(255) NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`VirtualRouterOfferingVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `managementNetworkUuid` varchar(32) DEFAULT NULL, + `publicNetworkUuid` varchar(32) DEFAULT NULL, + `imageUuid` varchar(32) NOT NULL, + `zoneUuid` varchar(32) NOT NULL, + `isDefault` tinyint(1) unsigned DEFAULT 0, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`SecurityGroupVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `name` varchar(255) NOT NULL, + `description` varchar(1024) DEFAULT NULL, + `state` varchar(32) NOT NULL, + `internalId` bigint unsigned NOT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`SecurityGroupL3NetworkRefVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `l3NetworkUuid` varchar(32) NOT NULL, + `securityGroupUuid` varchar(32) NOT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`SecurityGroupRuleVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `securityGroupUuid` varchar(32) NOT NULL, + `type` varchar(255) NOT NULL, + `protocol` varchar(255) NOT NULL, + `allowedCidr` varchar(255) NOT NULL, + `startPort` int NOT NULL, + `endPort` int NOT NULL, + `state` varchar(32) NOT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`VmNicSecurityGroupRefVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `vmInstanceUuid` varchar(32) NOT NULL, + `vmNicUuid` varchar(32) NOT NULL, + `securityGroupUuid` varchar(32) NOT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`SecurityGroupFailureHostVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `hostUuid` varchar(32) NOT NULL, + `securityGroupUuid` varchar(32) DEFAULT NULL, + `managementNodeId` varchar(128) DEFAULT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`SecurityGroupSequenceNumberVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`PortForwardingRuleVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `name` varchar(255) NOT NULL, + `description` varchar(2048) DEFAULT NULL, + `state` varchar(32) NOT NULL, + `guestIp` varchar(128) DEFAULT NULL, + `vipIp` varchar(128) NOT NULL, + `vipUuid` varchar(32) NOT NULL, + `vipPortStart` int NOT NULL, + `vipPortEnd` int NOT NULL, + `privatePortStart` int NOT NULL, + `privatePortEnd` int NOT NULL, + `vmNicUuid` varchar(32) DEFAULT NULL, + `allowedCidr` varchar(128) DEFAULT NULL, + `protocolType` varchar(128) NOT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`VirtualRouterPortForwardingRuleRefVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `vipUuid` varchar(32) NOT NULL, + `virtualRouterVmUuid` varchar(32) DEFAULT NULL, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`VirtualRouterVipVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `virtualRouterVmUuid` varchar(32) DEFAULT NULL, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`VirtualRouterEipRefVO` ( + `eipUuid` varchar(32) NOT NULL UNIQUE, + `virtualRouterVmUuid` varchar(32) DEFAULT NULL, + PRIMARY KEY (`eipUuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`ConsoleProxyVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `vmInstanceUuid` varchar(32) DEFAULT NULL, + `agentIp` varchar(32) NOT NULL, + `proxyHostname` varchar(128) NOT NULL, + `proxyPort` int NOT NULL, + `targetHostname` varchar(128) NOT NULL, + `targetPort` int NOT NULL, + `status` varchar(32) NOT NULL, + `scheme` varchar(32) DEFAULT 'http', + `proxyIdentity` varchar(255) DEFAULT NULL, + `agentType` varchar(128) NOT NULL, + `token` varchar(255) DEFAULT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`WorkFlowChainVO` ( + `uuid` varchar(32) NOT NULL UNIQUE COMMENT 'uuid made of name of workflow_flow', + `name` varchar(255) NOT NULL, + `owner` varchar(255) NOT NULL, + `state` varchar(128) NOT NULL, + `totalWorkFlows` int NOT NULL, + `currentPosition` int NOT NULL, + `OperationDate` timestamp, + `reason` text DEFAULT NULL, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`WorkFlowVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `chainUuid` varchar(32) NOT NULL, + `name` varchar(255) NOT NULL, + `state` varchar(128) NOT NULL, + `reason` text DEFAULT NULL, + `position` int NOT NULL, + `OperationDate` timestamp, + `context` blob DEFAULT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`DeleteVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `voName` varchar(255) NOT NULL, + `uuid` varchar(32) NOT NULL, + `foreignVOToDeleteName` varchar(255) DEFAULT NULL, + `foreignVOToDeleteUuid` varchar(32) DEFAULT NULL, + `foreignVOName` varchar(255) DEFAULT NULL, + `foreignVOUuid` varchar(32) DEFAULT NULL, + `deletedDate` timestamp, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`InsertVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `voName` varchar(255) NOT NULL, + `uuid` varchar(32) NOT NULL, + `foreignVOName` varchar(255) DEFAULT NULL, + `foreignVOUuid` varchar(32) DEFAULT NULL, + `insertDate` timestamp, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`UpdateVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `voName` varchar(255) NOT NULL, + `uuid` varchar(32) NOT NULL, + `foreignVOName` varchar(255) DEFAULT NULL, + `foreignVOUuid` varchar(32) DEFAULT NULL, + `updateDate` timestamp, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`check_point` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `name` varchar(255) NOT NULL, + `uuid` varchar(40) NOT NULL UNIQUE, + `state` varchar(128) NOT NULL, + `context` blob DEFAULT NULL, + `op_date` timestamp, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`check_point_entry` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `check_point_id` bigint unsigned NOT NULL, + `name` varchar(255) NOT NULL, + `context` blob DEFAULT NULL, + `state` varchar(128) NOT NULL, + `reason` varchar(1024) DEFAULT NULL, + `op_date` timestamp, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`KeyValueBinaryVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `contents` longblob NOT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`KeyValueVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `uuid` varchar(32) NOT NULL, + `className` varchar(128) NOT NULL, + `entityKey` text NOT NULL, + `entityValue` text NOT NULL, + `valueType` varchar(128) NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`QuartzJdbcJobVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `groupName` varchar(255) NOT NULL, + `managementNodeId` varchar(128) DEFAULT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`JobQueueVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `name` varchar(255) NOT NULL UNIQUE, + `owner` varchar(255) DEFAULT NULL, + `workerManagementNodeId` varchar(32) DEFAULT NULL, + `takenDate` timestamp DEFAULT CURRENT_TIMESTAMP, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`JobQueueEntryVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `name` varchar(255) NOT NULL, + `jobQueueId` bigint unsigned NOT NULL, + `state` varchar(128) NOT NULL, + `context` blob DEFAULT NULL, + `owner` varchar(255) DEFAULT NULL, + `issuerManagementNodeId` varchar(32) DEFAULT NULL, + `restartable` tinyint(1) unsigned NOT NULL DEFAULT 0, + `inDate` timestamp DEFAULT CURRENT_TIMESTAMP, + `doneDate` timestamp NULL, + `errText` text DEFAULT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + + +CREATE TABLE `zstack`.`ManagementNodeContextVO` ( + `id` bigint unsigned NOT NULL UNIQUE, + `inventory` blob DEFAULT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- Foreign keys for table ApplianceVmFirewallRuleVO + +ALTER TABLE ApplianceVmFirewallRuleVO ADD CONSTRAINT fkApplianceVmFirewallRuleVOL3NetworkEO FOREIGN KEY (l3NetworkUuid) REFERENCES L3NetworkEO (uuid) ON DELETE CASCADE; +ALTER TABLE ApplianceVmFirewallRuleVO ADD CONSTRAINT fkApplianceVmFirewallRuleVOVmInstanceEO FOREIGN KEY (applianceVmUuid) REFERENCES VmInstanceEO (uuid) ON DELETE CASCADE; + +-- Foreign keys for table ApplianceVmVO + +ALTER TABLE ApplianceVmVO ADD CONSTRAINT fkApplianceVmVOL3NetworkEO FOREIGN KEY (managementNetworkUuid) REFERENCES L3NetworkEO (uuid) ON DELETE RESTRICT; +ALTER TABLE ApplianceVmVO ADD CONSTRAINT fkApplianceVmVOL3NetworkEO1 FOREIGN KEY (defaultRouteL3NetworkUuid) REFERENCES L3NetworkEO (uuid) ; +ALTER TABLE ApplianceVmVO ADD CONSTRAINT fkApplianceVmVOVmInstanceEO FOREIGN KEY (uuid) REFERENCES VmInstanceEO (uuid) ON UPDATE RESTRICT ON DELETE CASCADE; + +-- Foreign keys for table BackupStorageZoneRefVO + +ALTER TABLE BackupStorageZoneRefVO ADD CONSTRAINT fkBackupStorageZoneRefVOBackupStorageEO FOREIGN KEY (backupStorageUuid) REFERENCES BackupStorageEO (uuid) ON DELETE CASCADE; +ALTER TABLE BackupStorageZoneRefVO ADD CONSTRAINT fkBackupStorageZoneRefVOZoneEO FOREIGN KEY (zoneUuid) REFERENCES ZoneEO (uuid) ON DELETE CASCADE; + +-- Foreign keys for table ClusterEO + +ALTER TABLE ClusterEO ADD CONSTRAINT fkClusterEOZoneEO FOREIGN KEY (zoneUuid) REFERENCES ZoneEO (uuid) ON DELETE RESTRICT; + +-- Foreign keys for table ConsoleProxyVO + +ALTER TABLE ConsoleProxyVO ADD CONSTRAINT fkConsoleProxyVOVmInstanceEO FOREIGN KEY (vmInstanceUuid) REFERENCES VmInstanceEO (uuid) ON DELETE CASCADE; + +-- Foreign keys for table EipVO + +ALTER TABLE EipVO ADD CONSTRAINT fkEipVOVipVO FOREIGN KEY (vipUuid) REFERENCES VipVO (uuid) ON DELETE CASCADE; +ALTER TABLE EipVO ADD CONSTRAINT fkEipVOVmNicVO FOREIGN KEY (vmNicUuid) REFERENCES VmNicVO (uuid) ON DELETE SET NULL; + +-- Foreign keys for table HostCapacityVO + +ALTER TABLE HostCapacityVO ADD CONSTRAINT fkHostCapacityVOHostEO FOREIGN KEY (uuid) REFERENCES HostEO (uuid) ON DELETE CASCADE; + +-- Foreign keys for table HostEO + +ALTER TABLE HostEO ADD CONSTRAINT fkHostEOClusterEO FOREIGN KEY (clusterUuid) REFERENCES ClusterEO (uuid) ON DELETE RESTRICT; +ALTER TABLE HostEO ADD CONSTRAINT fkHostEOZoneEO FOREIGN KEY (zoneUuid) REFERENCES ZoneEO (uuid) ON DELETE RESTRICT; + +-- Foreign keys for table ImageBackupStorageRefVO + +ALTER TABLE ImageBackupStorageRefVO ADD CONSTRAINT fkImageBackupStorageRefVOBackupStorageEO FOREIGN KEY (backupStorageUuid) REFERENCES BackupStorageEO (uuid) ON DELETE CASCADE; +ALTER TABLE ImageBackupStorageRefVO ADD CONSTRAINT fkImageBackupStorageRefVOImageEO FOREIGN KEY (imageUuid) REFERENCES ImageEO (uuid) ON DELETE CASCADE; + +-- Foreign keys for table ImageCacheVO + +ALTER TABLE ImageCacheVO ADD CONSTRAINT fkImageCacheVOImageEO FOREIGN KEY (imageUuid) REFERENCES ImageEO (uuid) ON DELETE SET NULL; +ALTER TABLE ImageCacheVO ADD CONSTRAINT fkImageCacheVOPrimaryStorageEO FOREIGN KEY (primaryStorageUuid) REFERENCES PrimaryStorageEO (uuid) ON DELETE CASCADE; + +-- Foreign keys for table IpRangeEO + +ALTER TABLE IpRangeEO ADD CONSTRAINT fkIpRangeEOL3NetworkEO FOREIGN KEY (l3NetworkUuid) REFERENCES L3NetworkEO (uuid) ON DELETE CASCADE; + +-- Foreign keys for table JobQueueEntryVO + +ALTER TABLE JobQueueEntryVO ADD CONSTRAINT fkJobQueueEntryVOJobQueueVO FOREIGN KEY (jobQueueId) REFERENCES JobQueueVO (id) ON DELETE CASCADE; +ALTER TABLE JobQueueEntryVO ADD CONSTRAINT fkJobQueueEntryVOManagementNodeVO FOREIGN KEY (issuerManagementNodeId) REFERENCES ManagementNodeVO (uuid) ON DELETE SET NULL; + +-- Foreign keys for table JobQueueVO + +ALTER TABLE JobQueueVO ADD CONSTRAINT fkJobQueueVOManagementNodeVO FOREIGN KEY (workerManagementNodeId) REFERENCES ManagementNodeVO (uuid) ON DELETE SET NULL; + +-- Foreign keys for table KVMHostVO + +ALTER TABLE KVMHostVO ADD CONSTRAINT fkKVMHostVOHostEO FOREIGN KEY (uuid) REFERENCES HostEO (uuid) ON UPDATE RESTRICT ON DELETE CASCADE; + +-- Foreign keys for table KeyValueVO + +ALTER TABLE KeyValueVO ADD CONSTRAINT fkKeyValueVOKeyValueBinaryVO FOREIGN KEY (uuid) REFERENCES KeyValueBinaryVO (uuid) ON DELETE CASCADE; + +-- Foreign keys for table L2NetworkClusterRefVO + +ALTER TABLE L2NetworkClusterRefVO ADD CONSTRAINT fkL2NetworkClusterRefVOClusterEO FOREIGN KEY (clusterUuid) REFERENCES ClusterEO (uuid) ON DELETE CASCADE; +ALTER TABLE L2NetworkClusterRefVO ADD CONSTRAINT fkL2NetworkClusterRefVOL2NetworkEO FOREIGN KEY (l2NetworkUuid) REFERENCES L2NetworkEO (uuid) ON DELETE CASCADE; + +-- Foreign keys for table L2NetworkEO + +ALTER TABLE L2NetworkEO ADD CONSTRAINT fkL2NetworkEOZoneEO FOREIGN KEY (zoneUuid) REFERENCES ZoneEO (uuid) ON DELETE RESTRICT; + +-- Foreign keys for table L2VlanNetworkVO + +ALTER TABLE L2VlanNetworkVO ADD CONSTRAINT fkL2VlanNetworkVOL2NetworkEO FOREIGN KEY (uuid) REFERENCES L2NetworkEO (uuid) ON UPDATE RESTRICT ON DELETE CASCADE; + +-- Foreign keys for table L3NetworkDnsVO + +ALTER TABLE L3NetworkDnsVO ADD CONSTRAINT fkL3NetworkDnsVOL3NetworkEO FOREIGN KEY (l3NetworkUuid) REFERENCES L3NetworkEO (uuid) ON DELETE CASCADE; + +-- Foreign keys for table L3NetworkEO + +ALTER TABLE L3NetworkEO ADD CONSTRAINT fkL3NetworkEOL2NetworkEO FOREIGN KEY (l2NetworkUuid) REFERENCES L2NetworkEO (uuid) ON DELETE RESTRICT; +ALTER TABLE L3NetworkEO ADD CONSTRAINT fkL3NetworkEOZoneEO FOREIGN KEY (zoneUuid) REFERENCES ZoneEO (uuid) ON DELETE RESTRICT; + +-- Foreign keys for table NetworkServiceL3NetworkRefVO + +ALTER TABLE NetworkServiceL3NetworkRefVO ADD CONSTRAINT fkNetworkServiceL3NetworkRefVOL3NetworkEO FOREIGN KEY (l3NetworkUuid) REFERENCES L3NetworkEO (uuid) ON DELETE CASCADE; +ALTER TABLE NetworkServiceL3NetworkRefVO ADD CONSTRAINT fkNetworkServiceL3NetworkRefVONetworkServiceProviderVO FOREIGN KEY (networkServiceProviderUuid) REFERENCES NetworkServiceProviderVO (uuid) ON DELETE CASCADE; + +-- Foreign keys for table NetworkServiceProviderL2NetworkRefVO + +ALTER TABLE NetworkServiceProviderL2NetworkRefVO ADD CONSTRAINT fkNetworkServiceProviderL2NetworkRefVOL2NetworkEO FOREIGN KEY (l2NetworkUuid) REFERENCES L2NetworkEO (uuid) ON DELETE CASCADE; +ALTER TABLE NetworkServiceProviderL2NetworkRefVO ADD CONSTRAINT fkNetworkServiceProviderL2NetworkRefVONetworkServiceProviderVO FOREIGN KEY (networkServiceProviderUuid) REFERENCES NetworkServiceProviderVO (uuid) ON DELETE CASCADE; + +-- Foreign keys for table NetworkServiceTypeVO + +ALTER TABLE NetworkServiceTypeVO ADD CONSTRAINT fkNetworkServiceTypeVONetworkServiceProviderVO FOREIGN KEY (networkServiceProviderUuid) REFERENCES NetworkServiceProviderVO (uuid) ON DELETE CASCADE; + +-- Foreign keys for table PortForwardingRuleVO + +ALTER TABLE PortForwardingRuleVO ADD CONSTRAINT fkPortForwardingRuleVOVipVO FOREIGN KEY (vipUuid) REFERENCES VipVO (uuid) ON DELETE RESTRICT; +ALTER TABLE PortForwardingRuleVO ADD CONSTRAINT fkPortForwardingRuleVOVmNicVO FOREIGN KEY (vmNicUuid) REFERENCES VmNicVO (uuid) ON DELETE SET NULL; + +-- Foreign keys for table PrimaryStorageCapacityVO + +ALTER TABLE PrimaryStorageCapacityVO ADD CONSTRAINT fkPrimaryStorageCapacityVOPrimaryStorageEO FOREIGN KEY (uuid) REFERENCES PrimaryStorageEO (uuid) ON DELETE CASCADE; + +-- Foreign keys for table PrimaryStorageClusterRefVO + +ALTER TABLE PrimaryStorageClusterRefVO ADD CONSTRAINT fkPrimaryStorageClusterRefVOClusterEO FOREIGN KEY (clusterUuid) REFERENCES ClusterEO (uuid) ON DELETE CASCADE; +ALTER TABLE PrimaryStorageClusterRefVO ADD CONSTRAINT fkPrimaryStorageClusterRefVOPrimaryStorageEO FOREIGN KEY (primaryStorageUuid) REFERENCES PrimaryStorageEO (uuid) ON DELETE CASCADE; + +-- Foreign keys for table PrimaryStorageEO + +ALTER TABLE PrimaryStorageEO ADD CONSTRAINT fkPrimaryStorageEOZoneEO FOREIGN KEY (zoneUuid) REFERENCES ZoneEO (uuid) ON DELETE RESTRICT; + +-- Foreign keys for table SecurityGroupFailureHostVO + +ALTER TABLE SecurityGroupFailureHostVO ADD CONSTRAINT fkSecurityGroupFailureHostVOHostEO FOREIGN KEY (hostUuid) REFERENCES HostEO (uuid) ON DELETE CASCADE; +ALTER TABLE SecurityGroupFailureHostVO ADD CONSTRAINT fkSecurityGroupFailureHostVOManagementNodeVO FOREIGN KEY (managementNodeId) REFERENCES ManagementNodeVO (uuid) ON DELETE SET NULL; + +-- Foreign keys for table SecurityGroupL3NetworkRefVO + +ALTER TABLE SecurityGroupL3NetworkRefVO ADD CONSTRAINT fkSecurityGroupL3NetworkRefVOL3NetworkEO FOREIGN KEY (l3NetworkUuid) REFERENCES L3NetworkEO (uuid) ON DELETE CASCADE; +ALTER TABLE SecurityGroupL3NetworkRefVO ADD CONSTRAINT fkSecurityGroupL3NetworkRefVOSecurityGroupVO FOREIGN KEY (securityGroupUuid) REFERENCES SecurityGroupVO (uuid) ON DELETE CASCADE; + +-- Foreign keys for table SecurityGroupRuleVO + +ALTER TABLE SecurityGroupRuleVO ADD CONSTRAINT fkSecurityGroupRuleVOSecurityGroupVO FOREIGN KEY (securityGroupUuid) REFERENCES SecurityGroupVO (uuid) ON DELETE CASCADE; + +-- Foreign keys for table SftpBackupStorageVO + +ALTER TABLE SftpBackupStorageVO ADD CONSTRAINT fkSftpBackupStorageVOBackupStorageEO FOREIGN KEY (uuid) REFERENCES BackupStorageEO (uuid) ON UPDATE RESTRICT ON DELETE CASCADE; + +-- Foreign keys for table SimulatorHostVO + +ALTER TABLE SimulatorHostVO ADD CONSTRAINT fkSimulatorHostVOHostEO FOREIGN KEY (uuid) REFERENCES HostEO (uuid) ON UPDATE RESTRICT ON DELETE CASCADE; + +-- Foreign keys for table UsedIpVO + +ALTER TABLE UsedIpVO ADD CONSTRAINT fkUsedIpVOIpRangeEO FOREIGN KEY (ipRangeUuid) REFERENCES IpRangeEO (uuid) ON DELETE CASCADE; +ALTER TABLE UsedIpVO ADD CONSTRAINT fkUsedIpVOL3NetworkEO FOREIGN KEY (l3NetworkUuid) REFERENCES L3NetworkEO (uuid) ON DELETE CASCADE; + +-- Foreign keys for table VipVO + +ALTER TABLE VipVO ADD CONSTRAINT fkVipVOIpRangeEO FOREIGN KEY (ipRangeUuid) REFERENCES IpRangeEO (uuid) ON DELETE CASCADE; +ALTER TABLE VipVO ADD CONSTRAINT fkVipVOL3NetworkEO FOREIGN KEY (l3NetworkUuid) REFERENCES L3NetworkEO (uuid) ON DELETE CASCADE; +ALTER TABLE VipVO ADD CONSTRAINT fkVipVOL3NetworkEO1 FOREIGN KEY (peerL3NetworkUuid) REFERENCES L3NetworkEO (uuid) ON DELETE CASCADE; + +-- Foreign keys for table VirtualRouterBootstrapIsoVO + +ALTER TABLE VirtualRouterBootstrapIsoVO ADD CONSTRAINT fkVirtualRouterBootstrapIsoVOVmInstanceEO FOREIGN KEY (virtualRouterUuid) REFERENCES VmInstanceEO (uuid) ON DELETE CASCADE; + +-- Foreign keys for table VirtualRouterEipRefVO + +ALTER TABLE VirtualRouterEipRefVO ADD CONSTRAINT fkVirtualRouterEipRefVOEipVO FOREIGN KEY (eipUuid) REFERENCES EipVO (uuid) ON DELETE RESTRICT; +ALTER TABLE VirtualRouterEipRefVO ADD CONSTRAINT fkVirtualRouterEipRefVOVmInstanceEO FOREIGN KEY (virtualRouterVmUuid) REFERENCES VmInstanceEO (uuid) ON DELETE CASCADE; + +-- Foreign keys for table VirtualRouterOfferingVO + +ALTER TABLE VirtualRouterOfferingVO ADD CONSTRAINT fkVirtualRouterOfferingVOImageEO FOREIGN KEY (imageUuid) REFERENCES ImageEO (uuid) ON DELETE CASCADE; +ALTER TABLE VirtualRouterOfferingVO ADD CONSTRAINT fkVirtualRouterOfferingVOInstanceOfferingEO FOREIGN KEY (uuid) REFERENCES InstanceOfferingEO (uuid) ON UPDATE RESTRICT ON DELETE CASCADE; +ALTER TABLE VirtualRouterOfferingVO ADD CONSTRAINT fkVirtualRouterOfferingVOL3NetworkEO FOREIGN KEY (managementNetworkUuid) REFERENCES L3NetworkEO (uuid) ON DELETE CASCADE; +ALTER TABLE VirtualRouterOfferingVO ADD CONSTRAINT fkVirtualRouterOfferingVOL3NetworkEO1 FOREIGN KEY (publicNetworkUuid) REFERENCES L3NetworkEO (uuid) ON DELETE CASCADE; +ALTER TABLE VirtualRouterOfferingVO ADD CONSTRAINT fkVirtualRouterOfferingVOZoneEO FOREIGN KEY (zoneUuid) REFERENCES ZoneEO (uuid) ON DELETE CASCADE; + +-- Foreign keys for table VirtualRouterPortForwardingRuleRefVO + +ALTER TABLE VirtualRouterPortForwardingRuleRefVO ADD CONSTRAINT fkVirtualRouterPortForwardingRuleRefVOVipVO FOREIGN KEY (vipUuid) REFERENCES VipVO (uuid) ON DELETE CASCADE; +ALTER TABLE VirtualRouterPortForwardingRuleRefVO ADD CONSTRAINT fkVirtualRouterPortForwardingRuleRefVOVmInstanceEO FOREIGN KEY (virtualRouterVmUuid) REFERENCES VmInstanceEO (uuid) ON DELETE CASCADE; + +-- Foreign keys for table VirtualRouterVipVO + +ALTER TABLE VirtualRouterVipVO ADD CONSTRAINT fkVirtualRouterVipVOVipVO FOREIGN KEY (uuid) REFERENCES VipVO (uuid) ON DELETE RESTRICT; +ALTER TABLE VirtualRouterVipVO ADD CONSTRAINT fkVirtualRouterVipVOVmInstanceEO FOREIGN KEY (virtualRouterVmUuid) REFERENCES VmInstanceEO (uuid) ON DELETE CASCADE; + +-- Foreign keys for table VirtualRouterVmVO + +ALTER TABLE VirtualRouterVmVO ADD CONSTRAINT fkVirtualRouterVmVOVmInstanceEO FOREIGN KEY (uuid) REFERENCES VmInstanceEO (uuid) ON UPDATE RESTRICT ON DELETE CASCADE; + +-- Foreign keys for table VmInstanceEO + +ALTER TABLE VmInstanceEO ADD CONSTRAINT fkVmInstanceEOClusterEO FOREIGN KEY (clusterUuid) REFERENCES ClusterEO (uuid) ON DELETE SET NULL; +ALTER TABLE VmInstanceEO ADD CONSTRAINT fkVmInstanceEOHostEO FOREIGN KEY (hostUuid) REFERENCES HostEO (uuid) ON DELETE SET NULL; +ALTER TABLE VmInstanceEO ADD CONSTRAINT fkVmInstanceEOHostEO1 FOREIGN KEY (lastHostUuid) REFERENCES HostEO (uuid) ON DELETE SET NULL; +ALTER TABLE VmInstanceEO ADD CONSTRAINT fkVmInstanceEOImageEO FOREIGN KEY (imageUuid) REFERENCES ImageEO (uuid) ON DELETE RESTRICT; +ALTER TABLE VmInstanceEO ADD CONSTRAINT fkVmInstanceEOInstanceOfferingEO FOREIGN KEY (instanceOfferingUuid) REFERENCES InstanceOfferingEO (uuid) ON DELETE RESTRICT; +ALTER TABLE VmInstanceEO ADD CONSTRAINT fkVmInstanceEOZoneEO FOREIGN KEY (zoneUuid) REFERENCES ZoneEO (uuid) ON DELETE SET NULL; + +-- Foreign keys for table VmNicSecurityGroupRefVO + +ALTER TABLE VmNicSecurityGroupRefVO ADD CONSTRAINT fkVmNicSecurityGroupRefVOSecurityGroupVO FOREIGN KEY (securityGroupUuid) REFERENCES SecurityGroupVO (uuid) ON DELETE CASCADE; +ALTER TABLE VmNicSecurityGroupRefVO ADD CONSTRAINT fkVmNicSecurityGroupRefVOVmInstanceEO FOREIGN KEY (vmInstanceUuid) REFERENCES VmInstanceEO (uuid) ON DELETE CASCADE; +ALTER TABLE VmNicSecurityGroupRefVO ADD CONSTRAINT fkVmNicSecurityGroupRefVOVmNicVO FOREIGN KEY (vmNicUuid) REFERENCES VmNicVO (uuid) ON DELETE CASCADE; + +-- Foreign keys for table VmNicVO + +ALTER TABLE VmNicVO ADD CONSTRAINT fkVmNicVOL3NetworkEO FOREIGN KEY (l3NetworkUuid) REFERENCES L3NetworkEO (uuid) ON DELETE SET NULL; +ALTER TABLE VmNicVO ADD CONSTRAINT fkVmNicVOUsedIpVO FOREIGN KEY (usedIpUuid) REFERENCES UsedIpVO (uuid) ON DELETE SET NULL; +ALTER TABLE VmNicVO ADD CONSTRAINT fkVmNicVOVmInstanceEO FOREIGN KEY (vmInstanceUuid) REFERENCES VmInstanceEO (uuid) ON DELETE CASCADE; + +-- Foreign keys for table VolumeEO + +ALTER TABLE VolumeEO ADD CONSTRAINT fkVolumeEODiskOfferingEO FOREIGN KEY (diskOfferingUuid) REFERENCES DiskOfferingEO (uuid) ON DELETE RESTRICT; +ALTER TABLE VolumeEO ADD CONSTRAINT fkVolumeEOImageEO FOREIGN KEY (rootImageUuid) REFERENCES ImageEO (uuid) ON DELETE SET NULL; +ALTER TABLE VolumeEO ADD CONSTRAINT fkVolumeEOPrimaryStorageEO FOREIGN KEY (primaryStorageUuid) REFERENCES PrimaryStorageEO (uuid) ON DELETE CASCADE; +ALTER TABLE VolumeEO ADD CONSTRAINT fkVolumeEOVmInstanceEO FOREIGN KEY (vmInstanceUuid) REFERENCES VmInstanceEO (uuid) ON DELETE CASCADE; + +-- Foreign keys for table VolumeSnapshotBackupStorageRefVO + +ALTER TABLE VolumeSnapshotBackupStorageRefVO ADD CONSTRAINT fkVolumeSnapshotBackupStorageRefVOBackupStorageEO FOREIGN KEY (backupStorageUuid) REFERENCES BackupStorageEO (uuid) ON DELETE CASCADE; +ALTER TABLE VolumeSnapshotBackupStorageRefVO ADD CONSTRAINT fkVolumeSnapshotBackupStorageRefVOVolumeSnapshotEO FOREIGN KEY (volumeSnapshotUuid) REFERENCES VolumeSnapshotEO (uuid) ON DELETE CASCADE; + +-- Foreign keys for table VolumeSnapshotEO + +ALTER TABLE VolumeSnapshotEO ADD CONSTRAINT fkVolumeSnapshotEOPrimaryStorageEO FOREIGN KEY (primaryStorageUuid) REFERENCES PrimaryStorageEO (uuid) ON DELETE SET NULL; +ALTER TABLE VolumeSnapshotEO ADD CONSTRAINT fkVolumeSnapshotEOVolumeEO FOREIGN KEY (volumeUuid) REFERENCES VolumeEO (uuid) ON DELETE SET NULL; +ALTER TABLE VolumeSnapshotEO ADD CONSTRAINT fkVolumeSnapshotEOVolumeSnapshotEO FOREIGN KEY (parentUuid) REFERENCES VolumeSnapshotEO (uuid) ON DELETE SET NULL; +ALTER TABLE VolumeSnapshotEO ADD CONSTRAINT fkVolumeSnapshotEOVolumeSnapshotTreeEO FOREIGN KEY (treeUuid) REFERENCES VolumeSnapshotTreeEO (uuid) ON DELETE CASCADE; + +-- Foreign keys for table VolumeSnapshotTreeEO + +ALTER TABLE VolumeSnapshotTreeEO ADD CONSTRAINT fkVolumeSnapshotTreeEOVolumeEO FOREIGN KEY (volumeUuid) REFERENCES VolumeEO (uuid) ON DELETE SET NULL; + +-- Index for table AccountResourceRefVO + +CREATE INDEX idxAccountResourceRefVOresourceUuid ON AccountResourceRefVO (resourceUuid); +CREATE INDEX idxAccountResourceRefVOresourceType ON AccountResourceRefVO (resourceType); + +-- Index for table AccountVO + +CREATE INDEX idxAccountVOname ON AccountVO (name); + +-- Index for table ApplianceVmFirewallRuleVO + +CREATE INDEX idxApplianceVmFirewallRuleVOprotocol ON ApplianceVmFirewallRuleVO (protocol); +CREATE INDEX idxApplianceVmFirewallRuleVOstartPort ON ApplianceVmFirewallRuleVO (startPort); +CREATE INDEX idxApplianceVmFirewallRuleVOendPort ON ApplianceVmFirewallRuleVO (endPort); +CREATE INDEX idxApplianceVmFirewallRuleVOallowCidr ON ApplianceVmFirewallRuleVO (allowCidr); +CREATE INDEX idxApplianceVmFirewallRuleVOsourceIp ON ApplianceVmFirewallRuleVO (sourceIp); +CREATE INDEX idxApplianceVmFirewallRuleVOdestIp ON ApplianceVmFirewallRuleVO (destIp); +CREATE INDEX idxApplianceVmFirewallRuleVOidentity ON ApplianceVmFirewallRuleVO (identity); + +-- Index for table BackupStorageEO + +CREATE INDEX idxBackupStorageEOname ON BackupStorageEO (name); + +-- Index for table ClusterEO + +CREATE INDEX idxClusterEOname ON ClusterEO (name); + +-- Index for table DiskOfferingEO + +CREATE INDEX idxDiskOfferingEOname ON DiskOfferingEO (name); + +-- Index for table EipVO + +CREATE INDEX idxEipVOname ON EipVO (name); + +-- Index for table HostCapacityVO + +CREATE INDEX idxHostCapacityVOtotalMemory ON HostCapacityVO (totalMemory); +CREATE INDEX idxHostCapacityVOtotalCpu ON HostCapacityVO (totalCpu); +CREATE INDEX idxHostCapacityVOavailableMemory ON HostCapacityVO (availableMemory); +CREATE INDEX idxHostCapacityVOavailableCpu ON HostCapacityVO (availableCpu); + +-- Index for table HostEO + +CREATE INDEX idxHostEOuuid ON HostEO (uuid); + +-- Index for table ImageEO + +CREATE INDEX idxImageEOname ON ImageEO (name); + +-- Index for table InstanceOfferingEO + +CREATE INDEX idxInstanceOfferingEOname ON InstanceOfferingEO (name); + +-- Index for table IpRangeEO + +CREATE INDEX idxIpRangeEOname ON IpRangeEO (name); +CREATE INDEX idxIpRangeEOstartIp ON IpRangeEO (startIp); +CREATE INDEX idxIpRangeEOendIp ON IpRangeEO (endIp); +CREATE INDEX idxIpRangeEOnetmask ON IpRangeEO (netmask); +CREATE INDEX idxIpRangeEOgateway ON IpRangeEO (gateway); + +-- Index for table L2NetworkEO + +CREATE INDEX idxL2NetworkEOname ON L2NetworkEO (name); + +-- Index for table L3NetworkEO + +CREATE INDEX idxL3NetworkEOname ON L3NetworkEO (name); + +-- Index for table NetworkServiceProviderVO + +CREATE INDEX idxNetworkServiceProviderVOname ON NetworkServiceProviderVO (name); + +-- Index for table PortForwardingRuleVO + +CREATE INDEX idxPortForwardingRuleVOname ON PortForwardingRuleVO (name); +CREATE INDEX idxPortForwardingRuleVOvipPortStart ON PortForwardingRuleVO (vipPortStart); +CREATE INDEX idxPortForwardingRuleVOvipPortEnd ON PortForwardingRuleVO (vipPortEnd); +CREATE INDEX idxPortForwardingRuleVOprivatePortStart ON PortForwardingRuleVO (privatePortStart); +CREATE INDEX idxPortForwardingRuleVOprivatePortEnd ON PortForwardingRuleVO (privatePortEnd); + +-- Index for table PrimaryStorageCapacityVO + +CREATE INDEX idxPrimaryStorageCapacityVOtotalCapacity ON PrimaryStorageCapacityVO (totalCapacity); +CREATE INDEX idxPrimaryStorageCapacityVOavailableCapacity ON PrimaryStorageCapacityVO (availableCapacity); + +-- Index for table SecurityGroupVO + +CREATE INDEX idxSecurityGroupVOname ON SecurityGroupVO (name); + +-- Index for table SystemTagVO + +CREATE INDEX idxSystemTagVOresourceUuid ON SystemTagVO (resourceUuid); +CREATE INDEX idxSystemTagVOresourceType ON SystemTagVO (resourceType); +CREATE INDEX idxSystemTagVOtag ON SystemTagVO (tag(128)); +CREATE INDEX idxSystemTagVOtype ON SystemTagVO (type); + +-- Index for table UsedIpVO + +CREATE INDEX idxUsedIpVOip ON UsedIpVO (ip); +CREATE INDEX idxUsedIpVOipInLong ON UsedIpVO (ipInLong); + +-- Index for table UserTagVO + +CREATE INDEX idxUserTagVOresourceUuid ON UserTagVO (resourceUuid); +CREATE INDEX idxUserTagVOresourceType ON UserTagVO (resourceType); +CREATE INDEX idxUserTagVOtag ON UserTagVO (tag(128)); +CREATE INDEX idxUserTagVOtype ON UserTagVO (type); + +-- Index for table VipVO + +CREATE INDEX idxVipVOname ON VipVO (name); +CREATE INDEX idxVipVOip ON VipVO (ip); + +-- Index for table VmInstanceEO + +CREATE INDEX idxVmInstanceEOname ON VmInstanceEO (name(128)); + +-- Index for table VmNicVO + +CREATE INDEX idxVmNicVOip ON VmNicVO (ip); +CREATE INDEX idxVmNicVOmac ON VmNicVO (mac); + +-- Index for table VolumeEO + +CREATE INDEX idxVolumeEOname ON VolumeEO (name); + +-- Index for table VolumeSnapshotEO + +CREATE INDEX idxVolumeSnapshotEOname ON VolumeSnapshotEO (name); + +-- Index for table ZoneEO + +CREATE INDEX idxZoneEOname ON ZoneEO (name); + +CREATE VIEW `zstack`.`VmInstanceVO` AS SELECT uuid, name, description, zoneUuid, clusterUuid, imageUuid, hostUuid, internalId, lastHostUuid, instanceOfferingUuid, rootVolumeUuid, defaultL3NetworkUuid, type, hypervisorType, cpuNum, cpuSpeed, memorySize, allocatorStrategy, createDate, lastOpDate, state FROM `zstack`.`VmInstanceEO` WHERE deleted IS NULL; + +CREATE VIEW `zstack`.`ImageVO` AS SELECT uuid, name, description, status, state, size, md5Sum, platform, type, format, url, `system`, mediaType, createDate, lastOpDate, guestOsType FROM `zstack`.`ImageEO` WHERE deleted IS NULL; + +CREATE VIEW `zstack`.`VolumeVO` AS SELECT uuid, name, description, primaryStorageUuid, vmInstanceUuid, diskOfferingUuid, rootImageUuid, installPath, type, status, size, deviceId, format, state, createDate, lastOpDate FROM `zstack`.`VolumeEO` WHERE deleted IS NULL; + +CREATE VIEW `zstack`.`InstanceOfferingVO` AS SELECT uuid, name, description, cpuNum, cpuSpeed, memorySize, allocatorStrategy, sortKey, state, createDate, lastOpDate, type, duration FROM `zstack`.`InstanceOfferingEO` WHERE deleted IS NULL; + +CREATE VIEW `zstack`.`DiskOfferingVO` AS SELECT uuid, name, description, diskSize, sortKey, type, state, createDate, lastOpDate, allocatorStrategy FROM `zstack`.`DiskOfferingEO` WHERE deleted IS NULL; + +CREATE VIEW `zstack`.`PrimaryStorageVO` AS SELECT uuid, zoneUuid, name, url, description, type, mountPath, state, status, createDate, lastOpDate FROM `zstack`.`PrimaryStorageEO` WHERE deleted IS NULL; + +CREATE VIEW `zstack`.`VolumeSnapshotVO` AS SELECT uuid, name, description, type, volumeUuid, format, treeUuid, parentUuid, primaryStorageUuid, primaryStorageInstallPath, distance, size, latest, fullSnapshot, volumeType, state, status, createDate, lastOpDate FROM `zstack`.`VolumeSnapshotEO` WHERE deleted IS NULL; + +CREATE VIEW `zstack`.`VolumeSnapshotTreeVO` AS SELECT uuid, volumeUuid, current, createDate, lastOpDate FROM `zstack`.`VolumeSnapshotTreeEO` WHERE deleted IS NULL; + +CREATE VIEW `zstack`.`BackupStorageVO` AS SELECT uuid, name, url, description, totalCapacity, availableCapacity, type, state, status, createDate, lastOpDate FROM `zstack`.`BackupStorageEO` WHERE deleted IS NULL; + +CREATE VIEW `zstack`.`L3NetworkVO` AS SELECT uuid, name, description, state, type, zoneUuid, l2NetworkUuid, `system`, dnsDomain, createDate, lastOpDate FROM `zstack`.`L3NetworkEO` WHERE deleted IS NULL; + +CREATE VIEW `zstack`.`IpRangeVO` AS SELECT uuid, l3NetworkUuid, name, description, startIp, endIp, netmask, gateway, networkCidr, createDate, lastOpDate FROM `zstack`.`IpRangeEO` WHERE deleted IS NULL; + +CREATE VIEW `zstack`.`L2NetworkVO` AS SELECT uuid, name, description, type, zoneUuid, physicalInterface, createDate, lastOpDate FROM `zstack`.`L2NetworkEO` WHERE deleted IS NULL; + +CREATE VIEW `zstack`.`ClusterVO` AS SELECT uuid, zoneUuid, name, type, description, state, hypervisorType, createDate, lastOpDate, managementNodeId FROM `zstack`.`ClusterEO` WHERE deleted IS NULL; + +CREATE VIEW `zstack`.`ZoneVO` AS SELECT uuid, name, type, description, state, createDate, lastOpDate FROM `zstack`.`ZoneEO` WHERE deleted IS NULL; + +CREATE VIEW `zstack`.`HostVO` AS SELECT uuid, zoneUuid, clusterUuid, name, description, managementIp, hypervisorType, state, status, createDate, lastOpDate FROM `zstack`.`HostEO` WHERE deleted IS NULL; diff --git a/conf/tools/flyway-6.3.1/sql/V0.7__schema.sql b/conf/tools/flyway-6.3.1/sql/V0.7__schema.sql new file mode 100755 index 00000000000..8ae67477570 --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V0.7__schema.sql @@ -0,0 +1,45 @@ +CREATE TABLE `zstack`.`IscsiFileSystemBackendPrimaryStorageVO` ( + `uuid` varchar(32) NOT NULL UNIQUE COMMENT 'uuid', + `hostname` varchar(255) NOT NULL UNIQUE, + `sshUsername` varchar(255) NOT NULL, + `sshPassword` varchar(255) NOT NULL, + `filesystemType` varchar(255) NOT NULL, + `chapUsername` varchar(255) DEFAULT NULL, + `chapPassword` varchar(255) DEFAULT NULL, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`IscsiIsoVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `imageUuid` varchar(32) NOT NULL, + `primaryStorageUuid` varchar(32) NOT NULL, + `target` varchar(128) DEFAULT NULL, + `hostname` varchar(128) DEFAULT NULL, + `path` varchar(512) DEFAULT NULL, + `vmInstanceUuid` varchar(32) DEFAULT NULL, + `lun` int(10) unsigned, + `port` int(10) unsigned, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + + +ALTER TABLE `zstack`.`PrimaryStorageEO` MODIFY `type` varchar(255); +ALTER TABLE `zstack`.`VmInstanceEO` ADD COLUMN `platform` varchar(255) NOT NULL; + +ALTER TABLE `zstack`.`PrimaryStorageCapacityVO` ADD COLUMN `totalPhysicalCapacity` bigint unsigned DEFAULT 0; +ALTER TABLE `zstack`.`PrimaryStorageCapacityVO` ADD COLUMN `availablePhysicalCapacity` bigint unsigned DEFAULT 0; + +-- Foreign keys for table IscsiFileSystemBackendPrimaryStorageVO + +ALTER TABLE IscsiFileSystemBackendPrimaryStorageVO ADD CONSTRAINT fkIscsiFileSystemBackendPrimaryStorageVOPrimaryStorageEO FOREIGN KEY (uuid) REFERENCES PrimaryStorageEO (uuid) ON UPDATE RESTRICT ON DELETE CASCADE; + +-- Foreign keys for table IscsiIsoVO + +ALTER TABLE IscsiIsoVO ADD CONSTRAINT fkIscsiIsoVOPrimaryStorageEO FOREIGN KEY (primaryStorageUuid) REFERENCES PrimaryStorageEO (uuid) ON DELETE CASCADE; +ALTER TABLE IscsiIsoVO ADD CONSTRAINT fkIscsiIsoVOVmInstanceEO FOREIGN KEY (vmInstanceUuid) REFERENCES VmInstanceEO (uuid) ON DELETE SET NULL; + +DROP VIEW IF EXISTS `zstack`.`VmInstanceVO`; +CREATE VIEW `zstack`.`VmInstanceVO` AS SELECT uuid, name, description, zoneUuid, clusterUuid, imageUuid, hostUuid, internalId, lastHostUuid, instanceOfferingUuid, rootVolumeUuid, defaultL3NetworkUuid, type, hypervisorType, cpuNum, cpuSpeed, memorySize, platform, allocatorStrategy, createDate, lastOpDate, state FROM `zstack`.`VmInstanceEO` WHERE deleted IS NULL; + diff --git a/conf/tools/flyway-6.3.1/sql/V0.8__schema.sql b/conf/tools/flyway-6.3.1/sql/V0.8__schema.sql new file mode 100755 index 00000000000..3193e7f9abb --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V0.8__schema.sql @@ -0,0 +1,123 @@ +CREATE TABLE `zstack`.`LocalStorageHostRefVO` ( + `hostUuid` varchar(32) NOT NULL UNIQUE, + `primaryStorageUuid` varchar(32) NOT NULL, + `totalCapacity` bigint unsigned DEFAULT 0, + `availableCapacity` bigint unsigned DEFAULT 0, + `totalPhysicalCapacity` bigint unsigned DEFAULT 0, + `availablePhysicalCapacity` bigint unsigned DEFAULT 0, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`hostUuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`LocalStorageResourceRefVO` ( + `resourceUuid` varchar(32) NOT NULL UNIQUE, + `primaryStorageUuid` varchar(32) NOT NULL, + `hostUuid` varchar(32), + `size` bigint unsigned DEFAULT 0, + `resourceType` varchar(255), + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`resourceUuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`QuotaVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `name` varchar(255) NOT NULL, + `identityUuid` varchar(32) DEFAULT NULL, + `identityType` varchar(255) NOT NULL, + `value` bigint unsigned DEFAULT 0, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`SharedResourceVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `ownerAccountUuid` varchar(32) NOT NULL, + `receiverAccountUuid` varchar(32) DEFAULT NULL, + `toPublic` tinyint(1) unsigned NOT NULL DEFAULT 0, + `resourceType` varchar(256) NOT NULL, + `resourceUuid` varchar(32) NOT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +ALTER TABLE AccountVO ADD description VARCHAR(2048) DEFAULT NULL; +ALTER TABLE UserVO ADD description VARCHAR(2048) DEFAULT NULL; + +-- Foreign keys for table SharedResourceVO + +ALTER TABLE SharedResourceVO ADD CONSTRAINT fkSharedResourceVOAccountVO FOREIGN KEY (ownerAccountUuid) REFERENCES AccountVO (uuid) ON DELETE CASCADE; +ALTER TABLE SharedResourceVO ADD CONSTRAINT fkSharedResourceVOAccountVO1 FOREIGN KEY (receiverAccountUuid) REFERENCES AccountVO (uuid) ON DELETE CASCADE; + +-- Foreign keys for table LocalStorageHostRefVO + +ALTER TABLE LocalStorageHostRefVO ADD CONSTRAINT fkLocalStorageHostRefVOHostEO FOREIGN KEY (hostUuid) REFERENCES HostEO (uuid) ON DELETE CASCADE; +ALTER TABLE LocalStorageHostRefVO ADD CONSTRAINT fkLocalStorageHostRefVOPrimaryStorageEO FOREIGN KEY (primaryStorageUuid) REFERENCES PrimaryStorageEO (uuid) ON DELETE CASCADE; + +-- Foreign keys for table LocalStorageResourceRefVO + +ALTER TABLE LocalStorageResourceRefVO ADD CONSTRAINT fkLocalStorageResourceRefVOHostEO FOREIGN KEY (hostUuid) REFERENCES HostEO (uuid) ON DELETE CASCADE; +ALTER TABLE LocalStorageResourceRefVO ADD CONSTRAINT fkLocalStorageResourceRefVOPrimaryStorageEO FOREIGN KEY (primaryStorageUuid) REFERENCES PrimaryStorageEO (uuid) ON DELETE CASCADE; + +-- Drop all old foreign keys for identity VOs; foreign keys are all auto-generated now + +ALTER TABLE AccountResourceRefVO DROP FOREIGN KEY fkAccountResourceAcntUuid; +ALTER TABLE AccountResourceRefVO DROP FOREIGN KEY fkAccountResourceOwnerUuid; +ALTER TABLE UserVO DROP FOREIGN KEY fkUserAccountUuid; +ALTER TABLE SessionVO DROP FOREIGN KEY fkSessionAccountUuid; +ALTER TABLE PolicyVO DROP FOREIGN KEY fkPolicyAccountUuid; +ALTER TABLE UserPolicyRefVO DROP FOREIGN KEY fkUpPolicyUuid; +ALTER TABLE UserPolicyRefVO DROP FOREIGN KEY fkUpUserUuid; +ALTER TABLE UserGroupVO DROP FOREIGN KEY fkGroupAccountUuid; +ALTER TABLE UserGroupPolicyRefVO DROP FOREIGN KEY fkGpPolicyUuid; +ALTER TABLE UserGroupPolicyRefVO DROP FOREIGN KEY fkGpGroupUuid; +ALTER TABLE UserGroupUserRefVO DROP FOREIGN KEY fkUgPolicyUuid; +ALTER TABLE UserGroupUserRefVO DROP FOREIGN KEY fkUgGroupUuid; + +-- Foreign keys for table SessionVO + +ALTER TABLE SessionVO ADD CONSTRAINT fkSessionVOAccountVO FOREIGN KEY (accountUuid) REFERENCES AccountVO (uuid) ON DELETE CASCADE; + +-- Foreign keys for table AccountResourceRefVO + +ALTER TABLE AccountResourceRefVO ADD CONSTRAINT fkAccountResourceRefVOAccountVO FOREIGN KEY (accountUuid) REFERENCES AccountVO (uuid) ON DELETE CASCADE; +ALTER TABLE AccountResourceRefVO ADD CONSTRAINT fkAccountResourceRefVOAccountVO1 FOREIGN KEY (ownerAccountUuid) REFERENCES AccountVO (uuid) ON DELETE CASCADE; + +-- Foreign keys for table PolicyVO + +ALTER TABLE PolicyVO ADD CONSTRAINT fkPolicyVOAccountVO FOREIGN KEY (accountUuid) REFERENCES AccountVO (uuid) ON DELETE CASCADE; + +-- Foreign keys for table UserGroupVO + +ALTER TABLE UserGroupVO ADD CONSTRAINT fkUserGroupVOAccountVO FOREIGN KEY (accountUuid) REFERENCES AccountVO (uuid) ON DELETE CASCADE; + +-- Foreign keys for table UserVO + +ALTER TABLE UserVO ADD CONSTRAINT fkUserVOAccountVO FOREIGN KEY (accountUuid) REFERENCES AccountVO (uuid) ON DELETE CASCADE; + +-- Foreign keys for table UserGroupPolicyRefVO + +ALTER TABLE UserGroupPolicyRefVO ADD CONSTRAINT fkUserGroupPolicyRefVOPolicyVO FOREIGN KEY (policyUuid) REFERENCES PolicyVO (uuid) ON DELETE CASCADE; +ALTER TABLE UserGroupPolicyRefVO ADD CONSTRAINT fkUserGroupPolicyRefVOUserGroupVO FOREIGN KEY (groupUuid) REFERENCES UserGroupVO (uuid) ON DELETE CASCADE; + +-- Foreign keys for table UserGroupUserRefVO + +ALTER TABLE UserGroupUserRefVO ADD CONSTRAINT fkUserGroupUserRefVOUserGroupVO FOREIGN KEY (groupUuid) REFERENCES UserGroupVO (uuid) ON DELETE CASCADE; +ALTER TABLE UserGroupUserRefVO ADD CONSTRAINT fkUserGroupUserRefVOUserVO FOREIGN KEY (userUuid) REFERENCES UserVO (uuid) ON DELETE CASCADE; + +-- Foreign keys for table UserPolicyRefVO + +ALTER TABLE UserPolicyRefVO ADD CONSTRAINT fkUserPolicyRefVOPolicyVO FOREIGN KEY (policyUuid) REFERENCES PolicyVO (uuid) ON DELETE CASCADE; +ALTER TABLE UserPolicyRefVO ADD CONSTRAINT fkUserPolicyRefVOUserVO FOREIGN KEY (userUuid) REFERENCES UserVO (uuid) ON DELETE CASCADE; + +-- Index for table LocalStorageHostRefVO + +CREATE INDEX idxLocalStorageHostRefVOtotalCapacity ON LocalStorageHostRefVO (totalCapacity); +CREATE INDEX idxLocalStorageHostRefVOavailableCapacity ON LocalStorageHostRefVO (availableCapacity); +CREATE INDEX idxLocalStorageHostRefVOtotalPhysicalCapacity ON LocalStorageHostRefVO (totalPhysicalCapacity); +CREATE INDEX idxLocalStorageHostRefVOavailablePhysicalCapacity ON LocalStorageHostRefVO (availablePhysicalCapacity); + +ALTER TABLE PolicyVO DROP COLUMN type; diff --git a/conf/tools/flyway-6.3.1/sql/V0.9__schema.sql b/conf/tools/flyway-6.3.1/sql/V0.9__schema.sql new file mode 100755 index 00000000000..c37bec54e4f --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V0.9__schema.sql @@ -0,0 +1,157 @@ +CREATE TABLE `zstack`.`CephBackupStorageVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `fsid` varchar(64) DEFAULT NULL, + `poolName` varchar(255) NOT NULL, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`CephBackupStorageMonVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `sshUsername` varchar(64) NOT NULL, + `sshPassword` varchar(255) NOT NULL, + `hostname` varchar(255) NOT NULL, + `status` varchar(255) NOT NULL, + `sshPort` int unsigned NOT NULL, + `monPort` int unsigned NOT NULL, + `backupStorageUuid` varchar(32) NOT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`CephPrimaryStorageVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `fsid` varchar(64) DEFAULT NULL, + `rootVolumePoolName` varchar(255) NOT NULL, + `dataVolumePoolName` varchar(255) NOT NULL, + `imageCachePoolName` varchar(255) NOT NULL, + `userKey` varchar(255) DEFAULT NULL, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`CephPrimaryStorageMonVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `sshUsername` varchar(64) NOT NULL, + `sshPassword` varchar(255) NOT NULL, + `hostname` varchar(255) NOT NULL, + `status` varchar(255) NOT NULL, + `sshPort` int unsigned NOT NULL, + `monPort` int unsigned NOT NULL, + `primaryStorageUuid` varchar(32) NOT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`CephCapacityVO` ( + `fsid` varchar(64) NOT NULL UNIQUE, + `totalCapacity` bigint unsigned DEFAULT 0, + `availableCapacity` bigint unsigned DEFAULT 0, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`fsid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`GarbageCollectorVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `runnerClass` varchar(512) NOT NULL, + `context` text NOT NULL, + `status` varchar(64) NOT NULL, + `managementNodeUuid` varchar(32) DEFAULT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`ImageCacheVolumeRefVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `imageCacheId` bigint unsigned NOT NULL, + `volumeUuid` varchar(32) NOT NULL, + `primaryStorageUuid` varchar(32) NOT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`LoadBalancerVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `name` varchar(255) NOT NULL, + `description` varchar(2048) DEFAULT NULL, + `providerType` varchar(255) DEFAULT NULL, + `state` varchar(64) NOT NULL, + `vipUuid` varchar(32) NOT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`LoadBalancerListenerVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `name` varchar(255) NOT NULL, + `description` varchar(2048) DEFAULT NULL, + `loadBalancerUuid` varchar(32) NOT NULL, + `instancePort` int unsigned NOT NULL, + `loadBalancerPort` int unsigned NOT NULL, + `protocol` varchar(64) NOT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`LoadBalancerListenerVmNicRefVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `listenerUuid` varchar(32) NOT NULL, + `vmNicUuid` varchar(32) NOT NULL, + `status` varchar(64) NOT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`VirtualRouterLoadBalancerRefVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `virtualRouterVmUuid` varchar(32) NOT NULL, + `loadBalancerUuid` varchar(32) NOT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- Foreign keys for table ImageCacheVolumeRefVO + +ALTER TABLE ImageCacheVolumeRefVO ADD CONSTRAINT fkImageCacheVolumeRefVOImageCacheVO FOREIGN KEY (imageCacheId) REFERENCES ImageCacheVO (id) ON DELETE RESTRICT; +ALTER TABLE ImageCacheVolumeRefVO ADD CONSTRAINT fkImageCacheVolumeRefVOPrimaryStorageEO FOREIGN KEY (primaryStorageUuid) REFERENCES PrimaryStorageEO (uuid) ON DELETE CASCADE; +ALTER TABLE ImageCacheVolumeRefVO ADD CONSTRAINT fkImageCacheVolumeRefVOVolumeEO FOREIGN KEY (volumeUuid) REFERENCES VolumeEO (uuid) ON DELETE CASCADE; + +-- Foreign keys for table CephBackupStorageMonVO + +ALTER TABLE CephBackupStorageMonVO ADD CONSTRAINT fkCephBackupStorageMonVOBackupStorageEO FOREIGN KEY (backupStorageUuid) REFERENCES BackupStorageEO (uuid) ON DELETE CASCADE; + +-- Foreign keys for table CephBackupStorageVO + +ALTER TABLE CephBackupStorageVO ADD CONSTRAINT fkCephBackupStorageVOBackupStorageEO FOREIGN KEY (uuid) REFERENCES BackupStorageEO (uuid) ON UPDATE RESTRICT ON DELETE CASCADE; + +-- Foreign keys for table CephPrimaryStorageMonVO + +ALTER TABLE CephPrimaryStorageMonVO ADD CONSTRAINT fkCephPrimaryStorageMonVOPrimaryStorageEO FOREIGN KEY (primaryStorageUuid) REFERENCES PrimaryStorageEO (uuid) ON DELETE CASCADE; + +-- Foreign keys for table CephPrimaryStorageVO + +ALTER TABLE CephPrimaryStorageVO ADD CONSTRAINT fkCephPrimaryStorageVOPrimaryStorageEO FOREIGN KEY (uuid) REFERENCES PrimaryStorageEO (uuid) ON UPDATE RESTRICT ON DELETE CASCADE; + +-- Foreign keys for table LoadBalancerListenerVO + +ALTER TABLE LoadBalancerListenerVO ADD CONSTRAINT fkLoadBalancerListenerVOLoadBalancerVO FOREIGN KEY (loadBalancerUuid) REFERENCES LoadBalancerVO (uuid) ON DELETE CASCADE; + +-- Foreign keys for table LoadBalancerListenerVmNicRefVO + +ALTER TABLE LoadBalancerListenerVmNicRefVO ADD CONSTRAINT fkLoadBalancerListenerVmNicRefVOLoadBalancerListenerVO FOREIGN KEY (listenerUuid) REFERENCES LoadBalancerListenerVO (uuid) ON DELETE CASCADE; +ALTER TABLE LoadBalancerListenerVmNicRefVO ADD CONSTRAINT fkLoadBalancerListenerVmNicRefVOVmNicVO FOREIGN KEY (vmNicUuid) REFERENCES VmNicVO (uuid) ON DELETE CASCADE; + +-- Foreign keys for table LoadBalancerVO + +ALTER TABLE LoadBalancerVO ADD CONSTRAINT fkLoadBalancerVOVipVO FOREIGN KEY (vipUuid) REFERENCES VipVO (uuid) ; + +ALTER TABLE `zstack`.`ImageEO` MODIFY platform VARCHAR(255); + +INSERT INTO NetworkServiceTypeVO (networkServiceProviderUuid, type) SELECT vr.uuid, 'LoadBalancer' FROM NetworkServiceProviderVO vr WHERE type = 'VirtualRouter'; diff --git a/conf/tools/flyway-6.3.1/sql/V1.0__schema.sql b/conf/tools/flyway-6.3.1/sql/V1.0__schema.sql new file mode 100755 index 00000000000..40a7d7ad100 --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V1.0__schema.sql @@ -0,0 +1,14 @@ +ALTER TABLE HostCapacityVO ADD totalPhysicalMemory bigint unsigned NOT NULL DEFAULT 0; +ALTER TABLE HostCapacityVO ADD availablePhysicalMemory bigint unsigned NOT NULL DEFAULT 0; +ALTER TABLE HostCapacityVO MODIFY availableMemory bigint signed NOT NULL DEFAULT 0; + +ALTER TABLE PrimaryStorageCapacityVO MODIFY availableCapacity bigint signed NOT NULL DEFAULT 0; +ALTER TABLE PrimaryStorageCapacityVO ADD systemUsedCapacity bigint signed DEFAULT NULL; + +ALTER TABLE LocalStorageHostRefVO MODIFY availableCapacity bigint signed NOT NULL DEFAULT 0; +ALTER TABLE LocalStorageHostRefVO ADD systemUsedCapacity bigint signed NOT NULL DEFAULT 0; + +ALTER TABLE ImageBackupStorageRefVO ADD status varchar(32) NOT NULL; +UPDATE ImageBackupStorageRefVO SET status = 'Ready'; + +ALTER TABLE VmNicVO MODIFY ip varchar(128) DEFAULT NULL; diff --git a/conf/tools/flyway-6.3.1/sql/V1.10__schema.sql b/conf/tools/flyway-6.3.1/sql/V1.10__schema.sql new file mode 100644 index 00000000000..6b0ba1214b6 --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V1.10__schema.sql @@ -0,0 +1,64 @@ +-- VolumeEO +DROP TRIGGER IF EXISTS trigger_clean_AccountResourceRefVO_for_VolumeEO; +DELIMITER $$ +CREATE TRIGGER trigger_cleanup_for_VolumeEO_soft_delete AFTER UPDATE ON `VolumeEO` +FOR EACH ROW + BEGIN + IF OLD.`deleted` IS NULL AND NEW.`deleted` IS NOT NULL THEN + DELETE FROM `AccountResourceRefVO` WHERE `resourceUuid` = OLD.`uuid` AND `resourceType` = 'VolumeVO'; + DELETE FROM `SystemTagVO` WHERE `resourceUuid` = OLD.`uuid` AND `resourceType` = 'VolumeVO'; + DELETE FROM `UserTagVO` WHERE `resourceUuid` = OLD.`uuid` AND `resourceType` = 'VolumeVO'; + END IF; + END$$ +DELIMITER ; + +DROP TRIGGER IF EXISTS trigger_cleanup_for_VolumeEO_hard_delete; +DELIMITER $$ +CREATE TRIGGER trigger_cleanup_for_VolumeEO_hard_delete AFTER DELETE ON `VolumeEO` +FOR EACH ROW + BEGIN + DELETE FROM `AccountResourceRefVO` WHERE `resourceUuid` = OLD.`uuid` AND `resourceType` = 'VolumeVO'; + DELETE FROM `SystemTagVO` WHERE `resourceUuid` = OLD.`uuid` AND `resourceType` = 'VolumeVO'; + DELETE FROM `UserTagVO` WHERE `resourceUuid` = OLD.`uuid` AND `resourceType` = 'VolumeVO'; + END $$ +DELIMITER ; + +-- VmInstanceEO +DROP TRIGGER IF EXISTS trigger_cleanup_for_VmInstanceEO_hard_delete; +DELIMITER $$ +CREATE TRIGGER trigger_cleanup_for_VmInstanceEO_hard_delete AFTER DELETE ON `VmInstanceEO` +FOR EACH ROW + BEGIN + DELETE FROM `AccountResourceRefVO` WHERE `resourceUuid` = OLD.`uuid` AND `resourceType` = 'VmInstanceVO'; + DELETE FROM `SystemTagVO` WHERE `resourceUuid` = OLD.`uuid` AND `resourceType` = 'VmInstanceVO'; + DELETE FROM `UserTagVO` WHERE `resourceUuid` = OLD.`uuid` AND `resourceType` = 'VmInstanceVO'; + DELETE FROM ImageEO WHERE `deleted` IS NOT NULL AND `uuid` NOT IN (SELECT imageUuid FROM VmInstanceEO WHERE imageUuid IS NOT NULL); + END $$ +DELIMITER ; + +ALTER TABLE `zstack`.`SharedResourceVO` DROP foreign key fkSharedResourceVOAccountVO; +ALTER TABLE `zstack`.`SharedResourceVO` DROP INDEX `ownerAccountUuid`; +ALTER TABLE `zstack`.`SharedResourceVO` ADD CONSTRAINT fkSharedResourceVOAccountVO FOREIGN KEY (ownerAccountUuid) REFERENCES AccountVO (uuid) ON DELETE CASCADE; +ALTER TABLE `zstack`.`SharedResourceVO` ADD UNIQUE INDEX(`ownerAccountUuid`,`receiverAccountUuid`,`resourceUuid`,`toPublic`); + + +CREATE TABLE `zstack`.`CephPrimaryStoragePoolVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `primaryStorageUuid` varchar(32) NOT NULL, + `poolName` varchar(255) NOT NULL, + `description` varchar(2048) DEFAULT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +DELETE FROM GarbageCollectorVO; +ALTER TABLE GarbageCollectorVO ADD name varchar(1024) NOT NULL; +ALTER TABLE GarbageCollectorVO MODIFY COLUMN id INT; +ALTER TABLE GarbageCollectorVO DROP PRIMARY KEY; +ALTER TABLE GarbageCollectorVO DROP id; +ALTER TABLE GarbageCollectorVO ADD uuid varchar(32); +UPDATE GarbageCollectorVO SET uuid = REPLACE(UUID(),'-','') WHERE uuid IS NULL; +ALTER TABLE GarbageCollectorVO MODIFY uuid varchar(32) UNIQUE NOT NULL PRIMARY KEY; + +ALTER TABLE HostCapacityVO ADD cpuSockets int unsigned NOT NULL; diff --git a/conf/tools/flyway-6.3.1/sql/V1.11__schema.sql b/conf/tools/flyway-6.3.1/sql/V1.11__schema.sql new file mode 100644 index 00000000000..a6243a99142 --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V1.11__schema.sql @@ -0,0 +1,784 @@ +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for `IdentityZoneVO` +-- ---------------------------- +CREATE TABLE `IdentityZoneVO` ( + `uuid` varchar(32) UNIQUE NOT NULL, + `zoneId` varchar(32) NOT NULL, + `dataCenterUuid` varchar(32) NOT NULL, + `type` varchar(32) NOT NULL, + `zoneName` varchar(128) NOT NULL, + `deleted` varchar(1) DEFAULT NULL, + `defaultVSwitchUuid` varchar(32) DEFAULT NULL, + `description` varchar(1024) DEFAULT NULL, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`uuid`), + CONSTRAINT fkIdentityZoneVODataCenterVO FOREIGN KEY (dataCenterUuid) REFERENCES DataCenterVO (uuid) ON DELETE RESTRICT, + CONSTRAINT fkIdentityZoneVOEcsVSwitchVO FOREIGN KEY (defaultVSwitchUuid) REFERENCES EcsVSwitchVO (uuid) ON DELETE SET NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +SET FOREIGN_KEY_CHECKS = 1; + + +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for `EcsVSwitchVO` +-- ---------------------------- +CREATE TABLE `EcsVSwitchVO` ( + `uuid` varchar(32) UNIQUE NOT NULL, + `vSwitchId` varchar(32) NOT NULL, + `status` varchar(32) NOT NULL, + `cidrBlock` varchar(32) NOT NULL, + `availableIpAddressCount` int(10) NOT NULL, + `description` varchar(1024) DEFAULT NULL, + `vSwitchName` varchar(128) NOT NULL, + `ecsVpcUuid` varchar(32) NOT NULL, + `identityZoneUuid` varchar(32) NOT NULL, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`uuid`), + CONSTRAINT fkEcsVSwitchVOEcsVpcVO FOREIGN KEY (ecsVpcUuid) REFERENCES EcsVpcVO (uuid) ON DELETE RESTRICT, + CONSTRAINT fkEcsVSwitchVOIdentityZoneVO FOREIGN KEY (identityZoneUuid) REFERENCES IdentityZoneVO (uuid) ON DELETE RESTRICT +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +SET FOREIGN_KEY_CHECKS = 1; + +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for `EcsVpcVO` +-- ---------------------------- +CREATE TABLE `EcsVpcVO` ( + `uuid` varchar(32) UNIQUE NOT NULL, + `ecsVpcId` varchar(32) NOT NULL, + `dataCenterUuid` varchar(32) NOT NULL, + `status` varchar(32) NOT NULL, + `deleted` varchar(1) DEFAULT NULL, + `vpcName` varchar(128) NOT NULL, + `cidrBlock` varchar(32) NOT NULL, + `vRouterId` varchar(32) NOT NULL, + `description` varchar(1024) DEFAULT NULL, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`uuid`), + CONSTRAINT fkEcsVpcVODataCenterVO FOREIGN KEY (dataCenterUuid) REFERENCES DataCenterVO (uuid) ON DELETE RESTRICT +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +SET FOREIGN_KEY_CHECKS = 1; + + +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for `EcsSecurityGroupRuleVO` +-- ---------------------------- +CREATE TABLE `EcsSecurityGroupRuleVO` ( + `uuid` varchar(32) UNIQUE NOT NULL, + `ecsSecurityGroupUuid` varchar(32) NOT NULL, + `portRange` varchar(32) NOT NULL, + `cidrIp` varchar(32) NOT NULL, + `protocol` varchar(32) NOT NULL, + `nicType` varchar(32) NOT NULL, + `policy` varchar(32) NOT NULL, + `sourceGroupId` varchar(128) NOT NULL, + `direction` varchar(128) NOT NULL, + `priority` varchar(128) NOT NULL, + `description` varchar(1024) DEFAULT NULL, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`uuid`), + CONSTRAINT fkEcsSecurityGroupRuleVOEcsSecurityGroupVO FOREIGN KEY (ecsSecurityGroupUuid) REFERENCES EcsSecurityGroupVO (uuid) ON DELETE RESTRICT +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +SET FOREIGN_KEY_CHECKS = 1; + +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for `EcsSecurityGroupVO` +-- ---------------------------- +CREATE TABLE `EcsSecurityGroupVO` ( + `uuid` varchar(32) UNIQUE NOT NULL, + `ecsVpcUuid` varchar(32) NOT NULL, + `securityGroupId` varchar(32) NOT NULL, + `securityGroupName` varchar(128) NOT NULL, + `description` varchar(1024) DEFAULT NULL, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`uuid`), + UNIQUE KEY `ukEcsVpcUuidSecurityGroupId` (`ecsVpcUuid`,`securityGroupId`) USING BTREE, + CONSTRAINT fkEcsSecurityGroupVOEcsVpcVO FOREIGN KEY (ecsVpcUuid) REFERENCES EcsVpcVO (uuid) ON DELETE RESTRICT +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +SET FOREIGN_KEY_CHECKS = 1; + + +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for `EcsInstanceConsoleProxyVO` +-- ---------------------------- +CREATE TABLE `EcsInstanceConsoleProxyVO` ( + `uuid` varchar(32) UNIQUE NOT NULL, + `ecsInstanceUuid` varchar(32) NOT NULL, + `vncUrl` varchar(256) DEFAULT NULL, + `vncPassword` varchar(32) DEFAULT NULL, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`uuid`), + UNIQUE KEY `ecsInstanceUuid` (`ecsInstanceUuid`), + CONSTRAINT fkEcsInstanceConsoleProxyVOEcsInstanceVO FOREIGN KEY (ecsInstanceUuid) REFERENCES EcsInstanceVO(uuid) ON DELETE RESTRICT +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +SET FOREIGN_KEY_CHECKS = 1; + +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for `EcsInstanceVO` +-- ---------------------------- +CREATE TABLE `EcsInstanceVO` ( + `uuid` varchar(32) UNIQUE NOT NULL, + `localVmInstanceUuid` varchar(32) DEFAULT NULL, + `ecsInstanceId` varchar(32) NOT NULL, + `name` varchar(128) NOT NULL, + `ecsStatus` varchar(16) NOT NULL, + `ecsInstanceRootPassword` varchar(32) NOT NULL, + `cpuCores` int(10) NOT NULL, + `memorySize` bigint(20) NOT NULL, + `ecsInstanceType` varchar(32) NOT NULL, + `ecsBandWidth` bigint(20) NOT NULL, + `ecsRootVolumeId` varchar(32) NOT NULL, + `ecsRootVolumeCategory` varchar(32) NOT NULL, + `ecsRootVolumeSize` bigint(20) NOT NULL, + `privateIpAddress` varchar(32) NOT NULL, + `ecsEipUuid` varchar(32) DEFAULT NULL, + `ecsVpcUuid` varchar(32) DEFAULT NULL, + `ecsVSwitchUuid` varchar(32) DEFAULT NULL, + `ecsImageUuid` varchar(32) DEFAULT NULL, + `ecsSecurityGroupUuid` varchar(32) DEFAULT NULL, + `identityZoneUuid` varchar(32) NOT NULL, + `description` varchar(1024) DEFAULT NULL, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`), + KEY `fkEcsInstanceVOEcsImageVO` (`ecsImageUuid`), + KEY `fkEcsInstanceVOEcsSecurityGroupVO` (`ecsSecurityGroupUuid`), + KEY `fkEcsInstanceVOEcsVSwitchVO` (`ecsVSwitchUuid`), + KEY `fkEcsInstanceVOEcsVpcVO` (`ecsVpcUuid`), + KEY `fkEcsInstanceVOIdentityZoneVO` (`identityZoneUuid`), + KEY `fkEcsInstanceVOVmInstanceEO` (`localVmInstanceUuid`), + CONSTRAINT `fkEcsInstanceVOEcsImageVO` FOREIGN KEY (`ecsImageUuid`) REFERENCES `EcsImageVO` (`uuid`) ON DELETE SET NULL, + CONSTRAINT `fkEcsInstanceVOEcsSecurityGroupVO` FOREIGN KEY (`ecsSecurityGroupUuid`) REFERENCES `EcsSecurityGroupVO` (`uuid`) ON DELETE RESTRICT, + CONSTRAINT `fkEcsInstanceVOEcsVpcVO` FOREIGN KEY (`ecsVpcUuid`) REFERENCES `EcsVpcVO` (`uuid`) ON DELETE RESTRICT, + CONSTRAINT `fkEcsInstanceVOEcsVSwitchVO` FOREIGN KEY (`ecsVSwitchUuid`) REFERENCES `EcsVSwitchVO` (`uuid`) ON DELETE RESTRICT, + CONSTRAINT `fkEcsInstanceVOIdentityZoneVO` FOREIGN KEY (`identityZoneUuid`) REFERENCES `IdentityZoneVO` (`uuid`) ON DELETE RESTRICT, + CONSTRAINT `fkEcsInstanceVOVmInstanceEO` FOREIGN KEY (`localVmInstanceUuid`) REFERENCES `VmInstanceEO` (`uuid`) ON DELETE SET NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +SET FOREIGN_KEY_CHECKS = 1; + +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for `EcsImageVO` +-- ---------------------------- +CREATE TABLE `EcsImageVO` ( + `uuid` varchar(32) UNIQUE NOT NULL, + `localImageUuid` varchar(32) DEFAULT NULL, + `ecsImageId` varchar(32) NOT NULL, + `dataCenterUuid` varchar(32) DEFAULT NULL, + `name` varchar(128) NOT NULL, + `ecsImageSize` bigint(20) NOT NULL, + `platform` varchar(32) NOT NULL, + `type` varchar(32) NOT NULL, + `ossMd5Sum` varchar(128) NOT NULL, + `format` varchar(32) NOT NULL, + `description` varchar(1024) DEFAULT NULL, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`uuid`), + CONSTRAINT fkEcsImageVOImageEO FOREIGN KEY (localImageUuid) REFERENCES ImageEO (uuid) ON DELETE SET NULL, + CONSTRAINT fkEcsImageVODataCenterVO FOREIGN KEY (dataCenterUuid) REFERENCES DataCenterVO (uuid) ON DELETE RESTRICT +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +SET FOREIGN_KEY_CHECKS = 1; + +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for `HybridEipAddressVO` +-- ---------------------------- +CREATE TABLE `HybridEipAddressVO` ( + `uuid` varchar(32) UNIQUE NOT NULL, + `eipId` varchar(32) NOT NULL, + `bandWidth` varchar(32) NOT NULL, + `eipAddress` varchar(32) NOT NULL, + `allocateResourceUuid` varchar(32) DEFAULT NULL, + `allocateResourceType` varchar(32) DEFAULT NULL, + `status` varchar(16) NOT NULL, + `eipType` varchar(32) NOT NULL, + `description` varchar(1024) DEFAULT NULL, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +SET FOREIGN_KEY_CHECKS = 1; + +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for `EcsImageMd5SumMappingVO` +-- ---------------------------- +CREATE TABLE `EcsImageMd5SumMappingVO` ( + `id` bigint(20) unsigned UNIQUE NOT NULL AUTO_INCREMENT, + `qcow2Md5Sum` varchar(128) NOT NULL, + `rawMd5Sum` varchar(128) NOT NULL, + `ossBucketName` varchar(32) NOT NULL, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +SET FOREIGN_KEY_CHECKS = 1; + +SET FOREIGN_KEY_CHECKS = 0; +-- ---------------------------- +-- Table structure for `OssBucketVO` +-- ---------------------------- +CREATE TABLE `OssBucketVO` ( + `uuid` varchar(32) UNIQUE NOT NULL, + `bucketName` varchar(32) NOT NULL, + `regionId` varchar(32) NOT NULL, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +SET FOREIGN_KEY_CHECKS = 1; + +SET FOREIGN_KEY_CHECKS = 0; +-- ---------------------------- +-- Table structure for `OssBucketEcsDataCenterRefVO` +-- ---------------------------- +CREATE TABLE `OssBucketEcsDataCenterRefVO` ( + `id` bigint(20) unsigned UNIQUE NOT NULL AUTO_INCREMENT, + `ossBucketUuid` varchar(32) NOT NULL, + `dataCenterUuid` varchar(32) NOT NULL, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`id`), + CONSTRAINT `fkOssBucketEcsDataCenterRefVOOssBucketVO` FOREIGN KEY (`ossBucketUuid`) REFERENCES `zstack`.`OssBucketVO` (`uuid`) ON DELETE CASCADE, + CONSTRAINT `fkOssBucketEcsDataCenterRefVODataCenterVO` FOREIGN KEY (`dataCenterUuid`) REFERENCES `zstack`.`DataCenterVO` (`uuid`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +SET FOREIGN_KEY_CHECKS = 1; + +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for `DataCenterVO` +-- ---------------------------- +CREATE TABLE `DataCenterVO` ( + `uuid` varchar(32) UNIQUE NOT NULL, + `deleted` varchar(1) DEFAULT NULL, + `regionName` varchar(1024) NOT NULL, + `dcType` varchar(32) NOT NULL, + `defaultVpcUuid` varchar(32) DEFAULT NULL, + `regionId` varchar(32) NOT NULL, + `description` varchar(1024) DEFAULT NULL, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`uuid`), + CONSTRAINT fkDataCenterVOEcsVpcVO FOREIGN KEY (defaultVpcUuid) REFERENCES EcsVpcVO (uuid) ON DELETE SET NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +SET FOREIGN_KEY_CHECKS = 1; + +SET FOREIGN_KEY_CHECKS = 0; +-- ---------------------------- +-- Table structure for `AvailableInstanceTypesVO` +-- ---------------------------- +CREATE TABLE `AvailableInstanceTypesVO` ( + `uuid` bigint(20) unsigned UNIQUE NOT NULL AUTO_INCREMENT, + `accountUuid` varchar(32) NOT NULL, + `instanceType` varchar(4096) NOT NULL, + `diskCategories` varchar(256) NOT NULL, + `resourceType` varchar(256) NOT NULL, + `izUuid` varchar(32) NOT NULL, + `description` varchar(1024) DEFAULT NULL, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`uuid`), + UNIQUE KEY `ukAccountUuidizUuid` (`accountUuid`,`izUuid`) USING BTREE, + CONSTRAINT fkAvailableInstanceTypesVOAccountVO FOREIGN KEY (accountUuid) REFERENCES AccountVO (uuid) ON DELETE CASCADE, + CONSTRAINT fkAvailableInstanceTypesVOIdentityZoneVO FOREIGN KEY (izUuid) REFERENCES IdentityZoneVO (uuid) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +SET FOREIGN_KEY_CHECKS = 1; + +SET FOREIGN_KEY_CHECKS = 0; +-- ---------------------------- +-- Table structure for `AvailableIdentityZonesVO` +-- ---------------------------- +CREATE TABLE `AvailableIdentityZonesVO` ( + `uuid` bigint(20) unsigned UNIQUE NOT NULL AUTO_INCREMENT, + `accountUuid` varchar(32) NOT NULL, + `dataCenterUuid` varchar(32) NOT NULL, + `type` varchar(32) NOT NULL, + `zoneId` varchar(32) NOT NULL, + `description` varchar(1024) DEFAULT NULL, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`uuid`), + UNIQUE KEY `ukAccountUuidizUuid` (`accountUuid`,`dataCenterUuid`,`zoneId`) USING BTREE, + CONSTRAINT fkAvailableIdentityZonesVOAccountVO FOREIGN KEY (accountUuid) REFERENCES AccountVO (uuid) ON DELETE CASCADE, + CONSTRAINT fkAvailableIdentityZonesVODataCenterVO FOREIGN KEY (dataCenterUuid) REFERENCES DataCenterVO (uuid) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +SET FOREIGN_KEY_CHECKS = 1; + +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for `HybridAccountVO` +-- ---------------------------- +CREATE TABLE `HybridAccountVO` ( + `uuid` varchar(32) UNIQUE NOT NULL, + `name` varchar(32) UNIQUE NOT NULL, + `accountUuid` varchar(32) NOT NULL, + `userUuid` varchar(32) DEFAULT NULL, + `type` varchar(32) NOT NULL, + `akey` varchar(32) NOT NULL, + `secret` varchar(64) NOT NULL, + `current` varchar(64) NOT NULL DEFAULT 'false', + `description` varchar(1024) DEFAULT NULL, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`uuid`), + UNIQUE KEY `uniqAccountUuid` (`accountUuid`,`akey`), + CONSTRAINT `fkHybridAccountVOAccountVO` FOREIGN KEY (`accountUuid`) REFERENCES `zstack`.`AccountVO` (`uuid`) ON DELETE RESTRICT, + CONSTRAINT `fkHybridAccountVOUserVO` FOREIGN KEY (`userUuid`) REFERENCES `zstack`.`UserVO` (`uuid`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +SET FOREIGN_KEY_CHECKS = 1; + +-- sync EcsVSwitchVO availableIpAddressCount while EcsInstanceVO update +DROP TRIGGER IF EXISTS trigger_decrease_vswitch_for_create_ecs; +DELIMITER $$ +CREATE TRIGGER trigger_decrease_vswitch_for_create_ecs after insert ON `EcsInstanceVO` +FOR EACH ROW +BEGIN +update `EcsVSwitchVO` set `availableIpAddressCount`=`availableIpAddressCount`-1 where `uuid`=NEW.`ecsVSwitchUuid`; +END$$ +DELIMITER ; + + + +DROP TRIGGER IF EXISTS trigger_attach_eip_for_ecsinstance; +DELIMITER $$ +CREATE TRIGGER trigger_attach_eip_for_ecsinstance AFTER UPDATE ON `HybridEipAddressVO` +FOR EACH ROW + BEGIN + IF (NEW.`allocateResourceUuid` = NULL) THEN + update `EcsInstanceVO` set `ecsEipUuid`=NULL + where `ecsEipUuid`=OLD.`uuid` + and OLD.`eipType`='aliyun' + and OLD.`allocateResourceType`='EcsInstanceVO'; + ELSE + update `EcsInstanceVO` set `ecsEipUuid`=NEW.`uuid` + where NEW.`allocateResourceUuid`=`uuid` + and NEW.`eipType`='aliyun' + and NEW.`allocateResourceType`='EcsInstanceVO'; + END IF; + + END$$ +DELIMITER ; + + +-- VxlanNetwork +CREATE TABLE `zstack`.`VxlanNetworkPoolVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + PRIMARY KEY (`uuid`), + CONSTRAINT fkVxlanNetworkPoolVOL2NetworkEO FOREIGN KEY (uuid) REFERENCES L2NetworkEO (uuid) ON UPDATE RESTRICT ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`VtepVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `hostUuid` varchar(32) NOT NULL, + `vtepIp` varchar(32) NOT NULL, + `port` int NOT NULL, + `clusterUuid` varchar(32) NOT NULL, + `type` varchar(32) NOT NULL, + `poolUuid` varchar(32) NOT NULL, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`uuid`), + CONSTRAINT fkVtepVOHostEO FOREIGN KEY (hostUuid) REFERENCES HostEO (uuid) ON DELETE CASCADE, + CONSTRAINT fkVtepVOClusterEO FOREIGN KEY (clusterUuid) REFERENCES ClusterEO (uuid) ON DELETE CASCADE, + UNIQUE KEY `ukVtepIpPoolUuid` (`vtepIp`,`poolUuid`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`VxlanNetworkVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `vni` int NOT NULL, + `poolUuid` varchar(32), + PRIMARY KEY (`uuid`), + CONSTRAINT fkVxlanNetworkVOL2NetworkEO FOREIGN KEY (uuid) REFERENCES L2NetworkEO (uuid) ON UPDATE RESTRICT ON DELETE CASCADE, + CONSTRAINT fkVxlanNetworkVOVxlanNetworkPoolVO FOREIGN KEY (poolUuid) REFERENCES VxlanNetworkPoolVO (uuid) ON UPDATE RESTRICT ON DELETE CASCADE, + UNIQUE KEY `ukVniPoolUuid` (`vni`,`poolUuid`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`VniRangeVO` ( + `uuid` varchar(32) NOT NULL UNIQUE COMMENT 'uuid', + `name` varchar(255) DEFAULT NULL COMMENT 'name', + `description` varchar(2048) DEFAULT NULL COMMENT 'description', + `l2NetworkUuid` varchar(32) NOT NULL COMMENT 'l3 network uuid', + `startVni` INT NOT NULL COMMENT 'start vni', + `endVni` INT NOT NULL COMMENT 'end vni', + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`uuid`), + CONSTRAINT fkVniRangeVOL2NetworkEO FOREIGN KEY (l2NetworkUuid) REFERENCES L2NetworkEO (uuid) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + + +CREATE TABLE `zstack`.`TaskProgressVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `apiId` varchar(32) NOT NULL, + `taskUuid` varchar(32) NOT NULL, + `parentUuid` varchar(32) DEFAULT NULL, + `taskName` varchar(1024) NOT NULL, + `managementUuid` varchar(32) DEFAULT NULL, + `type` varchar(255) NOT NULL, + `content` text DEFAULT NULL, + `arguments` text DEFAULT NULL, + `opaque` text DEFAULT NULL, + `time` bigint unsigned NOT NULL, + `timeToDelete` bigint unsigned DEFAULT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- Foreign keys for table TaskProgressVO +ALTER TABLE TaskProgressVO ADD CONSTRAINT fkTaskProgressVOManagementNodeVO FOREIGN KEY (managementUuid) REFERENCES ManagementNodeVO (uuid) ON DELETE SET NULL; + +DROP TABLE IF EXISTS ProgressVO; + +CREATE TABLE `zstack`.`NotificationVO` ( + `uuid` varchar(32) NOT NULL, + `name` varchar(1024) NOT NULL, + `content` text NOT NULL, + `arguments` text DEFAULT NULL, + `sender` varchar(1024) NOT NULL, + `status` varchar(255) NOT NULL, + `type` varchar(255) NOT NULL, + `resourceUuid` varchar(255) DEFAULT NULL, + `resourceType` varchar(255) DEFAULT NULL, + `opaque` text DEFAULT NULL, + `time` bigint unsigned DEFAULT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + `dateTime` datetime, + UNIQUE KEY `uuid` (`uuid`, `dateTime`), + PRIMARY KEY (`uuid`, `dateTime`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 PARTITION BY RANGE( YEAR(dateTime) ) ( + PARTITION p2017 VALUES LESS THAN (2018), + PARTITION p2018 VALUES LESS THAN (2019), + PARTITION p2019 VALUES LESS THAN (2020), + PARTITION p2020 VALUES LESS THAN (2021), + PARTITION p2021 VALUES LESS THAN (2022), + PARTITION p2022 VALUES LESS THAN (2023), + PARTITION p2023 VALUES LESS THAN (2024), + PARTITION p2024 VALUES LESS THAN (2025), + PARTITION p2025 VALUES LESS THAN (2026), + PARTITION p2026 VALUES LESS THAN (2027), + PARTITION p2027 VALUES LESS THAN (2028), + PARTITION p9999 VALUES LESS THAN MAXVALUE +); + +CREATE TABLE `zstack`.`NotificationSubscriptionVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `name` varchar(1024) NOT NULL, + `description` varchar(2048) DEFAULT NULL, + `notificationName` varchar(1024) NOT NULL, + `filter` varchar(2048) DEFAULT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + + +ALTER TABLE LocalStorageResourceRefVO DROP FOREIGN KEY `fkLocalStorageResourceRefVOHostEO`; + +ALTER TABLE VCenterVO ADD port int DEFAULT NULL; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for `VpcVirtualRouterVO` +-- ---------------------------- +CREATE TABLE `VpcVirtualRouterVO` ( + `uuid` varchar(32) UNIQUE NOT NULL, + `vrId` varchar(32) NOT NULL, + `vpcUuid` varchar(32) NOT NULL, + `vRouterName` varchar(32) NOT NULL, + `description` varchar(1024) DEFAULT NULL, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`uuid`), + CONSTRAINT `fkVpcVirtualRouterVOEcsVpcVO` FOREIGN KEY (`vpcUuid`) REFERENCES `zstack`.`EcsVpcVO` (`uuid`) ON DELETE RESTRICT +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +SET FOREIGN_KEY_CHECKS = 1; + +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for `VirtualRouterInterfaceVO` +-- ---------------------------- +CREATE TABLE `VirtualRouterInterfaceVO` ( + `uuid` varchar(32) UNIQUE NOT NULL, + `dataCenterUuid` varchar(32) NOT NULL, + `routerInterfaceId` varchar(64) NOT NULL, + `virtualRouterUuid` varchar(32) NOT NULL, + `accessPointUuid` varchar(32) DEFAULT NULL, + `vRouterType` varchar(16) NOT NULL, + `role` varchar(16) NOT NULL, + `spec` varchar(32) NOT NULL, + `name` varchar(64) NOT NULL, + `status` varchar(32) NOT NULL, + `oppositeInterfaceUuid` varchar(32) NOT NULL, + `description` varchar(128) DEFAULT NULL, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`uuid`), + CONSTRAINT `fkVirtualRouterInterfaceVOConnectionAccessPointVO` FOREIGN KEY (`accessPointUuid`) REFERENCES `zstack`.`ConnectionAccessPointVO` (`uuid`) ON DELETE RESTRICT, + CONSTRAINT `fkVirtualRouterInterfaceVODataCenterVO` FOREIGN KEY (`dataCenterUuid`) REFERENCES `zstack`.`DataCenterVO` (`uuid`) ON DELETE RESTRICT +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +SET FOREIGN_KEY_CHECKS = 1; + + +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for `VpcVirtualRouteEntryVO` +-- ---------------------------- +CREATE TABLE `VpcVirtualRouteEntryVO` ( + `uuid` varchar(32) UNIQUE NOT NULL, + `destinationCidrBlock` varchar(64) NOT NULL, + `nextHopVRiUuid` varchar(32) DEFAULT NULL, + `type` varchar(32) NOT NULL, + `status` varchar(32) NOT NULL, + `nextHopType` varchar(32) NOT NULL, + `vRouterType` varchar(16) NOT NULL, + `virtualRouterUuid` varchar(32) NOT NULL, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +SET FOREIGN_KEY_CHECKS = 1; + +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for `ConnectionAccessPointVO` +-- ---------------------------- +CREATE TABLE `ConnectionAccessPointVO` ( + `uuid` varchar(32) UNIQUE NOT NULL, + `accessPointId` varchar(64) NOT NULL, + `type` varchar(32) NOT NULL, + `name` varchar(64) NOT NULL, + `dataCenterUuid` varchar(32) NOT NULL, + `status` varchar(32) NOT NULL, + `hostOperator` varchar(32) NOT NULL, + `description` varchar(128) DEFAULT NULL, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`uuid`), + CONSTRAINT `fkConnectionAccessPointVODataCenterVO` FOREIGN KEY (`dataCenterUuid`) REFERENCES `zstack`.`DataCenterVO` (`uuid`) ON DELETE RESTRICT +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +SET FOREIGN_KEY_CHECKS = 1; + +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for `VirtualBorderRouterVO` +-- ---------------------------- +CREATE TABLE `VirtualBorderRouterVO` ( + `uuid` varchar(32) UNIQUE NOT NULL, + `vbrId` varchar(32) NOT NULL, + `vlanInterfaceId` varchar(64) NOT NULL, + `status` varchar(16) NOT NULL, + `name` varchar(64) NOT NULL, + `dataCenterUuid` varchar(32) NOT NULL, + `vlanId` varchar(64) NOT NULL, + `circuitCode` varchar(32) NOT NULL, + `localGatewayIp` varchar(32) NOT NULL, + `peerGatewayIp` varchar(32) NOT NULL, + `physicalConnectionStatus` varchar(32) NOT NULL, + `peeringSubnetMask` varchar(32) NOT NULL, + `physicalConnectionId` varchar(32) NOT NULL, + `accessPointUuid` varchar(32) NOT NULL, + `description` varchar(128) DEFAULT NULL, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`uuid`), + CONSTRAINT `fkVirtualBorderRouterVODataCenterVO` FOREIGN KEY (`dataCenterUuid`) REFERENCES `zstack`.`DataCenterVO` (`uuid`) ON DELETE RESTRICT, + CONSTRAINT `fkVirtualBorderRouterVOConnectionAccessPointVO` FOREIGN KEY (`accessPointUuid`) REFERENCES `zstack`.`ConnectionAccessPointVO` (`uuid`) ON DELETE RESTRICT +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +SET FOREIGN_KEY_CHECKS = 1; + +ALTER TABLE QuotaVO MODIFY COLUMN id INT; +ALTER TABLE QuotaVO DROP PRIMARY KEY; +ALTER TABLE QuotaVO DROP id; +ALTER TABLE QuotaVO ADD uuid varchar(32); +UPDATE QuotaVO SET uuid = REPLACE(UUID(),'-','') WHERE uuid IS NULL; +ALTER TABLE QuotaVO MODIFY uuid varchar(32) UNIQUE NOT NULL PRIMARY KEY; + +ALTER TABLE `zstack`.`JsonLabelVO` modify column resourceUuid varchar(32) DEFAULT NULL; +ALTER TABLE `zstack`.`VipVO` ADD UNIQUE INDEX(`ipRangeUuid`,`ip`); + +CREATE TABLE `ResourceVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `resourceName` varchar(255) DEFAULT NULL, + `resourceType` varchar(255) DEFAULT NULL, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +INSERT IGNORE INTO ResourceVO (uuid,resourceType) SELECT t.resourceUuid , t.resourceType FROM AccountResourceRefVO t; +INSERT IGNORE INTO ResourceVO (uuid,resourceType) SELECT t.resourceUuid , t.resourceType FROM SystemTagVO t; +INSERT IGNORE INTO ResourceVO (uuid,resourceType) SELECT t.resourceUuid , t.resourceType FROM UserTagVO t; +UPDATE JsonLabelVO SET resourceUuid=UUID(); +UPDATE JsonLabelVO SET resourceUuid=REPLACE(resourceUuid,'-','7'); +INSERT IGNORE INTO ResourceVO (uuid) SELECT t.resourceUuid FROM JsonLabelVO t; + + +ALTER TABLE AccountResourceRefVO ADD CONSTRAINT fkAccountResourceRefVOResourceVO FOREIGN KEY (resourceUuid) REFERENCES ResourceVO (uuid) ON DELETE CASCADE; +ALTER TABLE SystemTagVO ADD CONSTRAINT fkSystemTagVOResourceVO FOREIGN KEY (resourceUuid) REFERENCES ResourceVO (uuid) ON DELETE CASCADE; +ALTER TABLE UserTagVO ADD CONSTRAINT fkUserTagVOResourceVO FOREIGN KEY (resourceUuid) REFERENCES ResourceVO (uuid) ON DELETE CASCADE; +ALTER TABLE JsonLabelVO ADD CONSTRAINT fkJsonLabelVOResourceVO FOREIGN KEY (resourceUuid) REFERENCES ResourceVO (uuid) ON DELETE CASCADE; + +-- fkVolumeEOVmInstanceEO was wrongly added +ALTER TABLE VolumeEO DROP FOREIGN KEY fkVolumeEOVmInstanceEO; + +DROP TRIGGER IF EXISTS trigger_clean_AccountResourceRefVO_for_VolumeEO; +DROP TRIGGER IF EXISTS trigger_cleanup_for_VolumeEO_hard_delete; +DROP TRIGGER IF EXISTS trigger_cleanup_for_VmInstanceEO_hard_delete; +DROP TRIGGER IF EXISTS trigger_clean_AccountResourceRefVO_for_DiskOfferingEO; +DROP TRIGGER IF EXISTS trigger_clean_AccountResourceRefVO_for_EipVO; +DROP TRIGGER IF EXISTS trigger_clean_AccountResourceRefVO_for_ImageEO; +DROP TRIGGER IF EXISTS trigger_clean_AccountResourceRefVO_for_InstanceOfferingEO; +DROP TRIGGER IF EXISTS trigger_clean_AccountResourceRefVO_for_IpRangeEO; +DROP TRIGGER IF EXISTS trigger_clean_AccountResourceRefVO_for_L3NetworkEO; +DROP TRIGGER IF EXISTS trigger_clean_AccountResourceRefVO_for_LoadBalancerListenerVO; +DROP TRIGGER IF EXISTS trigger_clean_AccountResourceRefVO_for_LoadBalancerVO; +DROP TRIGGER IF EXISTS trigger_clean_AccountResourceRefVO_for_PolicyVO; +DROP TRIGGER IF EXISTS trigger_clean_AccountResourceRefVO_for_PortForwardingRuleVO; +DROP TRIGGER IF EXISTS trigger_clean_AccountResourceRefVO_for_QuotaVO; +DROP TRIGGER IF EXISTS trigger_clean_AccountResourceRefVO_for_SchedulerVO; +DROP TRIGGER IF EXISTS trigger_clean_AccountResourceRefVO_for_SecurityGroupVO; +DROP TRIGGER IF EXISTS trigger_clean_AccountResourceRefVO_for_UserGroupVO; +DROP TRIGGER IF EXISTS trigger_clean_AccountResourceRefVO_for_UserVO; +DROP TRIGGER IF EXISTS trigger_clean_AccountResourceRefVO_for_VipVO; +DROP TRIGGER IF EXISTS trigger_clean_AccountResourceRefVO_for_VmInstanceEO; +DROP TRIGGER IF EXISTS trigger_clean_AccountResourceRefVO_for_VmNicVO; +DROP TRIGGER IF EXISTS trigger_clean_AccountResourceRefVO_for_VolumeEO; +DROP TRIGGER IF EXISTS trigger_clean_AccountResourceRefVO_for_VolumeSnapshotEO; + + + +INSERT IGNORE INTO ResourceVO (uuid, resourceType) SELECT t.uuid, "DataCenterVO" FROM DataCenterVO t; +INSERT IGNORE INTO ResourceVO (uuid, resourceType) SELECT t.uuid, "EcsImageVO" FROM EcsImageVO t; +INSERT IGNORE INTO ResourceVO (uuid, resourceType) SELECT t.uuid, "EcsSecurityGroupRuleVO" FROM EcsSecurityGroupRuleVO t; +INSERT IGNORE INTO ResourceVO (uuid, resourceType) SELECT t.uuid, "EcsInstanceConsoleProxyVO" FROM EcsInstanceConsoleProxyVO t; +INSERT IGNORE INTO ResourceVO (uuid, resourceType) SELECT t.uuid, "EcsSecurityGroupVO" FROM EcsSecurityGroupVO t; +INSERT IGNORE INTO ResourceVO (uuid, resourceName, resourceType) SELECT t.uuid, t.vRouterName, "VpcVirtualRouterVO" FROM VpcVirtualRouterVO t; +INSERT IGNORE INTO ResourceVO (uuid, resourceName, resourceType) SELECT t.uuid, t.vSwitchName, "EcsVSwitchVO" FROM EcsVSwitchVO t; +INSERT IGNORE INTO ResourceVO (uuid, resourceType) SELECT t.uuid, "EcsVpcVO" FROM EcsVpcVO t; +INSERT IGNORE INTO ResourceVO (uuid, resourceType) SELECT t.uuid, "EcsInstanceVO" FROM EcsInstanceVO t; +INSERT IGNORE INTO ResourceVO (uuid, resourceName, resourceType) SELECT t.uuid, t.name, "HybridAccountVO" FROM HybridAccountVO t; +INSERT IGNORE INTO ResourceVO (uuid, resourceType) SELECT t.uuid, "HybridEipAddressVO" FROM HybridEipAddressVO t; +INSERT IGNORE INTO ResourceVO (uuid, resourceName, resourceType) SELECT t.uuid, t.bucketName, "OssBucketVO" FROM OssBucketVO t; +INSERT IGNORE INTO ResourceVO (uuid, resourceType) SELECT t.uuid, "IdentityZoneVO" FROM IdentityZoneVO t; +INSERT IGNORE INTO ResourceVO (uuid, resourceType) SELECT t.uuid, "ConnectionAccessPointVO" FROM ConnectionAccessPointVO t; +INSERT IGNORE INTO ResourceVO (uuid, resourceName, resourceType) SELECT t.uuid, t.name, "VirtualBorderRouterVO" FROM VirtualBorderRouterVO t; +INSERT IGNORE INTO ResourceVO (uuid, resourceName, resourceType) SELECT t.uuid, t.name, "VirtualRouterInterfaceVO" FROM VirtualRouterInterfaceVO t; +INSERT IGNORE INTO ResourceVO (uuid, resourceType) SELECT t.uuid, "VpcVirtualRouteEntryVO" FROM VpcVirtualRouteEntryVO t; + + + + +INSERT IGNORE INTO ResourceVO (uuid, resourceName, resourceType) SELECT t.uuid, t.name, "EipVO" FROM EipVO t; +INSERT IGNORE INTO ResourceVO (uuid, resourceName, resourceType) SELECT t.uuid, t.name, "AccountVO" FROM AccountVO t; +INSERT IGNORE INTO ResourceVO (uuid, resourceName, resourceType) SELECT t.uuid, t.name, "BackupStorageEO" FROM BackupStorageEO t; +INSERT IGNORE INTO ResourceVO (uuid, resourceType) SELECT t.uuid, "CephBackupStorageMonVO" FROM CephBackupStorageMonVO t; +INSERT IGNORE INTO ResourceVO (uuid, resourceType) SELECT t.uuid, "CephPrimaryStorageMonVO" FROM CephPrimaryStorageMonVO t; +INSERT IGNORE INTO ResourceVO (uuid, resourceType) SELECT t.uuid, "CephPrimaryStoragePoolVO" FROM CephPrimaryStoragePoolVO t; +INSERT IGNORE INTO ResourceVO (uuid, resourceName, resourceType) SELECT t.uuid, t.name, "ClusterEO" FROM ClusterEO t; +INSERT IGNORE INTO ResourceVO (uuid, resourceType) SELECT t.uuid, "ConsoleProxyVO" FROM ConsoleProxyVO t; +INSERT IGNORE INTO ResourceVO (uuid, resourceName, resourceType) SELECT t.uuid, t.name, "DiskOfferingEO" FROM DiskOfferingEO t; +INSERT IGNORE INTO ResourceVO (uuid, resourceName, resourceType) SELECT t.uuid, t.name, "EipVO" FROM EipVO t; +INSERT IGNORE INTO ResourceVO (uuid, resourceName, resourceType) SELECT t.uuid, t.name, "GarbageCollectorVO" FROM GarbageCollectorVO t; +INSERT IGNORE INTO ResourceVO (uuid, resourceName, resourceType) SELECT t.uuid, t.name, "HostEO" FROM HostEO t; +INSERT IGNORE INTO ResourceVO (uuid, resourceName, resourceType) SELECT t.uuid, t.name, "ImageEO" FROM ImageEO t; +INSERT IGNORE INTO ResourceVO (uuid, resourceName, resourceType) SELECT t.uuid, t.name, "InstanceOfferingEO" FROM InstanceOfferingEO t; +INSERT IGNORE INTO ResourceVO (uuid, resourceName, resourceType) SELECT t.uuid, t.name, "IpRangeEO" FROM IpRangeEO t; +INSERT IGNORE INTO ResourceVO (uuid, resourceName, resourceType) SELECT t.uuid, t.name, "L2NetworkEO" FROM L2NetworkEO t; +INSERT IGNORE INTO ResourceVO (uuid, resourceName, resourceType) SELECT t.uuid, t.name, "L3NetworkEO" FROM L3NetworkEO t; +INSERT IGNORE INTO ResourceVO (uuid, resourceName, resourceType) SELECT t.uuid, t.name, "LdapServerVO" FROM LdapServerVO t; +INSERT IGNORE INTO ResourceVO (uuid, resourceName, resourceType) SELECT t.uuid, t.name, "LoadBalancerListenerVO" FROM LoadBalancerListenerVO t; +INSERT IGNORE INTO ResourceVO (uuid, resourceName, resourceType) SELECT t.uuid, t.name, "LoadBalancerVO" FROM LoadBalancerVO t; +INSERT IGNORE INTO ResourceVO (uuid, resourceName, resourceType) SELECT t.uuid, t.name, "PolicyVO" FROM PolicyVO t; +INSERT IGNORE INTO ResourceVO (uuid, resourceName, resourceType) SELECT t.uuid, t.name, "PortForwardingRuleVO" FROM PortForwardingRuleVO t; +INSERT IGNORE INTO ResourceVO (uuid, resourceName, resourceType) SELECT t.uuid, t.name, "PrimaryStorageEO" FROM PrimaryStorageEO t; +INSERT IGNORE INTO ResourceVO (uuid, resourceName, resourceType) SELECT t.uuid, t.name, "QuotaVO" FROM QuotaVO t; +INSERT IGNORE INTO ResourceVO (uuid, resourceName, resourceType) SELECT t.uuid, t.jobName, "SchedulerVO" FROM SchedulerVO t; +INSERT IGNORE INTO ResourceVO (uuid, resourceType) SELECT t.uuid, "SecurityGroupRuleVO" FROM SecurityGroupRuleVO t; +INSERT IGNORE INTO ResourceVO (uuid, resourceName, resourceType) SELECT t.uuid, t.name, "SecurityGroupVO" FROM SecurityGroupVO t; +INSERT IGNORE INTO ResourceVO (uuid, resourceName, resourceType) SELECT t.uuid, t.name, "UserGroupVO" FROM UserGroupVO t; +INSERT IGNORE INTO ResourceVO (uuid, resourceName, resourceType) SELECT t.uuid, t.name, "UserVO" FROM UserVO t; +INSERT IGNORE INTO ResourceVO (uuid, resourceName, resourceType) SELECT t.uuid, t.name, "VCenterDatacenterVO" FROM VCenterDatacenterVO t; +INSERT IGNORE INTO ResourceVO (uuid, resourceName, resourceType) SELECT t.uuid, t.name, "VCenterVO" FROM VCenterVO t; +INSERT IGNORE INTO ResourceVO (uuid, resourceName, resourceType) SELECT t.uuid, t.name, "VipVO" FROM VipVO t; +INSERT IGNORE INTO ResourceVO (uuid, resourceName, resourceType) SELECT t.uuid, t.name, "VmInstanceEO" FROM VmInstanceEO t; +INSERT IGNORE INTO ResourceVO (uuid, resourceType) SELECT t.uuid, "VmNicVO" FROM VmNicVO t; +INSERT IGNORE INTO ResourceVO (uuid, resourceName, resourceType) SELECT t.uuid, t.name, "VniRangeVO" FROM VniRangeVO t; +INSERT IGNORE INTO ResourceVO (uuid, resourceName, resourceType) SELECT t.uuid, t.name, "VolumeEO" FROM VolumeEO t; +INSERT IGNORE INTO ResourceVO (uuid, resourceName, resourceType) SELECT t.uuid, t.name, "VolumeSnapshotEO" FROM VolumeSnapshotEO t; +INSERT IGNORE INTO ResourceVO (uuid, resourceType) SELECT t.uuid, "VolumeSnapshotTreeEO" FROM VolumeSnapshotTreeEO t; +INSERT IGNORE INTO ResourceVO (uuid, resourceType) SELECT t.uuid, "VtepVO" FROM VtepVO t; +INSERT IGNORE INTO ResourceVO (uuid, resourceName, resourceType) SELECT t.uuid, t.name, "ZoneEO" FROM ZoneEO t; + +-- Foreign keys for table VirtualRouterLoadBalancerRefVO + +ALTER TABLE `zstack`.`VirtualRouterLoadBalancerRefVO` ADD CONSTRAINT fkVirtualRouterLoadBalancerRefVOVirtualRouterVmVO FOREIGN KEY (virtualRouterVmUuid) REFERENCES VirtualRouterVmVO (uuid) ON DELETE CASCADE; +ALTER TABLE `zstack`.`VirtualRouterLoadBalancerRefVO` ADD CONSTRAINT fkVirtualRouterLoadBalancerRefVOLoadBalancerVO FOREIGN KEY (loadBalancerUuid) REFERENCES LoadBalancerVO (uuid) ON DELETE CASCADE; +ALTER TABLE `zstack`.`VirtualRouterLoadBalancerRefVO` ADD UNIQUE INDEX(`virtualRouterVmUuid`,`loadBalancerUuid`); + + +UPDATE InstanceOfferingVO SET allocatorStrategy="LeastVmPreferredHostAllocatorStrategy" WHERE allocatorStrategy="Mevoco"; + +UPDATE VmInstanceVO SET allocatorStrategy="LeastVmPreferredHostAllocatorStrategy" WHERE allocatorStrategy="Mevoco"; + +CREATE TABLE `zstack`.`WebhookVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `name` varchar(255) NOT NULL, + `description` varchar(2048) DEFAULT NULL, + `url` varchar(2048) DEFAULT NULL, + `type` varchar(255) NOT NULL, + `opaque` text DEFAULT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- Foreign keys for table LoadBalancerListenerVO +ALTER TABLE LoadBalancerListenerVO DROP FOREIGN KEY fkLoadBalancerListenerVOLoadBalancerVO; +ALTER TABLE LoadBalancerListenerVO ADD CONSTRAINT fkLoadBalancerListenerVOLoadBalancerVO FOREIGN KEY (loadBalancerUuid) REFERENCES LoadBalancerVO (uuid) ON DELETE RESTRICT ; \ No newline at end of file diff --git a/conf/tools/flyway-6.3.1/sql/V1.1__schema.sql b/conf/tools/flyway-6.3.1/sql/V1.1__schema.sql new file mode 100755 index 00000000000..65570501d58 --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V1.1__schema.sql @@ -0,0 +1,25 @@ +ALTER TABLE `zstack`.`UserGroupPolicyRefVO` ADD CONSTRAINT uqUserGroupPolicyVO UNIQUE (policyUuid, groupUuid); +ALTER TABLE `zstack`.`L2NetworkClusterRefVO` ADD CONSTRAINT uqL2NetworkClusterRefVO UNIQUE (l2NetworkUuid, clusterUuid); +ALTER TABLE `zstack`.`UserPolicyRefVO` ADD CONSTRAINT uqUserPolicyRefVO UNIQUE (policyUuid, userUuid); +ALTER TABLE `zstack`.`PrimaryStorageClusterRefVO` ADD CONSTRAINT uqPrimaryStorageClusterRefVO UNIQUE (primaryStorageUuid, clusterUuid); +ALTER TABLE `zstack`.`SecurityGroupL3NetworkRefVO` ADD CONSTRAINT uqSecurityGroupL3NetworkRefVO UNIQUE (l3NetworkUuid, securityGroupUuid); +ALTER TABLE `zstack`.`NetworkServiceProviderL2NetworkRefVO` ADD CONSTRAINT uqNetworkServiceProviderL2NetworkRefVO UNIQUE (networkServiceProviderUuid, l2NetworkUuid); + +CREATE TABLE `zstack`.`ConsoleProxyAgentVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `description` varchar(1024) DEFAULT NULL, + `managementIp` varchar(255) NOT NULL, + `type` varchar(255) NOT NULL, + `status` varchar(64) NOT NULL, + `state` varchar(64) NOT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- Foreign keys for table ConsoleProxyAgentVO + +ALTER TABLE ConsoleProxyAgentVO ADD CONSTRAINT fkConsoleProxyAgentVOManagementNodeVO FOREIGN KEY (uuid) REFERENCES ManagementNodeVO (uuid) ON DELETE CASCADE; + +ALTER TABLE GarbageCollectorVO ADD type varchar(1024) NOT NULL; +UPDATE GarbageCollectorVO SET type = "org.zstack.core.gc.TimeBasedGCPersistentContext"; diff --git a/conf/tools/flyway-6.3.1/sql/V1.2__schema.sql b/conf/tools/flyway-6.3.1/sql/V1.2__schema.sql new file mode 100755 index 00000000000..943b6611971 --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V1.2__schema.sql @@ -0,0 +1,4 @@ +UPDATE GlobalConfigVO set defaultValue = 'none' where category ='kvm' and name = 'vm.cacheMode'; +UPDATE GlobalConfigVO set value = 'none' where category ='kvm' and name = 'vm.cacheMode' and value = '0'; +UPDATE GlobalConfigVO set value = 'writethrough' where category ='kvm' and name = 'vm.cacheMode' and value = '1'; +UPDATE GlobalConfigVO set value = 'writeback' where category ='kvm' and name = 'vm.cacheMode' and value = '2'; diff --git a/conf/tools/flyway-6.3.1/sql/V1.3.1__schema.sql b/conf/tools/flyway-6.3.1/sql/V1.3.1__schema.sql new file mode 100755 index 00000000000..b2ad9e569d5 --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V1.3.1__schema.sql @@ -0,0 +1,18 @@ +ALTER TABLE ImageCacheVO DROP FOREIGN KEY fkImageCacheVOImageEO; +ALTER TABLE VolumeEO DROP FOREIGN KEY fkVolumeEOImageEO; + +CREATE TABLE `zstack`.`ImageCacheShadowVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `primaryStorageUuid` varchar(32) NOT NULL, + `imageUuid` varchar(32) DEFAULT NULL, + `installUrl` varchar(1024) NOT NULL, + `mediaType` varchar(64) NOT NULL, + `size` bigint unsigned NOT NULL, + `md5sum` varchar(255) NOT NULL, + `state` varchar(255) NOT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +ALTER TABLE ImageCacheVO ADD CONSTRAINT fkImageCacheShadowVOPrimaryStorageEO FOREIGN KEY (primaryStorageUuid) REFERENCES PrimaryStorageEO (uuid) ON DELETE CASCADE; diff --git a/conf/tools/flyway-6.3.1/sql/V1.3__schema.sql b/conf/tools/flyway-6.3.1/sql/V1.3__schema.sql new file mode 100755 index 00000000000..36cdab57d0b --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V1.3__schema.sql @@ -0,0 +1,86 @@ +CREATE TABLE `zstack`.`FusionstorBackupStorageVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `fsid` varchar(64) DEFAULT NULL, + `poolName` varchar(255) NOT NULL, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`FusionstorBackupStorageMonVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `sshUsername` varchar(64) NOT NULL, + `sshPassword` varchar(255) NOT NULL, + `hostname` varchar(255) NOT NULL, + `status` varchar(255) NOT NULL, + `sshPort` int unsigned NOT NULL, + `monPort` int unsigned NOT NULL, + `backupStorageUuid` varchar(32) NOT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`FusionstorPrimaryStorageVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `fsid` varchar(64) DEFAULT NULL, + `rootVolumePoolName` varchar(255) NOT NULL, + `dataVolumePoolName` varchar(255) NOT NULL, + `imageCachePoolName` varchar(255) NOT NULL, + `userKey` varchar(255) DEFAULT NULL, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`FusionstorPrimaryStorageMonVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `sshUsername` varchar(64) NOT NULL, + `sshPassword` varchar(255) NOT NULL, + `hostname` varchar(255) NOT NULL, + `status` varchar(255) NOT NULL, + `sshPort` int unsigned NOT NULL, + `monPort` int unsigned NOT NULL, + `primaryStorageUuid` varchar(32) NOT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`FusionstorCapacityVO` ( + `fsid` varchar(64) NOT NULL UNIQUE, + `totalCapacity` bigint unsigned DEFAULT 0, + `availableCapacity` bigint unsigned DEFAULT 0, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`fsid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- Foreign keys for table FusionstorBackupStorageMonVO + +ALTER TABLE FusionstorBackupStorageMonVO ADD CONSTRAINT fkFusionstorBackupStorageMonVOBackupStorageEO FOREIGN KEY (backupStorageUuid) REFERENCES BackupStorageEO (uuid) ON DELETE CASCADE; + +-- Foreign keys for table FusionstorBackupStorageVO + +ALTER TABLE FusionstorBackupStorageVO ADD CONSTRAINT fkFusionstorBackupStorageVOBackupStorageEO FOREIGN KEY (uuid) REFERENCES BackupStorageEO (uuid) ON UPDATE RESTRICT ON DELETE CASCADE; + +-- Foreign keys for table FusionstorPrimaryStorageMonVO + +ALTER TABLE FusionstorPrimaryStorageMonVO ADD CONSTRAINT fkFusionstorPrimaryStorageMonVOPrimaryStorageEO FOREIGN KEY (primaryStorageUuid) REFERENCES PrimaryStorageEO (uuid) ON DELETE CASCADE; + +-- Foreign keys for table FusionstorPrimaryStorageVO + +ALTER TABLE FusionstorPrimaryStorageVO ADD CONSTRAINT fkFusionstorPrimaryStorageVOPrimaryStorageEO FOREIGN KEY (uuid) REFERENCES PrimaryStorageEO (uuid) ON UPDATE RESTRICT ON DELETE CASCADE; + +ALTER TABLE ImageEO ADD actualSize bigint unsigned DEFAULT NULL; +DROP VIEW IF EXISTS `zstack`.`ImageVO`; +CREATE VIEW `zstack`.`ImageVO` AS SELECT uuid, name, description, status, state, size, actualSize, md5Sum, platform, type, format, url, `system`, mediaType, createDate, lastOpDate, guestOsType FROM `zstack`.`ImageEO` WHERE deleted IS NULL; +UPDATE ImageEO set actualSize = size; + +ALTER TABLE VolumeEO ADD actualSize bigint unsigned DEFAULT NULL; +DROP VIEW IF EXISTS `zstack`.`VolumeVO`; +CREATE VIEW `zstack`.`VolumeVO` AS SELECT uuid, name, description, primaryStorageUuid, vmInstanceUuid, diskOfferingUuid, rootImageUuid, installPath, type, status, size, actualSize, deviceId, format, state, createDate, lastOpDate FROM `zstack`.`VolumeEO` WHERE deleted IS NULL; + +ALTER TABLE KVMHostVO ADD port int unsigned DEFAULT 22; +ALTER TABLE SftpBackupStorageVO ADD port int unsigned DEFAULT 22; + +ALTER TABLE HostCapacityVO ADD cpuNum int unsigned NOT NULL DEFAULT 0; + +-- Index for table HostCapacityVO +CREATE INDEX idxHostCapacityVOcpuNum ON HostCapacityVO (cpuNum); diff --git a/conf/tools/flyway-6.3.1/sql/V1.4__schema.sql b/conf/tools/flyway-6.3.1/sql/V1.4__schema.sql new file mode 100755 index 00000000000..631c96e416a --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V1.4__schema.sql @@ -0,0 +1 @@ +-- This is just placeholder to increment the DB version to 1.4 diff --git a/conf/tools/flyway-6.3.1/sql/V1.5__schema.sql b/conf/tools/flyway-6.3.1/sql/V1.5__schema.sql new file mode 100755 index 00000000000..cde219986b0 --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V1.5__schema.sql @@ -0,0 +1,11 @@ +CREATE TABLE `zstack`.`ImageStoreBackupStorageVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `hostname` varchar(255) NOT NULL UNIQUE, + `username` varchar(255) NOT NULL, + `password` varchar(255) NOT NULL, + `sshPort` int unsigned NOT NULL, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +ALTER TABLE AccountVO modify column name varchar(255) NOT NULL; +ALTER TABLE UserVO modify column name varchar(255) NOT NULL; \ No newline at end of file diff --git a/conf/tools/flyway-6.3.1/sql/V1.6__schema.sql b/conf/tools/flyway-6.3.1/sql/V1.6__schema.sql new file mode 100755 index 00000000000..76817a2cec8 --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V1.6__schema.sql @@ -0,0 +1,25 @@ +CREATE TABLE `zstack`.`SchedulerVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `targetResourceUuid` varchar(32) NOT NULL, + `schedulerName` varchar(255) NOT NULL, + `schedulerDescription` varchar(2048) DEFAULT NULL, + `schedulerType` varchar(255) NOT NULL, + `schedulerInterval` int unsigned DEFAULT NULL, + `repeatCount` int unsigned DEFAULT NULL, + `cronScheduler` varchar(255), + `jobName` varchar(255), + `jobGroup` varchar(255), + `triggerName` varchar(255), + `triggerGroup` varchar(255), + `jobClassName` varchar(255), + `jobData` text, + `status` varchar(255), + `managementNodeUuid` varchar(32) DEFAULT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP COMMENT 'last operation date', + `startDate` timestamp, + `stopDate` timestamp, + `createDate` timestamp, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +ALTER TABLE SftpBackupStorageVO change column port sshPort int unsigned DEFAULT 22; +ALTER TABLE SchedulerVO ADD CONSTRAINT fkSchedulerVOManagementNodeVO FOREIGN KEY (managementNodeUuid) REFERENCES ManagementNodeVO (uuid) ON DELETE SET NULL; diff --git a/conf/tools/flyway-6.3.1/sql/V1.7__schema.sql b/conf/tools/flyway-6.3.1/sql/V1.7__schema.sql new file mode 100644 index 00000000000..faa36146d83 --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V1.7__schema.sql @@ -0,0 +1,191 @@ +ALTER TABLE `zstack`.`AccountResourceRefVO` ADD UNIQUE INDEX(resourceUuid,resourceType); + +ALTER TABLE `zstack`.`ConsoleProxyAgentVO` modify column description varchar(2048) DEFAULT NULL; +ALTER TABLE `zstack`.`ImageEO` modify column description varchar(2048) DEFAULT NULL COMMENT 'image description'; + +ALTER TABLE `zstack`.`ImageEO` add column exportUrl varchar(2048) DEFAULT NULL COMMENT 'exported image URL'; +DROP VIEW IF EXISTS `zstack`.`ImageVO`; +CREATE VIEW `zstack`.`ImageVO` AS SELECT uuid, name, description, status, state, size, actualSize, md5Sum, platform, type, format, url, `system`, mediaType, createDate, lastOpDate, guestOsType, exportUrl FROM `zstack`.`ImageEO` WHERE deleted IS NULL; + +ALTER TABLE `zstack`.`InstanceOfferingEO` modify column description varchar(2048) DEFAULT NULL COMMENT 'instance offering description'; +ALTER TABLE `zstack`.`DiskOfferingEO` modify column description varchar(2048) DEFAULT NULL COMMENT 'disk offering description'; +ALTER TABLE `zstack`.`VolumeEO` modify column description varchar(2048) DEFAULT NULL; +ALTER TABLE `zstack`.`VipVO` modify column description varchar(2048) DEFAULT NULL; +ALTER TABLE `zstack`.`GlobalConfigVO` modify column description varchar(2048) DEFAULT NULL; +ALTER TABLE `zstack`.`NetworkServiceProviderVO` modify column description varchar(2048) DEFAULT NULL; +ALTER TABLE `zstack`.`SecurityGroupVO` modify column description varchar(2048) DEFAULT NULL; + +ALTER TABLE `zstack`.`PolicyVO` modify column description varchar(2048) DEFAULT NULL; +ALTER TABLE `zstack`.`person` modify column description varchar(2048) DEFAULT NULL; +ALTER TABLE `zstack`.`UserGroupVO` modify column description varchar(2048) DEFAULT NULL; +ALTER TABLE `zstack`.`SchedulerVO` add column schedulerJob varchar(2048) DEFAULT NULL; +ALTER TABLE `zstack`.`SchedulerVO` change column status state varchar(128) DEFAULT NULL; +ALTER TABLE `zstack`.`SchedulerVO` modify column jobData text DEFAULT NULL; + +ALTER TABLE `zstack`.`AccountResourceRefVO` modify column resourceUuid varchar(255) NOT NULL; + +CREATE TABLE `zstack`.`AlarmVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `name` varchar(255) NOT NULL, + `description` varchar(2048) DEFAULT NULL, + `conditionName` varchar(1024) NOT NULL, + `conditionOperator` varchar(128) NOT NULL, + `conditionValue` varchar(255) NOT NULL, + `conditionDuration` int unsigned NOT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`AlarmLabelVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `alarmUuid` varchar(32) NOT NULL, + `label` text NOT NULL, + `value` text DEFAULT NULL, + `type` varchar(64) NOT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`AlertVO` ( + `uuid` varchar(255) NOT NULL UNIQUE, + `name` text DEFAULT NULL, + `description` text DEFAULT NULL, + `status` varchar(128) NOT NULL, + `count` int unsigned NOT NULL, + `opaque` text DEFAULT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`AlertLabelVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `alertUuid` varchar(255) NOT NULL, + `label` text NOT NULL, + `value` text DEFAULT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`AlertTimestampVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `alertUuid` varchar(255) NOT NULL, + `time` timestamp, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- Foreign keys for table AlarmLabelVO + +ALTER TABLE AlarmLabelVO ADD CONSTRAINT fkAlarmLabelVOAlarmVO FOREIGN KEY (alarmUuid) REFERENCES AlarmVO (uuid) ON DELETE CASCADE; + +-- Foreign keys for table AlertLabelVO + +ALTER TABLE AlertLabelVO ADD CONSTRAINT fkAlertLabelVOAlertVO FOREIGN KEY (alertUuid) REFERENCES AlertVO (uuid) ON DELETE CASCADE; + +-- Foreign keys for table AlertTimestampVO + +ALTER TABLE AlertTimestampVO ADD CONSTRAINT fkAlertTimestampVOAlertVO FOREIGN KEY (alertUuid) REFERENCES AlertVO (uuid) ON DELETE CASCADE; + +CREATE TABLE `zstack`.`LdapServerVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `name` varchar(255) NOT NULL, + `description` varchar(2048) DEFAULT NULL, + `url` varchar(1024) NOT NULL, + `base` varchar(1024) NOT NULL, + `username` varchar(1024) NOT NULL, + `password` varchar(1024) NOT NULL, + `encryption` varchar(1024) NOT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`LdapAccountRefVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `ldapUid` varchar(255) NOT NULL, + `ldapServerUuid` varchar(255) NOT NULL, + `accountUuid` varchar(255) NOT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +ALTER TABLE `zstack`.`LdapAccountRefVO` ADD CONSTRAINT fkLdapAccountRefVOLdapServerVO FOREIGN KEY (ldapServerUuid) REFERENCES LdapServerVO (uuid) ON DELETE CASCADE; + +ALTER TABLE `zstack`.`LdapAccountRefVO` ADD CONSTRAINT fkLdapAccountRefVOAccountVO FOREIGN KEY (accountUuid) REFERENCES AccountVO (uuid) ON DELETE CASCADE; + +ALTER TABLE `zstack`.`LdapAccountRefVO` ADD UNIQUE INDEX(ldapUid,ldapServerUuid); + +CREATE TABLE `zstack`.`JsonLabelVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `labelKey` varchar(128) NOT NULL UNIQUE, + `labelValue` text DEFAULT NULL, + `resourceUuid` varchar(256) DEFAULT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +ALTER TABLE `zstack`.`CephPrimaryStorageMonVO` add column monAddr varchar(255) DEFAULT NULL; +ALTER TABLE `zstack`.`CephBackupStorageMonVO` add column monAddr varchar(255) DEFAULT NULL; + +CREATE TABLE `zstack`.`VmUsageVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `vmUuid` varchar(32) NOT NULL, + `state` varchar(64) NOT NULL, + `name` varchar(255) NOT NULL, + `accountUuid` varchar(32) NOT NULL, + `cpuNum` int unsigned NOT NULL, + `memorySize` bigint unsigned NOT NULL, + `rootVolumeSize` bigint unsigned NOT NULL, + `dateInLong` bigint unsigned NOT NULL, + `inventory` text DEFAULT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`RootVolumeUsageVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `vmUuid` varchar(32) NOT NULL, + `volumeUuid` varchar(32) NOT NULL, + `volumeStatus` varchar(64) NOT NULL, + `volumeName` varchar(255) NOT NULL, + `accountUuid` varchar(32) NOT NULL, + `volumeSize` bigint unsigned NOT NULL, + `dateInLong` bigint unsigned NOT NULL, + `inventory` text DEFAULT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`DataVolumeUsageVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `volumeUuid` varchar(32) NOT NULL, + `volumeStatus` varchar(64) NOT NULL, + `volumeName` varchar(255) NOT NULL, + `accountUuid` varchar(32) NOT NULL, + `volumeSize` bigint unsigned NOT NULL, + `dateInLong` bigint unsigned NOT NULL, + `inventory` text DEFAULT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`PriceVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `resourceName` varchar(255) NOT NULL, + `timeUnit` varchar(255) NOT NULL, + `resourceUnit` varchar(255) DEFAULT NULL, + `price` float NOT NULL, + `dateInLong` bigint unsigned NOT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + diff --git a/conf/tools/flyway-6.3.1/sql/V1.8__schema.sql b/conf/tools/flyway-6.3.1/sql/V1.8__schema.sql new file mode 100644 index 00000000000..e54f6414858 --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V1.8__schema.sql @@ -0,0 +1,112 @@ +ALTER TABLE `LocalStorageHostRefVO` DROP FOREIGN KEY `fkLocalStorageHostRefVOHostEO`; +ALTER TABLE `LocalStorageHostRefVO` DROP INDEX `hostUuid`; +ALTER TABLE `LocalStorageHostRefVO` DROP PRIMARY KEY; +ALTER TABLE `LocalStorageHostRefVO` ADD CONSTRAINT `fkLocalStorageHostRefVOHostEO` FOREIGN KEY (`hostUuid`) REFERENCES `HostEO` (`uuid`) ON DELETE CASCADE; +ALTER TABLE `LocalStorageHostRefVO` ADD CONSTRAINT `pkHostUuidPrimaryStorageUuid` PRIMARY KEY (`hostUuid`,`primaryStorageUuid`); + +CREATE TABLE `zstack`.`VCenterVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `zoneUuid` varchar(32) NOT NULL, + `name` varchar(255) NOT NULL, + `description` varchar(2048) DEFAULT NULL, + `domainName` varchar(255) NOT NULL, + `userName` varchar(255) NOT NULL, + `password` varchar(1024) NOT NULL, + `https` int unsigned DEFAULT NULL, + `state` varchar(32) NOT NULL, + `status` varchar(32) NOT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`VCenterClusterVO` ( + `uuid` varchar(32) NOT NULL UNIQUE COMMENT 'vcenter cluster uuid', + `vCenterUuid` varchar(32) NOT NULL COMMENT 'vcenter uuid', + `morval` varchar(64) NOT NULL COMMENT 'MOR value', + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`ESXHostVO` ( + `uuid` varchar(32) NOT NULL UNIQUE COMMENT 'host uuid', + `vCenterUuid` varchar(32) NOT NULL COMMENT 'vcenter uuid', + `morval` varchar(128) NOT NULL COMMENT 'MOR value', + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`VCenterBackupStorageVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `vCenterUuid` varchar(32) NOT NULL COMMENT 'vcenter uuid', + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`VCenterPrimaryStorageVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `vCenterUuid` varchar(32) NOT NULL COMMENT 'vcenter uuid', + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- Foreign keys for table ESXHostVO +ALTER TABLE ESXHostVO ADD CONSTRAINT fkESXHostVOHostEO FOREIGN KEY (uuid) REFERENCES HostEO (uuid) ON UPDATE RESTRICT ON DELETE CASCADE; +ALTER TABLE ESXHostVO ADD CONSTRAINT fkESXHostVOVCenterVO FOREIGN KEY (vCenterUuid) REFERENCES VCenterVO (uuid) ON DELETE CASCADE; + +-- Foreign keys for table VCenterBackupStorageVO +ALTER TABLE VCenterBackupStorageVO ADD CONSTRAINT fkVCenterBackupStorageVOBackupStorageEO FOREIGN KEY (uuid) REFERENCES BackupStorageEO (uuid) ON UPDATE RESTRICT ON DELETE CASCADE; +ALTER TABLE VCenterBackupStorageVO ADD CONSTRAINT fkVCenterBackupStorageVOVCenterVO FOREIGN KEY (vCenterUuid) REFERENCES VCenterVO (uuid) ON DELETE CASCADE; + +-- Foreign keys for table VCenterClusterVO +ALTER TABLE VCenterClusterVO ADD CONSTRAINT fkVCenterClusterVOClusterEO FOREIGN KEY (uuid) REFERENCES ClusterEO (uuid) ON UPDATE RESTRICT ON DELETE CASCADE; +ALTER TABLE VCenterClusterVO ADD CONSTRAINT fkVCenterClusterVOVCenterVO FOREIGN KEY (vCenterUuid) REFERENCES VCenterVO (uuid) ON DELETE CASCADE; + +-- Foreign keys for table VCenterPrimaryStorageVO +ALTER TABLE VCenterPrimaryStorageVO ADD CONSTRAINT fkVCenterPrimaryStorageVOPrimaryStorageEO FOREIGN KEY (uuid) REFERENCES PrimaryStorageEO (uuid) ON UPDATE RESTRICT ON DELETE CASCADE; +ALTER TABLE VCenterPrimaryStorageVO ADD CONSTRAINT fkVCenterPrimaryStorageVOVCenterVO FOREIGN KEY (vCenterUuid) REFERENCES VCenterVO (uuid) ON DELETE CASCADE; + +-- Foreign keys for table VCenterVO +ALTER TABLE VCenterVO ADD CONSTRAINT fkVCenterVOZoneEO FOREIGN KEY (zoneUuid) REFERENCES ZoneEO (uuid) ON DELETE CASCADE ; +ALTER TABLE SchedulerVO CHANGE startDate startTime timestamp; +ALTER TABLE SchedulerVO CHANGE stopDate stopTime timestamp NULL DEFAULT NULL; +UPDATE SchedulerVO SET stopTime = NULL; + +CREATE TABLE `zstack`.`IPsecConnectionVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `name` varchar(255) NOT NULL, + `description` varchar(2048) DEFAULT NULL, + `l3NetworkUuid` varchar(32) NOT NULL, + `peerAddress` varchar(255) NOT NULL, + `authMode` varchar(255) NOT NULL, + `authKey` text NOT NULL, + `vipUuid` varchar(32) NOT NULL, + `ikeAuthAlgorithm` varchar(32) NOT NULL, + `ikeEncryptionAlgorithm` varchar(32) NOT NULL, + `ikeDhGroup` int unsigned NOT NULL, + `policyAuthAlgorithm` varchar(32) NOT NULL, + `policyEncryptionAlgorithm` varchar(32) NOT NULL, + `pfs` varchar(32) DEFAULT NULL, + `policyMode` varchar(32) NOT NULL, + `transformProtocol` varchar(32) NOT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`IPsecPeerCidrVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `cidr` varchar(255) NOT NULL, + `description` varchar(2048) DEFAULT NULL, + `connectionUuid` varchar(32) NOT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- Foreign keys for table IPsecConnectionVO + +ALTER TABLE IPsecConnectionVO ADD CONSTRAINT fkIPsecConnectionVOL3NetworkVO FOREIGN KEY (l3NetworkUuid) REFERENCES L3NetworkEO (uuid) ON DELETE RESTRICT; +ALTER TABLE IPsecConnectionVO ADD CONSTRAINT fkIPsecConnectionVOVipVO FOREIGN KEY (vipUuid) REFERENCES VipVO (uuid) ON DELETE RESTRICT; + +-- Foreign keys for table IPsecPeerCidrVO + +ALTER TABLE IPsecPeerCidrVO ADD CONSTRAINT fkIPsecPeerCidrVOIPsecConnectionVO FOREIGN KEY (connectionUuid) REFERENCES IPsecConnectionVO (uuid) ON DELETE CASCADE; + +ALTER TABLE ApplianceVmVO ADD agentPort int unsigned DEFAULT 7759; diff --git a/conf/tools/flyway-6.3.1/sql/V1.9__schema.sql b/conf/tools/flyway-6.3.1/sql/V1.9__schema.sql new file mode 100644 index 00000000000..f924d833c42 --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V1.9__schema.sql @@ -0,0 +1,287 @@ +ALTER TABLE `zstack`.`PriceVO` modify price DOUBLE(9,5) DEFAULT NULL; + +ALTER TABLE `VipVO` DROP FOREIGN KEY `fkVipVOL3NetworkEO1`; +ALTER TABLE VipVO ADD CONSTRAINT fkVipVOL3NetworkEO1 FOREIGN KEY (peerL3NetworkUuid) REFERENCES L3NetworkEO (uuid) ON DELETE SET NULL; + +CREATE TABLE `zstack`.`VCenterDatacenterVO` ( + `uuid` varchar(32) NOT NULL UNIQUE COMMENT 'vcenter data-center uuid', + `vCenterUuid` varchar(32) NOT NULL COMMENT 'vcenter uuid', + `name` varchar(255) NOT NULL COMMENT 'data-center name', + `morval` varchar(64) NOT NULL COMMENT 'MOR value', + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- Foreign keys for table VCenterDatacenterVO +ALTER TABLE VCenterDatacenterVO ADD CONSTRAINT fkVCenterDatacenterVOVCenterVO FOREIGN KEY (vCenterUuid) REFERENCES VCenterVO (uuid) ON DELETE CASCADE; + +-- ---------------------------- +-- Table structure for `ProgressVO` +-- ---------------------------- +CREATE TABLE `zstack`.`ProgressVO` ( + `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, + `resourceUuid` varchar(255) NOT NULL, + `processType` varchar(1024) NOT NULL, + `progress` varchar(32) DEFAULT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`id`), + UNIQUE KEY `id` (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8; + +ALTER TABLE `zstack`.`IPsecConnectionVO` ADD COLUMN `state` varchar(255) NOT NULL DEFAULT "Enabled"; +ALTER TABLE `zstack`.`IPsecConnectionVO` ADD COLUMN `status` varchar(255) NOT NULL DEFAULT "Ready"; + +ALTER TABLE `zstack`.`VolumeEO` ADD COLUMN `isShareable` boolean NOT NULL DEFAULT FALSE; +DROP VIEW IF EXISTS `zstack`.`VolumeVO`; +CREATE VIEW `zstack`.`VolumeVO` AS SELECT uuid, name, description, primaryStorageUuid, vmInstanceUuid, diskOfferingUuid, rootImageUuid, installPath, type, status, size, actualSize, deviceId, format, state, createDate, lastOpDate, isShareable FROM `zstack`.`VolumeEO` WHERE deleted IS NULL; + +CREATE TABLE `zstack`.`ShareableVolumeVmInstanceRefVO`( + `uuid` varchar(32) NOT NULL UNIQUE, + `volumeUuid` varchar(32) NOT NULL, + `vmInstanceUuid` varchar(255) NOT NULL, + `deviceId` int unsigned NOT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`AsyncRestVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `requestData` text DEFAULT NULL, + `state` varchar(64) NOT NULL, + `result` text DEFAULT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + + +-- DiskOfferingEO +DROP TRIGGER IF EXISTS trigger_clean_AccountResourceRefVO_for_DiskOfferingEO; +DELIMITER $$ +CREATE TRIGGER trigger_clean_AccountResourceRefVO_for_DiskOfferingEO AFTER UPDATE ON `DiskOfferingEO` +FOR EACH ROW + BEGIN + IF OLD.`deleted` IS NULL AND NEW.`deleted` IS NOT NULL THEN + DELETE FROM `AccountResourceRefVO` WHERE `resourceUuid` = OLD.`uuid` AND `resourceType` = 'DiskOfferingVO'; + END IF; + END$$ +DELIMITER ; + +-- EipVO +DROP TRIGGER IF EXISTS trigger_clean_AccountResourceRefVO_for_EipVO; +DELIMITER $$ +CREATE TRIGGER trigger_clean_AccountResourceRefVO_for_EipVO AFTER DELETE ON `EipVO` +FOR EACH ROW + BEGIN + DELETE FROM `AccountResourceRefVO` WHERE `resourceUuid` = OLD.`uuid` AND `resourceType` = 'EipVO'; + END$$ +DELIMITER ; + +-- ImageEO +DROP TRIGGER IF EXISTS trigger_clean_AccountResourceRefVO_for_ImageEO; +DELIMITER $$ +CREATE TRIGGER trigger_clean_AccountResourceRefVO_for_ImageEO AFTER UPDATE ON `ImageEO` +FOR EACH ROW + BEGIN + IF OLD.`deleted` IS NULL AND NEW.`deleted` IS NOT NULL THEN + DELETE FROM `AccountResourceRefVO` WHERE `resourceUuid` = OLD.`uuid` AND `resourceType` = 'ImageVO'; + END IF; + END$$ +DELIMITER ; + +-- InstanceOfferingEO +DROP TRIGGER IF EXISTS trigger_clean_AccountResourceRefVO_for_InstanceOfferingEO; +DELIMITER $$ +CREATE TRIGGER trigger_clean_AccountResourceRefVO_for_InstanceOfferingEO AFTER UPDATE ON `InstanceOfferingEO` +FOR EACH ROW + BEGIN + IF OLD.`deleted` IS NULL AND NEW.`deleted` IS NOT NULL THEN + DELETE FROM `AccountResourceRefVO` WHERE `resourceUuid` = OLD.`uuid` AND `resourceType` = 'InstanceOfferingVO'; + END IF; + END$$ +DELIMITER ; + +-- IpRangeEO +DROP TRIGGER IF EXISTS trigger_clean_AccountResourceRefVO_for_IpRangeEO; +DELIMITER $$ +CREATE TRIGGER trigger_clean_AccountResourceRefVO_for_IpRangeEO AFTER UPDATE ON `IpRangeEO` +FOR EACH ROW + BEGIN + IF OLD.`deleted` IS NULL AND NEW.`deleted` IS NOT NULL THEN + DELETE FROM `AccountResourceRefVO` WHERE `resourceUuid` = OLD.`uuid` AND `resourceType` = 'IpRangeVO'; + END IF; + END$$ +DELIMITER ; + +-- L3NetworkEO +DROP TRIGGER IF EXISTS trigger_clean_AccountResourceRefVO_for_L3NetworkEO; +DELIMITER $$ +CREATE TRIGGER trigger_clean_AccountResourceRefVO_for_L3NetworkEO AFTER UPDATE ON `L3NetworkEO` +FOR EACH ROW + BEGIN + IF OLD.`deleted` IS NULL AND NEW.`deleted` IS NOT NULL THEN + DELETE FROM `AccountResourceRefVO` WHERE `resourceUuid` = OLD.`uuid` AND `resourceType` = 'L3NetworkVO'; + END IF; + END$$ +DELIMITER ; + +-- LoadBalancerListenerVO +DROP TRIGGER IF EXISTS trigger_clean_AccountResourceRefVO_for_LoadBalancerListenerVO; +DELIMITER $$ +CREATE TRIGGER trigger_clean_AccountResourceRefVO_for_LoadBalancerListenerVO AFTER DELETE ON `LoadBalancerListenerVO` +FOR EACH ROW + BEGIN + DELETE FROM `AccountResourceRefVO` WHERE `resourceUuid` = OLD.`uuid` AND `resourceType` = 'LoadBalancerListenerVO'; + END$$ +DELIMITER ; + +-- LoadBalancerVO +DROP TRIGGER IF EXISTS trigger_clean_AccountResourceRefVO_for_LoadBalancerVO; +DELIMITER $$ +CREATE TRIGGER trigger_clean_AccountResourceRefVO_for_LoadBalancerVO AFTER DELETE ON `LoadBalancerVO` +FOR EACH ROW + BEGIN + DELETE FROM `AccountResourceRefVO` WHERE `resourceUuid` = OLD.`uuid` AND `resourceType` = 'LoadBalancerVO'; + END$$ +DELIMITER ; + +-- PolicyVO +DROP TRIGGER IF EXISTS trigger_clean_AccountResourceRefVO_for_PolicyVO; +DELIMITER $$ +CREATE TRIGGER trigger_clean_AccountResourceRefVO_for_PolicyVO AFTER DELETE ON `PolicyVO` +FOR EACH ROW + BEGIN + DELETE FROM `AccountResourceRefVO` WHERE `resourceUuid` = OLD.`uuid` AND `resourceType` = 'PolicyVO'; + END$$ +DELIMITER ; + +-- PortForwardingRuleVO +DROP TRIGGER IF EXISTS trigger_clean_AccountResourceRefVO_for_PortForwardingRuleVO; +DELIMITER $$ +CREATE TRIGGER trigger_clean_AccountResourceRefVO_for_PortForwardingRuleVO AFTER DELETE ON `PortForwardingRuleVO` +FOR EACH ROW + BEGIN + DELETE FROM `AccountResourceRefVO` WHERE `resourceUuid` = OLD.`uuid` AND `resourceType` = 'PortForwardingRuleVO'; + END$$ +DELIMITER ; + +-- QuotaVO +DROP TRIGGER IF EXISTS trigger_clean_AccountResourceRefVO_for_QuotaVO; +DELIMITER $$ +CREATE TRIGGER trigger_clean_AccountResourceRefVO_for_QuotaVO AFTER DELETE ON `QuotaVO` +FOR EACH ROW + BEGIN + DELETE FROM `AccountResourceRefVO` WHERE `resourceUuid` = OLD.`id` AND `resourceType` = 'QuotaVO'; + END$$ +DELIMITER ; + +-- SchedulerVO +DROP TRIGGER IF EXISTS trigger_clean_AccountResourceRefVO_for_SchedulerVO; +DELIMITER $$ +CREATE TRIGGER trigger_clean_AccountResourceRefVO_for_SchedulerVO AFTER DELETE ON `SchedulerVO` +FOR EACH ROW + BEGIN + DELETE FROM `AccountResourceRefVO` WHERE `resourceUuid` = OLD.`uuid` AND `resourceType` = 'SchedulerVO'; + END$$ +DELIMITER ; + +-- SecurityGroupVO +DROP TRIGGER IF EXISTS trigger_clean_AccountResourceRefVO_for_SecurityGroupVO; +DELIMITER $$ +CREATE TRIGGER trigger_clean_AccountResourceRefVO_for_SecurityGroupVO AFTER DELETE ON `SecurityGroupVO` +FOR EACH ROW + BEGIN + DELETE FROM `AccountResourceRefVO` WHERE `resourceUuid` = OLD.`uuid` AND `resourceType` = 'SecurityGroupVO'; + END$$ +DELIMITER ; + +-- UserGroupVO +DROP TRIGGER IF EXISTS trigger_clean_AccountResourceRefVO_for_UserGroupVO; +DELIMITER $$ +CREATE TRIGGER trigger_clean_AccountResourceRefVO_for_UserGroupVO AFTER DELETE ON `UserGroupVO` +FOR EACH ROW + BEGIN + DELETE FROM `AccountResourceRefVO` WHERE `resourceUuid` = OLD.`uuid` AND `resourceType` = 'UserGroupVO'; + END$$ +DELIMITER ; + +-- UserVO +DROP TRIGGER IF EXISTS trigger_clean_AccountResourceRefVO_for_UserVO; +DELIMITER $$ +CREATE TRIGGER trigger_clean_AccountResourceRefVO_for_UserVO AFTER DELETE ON `UserVO` +FOR EACH ROW + BEGIN + DELETE FROM `AccountResourceRefVO` WHERE `resourceUuid` = OLD.`uuid` AND `resourceType` = 'UserVO'; + END$$ +DELIMITER ; + +-- VipVO +DROP TRIGGER IF EXISTS trigger_clean_AccountResourceRefVO_for_VipVO; +DELIMITER $$ +CREATE TRIGGER trigger_clean_AccountResourceRefVO_for_VipVO AFTER DELETE ON `VipVO` +FOR EACH ROW + BEGIN + DELETE FROM `AccountResourceRefVO` WHERE `resourceUuid` = OLD.`uuid` AND `resourceType` = 'VipVO'; + END$$ +DELIMITER ; + +-- VmInstanceEO +DROP TRIGGER IF EXISTS trigger_clean_AccountResourceRefVO_for_VmInstanceEO; +DELIMITER $$ +CREATE TRIGGER trigger_clean_AccountResourceRefVO_for_VmInstanceEO AFTER UPDATE ON `VmInstanceEO` +FOR EACH ROW + BEGIN + IF OLD.`deleted` IS NULL AND NEW.`deleted` IS NOT NULL THEN + DELETE FROM `AccountResourceRefVO` WHERE `resourceUuid` = OLD.`uuid` AND `resourceType` = 'VmInstanceVO'; + END IF; + END$$ +DELIMITER ; + +-- VmNicVO +DROP TRIGGER IF EXISTS trigger_clean_AccountResourceRefVO_for_VmNicVO; +DELIMITER $$ +CREATE TRIGGER trigger_clean_AccountResourceRefVO_for_VmNicVO AFTER DELETE ON `VmNicVO` +FOR EACH ROW + BEGIN + DELETE FROM `AccountResourceRefVO` WHERE `resourceUuid` = OLD.`uuid` AND `resourceType` = 'VmNicVO'; + END$$ +DELIMITER ; + +-- VolumeEO +DROP TRIGGER IF EXISTS trigger_clean_AccountResourceRefVO_for_VolumeEO; +DELIMITER $$ +CREATE TRIGGER trigger_clean_AccountResourceRefVO_for_VolumeEO AFTER UPDATE ON `VolumeEO` +FOR EACH ROW + BEGIN + IF OLD.`deleted` IS NULL AND NEW.`deleted` IS NOT NULL THEN + DELETE FROM `AccountResourceRefVO` WHERE `resourceUuid` = OLD.`uuid` AND `resourceType` = 'VolumeVO'; + END IF; + END$$ +DELIMITER ; + +-- VolumeSnapshotEO +DROP TRIGGER IF EXISTS trigger_clean_AccountResourceRefVO_for_VolumeSnapshotEO; +DELIMITER $$ +CREATE TRIGGER trigger_clean_AccountResourceRefVO_for_VolumeSnapshotEO AFTER UPDATE ON `VolumeSnapshotEO` +FOR EACH ROW + BEGIN + IF OLD.`deleted` IS NULL AND NEW.`deleted` IS NOT NULL THEN + DELETE FROM `AccountResourceRefVO` WHERE `resourceUuid` = OLD.`uuid` AND `resourceType` = 'VolumeSnapshotVO'; + END IF; + END$$ +DELIMITER ; + + +ALTER TABLE `zstack`.`SharedResourceVO` ADD UNIQUE INDEX(`ownerAccountUuid`,`receiverAccountUuid`,`resourceUuid`); +ALTER TABLE `zstack`.`ShareableVolumeVmInstanceRefVO` ADD UNIQUE INDEX(`volumeUuid`,`vmInstanceUuid`); + +-- Foreign keys for table ShareableVolumeVmInstanceRefVO + +ALTER TABLE ShareableVolumeVmInstanceRefVO ADD CONSTRAINT fkShareableVolumeVmInstanceRefVOVmInstanceEO FOREIGN KEY (vmInstanceUuid) REFERENCES VmInstanceEO (uuid) ON DELETE CASCADE; +ALTER TABLE ShareableVolumeVmInstanceRefVO ADD CONSTRAINT fkShareableVolumeVmInstanceRefVOVolumeEO FOREIGN KEY (volumeUuid) REFERENCES VolumeEO (uuid) ON DELETE CASCADE; + + +ALTER TABLE `LocalStorageResourceRefVO` DROP INDEX `resourceUuid`; +ALTER TABLE `LocalStorageResourceRefVO` DROP PRIMARY KEY; +ALTER TABLE `LocalStorageResourceRefVO` ADD CONSTRAINT `pkLocalStorageResourceRefVO` PRIMARY KEY (`resourceUuid`,`hostUuid`,`primaryStorageUuid`); diff --git a/conf/tools/flyway-6.3.1/sql/V2.0.0__schema.sql b/conf/tools/flyway-6.3.1/sql/V2.0.0__schema.sql new file mode 100644 index 00000000000..c04da5fa867 --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V2.0.0__schema.sql @@ -0,0 +1,84 @@ +ALTER TABLE VmInstanceEO ADD CONSTRAINT fkVmInstanceEOVolumeEO FOREIGN KEY (rootVolumeUuid) REFERENCES VolumeEO (uuid) ON DELETE SET NULL; + +-- ---------------------------- +-- Table structure for `BaremetalPxeServerVO` +-- ---------------------------- +CREATE TABLE `BaremetalPxeServerVO` ( + `uuid` varchar(32) NOT NULL UNIQUE COMMENT 'uuid', + `dhcpInterface` varchar(128) NOT NULL UNIQUE COMMENT 'pxe dhcp interface', + `dhcpRangeBegin` varchar(32) DEFAULT NULL COMMENT 'dhcp range begin', + `dhcpRangeEnd` varchar(32) DEFAULT NULL COMMENT 'dhcp range end', + `dhcpRangeNetmask` varchar(32) DEFAULT NULL COMMENT 'dhcp range netmask', + `status` varchar(32) DEFAULT NULL COMMENT 'pxe server status', + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- ---------------------------- +-- Table structure for `BaremetalChassisVO` +-- ---------------------------- +CREATE TABLE `BaremetalChassisVO` ( + `uuid` varchar(32) NOT NULL UNIQUE COMMENT 'uuid', + `ipmiAddress` varchar(32) NOT NULL UNIQUE COMMENT 'baremetal chassis ipmi address', + `ipmiUsername` varchar(255) NOT NULL COMMENT 'baremetal chassis ipmi username', + `ipmiPassword` varchar(255) NOT NULL COMMENT 'baremetal chassis ipmi password', + `provisioned` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'is baremetal host provisioned already', + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- ---------------------------- +-- Table structure for `BaremetalHostCfgVO` +-- ---------------------------- +CREATE TABLE `BaremetalHostCfgVO` ( + `uuid` varchar(32) NOT NULL UNIQUE COMMENT 'uuid', + `chassisUuid` varchar(32) NOT NULL UNIQUE COMMENT 'baremetal chassis uuid', + `password` varchar(255) DEFAULT NULL COMMENT 'host root password', + `vnc` tinyint(1) unsigned NOT NULL DEFAULT 1 COMMENT 'start vnc or not', + `unattended` tinyint(1) unsigned NOT NULL DEFAULT 1 COMMENT 'unattended installation process or not', + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`uuid`), + CONSTRAINT `fkBaremetalHostCfgVOBaremetalChassisVO` FOREIGN KEY (`chassisUuid`) REFERENCES `BaremetalChassisVO` (`uuid`) ON DELETE RESTRICT +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- ---------------------------- +-- Table structure for `BaremetalHostNicCfgVO` +-- ---------------------------- +CREATE TABLE `BaremetalHostNicCfgVO` ( + `uuid` varchar(32) NOT NULL UNIQUE COMMENT 'uuid', + `hostCfgUuid` varchar(32) NOT NULL COMMENT 'baremetal hostcfg uuid', + `mac` varchar(32) NOT NULL UNIQUE COMMENT 'host nic mac', + `ip` varchar(32) NOT NULL UNIQUE COMMENT 'host nic ip', + `netmask` varchar(32) NOT NULL COMMENT 'host nic netmask', + `gateway` varchar(32) DEFAULT NULL COMMENT 'host nic gateway', + `dns` varchar(32) DEFAULT NULL COMMENT 'host nic dns', + `pxe` tinyint(1) unsigned NOT NULL DEFAULT 0 COMMENT 'as pxe client or not', + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`uuid`), + CONSTRAINT `fkBaremetalHostNicCfgVOBaremetalHostCfgVO` FOREIGN KEY (`hostCfgUuid`) REFERENCES `BaremetalHostCfgVO` (`uuid`) ON DELETE RESTRICT +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +INSERT INTO ResourceVO (uuid, resourceType) SELECT t.uuid, "BaremetalPxeServerVO" FROM BaremetalPxeServerVO t; +INSERT INTO ResourceVO (uuid, resourceType) SELECT t.uuid, "BaremetalChassisVO" FROM BaremetalChassisVO t; +INSERT INTO ResourceVO (uuid, resourceType) SELECT t.uuid, "BaremetalHostCfgVO" FROM BaremetalHostCfgVO t; +INSERT INTO ResourceVO (uuid, resourceType) SELECT t.uuid, "BaremetalHostNicCfgVO" FROM BaremetalHostNicCfgVO t; + +UPDATE ResourceVO SET resourceType = "BackupStorageVO" WHERE resourceType = "BackupStorageEO"; +UPDATE ResourceVO SET resourceType = "ClusterVO" WHERE resourceType = "ClusterEO"; +UPDATE ResourceVO SET resourceType = "HostVO" WHERE resourceType = "HostEO"; +UPDATE ResourceVO SET resourceType = "ImageVO" WHERE resourceType = "ImageEO"; +UPDATE ResourceVO SET resourceType = "InstanceOfferingVO" WHERE resourceType = "InstanceOfferingEO"; +UPDATE ResourceVO SET resourceType = "DiskOfferingVO" WHERE resourceType = "DiskOfferingEO"; +UPDATE ResourceVO SET resourceType = "IpRangeVO" WHERE resourceType = "IpRangeEO"; +UPDATE ResourceVO SET resourceType = "L2NetworkVO" WHERE resourceType = "L2NetworkEO"; +UPDATE ResourceVO SET resourceType = "L3NetworkVO" WHERE resourceType = "L3NetworkEO"; +UPDATE ResourceVO SET resourceType = "PrimaryStorageVO" WHERE resourceType = "PrimaryStorageEO"; +UPDATE ResourceVO SET resourceType = "VmInstanceVO" WHERE resourceType = "VmInstanceEO"; +UPDATE ResourceVO SET resourceType = "VolumeVO" WHERE resourceType = "VolumeEO"; +UPDATE ResourceVO SET resourceType = "VolumeSnapshotVO" WHERE resourceType = "VolumeSnapshotEO"; +UPDATE ResourceVO SET resourceType = "VolumeSnapshotTreeVO" WHERE resourceType = "VolumeSnapshotTreeEO"; +UPDATE ResourceVO SET resourceType = "ZoneVO" WHERE resourceType = "ZoneEO"; diff --git a/conf/tools/flyway-6.3.1/sql/put-your-sql-migrations-here.txt b/conf/tools/flyway-6.3.1/sql/V2.0.1__schema.sql similarity index 100% rename from conf/tools/flyway-6.3.1/sql/put-your-sql-migrations-here.txt rename to conf/tools/flyway-6.3.1/sql/V2.0.1__schema.sql diff --git a/conf/tools/flyway-6.3.1/sql/V2.0.2__schema.sql b/conf/tools/flyway-6.3.1/sql/V2.0.2__schema.sql new file mode 100644 index 00000000000..e69de29bb2d diff --git a/conf/tools/flyway-6.3.1/sql/V2.0.3__schema.sql b/conf/tools/flyway-6.3.1/sql/V2.0.3__schema.sql new file mode 100644 index 00000000000..e69de29bb2d diff --git a/conf/tools/flyway-6.3.1/sql/V2.0.4__schema.sql b/conf/tools/flyway-6.3.1/sql/V2.0.4__schema.sql new file mode 100644 index 00000000000..e69de29bb2d diff --git a/conf/tools/flyway-6.3.1/sql/V2.1.0__schema.sql b/conf/tools/flyway-6.3.1/sql/V2.1.0__schema.sql new file mode 100755 index 00000000000..3afd25b9b7f --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V2.1.0__schema.sql @@ -0,0 +1,679 @@ +ALTER TABLE `EcsSecurityGroupRuleVO` DROP COLUMN `sourceGroupId`; + +CREATE TABLE `zstack`.`PrimaryStorageHostRefVO` ( + `primaryStorageUuid` varchar(32) NOT NULL, + `hostUuid` varchar(32) NOT NULL, + `status` varchar(32) NOT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + CONSTRAINT `fkPrimaryStorageHostRefVOPrimaryStorageEO` FOREIGN KEY (`primaryStorageUuid`) REFERENCES `zstack`.`PrimaryStorageEO` (`uuid`) ON DELETE CASCADE, + CONSTRAINT `fkPrimaryStorageHostRefVOHostEO` FOREIGN KEY (`hostUuid`) REFERENCES `zstack`.`HostEO` (`uuid`) ON DELETE CASCADE, + PRIMARY KEY (`primaryStorageUuid`, `hostUuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +SET FOREIGN_KEY_CHECKS = 0; +CREATE TABLE `VpcUserVpnGatewayVO` ( + `uuid` varchar(32) UNIQUE NOT NULL, + `accountName` varchar(128) NOT NULL, + `gatewayId` varchar(32) NOT NULL, + `dataCenterUuid` varchar(32) NOT NULL, + `type` varchar(32) NOT NULL, + `name` varchar(128) NOT NULL, + `ip` varchar(32) NOT NULL, + `description` varchar(1024) DEFAULT NULL, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`uuid`), + UNIQUE KEY `ukVpcUserVpnGatewayVO` (`dataCenterUuid`,`accountName`,`gatewayId`) USING BTREE, + CONSTRAINT fkVpcUserVpnGatewayVODataCenterVO FOREIGN KEY (dataCenterUuid) REFERENCES DataCenterVO (uuid) ON DELETE RESTRICT, + CONSTRAINT fkVpcUserVpnGatewayVOAccountVO FOREIGN KEY (accountName) REFERENCES AccountVO (name) ON DELETE RESTRICT +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `VpcVpnConnectionVO` ( + `uuid` varchar(32) UNIQUE NOT NULL, + `accountName` varchar(128) NOT NULL, + `connectionId` varchar(32) NOT NULL, + `userGatewayUuid` varchar(32) NOT NULL, + `vpnGatewayUuid` varchar(32) NOT NULL, + `type` varchar(32) NOT NULL, + `name` varchar(128) NOT NULL, + `localSubnet` varchar(64) NOT NULL, + `remoteSubnet` varchar(64) NOT NULL, + `ikeConfigUuid` varchar(32) NOT NULL, + `ipsecConfigUuid` varchar(32) NOT NULL, + `description` varchar(1024) DEFAULT NULL, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`uuid`), + UNIQUE KEY `ukVpcVpnConnectionVO` (`connectionId`,`accountName`,`userGatewayUuid`) USING BTREE, + CONSTRAINT fkVpcVpnConnectionVOVpcUserVpnGatewayVO FOREIGN KEY (userGatewayUuid) REFERENCES VpcUserVpnGatewayVO (uuid) ON DELETE RESTRICT, + CONSTRAINT fkVpcVpnConnectionVOVpcVpnGatewayVO FOREIGN KEY (vpnGatewayUuid) REFERENCES VpcVpnGatewayVO (uuid) ON DELETE RESTRICT, + CONSTRAINT fkVpcVpnConnectionVOVpcVpnIkeConfigVO FOREIGN KEY (ikeConfigUuid) REFERENCES VpcVpnIkeConfigVO (uuid) ON DELETE RESTRICT, + CONSTRAINT fkVpcVpnConnectionVOVpcVpnIpSecConfigVO FOREIGN KEY (ipsecConfigUuid) REFERENCES VpcVpnIpSecConfigVO (uuid) ON DELETE RESTRICT, + CONSTRAINT fkVpcVpnConnectionVOAccountVO FOREIGN KEY (accountName) REFERENCES AccountVO (name) ON DELETE RESTRICT +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `VpcVpnGatewayVO` ( + `uuid` varchar(32) UNIQUE NOT NULL, + `accountName` varchar(128) NOT NULL, + `gatewayId` varchar(32) NOT NULL, + `vSwitchUuid` varchar(32) NOT NULL, + `type` varchar(32) NOT NULL, + `name` varchar(128) NOT NULL, + `publicIp` varchar(32) NOT NULL, + `spec` varchar(32) NOT NULL, + `status` varchar(32) NOT NULL, + `businessStatus` varchar(32) NOT NULL, + `description` varchar(1024) DEFAULT NULL, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + `endDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`uuid`), + UNIQUE KEY `ukVpcVpnGatewayVO` (`vSwitchUuid`,`accountName`,`gatewayId`) USING BTREE, + CONSTRAINT fkVpcVpnGatewayVOEcsVSwitchVO FOREIGN KEY (vSwitchUuid) REFERENCES EcsVSwitchVO (uuid) ON DELETE RESTRICT, + CONSTRAINT fkVpcVpnGatewayVOAccountVO FOREIGN KEY (accountName) REFERENCES AccountVO (name) ON DELETE RESTRICT +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `VpcVpnIkeConfigVO` ( + `uuid` varchar(32) UNIQUE NOT NULL, + `accountName` varchar(128) NOT NULL, + `name` varchar(128) NOT NULL, + `psk` varchar(100) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL, + `version` varchar(32) NOT NULL, + `mode` varchar(32) NOT NULL, + `encodeAlgorithm` varchar(32) NOT NULL, + `authAlgorithm` varchar(32) NOT NULL, + `pfs` varchar(32) NOT NULL, + `lifetime` bigint unsigned NOT NULL, + `localIp` varchar(32) NOT NULL, + `remoteIp` varchar(32) NOT NULL, + `description` varchar(1024) DEFAULT NULL, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`uuid`), + CONSTRAINT fkVpcVpnIkeConfigVOAccountVO FOREIGN KEY (accountName) REFERENCES AccountVO (name) ON DELETE RESTRICT +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `VpcVpnIpSecConfigVO` ( + `uuid` varchar(32) UNIQUE NOT NULL, + `accountName` varchar(128) NOT NULL, + `name` varchar(128) NOT NULL, + `encodeAlgorithm` varchar(32) NOT NULL, + `authAlgorithm` varchar(32) NOT NULL, + `pfs` varchar(32) NOT NULL, + `lifetime` bigint unsigned NOT NULL, + `description` varchar(1024) DEFAULT NULL, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`uuid`), + CONSTRAINT fkVpcVpnIpSecConfigVOAccountVO FOREIGN KEY (accountName) REFERENCES AccountVO (name) ON DELETE RESTRICT +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +SET FOREIGN_KEY_CHECKS = 1; + +INSERT INTO ResourceVO (uuid, resourceType) SELECT t.uuid, "VpcUserVpnGatewayVO" FROM VpcUserVpnGatewayVO t; +INSERT INTO ResourceVO (uuid, resourceType) SELECT t.uuid, "VpcVpnConnectionVO" FROM VpcVpnConnectionVO t; +INSERT INTO ResourceVO (uuid, resourceType) SELECT t.uuid, "VpcVpnGatewayVO" FROM VpcVpnGatewayVO t; +INSERT INTO ResourceVO (uuid, resourceType) SELECT t.uuid, "VpcVpnIkeConfigVO" FROM VpcVpnIkeConfigVO t; +INSERT INTO ResourceVO (uuid, resourceType) SELECT t.uuid, "VpcVpnIpSecConfigVO" FROM VpcVpnIpSecConfigVO t; + + + +-- ---------------------------- +-- Table structure for `SnapshotUsageVO` +-- ---------------------------- +CREATE TABLE `SnapShotUsageVO` ( + `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, + `volumeUuid` varchar(32) NOT NULL, + `SnapshotUuid` varchar(32) NOT NULL, + `SnapshotStatus` varchar(64) NOT NULL, + `SnapshotName` varchar(255) NOT NULL, + `accountUuid` varchar(32) NOT NULL, + `SnapshotSize` bigint unsigned NOT NULL, + `dateInLong` bigint unsigned NOT NULL, + `inventory` text, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`id`), + UNIQUE KEY `id` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +DROP TABLE IF EXISTS EcsInstanceConsoleProxyVO; +-- ---------------------------- +-- Table structure for `SchedulerJobVO` +-- ---------------------------- +CREATE TABLE `zstack`.`SchedulerJobVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `targetResourceUuid` varchar(32) NOT NULL, + `name` varchar(255) NOT NULL, + `description` varchar(2048) DEFAULT NULL, + `jobClassName` varchar(255), + `jobData` text, + `state` varchar(255), + `managementNodeUuid` varchar(32) DEFAULT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`uuid`), + CONSTRAINT `fkSchedulerJobVOManagementNodeVO` FOREIGN KEY (`managementNodeUuid`) REFERENCES `ManagementNodeVO` (`uuid`) ON DELETE SET NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- ---------------------------- +-- Table structure for `SchedulerTriggerVO` +-- ---------------------------- +CREATE TABLE `zstack`.`SchedulerTriggerVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `name` varchar(255) NOT NULL, + `description` varchar(2048) DEFAULT NULL, + `schedulerType` varchar(255) NOT NULL, + `schedulerInterval` int unsigned DEFAULT NULL, + `repeatCount` int unsigned DEFAULT NULL, + `managementNodeUuid` varchar(32) DEFAULT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `startTime` timestamp NULL DEFAULT 0, + `stopTime` timestamp NULL DEFAULT 0, + `createDate` timestamp, + PRIMARY KEY (`uuid`), + CONSTRAINT `fkSchedulerTriggerVOManagementNodeVO` FOREIGN KEY (`managementNodeUuid`) REFERENCES `ManagementNodeVO` (`uuid`) ON DELETE SET NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- ---------------------------- +-- Table structure for `SchedulerJobSchedulerTriggerRefVO` +-- ---------------------------- +CREATE TABLE `zstack`.`SchedulerJobSchedulerTriggerRefVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `schedulerJobUuid` varchar(32) NOT NULL, + `schedulerTriggerUuid` varchar(32) NOT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`uuid`), + CONSTRAINT `fkSchedulerJobSchedulerTriggerRefVOSchedulerJobVO` FOREIGN KEY (`schedulerJobUuid`) REFERENCES `SchedulerJobVO` (`uuid`), + CONSTRAINT `fkSchedulerJobSchedulerTriggerRefVOSchedulerTriggerVO` FOREIGN KEY (`schedulerTriggerUuid`) REFERENCES `SchedulerTriggerVO` (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + + +CREATE TABLE `VRouterRouteTableVO` ( + `uuid` varchar(32) NOT NULL UNIQUE COMMENT 'uuid', + `type` varchar(32) NOT NULL, + `name` varchar(255) NOT NULL, + `description` varchar(2048) DEFAULT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `VRouterRouteEntryVO` ( + `uuid` varchar(32) NOT NULL UNIQUE COMMENT 'uuid', + `description` varchar(2048) DEFAULT NULL, + `routeTableUuid` varchar(32) NOT NULL, + `destination` varchar(64) NOT NULL, + `target` varchar(64) DEFAULT NULL, + `type` varchar(32) NOT NULL, + `distance` int unsigned NOT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`), + CONSTRAINT fkRouteEntryVOVRouterRouteTableVO FOREIGN KEY (`routeTableUuid`) REFERENCES `zstack`.`VRouterRouteTableVO` (`uuid`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `VirtualRouterVRouterRouteTableRefVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `virtualRouterVmUuid` varchar(32) NOT NULL UNIQUE COMMENT 'uuid', + `routeTableUuid` varchar(32) NOT NULL, + CONSTRAINT `VirutalRouterVRouterRouteTableRefVOVRouterRouteTableVO` FOREIGN KEY (`routeTableUuid`) REFERENCES `zstack`.`VRouterRouteTableVO` (`uuid`) ON DELETE CASCADE, + CONSTRAINT `VirutalRouterVRouterRouteTableRefVOVirtualRouterVmVO` FOREIGN KEY (`virtualRouterVmUuid`) REFERENCES `zstack`.`VirtualRouterVmVO` (`uuid`) ON DELETE CASCADE, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +ALTER TABLE `ConsoleProxyAgentVO` ADD `consoleProxyOverriddenIp` varchar(255) NOT NULL; + +CREATE TABLE `OssUploadPartsVO` ( + `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, + `uploadId` varchar(32) NOT NULL, + `ossBucketUuid` varchar(32) NOT NULL, + `fileKey` varchar(128) NOT NULL, + `partNumber` int(16) NOT NULL, + `total` int(16) NOT NULL, + `eTag` varchar(32) NOT NULL, + `partSize` bigint(32) NOT NULL, + `partCRC` bigint(32) NOT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + CONSTRAINT fkOssUploadPartsVOOssBucketVO FOREIGN KEY (ossBucketUuid) REFERENCES OssBucketVO (uuid) ON DELETE CASCADE, + PRIMARY KEY (`id`), + KEY `uploadId` (`uploadId`), + UNIQUE KEY `id` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- ---------------------------- +-- Add name and description for Baremetal Resources +-- ---------------------------- +ALTER TABLE `BaremetalPxeServerVO` ADD COLUMN `name` varchar(255) DEFAULT NULL COMMENT 'baremetal pxeserver name'; +ALTER TABLE `BaremetalPxeServerVO` ADD COLUMN `description` varchar(2048) DEFAULT NULL COMMENT 'baremetal pxeserver description'; +ALTER TABLE `BaremetalChassisVO` ADD COLUMN `name` varchar(255) DEFAULT NULL COMMENT 'baremetal chassis name'; +ALTER TABLE `BaremetalChassisVO` ADD COLUMN `description` varchar(2048) DEFAULT NULL COMMENT 'baremetal chassis description'; +ALTER TABLE `BaremetalChassisVO` ADD COLUMN `ipmiPort` varchar(32) DEFAULT NULL COMMENT 'baremetal chassis ipmi port'; +ALTER TABLE `BaremetalChassisVO` DROP INDEX `ipmiAddress`; +ALTER TABLE `BaremetalChassisVO` ADD CONSTRAINT ukBaremetalChassisVO UNIQUE (`ipmiAddress`, `ipmiPort`); +ALTER TABLE `BaremetalChassisVO` ADD COLUMN `status` varchar(32) DEFAULT NULL COMMENT 'baremetal chassis status'; +UPDATE `BaremetalChassisVO` SET `status` = "Unprovisioned" WHERE `provisioned` = 0; +UPDATE `BaremetalChassisVO` SET `status` = "Provisioned" WHERE `provisioned` = 1; +ALTER TABLE `BaremetalChassisVO` DROP COLUMN `provisioned`; + +CREATE TABLE `ConnectionRelationShipVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `name` varchar(128) NOT NULL, + `description` varchar(1024) DEFAULT NULL, + `relationShips` text NOT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `HybridConnectionRefVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `resourceUuid` varchar(32) NOT NULL, + `resourceType` varchar(32) NOT NULL, + `accountUuid` varchar(32) NOT NULL, + `direction` varchar(16) NOT NULL, + `connectionType` varchar(32) NOT NULL, + `connectionUuid` varchar(32) NOT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + CONSTRAINT fkHybridConnectionRefVOConnectionRelationShipVO FOREIGN KEY (connectionUuid) REFERENCES ConnectionRelationShipVO (uuid) ON DELETE CASCADE, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +DROP TABLE IF EXISTS AvailableIdentityZonesVO; +ALTER TABLE EcsVpcVO CHANGE COLUMN `vpcName` `name` varchar(128) NOT NULL; +ALTER TABLE EcsVSwitchVO CHANGE COLUMN `vSwitchName` `name` varchar(128) NOT NULL; +ALTER TABLE EcsSecurityGroupVO CHANGE COLUMN `securityGroupName` `name` varchar(128) NOT NULL; +ALTER TABLE VpcVirtualRouterVO CHANGE COLUMN `vRouterName` `name` varchar(128) NOT NULL; + +CREATE TABLE `MonitorTriggerVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `name` varchar(255) NOT NULL, + `expression` varchar(2048) NOT NULL, + `recoveryExpression` varchar(2048) DEFAULT NULL, + `description` varchar(2048) DEFAULT NULL, + `contextData` text DEFAULT NULL, + `duration` int unsigned NOT NULL, + `status` varchar(64) NOT NULL, + `state` varchar(64) NOT NULL, + `targetResourceUuid` varchar(32) NOT NULL, + `lastStatusChangeTime` timestamp DEFAULT '0000-00-00 00:00:00', + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `MonitorTriggerActionVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `name` varchar(255) NOT NULL, + `description` varchar(2048) DEFAULT NULL, + `type` varchar(64) NOT NULL, + `state` varchar(64) NOT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `EmailTriggerActionVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `email` varchar(512) NOT NULL, + `mediaUuid` varchar(32) NOT NULL, + CONSTRAINT fkEmailTriggerActionVOMonitorTriggerActionVO FOREIGN KEY (uuid) REFERENCES MonitorTriggerActionVO (uuid) ON UPDATE RESTRICT ON DELETE CASCADE, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `MediaVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `name` varchar(255) NOT NULL, + `description` varchar(2048) DEFAULT NULL, + `type` varchar(64) NOT NULL, + `state` varchar(64) NOT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `EmailMediaVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `smtpServer` varchar(512) NOT NULL, + `smtpPort` int unsigned NOT NULL, + `username` varchar(512) DEFAULT NULL, + `password` varchar(512) DEFAULT NULL, + CONSTRAINT fkEmailMediaVOMediaVO FOREIGN KEY (uuid) REFERENCES MediaVO (uuid) ON UPDATE RESTRICT ON DELETE CASCADE, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `MonitorTriggerActionRefVO` ( + `actionUuid` varchar(32) NOT NULL, + `triggerUuid` varchar(32) NOT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + CONSTRAINT fkMonitorTriggerActionRefVOMonitorTriggerActionVO FOREIGN KEY (actionUuid) REFERENCES MonitorTriggerActionVO (uuid) ON DELETE CASCADE, + CONSTRAINT fkMonitorTriggerActionRefVOMonitorTriggerVO FOREIGN KEY (triggerUuid) REFERENCES MonitorTriggerVO (uuid) ON DELETE CASCADE, + PRIMARY KEY (`actionUuid`, `triggerUuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +DROP TABLE IF EXISTS AlertLabelVO; +DROP TABLE IF EXISTS AlertTimestampVO; +DROP TABLE IF EXISTS AlertVO; +CREATE TABLE `AlertVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `targetResourceUuid` varchar(32) NOT NULL, + `triggerUuid` varchar(32) NOT NULL, + `triggerStatus` varchar(64) NOT NULL, + `content` text DEFAULT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +SET FOREIGN_KEY_CHECKS = 0; +ALTER TABLE EcsInstanceVO DROP FOREIGN KEY fkEcsInstanceVOEcsVpcVO; +ALTER TABLE EcsInstanceVO DROP KEY fkEcsInstanceVOEcsVpcVO; +ALTER TABLE EcsInstanceVO DROP COLUMN ecsVpcUuid; +ALTER TABLE EcsInstanceVO DROP COLUMN ecsEipUuid; + +ALTER TABLE EcsInstanceVO MODIFY COLUMN ecsVSwitchUuid varchar(32) NOT NULL; +ALTER TABLE EcsInstanceVO MODIFY COLUMN ecsSecurityGroupUuid varchar(32) NOT NULL; + +ALTER TABLE EcsInstanceVO DROP FOREIGN KEY fkEcsInstanceVOEcsVSwitchVO; +ALTER TABLE EcsInstanceVO DROP FOREIGN KEY fkEcsInstanceVOIdentityZoneVO; +ALTER TABLE EcsInstanceVO DROP FOREIGN KEY fkEcsInstanceVOEcsSecurityGroupVO; + +ALTER TABLE EcsInstanceVO ADD CONSTRAINT fkEcsInstanceVOEcsVSwitchVO FOREIGN KEY (ecsVSwitchUuid) REFERENCES EcsVSwitchVO (uuid) ON DELETE RESTRICT; +ALTER TABLE EcsInstanceVO ADD CONSTRAINT fkEcsInstanceVOEcsSecurityGroupVO FOREIGN KEY (ecsSecurityGroupUuid) REFERENCES EcsSecurityGroupVO (uuid) ON DELETE RESTRICT; +ALTER TABLE EcsInstanceVO ADD CONSTRAINT fkEcsInstanceVOIdentityZoneVO FOREIGN KEY (identityZoneUuid) REFERENCES IdentityZoneVO (uuid) ON DELETE RESTRICT; + +ALTER TABLE HybridEipAddressVO ADD COLUMN `name` varchar(128) NOT NULL DEFAULT 'Unknown'; +ALTER TABLE HybridEipAddressVO ADD COLUMN dataCenterUuid varchar(32) NOT NULL; +ALTER TABLE HybridEipAddressVO ADD COLUMN chargeType varchar(32) NOT NULL default "PayByTraffic"; +ALTER TABLE HybridEipAddressVO ADD COLUMN allocateTime timestamp DEFAULT '0000-00-00 00:00:00'; +ALTER TABLE HybridEipAddressVO ADD CONSTRAINT fkHybridEipAddressVODataCenterVO FOREIGN KEY (dataCenterUuid) REFERENCES DataCenterVO (uuid) ON DELETE RESTRICT; +SET FOREIGN_KEY_CHECKS = 1; + +ALTER TABLE `zstack`.`ImageEO` ADD COLUMN exportMd5Sum varchar(255) DEFAULT NULL; +DROP VIEW IF EXISTS `zstack`.`ImageVO`; +CREATE VIEW `zstack`.`ImageVO` AS SELECT uuid, name, description, status, state, size, actualSize, md5Sum, exportMd5Sum, platform, type, format, url, `system`, mediaType, createDate, lastOpDate, guestOsType, exportUrl FROM `zstack`.`ImageEO` WHERE deleted IS NULL; + +ALTER TABLE HostCapacityVO MODIFY availableCpu bigint(20) NOT NULL COMMENT 'used cpu of host in HZ'; + +UPDATE PrimaryStorageCapacityVO t0, +(SELECT SUM(systemUsedCapacity) ps_systemUsedCapacity , primaryStorageUuid FROM LocalStorageHostRefVO GROUP BY primaryStorageUuid) t1 +SET t0.systemUsedCapacity = t1.ps_systemUsedCapacity +WHERE t0.uuid = t1.primaryStorageUuid; + +ALTER TABLE SecurityGroupRuleVO ADD COLUMN `remoteSecurityGroupUuid` varchar(255) DEFAULT NULL; +ALTER TABLE SecurityGroupRuleVO ADD CONSTRAINT fkSecurityGroupRuleVORemoteSecurityGroupVO FOREIGN KEY (remoteSecurityGroupUuid) REFERENCES SecurityGroupVO (uuid) ON DELETE CASCADE ; + +-- ---------------------------- +-- Table structure for `BaremetalHardwareInfoVO` +-- ---------------------------- +CREATE TABLE `BaremetalHardwareInfoVO` ( + `uuid` varchar(32) NOT NULL UNIQUE COMMENT 'uuid', + `chassisUuid` varchar(32) NOT NULL COMMENT 'baremetal chassis uuid', + `type` varchar(255) DEFAULT NULL, + `content` text DEFAULT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`uuid`), + CONSTRAINT `fkBaremetalHardwareInfoVOBaremetalChassisVO` FOREIGN KEY (`chassisUuid`) REFERENCES `BaremetalChassisVO` (`uuid`) ON DELETE RESTRICT +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- ---------------------------- +-- Table structure for `BaremetalConsoleProxyVO` +-- ---------------------------- +CREATE TABLE `BaremetalConsoleProxyVO` ( + `uuid` varchar(32) NOT NULL UNIQUE COMMENT 'uuid', + `chassisUuid` varchar(32) NOT NULL COMMENT 'baremetal chassis uuid', + `token` varchar(255) NOT NULL COMMENT 'baremetal console proxy token', + PRIMARY KEY (`uuid`), + CONSTRAINT `fkBaremetalConsoleProxyVOBaremetalChassisVO` FOREIGN KEY (`chassisUuid`) REFERENCES `BaremetalChassisVO` (`uuid`) ON DELETE RESTRICT +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- ---------------------------- +-- Table structure for `BaremetalHostBondingVO` +-- ---------------------------- +CREATE TABLE `BaremetalHostBondingVO` ( + `uuid` varchar(32) NOT NULL UNIQUE COMMENT 'uuid', + `hostCfgUuid` varchar(32) NOT NULL COMMENT 'baremetal hostcfg uuid', + `name` varchar(255) NOT NULL COMMENT 'bond name', + `slaves` varchar(1024) NOT NULL COMMENT 'bond slaves', + `mode` varchar(32) NOT NULL COMMENT 'bond slaves', + `ip` varchar(32) DEFAULT NULL COMMENT 'bond ip', + `netmask` varchar(32) DEFAULT NULL COMMENT 'bond netmask', + `gateway` varchar(32) DEFAULT NULL COMMENT 'bond gateway', + `dns` varchar(32) DEFAULT NULL COMMENT 'bond dns', + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`uuid`), + CONSTRAINT `fkBaremetalHostBondingVOBaremetalHostCfgVO` FOREIGN KEY (`hostCfgUuid`) REFERENCES `BaremetalHostCfgVO` (`uuid`) ON DELETE RESTRICT +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +SET FOREIGN_KEY_CHECKS = 0; +DELETE FROM ResourceVO WHERE resourceType="BaremetalHostNicCfgVO"; +DELETE FROM ResourceVO WHERE resourceType="BaremetalHostCfgVO"; +ALTER TABLE BaremetalHostNicCfgVO DROP INDEX ip; +ALTER TABLE BaremetalHostNicCfgVO MODIFY ip varchar(32) DEFAULT NULL; +ALTER TABLE BaremetalHostNicCfgVO MODIFY netmask varchar(32) DEFAULT NULL; +DROP TRIGGER IF EXISTS trigger_attach_eip_for_ecsinstance; + +ALTER TABLE OssBucketVO ADD description varchar(1024) DEFAULT NULL; +ALTER TABLE OssBucketVO MODIFY COLUMN bucketName varchar(64); +ALTER TABLE OssBucketVO ADD COLUMN regionName varchar(64) DEFAULT NULL; +ALTER TABLE OssBucketVO ADD COLUMN dataCenterUuid varchar(32) NOT NULL; +ALTER TABLE OssBucketVO ADD CONSTRAINT fkOssBucketVODataCenterVO FOREIGN KEY (dataCenterUuid) REFERENCES DataCenterVO (uuid) ON DELETE RESTRICT; +UPDATE OssBucketVO SET dataCenterUuid =(SELECT b.uuid FROM DataCenterVO b, (SELECT * FROM OssBucketVO) a WHERE b.regionId=a.regionId limit 1); +ALTER TABLE OssBucketVO DROP COLUMN regionId; +ALTER TABLE OssBucketVO ADD COLUMN `current` varchar(32) DEFAULT "false"; +DROP TABLE IF EXISTS OssBucketEcsDataCenterRefVO; +SET FOREIGN_KEY_CHECKS = 1; + +CREATE TABLE `PciDeviceOfferingVO` ( + `uuid` varchar(32) NOT NULL UNIQUE COMMENT 'uuid', + `type` varchar(32) NOT NULL, + `name` varchar(255) NOT NULL, + `vendorId` varchar(64) NOT NULL, + `deviceId` varchar(64) NOT NULL, + `subvendorId` varchar(64) DEFAULT NULL, + `subdeviceId` varchar(64) DEFAULT NULL, + `description` varchar(2048) DEFAULT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `PciDeviceVO` ( + `uuid` varchar(32) NOT NULL UNIQUE COMMENT 'uuid', + `description` varchar(2048) DEFAULT NULL, + `hostUuid` varchar(32) NOT NULL, + `vmInstanceUuid` varchar(32) DEFAULT NULL, + `type` varchar(32) NOT NULL, + `status` varchar(32) NOT NULL, + `state` varchar(32) NOT NULL, + `pciDeviceAddress` varchar(32) NOT NULL, + `vendorId` varchar(64) NOT NULL, + `deviceId` varchar(64) NOT NULL, + `subvendorId` varchar(64) DEFAULT NULL, + `subdeviceId` varchar(64) DEFAULT NULL, + `metadata` varchar(4096) DEFAULT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`), + CONSTRAINT fkPciDeviceVOHostEO FOREIGN KEY (`hostUuid`) REFERENCES `zstack`.`HostEO` (`uuid`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `PciDeviceOfferingInstanceOfferingRefVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `pciDeviceOfferingUuid` varchar(32) NOT NULL, + `instanceOfferingUuid` varchar(32) NOT NULL, + `metadata` varchar(4096) DEFAULT NULL, + `pciDeviceCount` int DEFAULT 1, + CONSTRAINT `PciDeviceOfferingInstanceOfferingRefVOPciDeviceOfferingVO` FOREIGN KEY (`pciDeviceOfferingUuid`) REFERENCES `zstack`.`PciDeviceOfferingVO` (`uuid`) ON DELETE CASCADE, + CONSTRAINT `PciDeviceOfferingInstanceOfferingRefVOInstanceOfferingEO` FOREIGN KEY (`instanceOfferingUuid`) REFERENCES `zstack`.`InstanceOfferingEO` (`uuid`) ON DELETE CASCADE, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `PciDevicePciDeviceOfferingRefVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `pciDeviceUuid` varchar(32) NOT NULL, + `pciDeviceOfferingUuid` varchar(32) NOT NULL, + CONSTRAINT `PciDeviceUsageVOPciDeviceVO` FOREIGN KEY (`pciDeviceUuid`) REFERENCES `zstack`.`PciDeviceVO` (`uuid`) ON DELETE CASCADE, + CONSTRAINT `PciDevicePciDeviceOfferingVO` FOREIGN KEY (`pciDeviceOfferingUuid`) REFERENCES `zstack`.`PciDeviceOfferingVO` (`uuid`) ON DELETE CASCADE, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +SET FOREIGN_KEY_CHECKS = 0; +ALTER TABLE DataCenterVO DROP FOREIGN KEY fkDataCenterVOEcsVpcVO; +ALTER TABLE DataCenterVO DROP COLUMN defaultVpcUuid; +ALTER TABLE IdentityZoneVO DROP FOREIGN KEY fkIdentityZoneVOEcsVSwitchVO; +ALTER TABLE IdentityZoneVO DROP COLUMN defaultVSwitchUuid; +ALTER TABLE VpcVirtualRouteEntryVO CHANGE COLUMN nextHopVRiUuid nextHopId varchar(128) DEFAULT NULL; +ALTER TABLE AvailableInstanceTypesVO MODIFY COLUMN instanceType varchar(4096) DEFAULT NULL; +DROP TABLE IF EXISTS EcsImageMd5SumMappingVO; +UPDATE EcsImageVO SET type = 'custom' WHERE type = 'aliyun'; +ALTER TABLE EcsImageVO MODIFY ossMd5Sum varchar(128) DEFAULT NULL; +ALTER TABLE EcsImageVO MODIFY ecsImageId varchar(128) NOT NULL; +SET FOREIGN_KEY_CHECKS = 1; + +-- add default SecurityGroupRule for ZSTAC-5386 +DELIMITER $$ +CREATE PROCEDURE securityGroupRule() +BEGIN + DECLARE in_rule_uuid varchar(32); + DECLARE out_rule_uuid varchar(32); + DECLARE sgUuid varchar(32); + DECLARE done INT DEFAULT FALSE; + DECLARE cur CURSOR FOR SELECT uuid FROM zstack.SecurityGroupVO; + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; + OPEN cur; + read_loop: LOOP + FETCH cur INTO sgUuid; + IF done THEN + LEAVE read_loop; + END IF; + SET in_rule_uuid = REPLACE(UUID(), '-', ''); + SET out_rule_uuid = REPLACE(UUID(), '-', ''); + + INSERT zstack.ResourceVO(uuid, resourceType) value (in_rule_uuid, 'SecurityGroupRuleVO'); + INSERT zstack.SecurityGroupRuleVO(uuid, securityGroupUuid, type, protocol, allowedCidr, startPort, endPort, state, remoteSecurityGroupUuid, lastOpDate, createDate) + value (in_rule_uuid, sgUuid, 'Ingress', 'ALL', '0.0.0.0/0', -1, -1, 'Enabled', sgUuid, NOW(), NOW()); + + INSERT zstack.ResourceVO(uuid, resourceType) value (out_rule_uuid, 'SecurityGroupRuleVO'); + INSERT zstack.SecurityGroupRuleVO(uuid, securityGroupUuid, type, protocol, allowedCidr, startPort, endPort, state, remoteSecurityGroupUuid, lastOpDate, createDate) + value (out_rule_uuid, sgUuid, 'Egress', 'ALL', '0.0.0.0/0', -1, -1, 'Enabled', sgUuid, NOW(), NOW()); + END LOOP; + CLOSE cur; + # work around a bug of mysql : jira.mariadb.org/browse/MDEV-4602 + SELECT CURTIME(); +END $$ +DELIMITER ; + +CALL securityGroupRule(); +DROP PROCEDURE IF EXISTS securityGroupRule; + +DELIMITER $$ + +DROP FUNCTION IF EXISTS `Json_getKeyValue` $$ + +CREATE FUNCTION `Json_getKeyValue`( + in_JsonArray VARCHAR(4096), + in_KeyName VARCHAR(64) +) RETURNS VARCHAR(4096) CHARSET utf8 + +BEGIN + DECLARE vs_return, vs_JsonArray, vs_JsonString, vs_Json, vs_KeyName VARCHAR(4096); + DECLARE vi_pos1, vi_pos2 SMALLINT UNSIGNED; + + SET vs_JsonArray = TRIM(in_JsonArray); + SET vs_KeyName = TRIM(in_KeyName); + + IF vs_JsonArray = '' OR vs_JsonArray IS NULL + OR vs_KeyName = '' OR vs_KeyName IS NULL + THEN + SET vs_return = NULL; + ELSE + SET vs_JsonArray = REPLACE(REPLACE(vs_JsonArray, '[', ''), ']', ''); + SET vs_JsonString = CONCAT("'", vs_JsonArray, "'"); + SET vs_json = SUBSTRING_INDEX(SUBSTRING_INDEX(vs_JsonString,'}',1), '{', -1); + + IF vs_json = '' OR vs_json IS NULL THEN + SET vs_return = NULL; + ELSE + SET vs_KeyName = CONCAT('"', vs_KeyName, '":'); + SET vi_pos1 = INSTR(vs_json, vs_KeyName); + + IF vi_pos1 > 0 THEN + SET vi_pos1 = vi_pos1 + CHAR_LENGTH(vs_KeyName); + SET vi_pos2 = LOCATE('","', vs_json, vi_pos1); + + IF vi_pos2 = 0 THEN + SET vi_pos2 = CHAR_LENGTH(vs_json) + 1; + END IF; + + SET vs_return = REPLACE(MID(vs_json, vi_pos1, vi_pos2 - vi_pos1), '"', ''); + END IF; + END IF; + END IF; + + + RETURN(vs_return); +END$$ + +DELIMITER ; + +DELIMITER $$ + +DROP FUNCTION IF EXISTS `Upgrade_Scheduler` $$ + +CREATE FUNCTION `Upgrade_Scheduler` ( + uuid varchar(32), + targetResourceUuid varchar(32), + schedulerName varchar(255), + schedulerDescription varchar(2048), + schedulerType varchar(255), + schedulerInterval int unsigned, + repeatCount int unsigned, + cronScheduler varchar(255), + jobClassName varchar(255), + jobData text, + state varchar(255), + startTime timestamp, + stopTime timestamp, + createDate timestamp +) RETURNS VARCHAR(512) CHARSET utf8 + +BEGIN + DECLARE trigger_uuid, job_uuid varchar(32); + DECLARE job_data text; + DECLARE job_class_name varchar(255); + DECLARE current_time_stamp timestamp; + + SET job_class_name = REPLACE(REPLACE(jobClassName,'compute','scheduler'), 'storage', 'scheduler'); + + SET job_data = CONCAT('{"targetResourceUuid":"', Json_getKeyValue(jobData, 'targetResourceUuid'), '",' + ,'"name":"', Json_getKeyValue(jobData, 'schedulerName'),'",' + ,'"createDate":"', Json_getKeyValue(jobData, 'createDate'), '",' + ,'"accountUuid":"', Json_getKeyValue(jobData, 'accountUuid'),'"}'); + + SET trigger_uuid = REPLACE(UUID(),'-',''); + SET job_uuid = REPLACE(UUID(),'-',''); + SET current_time_stamp = current_timestamp(); + INSERT INTO SchedulerJobVO (`uuid`, `targetResourceUuid`, `name`, `description`, `jobClassName`, `jobData`, `managementNodeUuid`, `state`, `lastOpDate`, `createDate`) VALUES (job_uuid, targetResourceUuid, schedulerName, schedulerDescription, job_class_name, job_data, NULL, state, current_time_stamp, current_time_stamp); + INSERT INTO ResourceVO (`uuid`, `resourceName`, `resourceType`) VALUES (job_uuid, schedulerName, 'SchedulerJobVO'); + INSERT INTO SchedulerTriggerVO (`uuid`, `name`, `description`, `schedulerType`, `schedulerInterval`, `repeatCount`, `managementNodeUuid`, `startTime`, `stopTime`, `lastOpDate`, `createDate`) VALUES (trigger_uuid, schedulerName, schedulerDescription, schedulerType, schedulerInterval, repeatCount, NULL, startTime, stopTime, current_time_stamp, current_time_stamp); + INSERT INTO ResourceVO (`uuid`, `resourceName`, `resourceType`) VALUES (trigger_uuid, schedulerName, 'SchedulerTriggerVO'); + INSERT INTO SchedulerJobSchedulerTriggerRefVO (`uuid`, `schedulerJobUuid`, `schedulerTriggerUuid`, `lastOpDate`, `createDate`) VALUES (REPLACE(UUID(),'-',''), job_uuid, trigger_uuid, current_time_stamp, current_time_stamp); + RETURN(trigger_uuid); +END$$ + +DELIMITER ; + +select Upgrade_Scheduler(uuid, targetResourceUuid, schedulerName, schedulerDescription, schedulerType, schedulerInterval, repeatCount, cronScheduler, jobClassName, jobData, state, startTime, stopTime, createDate) from SchedulerVO; + +insert into NetworkServiceTypeVO (`networkServiceProviderUuid`, `type`) select uuid, 'CentralizedDNS' from NetworkServiceProviderVO where type='vrouter'; +insert into NetworkServiceTypeVO (`networkServiceProviderUuid`, `type`) select uuid, 'VipQos' from NetworkServiceProviderVO where type='vrouter'; +insert into NetworkServiceTypeVO (`networkServiceProviderUuid`, `type`) select uuid, 'VRouterRoute' from NetworkServiceProviderVO where type='vrouter'; + +alter table `CephPrimaryStorageMonVO` ADD UNIQUE KEY (`hostname`, `primaryStorageUuid`); diff --git a/conf/tools/flyway-6.3.1/sql/V2.1.1__schema.sql b/conf/tools/flyway-6.3.1/sql/V2.1.1__schema.sql new file mode 100644 index 00000000000..4698130aecf --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V2.1.1__schema.sql @@ -0,0 +1,17 @@ +ALTER TABLE IdentityZoneVO CHANGE deleted closed varchar(1) DEFAULT NULL; + +DELETE FROM `zstack`.`AccountResourceRefVO` where resourceType='VolumeVO' and resourceUuid not in (SELECT uuid FROM `zstack`.`VolumeVO`); +ALTER TABLE HybridAccountVO ADD COLUMN hybridAccountId varchar(32) DEFAULT NULL; +ALTER TABLE HybridAccountVO ADD COLUMN hybridUserId varchar(32) DEFAULT NULL; +ALTER TABLE HybridAccountVO ADD COLUMN hybridUserName varchar(64) DEFAULT NULL; + +ALTER TABLE EcsInstanceVO ADD COLUMN expireDate datetime DEFAULT '2999-01-01 00:00:00'; +ALTER TABLE EcsInstanceVO ADD COLUMN chargeType varchar(16) DEFAULT 'postpaid'; + +ALTER TABLE VirtualBorderRouterVO MODIFY COLUMN description varchar(1024) DEFAULT NULL; + +ALTER TABLE EmailTriggerActionVO MODIFY COLUMN mediaUuid varchar(32); +UPDATE EmailTriggerActionVO SET mediaUuid = NULL WHERE mediaUuid NOT IN (SELECT uuid FROM EmailMediaVO); +ALTER TABLE `zstack`.`EmailTriggerActionVO` ADD CONSTRAINT `fkEmailTriggerActionVOEmailMediaVO` FOREIGN KEY (`mediaUuid`) REFERENCES `EmailMediaVO` (`uuid`) ON DELETE SET NULL; + + diff --git a/conf/tools/flyway-6.3.1/sql/V2.1.2__schema.sql b/conf/tools/flyway-6.3.1/sql/V2.1.2__schema.sql new file mode 100644 index 00000000000..cfc2531d3a0 --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V2.1.2__schema.sql @@ -0,0 +1,101 @@ +ALTER TABLE VpcVpnConnectionVO ADD COLUMN status varchar(32) NOT NULL DEFAULT 'IPSEC_SUCCESS'; + +CREATE TABLE `AliyunDiskVO` ( + `uuid` VARCHAR(32) UNIQUE NOT NULL, + `diskId` VARCHAR(32) NOT NULL, + `name` VARCHAR(128) NOT NULL, + `description` VARCHAR(1024) DEFAULT NULL, + `identityZoneUuid` VARCHAR(32) NOT NULL, + `ecsInstanceUuid` VARCHAR(32) DEFAULT NULL, + `diskType` VARCHAR(16) NOT NULL, + `diskCategory` VARCHAR(16) DEFAULT NULL, + `diskChargeType` VARCHAR(16) DEFAULT NULL, + `status` VARCHAR(16) DEFAULT NULL, + `sizeWithGB` INTEGER UNSIGNED DEFAULT NULL, + `deviceInfo` VARCHAR(32) DEFAULT NULL, + `createDate` TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00' , + `lastOpDate` TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`uuid`), + KEY `fkAliyunDiskVOIdentityZoneVO` (`identityZoneUuid`), + CONSTRAINT fkAliyunDiskVOIdentityZoneVO FOREIGN KEY (identityZoneUuid) REFERENCES IdentityZoneVO (uuid) ON DELETE RESTRICT, + KEY `fkAliyunDiskVOEcsInstanceVO` (`ecsInstanceUuid`), + CONSTRAINT fkAliyunDiskVOEcsInstanceVO FOREIGN KEY (ecsInstanceUuid) REFERENCES EcsInstanceVO (uuid) ON DELETE RESTRICT +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `AliyunSnapshotVO` ( + `uuid` VARCHAR(32) UNIQUE NOT NULL, + `snapshotId` VARCHAR(32) UNIQUE NOT NULL, + `name` VARCHAR(128) NOT NULL, + `description` VARCHAR(1024) DEFAULT NULL, + `dataCenterUuid` VARCHAR(32) NOT NULL, + `diskUuid` VARCHAR(32) DEFAULT NULL, + `status` VARCHAR(16) DEFAULT NULL, + `aliyunSnapshotUsage` VARCHAR(16) NOT NULL, + `createDate` TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00' , + `lastOpDate` TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`uuid`), + KEY `fkAliyunSnapshotVOAliyunDiskVO` (`diskUuid`), + CONSTRAINT `fkAliyunSnapshotVOAliyunDiskVO` FOREIGN KEY (diskUuid) REFERENCES AliyunDiskVO (uuid) ON DELETE RESTRICT +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `EcsImageUsageVO` ( + `id` INT UNSIGNED NOT NULL UNIQUE AUTO_INCREMENT, + `ecsImageUuid` VARCHAR(32) NOT NULL, + `snapshotUuidOfCreatedImage` VARCHAR(32) DEFAULT NULL, + `createDate` TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00' , + `lastOpDate` TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`id`), + KEY `fkEcsImageUsageVOEcsImageVO` (`ecsImageUuid`), + CONSTRAINT `fkEcsImageUsageVOEcsImageVO` FOREIGN KEY (ecsImageUuid) REFERENCES EcsImageVO (uuid) ON DELETE CASCADE, + KEY `fkEcsImageUsageVOAliyunSnapshotVO` (`snapshotUuidOfCreatedImage`), + CONSTRAINT `fkEcsImageUsageVOAliyunSnapshotVO` FOREIGN KEY (snapshotUuidOfCreatedImage) REFERENCES AliyunSnapshotVO (uuid) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +ALTER TABLE `CephPrimaryStoragePoolVO` ADD COLUMN `type` varchar(32) NOT NULL DEFAULT 'Data'; +ALTER TABLE `CephPrimaryStoragePoolVO` ADD COLUMN `aliasName` varchar(255); + +DELIMITER $$ + +DROP FUNCTION IF EXISTS `Separate_ceph_pool` $$ + +CREATE FUNCTION `Separate_ceph_pool` ( + uuid varchar(32), + rootVolumePoolName varchar(255), + dataVolumePoolName varchar(255), + imageCachePoolName varchar(255) +) RETURNS VARCHAR(7) CHARSET utf8 + +BEGIN + DECLARE root_volume_pool_uuid, data_volume_pool_uuid, image_cache_pool_uuid, root_volume_pool_tag_uuid, data_volume_pool_tag_uuid, image_cache_pool_tag_uuid varchar(32); + DECLARE result_string varchar(7); + SET root_volume_pool_uuid = REPLACE(UUID(),'-',''); + SET data_volume_pool_uuid = REPLACE(UUID(),'-',''); + SET image_cache_pool_uuid = REPLACE(UUID(),'-',''); + SET root_volume_pool_tag_uuid = REPLACE(UUID(),'-',''); + SET data_volume_pool_tag_uuid = REPLACE(UUID(),'-',''); + SET image_cache_pool_tag_uuid = REPLACE(UUID(),'-',''); + SET result_string = 'success'; + + INSERT INTO CephPrimaryStoragePoolVO (`uuid`, `primaryStorageUuid`, `poolName`, `aliasName`, `description`, `type`, `createDate`, `lastOpDate`) VALUES (root_volume_pool_uuid, uuid, rootVolumePoolName, NULL, NULL, 'Root', CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP()); + INSERT INTO ResourceVO (`uuid`, `resourceName`, `resourceType`) VALUES (root_volume_pool_uuid, rootVolumePoolName, 'CephPrimaryStoragePoolVO'); + INSERT INTO SystemTagVO (`uuid`, `resourceUuid`, `resourceType`, `inherent`, `type`, `tag`, `createDate`, `lastOpDate`) VALUES (root_volume_pool_tag_uuid, uuid, 'PrimaryStorageVO', 1, 'System', CONCAT('ceph::default::rootVolumePoolName::', rootVolumePoolName), CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP()); + + INSERT INTO CephPrimaryStoragePoolVO (`uuid`, `primaryStorageUuid`, `poolName`, `aliasName`, `description`, `type`, `createDate`, `lastOpDate`) VALUES (data_volume_pool_uuid, uuid, dataVolumePoolName, NULL, NULL, 'Data', CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP()); + INSERT INTO ResourceVO (`uuid`, `resourceName`, `resourceType`) VALUES (data_volume_pool_uuid, dataVolumePoolName, 'CephPrimaryStoragePoolVO'); + INSERT INTO SystemTagVO (`uuid`, `resourceUuid`, `resourceType`, `inherent`, `type`, `tag`, `createDate`, `lastOpDate`) VALUES (data_volume_pool_tag_uuid, uuid, 'PrimaryStorageVO', 1, 'System', CONCAT('ceph::default::dataVolumePoolName::', dataVolumePoolName), CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP()); + + INSERT INTO CephPrimaryStoragePoolVO (`uuid`, `primaryStorageUuid`, `poolName`, `aliasName`, `description`, `type`, `createDate`, `lastOpDate`) VALUES (image_cache_pool_uuid, uuid, imageCachePoolName, NULL, NULL, 'ImageCache', CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP()); + INSERT INTO ResourceVO (`uuid`, `resourceName`, `resourceType`) VALUES (image_cache_pool_uuid, imageCachePoolName, 'CephPrimaryStoragePoolVO'); + INSERT INTO SystemTagVO (`uuid`, `resourceUuid`, `resourceType`, `inherent`, `type`, `tag`, `createDate`, `lastOpDate`) VALUES (image_cache_pool_tag_uuid, uuid, 'PrimaryStorageVO', 1, 'System', CONCAT('ceph::default::imageCachePoolName::', imageCachePoolName), CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP()); + + RETURN(result_string); +END$$ + +DELIMITER ; + +select Separate_ceph_pool(uuid, rootVolumePoolName, dataVolumePoolName, imageCachePoolName) from CephPrimaryStorageVO; +ALTER TABLE `CephPrimaryStorageVO` DROP COLUMN `rootVolumePoolName`; +ALTER TABLE `CephPrimaryStorageVO` DROP COLUMN `dataVolumePoolName`; +ALTER TABLE `CephPrimaryStorageVO` DROP COLUMN `imageCachePoolName`; + +DROP FUNCTION IF EXISTS `Separate_ceph_pool`; diff --git a/conf/tools/flyway-6.3.1/sql/V2.2.0__schema.sql b/conf/tools/flyway-6.3.1/sql/V2.2.0__schema.sql new file mode 100644 index 00000000000..7bb40fae37b --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V2.2.0__schema.sql @@ -0,0 +1,119 @@ +ALTER TABLE `L3NetworkEO` ADD COLUMN `category` varchar(255) NOT NULL DEFAULT 'Private' COMMENT 'the type network used for'; + +DROP VIEW IF EXISTS `zstack`.`L3NetworkVO`; +CREATE VIEW `zstack`.`L3NetworkVO` AS SELECT uuid, name, description, state, type, zoneUuid, l2NetworkUuid, `system`, dnsDomain, createDate, lastOpDate, category FROM `zstack`.`L3NetworkEO` WHERE deleted IS NULL; + +-- add network category for ZSTAC-6844 +DELIMITER $$ +CREATE PROCEDURE generateNetworkCategory() + BEGIN + DECLARE l3Uuid varchar(32); + DECLARE l3System tinyint(3) unsigned; + DECLARE done INT DEFAULT FALSE; + DECLARE cur CURSOR FOR SELECT uuid, `system` FROM zstack.L3NetworkEO; + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; + OPEN cur; + read_loop: LOOP + FETCH cur INTO l3Uuid, l3System; + IF done THEN + LEAVE read_loop; + END IF; + + IF l3System = 1 + THEN + UPDATE zstack.L3NetworkEO SET `system` = 0 WHERE uuid = l3Uuid; + UPDATE zstack.L3NetworkEO SET category = 'Public' WHERE uuid = l3Uuid; + ELSE + UPDATE zstack.L3NetworkEO SET category = 'Private' WHERE uuid = l3Uuid; + END IF; + + END LOOP; + CLOSE cur; + # work around a bug of mysql : jira.mariadb.org/browse/MDEV-4602 + SELECT CURTIME(); + END $$ +DELIMITER ; + +CALL generateNetworkCategory(); +DROP PROCEDURE IF EXISTS generateNetworkCategory; + +DELIMITER $$ +CREATE PROCEDURE addServiceToPublicNetwork() + BEGIN + DECLARE l3Uuid VARCHAR(32); + DECLARE sgUuid VARCHAR(32); + DECLARE done INT DEFAULT FALSE; + DECLARE cur CURSOR FOR SELECT uuid + FROM L3NetworkEO + LEFT JOIN NetworkServiceL3NetworkRefVO ON l3NetworkUuid = uuid + WHERE category = 'Public' AND (networkServiceType != 'SecurityGroup' OR l3NetworkUuid IS NULL) + GROUP BY uuid; + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; + OPEN cur; + read_loop: LOOP + FETCH cur INTO l3Uuid; + IF done THEN + LEAVE read_loop; + END IF; + + SELECT uuid INTO sgUuid FROM zstack.NetworkServiceProviderVO WHERE type = 'SecurityGroup'; + + INSERT INTO NetworkServiceL3NetworkRefVO (`l3NetworkUuid`, `networkServiceProviderUuid`, `networkServiceType`) + VALUES (l3Uuid, sgUuid, 'SecurityGroup'); + + END LOOP; + CLOSE cur; + # work around a bug of mysql : jira.mariadb.org/browse/MDEV-4602 + SELECT CURTIME(); + END $$ +DELIMITER ; + +CALL addServiceToPublicNetwork(); +DROP PROCEDURE IF EXISTS addServiceToPublicNetwork; + +update PolicyVO set name='SCHEDULER.JOB.CREATE', data='[{\"name\":\"scheduler.job.create\",\"effect\":\"Allow\",\"actions\":[\"scheduler:APICreateSchedulerJobMsg\"]}]' where name='SCHEDULER.CREATE'; +update ResourceVO set resourceName='SCHEDULER.JOB.CREATE' where resourceName='SCHEDULER.CREATE'; +update PolicyVO set name='SCHEDULER.JOB.UPDATE', data='[{\"name\":\"scheduler.job.update\",\"effect\":\"Allow\",\"actions\":[\"scheduler:APIUpdateSchedulerJobMsg\"]}]' where name='SCHEDULER.UPDATE'; +update ResourceVO set resourceName='SCHEDULER.JOB.UPDATE' where resourceName='SCHEDULER.UPDATE'; +update PolicyVO set name='SCHEDULER.JOB.DELETE', data='[{\"name\":\"scheduler.job.delete\",\"effect\":\"Allow\",\"actions\":[\"scheduler:APIDeleteSchedulerJobMsg\"]}]' where name='SCHEDULER.DELETE'; +update ResourceVO set resourceName='SCHEDULER.JOB.DELETE' where resourceName='SCHEDULER.DELETE'; + +DELIMITER $$ + +DROP FUNCTION IF EXISTS `update_policy` $$ + +CREATE FUNCTION `update_policy` ( + uuid varchar(32), + policy_name varchar(255), + policy_data text +) RETURNS VARCHAR(7) CHARSET utf8 + +BEGIN + DECLARE policy_uuid varchar(32); + DECLARE result_string varchar(7); + SET result_string = 'success'; + SET policy_uuid = REPLACE(UUID(),'-',''); + + INSERT INTO PolicyVO (`uuid`, `name`, `accountUuid`, `data`, `lastOpDate`, `createDate`) VALUES (policy_uuid, name, uuid, data, CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP()); + INSERT INTO ResourceVO (`uuid`, `resourceName`, `resourceType`) VALUES (policy_uuid, policy_name, policy_data); + + RETURN(result_string); +END$$ + +DELIMITER ; + +select update_policy(uuid, 'SCHEDULER.TRIGGER.CREATE', '[{\"name\":\"scheduler.trigger.create\",\"effect\":\"Allow\",\"actions\":[\"scheduler:APICreateSchedulerTriggerMsg\"]}]') from AccountVO where type<>'SystemAdmin'; +select update_policy(uuid, 'SCHEDULER.TRIGGER.DELETE', '[{\"name\":\"scheduler.trigger.delete\",\"effect\":\"Allow\",\"actions\":[\"scheduler:APIDeleteSchedulerTriggerMsg\"]}]') from AccountVO where type<>'SystemAdmin'; +select update_policy(uuid, 'SCHEDULER.TRIGGER.UPDATE', '[{\"name\":\"scheduler.trigger.update\",\"effect\":\"Allow\",\"actions\":[\"scheduler:APIUpdateSchedulerTriggerMsg\"]}]') from AccountVO where type<>'SystemAdmin'; +select update_policy(uuid, 'SCHEDULER.ADD', '[{\"name\":\"scheduler.add\",\"effect\":\"Allow\",\"actions\":[\"scheduler:APIAddSchedulerJobToSchedulerTriggerMsg\"]}]') from AccountVO where type<>'SystemAdmin'; +select update_policy(uuid, 'SCHEDULER.REMOVE', '[{\"name\":\"scheduler.remove\",\"effect\":\"Allow\",\"actions\":[\"scheduler:APIRemoveSchedulerJobFromSchedulerTriggerMsg\"]}]') from AccountVO where type<>'SystemAdmin'; + +CREATE INDEX notification_resource_uuid_idx ON NotificationVO (resourceUuid); +ALTER TABLE `BaremetalHostCfgVO` ADD COLUMN `cloneIso` tinyint(1) unsigned NOT NULL DEFAULT 0; + +ALTER TABLE AliyunSnapshotVO DROP INDEX snapshotId; + +UPDATE AliyunDiskVO SET diskType='data' WHERE diskType='DATA'; +UPDATE AliyunDiskVO SET diskType='system' WHERE diskType='SYSTEM'; + +ALTER TABLE VolumeEO DROP FOREIGN KEY fkVolumeEOPrimaryStorageEO; diff --git a/conf/tools/flyway-6.3.1/sql/V2.2.1__schema.sql b/conf/tools/flyway-6.3.1/sql/V2.2.1__schema.sql new file mode 100644 index 00000000000..c35f727993d --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V2.2.1__schema.sql @@ -0,0 +1,155 @@ +CREATE TABLE `UsbDeviceVO` ( + `uuid` varchar(32) NOT NULL UNIQUE COMMENT 'uuid', + `name` varchar(2048) DEFAULT NULL, + `description` varchar(2048) DEFAULT NULL, + `hostUuid` varchar(32) NOT NULL, + `vmInstanceUuid` varchar(32) DEFAULT NULL, + `state` varchar(32) NOT NULL, + `busNum` varchar(32) NOT NULL, + `devNum` varchar(32) NOT NULL, + `idVendor` varchar(32) NOT NULL, + `idProduct` varchar(32) NOT NULL, + `iManufacturer` varchar(1024) DEFAULT NULL, + `iProduct` varchar(1024) DEFAULT NULL, + `iSerial` varchar(32) DEFAULT NULL, + `usbVersion` varchar(32) DEFAULT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`), + CONSTRAINT fkUsbDeviceVOHostEO FOREIGN KEY (`hostUuid`) REFERENCES `zstack`.`HostEO` (`uuid`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- add Vip for virtual router pub ip for ZSTAC-4362 +DELIMITER $$ +CREATE PROCEDURE getIpRangeUuidForNetwork(IN networkUuid VARCHAR(32), IN gateway VARCHAR(32), OUT ipRangeUuid VARCHAR(32)) + BEGIN + DECLARE done INT DEFAULT FALSE; + DECLARE cur CURSOR FOR SELECT uuid from zstack.IpRangeVO ipr where ipr.l3NetworkUuid=networkUuid and ipr.gateway=gateway; + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; + OPEN cur; + read_loop: LOOP + fetch cur INTO ipRangeUuid; + IF done THEN + LEAVE read_loop; + END IF; + END LOOP; + CLOSE cur; + # work around a bug of mysql : jira.mariadb.org/browse/MDEV-4602 + SELECT CURTIME(); + END $$ +DELIMITER ; + +DELIMITER $$ +CREATE PROCEDURE getUseIpUuid(IN ipRangeUuid VARCHAR(32), IN ip VARCHAR(255), OUT usedIpUuid VARCHAR(32)) + BEGIN + DECLARE done INT DEFAULT FALSE; + DECLARE cur CURSOR FOR SELECT uuid from zstack.UsedIpVO ipv where ipv.ipRangeUuid=ipRangeUuid and ipv.ip=ip; + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; + OPEN cur; + read_loop: LOOP + fetch cur INTO usedIpUuid; + IF done THEN + LEAVE read_loop; + END IF; + END LOOP; + CLOSE cur; + # work around a bug of mysql : jira.mariadb.org/browse/MDEV-4602 + SELECT CURTIME(); + END $$ +DELIMITER ; + +DELIMITER $$ +CREATE PROCEDURE getServiceProviderForNetwork(IN networkUuid VARCHAR(32), OUT serviceProvider VARCHAR(255)) + BEGIN + DECLARE done INT DEFAULT FALSE; + DECLARE cur CURSOR FOR SELECT sp.name FROM zstack.NetworkServiceProviderVO sp, zstack.NetworkServiceL3NetworkRefVO net WHERE net.networkServiceProviderUuid = sp.uuid and net.l3NetworkUuid=networkUuid and net.networkServiceType='SNAT'; + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; + OPEN cur; + read_loop: LOOP + fetch cur INTO serviceProvider; + IF done THEN + LEAVE read_loop; + END IF; + END LOOP; + CLOSE cur; + # work around a bug of mysql : jira.mariadb.org/browse/MDEV-4602 + SELECT CURTIME(); + END $$ +DELIMITER ; + +DELIMITER $$ +CREATE PROCEDURE getVRouterGuestL3Network(IN vmInstanceUuid VARCHAR(32), IN pubL3Network VARCHAR(32),OUT GuestL3Network VARCHAR(32)) + BEGIN + DECLARE done INT DEFAULT FALSE; + DECLARE cur CURSOR FOR SELECT distinct l3NetworkUuid from zstack.VmNicVO nic where nic.vmInstanceUuid = vmInstanceUuid and nic.l3NetworkUuid != pubL3Network; + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; + OPEN cur; + read_loop: LOOP + fetch cur INTO GuestL3Network; + SELECT vmInstanceUuid, pubL3Network, GuestL3Network; + IF done THEN + LEAVE read_loop; + END IF; + END LOOP; + CLOSE cur; + # work around a bug of mysql : jira.mariadb.org/browse/MDEV-4602 + SELECT CURTIME(); + END $$ +DELIMITER ; + +DELIMITER $$ +CREATE PROCEDURE generateVipForVirtualRouterPubIP() + BEGIN + DECLARE name VARCHAR(255); + DECLARE peerL3NetworkUuid VARCHAR(32); + DECLARE publicNetworkUuid VARCHAR(32); + DECLARE ipRangeUuid VARCHAR(32); + DECLARE usedIpUuid VARCHAR(32); + DECLARE uuid VARCHAR(32); + DECLARE vmInstanceUuid VARCHAR(32); + DECLARE ip VARCHAR(128); + DECLARE gateway VARCHAR(128); + DECLARE netmask VARCHAR(128); + DECLARE serviceProvider VARCHAR(255); + DECLARE done INT DEFAULT FALSE; + DECLARE cur CURSOR FOR SELECT viv.name, viv.uuid, nic.l3NetworkUuid, nic.ip, nic.gateway, nic.netmask FROM zstack.VmNicVO nic, zstack.VirtualRouterVmVO vrv, zstack.VmInstanceVO viv + where viv.uuid = vrv.uuid and vrv.uuid=nic.vmInstanceUuid and nic.l3NetworkUuid=vrv.publicNetworkUuid; + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; + OPEN cur; + read_loop: LOOP + FETCH cur INTO name, vmInstanceUuid, publicNetworkUuid, ip, gateway, netmask; + IF done THEN + LEAVE read_loop; + END IF; + + SET peerL3NetworkUuid = NULL; + SET serviceProvider = NULL; + SET ipRangeUuid = NULL; + SET usedIpUuid = NULL; + SET uuid = REPLACE(UUID(), '-', ''); + SELECT name, vmInstanceUuid, publicNetworkUuid, ip, gateway, netmask; + CALL getVRouterGuestL3Network(vmInstanceUuid, publicNetworkUuid, peerL3NetworkUuid); + SELECT peerL3NetworkUuid; + CALL getServiceProviderForNetwork(peerL3NetworkUuid, serviceProvider); + SELECT serviceProvider; + CALL getIpRangeUuidForNetwork(publicNetworkUuid, gateway, ipRangeUuid); + SELECT ipRangeUuid; + CALL getUseIpUuid(ipRangeUuid, ip, usedIpUuid); + SELECT usedIpUuid; + INSERT INTO zstack.VipVO (uuid, name, description, l3NetworkUuid, peerL3NetworkUuid, state, ip, gateway, netmask, useFor, serviceProvider, ipRangeUuid, usedIpUuid, lastOpDate, createDate) + values(uuid, CONCAT('Vip-', name), name, publicNetworkUuid, peerL3NetworkUuid, 'Enabled', ip, gateway, netmask, 'SNAT', serviceProvider, ipRangeUuid, usedIpUuid, CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP()); + INSERT INTO zstack.ResourceVO(uuid, resourceName, resourceType) values(uuid, name, 'VipVO'); + + END LOOP; + CLOSE cur; + # work around a bug of mysql : jira.mariadb.org/browse/MDEV-4602 + SELECT CURTIME(); + END $$ +DELIMITER ; + +CALL generateVipForVirtualRouterPubIP(); +DROP PROCEDURE IF EXISTS generateVipForVirtualRouterPubIP; +DROP PROCEDURE IF EXISTS getServiceProviderForNetwork; +DROP PROCEDURE IF EXISTS getIpRangeUuidForNetwork; +DROP PROCEDURE IF EXISTS getUseIpUuid; +DROP PROCEDURE IF EXISTS getVRouterGuestL3Network; diff --git a/conf/tools/flyway-6.3.1/sql/V2.2.2__schema.sql b/conf/tools/flyway-6.3.1/sql/V2.2.2__schema.sql new file mode 100644 index 00000000000..8ba02380bd0 --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V2.2.2__schema.sql @@ -0,0 +1,47 @@ +CREATE TABLE `zstack`.VipPeerL3NetworkRefVO ( + `vipUuid` VARCHAR(32) NOT NULL, + `l3NetworkUuid` VARCHAR(32) NOT NULL, + `lastOpDate` TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `createDate` TIMESTAMP, + CONSTRAINT `fkVipPeerL3NetworkRefVOVipVO` FOREIGN KEY (`vipUuid`) REFERENCES `zstack`.`VipVO` (`uuid`) ON DELETE CASCADE, + CONSTRAINT `fkVipPeerL3NetworkRefVOL3NetworkEO` FOREIGN KEY (`l3NetworkUuid`) REFERENCES `zstack`.`L3NetworkEO` (`uuid`) ON DELETE CASCADE, + PRIMARY KEY (`vipUuid`, `l3NetworkUuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +DELIMITER $$ +CREATE PROCEDURE migrateVipPeerL3Network() + BEGIN + DECLARE vip varchar(32); + DECLARE peerL3 varchar(32); + DECLARE done INT DEFAULT FALSE; + DECLARE cur CURSOR FOR SELECT uuid, peerL3NetworkUuid FROM zstack.VipVO WHERE peerL3NetworkUuid IS NOT NULL; + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; + OPEN cur; + read_loop: LOOP + FETCH cur INTO vip, peerL3; + IF done THEN + LEAVE read_loop; + END IF; + + INSERT INTO VipPeerL3NetworkRefVO (`vipUuid`, `l3NetworkUuid`, `lastOpDate`, `createDate`) + VALUES (vip, peerL3, CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP()); + + END LOOP; + CLOSE cur; + # work around a bug of mysql : jira.mariadb.org/browse/MDEV-4602 + SELECT CURTIME(); + END $$ +DELIMITER ; + +CALL migrateVipPeerL3Network(); +DROP PROCEDURE IF EXISTS migrateVipPeerL3Network; + +ALTER TABLE zstack.VipVO DROP FOREIGN KEY fkVipVOL3NetworkEO1; +ALTER TABLE zstack.VipVO DROP COLUMN peerL3NetworkUuid; + + +INSERT IGNORE INTO SystemTagVO (`uuid`, `resourceUuid`, `resourceType`, `inherent`, `type`, `tag`, `createDate`, `lastOpDate`) +SELECT REPLACE(UUID(),'-',''), t.uuid, 'LdapServerVO', 0, 'System', "ldapUseAsLoginName::uid", CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP() FROM LdapServerVO t; + +INSERT IGNORE INTO SystemTagVO (`uuid`, `resourceUuid`, `resourceType`, `inherent`, `type`, `tag`, `createDate`, `lastOpDate`) +SELECT REPLACE(UUID(),'-',''), t.uuid, 'LdapServerVO', 0, 'System', "ldapServerType::OpenLdap", CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP() FROM LdapServerVO t; diff --git a/conf/tools/flyway-6.3.1/sql/V2.2.3__schema.sql b/conf/tools/flyway-6.3.1/sql/V2.2.3__schema.sql new file mode 100644 index 00000000000..cffb4f7c0e5 --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V2.2.3__schema.sql @@ -0,0 +1,63 @@ + +-- New feature: affinity group -- add 2 tables: AffinityGroupVO, AffinityGroupUsageVO +CREATE TABLE IF NOT EXISTS `AffinityGroupVO` ( + `uuid` VARCHAR(32) NOT NULL UNIQUE COMMENT 'uuid', + `name` VARCHAR(255) NOT NULL, + `description` VARCHAR(2048) DEFAULT NULL, + `policy` VARCHAR(255) NOT NULL, + `version` VARCHAR(255) NOT NULL, + `type` VARCHAR(255) NOT NULL, + `appliance` VARCHAR(255) NOT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `AffinityGroupUsageVO` ( + `uuid` VARCHAR(32) NOT NULL UNIQUE COMMENT 'uuid', + `affinityGroupUuid` VARCHAR(32) NOT NULL, + `resourceType` VARCHAR(255) NOT NULL, + `resourceUuid` VARCHAR(32) NOT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`), + CONSTRAINT `fkAffinityGroupUsageVOcreateAffinityGroupVO` FOREIGN KEY (`affinityGroupUuid`) REFERENCES `zstack`.`AffinityGroupVO` (`uuid`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +DELIMITER $$ +CREATE PROCEDURE insertApplianceVmAffinityGroup() + BEGIN + DECLARE applianceVmAffinityGroupUuid VARCHAR(32); + SET applianceVmAffinityGroupUuid = REPLACE(UUID(), '-', ''); + INSERT INTO zstack.AffinityGroupVO (uuid, name, description, policy, version, type, appliance, lastOpDate, createDate) + values(applianceVmAffinityGroupUuid, 'zstack.affinity.group.for.virtual.router', 'zstack.affinity.group.for.virtual.router', 'ANTIAFFINITYSOFT', '1.0', 'HOST', 'VROUTER', CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP()); + INSERT INTO zstack.ResourceVO(uuid, resourceName, resourceType) values(applianceVmAffinityGroupUuid, 'zstack.affinity.group.for.virtual.router', 'AffinityGroupVO'); + END $$ +DELIMITER ; + +call insertApplianceVmAffinityGroup(); +DROP PROCEDURE IF EXISTS insertApplianceVmAffinityGroup; + +SET FOREIGN_KEY_CHECKS = 0; +ALTER TABLE AliyunSnapshotVO DROP FOREIGN KEY fkAliyunSnapshotVOAliyunDiskVO; +ALTER TABLE AliyunSnapshotVO ADD CONSTRAINT fkAliyunSnapshotVOAliyunDiskVO FOREIGN KEY (diskUuid) REFERENCES AliyunDiskVO (uuid) ON DELETE SET NULL; +SET FOREIGN_KEY_CHECKS = 1; + +DELIMITER $$ +CREATE PROCEDURE cleanDeprecatedGlobalConfig() + BEGIN + DECLARE config_value VARCHAR(32) DEFAULT 'vnc'; + SELECT `value` into config_value FROM `zstack`.`GlobalConfigVO` WHERE `name`='vm.consoleMode' and `category`='kvm'; + UPDATE `zstack`.`GlobalConfigVO` SET `value`=config_value WHERE `name`='vm.consoleMode' and `category`='mevoco'; + DELETE FROM `zstack`.`GlobalConfigVO` WHERE `name`='vm.consoleMode' and `category`='kvm'; + END $$ +DELIMITER ; + +call cleanDeprecatedGlobalConfig(); +DROP PROCEDURE IF EXISTS cleanDeprecatedGlobalConfig; + +ALTER TABLE `UserTagVO` MODIFY `tag` TEXT NOT NULL; +ALTER TABLE `SystemTagVO` MODIFY `tag` TEXT NOT NULL; + + + diff --git a/conf/tools/flyway-6.3.1/sql/V2.2.4__schema.sql b/conf/tools/flyway-6.3.1/sql/V2.2.4__schema.sql new file mode 100644 index 00000000000..b21eb1c6575 --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V2.2.4__schema.sql @@ -0,0 +1,42 @@ +ALTER TABLE VCenterPrimaryStorageVO ADD COLUMN datastore varchar(64) DEFAULT NULL; +ALTER TABLE VCenterBackupStorageVO ADD COLUMN datastore varchar(64) DEFAULT NULL; + +INSERT INTO ResourceVO (uuid, resourceName, resourceType) SELECT t.uuid, t.name, "IPsecConnectionVO" FROM IPsecConnectionVO t; + +CREATE TABLE `zstack`.`LongJobVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `name` varchar(255) NOT NULL, + `description` varchar(2048) DEFAULT NULL, + `apiId` varchar(32) NOT NULL, -- to query from TaskProgressVO + `jobName` varchar(255) NOT NULL, + `jobData` text NOT NULL, + `jobResult` text, + `state` varchar(255) NOT NULL, + `targetResourceUuid` varchar(32) DEFAULT NULL, + `managementNodeUuid` varchar(32) DEFAULT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`uuid`), + CONSTRAINT `fkLongJobVOManagementNodeVO` FOREIGN KEY (`managementNodeUuid`) REFERENCES `ManagementNodeVO` (`uuid`) ON DELETE SET NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +ALTER TABLE EcsInstanceVO ADD COLUMN publicIpAddress varchar(32) DEFAULT NULL; +DELETE FROM SystemTagVO WHERE tag LIKE 'publicIp::%' AND resourceType='EcsInstanceVO'; + +ALTER TABLE AsyncRestVO MODIFY COLUMN `result` mediumtext DEFAULT NULL; + +UPDATE AffinityGroupVO SET policy = "ANTISOFT" where policy = "ANTIAFFINITYSOFT"; + +-- VipQos table +CREATE TABLE IF NOT EXISTS `zstack`.`VipQosVO` ( + `uuid` VARCHAR(32) NOT NULL UNIQUE COMMENT 'uuid', + `vipUuid` VARCHAR(32) NOT NULL, + `port` int(16) unsigned, + `inboundBandwidth` bigint unsigned, + `outboundBandwidth` bigint unsigned, + `type` VARCHAR(255) NOT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`), + CONSTRAINT `fkVipQosVOVipVO` FOREIGN KEY (`vipUuid`) REFERENCES `zstack`.`VipVO` (`uuid`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; diff --git a/conf/tools/flyway-6.3.1/sql/V2.3.0__schema.sql b/conf/tools/flyway-6.3.1/sql/V2.3.0__schema.sql new file mode 100755 index 00000000000..6f28f8ddabf --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V2.3.0__schema.sql @@ -0,0 +1,43 @@ +-- vpc ipsec +CREATE TABLE IF NOT EXISTS `IPsecL3NetworkRefVO` ( + `uuid` VARCHAR(32) NOT NULL UNIQUE COMMENT 'uuid', + `connectionUuid` VARCHAR(32) NOT NULL, + `l3NetworkUuid` VARCHAR(32) NOT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`), + CONSTRAINT `fkIPsecL3NetworkRefVOIPsecConnectionVO` FOREIGN KEY (`connectionUuid`) REFERENCES `zstack`.`IPsecConnectionVO` (`uuid`) ON DELETE CASCADE, + CONSTRAINT `fkIPsecL3NetworkRefVOL3NetworkEO` FOREIGN KEY (`l3NetworkUuid`) REFERENCES `zstack`.`L3NetworkEO` (`uuid`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +DELIMITER $$ +CREATE PROCEDURE migrateIPsecL3Network() + BEGIN + DECLARE uuid VARCHAR(32); + DECLARE connectionUuid VARCHAR(32); + DECLARE l3NetworkUuid VARCHAR(32); + DECLARE done INT DEFAULT FALSE; + DECLARE cur CURSOR FOR SELECT ipsec.uuid, ipsec.l3NetworkUuid FROM zstack.IPsecConnectionVO ipsec; + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; + OPEN cur; + read_loop: LOOP + FETCH cur INTO connectionUuid, l3NetworkUuid; + IF done THEN + LEAVE read_loop; + END IF; + + SET uuid = REPLACE(UUID(), '-', ''); + SELECT uuid, connectionUuid, l3NetworkUuid; + INSERT INTO zstack.IPsecL3NetworkRefVO (uuid, connectionUuid, l3NetworkUuid, lastOpDate, createDate) + values(uuid, connectionUuid, l3NetworkUuid, CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP()); + END LOOP; + CLOSE cur; + # work around a bug of mysql : jira.mariadb.org/browse/MDEV-4602 + SELECT CURTIME(); + END $$ +DELIMITER ; + +call migrateIPsecL3Network(); +DROP PROCEDURE IF EXISTS migrateIPsecL3Network; +ALTER TABLE zstack.IPsecConnectionVO DROP FOREIGN KEY fkIPsecConnectionVOL3NetworkVO; +ALTER TABLE zstack.IPsecConnectionVO DROP COLUMN l3NetworkUuid; \ No newline at end of file diff --git a/conf/tools/flyway-6.3.1/sql/V2.3.1.2__schema.sql b/conf/tools/flyway-6.3.1/sql/V2.3.1.2__schema.sql new file mode 100644 index 00000000000..1c6f03989ed --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V2.3.1.2__schema.sql @@ -0,0 +1,33 @@ +CREATE TABLE `zstack`.`SharedBlockGroupVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `sharedBlockGroupType` varchar(128) NOT NULL, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`SharedBlockVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `sharedBlockGroupUuid` varchar(32) NOT NULL, + `type` varchar(128) NOT NULL, + `diskUuid` varchar(64) NOT NULL UNIQUE, + `name` varchar(255) NOT NULL, + `description` varchar(2048) DEFAULT NULL, + `state` varchar(64) NOT NULL, + `status` varchar(64) NOT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + CONSTRAINT `fkSharedBlockVOSharedBlockGroupVO` FOREIGN KEY (`sharedBlockGroupUuid`) REFERENCES `zstack`.`SharedBlockGroupVO` (`uuid`) ON DELETE CASCADE, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`SharedBlockGroupPrimaryStorageHostRefVO` ( + `primaryStorageUuid` varchar(32) NOT NULL, + `hostUuid` varchar(32) NOT NULL, + `status` varchar(32) NOT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + `hostId` INT NOT NULL, + CONSTRAINT `fkSharedBlockGroupPrimaryStorageHostRefVOPrimaryStorageEO` FOREIGN KEY (`primaryStorageUuid`) REFERENCES `zstack`.`PrimaryStorageEO` (`uuid`) ON DELETE CASCADE, + CONSTRAINT `fkSharedBlockGroupPrimaryStorageHostRefVOHostEO` FOREIGN KEY (`hostUuid`) REFERENCES `zstack`.`HostEO` (`uuid`) ON DELETE CASCADE, + CONSTRAINT `ukSharedBlockGroupPrimaryStorageHostRefVO` UNIQUE (`primaryStorageUuid`,`hostId`), + PRIMARY KEY (`primaryStorageUuid`, `hostUuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; diff --git a/conf/tools/flyway-6.3.1/sql/V2.3.1__schema.sql b/conf/tools/flyway-6.3.1/sql/V2.3.1__schema.sql new file mode 100755 index 00000000000..58cd85706d5 --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V2.3.1__schema.sql @@ -0,0 +1,209 @@ +UPDATE GarbageCollectorVO SET managementNodeUuid = NULL WHERE managementNodeUuid NOT IN (SELECT uuid FROM ManagementNodeVO); +ALTER TABLE GarbageCollectorVO ADD CONSTRAINT fkGarbageCollectorVOManagementNodeVO FOREIGN KEY (managementNodeUuid) REFERENCES ManagementNodeVO (uuid) ON DELETE SET NULL; + +-- drop deprecated tables from 1.7 +ALTER TABLE AlarmLabelVO DROP FOREIGN KEY fkAlarmLabelVOAlarmVO; +DROP TABLE IF EXISTS `zstack`.`AlarmVO`; +DROP TABLE IF EXISTS `zstack`.`AlarmLabelVO`; + +CREATE TABLE `zstack`.`SNSApplicationEndpointVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `name` varchar(255) NOT NULL, + `description` varchar(2048) DEFAULT NULL, + `type` varchar(128) NOT NULL, + `platformUuid` varchar(32) NOT NULL, + `state` varchar(64) NOT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`SNSEmailEndpointVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `email` varchar(1024) NOT NULL, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`SNSHttpEndpointVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `url` varchar(1024) NOT NULL, + `username` varchar(512) DEFAULT NULL, + `password` varchar(512) DEFAULT NULL, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`SNSDingTalkEndpointVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `url` varchar(1024) NOT NULL, + `atAll` int(1) unsigned NOT NULL, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`SNSDingTalkAtPersonVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `phoneNumber` varchar(64) NOT NULL, + `endpointUuid` varchar(32) NOT NULL, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`SNSApplicationPlatformVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `name` varchar(255) NOT NULL, + `description` varchar(2048) DEFAULT NULL, + `type` varchar(128) NOT NULL, + `state` varchar(64) NOT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`SNSEmailPlatformVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `smtpServer` varchar(255) NOT NULL, + `smtpPort` int unsigned NOT NULL, + `username` varchar(255) NOT NULL, + `password` varchar(255) NOT NULL, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`SNSSubscriberVO` ( + `topicUuid` varchar(32) NOT NULL, + `endpointUuid` varchar(32) NOT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`topicUuid`, `endpointUuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`SNSTopicVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `name` varchar(255) NOT NULL, + `state` varchar(64) NOT NULL, + `description` varchar(2048) DEFAULT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`SNSTextTemplateVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `name` varchar(255) NOT NULL, + `description` varchar(2048) DEFAULT NULL, + `applicationPlatformType` varchar(128) NOT NULL, + `template` text NOT NULL, + `defaultTemplate` int(1) unsigned NOT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`AlarmActionVO` ( + `alarmUuid` varchar(32) NOT NULL, + `actionUuid` varchar(32) NOT NULL, + `actionType` varchar(128) NOT NULL, + PRIMARY KEY (`alarmUuid`, `actionUuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`AlarmLabelVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `key` varchar(128) NOT NULL, + `value` text NOT NULL, + `operator` varchar(128) NOT NULL, + `alarmUuid` varchar(32) NOT NULL, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +ALTER TABLE `zstack`.`AlarmLabelVO` ADD UNIQUE INDEX(`alarmUuid`,`key`); + +CREATE TABLE `zstack`.`AlarmVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `name` varchar(255) NOT NULL, + `description` varchar(2048) DEFAULT NULL, + `comparisonOperator` varchar(128) NOT NULL, + `period` int unsigned NOT NULL, + `repeatInterval` int unsigned NOT NULL, + `namespace` varchar(255) NOT NULL, + `metricName` varchar(512) NOT NULL, + `threshold` double NOT NULL, + `status` varchar(64) NOT NULL, + `state` varchar(64) NOT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`EventSubscriptionVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `namespace` varchar(255) NOT NULL, + `eventName` varchar(255) NOT NULL, + `state` varchar(64) NOT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`EventSubscriptionActionVO` ( + `subscriptionUuid` varchar(32) NOT NULL, + `actionUuid` varchar(32) NOT NULL, + `actionType` varchar(128) NOT NULL, + PRIMARY KEY (`subscriptionUuid`, `actionUuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`EventSubscriptionLabelVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `key` varchar(1024) NOT NULL, + `value` text NOT NULL, + `operator` varchar(128) NOT NULL, + `subscriptionUuid` varchar(32) NOT NULL, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- Foreign keys for table SNSApplicationEndpointVO + +ALTER TABLE SNSApplicationEndpointVO ADD CONSTRAINT fkSNSApplicationEndpointVOSNSApplicationPlatformVO FOREIGN KEY (platformUuid) REFERENCES SNSApplicationPlatformVO (uuid) ; + +-- Foreign keys for table SNSDingTalkAtPersonVO + +ALTER TABLE SNSDingTalkAtPersonVO ADD CONSTRAINT fkSNSDingTalkAtPersonVOSNSDingTalkEndpointVO FOREIGN KEY (endpointUuid) REFERENCES SNSDingTalkEndpointVO (uuid) ; + +-- Foreign keys for table SNSDingTalkEndpointVO + +ALTER TABLE SNSDingTalkEndpointVO ADD CONSTRAINT fkSNSDingTalkEndpointVOSNSApplicationEndpointVO FOREIGN KEY (uuid) REFERENCES SNSApplicationEndpointVO (uuid) ON UPDATE RESTRICT ON DELETE CASCADE; + +-- Foreign keys for table SNSEmailEndpointVO + +ALTER TABLE SNSEmailEndpointVO ADD CONSTRAINT fkSNSEmailEndpointVOSNSApplicationEndpointVO FOREIGN KEY (uuid) REFERENCES SNSApplicationEndpointVO (uuid) ON UPDATE RESTRICT ON DELETE CASCADE; + +-- Foreign keys for table SNSEmailPlatformVO + +ALTER TABLE SNSEmailPlatformVO ADD CONSTRAINT fkSNSEmailPlatformVOSNSApplicationPlatformVO FOREIGN KEY (uuid) REFERENCES SNSApplicationPlatformVO (uuid) ON UPDATE RESTRICT ON DELETE CASCADE; + +-- Foreign keys for table SNSHttpEndpointVO + +ALTER TABLE SNSHttpEndpointVO ADD CONSTRAINT fkSNSHttpEndpointVOSNSApplicationEndpointVO FOREIGN KEY (uuid) REFERENCES SNSApplicationEndpointVO (uuid) ON UPDATE RESTRICT ON DELETE CASCADE; + +-- Foreign keys for table SNSSubscriberVO + +ALTER TABLE SNSSubscriberVO ADD CONSTRAINT fkSNSSubscriberVOSNSApplicationEndpointVO FOREIGN KEY (endpointUuid) REFERENCES SNSApplicationEndpointVO (uuid) ON DELETE CASCADE; +ALTER TABLE SNSSubscriberVO ADD CONSTRAINT fkSNSSubscriberVOSNSTopicVO FOREIGN KEY (topicUuid) REFERENCES SNSTopicVO (uuid) ON DELETE CASCADE; + +-- Foreign keys for table AlarmActionVO + +ALTER TABLE AlarmActionVO ADD CONSTRAINT fkAlarmActionVOAlarmVO FOREIGN KEY (alarmUuid) REFERENCES AlarmVO (uuid) ON DELETE CASCADE; + +-- Foreign keys for table AlarmLabelVO + +ALTER TABLE AlarmLabelVO ADD CONSTRAINT fkAlarmLabelVOAlarmVO FOREIGN KEY (alarmUuid) REFERENCES AlarmVO (uuid) ON DELETE CASCADE; + +-- Foreign keys for table EventSubscriptionActionVO + +ALTER TABLE EventSubscriptionActionVO ADD CONSTRAINT fkEventSubscriptionActionVOEventSubscriptionVO FOREIGN KEY (subscriptionUuid) REFERENCES EventSubscriptionVO (uuid) ON DELETE CASCADE; + +-- Foreign keys for table EventSubscriptionLabelVO + +ALTER TABLE EventSubscriptionLabelVO ADD CONSTRAINT fkEventSubscriptionLabelVOEventSubscriptionVO FOREIGN KEY (subscriptionUuid) REFERENCES EventSubscriptionVO (uuid) ON DELETE CASCADE; + +UPDATE SchedulerTriggerVO set repeatCount=0 where repeatCount is NULL; + +UPDATE SystemTagVO SET tag = CONCAT(tag, '::0') WHERE resourceType = "VmInstanceVO" AND type = "System" AND tag LIKE "iso::%" AND tag NOT LIKE "iso::%::%"; + +ALTER TABLE AffinityGroupVO ADD COLUMN state varchar(128) DEFAULT "Enabled"; diff --git a/conf/tools/flyway-6.3.1/sql/V2.3.2.1__schema.sql b/conf/tools/flyway-6.3.1/sql/V2.3.2.1__schema.sql new file mode 100755 index 00000000000..19da72e3396 --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V2.3.2.1__schema.sql @@ -0,0 +1 @@ +update zstack.ApplianceVmVO set applianceVmType='vpcvrouter_temp' where applianceVmType='vpcvrouter'; \ No newline at end of file diff --git a/conf/tools/flyway-6.3.1/sql/V2.3.2__schema.sql b/conf/tools/flyway-6.3.1/sql/V2.3.2__schema.sql new file mode 100755 index 00000000000..f6fac2c6023 --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V2.3.2__schema.sql @@ -0,0 +1,130 @@ +SET FOREIGN_KEY_CHECKS = 0; +CREATE TABLE IF NOT EXISTS `DahoDCAccessVO` ( + `uuid` varchar(32) UNIQUE NOT NULL, + `dcName` varchar(128) NOT NULL, + `building` varchar(64) DEFAULT NULL, + `dcLocation` varchar(64) NOT NULL, + `room` varchar(64) DEFAULT NULL, + `rackNo` varchar(64) DEFAULT NULL, + `deviceType` varchar(32) NOT NULL, + `portNo` varchar(32) DEFAULT NULL, + `deviceNo` varchar(32) DEFAULT NULL, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`uuid`), + CONSTRAINT fkDahoDCAccessVODahoConnectionVO FOREIGN KEY (uuid) REFERENCES DahoConnectionVO (uuid) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `DahoConnectionVO` ( + `uuid` varchar(32) UNIQUE NOT NULL, + `connectionId` varchar(128) NOT NULL, + `name` varchar(255) NOT NULL, + `description` varchar(1024) DEFAULT NULL, + `bandwidthMbps` decimal(8,1) NOT NULL, + `status` varchar(32) NOT NULL, + `type` varchar(32) NOT NULL, + `contractEndTime` timestamp DEFAULT '0000-00-00 00:00:00', + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `DahoVllsVO` ( + `uuid` varchar(32) UNIQUE NOT NULL, + `vllId` varchar(64) NOT NULL, + `vlanId` int(32) NOT NULL, + `name` varchar(32) NOT NULL, + `description` varchar(128) DEFAULT NULL, + `bandwidthMbps` bigint unsigned NOT NULL, + `dataCenterUuid` varchar(32) DEFAULT NULL, + `type` varchar(32) NOT NULL, + `status` varchar(32) NOT NULL, + `expirePolicy` varchar(32) NOT NULL, + `connZUuid` varchar(32) NOT NULL, + `connAUuid` varchar(32) NOT NULL, + `startDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`uuid`), + CONSTRAINT fkDahoVllsVODahoConnectionVO FOREIGN KEY (connZUuid) REFERENCES DahoConnectionVO (uuid) ON DELETE RESTRICT, + CONSTRAINT fkDahoVllsVODahoCloudConnectionVO FOREIGN KEY (connAUuid) REFERENCES DahoCloudConnectionVO (uuid) ON DELETE RESTRICT +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `DahoCloudConnectionVO` ( + `uuid` varchar(32) UNIQUE NOT NULL, + `name` varchar(255) NOT NULL, + `connectionId` varchar(128) NOT NULL, + `description` varchar(1024) DEFAULT NULL, + `bandwidth` bigint unsigned NOT NULL, + `usedBandwidth` bigint unsigned NOT NULL, + `cloud` varchar(32) NOT NULL, + `dataCenterUuid` varchar(32) DEFAULT NULL, + `accessPointId` varchar(32) NOT NULL, + `accessPointName` varchar(32) NOT NULL, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`uuid`), + CONSTRAINT fkDahoCloudConnectionVODataCenterVO FOREIGN KEY (dataCenterUuid) REFERENCES DataCenterVO (uuid) ON DELETE RESTRICT +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `DahoVllVbrRefVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `vllUuid` varchar(32) NOT NULL, + `vbrUuid` varchar(32) NOT NULL, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`id`), + CONSTRAINT fkDahoVllVbrRefVODahoVllsVO FOREIGN KEY (vllUuid) REFERENCES DahoVllsVO (uuid) ON DELETE CASCADE, + CONSTRAINT fkDahoVllVbrRefVOVirtualBorderRouterVO FOREIGN KEY (vbrUuid) REFERENCES VirtualBorderRouterVO (uuid) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +RENAME TABLE VirtualRouterInterfaceVO to AliyunRouterInterfaceVO; +ALTER TABLE AliyunRouterInterfaceVO MODIFY COLUMN oppositeInterfaceUuid varchar(32) DEFAULT NULL; +SET FOREIGN_KEY_CHECKS = 1; +ALTER TABLE CephPrimaryStoragePoolVO ADD availableCapacity bigint(20) unsigned NOT NULL DEFAULT 0; +ALTER TABLE CephPrimaryStoragePoolVO ADD usedCapacity bigint(20) unsigned NOT NULL DEFAULT 0; +ALTER TABLE CephPrimaryStoragePoolVO ADD replicatedSize int unsigned; + +ALTER TABLE CephBackupStorageVO ADD poolAvailableCapacity bigint(20) unsigned NOT NULL DEFAULT 0; +ALTER TABLE CephBackupStorageVO ADD poolUsedCapacity bigint(20) unsigned NOT NULL DEFAULT 0; +ALTER TABLE CephBackupStorageVO ADD poolReplicatedSize int unsigned; + +CREATE TABLE `zstack`.`CertificateVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `name` varchar(255) NOT NULL, + `description` varchar(2048), + `certificate` text NOT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`LoadBalancerListenerCertificateRefVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `listenerUuid` varchar(32) NOT NULL, + `certificateUuid` varchar(32) NOT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`id`), + CONSTRAINT `fkLoadBalancerListenerCertificateRefVOLoadBalancerListenerVO` FOREIGN KEY (`listenerUuid`) REFERENCES `zstack`.`LoadBalancerListenerVO` (`uuid`) ON DELETE CASCADE, + CONSTRAINT `fkLoadBalancerListenerCertificateRefVOCertificateVO` FOREIGN KEY (`certificateUuid`) REFERENCES `zstack`.`CertificateVO` (`uuid`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`L3NetworkHostRouteVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `l3NetworkUuid` varchar(32) NOT NULL COMMENT 'l3 network uuid', + `prefix` varchar(255) NOT NULL, + `nexthop` varchar(255) NOT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP COMMENT 'last operation date', + `createDate` timestamp, + PRIMARY KEY (`id`), + CONSTRAINT `fkL3NetworkHostRouteVOL3NetworkEO` FOREIGN KEY (`l3NetworkUuid`) REFERENCES `zstack`.`L3NetworkEO` (`uuid`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +UPDATE `SchedulerJobVO` SET `jobData` = CONCAT('{"uuid":"', uuid, '",' + ,'"targetResourceUuid":"', targetResourceUuid, '",' + ,'"name":"', name,'",' + ,'"createDate":"', Json_getKeyValue(jobData, 'createDate'), '",' + ,'"accountUuid":"', Json_getKeyValue(jobData, 'accountUuid'), '"}'); + +ALTER TABLE `SharedBlockVO` modify diskUuid VARCHAR(255) NOT NULL; diff --git a/conf/tools/flyway-6.3.1/sql/V2.4.0.1__schema.sql b/conf/tools/flyway-6.3.1/sql/V2.4.0.1__schema.sql new file mode 100755 index 00000000000..44269d3c9eb --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V2.4.0.1__schema.sql @@ -0,0 +1,27 @@ +-- create VpcRouterVmVO from ApplianceVmVO +DELIMITER $$ +CREATE PROCEDURE generateVpcRouterVmVO() + BEGIN + DECLARE vrUuid varchar(32); + DECLARE done INT DEFAULT FALSE; + DECLARE cur CURSOR FOR SELECT uuid FROM zstack.ApplianceVmVO where applianceVmType = 'vpcvrouter_temp'; + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; + OPEN cur; + read_loop: LOOP + FETCH cur INTO vrUuid; + IF done THEN + LEAVE read_loop; + END IF; + + INSERT IGNORE INTO zstack.VpcRouterVmVO (uuid) values (vrUuid); + + END LOOP; + CLOSE cur; + -- work around a bug of mysql : jira.mariadb.org/browse/MDEV-4602 + SELECT CURTIME(); + END $$ +DELIMITER ; + +CALL generateVpcRouterVmVO(); +DROP PROCEDURE IF EXISTS generateVpcRouterVmVO; +update zstack.ApplianceVmVO set applianceVmType='vpcvrouter' where applianceVmType='vpcvrouter_temp'; \ No newline at end of file diff --git a/conf/tools/flyway-6.3.1/sql/V2.4.0__schema.sql b/conf/tools/flyway-6.3.1/sql/V2.4.0__schema.sql new file mode 100755 index 00000000000..6c7f346ba90 --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V2.4.0__schema.sql @@ -0,0 +1,559 @@ +SET FOREIGN_KEY_CHECKS = 0; +CREATE TABLE `RoleAccountRefVO` ( + `roleUuid` VARCHAR(32) NOT NULL, + `accountUuid` VARCHAR(32) NOT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`roleUuid`,`accountUuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `RolePolicyRefVO` ( + `roleUuid` VARCHAR(32) NOT NULL, + `policyUuid` VARCHAR(32) NOT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`roleUuid`,`policyUuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `RoleUserGroupRefVO` ( + `roleUuid` VARCHAR(32) NOT NULL, + `groupUuid` VARCHAR(32) NOT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`roleUuid`,`groupUuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `RoleUserRefVO` ( + `roleUuid` VARCHAR(32) NOT NULL, + `userUuid` VARCHAR(32) NOT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`roleUuid`,`userUuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `RoleVO` ( + `uuid` VARCHAR(32) NOT NULL, + `name` VARCHAR(255) NOT NULL, + `type` VARCHAR(32) NOT NULL, + `state` VARCHAR(64) NOT NULL, + `description` VARCHAR(2048) DEFAULT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `RolePolicyStatementVO` ( + `uuid` VARCHAR(32) NOT NULL, + `roleUuid` VARCHAR(32) NOT NULL, + `statement` text NOT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `IAM2GroupVirtualIDRefVO` ( + `virtualIDUuid` VARCHAR(32) NOT NULL, + `groupUuid` VARCHAR(32) NOT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`virtualIDUuid`,`groupUuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `IAM2OrganizationAttributeVO` ( + `uuid` VARCHAR(32) NOT NULL, + `name` VARCHAR(2048) NOT NULL, + `value` VARCHAR(2048) DEFAULT NULL, + `type` VARCHAR(32) NOT NULL, + `organizationUuid` VARCHAR(32) NOT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `IAM2OrganizationVO` ( + `uuid` VARCHAR(32) NOT NULL, + `name` VARCHAR(255) NOT NULL, + `description` VARCHAR(2048) DEFAULT NULL, + `state` VARCHAR(64) NOT NULL, + `type` VARCHAR(64) NOT NULL, + `parentUuid` VARCHAR(32) DEFAULT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `IAM2ProjectAttributeVO` ( + `uuid` VARCHAR(32) NOT NULL, + `name` VARCHAR(2048) NOT NULL, + `value` VARCHAR(2048) DEFAULT NULL, + `type` VARCHAR(32) NOT NULL, + `projectUuid` VARCHAR(32) NOT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `IAM2ProjectVirtualIDRefVO` ( + `virtualIDUuid` VARCHAR(32) NOT NULL, + `projectUuid` VARCHAR(32) NOT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`virtualIDUuid`,`projectUuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + + +CREATE TABLE `IAM2ProjectVO` ( + `uuid` VARCHAR(32) NOT NULL, + `name` VARCHAR(255) NOT NULL UNIQUE, + `description` VARCHAR(2048) DEFAULT NULL, + `state` VARCHAR(64) NOT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `IAM2VirtualIDAttributeVO` ( + `uuid` VARCHAR(32) NOT NULL, + `name` VARCHAR(2048) NOT NULL, + `value` VARCHAR(2048) DEFAULT NULL, + `type` VARCHAR(32) NOT NULL, + `virtualIDUuid` VARCHAR(32) NOT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `IAM2VirtualIDGroupAttributeVO` ( + `uuid` VARCHAR(32) NOT NULL, + `name` VARCHAR(2048) NOT NULL, + `value` VARCHAR(2048) DEFAULT NULL, + `type` VARCHAR(32) NOT NULL, + `groupUuid` VARCHAR(32) NOT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `IAM2VirtualIDGroupRefVO` ( + `virtualIDUuid` VARCHAR(32) NOT NULL, + `groupUuid` VARCHAR(32) NOT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`virtualIDUuid`,`groupUuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `IAM2VirtualIDGroupRoleRefVO` ( + `roleUuid` VARCHAR(32) NOT NULL, + `groupUuid` VARCHAR(32) NOT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`roleUuid`,`groupUuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `IAM2VirtualIDGroupVO` ( + `uuid` VARCHAR(32) NOT NULL, + `name` VARCHAR(255) NOT NULL, + `description` VARCHAR(2048) DEFAULT NULL, + `projectUuid` VARCHAR(32) NOT NULL, + `state` VARCHAR(64) NOT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `IAM2VirtualIDRoleRefVO` ( + `virtualIDUuid` VARCHAR(32) NOT NULL, + `roleUuid` VARCHAR(32) NOT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`roleUuid`,`virtualIDUuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `IAM2VirtualIDVO` ( + `uuid` VARCHAR(32) NOT NULL, + `name` VARCHAR(255) NOT NULL UNIQUE, + `description` VARCHAR(2048) DEFAULT NULL, + `password` VARCHAR(2048) NOT NULL, + `state` VARCHAR(64) NOT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +ALTER TABLE PolicyVO ADD COLUMN `type` varchar(32) NOT NULL DEFAULT 'System'; + +CREATE TABLE `SystemRoleVO` ( + `uuid` VARCHAR(32) NOT NULL, + `systemRoleType` VARCHAR(64) NOT NULL, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `IAM2ProjectAccountRefVO` ( + `accountUuid` VARCHAR(32) NOT NULL, + `projectUuid` VARCHAR(32) NOT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`accountUuid`,`projectUuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `IAM2VirtualIDOrganizationRefVO` ( + `virtualIDUuid` VARCHAR(32) NOT NULL, + `organizationUuid` VARCHAR(32) NOT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`virtualIDUuid`,`organizationUuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `IAM2ProjectTemplateVO` ( + `uuid` VARCHAR(32) NOT NULL, + `name` VARCHAR(255) NOT NULL UNIQUE, + `description` VARCHAR(2048) DEFAULT NULL, + `template` text NOT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +ALTER TABLE `zstack`.`SharedResourceVO` ADD COLUMN `permission` int unsigned DEFAULT 1; +ALTER TABLE `zstack`.`SNSTopicVO` ADD COLUMN `ownerType` varchar(32) DEFAULT 'Customized'; +ALTER TABLE `zstack`.`SNSApplicationEndpointVO` ADD COLUMN `ownerType` varchar(32) DEFAULT 'Customized'; + +CREATE TABLE `TicketFlowVO` ( + `uuid` VARCHAR(32) NOT NULL, + `name` VARCHAR(255) NOT NULL, + `description` VARCHAR(2048) DEFAULT NULL, + `collectionUuid` VARCHAR(32) NOT NULL, + `parentFlowUuid` VARCHAR(32) DEFAULT NULL, + `flowContext` text NOT NULL, + `flowContextType` VARCHAR(255) NOT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `TicketFlowCollectionVO` ( + `uuid` VARCHAR(32) NOT NULL, + `name` VARCHAR(255) NOT NULL, + `description` VARCHAR(2048) DEFAULT NULL, + `isDefault` tinyint(1) unsigned DEFAULT 0, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `TicketStatusHistoryVO` ( + `uuid` VARCHAR(32) NOT NULL, + `ticketUuid` VARCHAR(32) NOT NULL, + `fromStatus` VARCHAR(255) NOT NULL, + `toStatus` VARCHAR(255) NOT NULL, + `comment` text DEFAULT NULL, + `operatorUuid` VARCHAR(32) NOT NULL, + `operatorType` VARCHAR(255) NOT NULL, + `operationContext` text DEFAULT NULL, + `operationContextType` VARCHAR(255) DEFAULT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `TicketVO` ( + `uuid` VARCHAR(32) NOT NULL, + `name` VARCHAR(255) DEFAULT NULL, + `description` text DEFAULT NULL, + `status` VARCHAR(255) NOT NULL, + `accountSystemType` VARCHAR(255) NOT NULL, + `accountSystemContext` text DEFAULT NULL, + `requests` text NOT NULL, + `flowCollectionUuid` VARCHAR(32) NOT NULL, + `currentFlowUuid` VARCHAR(32) DEFAULT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `ArchiveTicketVO` ( + `uuid` VARCHAR(32) NOT NULL, + `ticketUuid` VARCHAR(32) NOT NULL, + `accountUuid` VARCHAR(32) NOT NULL, + `name` VARCHAR(255) DEFAULT NULL, + `description` text DEFAULT NULL, + `status` VARCHAR(255) NOT NULL, + `accountSystemType` VARCHAR(255) NOT NULL, + `accountSystemContext` text DEFAULT NULL, + `requests` text NOT NULL, + `flowCollectionUuid` VARCHAR(32) NOT NULL, + `currentFlowUuid` VARCHAR(32) DEFAULT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `ArchiveTicketStatusHistoryVO` ( + `uuid` VARCHAR(32) NOT NULL, + `historyUuid` VARCHAR(32) NOT NULL, + `accountUuid` VARCHAR(32) NOT NULL, + `ticketUuid` VARCHAR(32) NOT NULL, + `fromStatus` VARCHAR(255) NOT NULL, + `toStatus` VARCHAR(255) NOT NULL, + `comment` text DEFAULT NULL, + `operatorUuid` VARCHAR(32) NOT NULL, + `operatorType` VARCHAR(255) NOT NULL, + `operationContext` text DEFAULT NULL, + `operationContextType` VARCHAR(255) DEFAULT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- Foreign keys for table IAM2OrganizationAttributeVO + +ALTER TABLE IAM2OrganizationAttributeVO ADD CONSTRAINT fkIAM2OrganizationAttributeVOIAM2OrganizationVO FOREIGN KEY (organizationUuid) REFERENCES IAM2OrganizationVO (uuid) ; + +-- Foreign keys for table IAM2ProjectAttributeVO + +ALTER TABLE IAM2ProjectAttributeVO ADD CONSTRAINT fkIAM2ProjectAttributeVOIAM2ProjectVO FOREIGN KEY (projectUuid) REFERENCES IAM2ProjectVO (uuid) ; + +-- Foreign keys for table IAM2VirtualIDAttributeVO + +ALTER TABLE IAM2VirtualIDAttributeVO ADD CONSTRAINT fkIAM2VirtualIDAttributeVOIAM2VirtualIDVO FOREIGN KEY (virtualIDUuid) REFERENCES IAM2VirtualIDVO (uuid) ; + +-- Foreign keys for table IAM2VirtualIDGroupAttributeVO + +ALTER TABLE IAM2VirtualIDGroupAttributeVO ADD CONSTRAINT fkIAM2VirtualIDGroupAttributeVOIAM2VirtualIDGroupVO FOREIGN KEY (groupUuid) REFERENCES IAM2VirtualIDGroupVO (uuid) ; + +-- Foreign keys for table IAM2GroupVirtualIDRefVO + +ALTER TABLE IAM2GroupVirtualIDRefVO ADD CONSTRAINT fkIAM2GroupVirtualIDRefVOIAM2VirtualIDGroupVO FOREIGN KEY (groupUuid) REFERENCES IAM2VirtualIDGroupVO (uuid) ON DELETE CASCADE; +ALTER TABLE IAM2GroupVirtualIDRefVO ADD CONSTRAINT fkIAM2GroupVirtualIDRefVOIAM2VirtualIDVO FOREIGN KEY (virtualIDUuid) REFERENCES IAM2VirtualIDVO (uuid) ON DELETE CASCADE; + +-- Foreign keys for table IAM2ProjectAccountRefVO + +ALTER TABLE IAM2ProjectAccountRefVO ADD CONSTRAINT fkIAM2ProjectAccountRefVOAccountVO FOREIGN KEY (accountUuid) REFERENCES AccountVO (uuid) ON DELETE CASCADE; +ALTER TABLE IAM2ProjectAccountRefVO ADD CONSTRAINT fkIAM2ProjectAccountRefVOIAM2ProjectVO FOREIGN KEY (projectUuid) REFERENCES IAM2ProjectVO (uuid) ON DELETE CASCADE; + +-- Foreign keys for table IAM2ProjectVirtualIDRefVO + +ALTER TABLE IAM2ProjectVirtualIDRefVO ADD CONSTRAINT fkIAM2ProjectVirtualIDRefVOIAM2ProjectVO FOREIGN KEY (projectUuid) REFERENCES IAM2ProjectVO (uuid) ON DELETE CASCADE; +ALTER TABLE IAM2ProjectVirtualIDRefVO ADD CONSTRAINT fkIAM2ProjectVirtualIDRefVOIAM2VirtualIDVO FOREIGN KEY (virtualIDUuid) REFERENCES IAM2VirtualIDVO (uuid) ON DELETE CASCADE; + +-- Foreign keys for table IAM2VirtualIDGroupRefVO + +ALTER TABLE IAM2VirtualIDGroupRefVO ADD CONSTRAINT fkIAM2VirtualIDGroupRefVOIAM2VirtualIDGroupVO FOREIGN KEY (groupUuid) REFERENCES IAM2VirtualIDGroupVO (uuid) ON DELETE CASCADE; +ALTER TABLE IAM2VirtualIDGroupRefVO ADD CONSTRAINT fkIAM2VirtualIDGroupRefVOIAM2VirtualIDVO FOREIGN KEY (virtualIDUuid) REFERENCES IAM2VirtualIDVO (uuid) ON DELETE CASCADE; + +-- Foreign keys for table IAM2VirtualIDGroupRoleRefVO + +ALTER TABLE IAM2VirtualIDGroupRoleRefVO ADD CONSTRAINT fkIAM2VirtualIDGroupRoleRefVOIAM2VirtualIDGroupVO FOREIGN KEY (groupUuid) REFERENCES IAM2VirtualIDGroupVO (uuid) ON DELETE CASCADE; +ALTER TABLE IAM2VirtualIDGroupRoleRefVO ADD CONSTRAINT fkIAM2VirtualIDGroupRoleRefVORoleVO FOREIGN KEY (roleUuid) REFERENCES RoleVO (uuid) ON DELETE CASCADE; + +-- Foreign keys for table IAM2VirtualIDOrganizationRefVO + +ALTER TABLE IAM2VirtualIDOrganizationRefVO ADD CONSTRAINT fkIAM2VirtualIDOrganizationRefVOIAM2OrganizationVO FOREIGN KEY (organizationUuid) REFERENCES IAM2OrganizationVO (uuid) ON DELETE CASCADE; +ALTER TABLE IAM2VirtualIDOrganizationRefVO ADD CONSTRAINT fkIAM2VirtualIDOrganizationRefVOIAM2VirtualIDVO FOREIGN KEY (virtualIDUuid) REFERENCES IAM2VirtualIDVO (uuid) ON DELETE CASCADE; + +-- Foreign keys for table IAM2VirtualIDRoleRefVO + +ALTER TABLE IAM2VirtualIDRoleRefVO ADD CONSTRAINT fkIAM2VirtualIDRoleRefVOIAM2VirtualIDVO FOREIGN KEY (virtualIDUuid) REFERENCES IAM2VirtualIDVO (uuid) ON DELETE CASCADE; +ALTER TABLE IAM2VirtualIDRoleRefVO ADD CONSTRAINT fkIAM2VirtualIDRoleRefVORoleVO FOREIGN KEY (roleUuid) REFERENCES RoleVO (uuid) ON DELETE CASCADE; + +ALTER TABLE SharedResourceVO ADD CONSTRAINT fkSharedResourceVOResourceVO FOREIGN KEY (resourceUuid) REFERENCES ResourceVO (uuid) ON DELETE CASCADE; + +UPDATE SNSApplicationEndpointVO SET state = 'Enabled' WHERE state = '0'; +UPDATE SNSApplicationEndpointVO SET state = 'Disabled' WHERE state = '1'; + +-- Foreign keys for table RolePolicyRefVO + +ALTER TABLE RolePolicyRefVO ADD CONSTRAINT fkRolePolicyRefVOPolicyVO FOREIGN KEY (policyUuid) REFERENCES PolicyVO (uuid) ON DELETE CASCADE; +ALTER TABLE RolePolicyRefVO ADD CONSTRAINT fkRolePolicyRefVORoleVO FOREIGN KEY (roleUuid) REFERENCES RoleVO (uuid) ON DELETE CASCADE; + +CREATE TABLE IF NOT EXISTS `NasFileSystemVO` ( + `uuid` VARCHAR(32) NOT NULL UNIQUE, + `name` VARCHAR(255) NOT NULL, + `protocol` VARCHAR(16) NOT NULL, + `fileSystemId` VARCHAR(32) NOT NULL, + `type` VARCHAR(16) NOT NULL, + `description` VARCHAR(1024) DEFAULT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `AliyunNasFileSystemVO` ( + `uuid` VARCHAR(32) NOT NULL UNIQUE, + `dataCenterUuid` VARCHAR(32) NOT NULL, + `storageType` VARCHAR(32) NOT NULL, + PRIMARY KEY (`uuid`), + CONSTRAINT `fkAliyunNasFileSystemVODataCenterVO` FOREIGN KEY (`dataCenterUuid`) REFERENCES `zstack`.`DataCenterVO` (`uuid`) ON DELETE RESTRICT +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `AliyunEbsPrimaryStorageVO` ( + `uuid` VARCHAR(32) NOT NULL UNIQUE, + `appName` varchar(64) DEFAULT NULL, + `aZone` varchar(255) NOT NULL, + `oceanUrl` varchar(255) NOT NULL, + `secretKey` varchar(255) NOT NULL, + `riverClusterId` varchar(255) NOT NULL, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `AliyunNasAccessGroupVO` ( + `uuid` VARCHAR(32) NOT NULL UNIQUE, + `name` VARCHAR(255) NOT NULL, + `dataCenterUuid` VARCHAR(32) NOT NULL, + `type` VARCHAR(16) NOT NULL, + `description` VARCHAR(1024) DEFAULT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`), + CONSTRAINT `fkAliyunNasAccessGroupVODataCenterVO` FOREIGN KEY (`dataCenterUuid`) REFERENCES `zstack`.`DataCenterVO` (`uuid`) ON DELETE RESTRICT +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `AliyunNasAccessRuleVO` ( + `uuid` VARCHAR(32) NOT NULL UNIQUE, + `accessGroupUuid` VARCHAR(32) NOT NULL, + `rule` VARCHAR(16) NOT NULL, + `priority` int(10) unsigned, + `sourceCidr` VARCHAR(32) NOT NULL, + `userAccess` VARCHAR(32) NOT NULL, + `ruleId` VARCHAR(32) NOT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`), + CONSTRAINT `fkAliyunNasAccessRuleVOAliyunNasAccessGroupVO` FOREIGN KEY (`accessGroupUuid`) REFERENCES `zstack`.`AliyunNasAccessGroupVO` (`uuid`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `NasMountTargetVO` ( + `uuid` VARCHAR(32) NOT NULL UNIQUE, + `name` VARCHAR(255) NOT NULL, + `nasFileSystemUuid` VARCHAR(32) NOT NULL, + `mountDomain` VARCHAR(255) NOT NULL, + `type` VARCHAR(16) NOT NULL, + `description` VARCHAR(1024) DEFAULT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`), + CONSTRAINT `fkNasMountTargetVONasFileSystemVO` FOREIGN KEY (`nasFileSystemUuid`) REFERENCES `zstack`.`NasFileSystemVO` (`uuid`) ON DELETE RESTRICT +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `AliyunNasMountTargetVO` ( + `uuid` VARCHAR(32) NOT NULL UNIQUE, + `accessGroupUuid` VARCHAR(32) NOT NULL, + `status` VARCHAR(32) NOT NULL, + PRIMARY KEY (`uuid`), + CONSTRAINT `fkAliyunNasMountTargetVOAliyunNasAccessGroupVO` FOREIGN KEY (`accessGroupUuid`) REFERENCES `zstack`.`AliyunNasAccessGroupVO` (`uuid`) ON DELETE RESTRICT +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `AliyunNasPrimaryStorageFileSystemRefVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `primaryStorageUuid` varchar(32) NOT NULL, + `nasFileSystemUuid` varchar(32) NOT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`id`), + CONSTRAINT `fkPSNasRefVONasFileSystemVO` FOREIGN KEY (`nasFileSystemUuid`) REFERENCES `zstack`.`NasFileSystemVO` (`uuid`) ON DELETE CASCADE, + CONSTRAINT `fkPSNasRefVOPrimaryStorageVO` FOREIGN KEY (`primaryStorageUuid`) REFERENCES `zstack`.`PrimaryStorageEO` (`uuid`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `AliyunNasMountVolumeRefVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `volumeUuid` varchar(32) DEFAULT NULL, + `imageUuid` varchar(32) DEFAULT NULL, + `nasMountUuid` varchar(32) NOT NULL, + `hostUuid` varchar(32) NOT NULL, + `sourceType` varchar(32) NOT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`id`), + CONSTRAINT `fkAliyunNasMountVolumeRefVOVolumeEO` FOREIGN KEY (`volumeUuid`) REFERENCES `zstack`.`VolumeEO` (`uuid`) ON DELETE CASCADE, + CONSTRAINT `fkAliyunNasMountVolumeRefVOImageEO` FOREIGN KEY (`imageUuid`) REFERENCES `zstack`.`ImageEO` (`uuid`) ON DELETE CASCADE, + CONSTRAINT `fkAliyunNasMountVolumeRefVOHostEO` FOREIGN KEY (`hostUuid`) REFERENCES `zstack`.`HostEO` (`uuid`) ON DELETE CASCADE, + CONSTRAINT `fkAliyunNasMountVolumeRefVOAliyunNasMountTargetVO` FOREIGN KEY (`nasMountUuid`) REFERENCES `zstack`.`AliyunNasMountTargetVO` (`uuid`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`PricePciDeviceOfferingRefVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `priceUuid` varchar(32) NOT NULL, + `pciDeviceOfferingUuid` varchar(32) NOT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`id`), + CONSTRAINT `fkPricePciDeviceOfferingRefVOPriceVO` FOREIGN KEY (`priceUuid`) REFERENCES `zstack`.`PriceVO` (`uuid`) ON DELETE CASCADE, + CONSTRAINT `fkPricePciDeviceOfferingRefVOPciDeviceOfferingVO` FOREIGN KEY (`pciDeviceOfferingUuid`) REFERENCES `zstack`.`PciDeviceOfferingVO` (`uuid`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`PciDeviceUsageVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `pciDeviceUuid` varchar(32) NOT NULL, + `vendorId` varchar(64) NOT NULL, + `deviceId` varchar(64) NOT NULL, + `subvendorId` varchar(64) DEFAULT NULL, + `subdeviceId` varchar(64) DEFAULT NULL, + `description` varchar(2048) DEFAULT NULL, + `vmUuid` varchar(32) NOT NULL, + `vmName` varchar(255) DEFAULT NULL, + `status` varchar(64) NOT NULL, + `accountUuid` varchar(32) NOT NULL, + `dateInLong` bigint unsigned NOT NULL, + `inventory` text DEFAULT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +UPDATE PciDeviceVO SET state = 'Enabled' WHERE state = '0'; +UPDATE PciDeviceVO SET state = 'Disabled' WHERE state = '1'; + +UPDATE PciDeviceVO SET status = 'Active' WHERE status = '0'; +UPDATE PciDeviceVO SET status = 'Inactive' WHERE status = '1'; +UPDATE PciDeviceVO SET status = 'Attached' WHERE status = '2'; +UPDATE PciDeviceVO SET status = 'System' WHERE status = '3'; + +UPDATE PciDeviceVO SET type = 'GPU_Video_Controller' WHERE type = '0'; +UPDATE PciDeviceVO SET type = 'GPU_Audio_Controller' WHERE type = '1'; +UPDATE PciDeviceVO SET type = 'GPU_3D_Controller' WHERE type = '2'; +UPDATE PciDeviceVO SET type = 'Moxa_Device' WHERE type = '3'; +UPDATE PciDeviceVO SET type = 'Generic' WHERE type = '4'; + +CREATE TABLE IF NOT EXISTS `VpcRouterDnsVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `vpcRouterUuid` varchar(32) NOT NULL, + `dns` varchar(255) NOT NULL, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`id`), + CONSTRAINT fkVpcRouterDnsVOVirtualRouterVmVO FOREIGN KEY (vpcRouterUuid) REFERENCES VirtualRouterVmVO (uuid) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`VpcRouterVmVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- create VpcRouterVmVO from ApplianceVmVO +DELIMITER $$ +CREATE PROCEDURE generateVpcRouterVmVO() + BEGIN + DECLARE vrUuid varchar(32); + DECLARE done INT DEFAULT FALSE; + DECLARE cur CURSOR FOR SELECT uuid FROM zstack.ApplianceVmVO where applianceVmType = 'vpcvrouter'; + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; + OPEN cur; + read_loop: LOOP + FETCH cur INTO vrUuid; + IF done THEN + LEAVE read_loop; + END IF; + + INSERT INTO zstack.VpcRouterVmVO (uuid) values (vrUuid); + UPDATE zstack.ResourceVO set resourceType='VpcRouterVmVO' where uuid= uuid; + + END LOOP; + CLOSE cur; + # work around a bug of mysql : jira.mariadb.org/browse/MDEV-4602 + SELECT CURTIME(); + END $$ +DELIMITER ; + +CALL generateVpcRouterVmVO(); +DROP PROCEDURE IF EXISTS generateVpcRouterVmVO; +SET FOREIGN_KEY_CHECKS = 1; diff --git a/conf/tools/flyway-6.3.1/sql/V2.5.0__schema.sql b/conf/tools/flyway-6.3.1/sql/V2.5.0__schema.sql new file mode 100644 index 00000000000..3db3842253b --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V2.5.0__schema.sql @@ -0,0 +1,108 @@ +CREATE TABLE IF NOT EXISTS `StackTemplateVO` ( + `uuid` VARCHAR(32) NOT NULL, + `name` VARCHAR(255) NOT NULL, + `description` VARCHAR(2048) DEFAULT NULL, + `type` VARCHAR(32) NOT NULL, + `version` VARCHAR(32) NOT NULL, + `state` tinyint(1) unsigned DEFAULT 1, + `content` text NOT NULL, + `md5sum` varchar(255) DEFAULT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`), + UNIQUE KEY `name` (`name`), + UNIQUE KEY `uuid` (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `ResourceStackVO` ( + `uuid` VARCHAR(32) NOT NULL, + `name` VARCHAR(255) NOT NULL, + `description` VARCHAR(2048) DEFAULT NULL, + `type` VARCHAR(32) NOT NULL, + `version` VARCHAR(32) NOT NULL, + `templateContent` text NOT NULL, + `paramContent` text DEFAULT NULL, + `status` VARCHAR(32) NOT NULL, + `reason` VARCHAR(2048) DEFAULT NULL, + `enableRollback` boolean NOT NULL DEFAULT TRUE, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`), + UNIQUE KEY `name` (`name`), + UNIQUE KEY `uuid` (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `CloudFormationStackResourceRefVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `stackUuid` VARCHAR(32) NOT NULL, + `resourceUuid` VARCHAR(32) NOT NULL, + `resourceType` VARCHAR(255) NOT NULL, + `reserve` boolean NOT NULL DEFAULT TRUE, + `round` int(10) unsigned, + CONSTRAINT `fkCloudFormationStackResourceRefVOResourceStackVO` FOREIGN KEY (`stackUuid`) REFERENCES ResourceStackVO (`uuid`) ON DELETE CASCADE, + CONSTRAINT `fkCloudFormationStackResourceRefVOResourceVO` FOREIGN KEY (`resourceUuid`) REFERENCES ResourceVO (`uuid`) ON DELETE CASCADE, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `CloudFormationStackEventVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `stackUuid` VARCHAR(32) NOT NULL, + `action` VARCHAR(64) NOT NULL, + `resourceName` VARCHAR(128) NOT NULL, + `description` VARCHAR(128) DEFAULT TRUE, + `content` text NOT NULL, + `actionStatus` VARCHAR(16) NOT NULL, + `duration` VARCHAR(64) DEFAULT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + CONSTRAINT `fkCloudFormationStackEventVOResourceStackVO` FOREIGN KEY (`stackUuid`) REFERENCES ResourceStackVO (`uuid`) ON DELETE CASCADE, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- create AccountResourceRefVO for PciDeviceVO +DELIMITER $$ +CREATE PROCEDURE getAdminAccountUUid(OUT adminAccountUuid VARCHAR(32)) + BEGIN + SELECT uuid INTO adminAccountUuid from zstack.AccountVO account where account.name="admin"; + END $$ +DELIMITER ; + +DELIMITER $$ +CREATE PROCEDURE getMaxAccountResourceRefVO(OUT refId bigint(20) unsigned) + BEGIN + SELECT max(id) INTO refId from zstack.AccountResourceRefVO; + END $$ +DELIMITER ; + +DELIMITER $$ +CREATE PROCEDURE generatePciDeviceVOAccountRef() + BEGIN + DECLARE pciDeviceUuid VARCHAR(32); + DECLARE adminAccountUuid VARCHAR(32); + DECLARE refId bigint(20) unsigned; + DECLARE done INT DEFAULT FALSE; + DECLARE cur CURSOR FOR SELECT uuid FROM zstack.PciDeviceVO where uuid not in (SELECT DISTINCT resourceUuid from zstack.AccountResourceRefVO where resourceType="PciDeviceVO"); + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; + OPEN cur; + read_loop: LOOP + FETCH cur INTO pciDeviceUuid; + IF done THEN + LEAVE read_loop; + END IF; + + CALL getAdminAccountUUid(adminAccountUuid); + CALL getMaxAccountResourceRefVO(refId); + INSERT INTO zstack.AccountResourceRefVO (id, accountUuid, ownerAccountUuid, resourceUuid, resourceType, permission, isShared, lastOpDate, createDate) + values(refId + 1, adminAccountUuid, adminAccountUuid, pciDeviceUuid, 'PciDeviceVO', 2, 0, CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP()); + + END LOOP; + CLOSE cur; + # work around a bug of mysql : jira.mariadb.org/browse/MDEV-4602 + SELECT CURTIME(); + END $$ +DELIMITER ; + +CALL generatePciDeviceVOAccountRef(); +DROP PROCEDURE IF EXISTS generatePciDeviceVOAccountRef; +DROP PROCEDURE IF EXISTS getAdminAccountUUid; +DROP PROCEDURE IF EXISTS getMaxAccountResourceRefVO; diff --git a/conf/tools/flyway-6.3.1/sql/V2.5.1__schema.sql b/conf/tools/flyway-6.3.1/sql/V2.5.1__schema.sql new file mode 100644 index 00000000000..e6d92a7d3f3 --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V2.5.1__schema.sql @@ -0,0 +1,2 @@ +ALTER TABLE StackTemplateVO DROP INDEX name; +ALTER TABLE ResourceStackVO DROP INDEX name; \ No newline at end of file diff --git a/conf/tools/flyway-6.3.1/sql/V2.6.0__schema.sql b/conf/tools/flyway-6.3.1/sql/V2.6.0__schema.sql new file mode 100644 index 00000000000..c8246ab6da2 --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V2.6.0__schema.sql @@ -0,0 +1,216 @@ +ALTER TABLE `SchedulerTriggerVO` ADD COLUMN `cron` varchar(32) DEFAULT NULL COMMENT 'interval in cron format'; + +CREATE TABLE IF NOT EXISTS `VolumeBackupVO` ( + `uuid` VARCHAR(32) NOT NULL, + `name` VARCHAR(255) NOT NULL, + `description` VARCHAR(2048) DEFAULT NULL, + `volumeUuid` VARCHAR(32) NOT NULL, + `size` bigint unsigned NOT NULL, + `type` varchar(64) NOT NULL, + `state` varchar(64) NOT NULL, + `status` varchar(64) NOT NULL, + `metadata` text DEFAULT NULL, + `lastOpDate` TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- Foreign keys for table VolumeBackupVO +ALTER TABLE VolumeBackupVO ADD CONSTRAINT fkVolumeBackupVOResourceVO FOREIGN KEY (uuid) REFERENCES ResourceVO (uuid) ON UPDATE RESTRICT ON DELETE CASCADE; +ALTER TABLE VolumeBackupVO ADD CONSTRAINT fkVolumeBackupVOVolumeEO FOREIGN KEY (volumeUuid) REFERENCES VolumeEO (uuid) ON DELETE CASCADE; + +CREATE TABLE IF NOT EXISTS `VolumeBackupStorageRefVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `backupStorageUuid` varchar(32) NOT NULL, + `volumeBackupUuid` varchar(32) NOT NULL, + `status` varchar(64) NOT NULL, + `installPath` VARCHAR(2048) NOT NULL, + `lastOpDate` TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- Foreign keys for table VolumeBackupStorageRefVO +ALTER TABLE VolumeBackupStorageRefVO ADD CONSTRAINT fkVolumeBackupStorageRefVOBackupStorageEO FOREIGN KEY (backupStorageUuid) REFERENCES BackupStorageEO (uuid) ON DELETE CASCADE; +ALTER TABLE VolumeBackupStorageRefVO ADD CONSTRAINT fkVolumeBackupStorageRefVOVolumeBackupVO FOREIGN KEY (volumeBackupUuid) REFERENCES VolumeBackupVO (uuid) ON DELETE CASCADE; + +CREATE TABLE IF NOT EXISTS `VolumeBackupHistoryVO` ( + `uuid` VARCHAR(32) NOT NULL, + `bitmap` VARCHAR(32) NOT NULL, + `lastBackupUuid` VARCHAR(32) NOT NULL, + `lastOpDate` TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- Foreign keys for table VolumeBackupHistoryVO +ALTER TABLE VolumeBackupHistoryVO ADD CONSTRAINT fkVolumeBackupHistoryVOVolumeBackupVO FOREIGN KEY (lastBackupUuid) REFERENCES VolumeBackupVO (uuid) ON DELETE CASCADE; +ALTER TABLE VolumeBackupHistoryVO ADD CONSTRAINT fkVolumeBackupHistoryVOVolumeEO FOREIGN KEY (uuid) REFERENCES VolumeEO (uuid) ON DELETE CASCADE; + +SET FOREIGN_KEY_CHECKS = 0; + +ALTER TABLE AccountResourceRefVO ADD COLUMN `concreteResourceType` varchar(512) NOT NULL; +UPDATE AccountResourceRefVO set concreteResourceType = 'org.zstack.network.l2.vxlan.vxlanNetwork', resourceType = 'L2NetworkVO' WHERE resourceType = 'VxlanNetworkVO'; +ALTER TABLE ResourceVO ADD COLUMN `concreteResourceType` varchar(512) NOT NULL; + +SET FOREIGN_KEY_CHECKS = 1; + +CREATE TABLE `TwoFactorAuthenticationSecretVO` ( + `uuid` VARCHAR(32) NOT NULL, + `secret` VARCHAR(2048) NOT NULL, + `resourceUuid` VARCHAR(32) NOT NULL, + `resourceType` VARCHAR(256) NOT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `CaptchaVO` ( + `uuid` VARCHAR(32) NOT NULL, + `captcha` text NOT NULL, + `verifyCode` VARCHAR(32) NOT NULL, + `targetResourceIdentity` VARCHAR(256) NOT NULL, + `attempts` int(10) unsigned DEFAULT 0, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`), + UNIQUE KEY `uuid` (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `AliyunNasPrimaryStorageMountPointVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `hostUuid` varchar(32) NOT NULL, + `primaryStorageUuid` varchar(32) NOT NULL, + `mountUrl` varchar(512) NOT NULL, + `mountPath` varchar(512) NOT NULL, + `lastErrInfo` varchar(1024) DEFAULT NULL, + `checkTimes` bigint unsigned NOT NULL, + `errorTimes` bigint unsigned DEFAULT 0, + `lastNormalDistance` bigint unsigned DEFAULT 0, + `status` varchar(32) NOT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`id`), + INDEX `idxMountPointVOhostUuid` (`hostUuid`), + CONSTRAINT `fkMountPointVOHostEO` FOREIGN KEY (`hostUuid`) REFERENCES HostEO (`uuid`) ON DELETE CASCADE, + CONSTRAINT `fkMountPointVOPrimaryStorageEO` FOREIGN KEY (`primaryStorageUuid`) REFERENCES PrimaryStorageEO (`uuid`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +DROP PROCEDURE IF EXISTS updatePlatformAdminsWithoutZoneRelation; +DELIMITER $$ +CREATE PROCEDURE updatePlatformAdminsWithoutZoneRelation() + BEGIN + DECLARE virtualIDUuid VARCHAR(32); + DECLARE attributeUuid VARCHAR(32); + DECLARE done INT DEFAULT FALSE; + DECLARE cur CURSOR FOR SELECT vid.uuid FROM IAM2VirtualIDVO vid, IAM2VirtualIDAttributeVO vida WHERE vida.name = '__PlatformAdmin__' AND vida.virtualIDUuid = vid.uuid; + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; + OPEN cur; + read_loop: LOOP + FETCH cur INTO virtualIDUuid; + IF done THEN + LEAVE read_loop; + END IF; + + SET attributeUuid = REPLACE(UUID(), '-', ''); + + IF (select count(*) from IAM2VirtualIDAttributeVO vida where vida.name = '__PlatformAdminRelatedZone__' and vida.virtualIDUuid = virtualIDUuid) = 0 THEN + BEGIN + INSERT INTO zstack.IAM2VirtualIDAttributeVO (`uuid`, `name`, `value`, `type`, `virtualIDUuid`, `lastOpDate`, `createDate`) + values (attributeUuid, '__PlatformAdminRelatedZone__', 'ALL_ZONES', 'Customized', virtualIDUuid, CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP()); + END; + END IF; + END LOOP; + CLOSE cur; + # work around a bug of mysql : jira.mariadb.org/browse/MDEV-4602 + SELECT CURTIME(); + END $$ +DELIMITER ; + +CALL updatePlatformAdminsWithoutZoneRelation(); +DROP PROCEDURE IF EXISTS updatePlatformAdminsWithoutZoneRelation; + +-- TABLES THAT ARE NOT NEEDED IN BAREMETAL V2 +SET FOREIGN_KEY_CHECKS = 0; +DELETE FROM `zstack`.`BaremetalPxeServerVO`; +DELETE FROM `zstack`.`BaremetalChassisVO`; +DELETE FROM `zstack`.`BaremetalHardwareInfoVO`; +DROP TABLE IF EXISTS `zstack`.`BaremetalConsoleProxyVO`; +DROP TABLE IF EXISTS `zstack`.`BaremetalHostBondingVO`; +DROP TABLE IF EXISTS `zstack`.`BaremetalHostCfgVO`; +DROP TABLE IF EXISTS `zstack`.`BaremetalHostNicCfgVO`; + +ALTER TABLE `zstack`.`BaremetalChassisVO` MODIFY COLUMN `ipmiPort` int DEFAULT NULL; +ALTER TABLE `zstack`.`BaremetalChassisVO` ADD COLUMN `state` varchar(32) NOT NULL; +ALTER TABLE `zstack`.`BaremetalChassisVO` ADD COLUMN `zoneUuid` varchar(32) NOT NULL; +ALTER TABLE `zstack`.`BaremetalChassisVO` ADD COLUMN `clusterUuid` varchar(32) NOT NULL; +ALTER TABLE `zstack`.`BaremetalChassisVO` ADD CONSTRAINT fkBaremetalChassisVOZoneEO FOREIGN KEY (zoneUuid) REFERENCES ZoneEO (uuid) ON DELETE RESTRICT; +ALTER TABLE `zstack`.`BaremetalChassisVO` ADD CONSTRAINT fkBaremetalChassisVOClusterEO FOREIGN KEY (clusterUuid) REFERENCES ClusterEO (uuid) ON DELETE RESTRICT; +SET FOREIGN_KEY_CHECKS = 1; + +CREATE TABLE `zstack`.`BaremetalInstanceVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `name` varchar(255) NOT NULL, + `description` varchar(2048) DEFAULT NULL, + `internalId` bigint unsigned NOT NULL, + `zoneUuid` varchar(32) DEFAULT NULL, + `clusterUuid` varchar(32) DEFAULT NULL, + `chassisUuid` varchar(32) DEFAULT NULL, + `imageUuid` varchar(32) DEFAULT NULL, + `platform` varchar(255) NOT NULL, + `managementIp` varchar(255) NOT NULL, + `username` varchar(255) NOT NULL, + `password` varchar(255) NOT NULL, + `port` int unsigned DEFAULT NULL, + `state` varchar(128) NOT NULL, + `status` varchar(128) NOT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +ALTER TABLE `zstack`.`BaremetalInstanceVO` ADD CONSTRAINT fkBaremetalInstanceVOZoneEO FOREIGN KEY (zoneUuid) REFERENCES ZoneEO (uuid) ON DELETE SET NULL; +ALTER TABLE `zstack`.`BaremetalInstanceVO` ADD CONSTRAINT fkBaremetalInstanceVOClusterEO FOREIGN KEY (clusterUuid) REFERENCES ClusterEO (uuid) ON DELETE SET NULL; +ALTER TABLE `zstack`.`BaremetalInstanceVO` ADD CONSTRAINT fkBaremetalInstanceVOBaremetalChassisVO FOREIGN KEY (chassisUuid) REFERENCES BaremetalChassisVO (uuid) ON DELETE RESTRICT; +ALTER TABLE `zstack`.`BaremetalInstanceVO` ADD CONSTRAINT fkBaremetalInstanceVOImageEO FOREIGN KEY (imageUuid) REFERENCES ImageEO (uuid) ON DELETE SET NULL; + +CREATE TABLE `zstack`.`BaremetalNicVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `baremetalInstanceUuid` varchar(32) NOT NULL, + `l3NetworkUuid` varchar(32) DEFAULT NULL, + `usedIpUuid` varchar(32) DEFAULT NULL UNIQUE, + `mac` varchar(17) NOT NULL UNIQUE, + `ip` varchar(128) NOT NULL, + `netmask` varchar(128) DEFAULT NULL, + `gateway` varchar(128) DEFAULT NULL, + `metaData` varchar(255) DEFAULT NULL, + `pxe` tinyint(1) unsigned DEFAULT 0, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +ALTER TABLE `zstack`.`BaremetalNicVO` ADD CONSTRAINT fkBaremetalNicVOBaremetalInstanceVO FOREIGN KEY (baremetalInstanceUuid) REFERENCES BaremetalInstanceVO (uuid) ON DELETE CASCADE; +ALTER TABLE `zstack`.`BaremetalNicVO` ADD CONSTRAINT fkBaremetalNicVOL3NetworkEO FOREIGN KEY (l3NetworkUuid) REFERENCES L3NetworkEO (uuid) ON DELETE SET NULL; +ALTER TABLE `zstack`.`BaremetalNicVO` ADD CONSTRAINT fkBaremetalNicVOUsedIpVO FOREIGN KEY (usedIpUuid) REFERENCES UsedIpVO (uuid) ON DELETE SET NULL; + +CREATE TABLE `zstack`.`BaremetalInstanceSequenceNumberVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`BaremetalImageCacheVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `imageUuid` varchar(32) DEFAULT NULL, + `url` varchar(1024) NOT NULL, + `installUrl` varchar(1024) NOT NULL, + `mediaType` varchar(64) NOT NULL, + `size` bigint unsigned NOT NULL, + `actualSize` bigint unsigned NOT NULL, + `md5sum` varchar(255) NOT NULL, + `utilization` bigint unsigned NOT NULL DEFAULT 0, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +ALTER TABLE BaremetalImageCacheVO ADD CONSTRAINT fkBaremetalImageCacheVOImageEO FOREIGN KEY (imageUuid) REFERENCES ImageEO (uuid) ON DELETE SET NULL; +ALTER TABLE `zstack`.`AliyunNasMountVolumeRefVO` add column dataPath varchar(1024) NOT NULL; diff --git a/conf/tools/flyway-6.3.1/sql/V2.6.1__schema.sql b/conf/tools/flyway-6.3.1/sql/V2.6.1__schema.sql new file mode 100644 index 00000000000..66a38f4b4fe --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V2.6.1__schema.sql @@ -0,0 +1,27 @@ +alter table VmNicVO modify vmInstanceUuid varchar(32) NULL COMMENT 'vm instance uuid'; +alter table VmNicVO modify internalName varchar(128) NULL; + +CREATE TABLE `AliyunProxyVpcVO` ( + `uuid` VARCHAR(32) NOT NULL, + `status` VARCHAR(32) NOT NULL, + `vpcName` VARCHAR(32) DEFAULT NULL, + `cidrBlock` VARCHAR(128) NOT NULL, + `vRouterUuid` VARCHAR(32) NOT NULL, + `description` VARCHAR(255) DEFAULT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + `isDefault` tinyint(1) unsigned DEFAULT 0, + PRIMARY KEY (`uuid`), + UNIQUE KEY `uuid` (`uuid`), + CONSTRAINT `fkAliyunProxyVpcVOVmInstanceEO` FOREIGN KEY (`vRouterUuid`) REFERENCES `VmInstanceEO` (`uuid`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `AliyunProxyVSwitchVO` ( + `uuid` VARCHAR(32) NOT NULL, + `vpcL3NetworkUuid` VARCHAR(32) NOT NULL, + `aliyunProxyVpcUuid` VARCHAR(32) NOT NULL, + `status` VARCHAR(32) NOT NULL, + `isDefault` tinyint(1) unsigned DEFAULT 0, + CONSTRAINT `fkAliyunProxyVSwitchVOAliyunProxyVpcVO` FOREIGN KEY (`aliyunProxyVpcUuid`) REFERENCES `AliyunProxyVpcVO` (`uuid`) ON DELETE CASCADE, + CONSTRAINT `fkAliyunProxyVSwitchVOL3NetworkEO` FOREIGN KEY (`vpcL3NetworkUuid`) REFERENCES `L3NetworkEO` (`uuid`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; \ No newline at end of file diff --git a/conf/tools/flyway-6.3.1/sql/V2.6.2__schema.sql b/conf/tools/flyway-6.3.1/sql/V2.6.2__schema.sql new file mode 100644 index 00000000000..e69de29bb2d diff --git a/conf/tools/flyway-6.3.1/sql/V3.0.0__schema.sql b/conf/tools/flyway-6.3.1/sql/V3.0.0__schema.sql new file mode 100644 index 00000000000..7f602408e26 --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V3.0.0__schema.sql @@ -0,0 +1,130 @@ +ALTER TABLE `CaptchaVO` DROP COLUMN `attempts`; + +CREATE TABLE `LoginAttemptsVO` ( + `uuid` VARCHAR(32) NOT NULL, + `targetResourceIdentity` VARCHAR(256) NOT NULL, + `attempts` int(10) unsigned DEFAULT 0, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`), + UNIQUE KEY `uuid` (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `IscsiServerVO` ( + `uuid` VARCHAR(32) NOT NULL, + `name` VARCHAR(256) NOT NULL, + `ip` VARCHAR(64) NOT NULL, + `port` smallint unsigned DEFAULT 3260, + `state` VARCHAR(32) NOT NULL, + `chapUserName` VARCHAR(256) DEFAULT NULL, + `chapUserPassword` VARCHAR(256) DEFAULT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `IscsiServerClusterRefVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `clusterUuid` VARCHAR(32) NOT NULL, + `iscsiServerUuid` VARCHAR(32) NOT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`id`), + CONSTRAINT `fkIscsiServerClusterRefVOIscsiServerVO` FOREIGN KEY (`iscsiServerUuid`) REFERENCES IscsiServerVO (`uuid`), + CONSTRAINT `fkIscsiServerClusterRefVOClusterEO` FOREIGN KEY (`clusterUuid`) REFERENCES ClusterEO (`uuid`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `IscsiTargetVO` ( + `uuid` VARCHAR(32) NOT NULL, + `iqn` VARCHAR(256) NOT NULL, + `state` VARCHAR(32) NOT NULL, + `iscsiServerUuid` VARCHAR(32) NOT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`), + CONSTRAINT `fkIscsiTargetVOIscsiServerVO` FOREIGN KEY (`iscsiServerUuid`) REFERENCES IscsiServerVO (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `IscsiLunVO` ( + `uuid` VARCHAR(32) NOT NULL, + `wwid` VARCHAR(256) NOT NULL, + `vendor` VARCHAR(256) DEFAULT NULL, + `model` VARCHAR(256) DEFAULT NULL, + `wwn` VARCHAR(256) DEFAULT NULL, + `serial` VARCHAR(256) DEFAULT NULL, + `hctl` VARCHAR(64) DEFAULT NULL, + `type` VARCHAR(128) NOT NULL, + `path` VARCHAR(128) DEFAULT NULL, + `size` bigint unsigned NOT NULL, + `iscsiTargetUuid` VARCHAR(32) NOT NULL, + `multipathDeviceUuid` VARCHAR(32) DEFAULT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`), + CONSTRAINT `fkIscsiLunVOIscsiTargetVO` FOREIGN KEY (`iscsiTargetUuid`) REFERENCES IscsiTargetVO (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +ALTER TABLE `zstack`.`VolumeBackupVO` ADD COLUMN `groupUuid` varchar(32) DEFAULT NULL; + +CREATE TABLE `zstack`.`IAM2TicketFlowCollectionVO` ( + `uuid` varchar(32) NOT NULL, + `projectUuid` varchar(32) NOT NULL, + PRIMARY KEY (`uuid`), + CONSTRAINT fkIAM2TicketFlowCollectionVOTicketFlowCollectionVO FOREIGN KEY (uuid) REFERENCES TicketFlowCollectionVO (uuid) ON UPDATE RESTRICT ON DELETE CASCADE, + CONSTRAINT fkIAM2TicketFlowCollectionVOIAM2ProjectVO FOREIGN KEY (projectUuid) REFERENCES IAM2ProjectVO (uuid) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +ALTER TABLE `TicketFlowCollectionVO` ADD COLUMN `state` varchar(64) NOT NULL; +ALTER TABLE `TicketFlowCollectionVO` ADD COLUMN `status` varchar(64) NOT NULL; +ALTER TABLE `TicketFlowCollectionVO` ADD COLUMN `type` varchar(64) NOT NULL; + +UPDATE `TicketFlowCollectionVO` set `state` = 'Enabled', `status` = 'Valid', `type` = 'iam2'; + +CREATE TABLE `zstack`.`IAM2TicketFlowVO` ( + `uuid` varchar(32) NOT NULL, + `approverUuid` varchar(32) NOT NULL, + `valid` tinyint(1) unsigned NOT NULL, + PRIMARY KEY (`uuid`), + CONSTRAINT fkIAM2TicketFlowVOTicketFlowVO FOREIGN KEY (uuid) REFERENCES TicketFlowVO (uuid) ON UPDATE RESTRICT ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +INSERT INTO ResourceVO (uuid, resourceName, resourceType, concreteResourceType) SELECT t.uuid, t.name, "TicketFlowVO", "org.zstack.ticket.entity.TicketFlowVO" FROM TicketFlowVO t; +INSERT INTO ResourceVO (uuid, resourceName, resourceType, concreteResourceType) SELECT t.uuid, t.name, "TicketFlowCollectionVO", "org.zstack.ticket.entity.TicketFlowCollectionVO" FROM TicketFlowCollectionVO t; + +CREATE TABLE IF NOT EXISTS `DatabaseBackupVO` ( + `uuid` VARCHAR(32) NOT NULL, + `name` VARCHAR(255) NOT NULL, + `description` VARCHAR(2048) DEFAULT NULL, + `size` BIGINT UNSIGNED NOT NULL, + `state` VARCHAR(64) NOT NULL, + `status` VARCHAR(64) NOT NULL, + `metadata` TEXT DEFAULT NULL, + `lastOpDate` TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- Foreign keys for table DatabaseBackupVO +ALTER TABLE DatabaseBackupVO ADD CONSTRAINT fkDatabaseBackupVOResourceVO FOREIGN KEY (uuid) REFERENCES ResourceVO (uuid) ON UPDATE RESTRICT ON DELETE CASCADE; + +CREATE TABLE IF NOT EXISTS `DatabaseBackupStorageRefVO` ( + `id` BIGINT UNSIGNED NOT NULL UNIQUE AUTO_INCREMENT, + `backupStorageUuid` VARCHAR(32) NOT NULL, + `databaseBackupUuid` VARCHAR(32) NOT NULL, + `status` VARCHAR(64) NOT NULL, + `installPath` VARCHAR(2048) NOT NULL, + `exportUrl` VARCHAR(255) DEFAULT NULL, + `lastOpDate` TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- Foreign keys for table DatabaseBackupStorageRefVO +ALTER TABLE DatabaseBackupStorageRefVO ADD CONSTRAINT fkDatabaseBackupStorageRefVOBackupStorageEO FOREIGN KEY (backupStorageUuid) REFERENCES BackupStorageEO (uuid) ON DELETE CASCADE; +ALTER TABLE DatabaseBackupStorageRefVO ADD CONSTRAINT fkDatabaseBackupStorageRefVODatabaseBackupVO FOREIGN KEY (databaseBackupUuid) REFERENCES DatabaseBackupVO (uuid) ON DELETE CASCADE; + +ALTER TABLE EcsImageVO ADD COLUMN `osName` varchar(256) DEFAULT NULL; + +ALTER TABLE EventSubscriptionVO ADD COLUMN name varchar(255) DEFAULT NULL; + +ALTER TABLE `VolumeBackupVO` DROP FOREIGN KEY `fkVolumeBackupVOVolumeEO`; diff --git a/conf/tools/flyway-6.3.1/sql/V3.0.1__schema.sql b/conf/tools/flyway-6.3.1/sql/V3.0.1__schema.sql new file mode 100644 index 00000000000..e7e8e1d9139 --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V3.0.1__schema.sql @@ -0,0 +1,21 @@ +CREATE TABLE `V2VConversionHostVO` ( + `uuid` VARCHAR(32) NOT NULL, + `name` varchar(255) NOT NULL, + `description` VARCHAR(2048) DEFAULT NULL, + `type` VARCHAR(255) NOT NULL, + `hostUuid` varchar(32) NOT NULL, + `storagePath`varchar(2048) NOT NULL, + `state` varchar(32) NOT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`), + UNIQUE KEY `uuid` (`uuid`), + CONSTRAINT fkV2VConversionHostVOHostEO FOREIGN KEY (`hostUuid`) REFERENCES HostEO (`uuid`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +ALTER TABLE `zstack`.`VmNicVO` DROP INDEX `mac`; +ALTER TABLE `zstack`.`VmNicVO` ADD COLUMN `hypervisorType` varchar(64) DEFAULT NULL; +ALTER TABLE `zstack`.`VmNicVO` ADD CONSTRAINT `ukVmNicVO` UNIQUE (`hypervisorType`,`mac`); +UPDATE `zstack`.`VmNicVO` nic INNER JOIN `zstack`.`VmInstanceVO` vm ON nic.vmInstanceUuid = vm.uuid SET nic.hypervisorType = vm.hypervisorType WHERE nic.vmInstanceUuid IS NOT NULL; + +ALTER TABLE `zstack`.`BaremetalImageCacheVO` MODIFY `md5sum` varchar(255) DEFAULT NULL; diff --git a/conf/tools/flyway-6.3.1/sql/V3.1.0__schema.sql b/conf/tools/flyway-6.3.1/sql/V3.1.0__schema.sql new file mode 100644 index 00000000000..26df49be25c --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V3.1.0__schema.sql @@ -0,0 +1,329 @@ +ALTER TABLE `AlarmVO` ADD COLUMN `type` varchar(32) NOT NULL; +UPDATE `AlarmVO` SET `type` = 'Any'; + +CREATE TABLE IF NOT EXISTS `V2VConversionCacheVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `conversionHostUuid` varchar(32) NOT NULL, + `srcVmUrl` varchar(255) NOT NULL, + `installPath` varchar(255) NOT NULL, + `deviceId` int unsigned NOT NULL, + `virtualSize` bigint unsigned NOT NULL, + `actualSize` bigint unsigned NOT NULL, + `bootMode` varchar(64) DEFAULT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE UNIQUE INDEX `type` ON NetworkServiceProviderVO(`type`); +CREATE INDEX idxVmUsageVOaccountUuid ON VmUsageVO(accountUuid, dateInLong); + +DROP PROCEDURE IF EXISTS updateClusterHostCpuModelCheckTag; +DELIMITER $$ +CREATE PROCEDURE updateClusterHostCpuModelCheckTag() + BEGIN + DECLARE clusterUuid VARCHAR(32); + DECLARE tagUuid VARCHAR(32); + DECLARE done INT DEFAULT FALSE; + DECLARE cur CURSOR FOR SELECT uuid FROM ClusterVO; + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; + OPEN cur; + read_loop: LOOP + FETCH cur INTO clusterUuid; + IF done THEN + LEAVE read_loop; + END IF; + + SET tagUuid = REPLACE(UUID(), '-', ''); + + IF (select count(*) from SystemTagVO systemTag where systemTag.type = 'System' and systemTag.tag like '%clusterKVMCpuModel::%') != 0 THEN + BEGIN + INSERT INTO zstack.SystemTagVO (`uuid`, `resourceUuid`, `resourceType`, `inherent`, `type`, `tag`, `lastOpDate`, `createDate`) + values (tagUuid, clusterUuid, 'ClusterVO', 0, 'System', 'check::cluster::cpu::model::true', CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP()); + END; + END IF; + END LOOP; + CLOSE cur; + # work around a bug of mysql : jira.mariadb.org/browse/MDEV-4602 + SELECT CURTIME(); + END $$ +DELIMITER ; + +CALL updateClusterHostCpuModelCheckTag(); +DROP PROCEDURE IF EXISTS updateClusterHostCpuModelCheckTag; + +ALTER TABLE `zstack`.`LongJobVO` MODIFY COLUMN `jobData` mediumtext NOT NULL; +ALTER TABLE `zstack`.`LongJobVO` MODIFY COLUMN `jobResult` mediumtext DEFAULT NULL; + +CREATE TABLE `AutoScalingGroupVO` ( + `uuid` VARCHAR(32) NOT NULL UNIQUE, + `name` VARCHAR(256) NOT NULL, + `scalingResourceType` VARCHAR(256) NOT NULL, + `removalPolicy` VARCHAR(256) NOT NULL, + `minResourceSize` int(10) NOT NULL, + `maxResourceSize` int(10) NOT NULL, + `state` VARCHAR(256) NOT NUll, + `defaultCooldown` LONG NOT NULL, + `description` VARCHAR(256) DEFAULT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `AutoScalingTemplateVO` ( + `uuid` VARCHAR(32) NOT NULL UNIQUE, + `name` VARCHAR(256) NOT NULL, + `type` VARCHAR(256) NOT NULL, + `state` VARCHAR(256) NOT NULL, + `description` VARCHAR(256) DEFAULT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `AutoScalingTemplateGroupRefVO` ( + `groupUuid` varchar(32) NOT NULL UNIQUE, + `templateUuid` varchar(32) NOT NULL, + `lastOpDate` TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`groupUuid`), + CONSTRAINT `fkAutoScalingTemplateGroupRefVOAutoScalingGroupVO` FOREIGN KEY (`groupUuid`) REFERENCES `AutoScalingGroupVO` (`uuid`) ON DELETE CASCADE, + CONSTRAINT `fkAutoScalingTemplateGroupRefVOAutoScalingTemplateVO` FOREIGN KEY (`templateUuid`) REFERENCES `AutoScalingTemplateVO` (`uuid`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `AutoScalingVmTemplateVO` ( + `uuid` VARCHAR(32) NOT NULL UNIQUE, + `vmInstanceName` VARCHAR(256) NOT NULL, + `vmInstanceDescription` VARCHAR(256) DEFAULT NULL, + `vmInstanceType` VARCHAR(256) NOT NULL, + `vmInstanceOfferingUuid` VARCHAR(32) NOT NULL, + `imageUuid` VARCHAR(32) NOT NULL, + `l3NetworkUuids` text DEFAULT NULL, + `rootDiskOfferingUuid` VARCHAR(32) DEFAULT NULL, + `dataDiskOfferingUuids` text DEFAULT NULL, + `vmInstanceZoneUuid` VARCHAR(32) DEFAULT NULL, + `vmInstanceClusterUuid` VARCHAR(32) DEFAULT NULL, + `hostUuid` VARCHAR(32) DEFAULT NULL, + `primaryStorageUuidForRootVolume` VARCHAR(32) DEFAULT NULL, + `defaultL3NetworkUuid` VARCHAR(32) DEFAULT NULL, + `strategy` VARCHAR(32) DEFAULT NULL, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `AutoScalingRuleVO` ( + `uuid` VARCHAR(32) NOT NULL UNIQUE, + `name` VARCHAR(256) NOT NULL, + `scalingGroupUuid` VARCHAR(32) NOT NULL, + `type` VARCHAR(256) NOT NULL, + `description` VARCHAR(256) DEFAULT NULL, + `cooldown` LONG DEFAULT NULL, + `state` VARCHAR(256) NOT NULL, + `status` VARCHAR(256) NOT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`), + CONSTRAINT `fkAutoScalingRuleVOAutoScalingGroupVO` FOREIGN KEY (`scalingGroupUuid`) REFERENCES `AutoScalingGroupVO` (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `AutoScalingGroupActivityVO` ( + `uuid` VARCHAR(32) NOT NULL UNIQUE, + `scalingGroupUuid` VARCHAR(32) NOT NULL, + `activityAction` VARCHAR(128) NOT NULL, + `scalingGroupRuleUuid` VARCHAR(32) DEFAULT NULL, + `name` VARCHAR(256) NOT NULL, + `cause` VARCHAR(128) NOT NULL, + `status` VARCHAR(128) NOT NULL, + `activityActionResultMessage` text DEFAULT NULL, + `description` VARCHAR(256) DEFAULT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + `endDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`), + CONSTRAINT `fkAutoScalingGroupActivityVOAutoScalingGroupVO` FOREIGN KEY (`scalingGroupUuid`) REFERENCES `AutoScalingGroupVO` (`uuid`), + CONSTRAINT `fkAutoScalingGroupActivityVOAutoScalingRuleVO` FOREIGN KEY (`scalingGroupRuleUuid`) REFERENCES `AutoScalingRuleVO` (`uuid`) ON DELETE SET NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `AutoScalingGroupInstanceVO` ( + `uuid` VARCHAR(32) NOT NULL UNIQUE, + `instanceUuid` VARCHAR(32) NOT NULL UNIQUE, + `scalingGroupUuid` VARCHAR(32) NOT NULL, + `templateUuid` VARCHAR(32) DEFAULT NULL, + `scalingGroupActivityUuid` VARCHAR(32) NOT NULL, + `status` VARCHAR(64) NOT NULL, + `healthStatus` VARCHAR(64) NOT NULL, + `lastOpDate` TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00', + `description` VARCHAR(256) DEFAULT NULL, + PRIMARY KEY (`uuid`), + CONSTRAINT `fkAutoScalingGroupInstanceVOAutoScalingGroupVO` FOREIGN KEY (`scalingGroupUuid`) REFERENCES `AutoScalingGroupVO` (`uuid`), + CONSTRAINT `fkAutoScalingGroupInstanceVOAutoScalingTemplateVO` FOREIGN KEY (`templateUuid`) REFERENCES `AutoScalingTemplateVO` (`uuid`) ON DELETE SET NULL, + CONSTRAINT `fkAutoScalingGroupInstanceVOAutoScalingGroupActivityVO` FOREIGN KEY (`scalingGroupActivityUuid`) REFERENCES `AutoScalingGroupActivityVO` (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `AddingNewInstanceRuleVO` ( + `uuid` VARCHAR(32) NOT NULL UNIQUE, + `AdjustmentType` VARCHAR(256) NOT NULL, + `adjustmentValue` int(10) NOT NULL, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `RemovalInstanceRuleVO` ( + `uuid` VARCHAR(32) NOT NULL UNIQUE, + `AdjustmentType` VARCHAR(256) NOT NULL, + `adjustmentValue` int(10) NOT NULL, + `removalPolicy` VARCHAR(256) NOT NULL, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `AutoScalingRuleTriggerVO` ( + `uuid` VARCHAR(32) NOT NULL UNIQUE, + `name` VARCHAR(256) NOT NULL, + `ruleUuid` VARCHAR(32) NOT NULL, + `type` VARCHAR(256) NOT NULL, + `description` VARCHAR(256) DEFAULT NULL, + `state` VARCHAR(256) NOT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`), + CONSTRAINT `fkAutoScalingRuleTriggerVOAutoScalingRuleVO` FOREIGN KEY (`ruleUuid`) REFERENCES `AutoScalingRuleVO` (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `AutoScalingRuleAlarmTriggerVO` ( + `uuid` VARCHAR(32) NOT NULL UNIQUE, + `alarmUuid` VARCHAR(32) NOT NULL UNIQUE, + PRIMARY KEY (`uuid`), + CONSTRAINT `fkAutoScalingRuleInstanceAlarmVO` FOREIGN KEY (`alarmUuid`) REFERENCES `AlarmVO` (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +ALTER TABLE `zstack`.`IpRangeEO` ADD COLUMN `ipVersion` int(10) unsigned DEFAULT 4; +ALTER TABLE `zstack`.`IpRangeEO` ADD COLUMN `addressMode` varchar(64) DEFAULT NULL; +ALTER TABLE `zstack`.`IpRangeEO` ADD COLUMN `prefixLen` int(10) unsigned DEFAULT NULL; +DROP VIEW IF EXISTS `zstack`.`IpRangeVO`; +CREATE VIEW `zstack`.`IpRangeVO` AS SELECT uuid, l3NetworkUuid, name, description, startIp, endIp, netmask, gateway, networkCidr, createDate, lastOpDate, ipVersion, addressMode, prefixLen FROM `zstack`.`IpRangeEO` WHERE deleted IS NULL; + +ALTER TABLE `zstack`.`UsedIpVO` ADD COLUMN `ipVersion` int(10) unsigned DEFAULT 4; +ALTER TABLE `zstack`.`UsedIpVO` ADD COLUMN `vmNicUuid` varchar(32) DEFAULT NULL; +ALTER TABLE `zstack`.`UsedIpVO` ADD CONSTRAINT fkUsedIpVOVmNicVO FOREIGN KEY (vmNicUuid) REFERENCES VmNicVO (uuid) ON DELETE SET NULL; + + +ALTER TABLE `zstack`.`L3NetworkEO` ADD COLUMN `ipVersion` int(10) unsigned DEFAULT 4; +DROP VIEW IF EXISTS `zstack`.`L3NetworkVO`; +CREATE VIEW `zstack`.`L3NetworkVO` AS SELECT uuid, name, description, state, type, zoneUuid, l2NetworkUuid, `system`, dnsDomain, createDate, lastOpDate, category, ipVersion FROM `zstack`.`L3NetworkEO` WHERE deleted IS NULL; + +ALTER TABLE `zstack`.`VmNicVO` ADD COLUMN `ipVersion` int(10) unsigned DEFAULT 4; + +ALTER TABLE `zstack`.`SecurityGroupVO` ADD COLUMN `ipVersion` int(10) unsigned DEFAULT 4; +ALTER TABLE `zstack`.`SecurityGroupRuleVO` ADD COLUMN `ipVersion` int(10) unsigned NOT NULL DEFAULT 4; +ALTER TABLE `zstack`.`VipVO` ADD COLUMN `prefixLen` int(10) unsigned DEFAULT NULL; + +ALTER TABLE `zstack`.`LongJobVO` ADD COLUMN `executeTime` int unsigned DEFAULT NULL; +UPDATE `zstack`.`LongJobVO` job SET job.`executeTime` = TIMESTAMPDIFF(SECOND, job.createDate, job.lastOpDate); + +CREATE TABLE `ScsiLunVO` ( + `name` VARCHAR(256) DEFAULT NULL, + `uuid` VARCHAR(32) NOT NULL, + `wwid` VARCHAR(256) NOT NULL, + `vendor` VARCHAR(256) DEFAULT NULL, + `model` VARCHAR(256) DEFAULT NULL, + `wwn` VARCHAR(256) DEFAULT NULL, + `serial` VARCHAR(256) DEFAULT NULL, + `hctl` VARCHAR(64) DEFAULT NULL, + `type` VARCHAR(128) NOT NULL, + `path` VARCHAR(128) DEFAULT NULL, + `source` VARCHAR(128) DEFAULT NULL, + `size` bigint unsigned NOT NULL, + `state` VARCHAR(64) DEFAULT NULL, + `multipathDeviceUuid` VARCHAR(32) DEFAULT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `ScsiLunHostRefVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `hostUuid` varchar(32) NOT NULL, + `scsiLunUuid` varchar(32) NOT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`id`), + CONSTRAINT `fkScsiLunHostRefVOScsiLunVO` FOREIGN KEY (`scsiLunUuid`) REFERENCES ScsiLunVO (`uuid`), + CONSTRAINT `fkScsiLunHostRefVOHostVO` FOREIGN KEY (`hostUuid`) REFERENCES HostEO (`uuid`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `ScsiLunVmInstanceRefVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `vmInstanceUuid` varchar(32) NOT NULL, + `scsiLunUuid` varchar(32) NOT NULL, + `deviceId` int unsigned DEFAULT NULL, + `attachMultipath` boolean NOT NULL DEFAULT TRUE, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`id`), + CONSTRAINT `fkScsiLunVmInstanceRefVOScsiLunVO` FOREIGN KEY (`scsiLunUuid`) REFERENCES ScsiLunVO (`uuid`), + CONSTRAINT `fkScsiLunVmInstanceRefVOVmInstanceVO` FOREIGN KEY (`vmInstanceUuid`) REFERENCES VmInstanceEO (`uuid`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `FiberChannelStorageVO` ( + `name` VARCHAR(256) DEFAULT NULL, + `uuid` VARCHAR(32) NOT NULL, + `wwnn` VARCHAR(256) NOT NULL, + `state` VARCHAR(64) DEFAULT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `FiberChannelLunVO` ( + `uuid` VARCHAR(32) NOT NULL, + `fiberChannelStorageUuid` VARCHAR(32) NOT NULL, + PRIMARY KEY (`uuid`), + CONSTRAINT `fkFiberChannelLunVOFiberChannelStorageVO` FOREIGN KEY (`fiberChannelStorageUuid`) REFERENCES FiberChannelStorageVO (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +DROP PROCEDURE IF EXISTS migrateIscsiLunVOToScsiLunVO; +DELIMITER $$ +CREATE PROCEDURE migrateIscsiLunVOToScsiLunVO() + BEGIN + DECLARE done INT DEFAULT FALSE; + DECLARE name VARCHAR(256); + DECLARE uuid VARCHAR(32); + DECLARE wwid VARCHAR(256); + DECLARE vendor VARCHAR(256); + DECLARE model VARCHAR(256); + DECLARE wwn VARCHAR(256); + DECLARE serial VARCHAR(256); + DECLARE hctl VARCHAR(64); + DECLARE type VARCHAR(128); + DECLARE path VARCHAR(128); + DECLARE source VARCHAR(128); + DECLARE size bigint unsigned; + DECLARE state VARCHAR(64); + DECLARE multipathDeviceUuid VARCHAR(32); + DECLARE lastOpDate timestamp; + DECLARE createDate timestamp; + DECLARE cur CURSOR FOR SELECT i.uuid, i.wwid, i.vendor, i.model, i.wwn, i.serial, i.hctl, i.type, i.path, i.size, i.multipathDeviceUuid, i.lastOpDate, i.createDate FROM zstack.IscsiLunVO i; + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; + OPEN cur; + read_loop: LOOP + FETCH cur INTO uuid, wwid, vendor, model, wwn, serial, hctl, type, path, size, multipathDeviceUuid, lastOpDate, createDate; + IF done THEN + LEAVE read_loop; + END IF; + + set name = concat('iscsi-lun-', wwid); + set source = 'iSCSI'; + set state = 'Enabled'; + + INSERT INTO zstack.ScsiLunVO (name, uuid, wwid, vendor, model, wwn, serial, hctl, type, path, source, state, multipathDeviceUuid, size, lastOpDate, createDate) + values (name, uuid, wwid, vendor, model, wwn, serial, hctl, type, path, source, state, multipathDeviceUuid, size, lastOpDate, createDate); + + end loop; + close cur; + select curtime(); + end $$ +DELIMITER ; + +call migrateIscsiLunVOToScsiLunVO(); +alter table IscsiLunVO drop column wwid, drop vendor, drop model, drop wwn, drop serial, drop hctl, drop type, drop path, drop multipathDeviceUuid, drop size, drop lastOpDate, drop createDate; + +update SystemTagVO a, VolumeVO b set a.resourceType='VolumeVO' where a.resourceType='InstanceOfferingVO' and a.resourceUuid=b.uuid; \ No newline at end of file diff --git a/conf/tools/flyway-6.3.1/sql/V3.1.1__schema.sql b/conf/tools/flyway-6.3.1/sql/V3.1.1__schema.sql new file mode 100644 index 00000000000..2bddcfc0055 --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V3.1.1__schema.sql @@ -0,0 +1,94 @@ +ALTER TABLE CephPrimaryStoragePoolVO ADD totalCapacity bigint(20) unsigned NOT NULL DEFAULT 0; + +-- ---------------------------- +-- for external baremetal pxe server +-- ---------------------------- +DELETE FROM `zstack`.`BaremetalPxeServerVO`; +ALTER TABLE `zstack`.`BaremetalPxeServerVO` ADD COLUMN `zoneUuid` varchar(32) NOT NULL; +ALTER TABLE `zstack`.`BaremetalPxeServerVO` ADD COLUMN `hostname` varchar(255) NOT NULL UNIQUE; +ALTER TABLE `zstack`.`BaremetalPxeServerVO` ADD COLUMN `sshUsername` varchar(64) NOT NULL; +ALTER TABLE `zstack`.`BaremetalPxeServerVO` ADD COLUMN `sshPassword` varchar(255) NOT NULL; +ALTER TABLE `zstack`.`BaremetalPxeServerVO` ADD COLUMN `sshPort` int unsigned NOT NULL; +ALTER TABLE `zstack`.`BaremetalPxeServerVO` ADD COLUMN `storagePath` varchar(2048) NOT NULL; +ALTER TABLE `zstack`.`BaremetalPxeServerVO` ADD COLUMN `totalCapacity` bigint unsigned DEFAULT 0; +ALTER TABLE `zstack`.`BaremetalPxeServerVO` ADD COLUMN `availableCapacity` bigint unsigned DEFAULT 0; +ALTER TABLE `zstack`.`BaremetalPxeServerVO` ADD COLUMN `dhcpInterfaceAddress` varchar(32) DEFAULT NULL; +ALTER TABLE `zstack`.`BaremetalPxeServerVO` ADD COLUMN `state` varchar(32) NOT NULL; +ALTER TABLE `zstack`.`BaremetalPxeServerVO` DROP INDEX `dhcpInterface`; + +DELETE FROM `zstack`.`BaremetalImageCacheVO`; +ALTER TABLE `zstack`.`BaremetalImageCacheVO` ADD COLUMN `pxeServerUuid` varchar(32) NOT NULL; +ALTER TABLE `zstack`.`BaremetalImageCacheVO` ADD CONSTRAINT fkBaremetalImageCacheVOBaremetalPxeServerVO FOREIGN KEY (pxeServerUuid) REFERENCES BaremetalPxeServerVO (uuid) ON DELETE CASCADE; + +ALTER TABLE `zstack`.`BaremetalChassisVO` ADD COLUMN `pxeServerUuid` varchar(32) DEFAULT NULL; +ALTER TABLE `zstack`.`BaremetalChassisVO` ADD CONSTRAINT fkBaremetalChassisVOBaremetalPxeServerVO FOREIGN KEY (pxeServerUuid) REFERENCES BaremetalPxeServerVO (uuid) ON DELETE SET NULL; +ALTER TABLE `zstack`.`BaremetalInstanceVO` ADD COLUMN `pxeServerUuid` varchar(32) DEFAULT NULL; +ALTER TABLE `zstack`.`BaremetalInstanceVO` ADD CONSTRAINT fkBaremetalInstanceVOBaremetalPxeServerVO FOREIGN KEY (pxeServerUuid) REFERENCES BaremetalPxeServerVO (uuid) ON DELETE SET NULL; + +CREATE TABLE `zstack`.`BaremetalPxeServerClusterRefVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `clusterUuid` varchar(32) NOT NULL, + `pxeServerUuid` varchar(32) NOT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`id`), + CONSTRAINT fkBaremetalPxeServerClusterRefVOClusterEO FOREIGN KEY (clusterUuid) REFERENCES ClusterEO (uuid) ON DELETE CASCADE, + CONSTRAINT fkBaremetalPxeServerClusterRefVOBaremetalPxeServerVO FOREIGN KEY (pxeServerUuid) REFERENCES BaremetalPxeServerVO (uuid) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + + +-- ---------------------------- +-- repair zstack resourcevo caused by db/upgrade/V2.4.0__schema.sql #generateVpcRouterVmVO +-- ---------------------------- + +DROP TABLE IF EXISTS temp_array_table; +CREATE TABLE temp_array_table (idx INT, value VARCHAR(128)); +INSERT INTO temp_array_table (idx, value) VALUES (1, 'AccountVO') ,(2, 'AffinityGroupVO') ,(3, 'AlarmVO') ,(4, 'AlertVO') ,(5, 'AliyunDiskVO') ,(6, 'AliyunNasAccessGroupVO') ,(7, 'AliyunNasAccessRuleVO') ,(8, 'AliyunRouterInterfaceVO') ,(9, 'AliyunSnapshotVO') ,(10, 'BackupStorageVO') ,(11, 'BaremetalChassisVO') ,(12, 'BaremetalPxeServerVO') ,(13, 'CephMonVO') ,(14, 'CephPrimaryStoragePoolVO') ,(15, 'CertificateVO') ,(16, 'ClusterVO') ,(17, 'ConnectionAccessPointVO') ,(18, 'ConsoleProxyVO') ,(19, 'DahoCloudConnectionVO') ,(20, 'DahoConnectionVO') ,(21, 'DahoVllsVO') ,(22, 'DataCenterVO') ,(23, 'DiskOfferingVO') ,(24, 'EcsImageVO') ,(25, 'EcsInstanceVO') ,(26, 'EcsSecurityGroupRuleVO') ,(27, 'EcsSecurityGroupVO') ,(28, 'EcsVSwitchVO') ,(29, 'EcsVpcVO') ,(30, 'EipVO') ,(31, 'EventSubscriptionVO') ,(32, 'GarbageCollectorVO') ,(33, 'HostVO') ,(34, 'HybridAccountVO') ,(35, 'HybridEipAddressVO') ,(36, 'IAM2OrganizationVO') ,(37, 'IAM2ProjectTemplateVO') ,(38, 'IAM2ProjectVO') ,(39, 'IAM2VirtualIDGroupVO') ,(40, 'IAM2VirtualIDVO') ,(41, 'IPsecConnectionVO') ,(42, 'IdentityZoneVO') ,(43, 'ImageVO') ,(44, 'InstanceOfferingVO') ,(45, 'IpRangeVO') ,(46, 'L2NetworkVO') ,(47, 'L3NetworkVO') ,(48, 'LdapServerVO') ,(49, 'LoadBalancerListenerVO') ,(50, 'LoadBalancerVO') ,(51, 'LongJobVO') ,(52, 'MediaVO') ,(53, 'MonitorTriggerActionVO') ,(54, 'MonitorTriggerVO') ,(55, 'NasFileSystemVO') ,(56, 'NasMountTargetVO') ,(57, 'OssBucketVO') ,(58, 'PciDeviceOfferingVO') ,(59, 'PciDeviceVO') ,(60, 'PolicyVO') ,(61, 'PortForwardingRuleVO') ,(62, 'PrimaryStorageVO') ,(63, 'QuotaVO') ,(64, 'RoleVO') ,(65, 'SNSApplicationEndpointVO') ,(66, 'SNSApplicationPlatformVO') ,(67, 'SNSDingTalkAtPersonVO') ,(68, 'SNSTextTemplateVO') ,(69, 'SNSTopicVO') ,(70, 'SchedulerJobVO') ,(71, 'SchedulerTriggerVO') ,(72, 'SchedulerVO') ,(73, 'SecurityGroupRuleVO') ,(74, 'SecurityGroupVO') ,(75, 'SharedBlockVO') ,(76, 'TicketStatusHistoryVO') ,(77, 'TicketVO') ,(78, 'UsbDeviceVO') ,(79, 'UserGroupVO') ,(80, 'UserVO') ,(81, 'VCenterDatacenterVO') ,(82, 'VCenterVO') ,(83, 'VRouterRouteEntryVO') ,(84, 'VRouterRouteTableVO') ,(85, 'VipVO') ,(86, 'VirtualBorderRouterVO') ,(87, 'VmInstanceVO') ,(88, 'VmNicVO') ,(89, 'VniRangeVO') ,(90, 'VolumeVO') ,(91, 'VolumeSnapshotVO') ,(92, 'VolumeSnapshotTreeVO') ,(93, 'VpcUserVpnGatewayVO') ,(94, 'VpcVirtualRouteEntryVO') ,(95, 'VpcVirtualRouterVO') ,(96, 'VpcVpnConnectionVO') ,(97, 'VpcVpnGatewayVO') ,(98, 'VpcVpnIkeConfigVO') ,(99, 'VpcVpnIpSecConfigVO') ,(100, 'VtepVO') ,(101, 'ZoneVO'); +DROP PROCEDURE IF EXISTS doFixResourceVOResourceType; +DELIMITER $$ +CREATE PROCEDURE doFixResourceVOResourceType() + BEGIN + DECLARE tableName varchar(128); + DECLARE done INT DEFAULT FALSE; + DECLARE count_table INT DEFAULT 0; + DECLARE cur CURSOR FOR SELECT value FROM temp_array_table; + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; + OPEN cur; + read_loop: LOOP + FETCH cur INTO tableName; + IF done THEN + LEAVE read_loop; + END IF; + + SELECT COUNT(*) INTO count_table FROM information_schema.tables WHERE table_schema='zstack' AND table_name=tableName; + + IF (count_table < 1) THEN + iterate read_loop; + end if; + + set @s = CONCAT('update ignore zstack.ResourceVO set ResourceVO.resourceType=\'', tableName, '\' where ResourceVO.resourceType=\'VpcRouterVmVO\' and ResourceVO.uuid in (select uuid from ', tableName, ')'); + prepare stmt from @s; + execute stmt; + deallocate prepare stmt; + + END LOOP; + CLOSE cur; + SELECT CURTIME(); + END $$ +DELIMITER ; + +DROP PROCEDURE IF EXISTS fixResourceVOResourceType; +DELIMITER $$ +CREATE PROCEDURE fixResourceVOResourceType() + BEGIN + DECLARE count_admin INT DEFAULT 0; + + SELECT count(*) into count_admin from ResourceVO r, AccountVO a where a.uuid=r.uuid and a.name='admin' and r.resourceType='VpcRouterVmVO'; + IF (count_admin > 0) THEN + call doFixResourceVOResourceType(); + end if; + + SELECT CURTIME(); + END $$ +DELIMITER ; +call fixResourceVOResourceType(); \ No newline at end of file diff --git a/conf/tools/flyway-6.3.1/sql/V3.1.2__schema.sql b/conf/tools/flyway-6.3.1/sql/V3.1.2__schema.sql new file mode 100644 index 00000000000..0042deff14d --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V3.1.2__schema.sql @@ -0,0 +1,2 @@ +ALTER TABLE `V2VConversionCacheVO` ADD COLUMN `virtioScsi` TINYINT(1) NOT NULL; +ALTER TABLE `V2VConversionCacheVO` ADD COLUMN `type` VARCHAR(256) NOT NULL; diff --git a/conf/tools/flyway-6.3.1/sql/V3.10.0.1__schema.sql b/conf/tools/flyway-6.3.1/sql/V3.10.0.1__schema.sql new file mode 100644 index 00000000000..0675716ef99 --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V3.10.0.1__schema.sql @@ -0,0 +1,122 @@ +CREATE TABLE IF NOT EXISTS `zstack`.`ThirdpartyPlatformVO` ( + `uuid` varchar(32) NOT NULL, + `name` varchar(255) NOT NULL, + `type` varchar(255) NOT NULL, + `state` varchar(255) NOT NULL, + `url` varchar(512) NOT NULL, + `template` varchar(4096) NOT NULL, + `description` varchar(2048) DEFAULT NULL, + `lastSyncDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`), + UNIQUE KEY `uuid` (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`ThirdpartyOriginalAlertVO` ( + `uuid` varchar(32) NOT NULL, + `thirdpartyPlatformUuid` varchar(32) NOT NULL, + `product` varchar(255) NOT NULL, + `service` varchar(255) DEFAULT NULL, + `metric` varchar(512) DEFAULT NULL, + `alertLevel` varchar(64) NOT NULL, + `alertTime` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + `dimensions` varchar(4096) DEFAULT NULL, + `message` varchar(4096) NOT NULL, + `dataSource` varchar(255) NOT NULL, + `sourceText` text DEFAULT NULL, + `readStatus` varchar(32) NOT NULL, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`), + UNIQUE KEY `uuid` (`uuid`), + CONSTRAINT `fkThirdpartyAlertVOThirdpartyPlatformVO` FOREIGN KEY (`thirdpartyPlatformUuid`) REFERENCES `ThirdpartyPlatformVO` (`uuid`) ON DELETE CASCADE, + INDEX `idxThirdpartyPlatformUuid` (`thirdpartyPlatformUuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`SNSEndpointThirdpartyAlertHistoryVO` ( + `endpointUuid` varchar(32) NOT NULL, + `alertUuid` varchar(32) NOT NULL, + `subscriptionUuid` varchar(32) NOT NULL, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + INDEX `idxEndpointUuid` (`endpointUuid`), + INDEX `idxSubscriptionUuid` (`subscriptionUuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + + +ALTER TABLE ElaborationVO DROP COLUMN `distance`; + +ALTER TABLE `zstack`.`L3NetworkEO` MODIFY COLUMN `ipVersion` int(10) unsigned DEFAULT 0; +DELIMITER $$ +CREATE PROCEDURE changeL3NetworkDefaultIpversion() +BEGIN + DECLARE l3NetworkUuid VARCHAR(32); + DECLARE done INT DEFAULT FALSE; + DECLARE cur CURSOR FOR SELECT l3.uuid FROM `zstack`.`L3NetworkVO` l3 where uuid not in (select l3v.uuid from `zstack`.`L3NetworkVO` l3v, `zstack`.`IpRangeVO` ipr where ipr.l3NetworkUuid=l3v.uuid); + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; + OPEN cur; + read_loop: LOOP + FETCH cur INTO l3NetworkUuid; + IF done THEN + LEAVE read_loop; + END IF; + + UPDATE zstack.L3NetworkEO set ipVersion = 0 where uuid = l3NetworkUuid; + + END LOOP; + CLOSE cur; + SELECT CURTIME(); +END $$ +DELIMITER ; + +CALL changeL3NetworkDefaultIpversion(); +DROP PROCEDURE IF EXISTS changeL3NetworkDefaultIpversion; + + +ALTER TABLE `zstack`.`AlarmActionVO` ADD COLUMN `createDate` TIMESTAMP default '2018-05-10 06:04:00'; +ALTER TABLE `zstack`.`AlarmActionVO` ADD COLUMN `lastOpDate` TIMESTAMP ON UPDATE CURRENT_TIMESTAMP default '2018-05-10 06:04:00'; + +ALTER TABLE `zstack`.`EventSubscriptionActionVO` ADD COLUMN `createDate` TIMESTAMP default '2018-05-10 06:04:00'; +ALTER TABLE `zstack`.`EventSubscriptionActionVO` ADD COLUMN `lastOpDate` TIMESTAMP ON UPDATE CURRENT_TIMESTAMP default '2018-05-10 06:04:00'; + +DELIMITER $$ +CREATE PROCEDURE insertDefaultSecurityGroup() +BEGIN + DECLARE securityGroupUuid VARCHAR(32); + DECLARE ruleUuid1 VARCHAR(32); + DECLARE ruleUuid2 VARCHAR(32); + DECLARE ipVersion int(10); + DECLARE done INT DEFAULT FALSE; + DECLARE cur CURSOR FOR SELECT sg.uuid, sg.ipVersion FROM `zstack`.`SecurityGroupVO` sg; + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; + OPEN cur; + read_loop: LOOP + FETCH cur INTO securityGroupUuid, ipVersion; + IF done THEN + LEAVE read_loop; + END IF; + + SET ruleUuid1 = REPLACE(UUID(), '-', ''); + SET ruleUuid2 = REPLACE(UUID(), '-', ''); + INSERT INTO `zstack`.ResourceVO (uuid, resourceType, concreteResourceType) VALUES (ruleUuid1, 'SecurityGroupRuleVO', 'org.zstack.network.securitygroup.SecurityGroupRuleVO'); + INSERT INTO `zstack`.ResourceVO (uuid, resourceType, concreteResourceType) VALUES (ruleUuid2, 'SecurityGroupRuleVO', 'org.zstack.network.securitygroup.SecurityGroupRuleVO'); + IF ipVersion = 4 + THEN + INSERT INTO `zstack`.`SecurityGroupRuleVO` (uuid, securityGroupUuid, type, protocol, allowedCidr, startPort, endPort, state, lastOpDate, createDate, remoteSecurityGroupUuid, ipVersion) + values (ruleUuid1, securityGroupUuid, 'Egress', 'ALL', '::/0', -1, -1, 'Enabled', NOW(), NOW(), securityGroupUuid, 6); + INSERT INTO `zstack`.`SecurityGroupRuleVO` (uuid, securityGroupUuid, type, protocol, allowedCidr, startPort, endPort, state, lastOpDate, createDate, remoteSecurityGroupUuid, ipVersion) + values (ruleUuid2, securityGroupUuid, 'Ingress', 'ALL', '::/0', -1, -1, 'Enabled', NOW(), NOW(), securityGroupUuid, 6); + ELSE + INSERT INTO `zstack`.`SecurityGroupRuleVO` (uuid, securityGroupUuid, type, protocol, allowedCidr, startPort, endPort, state, lastOpDate, createDate, remoteSecurityGroupUuid, ipVersion) + values (ruleUuid1, securityGroupUuid, 'Egress', 'ALL', '0.0.0.0/0', -1, -1, 'Enabled', NOW(), NOW(), securityGroupUuid, 4); + INSERT INTO `zstack`.`SecurityGroupRuleVO` (uuid, securityGroupUuid, type, protocol, allowedCidr, startPort, endPort, state, lastOpDate, createDate, remoteSecurityGroupUuid, ipVersion) + values (ruleUuid2, securityGroupUuid, 'Ingress', 'ALL', '0.0.0.0/0', -1, -1, 'Enabled', NOW(), NOW(), securityGroupUuid, 4); + END IF; + + END LOOP; + CLOSE cur; + SELECT CURTIME(); +END $$ +DELIMITER ; + +CALL insertDefaultSecurityGroup(); +DROP PROCEDURE IF EXISTS insertDefaultSecurityGroup; \ No newline at end of file diff --git a/conf/tools/flyway-6.3.1/sql/V3.10.0.2__schema.sql b/conf/tools/flyway-6.3.1/sql/V3.10.0.2__schema.sql new file mode 100644 index 00000000000..12e480e4479 --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V3.10.0.2__schema.sql @@ -0,0 +1,7 @@ +ALTER TABLE `zstack`.`ImageEO` ADD COLUMN architecture varchar(32) DEFAULT NULL; +DROP VIEW IF EXISTS `zstack`.`ImageVO`; +CREATE VIEW `zstack`.`ImageVO` AS SELECT uuid, name, description, status, state, size, actualSize, md5Sum, platform, type, format, url, `system`, mediaType, createDate, lastOpDate, guestOsType, architecture FROM `zstack`.`ImageEO` WHERE deleted IS NULL; + +ALTER TABLE `zstack`.`ClusterEO` ADD COLUMN architecture varchar(32) DEFAULT NULL; +DROP VIEW IF EXISTS `zstack`.`ClusterVO`; +CREATE VIEW `zstack`.`ClusterVO` AS SELECT uuid, zoneUuid, name, type, description, state, hypervisorType, createDate, lastOpDate, managementNodeId, architecture FROM `zstack`.`ClusterEO` WHERE deleted IS NULL; \ No newline at end of file diff --git a/conf/tools/flyway-6.3.1/sql/V3.10.0.5__schema.sql b/conf/tools/flyway-6.3.1/sql/V3.10.0.5__schema.sql new file mode 100644 index 00000000000..671c47f852f --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V3.10.0.5__schema.sql @@ -0,0 +1,11 @@ +CREATE TABLE IF NOT EXISTS `zstack`.`ReplayMessageVO` ( + `id` BIGINT UNSIGNED NOT NULL UNIQUE AUTO_INCREMENT, + `msgDump` TEXT, + `locationType` VARCHAR(256) NOT NULL, + `locationUuid` VARCHAR(32) NOT NULL, + `groupUuid` VARCHAR(32), + `resourceUuid` VARCHAR(32) NOT NULL, + `manageJobUuid`VARCHAR(32), + `lastOpDate` TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `createDate` TIMESTAMP +) ENGINE = InnoDB DEFAULT CHARSET = utf8; \ No newline at end of file diff --git a/conf/tools/flyway-6.3.1/sql/V3.10.0__schema.sql b/conf/tools/flyway-6.3.1/sql/V3.10.0__schema.sql new file mode 100644 index 00000000000..ba7781738af --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V3.10.0__schema.sql @@ -0,0 +1,10 @@ + +ALTER TABLE `zstack`.`LoadBalancerVO` DROP FOREIGN KEY `fkLoadBalancerVOVipVO`; +ALTER TABLE `zstack`.`LoadBalancerVO` ADD CONSTRAINT `fkLoadBalancerVOVipVO` FOREIGN KEY (`vipUuid`) REFERENCES `zstack`.`VipVO` (`uuid`) ON DELETE CASCADE; + +CREATE TABLE IF NOT EXISTS `zstack`.`SNSMicrosoftTeamsEndpointVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `url` varchar(1024) NOT NULL, + PRIMARY KEY (`uuid`), + CONSTRAINT fkSNSMicrosoftTeamsEndpointVOSNSApplicationEndpointVO FOREIGN KEY (uuid) REFERENCES SNSApplicationEndpointVO (uuid) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; \ No newline at end of file diff --git a/conf/tools/flyway-6.3.1/sql/V3.10.16.2__schema.sql b/conf/tools/flyway-6.3.1/sql/V3.10.16.2__schema.sql new file mode 100644 index 00000000000..bb9738cbd00 --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V3.10.16.2__schema.sql @@ -0,0 +1,11 @@ +CREATE TABLE IF NOT EXISTS `UKeyLicenseVO` ( + `keyId` varchar(32) NOT NULL UNIQUE, + `managementNodeUuid` varchar(32) NOT NULL, + `status` varchar(32) NOT NULL, + `offline` bigint unsigned NOT NULL, + `online` bigint unsigned NOT NULL, + `recover` bigint unsigned NOT NULL, + `license` text NOT NULL, + INDEX `idxUKeyLicenseVOmanagementNodeUuid` (`managementNodeUuid`), + PRIMARY KEY (`keyId`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; diff --git a/conf/tools/flyway-6.3.1/sql/V3.10.1__schema.sql b/conf/tools/flyway-6.3.1/sql/V3.10.1__schema.sql new file mode 100644 index 00000000000..762d2a016e8 --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V3.10.1__schema.sql @@ -0,0 +1,5 @@ +UPDATE ResourceConfigVO r, PrimaryStorageVO p SET r.category='localStoragePrimaryStorage' WHERE r.name='qcow2.allocation' and r.resourceUuid=p.uuid and p.type='LocalStorage'; +UPDATE ResourceConfigVO r, PrimaryStorageVO p SET r.category='sharedblock', r.description='qcow2 allocation policy, can be none, metadata' WHERE r.name='qcow2.allocation' and r.resourceUuid=p.uuid and p.type='SharedBlock'; +UPDATE ResourceConfigVO r, PrimaryStorageVO p SET r.category='nfsPrimaryStorage' WHERE r.name='qcow2.allocation' and r.resourceUuid=p.uuid and p.type='NFS'; +UPDATE ResourceConfigVO r, PrimaryStorageVO p SET r.category='sharedMountPointPrimaryStorage' WHERE r.name='qcow2.allocation' and r.resourceUuid=p.uuid and p.type='SharedMountPoint'; +UPDATE ResourceConfigVO r, PrimaryStorageVO p SET r.category='ministorage' WHERE r.name='qcow2.allocation' and r.resourceUuid=p.uuid and p.type='MiniStorage'; \ No newline at end of file diff --git a/conf/tools/flyway-6.3.1/sql/V3.10.25__schema.sql b/conf/tools/flyway-6.3.1/sql/V3.10.25__schema.sql new file mode 100644 index 00000000000..e69de29bb2d diff --git a/conf/tools/flyway-6.3.1/sql/V3.10.2__schema.sql b/conf/tools/flyway-6.3.1/sql/V3.10.2__schema.sql new file mode 100644 index 00000000000..e69de29bb2d diff --git a/conf/tools/flyway-6.3.1/sql/V3.10.3__schema.sql b/conf/tools/flyway-6.3.1/sql/V3.10.3__schema.sql new file mode 100644 index 00000000000..e69de29bb2d diff --git a/conf/tools/flyway-6.3.1/sql/V3.10.4__schema.sql b/conf/tools/flyway-6.3.1/sql/V3.10.4__schema.sql new file mode 100644 index 00000000000..e69de29bb2d diff --git a/conf/tools/flyway-6.3.1/sql/V3.10.5__schema.sql b/conf/tools/flyway-6.3.1/sql/V3.10.5__schema.sql new file mode 100644 index 00000000000..d7cd5c88635 --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V3.10.5__schema.sql @@ -0,0 +1,6 @@ +CREATE TABLE IF NOT EXISTS `zstack`.`AutoScalingRuleSchedulerJobTriggerVO` ( + `uuid` VARCHAR(32) NOT NULL UNIQUE, + `schedulerJobUuid` VARCHAR(32) NOT NULL UNIQUE, + PRIMARY KEY (`uuid`), + CONSTRAINT `fkAutoScalingRuleSchedulerJobTriggerVO` FOREIGN KEY (`schedulerJobUuid`) REFERENCES `SchedulerJobVO` (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; diff --git a/conf/tools/flyway-6.3.1/sql/V3.10.7__schema.sql b/conf/tools/flyway-6.3.1/sql/V3.10.7__schema.sql new file mode 100644 index 00000000000..e69de29bb2d diff --git a/conf/tools/flyway-6.3.1/sql/V3.10.8__schema.sql b/conf/tools/flyway-6.3.1/sql/V3.10.8__schema.sql new file mode 100644 index 00000000000..05e6132d6b5 --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V3.10.8__schema.sql @@ -0,0 +1,11 @@ +CREATE TABLE IF NOT EXISTS `zstack`.`VirtualRouterMetadataVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `zvrVersion` varchar(32) DEFAULT NULL, + `vyosVersion` varchar(32) DEFAULT NULL, + `kernelVersion` varchar(32) DEFAULT NULL, + PRIMARY KEY (`uuid`), + CONSTRAINT `fkVirtualRouterMetadataVOVirtualRouterVmVO` FOREIGN KEY (`uuid`) REFERENCES `VirtualRouterVmVO` (`uuid`) ON UPDATE RESTRICT ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +ALTER TABLE `zstack`.`SNSEmailPlatformVO` modify COLUMN `password` VARCHAR(255) NULL; +ALTER TABLE `zstack`.`SNSEmailPlatformVO` modify COLUMN `username` VARCHAR(255) NULL; \ No newline at end of file diff --git a/conf/tools/flyway-6.3.1/sql/V3.2.0__schema.sql b/conf/tools/flyway-6.3.1/sql/V3.2.0__schema.sql new file mode 100644 index 00000000000..446ae3a25cd --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V3.2.0__schema.sql @@ -0,0 +1,206 @@ +CREATE TABLE `AccessKeyVO` ( + `uuid` VARCHAR(32) NOT NULL, + `accountUuid` VARCHAR(32) NOT NULL, + `userUuid` VARCHAR(32) NOT NULL, + `AccessKeyID` VARCHAR(128) NOT NULL, + `AccessKeySecret` VARCHAR(128) NOT NULL, + `description` VARCHAR(2048) DEFAULT NULL, + `state` varchar(64) NOT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE IF NOT EXISTS `AliyunPanguPartitionVO` ( + `uuid` VARCHAR(32) NOT NULL, + `name` VARCHAR(255) NOT NULL, + `identityZoneUuid` VARCHAR(32) NOT NULL, + `description` VARCHAR(2048) DEFAULT NULL, + `appName` VARCHAR(255) NOT NULL, + `partitionName` VARCHAR(255) NOT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`), + UNIQUE KEY `uuid` (`uuid`), + CONSTRAINT `fkAliyunPanguPartitionVOIdentityZoneVO` FOREIGN KEY (`identityZoneUuid`) REFERENCES `IdentityZoneVO` (`uuid`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +ALTER TABLE AliyunEbsPrimaryStorageVO DROP COLUMN `appName`; +ALTER TABLE AliyunEbsPrimaryStorageVO DROP COLUMN `aZone`; +ALTER TABLE AliyunEbsPrimaryStorageVO DROP COLUMN `oceanUrl`; +ALTER TABLE AliyunEbsPrimaryStorageVO DROP COLUMN `secretKey`; +ALTER TABLE AliyunEbsPrimaryStorageVO DROP COLUMN `riverClusterId`; +ALTER TABLE AliyunEbsPrimaryStorageVO ADD COLUMN `panguAppName` VARCHAR(255) DEFAULT NULL; +ALTER TABLE AliyunEbsPrimaryStorageVO ADD COLUMN `panguPartitionName` VARCHAR(255) DEFAULT NULL; +ALTER TABLE AliyunEbsPrimaryStorageVO ADD COLUMN `defaultIoType` VARCHAR(16) NOT NULL; +ALTER TABLE AliyunEbsPrimaryStorageVO ADD COLUMN `identityZoneUuid` VARCHAR(32) NOT NULL; +ALTER TABLE AliyunEbsPrimaryStorageVO ADD CONSTRAINT fkAliyunEbsPrimaryStorageVOIdentityZoneVO FOREIGN KEY (identityZoneUuid) REFERENCES IdentityZoneVO (uuid) ON DELETE RESTRICT; + +CREATE TABLE IF NOT EXISTS `AliyunEbsBackupStorageVO` ( + `uuid` VARCHAR(32) NOT NULL, + `ossBucketUuid` VARCHAR(32) NOT NULL, + PRIMARY KEY (`uuid`), + UNIQUE KEY `uuid` (`uuid`), + CONSTRAINT `fkAliyunEbsBackupStorageVOOssBucketVO` FOREIGN KEY (`ossBucketUuid`) REFERENCES `OssBucketVO` (`uuid`) ON DELETE RESTRICT +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `OssBucketDomainVO` ( + `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, + `ossBucketUuid` varchar(32) NOT NULL, + `ossDomain` varchar(256) NOT NULL, + `ossKey` varchar(127) NOT NULL, + `ossSecret` varchar(127) NOT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + CONSTRAINT fkOssBucketDomainVOOssBucketVO FOREIGN KEY (ossBucketUuid) REFERENCES OssBucketVO (uuid) ON DELETE CASCADE, + PRIMARY KEY (`id`), + UNIQUE KEY `id` (`id`) + ) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +ALTER TABLE DataCenterVO ADD COLUMN `endpoint` VARCHAR(127) DEFAULT NULL; +UPDATE GlobalConfigVO SET category='aliyunNas' WHERE category ='aliyunNasPrimaryStorage'; + +ALTER TABLE VolumeEO ADD COLUMN volumeQos VARCHAR(128) DEFAULT NULL COMMENT 'volumeQos format like total=1048576'; + +DROP VIEW IF EXISTS `zstack`.`VolumeVO`; +CREATE VIEW `zstack`.`VolumeVO` AS SELECT uuid, name, description, primaryStorageUuid, vmInstanceUuid, diskOfferingUuid, rootImageUuid, installPath, type, status, size, actualSize, deviceId, format, state, createDate, lastOpDate, isShareable, volumeQos FROM `zstack`.`VolumeEO` WHERE deleted IS NULL; + +CREATE TABLE IF NOT EXISTS `zstack`.`PubIpVmNicBandwidthUsageVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `vmNicUuid` varchar(32) NOT NULL, + `vmInstanceUuid` varchar(32), + `bandwidthOut` bigint unsigned NOT NULL, + `bandwidthIn` bigint unsigned NOT NULL, + `vmNicIp` varchar(128) DEFAULT NULL, + `vmNicStatus` varchar(64) NOT NULL, + `l3NetworkUuid` varchar(64) NOT NULL, + `accountUuid` varchar(32) NOT NULL, + `dateInLong` bigint unsigned NOT NULL, + `inventory` text DEFAULT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`PubIpVipBandwidthUsageVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `vipUuid` varchar(32) NOT NULL, + `vipName` varchar(255) DEFAULT NULL, + `vipIp` varchar(128) NOT NULL, + `bandwidthOut` bigint unsigned NOT NULL, + `bandwidthIn` bigint unsigned NOT NULL, + `l3NetworkUuid` varchar(64) NOT NULL, + `vipStatus` varchar(64) NOT NULL, + `accountUuid` varchar(32) NOT NULL, + `dateInLong` bigint unsigned NOT NULL, + `inventory` text DEFAULT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +ALTER TABLE `VolumeBackupVO` ADD COLUMN `mode` VARCHAR(32) DEFAULT 'incremental'; + +ALTER TABLE IdentityZoneVO MODIFY COLUMN zoneId VARCHAR(64) NOT NULL; +ALTER TABLE DataCenterVO MODIFY COLUMN regionId VARCHAR(64) NOT NULL; + +CREATE TABLE IF NOT EXISTS `TagPatternVO` ( + `uuid` VARCHAR(32) NOT NULL, + `name` VARCHAR(128) NOT NULL, + `value` VARCHAR(128) NOT NULL, + `description` VARCHAR(2048) DEFAULT NULL, + `color` VARCHAR(32) DEFAULT NULL, + `type` VARCHAR(32) NOT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE INDEX idxTagPatternVOName ON `TagPatternVO` (name); +ALTER TABLE `zstack`.`UserTagVO` ADD COLUMN `tagPatternUuid` varchar(32) DEFAULT NULL; +ALTER TABLE `zstack`.`UserTagVO` ADD CONSTRAINT fkUserTagVOTagPatternVO FOREIGN KEY (tagPatternUuid) REFERENCES TagPatternVO (uuid) ON DELETE CASCADE; + +DELIMITER $$ +CREATE PROCEDURE migrateUserTagVO() + BEGIN + DECLARE done INT DEFAULT FALSE; + DECLARE patternUuid VARCHAR(32); + DECLARE accountUuid VARCHAR(32); + DECLARE patternTag VARCHAR(128); + DECLARE cur CURSOR FOR SELECT DISTINCT utag.tag, ref.accountUuid FROM zstack.UserTagVO utag, AccountResourceRefVO ref WHERE utag.resourceUuid = ref.resourceUuid; + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; + OPEN cur; + read_loop: LOOP + FETCH cur INTO patternTag, accountUuid; + IF done THEN + LEAVE read_loop; + END IF; + + SET patternUuid = (REPLACE(UUID(), '-', '')); + INSERT zstack.ResourceVO(uuid, resourceName, resourceType, concreteResourceType) + VALUES (patternUuid, patternTag, 'TagPatternVO', 'org.zstack.header.tag.TagPatternVO'); + + INSERT TagPatternVO (uuid, name, value, color, type, createDate, lastOpDate) + VALUES(patternUuid, patternTag, patternTag, '#186EAE', 'simple', NOW(), NOW()); + + INSERT zstack.AccountResourceRefVO(accountUuid, ownerAccountUuid, resourceUuid, resourceType, concreteResourceType, permission, isShared, createDate, lastOpDate) + VALUES(accountUuid, accountUuid, patternUuid, 'TagPatternVO', 'org.zstack.header.tag.TagPatternVO', 2, 0, NOW(), NOW()); + + UPDATE zstack.UserTagVO utag, AccountResourceRefVO ref SET utag.tagPatternUuid = patternUuid + WHERE left(utag.tag, 128) = patternTag + AND utag.resourceUuid = ref.resourceUuid + AND ref.accountUuid = accountUuid; + + END LOOP; + CLOSE cur; + SELECT CURTIME(); + END $$ +DELIMITER ; + +call migrateUserTagVO(); +DROP PROCEDURE IF EXISTS migrateUserTagVO; + +-- create missing Shared resource for IAM2ProjectVO +DROP PROCEDURE IF EXISTS getLinkedAccountUUid; +DELIMITER $$ +CREATE PROCEDURE getLinkedAccountUUid(OUT linkedAccountUuid VARCHAR(32), IN projectUuid VARCHAR(32)) + BEGIN + SELECT accountUuid INTO linkedAccountUuid from zstack.IAM2ProjectAccountRefVO where `projectUuid` = projectUuid LIMIT 1,1; + END $$ +DELIMITER ; + +DROP PROCEDURE IF EXISTS fixMissingShareResourceVO; +DELIMITER $$ +CREATE PROCEDURE fixMissingShareResourceVO() + BEGIN + DECLARE done INT DEFAULT FALSE; + DECLARE count_shared INT DEFAULT 0; + DECLARE projectUuid varchar(32); + DECLARE linkedAccountUuid varchar(32); + DECLARE cur CURSOR FOR SELECT uuid FROM zstack.IAM2ProjectVO; + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; + + OPEN cur; + read_loop: LOOP + FETCH cur INTO projectUuid; + IF done THEN + LEAVE read_loop; + END IF; + + SELECT count(*) into count_shared from SharedResourceVO s where + s.receiverAccountUuid in (SELECT `accountUuid` from `IAM2ProjectAccountRefVO` where `projectUuid` = projectUuid) + and s.ownerAccountUuid='36c27e8ff05c4780bf6d2fa65700f22e' and s.resourceType='IAM2ProjectVO' and s.resourceUuid = projectUuid; + IF (count_shared = 0) THEN + CALL getLinkedAccountUUid(linkedAccountUuid, projectUuid); + INSERT INTO SharedResourceVO (`ownerAccountUuid`, `receiverAccountUuid`, `resourceType`, `permission`, `resourceUuid`, + `lastOpDate`, `createDate`) + values ('36c27e8ff05c4780bf6d2fa65700f22e', linkedAccountUuid, 'IAM2ProjectVO', 2, projectUuid, CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP()); + END IF; + + + END LOOP; + CLOSE cur; + SELECT CURTIME(); + END $$ +DELIMITER ; + +call fixMissingShareResourceVO(); diff --git a/conf/tools/flyway-6.3.1/sql/V3.2.1__schema.sql b/conf/tools/flyway-6.3.1/sql/V3.2.1__schema.sql new file mode 100644 index 00000000000..72832ef8d05 --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V3.2.1__schema.sql @@ -0,0 +1,7 @@ + +CREATE INDEX idxRootVolumeUsageVOaccountUuid ON RootVolumeUsageVO(accountUuid, dateInLong); +CREATE INDEX idxDataVolumeUsageVOaccountUuid ON DataVolumeUsageVO(accountUuid, dateInLong); +CREATE INDEX idxSnapShotUsageVOaccountUuid ON SnapShotUsageVO(accountUuid, dateInLong); +CREATE INDEX idxPciDeviceUsageVOaccountUuid ON PciDeviceUsageVO(accountUuid, dateInLong); +CREATE INDEX idxPubIpVmNicBandwidthUsageVOaccountUuid ON PubIpVmNicBandwidthUsageVO(accountUuid, dateInLong); +CREATE INDEX idxPubIpVipBandwidthUsageVOaccountUuid ON PubIpVipBandwidthUsageVO(accountUuid, dateInLong); diff --git a/conf/tools/flyway-6.3.1/sql/V3.3.0__schema.sql b/conf/tools/flyway-6.3.1/sql/V3.3.0__schema.sql new file mode 100644 index 00000000000..359e173be80 --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V3.3.0__schema.sql @@ -0,0 +1,264 @@ +CREATE TABLE IF NOT EXISTS `ElaborationVO` ( + `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, + `errorInfo` text NOT NULL, + `md5sum` varchar(32) NOT NULL, + `distance` double NOT NULL, + `matched` boolean NOT NULL DEFAULT FALSE, + `repeats` bigint(20) unsigned NOT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`id`), + UNIQUE KEY `id` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE INDEX idxElaborationVOmd5sum ON ElaborationVO (md5sum); + +CREATE TABLE `zstack`.`VCenterResourcePoolVO` ( + `uuid` varchar(32) NOT NULL COMMENT 'VCenter Resource Pool uuid', + `vCenterClusterUuid` varchar(32) NOT NULL COMMENT 'VCenter cluster uuid', + `name` varchar(256) NOT NULL COMMENT 'VCenter Resource Pool name', + `morVal` varchar(256) NOT NULL COMMENT 'VCenter Resource Pool management object value in vcenter', + `parentUuid` varchar(32) COMMENT 'Parent Resource Pool uuid or NULL', + `CPULimit` bigint(64), + `CPUOverheadLimit` bigint(64), + `CPUReservation` bigint(64), + `CPUShares` bigint(64), + `CPULevel` varchar(64), + `MemoryLimit` bigint(64), + `MemoryOverheadLimit` bigint(64), + `MemoryReservation` bigint(64), + `MemoryShares` bigint(64), + `MemoryLevel` varchar(64), + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`), + CONSTRAINT `fkVCenterResourcePoolVOVCenterClusterVO` FOREIGN KEY (`vCenterClusterUuid`) REFERENCES `VCenterClusterVO` (`uuid`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`VCenterResourcePoolUsageVO` ( + `uuid` varchar(32) NOT NULL COMMENT 'VCenter Resource Pool usage uuid', + `vCenterResourcePoolUuid` varchar(32) NOT NULL COMMENT 'VCenter Resource Pool uuid', + `resourceUuid` varchar(32) NOT NULL COMMENT 'VCenter Resource resource uuid', + `resourceType` varchar(256) NOT NULL COMMENT 'VCenter Resource resource type', + `resourceName` varchar(256) COMMENT 'VCenter Resource resource name', + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`), + UNIQUE KEY `VCenterResourcePoolUsageVO` (`vCenterResourcePoolUuid`, `resourceUuid`) USING BTREE, + CONSTRAINT `fkVCenterResourcePoolUsageVOVCenterResourcePoolVO` FOREIGN KEY (`vCenterResourcePoolUuid`) REFERENCES `VCenterResourcePoolVO` (`uuid`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- create missing tag2 role for IAM2ProjectVO +DELIMITER $$ +CREATE PROCEDURE getRoleUuid(OUT targetRoleUuid VARCHAR(32)) + BEGIN + SELECT uuid into targetRoleUuid from RoleVO role where role.name = 'predefined: tag2' and role.type = 'Predefined' LIMIT 0,1; + END $$ +DELIMITER ; + +DELIMITER $$ +CREATE PROCEDURE getMaxAccountResourceRefVO(OUT refId bigint(20) unsigned) + BEGIN + SELECT max(id) INTO refId from zstack.AccountResourceRefVO; + END $$ +DELIMITER ; + +DELIMITER $$ +CREATE PROCEDURE fixMissingTag2RoleInProjects() + BEGIN + DECLARE done INT DEFAULT FALSE; + DECLARE count_tag_role INT DEFAULT 0; + DECLARE count_tag_role_for_project INT DEFAULT 0; + DECLARE targetAccountUuid varchar(32); + DECLARE targetRoleUuid varchar(32); + DECLARE new_role_uuid VARCHAR(32); + DECLARE new_statement_uuid VARCHAR(32); + DECLARE refId bigint(20) unsigned; + DECLARE policyStatement text; + DECLARE cur CURSOR FOR SELECT accountUuid FROM zstack.IAM2ProjectAccountRefVO; + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; + + OPEN cur; + CALL getRoleUuid(targetRoleUuid); + + read_loop: LOOP + FETCH cur INTO targetAccountUuid; + IF done THEN + LEAVE read_loop; + END IF; + + SELECT count(*) into count_tag_role from RoleVO role where role.name = 'predefined: tag2' and role.type = 'Predefined'; + IF (count_tag_role != 0) THEN + SELECT count(*) into count_tag_role_for_project from RoleVO role, AccountResourceRefVO ref + where role.name = 'predefined: tag2' and role.type = 'CreatedBySystem' + and ref.resourceUuid = role.uuid and ref.accountUuid = targetAccountUuid; + + IF (count_tag_role_for_project < 1) THEN + SET new_role_uuid = REPLACE(UUID(), '-', ''); + + INSERT INTO ResourceVO (`uuid`, `resourceName`, `resourceType`, `concreteResourceType`) + values (new_role_uuid, 'predefined: tag2', 'RoleVO', 'org.zstack.header.identity.role.RoleVO'); + + INSERT INTO RoleVO (`uuid`, `name`, `type`, `state`, `description`, `lastOpDate`, `createDate`) + values (new_role_uuid, 'predefined: tag2', 'CreatedBySystem', 'Enabled', NULL, CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP()); + + CALL getMaxAccountResourceRefVO(refId); + INSERT INTO AccountResourceRefVO (`id`, `accountUuid`, `ownerAccountUuid`, `resourceUuid`, `resourceType`, `permission`, `isShared`, `lastOpDate`, `createDate`, `concreteResourceType`) + values (refId + 1, targetAccountUuid, targetAccountUuid, new_role_uuid, 'RoleVO', 2, 0, CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP(), 'org.zstack.header.identity.role.SystemRoleVO'); + + SET new_statement_uuid = REPLACE(UUID(), '-', ''); + INSERT INTO RolePolicyStatementVO (`uuid`, `statement`, `roleUuid`, `lastOpDate`, `createDate`) + values (new_statement_uuid, '{"name":"tag2","effect":"Allow","actions":["org.zstack.tag2.**"]}', new_role_uuid, CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP()); + END IF; + END IF; + END LOOP; + CLOSE cur; + SELECT CURTIME(); + END $$ +DELIMITER ; + +call fixMissingTag2RoleInProjects(); +DROP PROCEDURE IF EXISTS fixMissingTag2RoleInProjects; +DROP PROCEDURE IF EXISTS getRoleUuid; + +DELIMITER $$ +CREATE PROCEDURE getProjectAccount(IN targetProjectUuid VARCHAR(32), OUT targetAccountUuid VARCHAR(32)) + BEGIN + SELECT accountUuid INTO targetAccountUuid from IAM2ProjectAccountRefVO where projectUuid = targetProjectUuid LIMIT 0,1; + END $$ +DELIMITER ; + +DELIMITER $$ +CREATE PROCEDURE checkProjectAdminOfVirtualId(IN virtualUuid VARCHAR(32)) + BEGIN + DECLARE done INT DEFAULT FALSE; + DECLARE count_policy INT DEFAULT 0; + DECLARE count_vid_role_ref INT DEFAULT 0; + DECLARE targetProjectUuid varchar(32); + DECLARE targetAccountUuid varchar(32); + DECLARE refId bigint(20) unsigned; + DECLARE new_role_uuid varchar(32); + DECLARE new_statement_uuid varchar(32); + DECLARE policyStatement text; + DECLARE role_name VARCHAR(255); + DECLARE cur CURSOR FOR SELECT value FROM zstack.IAM2VirtualIDAttributeVO where virtualIDUuid = virtualUuid and name = '__ProjectAdmin__'; + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; + + OPEN cur; + SET policyStatement = '{"effect":"Allow","actions":["org.zstack.network.service.portforwarding.**","org.zstack.header.vipQos.**","org.zstack.network.service.vip.**","org.zstack.header.apimediator.**","org.zstack.core.config.APIQueryGlobalConfigMsg","org.zstack.storage.primary.local.APILocalStorageGetVolumeMigratableHostsMsg","org.zstack.header.zone.APIQueryZoneMsg","org.zstack.header.storage.primary.APIQueryPrimaryStorageMsg","org.zstack.query.APIBatchQueryMsg","org.zstack.license.APIGetLicenseCapabilitiesMsg","org.zstack.header.storage.backup.APIQueryBackupStorageMsg","org.zstack.storage.primary.local.APILocalStorageMigrateVolumeMsg","org.zstack.query.APIZQLQueryMsg","org.zstack.header.tag.**","org.zstack.header.host.APIQueryHostMsg","org.zstack.header.core.progress.APIGetTaskProgressMsg","org.zstack.header.APIIsOpensourceVersionMsg","org.zstack.header.cloudformation.**","org.zstack.header.longjob.**","org.zstack.header.vo.APIGetResourceNamesMsg","org.zstack.aliyun.pangu.**","org.zstack.header.identity.APIValidateSessionMsg","org.zstack.header.identity.APILogInByUserMsg","org.zstack.header.identity.role.api.APIQueryRoleMsg","org.zstack.header.identity.APIUpdateUserMsg","org.zstack.header.identity.APIQueryUserMsg","org.zstack.header.identity.APILogInByAccountMsg","org.zstack.header.identity.APIDetachPolicyFromUserGroupMsg","org.zstack.header.identity.APIQueryAccountResourceRefMsg","org.zstack.header.identity.APIDeletePolicyMsg","org.zstack.header.identity.role.api.APIRemovePolicyStatementsFromRoleMsg","org.zstack.header.identity.role.api.APIAttachPolicyToRoleMsg","org.zstack.header.identity.APIDetachPolicyFromUserMsg","org.zstack.header.identity.APILogOutMsg","org.zstack.header.identity.role.api.APICreateRoleMsg","org.zstack.header.identity.APIGetResourceAccountMsg","org.zstack.header.identity.role.api.APIUpdateRoleMsg","org.zstack.header.identity.APIDeleteUserGroupMsg","org.zstack.header.identity.APIAttachPoliciesToUserMsg","org.zstack.header.identity.APIQueryUserGroupMsg","org.zstack.header.identity.APIUpdateAccountMsg","org.zstack.header.identity.APIDeleteUserMsg","org.zstack.header.identity.APIDeleteAccountMsg","org.zstack.header.identity.role.api.APIDeleteRoleMsg","org.zstack.header.identity.role.api.APIChangeRoleStateMsg","org.zstack.header.identity.APICreateUserMsg","org.zstack.header.identity.APICreateUserGroupMsg","org.zstack.header.identity.APIQueryPolicyMsg","org.zstack.header.identity.APIAttachPolicyToUserGroupMsg","org.zstack.header.identity.APIQueryQuotaMsg","org.zstack.header.identity.role.api.APIAddPolicyStatementsToRoleMsg","org.zstack.header.identity.APIDetachPoliciesFromUserMsg","org.zstack.header.identity.APIRemoveUserFromGroupMsg","org.zstack.header.identity.APIRenewSessionMsg","org.zstack.header.identity.APICreatePolicyMsg","org.zstack.header.identity.role.api.APIDetachPolicyFromRoleMsg","org.zstack.header.identity.APIGetAccountQuotaUsageMsg","org.zstack.header.identity.APIAddUserToGroupMsg","org.zstack.header.identity.APIUpdateUserGroupMsg","org.zstack.header.identity.APICheckApiPermissionMsg","org.zstack.header.identity.APIQueryAccountMsg","org.zstack.header.identity.APIAttachPolicyToUserMsg","org.zstack.ticket.api.**","org.zstack.network.securitygroup.**","org.zstack.header.vipQos.**","org.zstack.network.service.lb.**","org.zstack.network.service.vip.**","org.zstack.tag2.**","org.zstack.zwatch.**","org.zstack.sns.**","org.zstack.header.volume.APICreateVolumeSnapshotMsg","org.zstack.header.storage.snapshot.**","org.zstack.pciDevice.APIQueryPciDeviceMsg","org.zstack.pciDevice.APIAttachPciDeviceToVmMsg","org.zstack.pciDevice.APIUpdateHostIommuStateMsg","org.zstack.pciDevice.APIDetachPciDeviceFromVmMsg","org.zstack.pciDevice.APIGetPciDeviceCandidatesForNewCreateVmMsg","org.zstack.pciDevice.APIGetPciDeviceCandidatesForAttachingVmMsg","org.zstack.scheduler.**","org.zstack.header.affinitygroup.**","org.zstack.network.service.flat.**","org.zstack.header.network.l2.APIUpdateL2NetworkMsg","org.zstack.network.l2.vxlan.vxlanNetworkPool.APIQueryVniRangeMsg","org.zstack.network.l2.vxlan.vxlanNetwork.APIQueryL2VxlanNetworkMsg","org.zstack.network.l2.vxlan.vxlanNetworkPool.APIQueryL2VxlanNetworkPoolMsg","org.zstack.header.network.l3.**","org.zstack.network.l2.vxlan.vxlanNetwork.APICreateL2VxlanNetworkMsg","org.zstack.header.network.service.APIQueryNetworkServiceProviderMsg","org.zstack.header.network.service.APIAttachNetworkServiceToL3NetworkMsg","org.zstack.header.network.l2.APIDeleteL2NetworkMsg","org.zstack.header.volume.APIChangeVolumeStateMsg","org.zstack.header.volume.APIGetVolumeCapabilitiesMsg","org.zstack.header.volume.APICreateDataVolumeFromVolumeSnapshotMsg","org.zstack.header.volume.APICreateDataVolumeFromVolumeTemplateMsg","org.zstack.header.volume.APIDetachDataVolumeFromVmMsg","org.zstack.header.volume.APISyncVolumeSizeMsg","org.zstack.header.volume.APIResizeDataVolumeMsg","org.zstack.header.volume.APIGetVolumeQosMsg","org.zstack.header.volume.APIQueryVolumeMsg","org.zstack.header.volume.APIAttachDataVolumeToVmMsg","org.zstack.header.volume.APIUpdateVolumeMsg","org.zstack.header.volume.APIResizeRootVolumeMsg","org.zstack.header.volume.APIDeleteDataVolumeMsg","org.zstack.header.volume.APICreateDataVolumeMsg","org.zstack.header.volume.APIDeleteVolumeQosMsg","org.zstack.header.volume.APIExpungeDataVolumeMsg","org.zstack.mevoco.APIQueryShareableVolumeVmInstanceRefMsg","org.zstack.header.volume.APIRecoverDataVolumeMsg","org.zstack.header.volume.APISetVolumeQosMsg","org.zstack.header.volume.APIGetVolumeFormatMsg","org.zstack.header.volume.APIGetDataVolumeAttachableVmMsg","org.zstack.header.storage.volume.backup.**","org.zstack.vpc.**","org.zstack.vrouterRoute.**","org.zstack.header.storage.backup.APIDeleteExportedImageFromBackupStorageMsg","org.zstack.header.image.**","org.zstack.storage.backup.imagestore.APIGetImagesFromImageStoreBackupStorageMsg","org.zstack.header.storage.backup.APIExportImageFromBackupStorageMsg","org.zstack.billing.APICalculateAccountSpendingMsg","org.zstack.header.vipQos.**","org.zstack.ipsec.**","org.zstack.network.service.virtualrouter.**","org.zstack.appliancevm.**","org.zstack.network.service.vip.**","org.zstack.header.vipQos.**","org.zstack.network.service.eip.**","org.zstack.network.service.vip.**","org.zstack.header.console.APIRequestConsoleAccessMsg","org.zstack.sns.**","org.zstack.header.affinitygroup.**","org.zstack.iam2.api.APIRemoveIAM2VirtualIDsFromOrganizationMsg","org.zstack.iam2.api.APIGetIAM2ProjectsOfVirtualIDMsg","org.zstack.iam2.api.APIQueryIAM2OrganizationMsg","org.zstack.iam2.api.APIQueryIAM2ProjectTemplateMsg","org.zstack.iam2.api.APIDeleteIAM2ProjectTemplateMsg","org.zstack.iam2.api.APIQueryIAM2OrganizationAttributeMsg","org.zstack.iam2.api.APIAddRolesToIAM2VirtualIDMsg","org.zstack.iam2.api.APICreateIAM2ProjectTemplateFromProjectMsg","org.zstack.iam2.api.APIAddAttributesToIAM2OrganizationMsg","org.zstack.iam2.api.APICreateIAM2VirtualIDMsg","org.zstack.iam2.api.APIUpdateIAM2ProjectMsg","org.zstack.iam2.api.APIQueryIAM2VirtualIDAttributeMsg","org.zstack.iam2.api.APIChangeIAM2VirtualIDGroupStateMsg","org.zstack.iam2.api.APIChangeIAM2ProjectStateMsg","org.zstack.iam2.api.APIRemoveAttributesFromIAM2OrganizationMsg","org.zstack.iam2.api.APIGetIAM2VirtualIDAPIPermissionMsg","org.zstack.iam2.api.APIRemoveIAM2VirtualIDsFromGroupMsg","org.zstack.iam2.api.APIChangeIAM2VirtualIDStateMsg","org.zstack.iam2.api.APILoginIAM2ProjectMsg","org.zstack.iam2.api.APIRemoveRolesFromIAM2VirtualIDMsg","org.zstack.iam2.api.APIRemoveAttributesFromIAM2VirtualIDGroupMsg","org.zstack.iam2.api.APIRemoveIAM2VirtualIDsFromProjectMsg","org.zstack.iam2.api.APIAddAttributesToIAM2VirtualIDMsg","org.zstack.iam2.api.APILoginIAM2VirtualIDMsg","org.zstack.iam2.api.APIQueryIAM2ProjectAttributeMsg","org.zstack.iam2.api.APICreateIAM2VirtualIDGroupMsg","org.zstack.iam2.api.APIUpdateIAM2VirtualIDGroupMsg","org.zstack.iam2.api.APIDeleteIAM2VirtualIDMsg","org.zstack.iam2.api.APIRemoveRolesFromIAM2VirtualIDGroupMsg","org.zstack.iam2.api.APIAddAttributesToIAM2VirtualIDGroupMsg","org.zstack.iam2.api.APIAddIAM2VirtualIDsToGroupMsg","org.zstack.iam2.api.APICreateIAM2ProjectFromTemplateMsg","org.zstack.iam2.api.APIQueryIAM2ProjectMsg","org.zstack.iam2.api.APIUpdateIAM2VirtualIDAttributeMsg","org.zstack.iam2.api.APIExpungeIAM2ProjectMsg","org.zstack.iam2.api.APIUpdateIAM2VirtualIDGroupAttributeMsg","org.zstack.iam2.api.APIAddIAM2VirtualIDsToOrganizationMsg","org.zstack.iam2.api.APIUpdateIAM2OrganizationAttributeMsg","org.zstack.iam2.api.APIGetIAM2SystemAttributesMsg","org.zstack.iam2.api.APIQueryIAM2VirtualIDGroupMsg","org.zstack.iam2.api.APIAddIAM2VirtualIDsToProjectMsg","org.zstack.iam2.api.APIRecoverIAM2ProjectMsg","org.zstack.iam2.api.APIAddRolesToIAM2VirtualIDGroupMsg","org.zstack.iam2.api.APIQueryIAM2VirtualIDMsg","org.zstack.iam2.api.APIRemoveAttributesFromIAM2VirtualIDMsg","org.zstack.iam2.api.APIUpdateIAM2ProjectAttributeMsg","org.zstack.iam2.api.APIUpdateIAM2VirtualIDMsg","org.zstack.iam2.api.APIQueryIAM2VirtualIDGroupAttributeMsg","org.zstack.iam2.api.APICreateIAM2ProjectTemplateMsg","org.zstack.iam2.api.APIDeleteIAM2VirtualIDGroupMsg","org.zstack.iam2.api.APIRemoveIAM2VirtualIDsFromOrganizationMsg","org.zstack.iam2.api.APIGetIAM2ProjectsOfVirtualIDMsg","org.zstack.iam2.api.APIQueryIAM2OrganizationMsg","org.zstack.iam2.api.APIQueryIAM2ProjectTemplateMsg","org.zstack.iam2.api.APIDeleteIAM2ProjectTemplateMsg","org.zstack.iam2.api.APIQueryIAM2OrganizationAttributeMsg","org.zstack.iam2.api.APIAddRolesToIAM2VirtualIDMsg","org.zstack.iam2.api.APICreateIAM2ProjectTemplateFromProjectMsg","org.zstack.iam2.api.APIAddAttributesToIAM2OrganizationMsg","org.zstack.iam2.api.APICreateIAM2VirtualIDMsg","org.zstack.iam2.api.APIUpdateIAM2ProjectMsg","org.zstack.iam2.api.APIQueryIAM2VirtualIDAttributeMsg","org.zstack.iam2.api.APIChangeIAM2VirtualIDGroupStateMsg","org.zstack.iam2.api.APIChangeIAM2ProjectStateMsg","org.zstack.iam2.api.APIRemoveAttributesFromIAM2OrganizationMsg","org.zstack.iam2.api.APIGetIAM2VirtualIDAPIPermissionMsg","org.zstack.iam2.api.APIRemoveIAM2VirtualIDsFromGroupMsg","org.zstack.iam2.api.APIChangeIAM2VirtualIDStateMsg","org.zstack.iam2.api.APILoginIAM2ProjectMsg","org.zstack.iam2.api.APIRemoveRolesFromIAM2VirtualIDMsg","org.zstack.iam2.api.APIRemoveAttributesFromIAM2VirtualIDGroupMsg","org.zstack.iam2.api.APIRemoveIAM2VirtualIDsFromProjectMsg","org.zstack.iam2.api.APIAddAttributesToIAM2VirtualIDMsg","org.zstack.iam2.api.APILoginIAM2VirtualIDMsg","org.zstack.iam2.api.APIQueryIAM2ProjectAttributeMsg","org.zstack.iam2.api.APICreateIAM2VirtualIDGroupMsg","org.zstack.iam2.api.APIUpdateIAM2VirtualIDGroupMsg","org.zstack.iam2.api.APIDeleteIAM2VirtualIDMsg","org.zstack.iam2.api.APIRemoveRolesFromIAM2VirtualIDGroupMsg","org.zstack.iam2.api.APIAddAttributesToIAM2VirtualIDGroupMsg","org.zstack.iam2.api.APIAddIAM2VirtualIDsToGroupMsg","org.zstack.iam2.api.APICreateIAM2ProjectFromTemplateMsg","org.zstack.iam2.api.APIQueryIAM2ProjectMsg","org.zstack.iam2.api.APIUpdateIAM2VirtualIDAttributeMsg","org.zstack.iam2.api.APIExpungeIAM2ProjectMsg","org.zstack.iam2.api.APIUpdateIAM2VirtualIDGroupAttributeMsg","org.zstack.iam2.api.APIAddIAM2VirtualIDsToOrganizationMsg","org.zstack.iam2.api.APIUpdateIAM2OrganizationAttributeMsg","org.zstack.iam2.api.APIGetIAM2SystemAttributesMsg","org.zstack.iam2.api.APIQueryIAM2VirtualIDGroupMsg","org.zstack.iam2.api.APIAddIAM2VirtualIDsToProjectMsg","org.zstack.iam2.api.APIRecoverIAM2ProjectMsg","org.zstack.iam2.api.APIAddRolesToIAM2VirtualIDGroupMsg","org.zstack.iam2.api.APIQueryIAM2VirtualIDMsg","org.zstack.iam2.api.APIRemoveAttributesFromIAM2VirtualIDMsg","org.zstack.iam2.api.APIUpdateIAM2ProjectAttributeMsg","org.zstack.iam2.api.APIUpdateIAM2VirtualIDMsg","org.zstack.iam2.api.APIQueryIAM2VirtualIDGroupAttributeMsg","org.zstack.iam2.api.APICreateIAM2ProjectTemplateMsg","org.zstack.iam2.api.APIDeleteIAM2VirtualIDGroupMsg","org.zstack.iam2.api.APIUpdateIAM2VirtualIDMsg","org.zstack.header.identity.APIQueryQuotaMsg","org.zstack.iam2.api.APIQueryIAM2VirtualIDMsg","org.zstack.iam2.api.APIQueryIAM2VirtualIDGroupMsg","org.zstack.accessKey.**","org.zstack.header.configuration.APIQueryDiskOfferingMsg","org.zstack.header.configuration.APIQueryInstanceOfferingMsg","org.zstack.ha.**","org.zstack.header.vm.**","org.zstack.header.vm.APICloneVmInstanceMsg","org.zstack.header.vm.APISetVmCleanTrafficMsg","org.zstack.header.vm.APISetVmUsbRedirectMsg","org.zstack.header.vm.APIUpdateVmNicMacMsg","org.zstack.ha.APIDeleteVmInstanceHaLevelMsg","org.zstack.header.vm.APIUpdateVmInstanceMsg","org.zstack.header.vm.APIGetCandidatePrimaryStoragesForCreatingVmMsg","org.zstack.header.vm.APIQueryVmNicMsg","org.zstack.header.vm.APIResumeVmInstanceMsg","org.zstack.header.vm.APISetNicQosMsg","org.zstack.header.vm.APIDeleteVmHostnameMsg","org.zstack.header.vm.APIGetVmConsolePasswordMsg","org.zstack.header.vm.APIDeleteVmSshKeyMsg","org.zstack.header.vm.APIGetVmUsbRedirectMsg","org.zstack.ha.APIGetVmInstanceHaLevelMsg","org.zstack.header.vm.APIGetInterdependentL3NetworksImagesMsg","org.zstack.header.vm.APIMigrateVmMsg","org.zstack.header.vm.APIGetVmBootOrderMsg","org.zstack.header.vm.APIChangeVmPasswordMsg","org.zstack.header.vm.APIDetachIpAddressFromVmNicMsg","org.zstack.header.vm.APISetVmBootOrderMsg","org.zstack.header.vm.APISetVmStaticIpMsg","org.zstack.header.vm.APIGetVmSshKeyMsg","org.zstack.header.vm.APIDetachIsoFromVmInstanceMsg","org.zstack.header.vm.APISetVmRDPMsg","org.zstack.header.vm.APIDestroyVmInstanceMsg","org.zstack.header.vm.APIDeleteVmStaticIpMsg","org.zstack.header.vm.APIAttachIsoToVmInstanceMsg","org.zstack.header.vm.APIDeleteVmNicMsg","org.zstack.header.vm.APIQueryVmInstanceMsg","org.zstack.header.vm.APISetVmHostnameMsg","org.zstack.header.vm.APIGetImageCandidatesForVmToChangeMsg","org.zstack.header.vm.APIGetVmAttachableL3NetworkMsg","org.zstack.header.vm.APIStopVmInstanceMsg","org.zstack.header.vm.APIDeleteVmConsolePasswordMsg","org.zstack.header.vm.APIGetVmCapabilitiesMsg","org.zstack.header.vm.APIDeleteNicQosMsg","org.zstack.header.vm.APIAttachVmNicToVmMsg","org.zstack.header.vm.APIStartVmInstanceMsg","org.zstack.header.vm.APIGetCandidateIsoForAttachingVmMsg","org.zstack.header.vm.APIGetCandidateVmForAttachingIsoMsg","org.zstack.header.vm.APISetVmQgaMsg","org.zstack.header.vm.APISetVmConsolePasswordMsg","org.zstack.header.vm.APIAttachL3NetworkToVmNicMsg","org.zstack.header.vm.APIChangeVmImageMsg","org.zstack.header.vm.APISetVmMonitorNumberMsg","org.zstack.header.vm.APIGetVmAttachableDataVolumeMsg","org.zstack.header.vm.APIGetVmMonitorNumberMsg","org.zstack.header.vm.APIPauseVmInstanceMsg","org.zstack.header.vm.APICreateVmNicMsg","org.zstack.header.vm.APIExpungeVmInstanceMsg","org.zstack.header.vm.APIGetVmStartingCandidateClustersHostsMsg","org.zstack.header.vm.APIGetCandidateZonesClustersHostsForCreatingVmMsg","org.zstack.header.vm.APIRecoverVmInstanceMsg","org.zstack.header.vm.APIGetVmMigrationCandidateHostsMsg","org.zstack.header.vm.APIGetVmQgaMsg","org.zstack.header.vm.APIReimageVmInstanceMsg","org.zstack.header.vm.APIAttachL3NetworkToVmMsg","org.zstack.header.vm.APIGetVmConsoleAddressMsg","org.zstack.header.vm.APIGetVmHostnameMsg","org.zstack.header.vm.APISetVmSshKeyMsg","org.zstack.header.vm.APIGetVmRDPMsg","org.zstack.header.vm.APIRebootVmInstanceMsg","org.zstack.header.vm.APIChangeInstanceOfferingMsg","org.zstack.header.vm.APIDetachL3NetworkFromVmMsg","org.zstack.ha.APISetVmInstanceHaLevelMsg","org.zstack.header.vm.APIGetNicQosMsg"]}'; + read_loop: LOOP + FETCH cur INTO targetProjectUuid; + IF done THEN + LEAVE read_loop; + END IF; + + SET role_name = CONCAT('project-admin-role-', virtualUuid); + SELECT count(*) into count_policy from IAM2ProjectAccountRefVO projectAccountRef, RoleVO role, + AccountResourceRefVO ref where ref.resourceUuid = role.uuid and projectAccountRef.accountUuid = + ref.accountUuid and projectAccountRef.projectUuid = targetProjectUuid and role.uuid = ref.resourceUuid + and role.name = role_name; + + IF (count_policy = 1) THEN + SELECT role.uuid into new_role_uuid from IAM2ProjectAccountRefVO projectAccountRef, RoleVO role, + AccountResourceRefVO ref where ref.resourceUuid = role.uuid and projectAccountRef.accountUuid = + ref.accountUuid and projectAccountRef.projectUuid = targetProjectUuid and role.uuid = ref.resourceUuid + and role.name = role_name; + + SELECT count(*) into count_vid_role_ref from IAM2VirtualIDRoleRefVO where virtualIDUuid = virtualUuid + and roleUuid = new_role_uuid; + + IF (count_vid_role_ref < 1) THEN + INSERT INTO IAM2VirtualIDRoleRefVO (`virtualIDUuid`, `roleUuid`, `lastOpDate`, `createDate`) + values (virtualUuid, new_role_uuid, CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP()); + END IF; + END IF; + + IF (count_policy < 1) THEN + SET new_role_uuid = REPLACE(UUID(), '-', ''); + + INSERT INTO ResourceVO (`uuid`, `resourceName`, `resourceType`, `concreteResourceType`) + values (new_role_uuid, role_name, 'RoleVO', 'org.zstack.header.identity.role.RoleVO'); + + INSERT INTO RoleVO (`uuid`, `name`, `type`, `state`, `description`, `lastOpDate`, `createDate`) + values (new_role_uuid, role_name, 'System', 'Enabled', NULL, CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP()); + + CALL getProjectAccount(targetProjectUuid, targetAccountUuid); + CALL getMaxAccountResourceRefVO(refId); + INSERT INTO AccountResourceRefVO (`id`, `accountUuid`, `ownerAccountUuid`, `resourceUuid`, `resourceType`, `permission`, `isShared`, `lastOpDate`, `createDate`, `concreteResourceType`) + values (refId + 1, targetAccountUuid, targetAccountUuid, new_role_uuid, 'RoleVO', 2, 0, CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP(), 'org.zstack.header.identity.role.SystemRoleVO'); + + SET new_statement_uuid = REPLACE(UUID(), '-', ''); + INSERT INTO RolePolicyStatementVO (`uuid`, `statement`, `roleUuid`, `lastOpDate`, `createDate`) + values (new_statement_uuid, policyStatement, new_role_uuid, CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP()); + + INSERT INTO IAM2VirtualIDRoleRefVO (`virtualIDUuid`, `roleUuid`, `lastOpDate`, `createDate`) + values (virtualUuid, new_role_uuid, CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP()); + END IF; + END LOOP; + CLOSE cur; + SELECT CURTIME(); + END $$ +DELIMITER ; + +DELIMITER $$ +CREATE PROCEDURE fixMissingProjectAdminPolicy() + BEGIN + DECLARE done INT DEFAULT FALSE; + DECLARE count_project_admin INT DEFAULT 0; + DECLARE virtualUuid varchar(32); + DECLARE refId bigint(20) unsigned; + DECLARE policyStatement text; + DECLARE cur CURSOR FOR SELECT uuid FROM zstack.IAM2VirtualIDVO; + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; + + OPEN cur; + read_loop: LOOP + FETCH cur INTO virtualUuid; + IF done THEN + LEAVE read_loop; + END IF; + + SELECT count(*) into count_project_admin from IAM2VirtualIDAttributeVO attr + where attr.name = '__ProjectAdmin__' and attr.virtualIDUuid = virtualUuid; + IF (count_project_admin > 0) THEN + CALL checkProjectAdminOfVirtualId(virtualUuid); + END IF; + END LOOP; + CLOSE cur; + SELECT CURTIME(); + END $$ +DELIMITER ; + +-- delete dirty project admin attributes in db +delete from IAM2VirtualIDAttributeVO where name = '__ProjectAdmin__' and value not in (select uuid from IAM2ProjectVO); + +call fixMissingProjectAdminPolicy(); +DROP PROCEDURE IF EXISTS fixMissingProjectAdminPolicy; +DROP PROCEDURE IF EXISTS checkProjectAdminOfVirtualId; +DROP PROCEDURE IF EXISTS getProjectAccount; +DROP PROCEDURE IF EXISTS getMaxAccountResourceRefVO; + +CREATE TABLE `VmCdRomVO` ( + `uuid` VARCHAR(32) NOT NULL UNIQUE, + `name` VARCHAR(256) NOT NULL, + `vmInstanceUuid` VARCHAR(32) NOT NULL, + `deviceId` int(10) unsigned NOT NULL COMMENT 'device id', + `isoUuid` VARCHAR(32) DEFAULT NULL, + `isoInstallPath` VARCHAR(1024) DEFAULT NULL, + `description` VARCHAR(2048) DEFAULT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`), + UNIQUE KEY `vmInstanceCdRomDeviceId` (`vmInstanceUuid`,`deviceId`), + KEY `fkVmCdRomVOVmInstanceEO` (`vmInstanceUuid`), + CONSTRAINT `fkVmCdRomVOVmInstanceEO` FOREIGN KEY (`vmInstanceUuid`) REFERENCES `VmInstanceEO` (`uuid`) ON DELETE CASCADE, + CONSTRAINT `fkVmCdRomVOImageEO` FOREIGN KEY (`isoUuid`) REFERENCES `ImageEO` (`uuid`) ON DELETE SET NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +ALTER TABLE AlarmVO ADD COLUMN `repeatCount` int DEFAULT NULL; +UPDATE `AlarmVO` SET `repeatCount` = -1; + +ALTER TABLE `V2VConversionCacheVO` ADD COLUMN `downloadTime` VARCHAR(32); +ALTER TABLE `V2VConversionCacheVO` ADD COLUMN `uploadTime` VARCHAR(32); + +DELETE FROM `HostCapacityVO` WHERE uuid NOT IN (SELECT uuid FROM `HostVO`); \ No newline at end of file diff --git a/conf/tools/flyway-6.3.1/sql/V3.3.1.1__schema.sql b/conf/tools/flyway-6.3.1/sql/V3.3.1.1__schema.sql new file mode 100644 index 00000000000..c015ee414d7 --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V3.3.1.1__schema.sql @@ -0,0 +1 @@ +SET FOREIGN_KEY_CHECKS = 0; \ No newline at end of file diff --git a/conf/tools/flyway-6.3.1/sql/V3.3.1__schema.sql b/conf/tools/flyway-6.3.1/sql/V3.3.1__schema.sql new file mode 100644 index 00000000000..51e43877086 --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V3.3.1__schema.sql @@ -0,0 +1,17 @@ +CREATE TABLE `zstack`.`PciDeviceSpecVO` ( + `uuid` varchar(32) NOT NULL, + `name` varchar(255) NOT NULL, + `description` varchar(2048) DEFAULT NULL, + `vendorId` varchar(64) NOT NULL, + `deviceId` varchar(64) NOT NULL, + `subvendorId` varchar(64) DEFAULT NULL, + `subdeviceId` varchar(64) DEFAULT NULL, + `romContent` MEDIUMTEXT DEFAULT NULL, + `romVersion` varchar(255) DEFAULT NULL, + `romMd5sum` varchar(255) DEFAULT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +ALTER TABLE AsyncRestVO MODIFY COLUMN `requestData` LONGTEXT DEFAULT NULL; diff --git a/conf/tools/flyway-6.3.1/sql/V3.4.0.1__schema.sql b/conf/tools/flyway-6.3.1/sql/V3.4.0.1__schema.sql new file mode 100644 index 00000000000..4bd9d01eb87 --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V3.4.0.1__schema.sql @@ -0,0 +1 @@ +SET FOREIGN_KEY_CHECKS = 1; \ No newline at end of file diff --git a/conf/tools/flyway-6.3.1/sql/V3.4.0__schema.sql b/conf/tools/flyway-6.3.1/sql/V3.4.0__schema.sql new file mode 100644 index 00000000000..d06beac955c --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V3.4.0__schema.sql @@ -0,0 +1,383 @@ +ALTER TABLE `zstack`.`TwoFactorAuthenticationSecretVO` ADD COLUMN `status` varchar(255) NOT NULL DEFAULT "NewCreated"; +INSERT IGNORE INTO ResourceVO (uuid, resourceType) SELECT t.uuid, "TwoFactorAuthenticationSecretVO" FROM TwoFactorAuthenticationSecretVO t; +ALTER TABLE `zstack`.`TwoFactorAuthenticationSecretVO` CHANGE `resourceUuid` `userUuid` VARCHAR(32) NOT NULL; +ALTER TABLE `zstack`.`TwoFactorAuthenticationSecretVO` CHANGE `resourceType` `userType` VARCHAR(256) NOT NULL; + +-- Add primary key to PrimaryStorageHostRefVO and make SharedBlockGroupPrimaryStorageHostRefVO inherit it + +ALTER TABLE PrimaryStorageHostRefVO ADD id BIGINT UNSIGNED NOT NULL UNIQUE AUTO_INCREMENT; +ALTER TABLE PrimaryStorageHostRefVO DROP FOREIGN KEY fkPrimaryStorageHostRefVOHostEO, DROP FOREIGN KEY fkPrimaryStorageHostRefVOPrimaryStorageEO; +ALTER TABLE PrimaryStorageHostRefVO DROP PRIMARY KEY, ADD PRIMARY KEY ( `id` ); +ALTER TABLE PrimaryStorageHostRefVO ADD CONSTRAINT fkPrimaryStorageHostRefVOHostEO FOREIGN KEY (hostUuid) REFERENCES HostEO (uuid) ON DELETE CASCADE; +ALTER TABLE PrimaryStorageHostRefVO ADD CONSTRAINT fkPrimaryStorageHostRefVOPrimaryStorageEO FOREIGN KEY (primaryStorageUuid) REFERENCES PrimaryStorageEO (uuid) ON DELETE CASCADE; +INSERT INTO PrimaryStorageHostRefVO (primaryStorageUuid, hostUuid, status, lastOpDate, createDate) SELECT s.primaryStorageUuid, s.hostUuid, s.status, s.lastOpDate, s.createDate FROM SharedBlockGroupPrimaryStorageHostRefVO s; + +ALTER TABLE SharedBlockGroupPrimaryStorageHostRefVO DROP FOREIGN KEY fkSharedBlockGroupPrimaryStorageHostRefVOPrimaryStorageEO, DROP FOREIGN KEY fkSharedBlockGroupPrimaryStorageHostRefVOHostEO; +ALTER TABLE SharedBlockGroupPrimaryStorageHostRefVO DROP INDEX ukSharedBlockGroupPrimaryStorageHostRefVO; +ALTER TABLE SharedBlockGroupPrimaryStorageHostRefVO ADD id BIGINT UNSIGNED UNIQUE; +UPDATE SharedBlockGroupPrimaryStorageHostRefVO s, PrimaryStorageHostRefVO p SET s.id = p.id WHERE s.primaryStorageUuid = p.primaryStorageUuid AND s.hostUuid = p.hostUuid; +ALTER TABLE SharedBlockGroupPrimaryStorageHostRefVO ADD CONSTRAINT fkSharedBlockGroupPrimaryStorageHostRefVOPrimaryStorageHostRefVO FOREIGN KEY (id) REFERENCES PrimaryStorageHostRefVO (id) ON DELETE CASCADE; +ALTER TABLE SharedBlockGroupPrimaryStorageHostRefVO DROP PRIMARY KEY, ADD PRIMARY KEY ( `id` ); +ALTER TABLE SharedBlockGroupPrimaryStorageHostRefVO DROP COLUMN primaryStorageUuid, DROP COLUMN hostUuid, DROP COLUMN status, DROP COLUMN lastOpDate, DROP COLUMN createDate; + +-- ---------------------------- +-- For unattended baremetal provisioning +-- ---------------------------- +CREATE TABLE `PreconfigurationTemplateVO` ( + `uuid` VARCHAR(32) NOT NULL UNIQUE, + `name` VARCHAR(255) NOT NULL, + `description` VARCHAR(2048) DEFAULT NULL, + `distribution` VARCHAR(64) NOT NULL, + `type` VARCHAR(32) NOT NULL, + `content` MEDIUMTEXT NOT NULL, + `md5sum` VARCHAR(255) NOT NULL, + `isPredefined` TINYINT(1) UNSIGNED DEFAULT 0, + `state` varchar(32) NOT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `TemplateCustomParamVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `templateUuid` VARCHAR(32) NOT NULL, + `param` VARCHAR(255) NOT NULL, + CONSTRAINT fkTemplateCustomParamVOPreconfigurationTemplateVO FOREIGN KEY (templateUuid) REFERENCES PreconfigurationTemplateVO (uuid) ON DELETE CASCADE, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `CustomPreconfigurationVO` ( + `uuid` VARCHAR(32) NOT NULL UNIQUE, + `baremetalInstanceUuid` VARCHAR(32) NOT NULL, + `param` VARCHAR(255) NOT NULL, + `value` TEXT NOT NULL, + CONSTRAINT fkCustomPreconfigurationVOBaremetalInstanceVO FOREIGN KEY (baremetalInstanceUuid) REFERENCES BaremetalInstanceVO (uuid) ON DELETE CASCADE, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- we don't know mac address of the bm vlan nic +ALTER TABLE `BaremetalNicVO` DROP INDEX `mac`; +ALTER TABLE `BaremetalNicVO` MODIFY `mac` varchar(17) DEFAULT NULL; +ALTER TABLE `BaremetalNicVO` ADD COLUMN `baremetalBondingUuid` varchar(32) DEFAULT NULL; +ALTER TABLE `BaremetalNicVO` ADD CONSTRAINT `ukBaremetalNicVO` UNIQUE (`mac`,`baremetalBondingUuid`); + +CREATE TABLE `BaremetalVlanNicVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `vlan` int unsigned NOT NULL, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +ALTER TABLE BaremetalVlanNicVO ADD CONSTRAINT fkBaremetalVlanNicVOBaremetalNicVO FOREIGN KEY (uuid) REFERENCES BaremetalNicVO (uuid) ON UPDATE RESTRICT ON DELETE CASCADE; + +CREATE TABLE `BaremetalBondingVO` ( + `uuid` VARCHAR(32) NOT NULL UNIQUE, + `chassisUuid` VARCHAR(32) NOT NULL, + `name` VARCHAR(255) NOT NULL, + `mode` TINYINT UNSIGNED NOT NULL, + `slaves` VARCHAR(2048) NOT NULL, + `opts` VARCHAR(1024) DEFAULT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +ALTER TABLE `BaremetalInstanceVO` ADD COLUMN `templateUuid` varchar(32) DEFAULT NULL; +ALTER TABLE `BaremetalInstanceVO` ADD CONSTRAINT `fkBaremetalInstanceVOPreconfigurationTemplateVO` FOREIGN KEY (`templateUuid`) REFERENCES `PreconfigurationTemplateVO` (`uuid`) ON DELETE SET NULL; + +CREATE TABLE `RouterAreaVO` ( + `uuid` VARCHAR(32) NOT NULL UNIQUE COMMENT 'area uuid', + `areaId` VARCHAR(64) NOT NULL COMMENT 'area id 32bit with IPv4 address style', + `type` VARCHAR(16) NOT NULL DEFAULT 'Standard', + `authentication` VARCHAR(16) NOT NULL DEFAULT 'None', + `password` VARCHAR(16) DEFAULT NULL, + `keyId` int unsigned DEFAULT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `NetworkRouterAreaRefVO` ( + `uuid` VARCHAR(32) NOT NULL UNIQUE, + `routerAreaUuid` VARCHAR(32) NOT NULL, + `vRouterUuid` VARCHAR(32) NOT NULL, + `l3NetworkUuid` VARCHAR(32) NOT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`), + CONSTRAINT `fkNetworkRouterAreaRefVORouterAreaVO` FOREIGN KEY (`routerAreaUuid`) REFERENCES `RouterAreaVO` (`uuid`) ON DELETE CASCADE, + CONSTRAINT `fkNetworkRouterAreaRefVOL3NetworkVO` FOREIGN KEY (`l3NetworkUuid`) REFERENCES `L3NetworkEO` (`uuid`) ON DELETE CASCADE, + CONSTRAINT `fkNetworkRouterAreaRefVOVpcRouterVmVO` FOREIGN KEY (`vRouterUuid`) REFERENCES `VpcRouterVmVO` (`uuid`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE INDEX idxVmUuid ON VmUsageVO(vmUuid) USING BTREE; + +DELIMITER $$ +CREATE PROCEDURE cleanExpireVmUsageVO() + BEGIN + DECLARE done INT DEFAULT FALSE; + DECLARE vmUuid VARCHAR(32); + DECLARE name VARCHAR(255); + DECLARE accountUuid VARCHAR(32); + DECLARE cpuNum INT(10); + DECLARE state VARCHAR(64); + DECLARE memorySize BIGINT(20); + DECLARE rootVolumeSize BIGINT(20); + DECLARE inventory Text; + DECLARE lastOpDate TIMESTAMP; + DEClARE cur CURSOR FOR SELECT v.vmUuid,v.name,v.accountUuid,v.state,v.cpuNum,v.memorySize,v.rootVolumeSize,v.inventory from VmUsageVO v + where v.id IN (select MAX(a.id) FROM VmUsageVO a GROUP BY a.vmUuid) + AND v.vmUuid NOT IN (select DISTINCT uuid from VmInstanceEO) AND v.state = 'Running'; + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; + OPEN cur; + read_loop: LOOP + FETCH cur INTO vmUuid,name,accountUuid,state,cpuNum,memorySize,rootVolumeSize,inventory; + IF done THEN + LEAVE read_loop; + END IF; + + INSERT zstack.VmUsageVO(vmUuid,name,accountUuid,state,cpuNum,memorySize,dateInLong,rootVolumeSize,inventory,lastOpDate,createDate) + VALUES (vmUuid,name,accountUuid,'Destroyed',cpuNum,memorySize,UNIX_TIMESTAMP(),rootVolumeSize,inventory,NOW(),NOW()); + + END LOOP; + CLOSE cur; + SELECT CURTIME(); + END $$ +DELIMITER ; + +call cleanExpireVmUsageVO(); +DROP PROCEDURE IF EXISTS cleanExpireVmUsageVO; + +CREATE TABLE `ResourceConfigVO` ( + `uuid` VARCHAR(32) NOT NULL UNIQUE, + `name` VARCHAR(255) NOT NULL, + `description` VARCHAR(1024) DEFAULT NULL, + `category` VARCHAR(64) NOT NULL, + `value` TEXT NOT NULL, + `resourceUuid` VARCHAR(32) NOT NULL, + `resourceType` VARCHAR(256) NOT NULL, + `lastOpDate` TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `createDate` TIMESTAMP, + PRIMARY KEY (`uuid`) +) ENGINE = InnoDB DEFAULT CHARSET = utf8; +ALTER TABLE ResourceConfigVO ADD CONSTRAINT fkResourceConfigVOResourceVO FOREIGN KEY (`resourceUuid`) REFERENCES `ResourceVO` (uuid) ON DELETE CASCADE; + +DELIMITER $$ +CREATE PROCEDURE migrateReserveMemTagVO() + BEGIN + DECLARE done INT DEFAULT FALSE; + DECLARE tag VARCHAR(64); + DECLARE resourceUuid VARCHAR(32); + DECLARE resourceType VARCHAR(32); + DECLARE resourceConfigUuid VARCHAR(32); + DECLARE des VARCHAR(1024); + DECLARE cur1 CURSOR FOR SELECT DISTINCT stag.tag, stag.resourceUuid, stag.resourceType FROM zstack.SystemTagVO stag WHERE stag.tag LIKE 'reservedMemory::%'; + DECLARE cur2 CURSOR FOR SELECT DISTINCT stag.tag, stag.resourceUuid, stag.resourceType FROM zstack.SystemTagVO stag WHERE stag.tag LIKE 'host::reservedMemory::%'; + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; + + SET des = 'The memory capacity reserved on all KVM hosts. ZStack KVM agent is a python web server that needs some memory capacity to run. this value reserves a portion of memory for the agent as well as other host applications. The value can be overridden by system tag on individual host, cluster and zone level'; + + OPEN cur1; + read_loop: LOOP + FETCH cur1 INTO tag, resourceUuid, resourceType; + IF done THEN + LEAVE read_loop; + END IF; + + SET resourceConfigUuid = (REPLACE(UUID(), '-', '')); + INSERT ResourceConfigVO(uuid, name, description, category, value, resourceUuid, resourceType, createDate, lastOpDate) + VALUES (resourceConfigUuid, 'reservedMemory', des, 'kvm', substring(tag, LENGTH('reservedMemory::') + 1), resourceUuid ,resourceType, NOW(), NOW()); + + END LOOP; + CLOSE cur1; + + SET done = FALSE; + OPEN cur2; + read_loop: LOOP + FETCH cur2 INTO tag, resourceUuid, resourceType; + IF done THEN + LEAVE read_loop; + END IF; + + SET resourceConfigUuid = (REPLACE(UUID(), '-', '')); + INSERT ResourceConfigVO(uuid, name, description, category, value, resourceUuid, resourceType, createDate, lastOpDate) + VALUES (resourceConfigUuid, 'reservedMemory', des, 'kvm', substring(tag, LENGTH('host::reservedMemory::') + 1), resourceUuid ,resourceType, NOW(), NOW()); + + END LOOP; + CLOSE cur2; + SELECT CURTIME(); + END $$ +DELIMITER ; + +call migrateReserveMemTagVO(); +DROP PROCEDURE IF EXISTS migrateReserveMemTagVO; + +ALTER TABLE VpcVpnGatewayVO CHANGE endDate endDate datetime NOT NULL; + +CREATE TABLE `ResourceUsageVO` ( + `id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT, + `accountUuid` VARCHAR(32) NOT NULL, + `resourceType` VARCHAR(32) NOT NULL, + `resourceUuid` VARCHAR(32) NOT NULL, + `resourceName` VARCHAR(255) NOT NULL, + `spending` DOUBLE NOT NULL, + `spendingDate` DATE NOT NULL, + `spendingStart` TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00', + `spendingEnd` TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00', + `lastOpDate` TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00', + `createDate` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + PRIMARY KEY (`id`), + INDEX `idxResourceUsageVOaccountUuid` (`accountUuid`), + INDEX `idxResourceUsageVOspendingDate` (`spendingDate`), + INDEX `idxResourceUsageVOresourceUuid` (`resourceUuid`), + INDEX `idxResourceUsageVOtypeDate` (`resourceType`,`spendingDate`), + UNIQUE `idxResourceUsageVOuuidDate` (`resourceType`,`resourceUuid`,`spendingDate`) +) ENGINE=INNODB DEFAULT CHARSET=UTF8; + +INSERT INTO AccountResourceRefVO (`accountUuid`, `ownerAccountUuid`, `resourceUuid`, `resourceType`, `permission`, `isShared`, `lastOpDate`, `createDate`, `concreteResourceType`) SELECT "36c27e8ff05c4780bf6d2fa65700f22e", "36c27e8ff05c4780bf6d2fa65700f22e", t.uuid, "L2NetworkVO", 2, 0, CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP(), "org.zstack.header.network.l2.L2VlanNetworkVO" FROM L2NetworkVO t where t.type = "L2VlanNetwork" AND t.uuid NOT IN (SELECT resourceUuid FROM AccountResourceRefVO); +INSERT INTO AccountResourceRefVO (`accountUuid`, `ownerAccountUuid`, `resourceUuid`, `resourceType`, `permission`, `isShared`, `lastOpDate`, `createDate`, `concreteResourceType`) SELECT "36c27e8ff05c4780bf6d2fa65700f22e", "36c27e8ff05c4780bf6d2fa65700f22e", t.uuid, "L2NetworkVO", 2, 0, CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP(), "org.zstack.header.network.l2.L2NetworkVO" FROM L2NetworkVO t where t.type = "L2NoVlanNetwork" AND t.uuid NOT IN (SELECT resourceUuid FROM AccountResourceRefVO); + +ALTER TABLE `AlarmVO` ADD COLUMN `enableRecovery` boolean NOT NULL DEFAULT FALSE; +ALTER TABLE `SNSTextTemplateVO` ADD COLUMN `recoveryTemplate` text DEFAULT NULL; + +DROP PROCEDURE IF EXISTS initializeRecoveryTemplate; +DELIMITER $$ +CREATE PROCEDURE initializeRecoveryTemplate() + BEGIN + DECLARE done INT DEFAULT FALSE; + DECLARE uuid VARCHAR(32); + DECLARE applicationPlatformType VARCHAR(128); + DECLARE cur CURSOR FOR SELECT v.uuid,v.applicationPlatformType FROM SNSTextTemplateVO v WHERE v.recoveryTemplate IS NULL or v.recoveryTemplate = ''; + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; + OPEN cur; + read_loop: LOOP + FETCH cur INTO uuid,applicationPlatformType; + IF done THEN + LEAVE read_loop; + END IF; + + IF applicationPlatformType = 'DingTalk' THEN + UPDATE SNSTextTemplateVO v SET v.recoveryTemplate = replace('# 报警器 %{ALARM_NAME} %{TITLE_ALARM_RESOURCE_NAME} 状态改变成 %{ALARM_CURRENT_STATUS}\n## 报警恢复详情:\n- UUID: %{ALARM_UUID}\n- 资源名字空间: %{ALARM_NAMESPACE}\n- 恢复条件: %{ALARM_METRIC} %{ALARM_COMPARISON_OPERATOR_REVERSE} %{ALARM_THRESHOLD}\n- 先前状态: %{ALARM_PREVIOUS_STATUS}\n- 当前值: %{ALARM_CURRENT_VALUE}\n- 报警资源UUID: %{ALARM_RESOURCE_ID}\n- 报警资源名称: %{ALARM_RESOURCE_NAME}', '%', '$') WHERE v.uuid = uuid; + END IF; + + IF applicationPlatformType = 'Email' THEN + UPDATE SNSTextTemplateVO v SET v.recoveryTemplate = replace('报警器 %{ALARM_NAME} %{TITLE_ALARM_RESOURCE_NAME} 状态改变成 %{ALARM_CURRENT_STATUS}\n报警恢复详情:\nUUID: %{ALARM_UUID}\n资源名字空间: %{ALARM_NAMESPACE}\n恢复条件: %{ALARM_METRIC} %{ALARM_COMPARISON_OPERATOR_REVERSE} %{ALARM_THRESHOLD}\n先前状态: %{ALARM_PREVIOUS_STATUS}\n当前值: %{ALARM_CURRENT_VALUE}\n报警资源UUID: %{ALARM_RESOURCE_ID}\n报警资源名称: %{ALARM_RESOURCE_NAME}' , '%', '$') WHERE v.uuid = uuid; + END IF; + END LOOP; + CLOSE cur; + SELECT CURTIME(); + END $$ +DELIMITER ; + +call initializeRecoveryTemplate(); +DROP PROCEDURE IF EXISTS initializeRecoveryTemplate; + +ALTER TABLE `SchedulerTriggerVO` MODIFY COLUMN `cron` varchar(255) DEFAULT NULL COMMENT 'interval in cron format'; + +ALTER TABLE `HybridAccountVO` MODIFY `name` VARCHAR(255) UNIQUE NOT NULL; + +CREATE TABLE `zstack`.`SchedulerJobGroupVO` ( + `uuid` VARCHAR(32) NOT NULL UNIQUE, + `name` VARCHAR(255) NOT NULL, + `description` VARCHAR(2048) DEFAULT NULL, + `jobType` VARCHAR(32), + `jobClassName` varchar(255), + `jobData` text, + `state` varchar(255), + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`SchedulerJobGroupJobRefVO` ( + `schedulerJobUuid` varchar(32) NOT NULL, + `schedulerJobGroupUuid` varchar(32) NOT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`schedulerJobUuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`SchedulerJobGroupSchedulerTriggerRefVO` ( + `schedulerJobGroupUuid` varchar(32) NOT NULL, + `schedulerTriggerUuid` varchar(32) NOT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`schedulerJobGroupUuid`, `schedulerTriggerUuid`), + CONSTRAINT `fkSchedulerJobGroupSchedulerTriggerRefVOSchedulerJobGroupVO` FOREIGN KEY (`schedulerJobGroupUuid`) REFERENCES `SchedulerJobGroupVO` (`uuid`) ON DELETE CASCADE, + CONSTRAINT `fkSchedulerJobGroupSchedulerTriggerRefVOSchedulerTriggerVO` FOREIGN KEY (`schedulerTriggerUuid`) REFERENCES `SchedulerTriggerVO` (`uuid`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +DELIMITER $$ +CREATE PROCEDURE migrateSchedulerJob() + BEGIN + DECLARE done INT DEFAULT FALSE; + DECLARE triggerUuid VARCHAR(32); + DECLARE groupUuid VARCHAR(32); + DECLARE volumeType VARCHAR(32); + DECLARE volumeUuid VARCHAR(32); + DECLARE legacyJobUuid VARCHAR(32); + DECLARE legacyJobName VARCHAR(255); + DECLARE legacyJobDescription VARCHAR(2048); + DECLARE legacyJobClassName VARCHAR(255); + DECLARE legacyJobData TEXT; + DECLARE legacyJobstate VARCHAR(255); + DECLARE legacyJobAccountUuid VARCHAR(32); + DECLARE groupJobType VARCHAR(32); + DEClARE cur CURSOR FOR SELECT uuid, name, description, jobClassName, jobData, state, targetResourceUuid from SchedulerJobVO + where jobClassName in ('org.zstack.storage.backup.CreateVolumeBackupJob', 'org.zstack.storage.backup.CreateVmBackupJob'); + DEClARE tcur CURSOR FOR SELECT schedulerTriggerUuid from SchedulerJobSchedulerTriggerRefVO where schedulerJobUuid = legacyJobUuid; + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; + OPEN cur; + insert_group_loop: LOOP + FETCH cur INTO legacyJobUuid, legacyJobName, legacyJobDescription, legacyJobClassName, legacyJobData, legacyJobstate, volumeUuid; + IF done THEN + LEAVE insert_group_loop; + END IF; + + IF legacyJobClassName = 'org.zstack.storage.backup.CreateVolumeBackupJob' THEN + SELECT `type` INTO volumeType FROM `VolumeVO` WHERE `uuid` = volumeUuid; + IF volumeType = 'Root' THEN + SET groupJobType = 'rootVolumeBackup'; + ELSE + SET groupJobType = 'volumeBackup'; + END IF; + ELSE + SET groupJobType = 'vmBackup'; + END IF; + + SELECT DISTINCT accountUuid INTO legacyJobAccountUuid FROM AccountResourceRefVO WHERE resourceUuid = legacyJobUuid; + SET groupUuid = (REPLACE(UUID(), '-', '')); + INSERT INTO zstack.SchedulerJobGroupVO(uuid, name, description, jobClassName, jobData, jobType, state, lastOpDate, createDate) + VALUES(groupUuid, legacyJobName, legacyJobDescription, legacyJobClassName, legacyJobData, groupJobType, legacyJobstate, NOW(), NOW()); + INSERT INTO zstack.ResourceVO(uuid, resourceName, resourceType, concreteResourceType) + VALUES(groupUuid, legacyJobName, 'SchedulerJobGroupVO', 'org.zstack.header.scheduler.SchedulerJobGroupVO'); + INSERT INTO zstack.AccountResourceRefVO (accountUuid, ownerAccountUuid, resourceUuid, resourceType, permission, isShared, lastOpDate, createDate, concreteResourceType) + VALUES(legacyJobAccountUuid, legacyJobAccountUuid, groupUuid, 'SchedulerJobGroupVO', 2, 0, NOW(), NOW(), 'org.zstack.header.scheduler.SchedulerJobGroupVO'); + + INSERT INTO zstack.SchedulerJobGroupJobRefVO(schedulerJobUuid, schedulerJobGroupUuid, lastOpDate, createDate) + VALUES(legacyJobUuid, groupUuid, NOW(), NOW()); + + OPEN tcur; + migrate_ref_loop: LOOP + FETCH tcur INTO triggerUuid; + IF done THEN + LEAVE migrate_ref_loop; + END IF; + + INSERT INTO zstack.SchedulerJobGroupSchedulerTriggerRefVO(schedulerJobGroupUuid, schedulerTriggerUuid, lastOpDate, createDate) + VALUES (groupUuid, triggerUuid, NOW(), NOW()); + + END LOOP; + CLOSE tcur; + + DELETE FROM zstack.SchedulerJobSchedulerTriggerRefVO where schedulerJobUuid = legacyJobUuid; + SET done = FALSE; + END LOOP; + CLOSE cur; + END $$ +DELIMITER ; + +call migrateSchedulerJob(); +DROP PROCEDURE IF EXISTS migrateSchedulerJob; + +ALTER TABLE `SchedulerTriggerVO` MODIFY COLUMN `cron` varchar(255) DEFAULT NULL COMMENT 'interval in cron format'; +ALTER TABLE `VolumeBackupVO` DROP FOREIGN KEY `fkVolumeBackupVOResourceVO`; +ALTER TABLE `DatabaseBackupVO` DROP FOREIGN KEY `fkDatabaseBackupVOResourceVO`; diff --git a/conf/tools/flyway-6.3.1/sql/V3.4.1__schema.sql b/conf/tools/flyway-6.3.1/sql/V3.4.1__schema.sql new file mode 100644 index 00000000000..6c9a9c8d05b --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V3.4.1__schema.sql @@ -0,0 +1,225 @@ +CREATE TABLE `DataVolumeUsageExtensionVO` ( + `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, + `resourcePriceUserConfig` varchar(1024) DEFAULT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `id` (`id`), + CONSTRAINT `fkDataVolumeUsageExtensionVODataVolumeUsageVO` FOREIGN KEY (`id`) REFERENCES `DataVolumeUsageVO` (`id`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `RootVolumeUsageExtensionVO` ( + `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, + `resourcePriceUserConfig` varchar(1024) DEFAULT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `id` (`id`), + CONSTRAINT `fkRootVolumeUsageExtensionVORootVolumeUsageVO` FOREIGN KEY (`id`) REFERENCES `RootVolumeUsageVO` (`id`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `BillingVO` ( + `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, + `billingType` varchar(255) NOT NULL, + `accountUuid` varchar(32) NOT NULL, + `resourceUuid` varchar(32) NOT NULL, + `resourceName` varchar(255), + `spending` double unsigned NOT NULL, + `startTime` bigint(20) unsigned NOT NULL, + `endTime` bigint(20) unsigned NOT NULL, + `hypervisorType` varchar(64) DEFAULT NULL, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`id`), + UNIQUE KEY `id` (`id`), + KEY `resourceUuid` (`resourceUuid`), + KEY `acountUuid` (`accountUuid`), + KEY `idxBillingVOaccountUuid` (`accountUuid`,`startTime`, `endTime`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `DataVolumeBillingVO` ( + `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, + `volumeSize` bigint(20) unsigned NOT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `id` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `RootVolumeBillingVO` ( + `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, + `volumeSize` bigint(20) unsigned NOT NULL, + `vmInstanceUuid` varchar(32), + PRIMARY KEY (`id`), + UNIQUE KEY `id` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `VmCPUBillingVO` ( + `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, + PRIMARY KEY (`id`), + UNIQUE KEY `id` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `VmMemoryBillingVO` ( + `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, + PRIMARY KEY (`id`), + UNIQUE KEY `id` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `PciDeviceBillingVO`( + `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, + `vmName` varchar(255) NOT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `id` (`id`) +)ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `PubIpVipBandwidthInBillingVO` ( + `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, + `vipIp` varchar(255), + `bandwidthSize` bigint(20) unsigned NOT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `id` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `PubIpVipBandwidthOutBillingVO` ( + `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, + `vipIp` varchar(255), + `bandwidthSize` bigint(20) unsigned NOT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `id` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `PubIpVmNicBandwidthInBillingVO` ( + `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, + `vmNicIp` varchar(255), + `bandwidthSize` bigint(20) unsigned NOT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `id` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `PubIpVmNicBandwidthOutBillingVO` ( + `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, + `vmNicIp` varchar(255), + `bandwidthSize` bigint(20) unsigned NOT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `id` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `DataVolumeUsageHistoryVO` ( + `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, + `volumeUuid` varchar(32) NOT NULL, + `volumeStatus` varchar(64) NOT NULL, + `volumeName` varchar(255) NOT NULL, + `accountUuid` varchar(32) NOT NULL, + `volumeSize` bigint(20) unsigned NOT NULL, + `dateInLong` bigint(20) unsigned NOT NULL, + `inventory` text, + `resourcePriceUserConfig` varchar(1024) DEFAULT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`id`), + UNIQUE KEY `id` (`id`), + KEY `idxDataVolumeUsageVOaccountUuid` (`accountUuid`,`dateInLong`), + KEY `idxDataVolumeUsageVOvolumeUuid` (`accountUuid`,`dateInLong`,`volumeUuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `RootVolumeUsageHistoryVO` ( + `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, + `vmUuid` varchar(32) NOT NULL, + `volumeUuid` varchar(32) NOT NULL, + `volumeStatus` varchar(64) NOT NULL, + `volumeName` varchar(255) NOT NULL, + `accountUuid` varchar(32) NOT NULL, + `volumeSize` bigint(20) unsigned NOT NULL, + `dateInLong` bigint(20) unsigned NOT NULL, + `inventory` text, + `resourcePriceUserConfig` varchar(1024) DEFAULT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`id`), + UNIQUE KEY `id` (`id`), + KEY `idxRootVolumeUsageVOaccountUuid` (`accountUuid`,`dateInLong`), + KEY `idxRootVolumeUsageVOvolumeUuid` (`accountUuid`,`dateInLong`,`volumeUuid`) +) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8; + +CREATE TABLE `VmUsageHistoryVO` ( + `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, + `vmUuid` varchar(32) NOT NULL, + `state` varchar(64) NOT NULL, + `name` varchar(255) NOT NULL, + `accountUuid` varchar(32) NOT NULL, + `cpuNum` int(10) unsigned NOT NULL, + `memorySize` bigint(20) unsigned NOT NULL, + `rootVolumeSize` bigint(20) unsigned NOT NULL, + `dateInLong` bigint(20) unsigned NOT NULL, + `inventory` text, + `resourcePriceUserConfig` varchar(1024) DEFAULT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`id`), + UNIQUE KEY `id` (`id`), + KEY `idxVmUsageVOaccountUuid` (`accountUuid`,`dateInLong`), + KEY `idxVmUuid` (`vmUuid`) USING BTREE, + KEY `idxVmUsageVOvmUuid` (`accountUuid`, `dateInLong`, `vmUuid`) +) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8; + +CREATE TABLE `PciDeviceUsageHistoryVO`( + `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, + `pciDeviceUuid` varchar(32) NOT NULL, + `vendorId` varchar(64) NOT NULL, + `deviceId` varchar(64) NOT NULL, + `subvendorId` varchar(64) DEFAULT NULL, + `subdeviceId` varchar(64) DEFAULT NULL, + `description` varchar(2048) DEFAULT NULL, + `vmUuid` varchar(32) NOT NULL, + `vmName` varchar(255) DEFAULT NULL, + `status` varchar(64) NOT NULL, + `accountUuid` varchar(32) NOT NULL, + `dateInLong` bigint(20) unsigned NOT NULL, + `inventory` text, + `resourcePriceUserConfig` varchar(1024) DEFAULT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`id`), + UNIQUE KEY `id` (`id`), + KEY `idxPciDeviceUsageVOaccountUuid` (`accountUuid`,`dateInLong`), + KEY `idxPciDeviceUsageVOpciDeviceUuid` (`accountUuid`, `dateInLong`, `pciDeviceUuid`) +)ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `PubIpVipBandwidthUsageHistoryVO` ( + `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, + `vipUuid` varchar(32) NOT NULL, + `vipName` varchar(255) DEFAULT NULL, + `vipIp` varchar(128) NOT NULL, + `bandwidthOut` bigint(20) unsigned NOT NULL, + `bandwidthIn` bigint(20) unsigned NOT NULL, + `l3NetworkUuid` varchar(64) NOT NULL, + `vipStatus` varchar(64) NOT NULL, + `accountUuid` varchar(32) NOT NULL, + `dateInLong` bigint(20) unsigned NOT NULL, + `inventory` text, + `resourcePriceUserConfig` varchar(1024) DEFAULT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`id`), + UNIQUE KEY `id` (`id`), + KEY `idxPubIpVipBandwidthUsageVOaccountUuid` (`accountUuid`,`dateInLong`), + KEY `idxPubIpVipBandwidthUsageVOvipUuid` (`accountUuid`, `dateInLong`, `vipUuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `PubIpVmNicBandwidthUsageHistoryVO` ( + `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, + `vmNicUuid` varchar(32) NOT NULL, + `vmInstanceUuid` varchar(32) DEFAULT NULL, + `bandwidthOut` bigint(20) unsigned NOT NULL, + `bandwidthIn` bigint(20) unsigned NOT NULL, + `vmNicIp` varchar(128) DEFAULT NULL, + `vmNicStatus` varchar(64) NOT NULL, + `l3NetworkUuid` varchar(64) NOT NULL, + `accountUuid` varchar(32) NOT NULL, + `dateInLong` bigint(20) unsigned NOT NULL, + `inventory` text, + `resourcePriceUserConfig` varchar(1024) DEFAULT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`id`), + UNIQUE KEY `id` (`id`), + KEY `idxPubIpVmNicBandwidthUsageVOaccountUuid` (`accountUuid`,`dateInLong`), + KEY `idxPubIpVmNicBandwidthUsageVOvmNicUuid` (`accountUuid`, `dateInLong`, `vmNicUuid`) +) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8; + +INSERT INTO ResourceVO (`uuid`, `resourceName`, `resourceType`, `concreteResourceType`) SELECT t.uuid, t.resourceName, "PriceVO", "org.zstack.billing.PriceVO" FROM PriceVO t; \ No newline at end of file diff --git a/conf/tools/flyway-6.3.1/sql/V3.4.2__schema.sql b/conf/tools/flyway-6.3.1/sql/V3.4.2__schema.sql new file mode 100644 index 00000000000..a794fe800ea --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V3.4.2__schema.sql @@ -0,0 +1,76 @@ +-- ---------------------------- +-- For mini storage +-- ---------------------------- + +CREATE TABLE `zstack`.`MiniStorageResourceReplicationVO` ( + `uuid` varchar(32) NOT NULL UNIQUE COMMENT 'mini storage replications', + `type` varchar(32) NOT NULL COMMENT 'resource type', + `state` varchar(32) NOT NULL COMMENT 'replication state', + `resourceUuid` varchar(32) NOT NULL COMMENT 'resource uuid', + `size` BIGINT UNSIGNED DEFAULT 0 COMMENT 'resource size', + `port` BIGINT UNSIGNED DEFAULT 0 COMMENT 'resource port on host', + `hostUuid` varchar(32) NOT NULL COMMENT 'host', + `primaryStorageUuid` varchar(32) NOT NULL COMMENT 'primary storage uuid', + `networkStatus` varchar(32) DEFAULT NULL COMMENT 'replication network status', + `diskStatus` varchar(32) DEFAULT NULL COMMENT 'replication disk status', + `role` varchar(32) DEFAULT NULL COMMENT 'replication role', + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`), + CONSTRAINT `fkMiniStorageResourceReplicationVOPrimaryStorageEO` FOREIGN KEY (`primaryStorageUuid`) REFERENCES `PrimaryStorageEO` (uuid) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`MiniStorageVO` ( + `uuid` varchar(32) NOT NULL UNIQUE COMMENT 'mini storage', + `miniStorageType` varchar(32) NOT NULL COMMENT 'type', + `diskIdentifier` varchar(255) DEFAULT NULL COMMENT 'disk wwid/wwn/etc', + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`MiniStorageHostRefVO` ( + `id` BIGINT UNSIGNED NOT NULL, + `totalCapacity` BIGINT UNSIGNED DEFAULT 0, + `availableCapacity` BIGINT UNSIGNED DEFAULT 0, + `totalPhysicalCapacity` BIGINT UNSIGNED DEFAULT 0, + `availablePhysicalCapacity` BIGINT UNSIGNED DEFAULT 0, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`ImageReplicationGroupVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `name` VARCHAR(255) NOT NULL, + `description` VARCHAR(2048) DEFAULT NULL, + `state` varchar(32) NOT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`ImageReplicationGroupBackupStorageRefVO` ( + `backupStorageUuid` varchar(32) NOT NULL, + `replicationGroupUuid` varchar(32) NOT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`backupStorageUuid`), + CONSTRAINT `fkImageReplicationGroupBackupStorageRefVOBackupStorageEO` FOREIGN KEY (`backupStorageUuid`) REFERENCES `BackupStorageEO` (uuid) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`ImageOpsJournalVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `backupStorageUuid` varchar(32) NOT NULL, + `imageUuid` varchar(32) NOT NULL, + `action` varchar(32) NOT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`id`), + CONSTRAINT `fkImageOpsJournalVOBackupStorageEO` FOREIGN KEY (`backupStorageUuid`) REFERENCES `BackupStorageEO` (uuid) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`ImageReplicationHistoryVO` ( + `backupStorageUuid` varchar(32) NOT NULL, + `lastIndex` bigint unsigned NOT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`backupStorageUuid`), + CONSTRAINT `fkImageReplicationHistoryVOBackupStorageEO` FOREIGN KEY (`backupStorageUuid`) REFERENCES `BackupStorageEO` (uuid) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; diff --git a/conf/tools/flyway-6.3.1/sql/V3.4.3__schema.sql b/conf/tools/flyway-6.3.1/sql/V3.4.3__schema.sql new file mode 100644 index 00000000000..71a26186ab7 --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V3.4.3__schema.sql @@ -0,0 +1,8 @@ +CREATE TABLE `zstack`.`XDragonHostVO` ( + `uuid` varchar(32) NOT NULL UNIQUE COMMENT 'host uuid', + `cpuNum` int unsigned NOT NULL DEFAULT 0, + `cpuSockets` int unsigned NOT NULL DEFAULT 1, + totalPhysicalMemory bigint unsigned NOT NULL DEFAULT 0, + PRIMARY KEY (`uuid`), + CONSTRAINT `fkXDragonHostVOHostEO` FOREIGN KEY (`uuid`) REFERENCES `HostEO` (`uuid`) ON UPDATE RESTRICT ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; diff --git a/conf/tools/flyway-6.3.1/sql/V3.5.0.1__schema.sql b/conf/tools/flyway-6.3.1/sql/V3.5.0.1__schema.sql new file mode 100644 index 00000000000..4e3782dd1ce --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V3.5.0.1__schema.sql @@ -0,0 +1,224 @@ +-- ----------------------------------- +-- BEGIN OF PCI DEVICE VIRTUALIZATION +-- ----------------------------------- +ALTER TABLE `zstack`.`PciDeviceVO` ADD COLUMN `name` VARCHAR(255) NOT NULL; +ALTER TABLE `zstack`.`PciDeviceVO` ADD COLUMN `virtStatus` VARCHAR(32) DEFAULT NULL; +ALTER TABLE `zstack`.`PciDeviceVO` ADD COLUMN `parentUuid` VARCHAR(32) DEFAULT NULL; +ALTER TABLE `zstack`.`PciDeviceVO` ADD COLUMN `pciSpecUuid` VARCHAR(32) DEFAULT NULL; +ALTER TABLE `zstack`.`PciDeviceVO` ADD CONSTRAINT `fkPciDeviceVOPciDeviceVO` FOREIGN KEY (`parentUuid`) REFERENCES `PciDeviceVO` (`uuid`) ON DELETE CASCADE; +ALTER TABLE `zstack`.`PciDeviceVO` ADD CONSTRAINT `fkPciDeviceVOPciDeviceSpecVO` FOREIGN KEY (`pciSpecUuid`) REFERENCES `PciDeviceSpecVO` (`uuid`) ON DELETE SET NULL; +CREATE INDEX `idxPciDeviceVOtype` ON PciDeviceVO (`type`); +CREATE INDEX `idxPciDeviceVOhostUuid` ON PciDeviceVO (`hostUuid`); +CREATE INDEX `idxPciDeviceVOparentUuid` ON PciDeviceVO (`parentUuid`); +CREATE INDEX `idxPciDeviceVOpciSpecUuid` ON PciDeviceVO (`pciSpecUuid`); + +ALTER TABLE `zstack`.`PciDeviceSpecVO` ADD COLUMN `type` VARCHAR(32) NOT NULL; +ALTER TABLE `zstack`.`PciDeviceSpecVO` ADD COLUMN `state` VARCHAR(32) NOT NULL; +ALTER TABLE `zstack`.`PciDeviceSpecVO` ADD COLUMN `isVirtual` tinyint(1) NOT NULL DEFAULT 0; +ALTER TABLE `zstack`.`PciDeviceSpecVO` ADD COLUMN `maxPartNum` INT DEFAULT NULL; +ALTER TABLE `zstack`.`PciDeviceSpecVO` ADD COLUMN `ramSize` VARCHAR(32) DEFAULT NULL; +UPDATE `zstack`.`PciDeviceSpecVO` SET type = "GPU_Video_Controller"; +UPDATE `zstack`.`PciDeviceSpecVO` SET state = "Enabled"; + +ALTER TABLE `zstack`.`PciDeviceOfferingVO` ADD COLUMN `ramSize` VARCHAR(32) DEFAULT NULL; + +CREATE TABLE IF NOT EXISTS `zstack`.`MdevDeviceSpecVO` ( + `uuid` VARCHAR(32) NOT NULL UNIQUE, + `name` VARCHAR(32) NOT NULL, + `description` VARCHAR(2048) DEFAULT NULL, + `specification` TEXT DEFAULT NULL, + `type` VARCHAR(32) NOT NULL, + `state` VARCHAR(32) NOT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`PciDeviceMdevSpecRefVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `pciDeviceUuid` VARCHAR(32) NOT NULL, + `mdevSpecUuid` VARCHAR(32) NOT NULL, + `effective` tinyint(1) unsigned DEFAULT 0, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`id`), + CONSTRAINT `fkSpecRefPciDeviceUuid` FOREIGN KEY (`pciDeviceUuid`) REFERENCES `PciDeviceVO` (`uuid`) ON DELETE CASCADE, + CONSTRAINT `fkSpecRefMdevSpecUuid` FOREIGN KEY (`mdevSpecUuid`) REFERENCES `MdevDeviceSpecVO` (`uuid`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`MdevDeviceVO` ( + `uuid` VARCHAR(32) NOT NULL UNIQUE, + `name` VARCHAR(32) NOT NULL, + `description` VARCHAR(2048) DEFAULT NULL, + `hostUuid` VARCHAR(32) NOT NULL, + `parentUuid` VARCHAR(32) NOT NULL, + `vmInstanceUuid` VARCHAR(32) DEFAULT NULL, + `mdevSpecUuid` VARCHAR(32) DEFAULT NULL, + `type` VARCHAR(32) NOT NULL, + `state` VARCHAR(32) NOT NULL, + `status` VARCHAR(32) NOT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`), + INDEX `idxMdevDeviceVOtype` (`type`), + INDEX `idxMdevDeviceVOhostUuid` (`hostUuid`), + INDEX `idxMdevDeviceVOparentUuid` (`parentUuid`), + INDEX `idxMdevDeviceVOmdevSpecUuid` (`mdevSpecUuid`), + CONSTRAINT `fkMdevDeviceVOHostEO` FOREIGN KEY (`hostUuid`) REFERENCES `HostEO` (`uuid`) ON DELETE CASCADE, + CONSTRAINT `fkMdevDeviceVOPciDeviceVO` FOREIGN KEY (`parentUuid`) REFERENCES `PciDeviceVO` (`uuid`) ON DELETE CASCADE, + CONSTRAINT `fkMdevDeviceVOVmInstanceEO` FOREIGN KEY (`vmInstanceUuid`) REFERENCES `VmInstanceEO` (`uuid`) ON DELETE SET NULL, + CONSTRAINT `fkMdevDeviceVOMdevSpecVO` FOREIGN KEY (`mdevSpecUuid`) REFERENCES `MdevDeviceSpecVO` (`uuid`) ON DELETE SET NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`VmInstancePciDeviceSpecRefVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `vmInstanceUuid` VARCHAR(32) NOT NULL, + `pciSpecUuid` VARCHAR(32) NOT NULL, + `pciDeviceNumber` int unsigned DEFAULT 1, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`id`), + CONSTRAINT `fkVmPciSpecRefVmInstanceUuid` FOREIGN KEY (`vmInstanceUuid`) REFERENCES `VmInstanceEO` (`uuid`) ON DELETE CASCADE, + CONSTRAINT `fkVmPciSpecRefPciSpecUuid` FOREIGN KEY (`pciSpecUuid`) REFERENCES `PciDeviceSpecVO` (`uuid`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`VmInstancePciSpecDeviceRefVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `vmInstanceUuid` VARCHAR(32) NOT NULL, + `pciSpecUuid` VARCHAR(32) NOT NULL, + `pciDeviceUuid` VARCHAR(32) NOT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`id`), + CONSTRAINT `fkVmPciDeviceRefVmInstanceUuid` FOREIGN KEY (`vmInstanceUuid`) REFERENCES `VmInstanceEO` (`uuid`) ON DELETE CASCADE, + CONSTRAINT `fkVmPciDeviceRefPciSpecUuid` FOREIGN KEY (`pciSpecUuid`) REFERENCES `PciDeviceSpecVO` (`uuid`) ON DELETE CASCADE, + CONSTRAINT `fkVmPciDeviceRefPciDeviceUuid` FOREIGN KEY (`pciDeviceUuid`) REFERENCES `PciDeviceVO` (`uuid`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`VmInstanceMdevDeviceSpecRefVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `vmInstanceUuid` VARCHAR(32) NOT NULL, + `mdevSpecUuid` VARCHAR(32) NOT NULL, + `mdevDeviceNumber` int unsigned DEFAULT 1, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`id`), + CONSTRAINT `fkVmMdevSpecRefVmInstanceUuid` FOREIGN KEY (`vmInstanceUuid`) REFERENCES `VmInstanceEO` (`uuid`) ON DELETE CASCADE, + CONSTRAINT `fkVmMdevSpecRefMdevSpecUuid` FOREIGN KEY (`mdevSpecUuid`) REFERENCES `MdevDeviceSpecVO` (`uuid`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`VmInstanceMdevSpecDeviceRefVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `vmInstanceUuid` VARCHAR(32) NOT NULL, + `mdevSpecUuid` VARCHAR(32) NOT NULL, + `mdevDeviceUuid` VARCHAR(32) NOT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`id`), + CONSTRAINT `fkVmMdevDeviceRefVmInstanceUuid` FOREIGN KEY (`vmInstanceUuid`) REFERENCES `VmInstanceEO` (`uuid`) ON DELETE CASCADE, + CONSTRAINT `fkVmMdevDeviceRefMdevSpecUuid` FOREIGN KEY (`mdevSpecUuid`) REFERENCES `MdevDeviceSpecVO` (`uuid`) ON DELETE CASCADE, + CONSTRAINT `fkVmMdevDeviceRefMdevDeviceUuid` FOREIGN KEY (`mdevDeviceUuid`) REFERENCES `MdevDeviceVO` (`uuid`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +DELIMITER $$ +CREATE PROCEDURE handleLegacyPciSpecUuidTags() + BEGIN + DECLARE done INT DEFAULT FALSE; + DECLARE tagUuid VARCHAR(32); + DECLARE vmInstanceUuid VARCHAR(32); + DECLARE pciSpecUuidTag VARCHAR(64); + DECLARE pciSpecUuid VARCHAR(32); + DECLARE pciDeviceUuid VARCHAR(32); + DECLARE autoReleaseTagUuid VARCHAR(32); + DEClARE cur CURSOR FOR SELECT `uuid`, `resourceUuid`, `tag` FROM `zstack`.`SystemTagVO` + WHERE `resourceType` = 'VmInstanceVO' AND `tag` LIKE 'pciSpecUuid::%'; + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; + OPEN cur; + read_loop: LOOP + FETCH cur INTO tagUuid, vmInstanceUuid, pciSpecUuidTag; + IF done THEN + LEAVE read_loop; + END IF; + + -- create records in VmInstancePciDeviceSpecRefVO + SET pciSpecUuid = substring(pciSpecUuidTag, LENGTH('pciSpecUuid::') + 1); + IF pciSpecUuid IS NOT NULL THEN + INSERT INTO `zstack`.`VmInstancePciDeviceSpecRefVO` (`vmInstanceUuid`, `pciSpecUuid`, `pciDeviceNumber`, `lastOpDate`, `createDate`) + VALUES (vmInstanceUuid, pciSpecUuid, 1, NOW(), NOW()); + END IF; + + -- create records in VmInstancePciSpecDeviceRefVO + SELECT pci.uuid INTO pciDeviceUuid FROM `zstack`.`PciDeviceVO` pci WHERE pci.vmInstanceUuid = vmInstanceUuid AND pci.type = 'GPU_Video_Controller' LIMIT 1; + IF pciDeviceUuid IS NOT NULL THEN + INSERT INTO `zstack`.`VmInstancePciSpecDeviceRefVO` (`vmInstanceUuid`, `pciSpecUuid`, `pciDeviceUuid`, `lastOpDate`, `createDate`) + VALUES (vmInstanceUuid, pciSpecUuid, pciDeviceUuid, NOW(), NOW()); + END IF; + + -- create autoReleaseSpecReleatedPhysicalPciDevice tag for vm + SET autoReleaseTagUuid = REPLACE(UUID(), '-', ''); + INSERT INTO `zstack`.`SystemTagVO` (`uuid`, `resourceUuid`, `resourceType`, `inherent`, `type`, `tag`, `createDate`, `lastOpDate`) + VALUES (autoReleaseTagUuid, vmInstanceUuid, 'VmInstanceVO', 0, 'System', 'autoReleaseSpecReleatedPhysicalPciDevice', NOW(), NOW()); + + -- delete legacy pciSpecUuid tag + DELETE FROM `zstack`.`SystemTagVO` WHERE `uuid` = tagUuid; + END LOOP; + CLOSE cur; + SELECT CURTIME(); + END $$ +DELIMITER ; + +SET FOREIGN_KEY_CHECKS = 0; +call handleLegacyPciSpecUuidTags(); +SET FOREIGN_KEY_CHECKS = 1; +DROP PROCEDURE IF EXISTS handleLegacyPciSpecUuidTags; +DELETE FROM `zstack`.`SystemTagVO` WHERE `resourceType` = 'InstanceOfferingVO' AND `tag` LIKE 'pciSpecUuid::%'; +-- --------------------------------- +-- END OF PCI DEVICE VIRTUALIZATION +-- --------------------------------- + +CREATE TABLE IF NOT EXISTS `BillingResourceLabelVO` ( + `resourceUuid` varchar(32) NOT NULL, + `labelKey` varchar(255) NOT NULL, + `labelValue` varchar(255) DEFAULT NULL, + PRIMARY KEY (`resourceUuid`, `labelKey`), + KEY `resourceUuid` (`resourceUuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +ALTER TABLE VmCPUBillingVO ADD COLUMN cpuNum int(10) unsigned NOT NULL; +ALTER TABLE VmMemoryBillingVO ADD COLUMN memorySize bigint(20) unsigned NOT NULL; + +ALTER TABLE `BillingVO` ADD INDEX idxAccountUuidCreateDate (`accountUuid`, `createDate`); + +DELIMITER $$ +CREATE PROCEDURE modifyVipNetworkServicesRefVO() + modifyVipNetworkServicesRefVO:BEGIN + DECLARE curUuid VARCHAR(32); + DECLARE done INT DEFAULT FALSE; + DECLARE snatUuidExists INT DEFAULT 0; + DEClARE cur CURSOR FOR SELECT r.uuid FROM VipNetworkServicesRefVO r WHERE r.serviceType='SNAT'; + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; + SELECT COUNT(uuid) INTO snatUuidExists FROM VipNetworkServicesRefVO r where r.serviceType='SNAT'; + + IF (snatUuidExists = 0) THEN + LEAVE modifyVipNetworkServicesRefVO; + END IF; + + OPEN cur; + delete_loop: LOOP + FETCH cur INTO curUuid; + IF done THEN + LEAVE delete_loop; + END IF; + DELETE FROM VipNetworkServicesRefVO WHERE uuid = curUuid; + END LOOP; + CLOSE cur; + + INSERT INTO VipNetworkServicesRefVO (`uuid`, `serviceType`, `vipUuid`, `lastOpDate`, `createDate`) + SELECT vr.uuid, "SNAT", vr.uuid, current_timestamp(), current_timestamp() FROM VirtualRouterVipVO vr, VipVO vip, VmInstanceVO vm, VmNicVO n WHERE vr.uuid = vip.uuid + AND vm.uuid=vr.virtualRouterVmUuid AND n.vmInstanceUuid=vm.uuid AND n.l3NetworkUuid=vip.l3NetworkUuid AND n.ip=vip.ip; + + END $$ +DELIMITER ; + +call modifyVipNetworkServicesRefVO(); +DROP PROCEDURE IF EXISTS modifyVipNetworkServicesRefVO; diff --git a/conf/tools/flyway-6.3.1/sql/V3.5.0.2__schema.sql b/conf/tools/flyway-6.3.1/sql/V3.5.0.2__schema.sql new file mode 100644 index 00000000000..d6aa161bc03 --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V3.5.0.2__schema.sql @@ -0,0 +1,60 @@ +ALTER TABLE `zstack`.`VmInstancePciDeviceSpecRefVO` ADD UNIQUE INDEX(`vmInstanceUuid`,`pciSpecUuid`); +ALTER TABLE `zstack`.`VmInstancePciSpecDeviceRefVO` ADD UNIQUE INDEX(`vmInstanceUuid`,`pciSpecUuid`, `pciDeviceUuid`); + +DELIMITER $$ +CREATE PROCEDURE handleLegacyPciSpecUuidTags() + BEGIN + DECLARE done INT DEFAULT FALSE; + DECLARE tagUuid VARCHAR(32); + DECLARE vmInstanceUuid VARCHAR(32); + DECLARE pciSpecUuidTag VARCHAR(64); + DECLARE pciSpecUuid VARCHAR(32); + DECLARE pciDeviceUuid VARCHAR(32); + DECLARE autoReleaseTagUuid VARCHAR(32); + DEClARE cur CURSOR FOR SELECT `uuid`, `resourceUuid`, `tag` FROM `zstack`.`SystemTagVO` + WHERE `resourceType` = 'VmInstanceVO' AND `tag` LIKE 'pciSpecUuid::%'; + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; + OPEN cur; + read_loop: LOOP + FETCH cur INTO tagUuid, vmInstanceUuid, pciSpecUuidTag; + IF done THEN + LEAVE read_loop; + END IF; + + -- create records in VmInstancePciDeviceSpecRefVO + SET pciSpecUuid = substring(pciSpecUuidTag, LENGTH('pciSpecUuid::') + 1); + IF pciSpecUuid IS NOT NULL THEN + INSERT IGNORE INTO `zstack`.`VmInstancePciDeviceSpecRefVO` (`vmInstanceUuid`, `pciSpecUuid`, `pciDeviceNumber`, `lastOpDate`, `createDate`) + VALUES (vmInstanceUuid, pciSpecUuid, 1, NOW(), NOW()); + END IF; + + -- in case done is set to TRUE because this query return null + SELECT pci.uuid INTO pciDeviceUuid FROM `zstack`.`PciDeviceVO` pci WHERE pci.vmInstanceUuid = vmInstanceUuid AND pci.type = 'GPU_Video_Controller' LIMIT 1; + IF done THEN + SET pciDeviceUuid = NULL; + SET done = FALSE; + END IF; + + -- create records in VmInstancePciSpecDeviceRefVO + IF pciDeviceUuid IS NOT NULL THEN + INSERT IGNORE INTO `zstack`.`VmInstancePciSpecDeviceRefVO` (`vmInstanceUuid`, `pciSpecUuid`, `pciDeviceUuid`, `lastOpDate`, `createDate`) + VALUES (vmInstanceUuid, pciSpecUuid, pciDeviceUuid, NOW(), NOW()); + END IF; + + -- create autoReleaseSpecReleatedPhysicalPciDevice tag for vm + SET autoReleaseTagUuid = REPLACE(UUID(), '-', ''); + INSERT INTO `zstack`.`SystemTagVO` (`uuid`, `resourceUuid`, `resourceType`, `inherent`, `type`, `tag`, `createDate`, `lastOpDate`) + VALUES (autoReleaseTagUuid, vmInstanceUuid, 'VmInstanceVO', 0, 'System', 'autoReleaseSpecReleatedPhysicalPciDevice', NOW(), NOW()); + + -- delete legacy pciSpecUuid tag + DELETE FROM `zstack`.`SystemTagVO` WHERE `uuid` = tagUuid; + END LOOP; + CLOSE cur; + SELECT CURTIME(); + END $$ +DELIMITER ; + +SET FOREIGN_KEY_CHECKS = 0; +call handleLegacyPciSpecUuidTags(); +SET FOREIGN_KEY_CHECKS = 1; +DROP PROCEDURE IF EXISTS handleLegacyPciSpecUuidTags; \ No newline at end of file diff --git a/conf/tools/flyway-6.3.1/sql/V3.5.0__schema.sql b/conf/tools/flyway-6.3.1/sql/V3.5.0__schema.sql new file mode 100644 index 00000000000..1f0da58257d --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V3.5.0__schema.sql @@ -0,0 +1,157 @@ +ALTER TABLE VolumeSnapshotTreeEO ADD COLUMN status VARCHAR(32) NOT NULL DEFAULT "Completed"; +DROP VIEW IF EXISTS `zstack`.`VolumeSnapshotTreeVO`; +CREATE VIEW `zstack`.`VolumeSnapshotTreeVO` AS SELECT uuid, volumeUuid, current, status, createDate, lastOpDate FROM `zstack`.`VolumeSnapshotTreeEO` WHERE deleted IS NULL; + +ALTER TABLE `IAM2OrganizationVO` ADD COLUMN `rootOrganizationUuid` VARCHAR(32) NOT NULL; + +DROP PROCEDURE IF EXISTS upgradeChild; +DROP PROCEDURE IF EXISTS upgradeOrganization; + +DELIMITER $$ +CREATE PROCEDURE upgradeChild(IN root_organization_uuid VARCHAR(32), IN current_organization_uuid VARCHAR(32)) + BEGIN + DECLARE next_organization_uuid varchar(32); + DECLARE done INT DEFAULT FALSE; + DEClARE cur CURSOR FOR SELECT uuid FROM IAM2OrganizationVO WHERE parentUuid = current_organization_uuid; + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; + + open cur; + upgrade_child_loop: LOOP + FETCH cur INTO next_organization_uuid; + SELECT next_organization_uuid; + IF done THEN + LEAVE upgrade_child_loop; + END IF; + + UPDATE IAM2OrganizationVO SET rootOrganizationUuid = root_organization_uuid WHERE uuid = next_organization_uuid; + CALL upgradeChild(root_organization_uuid, next_organization_uuid); + END LOOP; + close cur; + SELECT CURTIME(); + END $$ +DELIMITER ; + +DELIMITER $$ +CREATE PROCEDURE upgradeOrganization() + upgrade_procedure: BEGIN + DECLARE root_organization_uuid VARCHAR(32); + DECLARE null_root_organization_uuid_exists INT DEFAULT 0; + DECLARE done INT DEFAULT FALSE; + DEClARE cur CURSOR FOR SELECT uuid FROM IAM2OrganizationVO WHERE parentUuid is NULL; + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; + + SELECT COUNT(uuid) INTO null_root_organization_uuid_exists FROM IAM2OrganizationVO where rootOrganizationUuid is NULL or rootOrganizationUuid = ''; + + IF (null_root_organization_uuid_exists = 0) THEN + LEAVE upgrade_procedure; + END IF; + + OPEN cur; + root_organization_loop: LOOP + FETCH cur INTO root_organization_uuid; + IF done THEN + LEAVE root_organization_loop; + END IF; + + UPDATE IAM2OrganizationVO SET rootOrganizationUuid = root_organization_uuid WHERE (rootOrganizationUuid is NULL or rootOrganizationUuid = '') and uuid = root_organization_uuid; + CALL upgradeChild(root_organization_uuid, root_organization_uuid); + END LOOP; + CLOSE cur; + SELECT CURTIME(); + END $$ +DELIMITER ; + +SET max_sp_recursion_depth=512; +call upgradeOrganization(); +SET max_sp_recursion_depth=0; +DROP PROCEDURE IF EXISTS upgradeChild; +DROP PROCEDURE IF EXISTS upgradeOrganization; + +ALTER TABLE `UsbDeviceVO` ADD COLUMN `attachType` varchar(32); + +DELIMITER $$ +CREATE PROCEDURE setDefaultUsbAttachType() + BEGIN + DECLARE done INT DEFAULT FALSE; + DECLARE usbUuid VARCHAR(32); + DEClARE cur CURSOR FOR SELECT uuid from UsbDeviceVO where vmInstanceUuid IS NOT NULL; + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; + OPEN cur; + read_loop: LOOP + FETCH cur INTO usbUuid; + IF done THEN + LEAVE read_loop; + END IF; + + UPDATE UsbDeviceVO set attachType = "PassThrough" WHERE uuid = usbUuid; + END LOOP; + CLOSE cur; + SELECT CURTIME(); + END $$ +DELIMITER ; + +call setDefaultUsbAttachType(); +DROP PROCEDURE IF EXISTS setDefaultUsbAttachType; + +CREATE TABLE `SchedulerJobHistoryVO` ( + `id` BIGINT UNSIGNED NOT NULL UNIQUE AUTO_INCREMENT, + `triggerUuid` VARCHAR(32), + `schedulerJobUuid` VARCHAR(32) NOT NULL, + `schedulerJobGroupUuid` VARCHAR(32), + `targetResourceUuid` VARCHAR(32) NOT NULL, + `startTime` TIMESTAMP NOT NULL, + `executeTime` BIGINT, + `requestDump` TEXT, + `resultDump` TEXT, + `success` BOOLEAN NOT NULL DEFAULT FALSE, + INDEX idxSchedulerJobHistoryVOTriggerUuid (triggerUuid), + INDEX idxSchedulerJobHistoryVOSchedulerJobUuid (schedulerJobUuid), + INDEX idxSchedulerJobHistoryVOSchedulerJobGroupUuid (schedulerJobGroupUuid), + INDEX idxSchedulerJobHistoryVOTargetResourceUuid (targetResourceUuid), + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +DELIMITER $$ +CREATE PROCEDURE copyDataNetworkTag() + BEGIN + DECLARE done INT DEFAULT FALSE; + DECLARE bsUuid VARCHAR(32); + DECLARE cidrTag VARCHAR(64); + DECLARE cidr VARCHAR(32); + DEClARE cur CURSOR FOR SELECT resourceUuid, tag from SystemTagVO WHERE tag LIKE 'backupStorage::data::network::cidr::%'; + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; + OPEN cur; + read_loop: LOOP + FETCH cur INTO bsUuid, cidrTag; + IF done THEN + LEAVE read_loop; + END IF; + + SET cidr = substring(cidrTag, LENGTH('backupStorage::data::network::cidr::') + 1); + + INSERT zstack.SystemTagVO(uuid, resourceUuid,resourceType, tag, type, inherent, createDate, lastOpDate) + VALUES (REPLACE(UUID(), '-', ''), bsUuid, 'ImageStoreBackupStorageVO', CONCAT('backup::network::cidr::', cidr), 'System', FALSE, NOW(), NOW()); + + END LOOP; + CLOSE cur; + SELECT CURTIME(); + END $$ +DELIMITER ; + +call copyDataNetworkTag(); +DROP PROCEDURE IF EXISTS copyDataNetworkTag; +CREATE TABLE `zstack`.`VipNetworkServicesRefVO` ( + `uuid` VARCHAR(32) NOT NULL UNIQUE, + `serviceType` VARCHAR(32) NOT NULL, + `vipUuid` VARCHAR(32) NOT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + CONSTRAINT fkVipNetworkServicesRefVOVipVO FOREIGN KEY (vipUuid) REFERENCES VipVO (uuid) ON DELETE CASCADE, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +INSERT INTO VipNetworkServicesRefVO (`uuid`, `serviceType`, `vipUuid`, `lastOpDate`, `createDate`) SELECT s.uuid, "LoadBalancer", s.vipUuid, s.createDate, s.createDate FROM LoadBalancerVO s; +INSERT INTO VipNetworkServicesRefVO (`uuid`, `serviceType`, `vipUuid`, `lastOpDate`, `createDate`) SELECT s.uuid, "PortForwarding", s.vipUuid, s.createDate, s.createDate FROM PortForwardingRuleVO s; +INSERT INTO VipNetworkServicesRefVO (`uuid`, `serviceType`, `vipUuid`, `lastOpDate`, `createDate`) SELECT s.uuid, "IPsec", s.vipUuid, s.createDate, s.createDate FROM IPsecConnectionVO s; +INSERT INTO VipNetworkServicesRefVO (`uuid`, `serviceType`, `vipUuid`, `lastOpDate`, `createDate`) SELECT s.uuid, "Eip", s.vipUuid, s.createDate, s.createDate FROM EipVO s; +INSERT INTO VipNetworkServicesRefVO (`uuid`, `serviceType`, `vipUuid`, `lastOpDate`, `createDate`) SELECT s.uuid, "SNAT", s.uuid, current_timestamp(), current_timestamp() FROM VirtualRouterVipVO s; diff --git a/conf/tools/flyway-6.3.1/sql/V3.5.1__schema.sql b/conf/tools/flyway-6.3.1/sql/V3.5.1__schema.sql new file mode 100644 index 00000000000..9f2266a2680 --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V3.5.1__schema.sql @@ -0,0 +1,19 @@ +CREATE TABLE `zstack`.`LdapResourceRefVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `ldapUid` varchar(255) NOT NULL, + `ldapGlobalUuid` varchar(255), + `ldapServerUuid` varchar(255) NOT NULL, + `resourceUuid` varchar(32) NOT NULL, + `resourceType` varchar(255) NOT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +ALTER TABLE `zstack`.`LdapResourceRefVO` ADD CONSTRAINT fkLdapResourceRefVOLdapServerVO FOREIGN KEY (ldapServerUuid) REFERENCES LdapServerVO (uuid) ON DELETE CASCADE; +ALTER TABLE `zstack`.`LdapResourceRefVO` ADD UNIQUE INDEX(ldapUid,ldapServerUuid,resourceUuid,resourceType); +ALTER TABLE `zstack`.`LdapServerVO` ADD COLUMN `scope` varchar(255) NOT NULL; +UPDATE `zstack`.`LdapServerVO` SET `scope` = "account" WHERE `scope` IS NULL; + +ALTER TABLE `zstack`.`IAM2VirtualIDVO` ADD COLUMN `type` varchar(32) DEFAULT NULL; +UPDATE `zstack`.`IAM2VirtualIDVO` SET `type` = "ZStack" WHERE `type` IS NULL; \ No newline at end of file diff --git a/conf/tools/flyway-6.3.1/sql/V3.5.2__schema.sql b/conf/tools/flyway-6.3.1/sql/V3.5.2__schema.sql new file mode 100644 index 00000000000..a46e14915a1 --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V3.5.2__schema.sql @@ -0,0 +1,127 @@ +-- ---------------------------- +-- add vpcha table +-- ---------------------------- +ALTER TABLE `zstack`.`ApplianceVmVO` ADD COLUMN `haStatus` varchar(255) DEFAULT "NoHa"; + +CREATE TABLE `VpcHaGroupVO` ( + `uuid` VARCHAR(32) NOT NULL UNIQUE, + `name` VARCHAR(255) NOT NULL, + `description` VARCHAR(2048) DEFAULT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `VpcHaGroupMonitorIpVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `vpcHaRouterUuid` varchar(32) NOT NULL, + `monitorIp` varchar(255) NOT NULL, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`id`), + CONSTRAINT fkVpcHaGroupMonitorIpVOVpcHaGroupVO FOREIGN KEY (vpcHaRouterUuid) REFERENCES VpcHaGroupVO (uuid) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `VpcHaGroupVipRefVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `vpcHaRouterUuid` varchar(32) NOT NULL, + `vipUuid` varchar(32) NOT NULL, + `l3NetworkUuid` varchar(32) NOT NULL, + `ip` varchar(32) NOT NULL, + `netmask` varchar(32) NOT NULL, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`id`), + CONSTRAINT fkVpcHaGroupVipRefVOVpcHaGroupVO FOREIGN KEY (vpcHaRouterUuid) REFERENCES VpcHaGroupVO (uuid) ON DELETE CASCADE, + CONSTRAINT fkVpcHaGroupVipRefVOL3NetworkVO FOREIGN KEY (l3NetworkUuid) REFERENCES L3NetworkEO (uuid) ON DELETE CASCADE, + CONSTRAINT fkVpcHaGroupVipRefVOVipVO FOREIGN KEY (vipUuid) REFERENCES VipVO (uuid) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`VpcHaGroupApplianceVmRefVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `vpcHaRouterUuid` varchar(32) DEFAULT NULL, + PRIMARY KEY (`uuid`), + CONSTRAINT fkVpcHaGroupApplianceVmRefVOVpcHaGroupVO FOREIGN KEY (vpcHaRouterUuid) REFERENCES VpcHaGroupVO (uuid) ON DELETE CASCADE, + CONSTRAINT fkVpcHaGroupApplianceVmRefVOApplianceVmVO FOREIGN KEY (uuid) REFERENCES ApplianceVmVO (uuid) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`VpcHaGroupNetworkServiceRefVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `vpcHaRouterUuid` varchar(32) NOT NULL, + `networkServiceName` varchar(128) NOT NULL, + `networkServiceUuid` varchar(128) NOT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`id`), + CONSTRAINT fkVpcHaGroupNetworkServiceRefVOVpcHaGroupVO FOREIGN KEY (vpcHaRouterUuid) REFERENCES VpcHaGroupVO (uuid) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +ALTER TABLE `zstack`.`NetworkRouterAreaRefVO` DROP FOREIGN KEY fkNetworkRouterAreaRefVOVpcRouterVmVO; +ALTER TABLE `zstack`.`NetworkRouterAreaRefVO` ADD COLUMN `applianceVmType` varchar(255) DEFAULT "vpcvrouter"; + +ALTER TABLE `zstack`.`IAM2OrganizationVO` ADD COLUMN `srcType` varchar(32) DEFAULT NULL; +UPDATE `zstack`.`IAM2OrganizationVO` SET `srcType` = "ZStack" WHERE `uuid` + NOT IN (SELECT `resourceUuid` FROM `LdapResourceRefVO` WHERE `resourceType`='IAM2OrganizationVO'); +UPDATE `zstack`.`IAM2OrganizationVO` SET `srcType` = "Ldap" WHERE `uuid` + IN (SELECT `resourceUuid` FROM `LdapResourceRefVO` WHERE `resourceType`='IAM2OrganizationVO'); + +ALTER TABLE LoginAttemptsVO ADD COLUMN locked tinyint(1) unsigned NOT NULL; +ALTER TABLE LoginAttemptsVO ADD COLUMN forceChangePassword tinyint(1) unsigned NOT NULL; +ALTER TABLE LoginAttemptsVO ADD COLUMN unlockDate TIMESTAMP; + +UPDATE LoginAttemptsVO SET locked = 1 WHERE locked = NULL; +UPDATE LoginAttemptsVO SET forceChangePassword = 1 WHERE forceChangePassword = NULL; +UPDATE LoginAttemptsVO SET unlockDate = CURRENT_TIMESTAMP() WHERE unlockDate = NULL; + +ALTER TABLE LoginAttemptsVO ADD COLUMN successCount int(10) unsigned DEFAULT 0; + +CREATE TABLE `zstack`.`AccessControlRuleVO` ( + `uuid` VARCHAR(32) NOT NULL UNIQUE, + `name` VARCHAR(255) NOT NULL, + `description` VARCHAR(2048) DEFAULT NULL, + `strategy` varchar(64) NOT NULL, + `rule` text NOT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP COMMENT 'last operation date', + `createDate` timestamp, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`HistoricalPasswordVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `uuid` varchar(32) NOT NULL, + `password` varchar(255) DEFAULT NULL, + `createDate` timestamp, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- ----------------------------------------------------------------------------------- +-- to create AccountResourceRefVO for PciDeviceSpecVO that are created before 3.5.0.1 +-- ----------------------------------------------------------------------------------- +DELIMITER $$ +CREATE PROCEDURE generatePciDeviceSpecVOAccountRef() + BEGIN + DECLARE pciSpecUuid VARCHAR(32); + DECLARE done INT DEFAULT FALSE; + DECLARE cur CURSOR FOR SELECT uuid FROM `zstack`.`PciDeviceSpecVO` where uuid not in (SELECT DISTINCT resourceUuid from `zstack`.`AccountResourceRefVO` where resourceType="PciDeviceSpecVO"); + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; + OPEN cur; + read_loop: LOOP + FETCH cur INTO pciSpecUuid; + IF done THEN + LEAVE read_loop; + END IF; + + INSERT INTO `zstack`.`AccountResourceRefVO` (`accountUuid`, `ownerAccountUuid`, `resourceUuid`, `resourceType`, `permission`, `isShared`, `lastOpDate`, `createDate`, `concreteResourceType`) + VALUES ("36c27e8ff05c4780bf6d2fa65700f22e", "36c27e8ff05c4780bf6d2fa65700f22e", pciSpecUuid, "PciDeviceSpecVO", 2, 0, CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP(), "org.zstack.pciDevice.specification.pci.PciDeviceSpecVO"); + END LOOP; + CLOSE cur; + SELECT CURTIME(); + END $$ +DELIMITER ; + +SET FOREIGN_KEY_CHECKS = 0; +CALL generatePciDeviceSpecVOAccountRef(); +SET FOREIGN_KEY_CHECKS = 1; +DROP PROCEDURE IF EXISTS generatePciDeviceSpecVOAccountRef; + +ALTER TABLE `zstack`.`PciDeviceVO` ADD COLUMN `iommuGroup` VARCHAR(255) DEFAULT NULL; diff --git a/conf/tools/flyway-6.3.1/sql/V3.5.3__schema.sql b/conf/tools/flyway-6.3.1/sql/V3.5.3__schema.sql new file mode 100644 index 00000000000..434cd343efb --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V3.5.3__schema.sql @@ -0,0 +1 @@ +ALTER TABLE `V2VConversionCacheVO` ADD COLUMN `deviceName` VARCHAR(32) DEFAULT NULL; diff --git a/conf/tools/flyway-6.3.1/sql/V3.6.0__schema.sql b/conf/tools/flyway-6.3.1/sql/V3.6.0__schema.sql new file mode 100644 index 00000000000..c31e4fa920c --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V3.6.0__schema.sql @@ -0,0 +1,551 @@ +INSERT INTO AccountResourceRefVO (`accountUuid`, `ownerAccountUuid`, `resourceUuid`, `resourceType`, `permission`, `isShared`, `lastOpDate`, `createDate`, `concreteResourceType`) SELECT "36c27e8ff05c4780bf6d2fa65700f22e", "36c27e8ff05c4780bf6d2fa65700f22e", t.uuid, "VCenterVO", 2, 0, CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP(), "org.zstack.vmware.VCenterVO" FROM VCenterVO t where t.uuid NOT IN (SELECT resourceUuid FROM AccountResourceRefVO); + +CREATE TABLE `zstack`.`VolumeSnapshotGroupVO` ( + `uuid` VARCHAR(32) NOT NULL UNIQUE, + `name` VARCHAR(255) NOT NULL, + `description` VARCHAR(2048) DEFAULT NULL, + `vmInstanceUuid` VARCHAR(32) NOT NULL, + `snapshotCount` int unsigned NOT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`VolumeSnapshotGroupRefVO` ( + `volumeSnapshotUuid` VARCHAR(32) NOT NULL UNIQUE, + `volumeSnapshotGroupUuid` VARCHAR(32) NOT NULL, + `snapshotDeleted` BOOLEAN NOT NULL, + `deviceId` int unsigned NOT NULL, + `volumeUuid` VARCHAR(32) NOT NULL, + `volumeName` VARCHAR(256) NOT NULL, + `volumeType` VARCHAR(32) NOT NULL, + `volumeSnapshotName` varchar(256) DEFAULT NULL, + `volumeSnapshotInstallPath` varchar(1024) DEFAULT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`volumeSnapshotUuid`), + CONSTRAINT `fkVolumeSnapshotGroupRefVOVolumeSnapshotGroupVO` FOREIGN KEY (`volumeSnapshotGroupUuid`) REFERENCES `VolumeSnapshotGroupVO` (`uuid`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +DROP PROCEDURE IF EXISTS getMaxAccountResourceRefVO; +DROP PROCEDURE IF EXISTS upgradePrivilegeAdmin; +DROP PROCEDURE IF EXISTS createRoleRefsInProject; +DROP PROCEDURE IF EXISTS upgradeIAM2ReadRole; + +DELIMITER $$ +CREATE PROCEDURE getMaxAccountResourceRefVO(OUT refId bigint(20) unsigned) + BEGIN + SELECT max(id) INTO refId from zstack.AccountResourceRefVO; + END $$ +DELIMITER ; + +-- upgrade privilege admin +DELIMITER $$ +CREATE PROCEDURE upgradePrivilegeAdmin(IN privilege_role_uuid VARCHAR(32), IN role_name VARCHAR(255)) + procedure_label: BEGIN + DECLARE role_count INT DEFAULT 0; + DECLARE done INT DEFAULT FALSE; + DECLARE vid varchar(32); + DECLARE role_statement_uuid varchar(32); + DECLARE new_statement_uuid varchar(32); + DECLARE refId bigint(20) unsigned; + DECLARE generated_role_uuid VARCHAR(32); + DECLARE cur CURSOR FOR SELECT virtualIDUuid FROM zstack.IAM2VirtualIDRoleRefVO WHERE roleUuid=privilege_role_uuid; + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; + SELECT count(*) INTO role_count FROM zstack.RoleVO WHERE uuid = privilege_role_uuid; + + IF (role_count = 0) THEN + SELECT CURTIME(); + LEAVE procedure_label; + END IF; + + SELECT uuid INTO role_statement_uuid FROM RolePolicyStatementVO WHERE roleUuid = privilege_role_uuid LIMIT 1; + + OPEN cur; + read_loop: LOOP + FETCH cur INTO vid; + IF done THEN + LEAVE read_loop; + END IF; + + SET generated_role_uuid = REPLACE(UUID(), '-', ''); + + INSERT INTO ResourceVO (`uuid`, `resourceName`, `resourceType`, `concreteResourceType`) + VALUES (generated_role_uuid, role_name, 'RoleVO', 'org.zstack.header.identity.role.RoleVO'); + + INSERT INTO zstack.RoleVO (`uuid`, `name`, `createDate`, `lastOpDate`, `state`, `type`) + SELECT generated_role_uuid, role_name, CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP(), `state`, 'Customized' FROM + RoleVO WHERE uuid = privilege_role_uuid; + + CALL getMaxAccountResourceRefVO(refId); + INSERT INTO AccountResourceRefVO (`id`, `accountUuid`, `ownerAccountUuid`, `resourceUuid`, `resourceType`, `permission`, `isShared`, `lastOpDate`, `createDate`, `concreteResourceType`) + VALUES (refId + 1, '36c27e8ff05c4780bf6d2fa65700f22e', '36c27e8ff05c4780bf6d2fa65700f22e', generated_role_uuid, 'RoleVO', 2, 0, CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP(), 'org.zstack.header.identity.role.SystemRoleVO'); + + SET new_statement_uuid = REPLACE(UUID(), '-', ''); + INSERT INTO zstack.RolePolicyStatementVO (`uuid`, `statement`, `roleUuid`, `lastOpDate`, `createDate`) + SELECT new_statement_uuid, `statement`, generated_role_uuid, CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP() FROM + RolePolicyStatementVO WHERE uuid = role_statement_uuid; + + INSERT INTO IAM2VirtualIDRoleRefVO (`virtualIDUuid`, `roleUuid`, `lastOpDate`, `createDate`) + VALUES (vid, generated_role_uuid, CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP()); + END LOOP; + CLOSE cur; + + DELETE FROM zstack.IAM2VirtualIDRoleRefVO WHERE roleUuid = privilege_role_uuid; + DELETE FROM zstack.RolePolicyStatementVO WHERE roleUuid = privilege_role_uuid; + DELETE FROM zstack.RoleVO WHERE uuid = privilege_role_uuid; + DELETE FROM zstack.ResourceVO WHERE uuid = privilege_role_uuid; + DELETE FROM zstack.AccountResourceRefVO WHERE resourceUuid = privilege_role_uuid; + SELECT CURTIME(); + END $$ +DELIMITER ; + +DELIMITER $$ +CREATE PROCEDURE createRoleRefsInProject(IN project_uuid VARCHAR(32), IN role_uuid VARCHAR(32)) + BEGIN + DECLARE vid varchar(32); + DECLARE done INT DEFAULT FALSE; + DECLARE cur CURSOR FOR SELECT virtualIDUuid FROM zstack.IAM2ProjectVirtualIDRefVO where projectUuid = project_uuid; + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; + + OPEN cur; + read_loop: LOOP + FETCH cur INTO vid; + IF done THEN + LEAVE read_loop; + END IF; + + INSERT INTO IAM2VirtualIDRoleRefVO (`virtualIDUuid`, `roleUuid`, `lastOpDate`, `createDate`) + VALUES (vid, role_uuid, CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP()); + END LOOP; + CLOSE cur; + SELECT CURTIME(); + END $$ +DELIMITER ; + +DELIMITER $$ +CREATE PROCEDURE upgradeIAM2ReadRole(IN role_name VARCHAR(255)) + upgrade_label: BEGIN + DECLARE done INT DEFAULT FALSE; + DECLARE only_update_vid_statement varchar(255); + DECLARE read_role_uuid varchar(32); + DECLARE generated_role_uuid varchar(32); + DECLARE new_statement_uuid varchar(32); + DECLARE project_uuid varchar(32); + DECLARE account_uuid varchar(32); + DECLARE refId bigint(20) unsigned; + DECLARE cur CURSOR FOR SELECT projectUuid, accountUuid FROM zstack.IAM2ProjectAccountRefVO; + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; + + SET only_update_vid_statement = '{"name":"default-apis-for-normal-virtualID","effect":"Allow","actions":["org.zstack.iam2.api.APIUpdateIAM2VirtualIDMsg"]}'; + + SELECT uuid INTO read_role_uuid FROM zstack.RoleVO WHERE name like "read-api-role-%" and type = 'System' + and uuid in (SELECT roleUuid from RolePolicyStatementVO statement WHERE CHAR_LENGTH(statement) > CHAR_LENGTH(only_update_vid_statement)) LIMIT 1; + + IF (read_role_uuid = NULL) THEN + SELECT CURTIME(); + LEAVE upgrade_label; + END IF; + + OPEN cur; + read_loop: LOOP + FETCH cur INTO project_uuid, account_uuid; + IF done THEN + LEAVE read_loop; + END IF; + + SET generated_role_uuid = REPLACE(UUID(), '-', ''); + + INSERT INTO ResourceVO (`uuid`, `resourceName`, `resourceType`, `concreteResourceType`) + VALUES (generated_role_uuid, role_name, 'RoleVO', 'org.zstack.header.identity.role.RoleVO'); + + INSERT INTO zstack.RoleVO (`uuid`, `name`, `createDate`, `lastOpDate`, `state`, `type`) + SELECT generated_role_uuid, role_name, CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP(), `state`, 'Customized' FROM + RoleVO WHERE uuid = read_role_uuid; + + CALL getMaxAccountResourceRefVO(refId); + INSERT INTO AccountResourceRefVO (`id`, `accountUuid`, `ownerAccountUuid`, `resourceUuid`, `resourceType`, `permission`, `isShared`, `lastOpDate`, `createDate`, `concreteResourceType`) + VALUES (refId + 1, account_uuid, account_uuid, generated_role_uuid, 'RoleVO', 2, 0, CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP(), 'org.zstack.header.identity.role.SystemRoleVO'); + + SET new_statement_uuid = REPLACE(UUID(), '-', ''); + INSERT INTO zstack.RolePolicyStatementVO (`uuid`, `statement`, `roleUuid`, `lastOpDate`, `createDate`) + SELECT new_statement_uuid, `statement`, generated_role_uuid, CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP() FROM + RolePolicyStatementVO WHERE roleUuid = read_role_uuid; + + CALL createRoleRefsInProject(project_uuid, generated_role_uuid); + END LOOP; + CLOSE cur; + + UPDATE zstack.RolePolicyStatementVO SET statement = only_update_vid_statement WHERE roleUuid IN (SELECT uuid FROM zstack.RoleVO WHERE name like "read-api-role-%" and type = 'System'); + SELECT CURTIME(); + END $$ +DELIMITER ; + +CALL upgradePrivilegeAdmin('434a5e418a114714848bb0923acfbb9c', 'audit-admin-role'); +CALL upgradePrivilegeAdmin('58db081b0bbf4e93b63dc4ac90a423ad', 'security-admin-role'); +CALL upgradeIAM2ReadRole('system-read-role'); + +DROP PROCEDURE IF EXISTS getMaxAccountResourceRefVO; +DROP PROCEDURE IF EXISTS upgradePrivilegeAdmin; +DROP PROCEDURE IF EXISTS createRoleRefsInProject; +DROP PROCEDURE IF EXISTS upgradeIAM2ReadRole; + +-- delete dirty project admin attributes in db +delete from IAM2VirtualIDAttributeVO where name = '__ProjectAdmin__' and value not in (select uuid from IAM2ProjectVO); + +CREATE TABLE `zstack`.`GlobalConfigTemplateVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `name` varchar(255) NOT NULL, + `type` varchar(32) NOT NULL, + `description` varchar(1024) DEFAULT NULL, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`TemplateConfigVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `name` varchar(255) NOT NULL, + `category` varchar(64) NOT NULL, + `templateUuid` varchar(32) NOT NULL, + `defaultValue` text DEFAULT NULL, + `value` text DEFAULT NULL, + PRIMARY KEY (`id`), + CONSTRAINT `GlobalConfigTemplateVOTemplateConfigVO` FOREIGN KEY (`templateUuid`) REFERENCES `GlobalConfigTemplateVO` (`uuid`) ON UPDATE RESTRICT ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + + +CREATE TABLE `FlowMeterVO` ( + `uuid` VARCHAR(32) NOT NULL UNIQUE COMMENT 'flow meter uuid' , + `name` VARCHAR(32) DEFAULT "" , + `description` VARCHAR(128) DEFAULT "" , + `version` VARCHAR(16) DEFAULT 'V5', + `type` VARCHAR(16) DEFAULT 'NetFlow', + `sample` int unsigned DEFAULT 1, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `FlowCollectorVO` ( + `uuid` VARCHAR(32) NOT NULL UNIQUE COMMENT 'flow collector uuid' , + `flowMeterUuid` VARCHAR(32) NOT NULL, + `name` VARCHAR(32) DEFAULT "" , + `description` VARCHAR(128) DEFAULT "" , + `server` VARCHAR(64) NOT NULL, + `port` VARCHAR(16) DEFAULT '2055', + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`), + CONSTRAINT `fkFlowCollectorVOFlowMeterVO` FOREIGN KEY (`flowMeterUuid`) REFERENCES `FlowMeterVO` (`uuid`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `FlowRouterVO` ( + `uuid` VARCHAR(32) NOT NULL UNIQUE COMMENT 'logic flow router uuid for vrouterHA' , + `systemID` int unsigned DEFAULT 0, + `type` VARCHAR(16) NOT NULL DEFAULT 'normal' COMMENT 'router ha type' , + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `NetworkRouterFlowMeterRefVO` ( + `uuid` VARCHAR(32) NOT NULL UNIQUE, + `flowMeterUuid` VARCHAR(32) NOT NULL, + `vFlowRouterUuid` VARCHAR(32) NOT NULL, + `l3NetworkUuid` VARCHAR(32) NOT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`), + CONSTRAINT `fkNetworkRouterFlowMeterRefVOFlowMeterVO` FOREIGN KEY (`flowMeterUuid`) REFERENCES `FlowMeterVO` (`uuid`) ON DELETE CASCADE, + CONSTRAINT `fkNetworkRouterFlowMeterRefVOL3NetworkVO` FOREIGN KEY (`l3NetworkUuid`) REFERENCES `L3NetworkEO` (`uuid`) ON DELETE CASCADE, + CONSTRAINT `fkNetworkRouterFlowMeterRefVOFlowRouterVmVO` FOREIGN KEY (`vFlowRouterUuid`) REFERENCES `FlowRouterVO` (`uuid`) ON UPDATE CASCADE ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `PolicyRouteRuleSetVO` ( + `uuid` varchar(32) NOT NULL, + `name` varchar(16) NOT NULL, + `vyosName` varchar(32) NOT NULL, + `description` varchar(255) DEFAULT NULL, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`uuid`), + UNIQUE KEY `uuid` (`uuid`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `PolicyRouteTableVO` ( + `uuid` varchar(255) NOT NULL, + `tableNumber` int(3) NOT NULL, + `description` varchar(255) DEFAULT NULL, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`uuid`), + UNIQUE KEY `uuid` (`uuid`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `PolicyRouteRuleVO` ( + `uuid` varchar(32) NOT NULL, + `ruleNumber` int(4) NOT NULL, + `ruleSetUuid` varchar(32) NOT NULL, + `protocol` varchar(32) DEFAULT NULL, + `tableUuid` varchar(32) DEFAULT NULL, + `destIp` varchar(255) DEFAULT NULL, + `sourceIp` varchar(255) DEFAULT NULL, + `destPort` varchar(255) DEFAULT NULL, + `sourcePort` varchar(255) DEFAULT NULL, + `state` varchar(32) NOT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`), + UNIQUE KEY `uuid` (`uuid`) USING BTREE, + KEY `fkPolicyRouteRuleVOPolicyRouteRuleSetVO` (`ruleSetUuid`), + KEY `fkPolicyRouteRuleVOPolicyRouteTableVO` (`tableUuid`), + CONSTRAINT `fkPolicyRouteRuleVOPolicyRouteRuleSetVO` FOREIGN KEY (`ruleSetUuid`) REFERENCES `PolicyRouteRuleSetVO` (`uuid`) ON DELETE CASCADE, + CONSTRAINT `fkPolicyRouteRuleVOPolicyRouteTableVO` FOREIGN KEY (`tableUuid`) REFERENCES `PolicyRouteTableVO` (`uuid`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `PolicyRouteTableRouteEntryVO` ( + `uuid` varchar(32) NOT NULL, + `tableUuid` varchar(32) NOT NULL, + `distance` int(10) DEFAULT NULL, + `destinationCidr` varchar(64) NOT NULL, + `nextHopIp` varchar(255) NOT NULL, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`uuid`), + UNIQUE KEY `uuid` (`uuid`) USING BTREE, + KEY `fkPolicyRouteTableRouteEntryVOPolicyRouteTableVO` (`tableUuid`), + CONSTRAINT `fkPolicyRouteTableRouteEntryVOPolicyRouteTableVO` FOREIGN KEY (`tableUuid`) REFERENCES `PolicyRouteTableVO` (`uuid`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `PolicyRouteTableVRouterRefVO` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `tableUuid` varchar(32) NOT NULL, + `vRouterUuid` varchar(32) NOT NULL, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`id`), + UNIQUE KEY `id` (`id`) USING BTREE, + KEY `fkPolicyRouteTableVRouterRefVcPolicyRouteTableVO` (`tableUuid`), + KEY `fkPolicyRouteTableVRouterRefVOVirtualRouterVMVO` (`vRouterUuid`), + CONSTRAINT `fkPolicyRouteTableVRouterRefVOVirtualRouterVMVO` FOREIGN KEY (`vRouterUuid`) REFERENCES `VirtualRouterVmVO` (`uuid`) ON DELETE CASCADE, + CONSTRAINT `fkPolicyRouteTableVRouterRefVcPolicyRouteTableVO` FOREIGN KEY (`tableUuid`) REFERENCES `PolicyRouteTableVO` (`uuid`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `PolicyRouteRuleSetVRouterRefVO` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `vRouterUuid` varchar(32) NOT NULL, + `ruleSetUuid` varchar(32) NOT NULL, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`id`), + UNIQUE KEY `id` (`id`) USING BTREE, + KEY `fkPolicyRouteRuleSetVRouterRefVOVirtualRouteVMVO` (`vRouterUuid`), + KEY `fkPolicyRouteRuleSetVRouterRefVOPolicyRouteRuleSetVO` (`ruleSetUuid`), + CONSTRAINT `fkPolicyRouteRuleSetVRouterRefVOVirtualRouteVMVO` FOREIGN KEY (`vRouterUuid`) REFERENCES `VirtualRouterVmVO` (`uuid`) ON DELETE CASCADE, + CONSTRAINT `fkPolicyRouteRuleSetVRouterRefVOPolicyRouteRuleSetVO` FOREIGN KEY (`ruleSetUuid`) REFERENCES `PolicyRouteRuleSetVO` (`uuid`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `PolicyRouteRuleSetL3RefVO` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `ruleSetUuid` varchar(32) NOT NULL, + `l3NetworkUuid` varchar(32) NOT NULL, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`id`), + UNIQUE KEY `id` (`id`) USING BTREE, + KEY `fkPolicyRouteRuleSetNicRefVOPolicyRouteRuleSetVO` (`ruleSetUuid`) USING BTREE, + KEY `fkPolicyRouteRuleSetNicRefVOVmNicVO` (`l3NetworkUuid`) USING BTREE, + CONSTRAINT `fkPolicyRouteRuleSetNicRefVOVmNicVO` FOREIGN KEY (`l3NetworkUuid`) REFERENCES `L3NetworkEO` (`uuid`) ON DELETE CASCADE, + CONSTRAINT `fkPolicyRouteRuleSetNicRefVOPolicyRouteRuleSetVO` FOREIGN KEY (`ruleSetUuid`) REFERENCES `PolicyRouteRuleSetVO` (`uuid`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `TicketTypeVO` ( + `uuid` VARCHAR(32) NOT NULL UNIQUE, + `name` VARCHAR(255) NOT NULL, + `description` VARCHAR(2048) DEFAULT NULL, + `requests` VARCHAR(2048) NOT NULL, + `type` VARCHAR(255) NOT NULL, + `adminOnly` tinyint(1) unsigned NOT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `TicketTypeTicketFlowCollectionRefVO` ( + `ticketTypeUuid` VARCHAR(32) NOT NULL, + `ticketFlowCollectionUuid` VARCHAR(32) NOT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`ticketTypeUuid`,`ticketFlowCollectionUuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +ALTER TABLE `zstack`.`TicketVO` ADD COLUMN ticketTypeUuid VARCHAR(32) DEFAULT NULL; +ALTER TABLE `zstack`.`TicketVO` ADD CONSTRAINT `fkTicketVOTicketTypeVO` FOREIGN KEY (`ticketTypeUuid`) REFERENCES `TicketTypeVO` (`uuid`) ON DELETE SET NULL; + +ALTER TABLE `zstack`.`ArchiveTicketVO` ADD COLUMN ticketTypeUuid VARCHAR(32) DEFAULT NULL; +UPDATE `zstack`.`ArchiveTicketVO` SET ticketTypeUuid = '3b933e9aaf2d49b9a3dcf0c92867790f' WHERE ticketTypeUuid is NULL; + +INSERT INTO ResourceVO (`uuid`, `resourceName`, `resourceType`, `concreteResourceType`) VALUES ('3b933e9aaf2d49b9a3dcf0c92867790f', 'CREATE_VM_INSTANCE_TICKET_TYPE', 'TicketTypeVO', 'org.zstack.ticket.entity.TicketTypeVO'); + +INSERT INTO zstack.TicketTypeVO (`uuid`, `name`, `requests`, `type`, `adminOnly`, `createDate`, `lastOpDate`) +VALUES ('3b933e9aaf2d49b9a3dcf0c92867790f', 'CREATE_VM_INSTANCE_TICKET_TYPE', '', 'CREATE_VM_INSTANCE_TICKET_TYPE', 0, CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP()); + +UPDATE zstack.TicketVO SET ticketTypeUuid = '3b933e9aaf2d49b9a3dcf0c92867790f' WHERE ticketTypeUuid is NULL; + +INSERT INTO zstack.TicketTypeTicketFlowCollectionRefVO (`ticketTypeUuid`, `ticketFlowCollectionUuid`, `lastOpDate`, `createDate`) +SELECT '3b933e9aaf2d49b9a3dcf0c92867790f', `uuid`, CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP() from TicketFlowCollectionVO where uuid != '872c04e82fee40509447b9ec90fc5aa1'; + +CREATE TABLE `IAM2OrganizationProjectRefVO` ( +`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, +`projectUuid` varchar(32) NOT NULL, +`organizationUuid` varchar(32) NOT NULL, +`lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, +`createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', +PRIMARY KEY (`id`), +UNIQUE KEY `projectUuid` (`projectUuid`) +) ENGINE=InnoDB AUTO_INCREMENT=3624 DEFAULT CHARSET=utf8; + +DELETE FROM IAM2OrganizationAttributeVO WHERE `name` = '__OrganizationSupervisor__' and `value` not in (SELECT `uuid` FROM IAM2VirtualIDVO); + +-- Fixes ZSTAC-22582 +UPDATE `zstack`.`GlobalConfigVO` SET `description`='qcow2 allocation policy, can be none, metadata', `defaultValue`='metadata' WHERE `category`='sharedblock' AND `name`='qcow2.allocation'; +UPDATE `zstack`.`GlobalConfigVO` SET `value`='metadata' WHERE `category`='sharedblock' AND `name`='qcow2.allocation' AND (`value`='full' OR `value`='falloc'); +UPDATE `zstack`.`TemplateConfigVO` SET `defaultValue`='metadata' WHERE `category`='sharedblock' AND `name`='qcow2.allocation'; +UPDATE `zstack`.`TemplateConfigVO` SET `value`='metadata' WHERE `category`='sharedblock' AND `name`='qcow2.allocation' AND (`value`='full' OR `value`='falloc'); + +CREATE TABLE `zstack`.`RaidControllerVO` ( + `uuid` varchar(32) not null unique, + `name` varchar(255) default null, + `sasAddress` varchar(255) default null, + `hostUuid` varchar(32) default null, + `description` varchar(255) default null, + `productName` varchar(255) default null, + `adapterNumber` smallint default null, + `lastOpDate` timestamp not null default '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp not null default '0000-00-00 00:00:00', + CONSTRAINT fkRaidControllerVOHostVO FOREIGN KEY (hostUuid) REFERENCES HostEO (uuid) ON DELETE CASCADE, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`RaidPhysicalDriveVO` ( + `uuid` varchar(32) not null unique, + `raidControllerUuid` varchar(32) not null, + `raidLevel` varchar(32) default null, + `name` varchar(255) default null, + `description` varchar(255) default null, + `deviceModel` varchar(255) default null, + `enclosureDeviceId` smallint not null, + `slotNumber` smallint not null, + `deviceId` smallint default null, + `diskGroup` smallint default null, + `wwn` varchar(255) default null, + `serialNumber` varchar(255) default null, + `size` bigint(20) not null, + `driveState` varchar(255) default null, + `locateStatus` varchar(32) default null, + `driveType` varchar(255) default null, + `mediaType` varchar(255) default null, + `rotationRate` smallint default null, + `lastOpDate` timestamp not null default '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp not null default '0000-00-00 00:00:00', + CONSTRAINT fkRaidPhysicalDriveVORaidControllerVO FOREIGN KEY (raidControllerUuid) REFERENCES RaidControllerVO (uuid) ON DELETE CASCADE, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`PhysicalDriveSmartSelfTestHistoryVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `raidPhysicalDriveUuid` varchar(32) default null, + `runningState` varchar(255) default null, + `testResult` varchar(255) default null, + `lastOpDate` timestamp not null default '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp not null default '0000-00-00 00:00:00', + CONSTRAINT fkPhysicalDriveSmartSelfTestHistoryVORaidPhysicalDriveVO FOREIGN KEY (raidPhysicalDriveUuid) REFERENCES RaidPhysicalDriveVO (uuid) ON DELETE CASCADE, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `VpcFirewallVO` ( + `uuid` varchar(32) NOT NULL, + `description` varchar(2048) DEFAULT NULL, + `name` varchar(255) NOT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`), + UNIQUE KEY `uuid` (`uuid`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `VpcFirewallRuleSetVO` ( + `uuid` varchar(32) NOT NULL, + `name` varchar(255) NOT NULL, + `vyosName` varchar(28) NOT NULL, + `vpcFirewallUuid` varchar(32) NOT NULL, + `actionType` varchar(255) NOT NULL, + `description` varchar(2048) DEFAULT NULL, + `enableDefaultLog` tinyint(1) NOT NULL DEFAULT '0', + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `isDefault` tinyint(1) NOT NULL DEFAULT '0', + PRIMARY KEY (`uuid`), + UNIQUE KEY `uuid` (`uuid`) USING BTREE, + KEY `fkVpcFirewallRuleSetVOVpcFirewallVO` (`vpcFirewallUuid`), + CONSTRAINT `fkVpcFirewallRuleSetVOVpcFirewallVO` FOREIGN KEY (`vpcFirewallUuid`) REFERENCES `VpcFirewallVO` (`uuid`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `VpcFirewallRuleVO` ( + `uuid` varchar(32) NOT NULL, + `vpcFirewallUuid` varchar(32) NOT NULL, + `ruleSetUuid` varchar(32) NOT NULL, + `ruleSetName` varchar(255) NOT NULL, + `action` varchar(255) NOT NULL, + `protocol` varchar(255) DEFAULT NULL, + `sourcePort` varchar(255) DEFAULT NULL, + `destPort` varchar(255) DEFAULT NULL, + `sourceIp` varchar(255) DEFAULT NULL, + `destIp` varchar(255) DEFAULT NULL, + `ruleNumber` int(10) NOT NULL, + `icmpTypeName` varchar(255) DEFAULT NULL, + `allowStates` varchar(255) DEFAULT NULL, + `tcpFlag` varchar(255) DEFAULT NULL, + `enableLog` tinyint(1) NOT NULL DEFAULT '0', + `state` varchar(32) NOT NULL DEFAULT '0', + `isDefault` tinyint(1) NOT NULL DEFAULT '0', + `description` varchar(2048) DEFAULT NULL, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`uuid`), + UNIQUE KEY `uuid` (`uuid`) USING BTREE, + KEY `fkVpcFirewallRuleVOVpcFirewallVO` (`vpcFirewallUuid`), + KEY `fkVpcFirewallRuleVOVpcFirewallRuleSetVO` (`ruleSetUuid`), + CONSTRAINT `fkVpcFirewallRuleVOVpcFirewallRuleSetVO` FOREIGN KEY (`ruleSetUuid`) REFERENCES `VpcFirewallRuleSetVO` (`uuid`) ON DELETE CASCADE, + CONSTRAINT `fkVpcFirewallRuleVOVpcFirewallVO` FOREIGN KEY (`vpcFirewallUuid`) REFERENCES `VpcFirewallVO` (`uuid`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `VpcFirewallRuleSetL3RefVO` ( + `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, + `ruleSetUuid` varchar(32) NOT NULL, + `l3NetworkUuid` varchar(32) NOT NULL, + `vpcFirewallUuid` varchar(32) NOT NULL, + `packetsForwardType` varchar(32) NOT NULL, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`id`), + UNIQUE KEY `id` (`id`) USING BTREE, + KEY `fkVpcFirewallRuleSetL3RefVOL3NetworkEO` (`l3NetworkUuid`) USING BTREE, + KEY `fkVpcFirewallRuleSetL3RefVOVpcFirewallRuleSetVO` (`ruleSetUuid`) USING BTREE, + KEY `fkVpcFirewallRuleSetL3RefVOVpcFirewallVO` (`vpcFirewallUuid`) USING BTREE, + CONSTRAINT `fkVpcFirewallRuleSetL3RefVOL3NetworkEO` FOREIGN KEY (`l3NetworkUuid`) REFERENCES `L3NetworkEO` (`uuid`) ON DELETE CASCADE, + CONSTRAINT `fkVpcFirewallRuleSetL3RefVOVpcFirewallRuleSetVO` FOREIGN KEY (`ruleSetUuid`) REFERENCES `VpcFirewallRuleSetVO` (`uuid`) ON DELETE CASCADE, + CONSTRAINT `fkVpcFirewallRuleSetL3RefVOVpcFirewallVO` FOREIGN KEY (`vpcFirewallUuid`) REFERENCES `VpcFirewallVO` (`uuid`) ON DELETE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=50 DEFAULT CHARSET=utf8; + +CREATE TABLE `VpcFirewallVRouterRefVO` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `vRouterUuid` varchar(32) NOT NULL, + `vpcFirewallUuid` varchar(32) NOT NULL, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`id`), + UNIQUE KEY `id` (`id`) USING BTREE, + KEY `VpcFirewallVRouterRefVOVpcFirewallVO` (`vpcFirewallUuid`), + KEY `VpcFirewallVRouterRefVOVirtualRouteVmVO` (`vRouterUuid`), + CONSTRAINT `VpcFirewallVRouterRefVOVpcFirewallVO` FOREIGN KEY (`vpcFirewallUuid`) REFERENCES `VpcFirewallVO` (`uuid`) ON DELETE CASCADE, + CONSTRAINT `VpcFirewallVRouterRefVOVirtualRouteVmVO` FOREIGN KEY (`vRouterUuid`) REFERENCES `VirtualRouterVmVO` (`uuid`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +UPDATE `RolePolicyStatementVO` SET statement = replace(statement, '"org.zstack.header.vpc.**"', '"org.zstack.header.vpc.ha.**","org.zstack.vpc.**"') WHERE `statement` LIKE '%"org.zstack.header.vpc.**"%'; diff --git a/conf/tools/flyway-6.3.1/sql/V3.6.1__schema.sql b/conf/tools/flyway-6.3.1/sql/V3.6.1__schema.sql new file mode 100644 index 00000000000..e69de29bb2d diff --git a/conf/tools/flyway-6.3.1/sql/V3.7.0.2__schema.sql b/conf/tools/flyway-6.3.1/sql/V3.7.0.2__schema.sql new file mode 100644 index 00000000000..b105680a232 --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V3.7.0.2__schema.sql @@ -0,0 +1 @@ +ALTER TABLE `zstack`.`ImageOpsJournalVO` add column `type` varchar(32) NOT NULL DEFAULT 'Image'; diff --git a/conf/tools/flyway-6.3.1/sql/V3.7.0__schema.sql b/conf/tools/flyway-6.3.1/sql/V3.7.0__schema.sql new file mode 100644 index 00000000000..6803952bc46 --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V3.7.0__schema.sql @@ -0,0 +1,327 @@ +CREATE TABLE IF NOT EXISTS `zstack`.`SNSSmsEndpointVO` +( + `uuid` varchar(32) NOT NULL UNIQUE, + PRIMARY KEY (`uuid`), + CONSTRAINT fkSNSSmsEndpointVOSNSApplicationEndpointVO FOREIGN KEY (uuid) REFERENCES SNSApplicationEndpointVO (uuid) ON UPDATE RESTRICT ON DELETE CASCADE +) ENGINE = InnoDB + DEFAULT CHARSET = utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`SNSSmsReceiverVO` +( + `uuid` varchar(32) NOT NULL UNIQUE, + `phoneNumber` varchar(24) NOT NULL, + `endpointUuid` varchar(32) NOT NULL, + `type` varchar(24) NOT NULL, + `description` varchar(255) DEFAULT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`uuid`), + CONSTRAINT fkSNSSmsReceiverVOSNSSmsEndpointVO FOREIGN KEY (endpointUuid) REFERENCES SNSSmsEndpointVO (uuid) +) ENGINE = InnoDB + DEFAULT CHARSET = utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`AliyunSmsSNSTextTemplateVO` +( + `uuid` varchar(32) NOT NULL UNIQUE, + `sign` varchar(24) NOT NULL, + `alarmTemplateCode` varchar(24) NOT NULL, + `eventTemplateCode` varchar(24) NOT NULL, + `eventTemplate` text, + PRIMARY KEY (`uuid`), + CONSTRAINT fkAliyunSmsSNSTextTemplateVOSNSTextTemplateVO FOREIGN KEY (uuid) REFERENCES SNSTextTemplateVO (uuid) ON UPDATE RESTRICT ON DELETE CASCADE +) ENGINE = InnoDB + DEFAULT CHARSET = utf8; + +-- Remove the unique constrain of name in HybridAccountVO, the second one is imported by someone on 3.4.0 +ALTER TABLE HybridAccountVO + DROP INDEX name; +ALTER TABLE HybridAccountVO + DROP INDEX name_2; + +CREATE TABLE IF NOT EXISTS `InstallPathRecycleVO` ( + `trashId` bigint(20) unsigned NOT NULL AUTO_INCREMENT, + `resourceUuid` varchar(32) NOT NULL, + `resourceType` varchar(32) NOT NULL, + `storageUuid` varchar(32) NOT NULL, + `storageType` varchar(32) NOT NULL, + `installPath` varchar(1024) NOT NULL, + `hostUuid` varchar(32) DEFAULT NULL, + `hypervisorType` varchar(32) DEFAULT NULL, + `trashType` varchar(32) NOT NULL, + `isFolder` boolean NOT NULL DEFAULT FALSE, + `size` bigint unsigned NOT NULL, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`trashId`), + UNIQUE KEY `trashId` (`trashId`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`VmPriorityConfigVO` ( + `uuid` VARCHAR(32) NOT NULL UNIQUE, + `level` VARCHAR(255) NOT NULL UNIQUE, + `cpuShares` int NOT NULL, + `oomScoreAdj` int NOT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +ALTER TABLE `SNSEmailEndpointVO` modify column email varchar(1024) DEFAULT NULL; + +CREATE TABLE IF NOT EXISTS `zstack`.`SNSEmailAddressVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `emailAddress` varchar(1024) NOT NULL, + `endpointUuid` varchar(32) NOT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +DROP PROCEDURE IF EXISTS upgradeEmailAddressFromEndpoint; + +DELIMITER $$ +CREATE PROCEDURE upgradeEmailAddressFromEndpoint() + BEGIN + DECLARE email_address varchar(1024); + DECLARE endpoint_uuid varchar(32); + DECLARE email_address_count INT DEFAULT 0; + DECLARE email_address_uuid varchar(32); + DECLARE done INT DEFAULT FALSE; + DECLARE cur CURSOR FOR SELECT uuid, email FROM zstack.SNSEmailEndpointVO WHERE `email` IS NOT NULL; + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; + + OPEN cur; + read_loop: LOOP + FETCH cur INTO endpoint_uuid, email_address; + IF done THEN + LEAVE read_loop; + END IF; + + SELECT count(*) INTO email_address_count FROM zstack.SNSEmailAddressVO WHERE emailAddress = email_address and endpointUuid = endpoint_uuid; + + IF (email_address_count = 0) THEN + SET email_address_uuid = REPLACE(UUID(), '-', ''); + + INSERT INTO ResourceVO (`uuid`, `resourceName`, `resourceType`, `concreteResourceType`) + VALUES (email_address_uuid, NULL, 'SNSEmailAddressVO', 'org.zstack.sns.platform.email.SNSEmailAddressVO'); + + INSERT INTO `SNSEmailAddressVO` (`uuid`, `emailAddress`, `endpointUuid`, `createDate`, `lastOpDate`) + VALUES (email_address_uuid, email_address, endpoint_uuid, NOW(), NOW()); + END IF; + END LOOP; + CLOSE cur; + SELECT CURTIME(); + END $$ +DELIMITER ; + +CALL upgradeEmailAddressFromEndpoint(); +DROP PROCEDURE IF EXISTS upgradeEmailAddressFromEndpoint; + +UPDATE zstack.SNSEmailEndpointVO SET email = NULL; + +-- ---------------------------- +-- For multicast router +-- ---------------------------- +CREATE TABLE IF NOT EXISTS `zstack`.`MulticastRouterVO` ( + `uuid` VARCHAR(32) NOT NULL UNIQUE, + `description` VARCHAR(2048) DEFAULT NULL, + `state` VARCHAR(32) NOT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`MulticastRouterRendezvousPointVO` ( + `uuid` VARCHAR(32) NOT NULL UNIQUE, + `multicastRouterUuid` VARCHAR(32) NOT NULL, + `rpAddress` VARCHAR(64) NOT NULL, + `groupAddress` VARCHAR(64) NOT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + CONSTRAINT fkMultiCastRouterRendezvousPointVOMulticastRouterVO FOREIGN KEY (multicastRouterUuid) REFERENCES MulticastRouterVO (uuid) ON DELETE CASCADE, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`MulticastRouterVpcVRouterRefVO` ( + `uuid` VARCHAR(32) NOT NULL UNIQUE, + `vpcRouterUuid` VARCHAR(32) NOT NULL, + CONSTRAINT fkMulticastRouterVpcVRouterRefVOMulticastRouterVO FOREIGN KEY (uuid) REFERENCES MulticastRouterVO (uuid) ON DELETE CASCADE, + CONSTRAINT fkMulticastRouterVpcVRouterRefVOVpcRouterVmVO FOREIGN KEY (vpcRouterUuid) REFERENCES VpcRouterVmVO (uuid) ON DELETE CASCADE, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE INDEX idxLongJobVOapiId ON LongJobVO (apiId); + +ALTER TABLE `zstack`.`RoleVO` ADD COLUMN identity VARCHAR(64) DEFAULT NULL; + +-- FOR GUEST TOOLS +CREATE TABLE IF NOT EXISTS `zstack`.`GuestToolsVO` ( + `uuid` VARCHAR(32) NOT NULL UNIQUE, + `name` varchar(255) DEFAULT "", + `description` varchar(2048) DEFAULT NULL, + `managementNodeUuid` VARCHAR(32) NOT NULL, + `architecture` VARCHAR(32) NOT NULL, + `hypervisorType` VARCHAR(32) NOT NULL, + `version` VARCHAR(32) NOT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +ALTER TABLE `BillingResourceLabelVO` modify labelKey varchar(255) NOT NULL; + +-- add h3c hardware sdn +-- ---------------------------- +CREATE TABLE IF NOT EXISTS `SdnControllerVO` ( + `uuid` VARCHAR(32) NOT NULL UNIQUE, + `vendorType` VARCHAR(255) NOT NULL, + `name` VARCHAR(255) NOT NULL, + `description` VARCHAR(2048) DEFAULT NULL, + `ip` VARCHAR(255) NOT NULL, + `username` VARCHAR(255) NOT NULL, + `password` VARCHAR(255) NOT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `HardwareL2VxlanNetworkPoolVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `sdnControllerUuid` VARCHAR(32) NOT NULL, + PRIMARY KEY (`uuid`), + CONSTRAINT fkHardwareL2VxlanNetworkPoolVOL2NetworkEO FOREIGN KEY (uuid) REFERENCES L2NetworkEO (uuid) ON UPDATE RESTRICT ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- ---------------------------- +-- For port mirror +-- ---------------------------- +CREATE TABLE IF NOT EXISTS `zstack`.`PortMirrorVO` ( + `uuid` VARCHAR(32) NOT NULL, + `name` VARCHAR(128) DEFAULT "", + `state` VARCHAR(128) DEFAULT "Enable", + `mirrorNetworkUuid` VARCHAR(32) NOT NULL, + `description` VARCHAR(1024) DEFAULT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`), + UNIQUE KEY `uuid` (`uuid`) USING BTREE, + CONSTRAINT `fkPortMirrorVOL3NetworkVO` FOREIGN KEY (`mirrorNetworkUuid`) REFERENCES `L3NetworkEO` (`uuid`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`PortMirrorSessionVO` ( + `uuid` VARCHAR(32) NOT NULL, + `name` VARCHAR(128) NOT NULL, + `srcEndPoint` VARCHAR(32) NOT NULL, + `dstEndPoint` VARCHAR(32) NOT NULL, + `type` VARCHAR(32) NOT NULL, + `status` VARCHAR(128) DEFAULT 'Created', + `internalId` int unsigned NOT NULL, + `description` VARCHAR(1024) DEFAULT NULL, + `portMirrorUuid` VARCHAR(32) NOT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`), + UNIQUE KEY `uuid` (`uuid`) USING BTREE, + CONSTRAINT `fkPortMirrorSessionVOPortMirrorVO` FOREIGN KEY (`portMirrorUuid`) REFERENCES `PortMirrorVO` (`uuid`) ON DELETE CASCADE, + CONSTRAINT `fkPortMirrorSessionVOSrcNIcVmNicVO` FOREIGN KEY (`srcEndPoint`) REFERENCES `VmNicVO` (`uuid`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`PortMirrorSessionSequenceNumberVO` ( + `id` int unsigned NOT NULL UNIQUE AUTO_INCREMENT, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`MirrorNetworkUsedIpVO` ( + `uuid` VARCHAR(32) NOT NULL, + `hostUuid` VARCHAR(32) NOT NULL, + `clusterUuid` VARCHAR(32) NOT NULL, + `l3NetworkUuid` VARCHAR(32) NOT NULL, + `description` VARCHAR(1024) DEFAULT NULL, + PRIMARY KEY (`uuid`), + UNIQUE KEY `uuid` (`uuid`) USING BTREE, + CONSTRAINT `fkMirrorNetworkUsedIpVOL3NetworkEO` FOREIGN KEY (`l3NetworkUuid`) REFERENCES `L3NetworkEO` (`uuid`) ON DELETE CASCADE, + CONSTRAINT `fkMirrorNetworkUsedIpVOHostEO` FOREIGN KEY (`hostUuid`) REFERENCES `HostEO` (`uuid`) ON DELETE CASCADE, + CONSTRAINT `fkMirrorNetworkUsedIpVOClusterEO` FOREIGN KEY (`clusterUuid`) REFERENCES `ClusterEO` (`uuid`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`PortMirrorSessionMirrorNetworkRefVO` ( + `uuid` VARCHAR(32) NOT NULL, + `sessionUuid` VARCHAR(32) NOT NULL, + `srcTunnelUuid` VARCHAR(32) NOT NULL, + `dstTunnelUuid` VARCHAR(32), + `type` VARCHAR(32) DEFAULT 'GRE', + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`), + UNIQUE KEY `uuid` (`uuid`) USING BTREE, + CONSTRAINT `fkMirrorRefVOPortMirrorSessionVO` FOREIGN KEY (`sessionUuid`) REFERENCES `PortMirrorSessionVO` (`uuid`) ON DELETE CASCADE, + CONSTRAINT `fkMirrorRefVOMirrorNetworkUsedIpVOSrc` FOREIGN KEY (`srcTunnelUuid`) REFERENCES `MirrorNetworkUsedIpVO` (`uuid`) ON DELETE CASCADE, + CONSTRAINT `fkMirrorRefVOMirrorNetworkUsedIpVODst` FOREIGN KEY (`dstTunnelUuid`) REFERENCES `MirrorNetworkUsedIpVO` (`uuid`) ON DELETE SET NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +alter table SNSTextTemplateVO add type varchar(255) DEFAULT "ALARM"; +update SNSApplicationEndpointVO set type = "SYSTEM_HTTP" where name = "system-alarm-endpoint" and platformUuid = "02d24b9b0a7f4ee1846f15cda248ceb7" and type = "HTTP"; + + +DROP PROCEDURE IF EXISTS addMissingResourceRef; +DELIMITER $$ +CREATE PROCEDURE addMissingResourceRef() + BEGIN + DECLARE groupUuid VARCHAR(32); + DECLARE accountUuid VARCHAR(32); + DECLARE done INT DEFAULT FALSE; + DECLARE cur CURSOR FOR SELECT sgroup.uuid FROM `zstack`.`VolumeSnapshotGroupVO` sgroup + WHERE NOT EXISTS (SELECT resourceUuid FROM zstack.AccountResourceRefVO WHERE resourceUuid = sgroup.uuid); + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; + + OPEN cur; + read_loop: LOOP + FETCH cur INTO groupUuid; + IF done THEN + LEAVE read_loop; + END IF; + + SELECT aref.accountUuid INTO accountUuid FROM `zstack`.`VolumeSnapshotGroupRefVO` sref, `zstack`.`AccountResourceRefVO` aref + WHERE sref.volumeSnapshotGroupUuid = groupUuid + AND sref.volumeType = 'Root' + AND sref.volumeSnapshotUuid = aref.resourceUuid; + + IF accountUuid IS NOT NULL THEN + INSERT INTO `zstack`.`AccountResourceRefVO` (`resourceType`, `resourceUuid`, `accountUuid`, `ownerAccountUuid`, `concreteResourceType`, `permission`, `isShared`, `createDate`, `lastOpDate`) + VALUES ('VolumeSnapshotGroupVO', groupUuid, accountUuid, accountUuid, 'org.zstack.header.storage.snapshot.group.VolumeSnapshotGroupVO', 2, 0, NOW(), NOW()); + END IF; + END LOOP; + CLOSE cur; + SELECT CURTIME(); + END $$ +DELIMITER ; +CALL addMissingResourceRef(); +DROP PROCEDURE IF EXISTS addMissingResourceRef; + +DROP PROCEDURE IF EXISTS modifyHostXfsFragAlarmDefaultThreshold; + +DELIMITER $$ +CREATE PROCEDURE modifyHostXfsFragAlarmDefaultThreshold() + BEGIN + DECLARE done INT DEFAULT FALSE; + DECLARE uuid VARCHAR(32); + DECLARE threshold DOUBLE; + DECLARE cur CURSOR FOR SELECT v.uuid,v.threshold FROM AlarmVO v WHERE v.uuid = "bf7359930ee444d286fb88d2e51acf51"; + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; + OPEN cur; + read_loop: LOOP + FETCH cur INTO uuid,threshold; + IF done THEN + LEAVE read_loop; + END IF; + + IF threshold != "85" THEN + UPDATE AlarmVO v SET v.threshold = "85" WHERE v.uuid = uuid; + END IF; + END LOOP; + CLOSE cur; + SELECT CURTIME(); + END $$ +DELIMITER ; + +call modifyHostXfsFragAlarmDefaultThreshold(); +DROP PROCEDURE IF EXISTS modifyHostXfsFragAlarmDefaultThreshold; \ No newline at end of file diff --git a/conf/tools/flyway-6.3.1/sql/V3.7.1__schema.sql b/conf/tools/flyway-6.3.1/sql/V3.7.1__schema.sql new file mode 100644 index 00000000000..e69de29bb2d diff --git a/conf/tools/flyway-6.3.1/sql/V3.7.2__schema.sql b/conf/tools/flyway-6.3.1/sql/V3.7.2__schema.sql new file mode 100644 index 00000000000..8f0d5214af2 --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V3.7.2__schema.sql @@ -0,0 +1,32 @@ +SET FOREIGN_KEY_CHECKS = 0; + +CREATE TABLE IF NOT EXISTS `zstack`.`PriceTableVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `name` varchar(255) NOT NULL, + `description` VARCHAR(256) DEFAULT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +INSERT INTO ResourceVO (`uuid`, `resourceName`, `resourceType`, `concreteResourceType`) VALUES ("12a087c058cc45d5bf80a605f17c0083", "global_default", 'PriceTableVO', "org.zstack.billing.table.PriceTableVO"); +INSERT INTO PriceTableVO (`uuid`, `name`, `lastOpDate`, `createDate`) VALUES ("12a087c058cc45d5bf80a605f17c0083", "global_default", CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP()); + +ALTER TABLE PriceVO ADD COLUMN tableUuid VARCHAR(32) DEFAULT NULL; +ALTER TABLE PriceVO ADD CONSTRAINT fkPriceVOPriceTableVO FOREIGN KEY (tableUuid) REFERENCES PriceTableVO (uuid) ON DELETE CASCADE; +UPDATE PriceVO set tableUuid = "12a087c058cc45d5bf80a605f17c0083"; +ALTER TABLE PriceVO modify column tableUuid VARCHAR(32) NOT NULL; + +ALTER TABLE PriceVO add column endDateInLong bigint unsigned DEFAULT NULL; + +CREATE TABLE IF NOT EXISTS `zstack`.`AccountPriceTableRefVO` ( +`tableUuid` varchar(32) NOT NULL, +`accountUuid` varchar(32) NOT NULL UNIQUE, +`lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, +`createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', +PRIMARY KEY (`tableUuid`,`accountUuid`), +CONSTRAINT `fkAccountPriceTableRefVOPriceTableVO` FOREIGN KEY (`tableUuid`) REFERENCES `PriceTableVO` (`uuid`) ON DELETE CASCADE, +CONSTRAINT `fkAccountPriceTableRefVOAccountVO` FOREIGN KEY (`accountUuid`) REFERENCES `AccountVO` (`uuid`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +SET FOREIGN_KEY_CHECKS = 1; \ No newline at end of file diff --git a/conf/tools/flyway-6.3.1/sql/V3.8.0__schema.sql b/conf/tools/flyway-6.3.1/sql/V3.8.0__schema.sql new file mode 100644 index 00000000000..6792b70f072 --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V3.8.0__schema.sql @@ -0,0 +1,77 @@ +ALTER TABLE VpcFirewallRuleVO MODIFY COLUMN sourceIp varchar(2048) DEFAULT NULL; +ALTER TABLE VpcFirewallRuleVO MODIFY COLUMN destIp varchar(2048) DEFAULT NULL; + +ALTER TABLE `zstack`.`GuestToolsVO` ADD COLUMN agentType VARCHAR(64) DEFAULT "WindowsOnKvm" NOT NULL; + +DELETE FROM AlarmVO WHERE uuid IN ("e47db726090c47de84521bebc640cfc2","bf7359930ee444d286fb88d2e51acf51"); +DELETE FROM ResourceVO WHERE uuid IN ("e47db726090c47de84521bebc640cfc2","bf7359930ee444d286fb88d2e51acf51"); + +CREATE TABLE IF NOT EXISTS `zstack`.`ClusterDRSVO` ( + `uuid` varchar(32) not null unique, + `name` varchar(256) NOT NULL, + `clusterUuid` varchar(32) not null, + `state` varchar(255) not null, + `balancedState` varchar(255) not null, + `automationLevel` varchar(255) not null, + `thresholds` text not null, + `thresholdDuration` varchar(255) not null, + `description` varchar(255) default null, + `createDate` timestamp not null default '0000-00-00 00:00:00', + `lastOpDate` timestamp not null default '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`uuid`), + UNIQUE KEY `clusterUuid` (`clusterUuid`), + CONSTRAINT `fkClusterDRSVOClusterEO` FOREIGN KEY (`clusterUuid`) REFERENCES `ClusterEO` (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`DRSAdviceVO` ( + `uuid` varchar(32) not null unique, + `drsUuid` varchar(32) not null, + `adviceGroupUuid` varchar(32) not null, + `vmUuid` varchar(32) not null, + `vmSourceHostUuid` varchar(32) not null, + `vmTargetHostUuid` varchar(32) not null, + `reason` varchar(255) not null, + `createDate` timestamp not null default '0000-00-00 00:00:00', + `lastOpDate` timestamp not null default '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`uuid`), + KEY `drsUuid` (`drsUuid`), + KEY `adviceGroupUuid` (`adviceGroupUuid`), + CONSTRAINT `fkDRSAdviceVOClusterDRSVO` FOREIGN KEY (`drsUuid`) REFERENCES `ClusterDRSVO` (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`DRSVmMigrationActivityVO` ( + `uuid` varchar(32) not null unique, + `drsUuid` varchar(32) default null, + `vmUuid` varchar(32) not null, + `vmSourceHostUuid` varchar(32) not null, + `vmTargetHostUuid` varchar(32) not null, + `status` varchar(255) not null, + `endDate` datetime default null, + `adviceUuid` varchar(32) default null, + `reason` varchar(255) not null, + `cause` varchar(64) not null, + `result` varchar(1024) default null, + `createDate` timestamp not null default '0000-00-00 00:00:00', + `lastOpDate` timestamp not null default '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`uuid`), + KEY `vmUuid` (`vmUuid`), + KEY `drsUuid` (`drsUuid`), + KEY `adviceUuid` (`adviceUuid`), + CONSTRAINT `fkDRSVmMigrationActivityVOClusterDRSVO` FOREIGN KEY (`drsUuid`) REFERENCES `ClusterDRSVO` (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +DELETE FROM AlarmVO WHERE uuid="e47db726090c47de84521bebc640cfc2"; +DELETE FROM ResourceVO WHERE uuid="e47db726090c47de84521bebc640cfc2"; + +ALTER TABLE `zstack`.`AlarmVO` ADD COLUMN `emergencyLevel` varchar(64) DEFAULT NULL; +ALTER TABLE `zstack`.`EventSubscriptionVO` ADD COLUMN `emergencyLevel` varchar(64) DEFAULT NULL; +UPDATE `zstack`.`AlarmVO` SET emergencyLevel = "Emergent" where uuid in ("065f9609dce141bb952c80f729f58af4","44e6f054a59a451fb1b535accff64fc2","5d3bb9d271a349b283893317f531f723","65e8f1a4892231b692cc7a881581f3da","66dfdee6fd314aac96ca3779774ad977","712c3dec6aa94ed2b3bcd32192c22f69","b632652cc16044cdb6b4f516ed93a118","bf7359930ee444d286fb88d2e51acf51","ded02f9786444c6296e9bc3efb8eb484","e47db726090c47de84521bebc640cfc2"); +UPDATE `zstack`.`AlarmVO` SET emergencyLevel = "Important" where uuid not in ("065f9609dce141bb952c80f729f58af4","44e6f054a59a451fb1b535accff64fc2","5d3bb9d271a349b283893317f531f723","65e8f1a4892231b692cc7a881581f3da","66dfdee6fd314aac96ca3779774ad977","712c3dec6aa94ed2b3bcd32192c22f69","b632652cc16044cdb6b4f516ed93a118","bf7359930ee444d286fb88d2e51acf51","ded02f9786444c6296e9bc3efb8eb484","e47db726090c47de84521bebc640cfc2"); +UPDATE `zstack`.`EventSubscriptionVO` SET emergencyLevel = "Emergent" where uuid in ("14a991d4d7d54a66b14e398ffc510bd6","4a3cb114b10d41e19545ab693222c134","5e75230bd2ea4f47abf6ff92fa816a20","8eca1096feb34419913087d2b281ecec","98f9c802604e4852bd84716f66cf4f73","d59397479d2548d7abfe4ad31a575390"); +UPDATE `zstack`.`EventSubscriptionVO` SET emergencyLevel = "Normal" where uuid in ("10d9c4e69fc2456bb8c6c6d456bb5038","1a7a3eb433904df89f5c42a1fa4e0716","39d2b6689efa4e4a96c239716cb6f3ea","55365763fed244c39b4642bef6c5daf9","f56795b8c34b452f84bcf25cb89bded2"); +UPDATE `zstack`.`EventSubscriptionVO` SET emergencyLevel = "Important" where uuid not in ("10d9c4e69fc2456bb8c6c6d456bb5038","14a991d4d7d54a66b14e398ffc510bd6","1a7a3eb433904df89f5c42a1fa4e0716","39d2b6689efa4e4a96c239716cb6f3ea","4a3cb114b10d41e19545ab693222c134","55365763fed244c39b4642bef6c5daf9","5e75230bd2ea4f47abf6ff92fa816a20","8eca1096feb34419913087d2b281ecec","98f9c802604e4852bd84716f66cf4f73","d59397479d2548d7abfe4ad31a575390","f56795b8c34b452f84bcf25cb89bded2"); + +ALTER TABLE `zstack`.`StackTemplateVO` MODIFY COLUMN `content` MEDIUMTEXT NOT NULL; + +ALTER TABLE AutoScalingGroupActivityVO ADD INDEX indexActivityVOLastOpDate (`lastOpDate`); +ALTER TABLE AutoScalingGroupInstanceVO DROP FOREIGN KEY fkAutoScalingGroupInstanceVOAutoScalingGroupActivityVO; diff --git a/conf/tools/flyway-6.3.1/sql/V3.8.11.1__schema.sql b/conf/tools/flyway-6.3.1/sql/V3.8.11.1__schema.sql new file mode 100644 index 00000000000..0c70791dfb6 --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V3.8.11.1__schema.sql @@ -0,0 +1,91 @@ +DELIMITER $$ +CREATE PROCEDURE getVirtualRouterUuidFromNicUuid(IN nicUuid VARCHAR(32), OUT virtualRouterUuid VARCHAR(32), OUT l3Type VARCHAR(128)) +BEGIN + DECLARE done INT DEFAULT FALSE; + DECLARE cur CURSOR FOR select nic1.vmInstanceUuid, l3.type from `zstack`.VmNicVO nic1, `zstack`.VmNicVO nic2, `zstack`.L3NetworkVO l3 where nic1.metaData in ('4', '5', '6', '7') and nic1.l3NetworkUuid = l3.uuid and nic1.l3NetworkUuid = nic2.l3NetworkUuid and nic2.uuid=nicUuid; + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; + OPEN cur; + read_loop: LOOP + fetch cur INTO virtualRouterUuid, l3Type; + IF done THEN + LEAVE read_loop; + END IF; + END LOOP; + CLOSE cur; + # work around a bug of mysql : jira.mariadb.org/browse/MDEV-4602 + SELECT CURTIME(); +END $$ +DELIMITER ; + +DELIMITER $$ +CREATE PROCEDURE insertVirtualRouterEipRefVO() +BEGIN + DECLARE eipUuid VARCHAR(32); + DECLARE vipUuid VARCHAR(32); + DECLARE nicUuid VARCHAR(32); + DECLARE virtualRouterUuid VARCHAR(32); + DECLARE l3Type VARCHAR(128); + DECLARE done INT DEFAULT FALSE; + DECLARE cur CURSOR FOR select eip.uuid, eip.vipUuid, eip.vmNicUuid from `zstack`.`EipVO` eip where eip.vmNicUuid is not NULL and eip.uuid not in (select eipUuid from `zstack`.`VirtualRouterEipRefVO`); + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; + OPEN cur; + read_loop: LOOP + FETCH cur INTO eipUuid, vipUuid, nicUuid; + IF done THEN + LEAVE read_loop; + END IF; + + SET virtualRouterUuid = NULL; + SET l3Type = NULL; + SELECT nicUuid; + CALL getVirtualRouterUuidFromNicUuid(nicUuid, virtualRouterUuid, l3Type); + IF virtualRouterUuid IS NOT NULL AND l3Type = 'L3VpcNetwork' THEN + INSERT IGNORE INTO `zstack`.VirtualRouterEipRefVO (eipUuid, virtualRouterVmUuid) values (eipUuid, virtualRouterUuid); + INSERT IGNORE INTO `zstack`.VirtualRouterVipVO (uuid, virtualRouterVmUuid) values (vipUuid, virtualRouterUuid); + END IF; + + END LOOP; + CLOSE cur; + SELECT CURTIME(); +END $$ +DELIMITER ; + +DELIMITER $$ +CREATE PROCEDURE insertVirtualRouterPortForwardingRuleRefVO() +BEGIN + DECLARE pfUuid VARCHAR(32); + DECLARE vipUuid VARCHAR(32); + DECLARE nicUuid VARCHAR(32); + DECLARE virtualRouterUuid VARCHAR(32); + DECLARE l3Type VARCHAR(128); + DECLARE done INT DEFAULT FALSE; + DECLARE cur CURSOR FOR select pf.uuid, pf.vipUuid, pf.vmNicUuid from `zstack`.PortForwardingRuleVO pf where pf.vmNicUuid is not NULL and pf.uuid not in (select uuid from `zstack`.VirtualRouterPortForwardingRuleRefVO); + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; + OPEN cur; + read_loop: LOOP + FETCH cur INTO pfUuid, vipUuid, nicUuid; + IF done THEN + LEAVE read_loop; + END IF; + + SET virtualRouterUuid = NULL; + SET l3Type = NULL; + SELECT nicUuid; + CALL getVirtualRouterUuidFromNicUuid(nicUuid, virtualRouterUuid, l3Type); + IF virtualRouterUuid IS NOT NULL AND l3Type = 'L3VpcNetwork' THEN + INSERT IGNORE INTO `zstack`.VirtualRouterPortForwardingRuleRefVO (uuid, vipUuid, virtualRouterVmUuid) values (pfUuid, vipUuid, virtualRouterUuid); + INSERT IGNORE INTO `zstack`.VirtualRouterVipVO (uuid, virtualRouterVmUuid) values (vipUuid, virtualRouterUuid); + END IF; + + END LOOP; + CLOSE cur; + SELECT CURTIME(); +END $$ +DELIMITER ; + +CALL insertVirtualRouterEipRefVO(); +CALL insertVirtualRouterPortForwardingRuleRefVO(); +update `zstack`.LoadBalancerListenerVmNicRefVO ref INNER JOIN `zstack`.VmNicVO nic on ref.vmNicUuid = nic.uuid INNER JOIN `zstack`.L3NetworkVO l3 on nic.l3NetworkUuid = l3.uuid set status = 'Active' where l3.type='L3VpcNetwork'; +DROP PROCEDURE IF EXISTS insertVirtualRouterPortForwardingRuleRefVO; +DROP PROCEDURE IF EXISTS insertVirtualRouterEipRefVO; +DROP PROCEDURE IF EXISTS getVirtualRouterUuidFromNicUuid; \ No newline at end of file diff --git a/conf/tools/flyway-6.3.1/sql/V3.8.14__schema.sql b/conf/tools/flyway-6.3.1/sql/V3.8.14__schema.sql new file mode 100644 index 00000000000..52501c5344e --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V3.8.14__schema.sql @@ -0,0 +1 @@ +UPDATE CloudFormationStackResourceRefVO AS t1, ApplianceVmVO AS t2 SET t1.reserve=true WHERE t1.resourceUuid=t2.uuid AND t2.applianceVmType IN ('vpcvrouter','vrouter'); \ No newline at end of file diff --git a/conf/tools/flyway-6.3.1/sql/V3.8.1__schema.sql b/conf/tools/flyway-6.3.1/sql/V3.8.1__schema.sql new file mode 100644 index 00000000000..e69de29bb2d diff --git a/conf/tools/flyway-6.3.1/sql/V3.8.3__schema.sql b/conf/tools/flyway-6.3.1/sql/V3.8.3__schema.sql new file mode 100644 index 00000000000..3ca13fa1062 --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V3.8.3__schema.sql @@ -0,0 +1,3 @@ +ALTER TABLE `zstack`.`VipVO` add column `system` tinyint unsigned NOT NULL DEFAULT 0; + +UPDATE ResourceVO SET resourceType = "PrimaryStorageVO", concreteResourceType = "org.zstack.storage.primary.sharedblock.SharedBlockGroupVO" WHERE resourceType = "SharedBlockGroupVO"; diff --git a/conf/tools/flyway-6.3.1/sql/V3.8.4__schema.sql b/conf/tools/flyway-6.3.1/sql/V3.8.4__schema.sql new file mode 100644 index 00000000000..b5e83b8e6ba --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V3.8.4__schema.sql @@ -0,0 +1,30 @@ +DROP PROCEDURE IF EXISTS addResourceConfigForVirtualRouter; +DELIMITER $$ +CREATE PROCEDURE addResourceConfigForVirtualRouter() +BEGIN + DECLARE virtualRouterUuid VARCHAR(32); + DECLARE ruuid VARCHAR(32); + DECLARE done INT DEFAULT FALSE; + DECLARE cur CURSOR FOR SELECT uuid FROM `zstack`.`VirtualRouterVmVO`; + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; + OPEN cur; + read_loop: LOOP + FETCH cur INTO virtualRouterUuid; + IF done THEN + LEAVE read_loop; + END IF; + + SET ruuid = REPLACE(UUID(), '-', ''); + INSERT INTO zstack.ResourceConfigVO (uuid, name, description, category, value, resourceUuid, resourceType, lastOpDate, createDate) + values(ruuid, "vm.ha.strategy", "vm.ha.strategy", "ha", "Force", virtualRouterUuid, "VmInstanceVO", CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP()); + + END LOOP; + CLOSE cur; + + # work around a bug of mysql : jira.mariadb.org/browse/MDEV-4602 + SELECT CURTIME(); +END $$ +DELIMITER ; + +CALL addResourceConfigForVirtualRouter(); +DROP PROCEDURE IF EXISTS addResourceConfigForVirtualRouter; \ No newline at end of file diff --git a/conf/tools/flyway-6.3.1/sql/V3.8.6__schema.sql b/conf/tools/flyway-6.3.1/sql/V3.8.6__schema.sql new file mode 100644 index 00000000000..a4944177de8 --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V3.8.6__schema.sql @@ -0,0 +1,5 @@ +ALTER TABLE `VolumeEO` ADD INDEX idxDeleted (`deleted`); +ALTER TABLE `VmInstanceEO` ADD INDEX idxDeleted (`deleted`); +ALTER TABLE `ImageEO` ADD INDEX idxDeleted (`deleted`); +ALTER TABLE `VolumeSnapshotEO` ADD INDEX idxDeleted (`deleted`); +ALTER TABLE `InstanceOfferingEO` ADD INDEX idxDeleted (`deleted`); \ No newline at end of file diff --git a/conf/tools/flyway-6.3.1/sql/V3.9.0.1__schema.sql b/conf/tools/flyway-6.3.1/sql/V3.9.0.1__schema.sql new file mode 100644 index 00000000000..69da85d9e8b --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V3.9.0.1__schema.sql @@ -0,0 +1,31 @@ +CREATE TABLE IF NOT EXISTS `zstack`.`ExternalBackupVO` ( + `uuid` VARCHAR(32) NOT NULL, + `name` VARCHAR(256) NOT NULL, + `description` VARCHAR(1024) DEFAULT NULL, + `type` VARCHAR(32) NOT NULL, + `installPath` VARCHAR(2048) DEFAULT NULL, + `totalSize` BIGINT UNSIGNED, + `version` VARCHAR(32) NOT NULL, + `state` VARCHAR(32) NOT NULL, + `lastOpDate` TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `createDate` TIMESTAMP, + + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`ExternalBackupMetadataVO` ( + `uuid` VARCHAR(32) NOT NULL, + `metadata` TEXT DEFAULT NULL, + + PRIMARY KEY (`uuid`), + CONSTRAINT `fkExternalBackupMetadataVOExternalBackupVO` FOREIGN KEY (`uuid`) REFERENCES `zstack`.`ExternalBackupVO` (`uuid`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`ZBoxBackupVO` ( + `uuid` VARCHAR(32) NOT NULL, + `zBoxUuid` VARCHAR(32) NOT NULL, + PRIMARY KEY (`uuid`), + UNIQUE KEY `uuid` (`uuid`) USING BTREE, + CONSTRAINT `fkZBoxBackupVOExternalBackupVO` FOREIGN KEY (`uuid`) REFERENCES `zstack`.`ExternalBackupVO` (`uuid`) ON DELETE CASCADE, + CONSTRAINT `fkZBoxBackupVOZBoxVO` FOREIGN KEY (`zBoxUuid`) REFERENCES `zstack`.`ZBoxVO` (`uuid`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; \ No newline at end of file diff --git a/conf/tools/flyway-6.3.1/sql/V3.9.0.2__schema.sql b/conf/tools/flyway-6.3.1/sql/V3.9.0.2__schema.sql new file mode 100644 index 00000000000..19b8f8e2eda --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V3.9.0.2__schema.sql @@ -0,0 +1,66 @@ + +CREATE TABLE IF NOT EXISTS `zstack`.`FaultToleranceVmGroupVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `primaryVmInstanceUuid` varchar(32), + `secondaryVmInstanceUuid` varchar(32), + `status` varchar(32) NOT NULL, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`CacheVolumeRefVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `volumeUuid` varchar(32) NOT NULL, + `backingVolumeUuid` varchar(32) NOT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`id`), + KEY `volumeUuid` (`volumeUuid`), + CONSTRAINT `fkCacheVolumeRefVOVolumeEO` FOREIGN KEY (`volumeUuid`) REFERENCES `zstack`.`VolumeEO` (`uuid`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`FaultToleranceVmInstanceGroupHostPortRefVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `vmInstanceUuid` varchar(32) NOT NULL, + `nbdServerPortId` bigint unsigned NOT NULL, + `blockReplicationPortId` bigint unsigned NOT NULL, + `primaryVmMonitorPortId` bigint unsigned NOT NULL, + `secondaryVmMonitorPortId` bigint unsigned NOT NULL, + `reservedVmMigrationPortId` bigint unsigned DEFAULT 0, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`id`), + KEY `vmInstanceUuid` (`vmInstanceUuid`), + CONSTRAINT `fkShadowVmInstanceHostPortRefVOVmInstanceEO` FOREIGN KEY (`vmInstanceUuid`) REFERENCES `VmInstanceEO` (`uuid`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`VmInstanceVmNicRedirectPortRefVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `vmInstanceUuid` varchar(32) NOT NULL, + `mirrorPortId` bigint unsigned NOT NULL, + `primaryInPortId` bigint unsigned NOT NULL, + `secondaryInPortId` bigint unsigned NOT NULL, + `primaryOutPortId` bigint unsigned NOT NULL, + `vmNicUuid` varchar(32) DEFAULT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`id`), + KEY `vmInstanceUuid` (`vmInstanceUuid`), + KEY `vmNicUuid` (`vmNicUuid`), + CONSTRAINT `fkVmInstanceVmNicRedirectPortRefVOVmInstanceEO` FOREIGN KEY (`vmInstanceUuid`) REFERENCES `VmInstanceEO` (`uuid`) ON DELETE CASCADE, + CONSTRAINT `fkVmInstanceVmNicRedirectPortRefVOVmNicVO` FOREIGN KEY (`vmNicUuid`) REFERENCES `VmNicVO` (`uuid`) ON DELETE SET NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`HostPortVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `hostUuid` varchar(32) NOT NULL, + `port` int unsigned DEFAULT NULL, + `portUsage` varchar(128) NOT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`id`), + KEY `hostUuid` (`hostUuid`), + CONSTRAINT `fkHostPortVOHostEO` FOREIGN KEY (`hostUuid`) REFERENCES HostEO (`uuid`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +DELETE ref1 FROM ImageBackupStorageRefVO ref1 INNER JOIN ImageBackupStorageRefVO ref2 WHERE ref1.imageUuid = ref2.imageUuid + AND ref1.backupStorageUuid = ref2.backupStorageUuid AND ref1.id < ref2.id; \ No newline at end of file diff --git a/conf/tools/flyway-6.3.1/sql/V3.9.0__schema.sql b/conf/tools/flyway-6.3.1/sql/V3.9.0__schema.sql new file mode 100644 index 00000000000..1e5b70e9de5 --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V3.9.0__schema.sql @@ -0,0 +1,430 @@ +ALTER TABLE JsonLabelVO MODIFY COLUMN labelValue MEDIUMTEXT; +CREATE INDEX idxTaskProgressVOapiId ON TaskProgressVO(apiId); + +SET FOREIGN_KEY_CHECKS = 0; +DROP TABLE DahoVllVbrRefVO; +DROP TABLE DahoCloudConnectionVO; +DROP TABLE DahoVllsVO; +DROP TABLE DahoConnectionVO; +DROP TABLE DahoDCAccessVO; + +SET FOREIGN_KEY_CHECKS = 1; + +ALTER TABLE ImageBackupStorageRefVO ADD COLUMN exportMd5Sum VARCHAR(255) DEFAULT NULL; +ALTER TABLE ImageBackupStorageRefVO ADD COLUMN exportUrl VARCHAR(2048) DEFAULT NULL; +UPDATE ImageBackupStorageRefVO ibs, ImageVO i SET ibs.exportMd5Sum = i.exportMd5Sum, ibs.exportUrl = i.exportUrl WHERE ibs.imageUuid = i.uuid; +DROP VIEW IF EXISTS `zstack`.`ImageVO`; +CREATE VIEW `zstack`.`ImageVO` AS SELECT uuid, name, description, status, state, size, actualSize, md5Sum, platform, type, format, url, `system`, mediaType, createDate, lastOpDate, guestOsType FROM `zstack`.`ImageEO` WHERE deleted IS NULL; +ALTER TABLE ImageEO DROP exportMd5Sum, DROP exportUrl; + +ALTER TABLE `zstack`.`PolicyRouteRuleSetVO` ADD COLUMN type VARCHAR(64) DEFAULT "User" NOT NULL; +ALTER TABLE `zstack`.`PolicyRouteTableVO` ADD COLUMN type VARCHAR(64) DEFAULT "User" NOT NULL; + +ALTER TABLE `zstack`.`VmNicVO` ADD COLUMN `driverType` varchar(64) DEFAULT NULL; + +ALTER TABLE `zstack`.`AutoScalingGroupInstanceVO` ADD COLUMN protectionStrategy VARCHAR(128) DEFAULT "Unprotected" NOT NULL; +ALTER TABLE `zstack`.`AutoScalingGroupInstanceVO` MODIFY COLUMN `protectionStrategy` VARCHAR(128) NOT NULL; +CREATE TABLE IF NOT EXISTS `zstack`.`ZBoxVO` ( + `uuid` VARCHAR(32) NOT NULL, + `name` VARCHAR(256) NOT NULL, + `description` VARCHAR(2048) DEFAULT NULL, + `state` VARCHAR(32) NOT NULL, + `status` VARCHAR(32) NOT NULL, + `mountPath` VARCHAR(2048) DEFAULT NULL, + `totalCapacity` BIGINT UNSIGNED, + `availableCapacity` BIGINT UNSIGNED, + `busNum` varchar(32) DEFAULT NULL, + `devNum` varchar(32) DEFAULT NULL, + `idVendor` varchar(32) DEFAULT NULL, + `idProduct` varchar(32) DEFAULT NULL, + `iManufacturer` varchar(1024) DEFAULT NULL, + `iProduct` varchar(1024) DEFAULT NULL, + `iSerial` varchar(32) DEFAULT NULL, + `usbVersion` varchar(32) DEFAULT NULL, + `lastOpDate` TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `createDate` TIMESTAMP, + + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`ZBoxLocationRefVO` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `zboxUuid` VARCHAR(32) NOT NULL, + `resourceUuid` VARCHAR(32) NOT NULL, + `resourceType` VARCHAR(256) NOT NULL, + + PRIMARY KEY (`id`), + CONSTRAINT `fkZBoxLocationRefVOZBoxVO` FOREIGN KEY (`zboxUuid`) REFERENCES `zstack`.`ZBoxVO` (`uuid`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `AppBuildSystemVO` ( + `uuid` VARCHAR(32) NOT NULL UNIQUE, + `name` VARCHAR(255) NOT NULL, + `description` VARCHAR(2048) DEFAULT NULL, + `storageType` VARCHAR(32) NOT NULL, + `url` VARCHAR(1024) NOT NULL, + `hostname` VARCHAR(255) NOT NULL, + `username` VARCHAR(255) NOT NULL, + `password` VARCHAR(255) NOT NULL, + `sshPort` int unsigned NOT NULL, + `status` varchar(32) NOT NULL, + `state` varchar(32) NOT NULL, + `totalCapacity` bigint unsigned DEFAULT 0, + `availableCapacity` bigint unsigned DEFAULT 0, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `AppBuildSystemZoneRefVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `buildSystemUuid` varchar(32) NOT NULL, + `zoneUuid` varchar(32) NOT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`id`), + CONSTRAINT `fkAppBuildSystemZoneRefVOZoneEO` FOREIGN KEY (`zoneUuid`) REFERENCES ZoneEO (`uuid`) ON DELETE CASCADE, + CONSTRAINT `fkAppBuildSystemZoneRefVOAppBuildSystemVO` FOREIGN KEY (`buildSystemUuid`) REFERENCES AppBuildSystemVO (`uuid`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `BuildApplicationVO` ( + `uuid` VARCHAR(32) NOT NULL UNIQUE, + `name` VARCHAR(255) NOT NULL, + `description` VARCHAR(2048) DEFAULT NULL, + `buildSystemUuid` varchar(32) DEFAULT NULL, + `templateContent` mediumtext NOT NULL, + `appMetaData` mediumtext NOT NULL, + `appId` varchar(255) NOT NULL, + `version` varchar(127) NOT NULL, + `installPath` varchar(1024) DEFAULT NULL, + `status` varchar(32) NOT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`), + CONSTRAINT `fkBuildApplicationVOAppBuildSystemVO` FOREIGN KEY (`buildSystemUuid`) REFERENCES AppBuildSystemVO (`uuid`) ON DELETE RESTRICT +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `BuildAppExportHistoryVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `buildAppUuid` VARCHAR(32) NOT NULL, + `name` VARCHAR(255) DEFAULT NULL, + `path` VARCHAR(2048) DEFAULT NULL, + `size` bigint unsigned DEFAULT 0, + `md5Sum` varchar(255) NOT NULL, + `version` varchar(127) NOT NULL, + `status` varchar(32) NOT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE INDEX idxBuildAppExportHistoryVObuildAppUuid ON BuildAppExportHistoryVO (buildAppUuid); +CREATE INDEX idxBuildAppExportHistoryVOname ON BuildAppExportHistoryVO (name); + +CREATE TABLE IF NOT EXISTS `BuildAppImageRefVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `imageUuid` varchar(32) NOT NULL, + `imageName` varchar(255) NOT NULL, + `buildAppUuid` varchar(32) NOT NULL, + `backupStorageUuid` varchar(32) NOT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`id`), + CONSTRAINT `fkBuildAppImageRefVOImageVO` FOREIGN KEY (`imageUuid`) REFERENCES ImageEO (`uuid`) ON DELETE RESTRICT, + CONSTRAINT `fkBuildAppImageRefVOBackupStorageEO` FOREIGN KEY (`backupStorageUuid`) REFERENCES BackupStorageEO (`uuid`) ON DELETE RESTRICT, + CONSTRAINT `fkBuildAppImageRefVOBuildApplicationVO` FOREIGN KEY (`buildAppUuid`) REFERENCES BuildApplicationVO (`uuid`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `PublishAppVO` ( + `uuid` VARCHAR(32) NOT NULL UNIQUE, + `name` VARCHAR(255) NOT NULL, + `description` VARCHAR(2048) DEFAULT NULL, + `buildAppUuid` varchar(32) DEFAULT NULL, + `templateContent` mediumtext NOT NULL, + `appMetaData` mediumtext NOT NULL, + `preParams` text DEFAULT NULL, + `appId` varchar(255) NOT NULL, + `version` varchar(127) NOT NULL, + `type` varchar(32) NOT NULL, + `status` varchar(32) NOT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`), + CONSTRAINT `fkPublishAppVOBuildApplicationVO` FOREIGN KEY (`buildAppUuid`) REFERENCES BuildApplicationVO (`uuid`) ON DELETE SET NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `PublishAppResourceRefVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `appUuid` VARCHAR(32) NOT NULL, + `resourceUuid` VARCHAR(32) NOT NULL, + `resourceType` VARCHAR(255) NOT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + CONSTRAINT `fkPublishAppResourceRefVOPublishAppVO` FOREIGN KEY (`appUuid`) REFERENCES PublishAppVO (`uuid`) ON DELETE CASCADE, + CONSTRAINT `fkPublishAppResourceRefVOResourceVO` FOREIGN KEY (`resourceUuid`) REFERENCES ResourceVO (`uuid`) ON DELETE CASCADE, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +ALTER TABLE CloudFormationStackResourceRefVO ADD COLUMN resourceName VARCHAR(255) DEFAULT NULL; + +ALTER TABLE PublishAppVO ADD COLUMN vmRelationship text DEFAULT NULL; + +CREATE TABLE IF NOT EXISTS `ResourceStackVmPortRefVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `stackUuid` VARCHAR(32) NOT NULL, + `vmInstanceUuid` VARCHAR(32) NOT NULL, + `port` int unsigned NOT NULL, + `status` VARCHAR(64) NOT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + CONSTRAINT `fkResourceStackVmPortRefVOResourceStackVO` FOREIGN KEY (`stackUuid`) REFERENCES ResourceStackVO (`uuid`) ON DELETE CASCADE, + CONSTRAINT `fkResourceStackVmPortRefVOVmInstanceVO` FOREIGN KEY (`vmInstanceUuid`) REFERENCES VmInstanceEO (`uuid`) ON DELETE CASCADE, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +ALTER TABLE ResourceStackVO ADD COLUMN outputs text DEFAULT NULL; + +CREATE TABLE IF NOT EXISTS `zstack`.`AccessControlListVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `name` varchar(255) NOT NULL, + `ipVersion` int(10) unsigned DEFAULT 4, + `description` varchar(2048) DEFAULT NULL, + `createDate` timestamp not null default '0000-00-00 00:00:00', + `lastOpDate` timestamp not null default '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`AccessControlListEntryVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `aclUuid` varchar(32) NOT NULL, + `ipEntries` varchar(2048) NOT NULL, + `description` varchar(2048) DEFAULT NULL, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`uuid`), + KEY `fkACLRuleVOAccessControlListVO` (`aclUuid`), + CONSTRAINT `fkACLRuleVOAccessControlListVO` FOREIGN KEY (`aclUuid`) REFERENCES `AccessControlListVO` (`uuid`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`LoadBalancerListenerACLRefVO` ( + `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, + `aclUuid` varchar(32) NOT NULL, + `listenerUuid` varchar(32) NOT NULL, + `type` varchar(32) NOT NULL, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`id`), + UNIQUE KEY `id` (`id`) USING BTREE, + KEY `fkLoadbalancerListenerACLRefVOLoadBalancerListenerVO` (`listenerUuid`) USING BTREE, + KEY `fkLoadbalancerListenerACLRefVOAccessControlListVO` (`aclUuid`) USING BTREE, + CONSTRAINT `fkLoadbalancerListenerACLRefVOLoadBalancerListenerVO` FOREIGN KEY (`listenerUuid`) REFERENCES `LoadBalancerListenerVO` (`uuid`) ON DELETE RESTRICT, + CONSTRAINT `fkLoadbalancerListenerACLRefVOAccessControlListVO` FOREIGN KEY (`aclUuid`) REFERENCES `AccessControlListVO` (`uuid`) ON DELETE RESTRICT +) ENGINE=InnoDB AUTO_INCREMENT=50 DEFAULT CHARSET=utf8; + +ALTER TABLE V2VConversionHostVO ADD COLUMN totalSize bigint unsigned NOT NULL DEFAULT 0; +ALTER TABLE V2VConversionHostVO ADD COLUMN availableSize bigint unsigned NOT NULL DEFAULT 0; +drop table AvailableInstanceTypesVO; + +CREATE TABLE `zstack`.`NormalIpRangeVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +ALTER TABLE `zstack`.`NormalIpRangeVO` ADD CONSTRAINT fkNormalIpRangeVOIpRangeEO FOREIGN KEY (uuid) REFERENCES `zstack`.`IpRangeEO` (uuid) ON UPDATE RESTRICT ON DELETE CASCADE; + +CREATE TABLE `zstack`.`AddressPoolVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +ALTER TABLE `zstack`.`AddressPoolVO` ADD CONSTRAINT fkAddressPoolVOIpRangeEO FOREIGN KEY (uuid) REFERENCES `zstack`.`IpRangeEO` (uuid) ON UPDATE RESTRICT ON DELETE CASCADE; + +DELIMITER $$ +CREATE PROCEDURE generateNormalpRangeVO() +BEGIN + DECLARE ipRangeUuid VARCHAR(32); + DECLARE done INT DEFAULT FALSE; + DECLARE cur CURSOR FOR SELECT uuid FROM `zstack`.`IpRangeVO`; + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; + OPEN cur; + read_loop: LOOP + FETCH cur INTO ipRangeUuid; + IF done THEN + LEAVE read_loop; + END IF; + + INSERT INTO zstack.NormalIpRangeVO (uuid) values(ipRangeUuid); + + END LOOP; + CLOSE cur; +END $$ +DELIMITER ; + +CALL generateNormalpRangeVO(); +DROP PROCEDURE IF EXISTS generateNormalpRangeVO; + +alter table AliyunProxyVpcVO modify vpcName varchar(128) not null; +alter table AliyunProxyVpcVO drop foreign key fkAliyunProxyVpcVOVmInstanceEO; +alter table AliyunProxyVpcVO add constraint fkAliyunProxyVpcVOVmInstanceEO foreign key (vRouterUuid) references VmInstanceEO (uuid); +alter table AliyunProxyVSwitchVO add constraint primary key (uuid); +alter table AliyunProxyVSwitchVO drop foreign key fkAliyunProxyVSwitchVOAliyunProxyVpcVO; +alter table AliyunProxyVSwitchVO add constraint fkAliyunProxyVSwitchVOAliyunProxyVpcVO foreign key (aliyunProxyVpcUuid) references AliyunProxyVpcVO (uuid); +alter table AliyunProxyVSwitchVO drop foreign key fkAliyunProxyVSwitchVOL3NetworkEO; +alter table AliyunProxyVSwitchVO add constraint fkAliyunProxyVSwitchVOL3NetworkEO foreign key (vpcL3NetworkUuid) references L3NetworkEO (uuid); + +-- flat network supports LB service +DELIMITER $$ +CREATE PROCEDURE addLBServiceToPrivateBasicNetwork() +BEGIN + DECLARE l3Uuid VARCHAR(32); + DECLARE vRouterProviderUuid VARCHAR(32); + DECLARE done INT DEFAULT FALSE; + DECLARE cur CURSOR FOR SELECT l3.uuid + FROM L3NetworkEO l3 + LEFT JOIN NetworkServiceL3NetworkRefVO ref ON (l3.uuid = ref.l3NetworkUuid AND ref.networkServiceType = 'LoadBalancer') + LEFT JOIN L2NetworkClusterRefVO lcRef ON (lcRef.l2NetworkUuid = l3.l2NetworkUuid) + LEFT JOIN ClusterEO cluster ON (lcRef.clusterUuid = cluster.uuid) + WHERE l3.category = 'Private' AND l3.type = 'L3BasicNetwork' AND ref.networkServiceType IS NULL + AND (cluster.type = 'zstack' OR lcRef.l2NetworkUuid IS NULL); + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; + OPEN cur; + read_loop: LOOP + FETCH cur INTO l3Uuid; + IF done THEN + LEAVE read_loop; + END IF; + SELECT uuid INTO vRouterProviderUuid FROM zstack.NetworkServiceProviderVO WHERE type = 'vrouter'; + INSERT INTO NetworkServiceL3NetworkRefVO (`l3NetworkUuid`, `networkServiceProviderUuid`, `networkServiceType`) + VALUES (l3Uuid, vRouterProviderUuid, 'LoadBalancer'); + END LOOP; + CLOSE cur; +END $$ +DELIMITER ; + +CALL addLBServiceToPrivateBasicNetwork(); +DROP PROCEDURE IF EXISTS addLBServiceToPrivateBasicNetwork; + +ALTER TABLE `zstack`.`VCenterClusterVO` ADD COLUMN `dataCenterUuid` varchar(32) DEFAULT NULL; +ALTER TABLE `zstack`.`VCenterClusterVO` ADD CONSTRAINT fkVCenterDataCenterVOVCenterClusterVO FOREIGN KEY (dataCenterUuid) REFERENCES VCenterDatacenterVO (uuid) ON DELETE CASCADE ; +ALTER TABLE `zstack`.`VCenterVO` ADD COLUMN `version` varchar(32) DEFAULT NULL; + +ALTER TABLE `zstack`.`VmNicVO` ADD COLUMN `type` varchar(32) DEFAULT 'VNIC'; + +CREATE TABLE IF NOT EXISTS `zstack`.`VmVfNicVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `pciDeviceUuid` varchar(32) DEFAULT NULL, + PRIMARY KEY (`uuid`), + CONSTRAINT `fkVmVfNicVOPciDeviceVO` FOREIGN KEY (`pciDeviceUuid`) REFERENCES `zstack`.`PciDeviceVO` (`uuid`) ON DELETE SET NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`HostNetworkBondingVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `hostUuid` varchar(32) NOT NULL, + `bondingName` varchar(128) NOT NULL, + `mode` varchar(32) NOT NULL, + `xmitHashPolicy` varchar(32) DEFAULT NULL, + `miiStatus` varchar(32) DEFAULT NULL, + `miimon` BIGINT UNSIGNED DEFAULT NULL, + `mac` varchar(17) DEFAULT NULL, + `ipAddresses` varchar(255) DEFAULT NULL, + `allSlavesActive` tinyint(1) UNSIGNED NOT NULL DEFAULT 0, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`), + INDEX `idxHostNetworkBondingVOhostUuid` (`hostUuid`), + CONSTRAINT `fkHostNetworkBondingVOHostVO` FOREIGN KEY (`hostUuid`) REFERENCES `zstack`.`HostEO` (`uuid`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`HostNetworkInterfaceVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `hostUuid` varchar(32) NOT NULL, + `bondingUuid` varchar(32) DEFAULT NULL, + `interfaceName` varchar(32) NOT NULL, + `interfaceType` varchar(32) NOT NULL, + `mac` varchar(17) DEFAULT NULL, + `speed` BIGINT UNSIGNED DEFAULT NULL, + `ipAddresses` varchar(255) DEFAULT NULL, + `pciDeviceAddress` varchar(32) DEFAULT NULL, + `slaveActive` tinyint(1) UNSIGNED NOT NULL DEFAULT 0, + `carrierActive` tinyint(1) UNSIGNED NOT NULL DEFAULT 0, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`), + INDEX `idxHostNetworkInterfaceVOhostUuid` (`hostUuid`), + INDEX `idxHostNetworkInterfaceVObondingUuid` (`bondingUuid`), + CONSTRAINT `fkHostNetworkInterfaceVOHostVO` FOREIGN KEY (`hostUuid`) REFERENCES `zstack`.`HostEO` (`uuid`) ON DELETE CASCADE, + CONSTRAINT `fkHostNetworkInterfaceVOHostNetworkBondingVO` FOREIGN KEY (`bondingUuid`) REFERENCES `zstack`.`HostNetworkBondingVO` (`uuid`) ON DELETE SET NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +ALTER TABLE `zstack`.`SchedulerJobHistoryVO` CHANGE COLUMN `startTime` `startTime` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP; +ALTER TABLE `zstack`.`SchedulerJobHistoryVO` ADD COLUMN jobType VARCHAR(255) DEFAULT NULL; +ALTER TABLE `zstack`.`SchedulerJobHistoryVO` ADD COLUMN fireInstanceId VARCHAR(32) DEFAULT NULL; +ALTER TABLE `zstack`.`SchedulerJobHistoryVO` ADD INDEX idxSchedulerJobHistoryVOStartTime (`startTime`); +ALTER TABLE `zstack`.`SchedulerJobHistoryVO` ADD INDEX idxSchedulerJobHistoryVOFireInstanceId (`fireInstanceId`); + +UPDATE `zstack`.`SchedulerJobGroupVO` SET `jobClassName` = 'org.zstack.storage.backup.CreateRootVolumeBackupJob' WHERE `jobType` = 'rootVolumeBackup'; +UPDATE `zstack`.`SchedulerJobVO` job, `zstack`.`SchedulerJobGroupVO` jobGroup, `zstack`.`SchedulerJobGroupJobRefVO` ref +SET job.`jobClassName` = 'org.zstack.storage.backup.CreateRootVolumeBackupJob' +WHERE jobGroup.jobType = 'rootVolumeBackup' AND ref.schedulerJobGroupUuid = jobGroup.uuid AND ref.schedulerJobUuid = job.uuid; + +alter table HybridAccountVO + drop foreign key fkHybridAccountVOAccountVO; +alter table HybridAccountVO + drop index uniqAccountUuid; +alter table HybridAccountVO + add constraint uniqAccountUuid unique (accountUuid, akey, type); +alter table HybridAccountVO + add constraint fkHybridAccountVOAccountVO foreign key (accountUuid) references AccountVO (uuid); + +UPDATE AlarmVO SET period = 60 WHERE uuid = "65e8f1a4892231b692cc7a881581f3da" and period != 60; + +CREATE TABLE IF NOT EXISTS `zstack`.`MetricDataHttpReceiverVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `name` varchar(256) NOT NULL, + `url` varchar(256) NOT NULL, + `state` VARCHAR(128) NOT NUll, + `description` VARCHAR(2048) DEFAULT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`MetricTemplateVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `receiverUuid` varchar(32) NOT NULL, + `template` varchar(4096) NOT NULL, + `namespace` varchar(64) NOT NULL, + `metricName` varchar(128) NOT NULL, + `labelsJsonStr` varchar(256) DEFAULT NULL, + `description` VARCHAR(2048) DEFAULT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`), + CONSTRAINT `fkMetricTemplateVOMetricDataHttpReceiverVO` FOREIGN KEY (`receiverUuid`) REFERENCES `zstack`.`MetricDataHttpReceiverVO` (`uuid`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +DELIMITER $$ +CREATE PROCEDURE enableVnicMultipleQueuesForVirtualRouter() +BEGIN + DECLARE virtualRouterUuid VARCHAR(32); + DECLARE ruuid VARCHAR(32); + DECLARE done INT DEFAULT FALSE; + DECLARE cur CURSOR FOR SELECT uuid FROM `zstack`.`VirtualRouterVmVO`; + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; + OPEN cur; + read_loop: LOOP + FETCH cur INTO virtualRouterUuid; + IF done THEN + LEAVE read_loop; + END IF; + #create resource config + SET ruuid = REPLACE(UUID(), '-', ''); + INSERT INTO zstack.ResourceConfigVO (uuid, name, description, category, value, resourceUuid, resourceType, lastOpDate, createDate) + values(ruuid, "nicMultiQueueNum", "nicMultiQueueNum", "vm", "4", virtualRouterUuid, "VmInstanceVO", CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP()); + END LOOP; + CLOSE cur; +END $$ +DELIMITER ; + +CALL enableVnicMultipleQueuesForVirtualRouter(); +DROP PROCEDURE IF EXISTS enableVnicMultipleQueuesForVirtualRouter; + +DELETE FROM `zstack`.`ResourceVO` where uuid in (select uuid from GarbageCollectorVO where runnerClass='org.zstack.vpc.ha.VpcHaGroupGcJob'); +DELETE FROM `zstack`.`GarbageCollectorVO` where runnerClass='org.zstack.vpc.ha.VpcHaGroupGcJob'; \ No newline at end of file diff --git a/conf/tools/flyway-6.3.1/sql/V3.9.1__schema.sql b/conf/tools/flyway-6.3.1/sql/V3.9.1__schema.sql new file mode 100644 index 00000000000..02976f9e67c --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V3.9.1__schema.sql @@ -0,0 +1,6 @@ +DELETE FROM ResourceConfigVO WHERE (resourceUuid,category,name) IN +(SELECT a.resourceUuid,a.category,a.name FROM (SELECT resourceUuid,category,name from ResourceConfigVO GROUP BY resourceUuid,category,name HAVING count(uuid)>1) a) +AND uuid NOT IN (SELECT b.uuid FROM (SELECT uuid uuid FROM ResourceConfigVO GROUP BY resourceUuid,category,name HAVING count(uuid)>1) b); + +-- add unique index cleanup duplicate records in ResourceConfigVO +ALTER TABLE ResourceConfigVO ADD UNIQUE INDEX (resourceUuid, category, name); diff --git a/conf/tools/flyway-6.3.1/sql/V4.0.0__schema.sql b/conf/tools/flyway-6.3.1/sql/V4.0.0__schema.sql new file mode 100644 index 00000000000..71590840d9f --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V4.0.0__schema.sql @@ -0,0 +1,950 @@ +ALTER TABLE `zstack`.`TicketStatusHistoryVO` ADD COLUMN `sequence` INT; +ALTER TABLE `zstack`.`ArchiveTicketStatusHistoryVO` ADD COLUMN `sequence` INT; + +DROP PROCEDURE IF EXISTS updateTicketStatusHistoryVO; + +DELIMITER $$ +CREATE PROCEDURE updateTicketStatusHistoryVO() +BEGIN + DECLARE sequence INT; + DECLARE uuid VARCHAR(32); + DECLARE done INT DEFAULT FALSE; + DECLARE loopCount INT DEFAULT 1; + DECLARE cur CURSOR FOR SELECT history.sequence,history.uuid FROM `zstack`.`TicketStatusHistoryVO` history WHERE history.fromStatus != 'FinalApproved' ORDER BY history.createDate,history.operationContextType; + DECLARE extra_cur CURSOR FOR SELECT history.sequence,history.uuid FROM `zstack`.`TicketStatusHistoryVO` history WHERE history.fromStatus = 'FinalApproved' ORDER BY history.createDate,history.operationContextType; + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; + + OPEN cur; + update_loop: LOOP + FETCH cur INTO sequence,uuid; + IF done THEN + LEAVE update_loop; + END IF; + + UPDATE `zstack`.`TicketStatusHistoryVO` history SET history.sequence = loopCount WHERE history.uuid = uuid; + SET loopCount = loopCount + 1; + END LOOP; + CLOSE cur; + + SET done = FALSE; + OPEN extra_cur; + extra_loop: LOOP + FETCH extra_cur INTO sequence,uuid; + IF done THEN + LEAVE extra_loop; + END IF; + + UPDATE `zstack`.`TicketStatusHistoryVO` history SET history.sequence = loopCount WHERE history.uuid = uuid; + SET loopCount = loopCount + 1; + END LOOP; + CLOSE extra_cur; + +END $$ +DELIMITER ; + +DROP PROCEDURE IF EXISTS updateArchiveTicketStatusHistoryVO; + +DELIMITER $$ +CREATE PROCEDURE updateArchiveTicketStatusHistoryVO() +BEGIN + DECLARE sequence INT; + DECLARE uuid VARCHAR(32); + DECLARE done INT DEFAULT FALSE; + DECLARE loopCount INT DEFAULT 1; + DECLARE cur CURSOR FOR SELECT history.sequence,history.uuid FROM `zstack`.`ArchiveTicketStatusHistoryVO` history WHERE history.fromStatus != 'FinalApproved' ORDER BY history.createDate,history.operationContextType; + DECLARE extra_cur CURSOR FOR SELECT history.sequence,history.uuid FROM `zstack`.`ArchiveTicketStatusHistoryVO` history WHERE history.fromStatus = 'FinalApproved' ORDER BY history.createDate,history.operationContextType; + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; + + OPEN cur; + update_loop: LOOP + FETCH cur INTO sequence,uuid; + IF done THEN + LEAVE update_loop; + END IF; + + UPDATE `zstack`.`ArchiveTicketStatusHistoryVO` history SET history.sequence = loopCount WHERE history.uuid = uuid; + SET loopCount = loopCount + 1; + END LOOP; + CLOSE cur; + + SET done = FALSE; + OPEN extra_cur; + extra_loop: LOOP + FETCH extra_cur INTO sequence,uuid; + IF done THEN + LEAVE extra_loop; + END IF; + + UPDATE `zstack`.`ArchiveTicketStatusHistoryVO` history SET history.sequence = loopCount WHERE history.uuid = uuid; + SET loopCount = loopCount + 1; + END LOOP; + CLOSE extra_cur; + +END $$ +DELIMITER ; + +call updateTicketStatusHistoryVO(); +DROP PROCEDURE IF EXISTS updateTicketStatusHistoryVO; +call updateArchiveTicketStatusHistoryVO(); +DROP PROCEDURE IF EXISTS updateArchiveTicketStatusHistoryVO; + +ALTER TABLE `zstack`.`TicketStatusHistoryVO` CHANGE sequence sequence INT AUTO_INCREMENT UNIQUE; +ALTER TABLE `zstack`.`ArchiveTicketStatusHistoryVO` CHANGE sequence sequence INT AUTO_INCREMENT UNIQUE; + +CREATE TABLE IF NOT EXISTS `zstack`.`VpcFirewallIpSetTemplateVO` +( + `uuid` varchar(32) NOT NULL, + `name` varchar(255) NOT NULL, + `sourceValue` varchar(2048) DEFAULT NULL, + `destValue` varchar(2048) DEFAULT NULL, + `type` varchar(255) NOT NULL, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`uuid`), + UNIQUE KEY `uuid` (`uuid`) USING BTREE +) ENGINE = InnoDB + DEFAULT CHARSET = utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`VpcFirewallRuleTemplateVO` +( + `uuid` varchar(32) NOT NULL, + `action` varchar(255) NOT NULL, + `name` varchar(255) NOT NULL, + `protocol` varchar(255) DEFAULT NULL, + `sourcePort` varchar(255) DEFAULT NULL, + `destPort` varchar(255) DEFAULT NULL, + `sourceIp` varchar(2048) DEFAULT NULL, + `destIp` varchar(2048) DEFAULT NULL, + `ruleNumber` int(10) NOT NULL, + `icmpTypeName` varchar(255) DEFAULT NULL, + `allowStates` varchar(255) DEFAULT NULL, + `tcpFlag` varchar(255) DEFAULT NULL, + `enableLog` tinyint(1) NOT NULL DEFAULT '0', + `state` varchar(32) NOT NULL DEFAULT '0', + `isDefault` tinyint(1) NOT NULL DEFAULT '0', + `description` varchar(2048) DEFAULT NULL, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`uuid`), + UNIQUE KEY `uuid` (`uuid`) USING BTREE +) ENGINE = InnoDB + DEFAULT CHARSET = utf8; + +ALTER TABLE `zstack`.`VpcFirewallRuleSetVO` ADD COLUMN `isApplied` boolean NOT NULL DEFAULT TRUE; +ALTER TABLE `zstack`.`VpcFirewallRuleSetVO` MODIFY `actionType` varchar(255) DEFAULT NULL; +ALTER TABLE `zstack`.`VpcFirewallRuleVO` ADD COLUMN `isApplied` boolean NOT NULL DEFAULT TRUE; +ALTER TABLE `zstack`.`VpcFirewallRuleVO` ADD COLUMN `expired` boolean NOT NULL DEFAULT FALSE; + +ALTER TABLE `zstack`.`VpcFirewallRuleSetVO` DROP FOREIGN KEY fkVpcFirewallRuleSetVOVpcFirewallVO; +ALTER TABLE `zstack`.`VpcFirewallRuleVO` DROP FOREIGN KEY fkVpcFirewallRuleVOVpcFirewallVO; +ALTER TABLE `zstack`.`VpcFirewallRuleVO` DROP FOREIGN KEY fkVpcFirewallRuleVOVpcFirewallRuleSetVO; +ALTER TABLE `VpcFirewallRuleSetVO` DROP INDEX `fkVpcFirewallRuleSetVOVpcFirewallVO`; +ALTER TABLE `VpcFirewallRuleVO` DROP INDEX `fkVpcFirewallRuleVOVpcFirewallVO`; +ALTER TABLE `VpcFirewallRuleVO` DROP INDEX `fkVpcFirewallRuleVOVpcFirewallRuleSetVO`; +ALTER TABLE `zstack`.`VpcFirewallRuleSetVO` DROP COLUMN `vyosName`; +ALTER TABLE `zstack`.`VpcFirewallRuleSetVO` DROP COLUMN `vpcFirewallUuid`; +ALTER TABLE `zstack`.`VpcFirewallRuleVO` DROP COLUMN `vpcFirewallUuid`; +ALTER TABLE `zstack`.`VpcFirewallRuleVO` DROP COLUMN `ruleSetName`; + +DROP PROCEDURE IF EXISTS checkVirtualhostsExist; +DELIMITER $$ +CREATE PROCEDURE checkVirtualhostsExist() +BEGIN + if((SELECT count(*) from ApplianceVmVO where applianceVmType = "VirtualRouter") > 0) THEN + SIGNAL SQLSTATE "45000" + SET MESSAGE_TEXT = "VirtualRouter are not supported this version"; + END IF; +END$$ +DELIMITER ; +CALL checkVirtualhostsExist(); +DROP PROCEDURE IF EXISTS checkVirtualhostsExist; + +CREATE TABLE `IAM2ProjectRoleVO` ( + `uuid` VARCHAR(32) NOT NULL, + `iam2ProjectRoleType` VARCHAR(64) NOT NULL, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +ALTER TABLE IAM2VirtualIDRoleRefVO DROP FOREIGN KEY fkIAM2VirtualIDRoleRefVOIAM2VirtualIDVO; +ALTER TABLE IAM2VirtualIDRoleRefVO DROP FOREIGN KEY fkIAM2VirtualIDRoleRefVORoleVO; +ALTER TABLE IAM2VirtualIDRoleRefVO ADD COLUMN `targetAccountUuid` varchar(32) NOT NULL; +ALTER TABLE IAM2VirtualIDRoleRefVO DROP PRIMARY KEY, ADD PRIMARY KEY(virtualIDUuid, roleUuid, targetAccountUuid); +ALTER TABLE IAM2VirtualIDRoleRefVO ADD CONSTRAINT fkIAM2VirtualIDRoleRefVOIAM2VirtualIDVO FOREIGN KEY (virtualIDUuid) REFERENCES IAM2VirtualIDVO (uuid) ON DELETE CASCADE; +ALTER TABLE IAM2VirtualIDRoleRefVO ADD CONSTRAINT fkIAM2VirtualIDRoleRefVORoleVO FOREIGN KEY (roleUuid) REFERENCES RoleVO (uuid) ON DELETE CASCADE; +CREATE INDEX idxIAM2VirtualIDRoleRefVOTargetAccountUuid ON IAM2VirtualIDRoleRefVO (targetAccountUuid); + +-- upgrade PROJECT_OPERATOR_OF_PROJECT and PROJECT_ADMIN_OF_PROJECT to new data structure +DROP PROCEDURE IF EXISTS upgradeProjectOperatorSystemTags; +DELIMITER $$ +CREATE PROCEDURE upgradeProjectOperatorSystemTags() +BEGIN + DECLARE projectOperatorTag VARCHAR(62); + DECLARE targetProjectUuid VARCHAR(32); + DECLARE targetAccountUuid VARCHAR(32); + DECLARE iam2VirtualIDUuid VARCHAR(32); + DECLARE done INT DEFAULT FALSE; + DECLARE cur CURSOR FOR SELECT systemTag.tag, systemTag.resourceUuid FROM `zstack`.`SystemTagVO` systemTag where systemTag.tag like 'projectOperatorOfProjectUuid::%'; + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; + OPEN cur; + read_loop: LOOP + FETCH cur INTO projectOperatorTag, iam2VirtualIDUuid; + IF done THEN + LEAVE read_loop; + END IF; + + SET targetProjectUuid = SUBSTRING_INDEX(projectOperatorTag, '::', -1); + SELECT `accountUuid` into targetAccountUuid FROM `IAM2ProjectAccountRefVO` WHERE `projectUuid` = targetProjectUuid LIMIT 1; + delete from IAM2VirtualIDRoleRefVO where virtualIDUuid = iam2VirtualIDUuid and roleUuid = 'f2f474c60e7340c0a1d44080d5bde3a9'; + INSERT INTO IAM2VirtualIDRoleRefVO (`virtualIDUuid`, `roleUuid`, `targetAccountUuid`, createDate, lastOpDate) VALUES (iam2VirtualIDUuid, 'f2f474c60e7340c0a1d44080d5bde3a9', targetAccountUuid, NOW(), NOW()); + END LOOP; + CLOSE cur; + SELECT CURTIME(); +END $$ +DELIMITER ; +CALL upgradeProjectOperatorSystemTags(); + +DROP PROCEDURE IF EXISTS upgradeProjectAdminSystemTags; +DELIMITER $$ +CREATE PROCEDURE upgradeProjectAdminSystemTags() +BEGIN + DECLARE projectAdminTag VARCHAR(59); + DECLARE targetProjectUuid VARCHAR(32); + DECLARE targetAccountUuid VARCHAR(32); + DECLARE iam2VirtualIDUuid VARCHAR(32); + DECLARE done INT DEFAULT FALSE; + DECLARE cur CURSOR FOR SELECT systemTag.tag, systemTag.resourceUuid FROM `zstack`.`SystemTagVO` systemTag where systemTag.tag like 'projectAdminOfProjectUuid::%'; + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; + OPEN cur; + read_loop: LOOP + FETCH cur INTO projectAdminTag, iam2VirtualIDUuid; + IF done THEN + LEAVE read_loop; + END IF; + + SET targetProjectUuid = SUBSTRING_INDEX(projectAdminTag, '::', -1); + SELECT `accountUuid` into targetAccountUuid FROM `IAM2ProjectAccountRefVO` WHERE `projectUuid` = targetProjectUuid LIMIT 1; + delete from IAM2VirtualIDRoleRefVO where virtualIDUuid = iam2VirtualIDUuid and roleUuid = '55553cefbbfb42468873897c95408a43'; + INSERT INTO IAM2VirtualIDRoleRefVO (`virtualIDUuid`, `roleUuid`, `targetAccountUuid`, createDate, lastOpDate) VALUES (iam2VirtualIDUuid, '55553cefbbfb42468873897c95408a43', targetAccountUuid, NOW(), NOW()); + END LOOP; + CLOSE cur; + SELECT CURTIME(); +END $$ +DELIMITER ; +CALL upgradeProjectAdminSystemTags(); + + +DROP PROCEDURE IF EXISTS updateIAM2VirtualIDRoleRefCreateAccountUuid; +DElIMITER $$ +CREATE PROCEDURE updateIAM2VirtualIDRoleRefCreateAccountUuid() +BEGIN + DECLARE targetAccountUuid VARCHAR(32); + DECLARE virtualIDUuid VARCHAR(32); + DECLARE roleUuid VARCHAR(32); + DECLARE done INT DEFAULT FALSE; + DECLARE cur CURSOR FOR select ref.virtualIDUuid, ref.roleUuid from IAM2VirtualIDRoleRefVO ref where ref.targetAccountUuid=''; + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; + open cur; + read_loop: LOOP + FETCH cur INTO virtualIDUuid, roleUuid; + IF done THEN + LEAVE read_loop; + END IF; + + select accountUuid into targetAccountUuid from AccountResourceRefVO where resourceUuid = roleUuid and resourceType = 'RoleVO'; + update IAM2VirtualIDRoleRefVO refvo set refvo.targetAccountUuid = targetAccountUuid where refvo.virtualIDUuid = virtualIDUuid and refvo.roleUuid = roleUuid; + END LOOP; + CLOSE cur; + SELECT CURTIME(); +END $$ +DELIMITER ; +CALL updateIAM2VirtualIDRoleRefCreateAccountUuid(); + +CREATE TABLE `IAM2ProjectVirtualIDGroupRefVO` ( + `groupUuid` VARCHAR(32) NOT NULL, + `projectUuid` VARCHAR(32) NOT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`groupUuid`,`projectUuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +DELIMITER $$ +CREATE PROCEDURE insertIAM2ProjectVirtualIDGroupRef() +BEGIN + DECLARE groupUuid VARCHAR(32); + DECLARE projectUuid VARCHAR(32); + DECLARE done INT DEFAULT FALSE; + DECLARE cur CURSOR FOR SELECT virtualIDGroup.uuid, virtualIDGroup.projectUuid FROM zstack.IAM2VirtualIDGroupVO virtualIDGroup; + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; + OPEN cur; + read_loop: LOOP + FETCH cur INTO groupUuid, projectUuid; + IF done THEN + LEAVE read_loop; + END IF; + INSERT INTO `zstack`.IAM2ProjectVirtualIDGroupRefVO (groupUuid, projectUuid, createDate, lastOpDate) VALUES (groupUuid, projectUuid, NOW(), NOW()); + + END LOOP; + CLOSE cur; + SELECT CURTIME(); +END $$ +DELIMITER ; + +CALL insertIAM2ProjectVirtualIDGroupRef(); +DROP PROCEDURE IF EXISTS insertIAM2ProjectVirtualIDGroupRef; + +Alter table `zstack`.`IAM2VirtualIDGroupVO` modify projectUuid VARCHAR(32) NULL; + +ALTER TABLE IAM2VirtualIDGroupRoleRefVO DROP FOREIGN KEY fkIAM2VirtualIDGroupRoleRefVOIAM2VirtualIDGroupVO; +ALTER TABLE IAM2VirtualIDGroupRoleRefVO DROP FOREIGN KEY fkIAM2VirtualIDGroupRoleRefVORoleVO; +ALTER TABLE IAM2VirtualIDGroupRoleRefVO ADD COLUMN `targetAccountUuid` varchar(32) NOT NULL; +ALTER TABLE IAM2VirtualIDGroupRoleRefVO DROP PRIMARY KEY, ADD PRIMARY KEY(groupUuid, roleUuid, targetAccountUuid); +ALTER TABLE IAM2VirtualIDGroupRoleRefVO ADD CONSTRAINT fkIAM2VirtualIDGroupRoleRefVOIAM2VirtualIDGroupVO FOREIGN KEY (groupUuid) REFERENCES IAM2VirtualIDGroupVO (uuid) ON DELETE CASCADE; +ALTER TABLE IAM2VirtualIDGroupRoleRefVO ADD CONSTRAINT fkIAM2VirtualIDGroupRoleRefVORoleVO FOREIGN KEY (roleUuid) REFERENCES RoleVO (uuid) ON DELETE CASCADE; +CREATE INDEX idxIAM2VirtualIDGroupRoleRefVOTargetAccountUuid ON IAM2VirtualIDGroupRoleRefVO (targetAccountUuid); + +ALTER TABLE RolePolicyStatementVO ADD INDEX (`roleUuid`); + +DELIMITER $$ +CREATE PROCEDURE insertIAM2ProjectRoleVOForProjectSystemRoles() +BEGIN + DECLARE project_system_role_exists INT DEFAULT 0; + DECLARE iam2_project_role_exists INT DEFAULT 0; + + SELECT COUNT(*) INTO iam2_project_role_exists FROM IAM2ProjectRoleVO WHERE uuid = '55553cefbbfb42468873897c95408a43'; + SELECT COUNT(*) INTO project_system_role_exists FROM RoleVO WHERE uuid = '55553cefbbfb42468873897c95408a43'; + IF iam2_project_role_exists = 0 and project_system_role_exists = 1 THEN + INSERT INTO IAM2ProjectRoleVO (`uuid`, `iam2ProjectRoleType`) VALUES ('55553cefbbfb42468873897c95408a43', 'CreatedByAdmin'); + END IF; + + SET project_system_role_exists = 0; + SET iam2_project_role_exists = 0; + SELECT COUNT(*) INTO iam2_project_role_exists FROM IAM2ProjectRoleVO WHERE uuid = 'f2f474c60e7340c0a1d44080d5bde3a9'; + SELECT COUNT(*) INTO project_system_role_exists FROM RoleVO WHERE uuid = '55553cefbbfb42468873897c95408a43'; + IF iam2_project_role_exists = 0 and project_system_role_exists = 1 THEN + INSERT INTO IAM2ProjectRoleVO (`uuid`, `iam2ProjectRoleType`) VALUES ('f2f474c60e7340c0a1d44080d5bde3a9', 'CreatedByAdmin'); + END IF; + + SELECT CURTIME(); +END $$ +DELIMITER ; + +CALL insertIAM2ProjectRoleVOForProjectSystemRoles(); +DROP PROCEDURE IF EXISTS insertIAM2ProjectRoleVOForProjectSystemRoles; + +DELIMITER $$ +CREATE PROCEDURE insertIAM2ProjectRole() +BEGIN + DECLARE roleUuid VARCHAR(32); + DECLARE done INT DEFAULT FALSE; + DECLARE cur CURSOR FOR SELECT resourceUuid FROM zstack.AccountResourceRefVO where resourceType = 'RoleVO' and resourceUuid in (select uuid from zstack.RoleVO) and accountUuid in (SELECT accountUuid FROM zstack.IAM2ProjectAccountRefVO ) and accountUuid <> '36c27e8ff05c4780bf6d2fa65700f22e'; + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; + OPEN cur; + read_loop: LOOP + FETCH cur INTO roleUuid; + IF done THEN + LEAVE read_loop; + END IF; + INSERT INTO `zstack`.IAM2ProjectRoleVO (uuid, iam2ProjectRoleType) VALUES (roleUuid, 'CreateInProject'); + + END LOOP; + CLOSE cur; + SELECT CURTIME(); +END $$ +DELIMITER ; + +CALL insertIAM2ProjectRole(); +DROP PROCEDURE IF EXISTS insertIAM2ProjectRole; + +ALTER TABLE RolePolicyStatementVO ADD INDEX (`roleUuid`); + +DELIMITER $$ +CREATE PROCEDURE insertIntoRole() + BEGIN + IF (SELECT count(*) from RoleVO where type = 'System' and name like 'read-api-role-%' and uuid <> '86d67c89dfe64b3ba67ecffd34cee418') > 0 THEN + insert into RoleVO(uuid, name, state, type, createDate, lastOpDate) values ('86d67c89dfe64b3ba67ecffd34cee418', 'read-api-role-default', 'Enabled', 'System', NOW(), NOW()); + INSERT INTO ResourceVO (`uuid`, `resourceName`, `resourceType`, `concreteResourceType`) VALUES ('86d67c89dfe64b3ba67ecffd34cee418', 'read-api-role-default', 'RoleVO', 'org.zstack.header.identity.role.SystemRoleVO'); + INSERT INTO AccountResourceRefVO (`accountUuid`, `ownerAccountUuid`, `resourceUuid`, `resourceType`, `permission`, `isShared`, `lastOpDate`, `createDate`, `concreteResourceType`) values ('36c27e8ff05c4780bf6d2fa65700f22e', '36c27e8ff05c4780bf6d2fa65700f22e', '86d67c89dfe64b3ba67ecffd34cee418', 'RoleVO', 2, 0, CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP(), 'org.zstack.header.identity.role.RoleVO'); + insert into RolePolicyStatementVO(uuid, statement, roleUuid, createDate, lastOpDate) values ('7d800a63539b47e2cec86529cef3cd2d', '', '86d67c89dfe64b3ba67ecffd34cee418', NOW(), NOW()); + END IF; + END $$ +DELIMITER ; + +CALL insertIntoRole(); +DROP PROCEDURE IF EXISTS insertIntoRole; + + +DELIMITER $$ +CREATE PROCEDURE deleteRoleReadAPI() +BEGIN + DECLARE roUuid VARCHAR(32); + DECLARE done INT DEFAULT FALSE; + DECLARE cur CURSOR FOR select uuid from RoleVO where type = 'System' and name like 'read-api-role-%' and uuid <> '86d67c89dfe64b3ba67ecffd34cee418'; + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; + OPEN cur; + read_loop: LOOP + FETCH cur INTO roUuid; + IF done THEN + LEAVE read_loop; + END IF; + update IAM2VirtualIDRoleRefVO refVO set refVO.roleUuid = '86d67c89dfe64b3ba67ecffd34cee418' where refVO.roleUuid = roUuid; + delete from RolePolicyStatementVO where roleUuid = roUuid; + delete from RoleVO where uuid = roUuid; + delete from ResourceVO where uuid = roUuid; + delete from AccountResourceRefVO where resourceUuid = roUuid and resourceType = 'RoleVO'; + + END LOOP; + CLOSE cur; + SELECT CURTIME(); +END $$ +DELIMITER ; + +CALL deleteRoleReadAPI(); +DROP PROCEDURE IF EXISTS deleteRoleReadAPI; + +CREATE TABLE IF NOT EXISTS `zstack`.`MonitorGroupVO` ( + `uuid` varchar(32) NOT NULL, + `name` varchar(255) NOT NULL, + `state` varchar(255) NOT NULL, + `actions` varchar(4096) DEFAULT NULL, + `description` varchar(2048) DEFAULT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`MonitorGroupInstanceVO` ( + `uuid` varchar(32) NOT NULL, + `groupUuid` varchar(32) NOT NULL, + `instanceResourceType` varchar(128) NOT NULL, + `instanceUuid` varchar(32) NOT NULL, + `status` varchar(64) NOT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`), + KEY `groupUuid` (`groupUuid`), + KEY `instanceUuid` (`instanceUuid`), + UNIQUE KEY `groupUuidInstanceUuid` (`groupUuid`,`instanceUuid`), + CONSTRAINT `fkMonitorGroupInstanceVOMonitorGroupVO` FOREIGN KEY (`groupUuid`) REFERENCES `zstack`.`MonitorGroupVO` (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`MonitorTemplateVO` ( + `uuid` varchar(32) NOT NULL, + `name` varchar(255) NOT NULL, + `description` varchar(2048) DEFAULT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`MonitorGroupTemplateRefVO` ( + `uuid` varchar(32) NOT NULL, + `templateUuid` varchar(32) NOT NULL, + `groupUuid` varchar(32) NOT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`), + UNIQUE KEY `groupUuidTemplateUuid` (`groupUuid`,`templateUuid`), + CONSTRAINT `fkMonitorGroupTemplateRefVOMonitorGroupVO` FOREIGN KEY (`groupUuid`) REFERENCES `zstack`.`MonitorGroupVO` (`uuid`), + CONSTRAINT `fkMonitorGroupTemplateRefVOMonitorTemplateVO` FOREIGN KEY (`templateUuid`) REFERENCES `zstack`.`MonitorTemplateVO` (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`MetricRuleTemplateVO` ( + `uuid` varchar(32) NOT NULL, + `name` varchar(255) NOT NULL, + `monitorTemplateUuid` varchar(32) NOT NULL, + `comparisonOperator` varchar(128) NOT NULL, + `period` int(10) unsigned NOT NULL, + `repeatInterval` int(10) unsigned NOT NULL, + `namespace` varchar(255) NOT NULL, + `metricName` varchar(512) NOT NULL, + `threshold` double NOT NULL, + `repeatCount` int(11) DEFAULT NULL, + `enableRecovery` tinyint(1) NOT NULL DEFAULT '0', + `emergencyLevel` varchar(64) DEFAULT NULL, + `labels` varchar(4096) DEFAULT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`), + KEY `monitorTemplateUuid` (`monitorTemplateUuid`), + CONSTRAINT `fkMetricRuleTemplateVOMonitorTemplateVO` FOREIGN KEY (`monitorTemplateUuid`) REFERENCES `zstack`.`MonitorTemplateVO` (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`EventRuleTemplateVO` ( + `uuid` varchar(32) NOT NULL, + `name` varchar(255) NOT NULL, + `monitorTemplateUuid` varchar(32) NOT NULL, + `namespace` varchar(255) NOT NULL, + `eventName` varchar(255) NOT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + `emergencyLevel` varchar(64) DEFAULT NULL, + `labels` varchar(4096) DEFAULT NULL, + PRIMARY KEY (`uuid`), + KEY `monitorTemplateUuid` (`monitorTemplateUuid`), + CONSTRAINT `fkEventRuleTemplateVOMonitorTemplateVO` FOREIGN KEY (`monitorTemplateUuid`) REFERENCES `zstack`.`MonitorTemplateVO` (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`MonitorGroupEventSubscriptionVO` ( + `uuid` varchar(32) NOT NULL, + `groupUuid` varchar(32) NOT NULL, + `eventSubscriptionUuid` varchar(32) NOT NULL, + `eventRuleTemplateUuid` varchar(32) NOT NULL, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`), + KEY `groupUuid` (`groupUuid`), + CONSTRAINT `fkMonitorGroupEventSubscriptionVOMonitorGroupVO` FOREIGN KEY (`groupUuid`) REFERENCES `zstack`.`MonitorGroupVO` (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`MonitorGroupAlarmVO` ( + `uuid` varchar(32) NOT NULL, + `groupUuid` varchar(32) NOT NULL, + `alarmUuid` varchar(32) NOT NULL, + `metricRuleTemplateUuid` varchar(32) NOT NULL, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`), + KEY `groupUuid` (`groupUuid`), + CONSTRAINT `fkMonitorGroupAlarmVOMonitorGroupVO` FOREIGN KEY (`groupUuid`) REFERENCES `zstack`.`MonitorGroupVO` (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`ActiveAlarmTemplateVO` ( + `uuid` varchar(32) NOT NULL, + `alarmName` varchar(255) NOT NULL, + `comparisonOperator` varchar(128) NOT NULL, + `period` int(10) unsigned NOT NULL, + `repeatInterval` int(10) unsigned NOT NULL, + `namespace` varchar(255) NOT NULL, + `metricName` varchar(512) NOT NULL, + `threshold` double NOT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + `repeatCount` int(11) DEFAULT NULL, + `enableRecovery` tinyint(1) NOT NULL DEFAULT '0', + `emergencyLevel` varchar(64) DEFAULT NULL, + `labels` varchar(4096) DEFAULT NULL, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`ActiveAlarmVO` ( + `uuid` varchar(32) NOT NULL, + `templateUuid` varchar(32) NOT NULL, + `alarmUuid` varchar(32) NOT NULL, + `namespace` varchar(128) NOT NULL, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`), + KEY `alarmUuid` (`alarmUuid`), + CONSTRAINT `fkActiveAlarmVOActiveAlarmTemplateVO` FOREIGN KEY (`templateUuid`) REFERENCES `zstack`.`ActiveAlarmTemplateVO` (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`AlertDataAckVO` ( + `alertDataUuid` varchar(32) NOT NULL, + `alertType` varchar(255) NOT NULL, + `ackPeriod` int(10) unsigned NOT NULL, + `resourceUuid` varchar(32) NOT NULL, + `ackDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + `resumeAlert` tinyint(1) NOT NULL DEFAULT '0', + `operatorAccountUuid` varchar(32) NOT NULL, + PRIMARY KEY (`alertDataUuid`), + KEY `resourceUuid` (`resourceUuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`EventDataAckVO` ( + `alertDataUuid` varchar(32) NOT NULL, + `eventSubscriptionUuid` varchar(32) NOT NULL, + PRIMARY KEY (`alertDataUuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`AlarmDataAckVO` ( + `alertDataUuid` varchar(32) NOT NULL, + `alarmUuid` varchar(32) NOT NULL, + PRIMARY KEY (`alertDataUuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +INSERT INTO `ActiveAlarmTemplateVO` (`uuid`,`alarmName`,`comparisonOperator`,`period`,`repeatInterval`,`namespace`,`metricName`,`threshold`,`lastOpDate`,`createDate`,`repeatCount`,`enableRecovery`,`emergencyLevel`,`labels`) VALUES ('180dcd21d9c64e1190ac09c825023a3f','Host-MemoryUsedInPercent','GreaterThanOrEqualTo',300,1800,'ZStack/Host','MemoryUsedInPercent',80,CURRENT_TIMESTAMP(),CURRENT_TIMESTAMP(),-1,0,'Important',NULL); +INSERT INTO `ActiveAlarmTemplateVO` (`uuid`,`alarmName`,`comparisonOperator`,`period`,`repeatInterval`,`namespace`,`metricName`,`threshold`,`lastOpDate`,`createDate`,`repeatCount`,`enableRecovery`,`emergencyLevel`,`labels`) VALUES ('1c43bab11c9b454281827a0af3ccb02e','Host-DiskAllUsedCapacityInPercent','GreaterThanOrEqualTo',300,1800,'ZStack/Host','DiskAllUsedCapacityInPercent',80,CURRENT_TIMESTAMP(),CURRENT_TIMESTAMP(),-1,0,'Important',NULL); +INSERT INTO `ActiveAlarmTemplateVO` (`uuid`,`alarmName`,`comparisonOperator`,`period`,`repeatInterval`,`namespace`,`metricName`,`threshold`,`lastOpDate`,`createDate`,`repeatCount`,`enableRecovery`,`emergencyLevel`,`labels`) VALUES ('231b35bf21d5406d992286ba4c0bf749','Host-CPUAverageUsedUtilization','GreaterThanOrEqualTo',300,1800,'ZStack/Host','CPUAverageUsedUtilization',80,CURRENT_TIMESTAMP(),CURRENT_TIMESTAMP(),-1,0,'Important',NULL); +INSERT INTO `ActiveAlarmTemplateVO` (`uuid`,`alarmName`,`comparisonOperator`,`period`,`repeatInterval`,`namespace`,`metricName`,`threshold`,`lastOpDate`,`createDate`,`repeatCount`,`enableRecovery`,`emergencyLevel`,`labels`) VALUES ('383d9dcd547d46c9ac5f1031905a9b54','VM-DiskAllUsedCapacityInPercent','GreaterThanOrEqualTo',300,1800,'ZStack/VM','DiskAllUsedCapacityInPercent',80,CURRENT_TIMESTAMP(),CURRENT_TIMESTAMP(),-1,0,'Important',NULL); +INSERT INTO `ActiveAlarmTemplateVO` (`uuid`,`alarmName`,`comparisonOperator`,`period`,`repeatInterval`,`namespace`,`metricName`,`threshold`,`lastOpDate`,`createDate`,`repeatCount`,`enableRecovery`,`emergencyLevel`,`labels`) VALUES ('64ff18b8628443d58dbf66c9bbad37e6','VRouter-VRouterDiskAllUsedCapacityInPercent','GreaterThanOrEqualTo',300,1800,'ZStack/VRouter','VRouterDiskAllUsedCapacityInPercent',80,CURRENT_TIMESTAMP(),CURRENT_TIMESTAMP(),-1,0,'Important',NULL); +INSERT INTO `ActiveAlarmTemplateVO` (`uuid`,`alarmName`,`comparisonOperator`,`period`,`repeatInterval`,`namespace`,`metricName`,`threshold`,`lastOpDate`,`createDate`,`repeatCount`,`enableRecovery`,`emergencyLevel`,`labels`) VALUES ('65c8af4f0a2342e8a5a79511b546f750','VRouter-MemoryUsedInPercent','GreaterThanOrEqualTo',300,1800,'ZStack/VRouter','VRouterMemoryUsedPercent',80,CURRENT_TIMESTAMP(),CURRENT_TIMESTAMP(),-1,0,'Important',NULL); +INSERT INTO `ActiveAlarmTemplateVO` (`uuid`,`alarmName`,`comparisonOperator`,`period`,`repeatInterval`,`namespace`,`metricName`,`threshold`,`lastOpDate`,`createDate`,`repeatCount`,`enableRecovery`,`emergencyLevel`,`labels`) VALUES ('69d2840e61fa49d280948ce8f7112e46','VM-OperatingSystemMemoryUsedPercent','GreaterThanOrEqualTo',300,1800,'ZStack/VM','OperatingSystemMemoryUsedPercent',80,CURRENT_TIMESTAMP(),CURRENT_TIMESTAMP(),-1,0,'Important',NULL); +INSERT INTO `ActiveAlarmTemplateVO` (`uuid`,`alarmName`,`comparisonOperator`,`period`,`repeatInterval`,`namespace`,`metricName`,`threshold`,`lastOpDate`,`createDate`,`repeatCount`,`enableRecovery`,`emergencyLevel`,`labels`) VALUES ('94fcd41cac524a57b47452a78d14cfab','VM-MemoryUsedInPercent','GreaterThanOrEqualTo',300,1800,'ZStack/VM','MemoryUsedInPercent',80,CURRENT_TIMESTAMP(),CURRENT_TIMESTAMP(),-1,0,'Important',NULL); +INSERT INTO `ActiveAlarmTemplateVO` (`uuid`,`alarmName`,`comparisonOperator`,`period`,`repeatInterval`,`namespace`,`metricName`,`threshold`,`lastOpDate`,`createDate`,`repeatCount`,`enableRecovery`,`emergencyLevel`,`labels`) VALUES ('c9e6cdca107140bea62b4ca919ff9e88','VRouter-CPUAverageUsedUtilization','GreaterThanOrEqualTo',300,1800,'ZStack/VRouter','VRouterCPUAverageUsedUtilization',80,CURRENT_TIMESTAMP(),CURRENT_TIMESTAMP(),-1,0,'Important',NULL); +INSERT INTO `ActiveAlarmTemplateVO` (`uuid`,`alarmName`,`comparisonOperator`,`period`,`repeatInterval`,`namespace`,`metricName`,`threshold`,`lastOpDate`,`createDate`,`repeatCount`,`enableRecovery`,`emergencyLevel`,`labels`) VALUES ('ccc249938ad34e7f92d6a1cc7e123b38','VM-CPUAverageUsedUtilization','GreaterThanOrEqualTo',300,1800,'ZStack/VM','CPUAverageUsedUtilization',80,CURRENT_TIMESTAMP(),CURRENT_TIMESTAMP(),-1,0,'Important',NULL); +INSERT INTO `ActiveAlarmTemplateVO` (`uuid`,`alarmName`,`comparisonOperator`,`period`,`repeatInterval`,`namespace`,`metricName`,`threshold`,`lastOpDate`,`createDate`,`repeatCount`,`enableRecovery`,`emergencyLevel`,`labels`) VALUES ('fa6ead4d89064002b1b96ed2abf6ecb5','VM-OperatingSystemCPUAverageUsedUtilization','GreaterThanOrEqualTo',300,1800,'ZStack/VM','OperatingSystemCPUAverageUsedUtilization',80,CURRENT_TIMESTAMP(),CURRENT_TIMESTAMP(),-1,0,'Important',NULL); + +UPDATE ResourceVO SET concreteResourceType = "org.zstack.header.affinitygroup.AffinityGroupVO" WHERE resourceName = "zstack.affinity.group.for.virtual.router" and resourceType = "AffinityGroupVO"; + +CREATE TABLE IF NOT EXISTS `zstack`.`SlbOfferingVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `managementNetworkUuid` varchar(32) NOT NULL, + `imageUuid` varchar(32) NOT NULL, + `zoneUuid` varchar(32) NOT NULL, + PRIMARY KEY (`uuid`), + CONSTRAINT fkSlbOfferingVOL3NetworkEO FOREIGN KEY (managementNetworkUuid) REFERENCES `zstack`.`L3NetworkEO` (uuid) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`SlbGroupVO` ( + `uuid` VARCHAR(32) NOT NULL UNIQUE, + `name` VARCHAR(255) NOT NULL, + `backendType` VARCHAR(255) NOT NULL, + `deployType` VARCHAR(255) NOT NULL, + `description` VARCHAR(2048) DEFAULT NULL, + `slbOfferingUuid` VARCHAR(32) DEFAULT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`), + CONSTRAINT fkSlbGroupVOSlbOfferingVO FOREIGN KEY (slbOfferingUuid) REFERENCES `zstack`.`SlbOfferingVO` (uuid) ON DELETE SET NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`SlbLoadBalancerVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `slbGroupUuid` varchar(32) NOT NULL, + PRIMARY KEY (`uuid`), + CONSTRAINT fkSlbLoadBalancerVOSlbGroupVO FOREIGN KEY (slbGroupUuid) REFERENCES `zstack`.`SlbGroupVO` (uuid) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`SlbVmInstanceVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `slbGroupUuid` varchar(32) NOT NULL, + PRIMARY KEY (`uuid`), + CONSTRAINT fkSlbVmInstanceVOSlbGroupVO FOREIGN KEY (slbGroupUuid) REFERENCES `zstack`.`SlbGroupVO` (uuid) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`SlbGroupL3NetworkRefVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `slbGroupUuid` varchar(32) NOT NULL, + `l3NetworkUuid` varchar(32) NOT NULL, + `type` varchar(255) NOT NULL, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`id`), + CONSTRAINT fkSlbGroupL3NetworkRefVOSlbGroupVO FOREIGN KEY (slbGroupUuid) REFERENCES `zstack`.`SlbGroupVO` (uuid) ON DELETE CASCADE, + CONSTRAINT fkSlbGroupL3NetworkRefVOL3NetworkEO FOREIGN KEY (l3NetworkUuid) REFERENCES `zstack`.`L3NetworkEO` (uuid) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`LoadBalancerServerGroupVO`( + `uuid` varchar(32) NOT NULL UNIQUE, + `name` varchar(255) NOT NULL, + `description` varchar(2048) DEFAULT NULL, + `loadBalancerUuid` varchar(32) NOT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`uuid`), + CONSTRAINT fkLoadBalancerServerGroupVOLoadBalancerVO FOREIGN KEY (loadBalancerUuid) REFERENCES `zstack`.`LoadBalancerVO` (uuid) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`LoadBalancerListenerServerGroupRefVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `listenerUuid` varchar(32) NOT NULL, + `serverGroupUuid` varchar(32) NOT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`id`), + CONSTRAINT fkLoadBalancerListenerServerGroupRefVOLoadBalancerListenerVO FOREIGN KEY (listenerUuid) REFERENCES `zstack`.`LoadBalancerListenerVO` (uuid) ON DELETE CASCADE, + CONSTRAINT fkLoadBalancerListenerServerGroupRefVOLoadBalancerServerGroupVO FOREIGN KEY (serverGroupUuid) REFERENCES `zstack`.`LoadBalancerServerGroupVO` (uuid) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`LoadBalancerServerGroupVmNicRefVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `serverGroupUuid` varchar(32) NOT NULL, + `vmNicUuid` varchar(32) NOT NULL, + `weight` bigint unsigned NOT NULL DEFAULT 100, + `status` varchar(64) NOT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`id`), + CONSTRAINT fkLoadBalancerServerGroupVmNicRefVOLoadBalancerServerGroupVO FOREIGN KEY (serverGroupUuid) REFERENCES `zstack`.`LoadBalancerServerGroupVO` (uuid) ON DELETE CASCADE, + CONSTRAINT fkLoadBalancerServerGroupVmNicRefVOVmNicVO FOREIGN KEY (vmNicUuid) REFERENCES `zstack`.`VmNicVO` (uuid) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`LoadBalancerServerGroupServerIpVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `serverGroupUuid` varchar(32) NOT NULL, + `ipAddress` varchar(128) NOT NULL, + `weight` bigint unsigned NOT NULL DEFAULT 100, + `status` varchar(64) NOT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`id`), + CONSTRAINT fkLoadBalancerServerGroupServerIpVOLoadBalancerServerGroupVO FOREIGN KEY (serverGroupUuid) REFERENCES `zstack`.`LoadBalancerServerGroupVO` (uuid) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +ALTER TABLE `zstack`.`LoadBalancerVO` ADD COLUMN `type` varchar(255) DEFAULT "Shared"; +ALTER TABLE `zstack`.`LoadBalancerVO` ADD COLUMN `serverGroupUuid` varchar(32) DEFAULT NULL; +ALTER TABLE `zstack`.`LoadBalancerVO` ADD CONSTRAINT fkLoadBalancerVOLoadBalancerServerGroupVO FOREIGN KEY (serverGroupUuid) REFERENCES LoadBalancerServerGroupVO (uuid) ON DELETE SET NULL; +ALTER TABLE `zstack`.`LoadBalancerListenerVO` ADD COLUMN `serverGroupUuid` varchar(32) DEFAULT NULL; +ALTER TABLE `zstack`.`LoadBalancerListenerVO` ADD CONSTRAINT fkLoadBalancerListenerVOLoadBalancerServerGroupVO FOREIGN KEY (serverGroupUuid) REFERENCES LoadBalancerServerGroupVO (uuid) ON DELETE SET NULL; + +UPDATE `VRouterRouteEntryVO` SET `type` = 'UserStatic' where `type` = '0'; +UPDATE `VRouterRouteEntryVO` SET `type` = 'UserBlackHole' where `type` = '1'; +UPDATE `VRouterRouteEntryVO` SET `type` = 'DirectConnect' where `type` = '2'; +UPDATE `VRouterRouteEntryVO` SET `type` = 'ZStack' where `type` = '3'; +UPDATE `VRouterRouteEntryVO` SET `type` = 'OSPF' where `type` = '4'; +UPDATE `VRouterRouteEntryVO` SET `type` = 'Unknown' where `type` = '5'; + +ALTER TABLE `zstack`.`UsbDeviceVO` modify column iSerial varchar(1024) DEFAULT NULL; +ALTER TABLE `zstack`.`ZBoxVO` modify column `iSerial` varchar(1024) DEFAULT NULL; + +-- ----------------------------------- +-- Table structures for Bare Metal 2 +-- ----------------------------------- +CREATE TABLE IF NOT EXISTS `zstack`.`BareMetal2ProvisionNetworkVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `name` varchar(255) NOT NULL, + `description` varchar(2048) DEFAULT NULL, + `zoneUuid` varchar(32) NOT NULL, + `dhcpInterface` varchar(128) NOT NULL, + `dhcpRangeStartIp` varchar(32) NOT NULL, + `dhcpRangeEndIp` varchar(32) NOT NULL, + `dhcpRangeNetmask` varchar(32) NOT NULL, + `dhcpRangeGateway` varchar(32) DEFAULT NULL, + `dhcpRangeNetworkCidr` varchar(64) DEFAULT NULL, + `state` varchar(32) DEFAULT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`), + CONSTRAINT `fkBareMetal2ProvisionNetworkVOZoneEO` FOREIGN KEY (`zoneUuid`) REFERENCES `ZoneEO` (`uuid`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`BareMetal2ProvisionNetworkClusterRefVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `clusterUuid` varchar(32) NOT NULL, + `networkUuid` varchar(32) NOT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`id`), + CONSTRAINT `ukBareMetal2ProvisionNetworkClusterRefVO` UNIQUE KEY (`clusterUuid`, `networkUuid`), + CONSTRAINT `fkBareMetal2ProvisionNetworkVOClusterEO` FOREIGN KEY (`clusterUuid`) REFERENCES `ClusterEO` (`uuid`) ON DELETE CASCADE, + CONSTRAINT `fkBareMetal2ProvisionNetworkVONetworkVO` FOREIGN KEY (`networkUuid`) REFERENCES `BareMetal2ProvisionNetworkVO` (`uuid`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`BareMetal2GatewayVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + PRIMARY KEY (`uuid`), + CONSTRAINT `fkBareMetal2GatewayVOKVMHostVO` FOREIGN KEY (`uuid`) REFERENCES `KVMHostVO` (`uuid`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`BareMetal2GatewayClusterRefVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `clusterUuid` varchar(32) NOT NULL, + `gatewayUuid` varchar(32) NOT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`id`), + CONSTRAINT `ukBareMetal2GatewayClusterRefVO` UNIQUE KEY (`clusterUuid`, `gatewayUuid`), + CONSTRAINT `fkBareMetal2GatewayVOClusterEO` FOREIGN KEY (`clusterUuid`) REFERENCES `ClusterEO` (`uuid`) ON DELETE CASCADE, + CONSTRAINT `fkBareMetal2GatewayVOGatewayVO` FOREIGN KEY (`gatewayUuid`) REFERENCES `BareMetal2GatewayVO` (`uuid`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`BareMetal2GatewayProvisionNicVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `networkUuid` varchar(32) NOT NULL, + `interfaceName` varchar(17) NOT NULL, + `ip` varchar(128) NOT NULL, + `netmask` varchar(128) NOT NULL, + `gateway` varchar(128) DEFAULT NULL, + `metaData` varchar(255) DEFAULT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`), + CONSTRAINT `fkBareMetal2GatewayProvisionNicVOGatewayVO` FOREIGN KEY (`uuid`) REFERENCES `BareMetal2GatewayVO` (`uuid`) ON DELETE CASCADE, + CONSTRAINT `fkBareMetal2GatewayProvisionNicVONetworkVO` FOREIGN KEY (`networkUuid`) REFERENCES `BareMetal2ProvisionNetworkVO` (`uuid`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `BareMetal2ChassisOfferingVO` ( + `uuid` varchar(32) NOT NULL, + `name` varchar(255) NOT NULL, + `description` varchar(2048) DEFAULT NULL, + `architecture` varchar(32) NOT NULL, + `cpuModelName` varchar(255) NOT NULL, + `cpuNum` int(10) unsigned NOT NULL, + `memorySize` bigint unsigned NOT NULL COMMENT 'memory size in bytes', + `bootMode` varchar(32) DEFAULT NULL, + `state` varchar(32) NOT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `BareMetal2ChassisVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `name` varchar(255) NOT NULL, + `description` varchar(2048) DEFAULT NULL, + `zoneUuid` varchar(32) NOT NULL, + `clusterUuid` varchar(32) NOT NULL, + `chassisOfferingUuid` varchar(32) DEFAULT NULL, + `type` varchar(32) NOT NULL, + `state` varchar(32) NOT NULL, + `status` varchar(32) NOT NULL, + `powerStatus` varchar(32) NOT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`), + CONSTRAINT `fkBareMetal2ChassisVOZoneEO` FOREIGN KEY (`zoneUuid`) REFERENCES `ZoneEO` (`uuid`) ON DELETE CASCADE, + CONSTRAINT `fkBareMetal2ChassisVOClusterEO` FOREIGN KEY (`clusterUuid`) REFERENCES `ClusterEO` (`uuid`) ON DELETE CASCADE, + CONSTRAINT `fkBareMetal2ChassisVOOfferingVO` FOREIGN KEY (`chassisOfferingUuid`) REFERENCES `BareMetal2ChassisOfferingVO` (`uuid`) ON DELETE SET NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `BareMetal2ChassisNicVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `chassisUuid` varchar(32) NOT NULL, + `mac` varchar(32) NOT NULL UNIQUE, + `speed` varchar(32) DEFAULT NULL, + `isProvisionNic` tinyint(1) unsigned NOT NULL DEFAULT 0, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`), + CONSTRAINT `fkBareMetal2ChassisNicVOChassisVO` FOREIGN KEY (`chassisUuid`) REFERENCES `BareMetal2ChassisVO` (`uuid`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `BareMetal2ChassisDiskVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `chassisUuid` varchar(32) NOT NULL, + `type` varchar(32) DEFAULT "", + `diskSize` bigint unsigned NOT NULL COMMENT 'disk size in bytes', + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`), + CONSTRAINT `fkBareMetal2ChassisDiskVOChassisVO` FOREIGN KEY (`chassisUuid`) REFERENCES `BareMetal2ChassisVO` (`uuid`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `BareMetal2IpmiChassisVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `ipmiAddress` varchar(32) NOT NULL, + `ipmiPort` int unsigned NOT NULL, + `ipmiUsername` varchar(255) NOT NULL, + `ipmiPassword` varchar(255) NOT NULL, + PRIMARY KEY (`uuid`), + CONSTRAINT `ukBareMetal2IpmiChassisVO` UNIQUE (`ipmiAddress`, `ipmiPort`), + CONSTRAINT `fkBareMetal2IpmiChassisVOChassisVO` FOREIGN KEY (`uuid`) REFERENCES `BareMetal2ChassisVO` (`uuid`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`BareMetal2InstanceVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `status` varchar(32) NOT NULL, + `chassisUuid` varchar(32) DEFAULT NULL, + `lastChassisUuid` varchar(32) DEFAULT NULL, + `gatewayUuid` varchar(32) DEFAULT NULL, + `lastGatewayUuid` varchar(32) DEFAULT NULL, + `chassisOfferingUuid` varchar(32) DEFAULT NULL, + `gatewayAllocatorStrategy` varchar(64) DEFAULT NULL, + PRIMARY KEY (`uuid`), + CONSTRAINT `fkBareMetal2InstanceVOVmInstanceEO` FOREIGN KEY (`uuid`) REFERENCES `VmInstanceEO` (`uuid`) ON UPDATE RESTRICT ON DELETE CASCADE, + CONSTRAINT `fkBareMetal2InstanceVOChassisVO` FOREIGN KEY (`chassisUuid`) REFERENCES `BareMetal2ChassisVO` (`uuid`) ON DELETE SET NULL, + CONSTRAINT `fkBareMetal2InstanceVOChassisVO1` FOREIGN KEY (`lastChassisUuid`) REFERENCES `BareMetal2ChassisVO` (`uuid`) ON DELETE SET NULL, + CONSTRAINT `fkBareMetal2InstanceVOGatewayVO` FOREIGN KEY (`gatewayUuid`) REFERENCES `BareMetal2GatewayVO` (`uuid`) ON DELETE SET NULL, + CONSTRAINT `fkBareMetal2InstanceVOGatewayVO1` FOREIGN KEY (`lastGatewayUuid`) REFERENCES `BareMetal2GatewayVO` (`uuid`) ON DELETE SET NULL, + CONSTRAINT `fkBareMetal2InstanceVOChassisOfferingVO` FOREIGN KEY (`chassisOfferingUuid`) REFERENCES `BareMetal2ChassisOfferingVO` (`uuid`) ON DELETE SET NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`BareMetal2InstanceProvisionNicVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `networkUuid` varchar(32) NOT NULL, + `mac` varchar(17) NOT NULL UNIQUE, + `ip` varchar(128) NOT NULL, + `netmask` varchar(128) NOT NULL, + `gateway` varchar(128) DEFAULT NULL, + `metaData` varchar(255) DEFAULT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`), + CONSTRAINT `fkBareMetal2InstanceProvisionNicVOInstanceVO` FOREIGN KEY (`uuid`) REFERENCES `BareMetal2InstanceVO` (`uuid`) ON DELETE CASCADE, + CONSTRAINT `fkBareMetal2InstanceProvisionNicVONetworkVO` FOREIGN KEY (`networkUuid`) REFERENCES `BareMetal2ProvisionNetworkVO` (`uuid`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +ALTER TABLE `zstack`.`ConsoleProxyVO` ADD COLUMN `targetSchema` varchar(32) NOT NULL DEFAULT 'vnc'; + +CREATE TABLE IF NOT EXISTS `zstack`.`VirtualRouterMetadataVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `zvrVersion` varchar(32) DEFAULT NULL, + `vyosVersion` varchar(32) DEFAULT NULL, + `kernelVersion` varchar(32) DEFAULT NULL, + PRIMARY KEY (`uuid`), + CONSTRAINT `fkVirtualRouterMetadataVOVirtualRouterVmVO` FOREIGN KEY (`uuid`) REFERENCES `VirtualRouterVmVO` (`uuid`) ON UPDATE RESTRICT ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +UPDATE ResourceVO SET resourceType = "PrimaryStorageVO", concreteResourceType = "org.zstack.storage.ceph.primary.CephPrimaryStorageVO" WHERE resourceType = "CephPrimaryStorageVO"; + +UPDATE ResourceVO set concreteResourceType = "org.zstack.header.vm.VmInstanceVO" WHERE concreteResourceType = "" AND uuid IN (SELECT uuid from VmInstanceVO WHERE type = "UserVm"); +UPDATE AccountResourceRefVO set concreteResourceType = "org.zstack.header.vm.VmInstanceVO" WHERE concreteResourceType = "" AND resourceUuid IN (SELECT uuid from VmInstanceVO WHERE type = "UserVm"); + +UPDATE ResourceVO set concreteResourceType = "org.zstack.header.configuration.InstanceOfferingVO" WHERE concreteResourceType = "" AND uuid IN (SELECT uuid from InstanceOfferingVO WHERE type = "UserVm"); +UPDATE AccountResourceRefVO set concreteResourceType = "org.zstack.header.configuration.InstanceOfferingVO" WHERE concreteResourceType = "" AND resourceUuid IN (SELECT uuid from InstanceOfferingVO WHERE type = "UserVm"); + +UPDATE ResourceVO set concreteResourceType = "org.zstack.header.cluster.ClusterVO" WHERE concreteResourceType = "" AND uuid IN (SELECT uuid from ClusterVO WHERE hypervisorType = "KVM"); +UPDATE AccountResourceRefVO set concreteResourceType = "org.zstack.header.cluster.ClusterVO" WHERE concreteResourceType = "" AND resourceUuid IN (SELECT uuid from ClusterVO WHERE hypervisorType = "KVM"); + +UPDATE ResourceVO set concreteResourceType = "org.zstack.kvm.KVMHostVO" WHERE concreteResourceType = "" AND uuid IN (SELECT uuid from HostVO WHERE hypervisorType = "KVM"); +UPDATE AccountResourceRefVO set concreteResourceType = "org.zstack.kvm.KVMHostVO" WHERE concreteResourceType = "" AND resourceUuid IN (SELECT uuid from HostVO WHERE hypervisorType = "KVM"); + +UPDATE ResourceVO set concreteResourceType = "org.zstack.network.service.lb.LoadBalancerVO" WHERE concreteResourceType = "" AND uuid IN (SELECT uuid from LoadBalancerVO WHERE type = "Shared"); +UPDATE AccountResourceRefVO set concreteResourceType = "org.zstack.network.service.lb.LoadBalancerVO" WHERE concreteResourceType = "" AND resourceUuid IN (SELECT uuid from LoadBalancerVO WHERE type = "Shared"); + +UPDATE ResourceVO SET concreteResourceType = "org.zstack.pciDevice.PciDeviceOfferingVO" WHERE concreteResourceType = "" AND resourceType = "PciDeviceOfferingVO"; +UPDATE AccountResourceRefVO SET concreteResourceType = "org.zstack.pciDevice.PciDeviceOfferingVO" WHERE concreteResourceType = "" AND resourceType = "PciDeviceOfferingVO"; +UPDATE ResourceVO SET concreteResourceType = "org.zstack.pciDevice.PciDeviceOfferingVO" WHERE concreteResourceType = "" AND resourceType = "PciDeviceOfferingVO"; +UPDATE AccountResourceRefVO SET concreteResourceType = "org.zstack.pciDevice.PciDeviceOfferingVO" WHERE concreteResourceType = "" AND resourceType = "PciDeviceOfferingVO"; +UPDATE ResourceVO SET concreteResourceType = "org.zstack.vmware.VCenterPrimaryStorageVO" WHERE concreteResourceType = "" AND resourceType = "VCenterPrimaryStorageVO"; +UPDATE AccountResourceRefVO SET concreteResourceType = "org.zstack.vmware.VCenterPrimaryStorageVO" WHERE concreteResourceType = "" AND resourceType = "VCenterPrimaryStorageVO"; +UPDATE ResourceVO SET concreteResourceType = "org.zstack.header.volume.VolumeVO" WHERE concreteResourceType = "" AND resourceType = "VolumeVO"; +UPDATE AccountResourceRefVO SET concreteResourceType = "org.zstack.header.volume.VolumeVO" WHERE concreteResourceType = "" AND resourceType = "VolumeVO"; +UPDATE ResourceVO SET concreteResourceType = "org.zstack.network.service.eip.EipVO" WHERE concreteResourceType = "" AND resourceType = "EipVO"; +UPDATE AccountResourceRefVO SET concreteResourceType = "org.zstack.network.service.eip.EipVO" WHERE concreteResourceType = "" AND resourceType = "EipVO"; +UPDATE ResourceVO SET concreteResourceType = "org.zstack.network.service.vip.VipVO" WHERE concreteResourceType = "" AND resourceType = "VipVO"; +UPDATE AccountResourceRefVO SET concreteResourceType = "org.zstack.network.service.vip.VipVO" WHERE concreteResourceType = "" AND resourceType = "VipVO"; +UPDATE ResourceVO SET concreteResourceType = "org.zstack.header.affinitygroup.AffinityGroupVO" WHERE concreteResourceType = "" AND resourceType = "AffinityGroupVO"; +UPDATE AccountResourceRefVO SET concreteResourceType = "org.zstack.header.affinitygroup.AffinityGroupVO" WHERE concreteResourceType = "" AND resourceType = "AffinityGroupVO"; +UPDATE ResourceVO SET concreteResourceType = "org.zstack.network.service.portforwarding.PortForwardingRuleVO" WHERE concreteResourceType = "" AND resourceType = "PortForwardingRuleVO"; +UPDATE AccountResourceRefVO SET concreteResourceType = "org.zstack.network.service.portforwarding.PortForwardingRuleVO" WHERE concreteResourceType = "" AND resourceType = "PortForwardingRuleVO"; +UPDATE ResourceVO SET concreteResourceType = "org.zstack.header.cloudformation.StackTemplateVO" WHERE concreteResourceType = "" AND resourceType = "StackTemplateVO"; +UPDATE AccountResourceRefVO SET concreteResourceType = "org.zstack.header.cloudformation.StackTemplateVO" WHERE concreteResourceType = "" AND resourceType = "StackTemplateVO"; +UPDATE ResourceVO SET concreteResourceType = "org.zstack.vpc.VpcRouterVmVO" WHERE concreteResourceType = "" AND resourceType = "VpcRouterVmVO"; +UPDATE AccountResourceRefVO SET concreteResourceType = "org.zstack.vpc.VpcRouterVmVO" WHERE concreteResourceType = "" AND resourceType = "VpcRouterVmVO"; +UPDATE ResourceVO SET concreteResourceType = "org.zstack.network.service.lb.LoadBalancerListenerVO" WHERE concreteResourceType = "" AND resourceType = "LoadBalancerListenerVO"; +UPDATE AccountResourceRefVO SET concreteResourceType = "org.zstack.network.service.lb.LoadBalancerListenerVO" WHERE concreteResourceType = "" AND resourceType = "LoadBalancerListenerVO"; +UPDATE ResourceVO SET concreteResourceType = "org.zstack.header.network.l3.L3NetworkVO" WHERE concreteResourceType = "" AND resourceType = "L3NetworkVO"; +UPDATE AccountResourceRefVO SET concreteResourceType = "org.zstack.header.network.l3.L3NetworkVO" WHERE concreteResourceType = "" AND resourceType = "L3NetworkVO"; +UPDATE ResourceVO SET concreteResourceType = "org.zstack.vmware.ESXHostVO" WHERE concreteResourceType = "" AND resourceType = "ESXHostVO"; +UPDATE AccountResourceRefVO SET concreteResourceType = "org.zstack.vmware.ESXHostVO" WHERE concreteResourceType = "" AND resourceType = "ESXHostVO"; +UPDATE ResourceVO SET concreteResourceType = "org.zstack.ipsec.IPsecConnectionVO" WHERE concreteResourceType = "" AND resourceType = "IPsecConnectionVO"; +UPDATE AccountResourceRefVO SET concreteResourceType = "org.zstack.ipsec.IPsecConnectionVO" WHERE concreteResourceType = "" AND resourceType = "IPsecConnectionVO"; +UPDATE ResourceVO SET concreteResourceType = "org.zstack.storage.primary.sharedblock.SharedBlockGroupVO" WHERE concreteResourceType = "" AND resourceType = "SharedBlockGroupVO"; +UPDATE AccountResourceRefVO SET concreteResourceType = "org.zstack.storage.primary.sharedblock.SharedBlockGroupVO" WHERE concreteResourceType = "" AND resourceType = "SharedBlockGroupVO"; +UPDATE ResourceVO SET concreteResourceType = "org.zstack.storage.primary.sharedblock.SharedBlockGroupVO" WHERE concreteResourceType = "" AND resourceType = "SharedBlockGroupVO"; +UPDATE AccountResourceRefVO SET concreteResourceType = "org.zstack.storage.primary.sharedblock.SharedBlockGroupVO" WHERE concreteResourceType = "" AND resourceType = "SharedBlockGroupVO"; +UPDATE ResourceVO SET concreteResourceType = "org.zstack.network.service.virtualrouter.VirtualRouterOfferingVO" WHERE concreteResourceType = "" AND resourceType = "VirtualRouterOfferingVO"; +UPDATE AccountResourceRefVO SET concreteResourceType = "org.zstack.network.service.virtualrouter.VirtualRouterOfferingVO" WHERE concreteResourceType = "" AND resourceType = "VirtualRouterOfferingVO"; +UPDATE ResourceVO SET concreteResourceType = "org.zstack.storage.ceph.primary.CephPrimaryStorageVO" WHERE concreteResourceType = "" AND resourceType = "CephPrimaryStorageVO"; +UPDATE AccountResourceRefVO SET concreteResourceType = "org.zstack.storage.ceph.primary.CephPrimaryStorageVO" WHERE concreteResourceType = "" AND resourceType = "CephPrimaryStorageVO"; +UPDATE ResourceVO SET concreteResourceType = "org.zstack.network.service.lb.CertificateVO" WHERE concreteResourceType = "" AND resourceType = "CertificateVO"; +UPDATE AccountResourceRefVO SET concreteResourceType = "org.zstack.network.service.lb.CertificateVO" WHERE concreteResourceType = "" AND resourceType = "CertificateVO"; +UPDATE ResourceVO SET concreteResourceType = "org.zstack.storage.backup.imagestore.ImageStoreBackupStorageVO" WHERE concreteResourceType = "" AND resourceType = "ImageStoreBackupStorageVO"; +UPDATE AccountResourceRefVO SET concreteResourceType = "org.zstack.storage.backup.imagestore.ImageStoreBackupStorageVO" WHERE concreteResourceType = "" AND resourceType = "ImageStoreBackupStorageVO"; +UPDATE ResourceVO SET concreteResourceType = "org.zstack.network.l2.vxlan.vxlanNetwork.VxlanNetworkVO" WHERE concreteResourceType = "" AND resourceType = "VxlanNetworkVO"; +UPDATE AccountResourceRefVO SET concreteResourceType = "org.zstack.network.l2.vxlan.vxlanNetwork.VxlanNetworkVO" WHERE concreteResourceType = "" AND resourceType = "VxlanNetworkVO"; +UPDATE ResourceVO SET concreteResourceType = "org.zstack.vmware.VCenterVO" WHERE concreteResourceType = "" AND resourceType = "VCenterVO"; +UPDATE AccountResourceRefVO SET concreteResourceType = "org.zstack.vmware.VCenterVO" WHERE concreteResourceType = "" AND resourceType = "VCenterVO"; +UPDATE ResourceVO SET concreteResourceType = "org.zstack.header.baremetal.power.BaremetalChassisVO" WHERE concreteResourceType = "" AND resourceType = "BaremetalChassisVO"; +UPDATE AccountResourceRefVO SET concreteResourceType = "org.zstack.header.baremetal.power.BaremetalChassisVO" WHERE concreteResourceType = "" AND resourceType = "BaremetalChassisVO"; +UPDATE ResourceVO SET concreteResourceType = "org.zstack.storage.backup.sftp.SftpBackupStorageVO" WHERE concreteResourceType = "" AND resourceType = "SftpBackupStorageVO"; +UPDATE AccountResourceRefVO SET concreteResourceType = "org.zstack.storage.backup.sftp.SftpBackupStorageVO" WHERE concreteResourceType = "" AND resourceType = "SftpBackupStorageVO"; +UPDATE ResourceVO SET concreteResourceType = "org.zstack.header.configuration.DiskOfferingVO" WHERE concreteResourceType = "" AND resourceType = "DiskOfferingVO"; +UPDATE AccountResourceRefVO SET concreteResourceType = "org.zstack.header.configuration.DiskOfferingVO" WHERE concreteResourceType = "" AND resourceType = "DiskOfferingVO"; +UPDATE ResourceVO SET concreteResourceType = "org.zstack.vmware.VCenterBackupStorageVO" WHERE concreteResourceType = "" AND resourceType = "VCenterBackupStorageVO"; +UPDATE AccountResourceRefVO SET concreteResourceType = "org.zstack.vmware.VCenterBackupStorageVO" WHERE concreteResourceType = "" AND resourceType = "VCenterBackupStorageVO"; +UPDATE ResourceVO SET concreteResourceType = "org.zstack.vrouterRoute.VRouterRouteTableVO" WHERE concreteResourceType = "" AND resourceType = "VRouterRouteTableVO"; +UPDATE AccountResourceRefVO SET concreteResourceType = "org.zstack.vrouterRoute.VRouterRouteTableVO" WHERE concreteResourceType = "" AND resourceType = "VRouterRouteTableVO"; +UPDATE ResourceVO SET concreteResourceType = "org.zstack.header.network.l2.L2VlanNetworkVO" WHERE concreteResourceType = "" AND resourceType = "L2VlanNetworkVO"; +UPDATE AccountResourceRefVO SET concreteResourceType = "org.zstack.header.network.l2.L2VlanNetworkVO" WHERE concreteResourceType = "" AND resourceType = "L2VlanNetworkVO"; +UPDATE ResourceVO SET concreteResourceType = "org.zstack.storage.ceph.backup.CephBackupStorageVO" WHERE concreteResourceType = "" AND resourceType = "CephBackupStorageVO"; +UPDATE AccountResourceRefVO SET concreteResourceType = "org.zstack.storage.ceph.backup.CephBackupStorageVO" WHERE concreteResourceType = "" AND resourceType = "CephBackupStorageVO"; +UPDATE ResourceVO SET concreteResourceType = "org.zstack.header.cloudformation.ResourceStackVO" WHERE concreteResourceType = "" AND resourceType = "ResourceStackVO"; +UPDATE AccountResourceRefVO SET concreteResourceType = "org.zstack.header.cloudformation.ResourceStackVO" WHERE concreteResourceType = "" AND resourceType = "ResourceStackVO"; +UPDATE ResourceVO SET concreteResourceType = "org.zstack.header.baremetal.pxeserver.BaremetalPxeServerVO" WHERE concreteResourceType = "" AND resourceType = "BaremetalPxeServerVO"; +UPDATE AccountResourceRefVO SET concreteResourceType = "org.zstack.header.baremetal.pxeserver.BaremetalPxeServerVO" WHERE concreteResourceType = "" AND resourceType = "BaremetalPxeServerVO"; + +ALTER TABLE `zstack`.`PolicyRouteRuleSetVO` modify COLUMN `name` varchar(255); + +ALTER TABLE `zstack`.`IAM2VirtualIDAttributeVO` ADD INDEX `idxName` (`name`(128)); +ALTER TABLE `zstack`.`IAM2VirtualIDAttributeVO` ADD INDEX `idxValue` (`value`(128)); +ALTER TABLE `zstack`.`SharedResourceVO` ADD INDEX `idxToPublic` (`toPublic`); +ALTER TABLE `zstack`.`IAM2OrganizationVO` ADD INDEX `idxRootOrganizationUuid` (`rootOrganizationUuid`); \ No newline at end of file diff --git a/conf/tools/flyway-6.3.1/sql/V4.1.0__schema.sql b/conf/tools/flyway-6.3.1/sql/V4.1.0__schema.sql new file mode 100644 index 00000000000..6d0d679c5d9 --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V4.1.0__schema.sql @@ -0,0 +1,92 @@ +DROP PROCEDURE IF EXISTS upgradeProjectOperatorSystemTags; +DELIMITER $$ +CREATE PROCEDURE upgradeProjectOperatorSystemTags() +BEGIN + DECLARE projectOperatorTag VARCHAR(62); + DECLARE targetProjectUuid VARCHAR(32); + DECLARE iameTargetAccountUuid VARCHAR(32); + DECLARE iam2VirtualIDUuid VARCHAR(32); + DECLARE done INT DEFAULT FALSE; + DECLARE cur CURSOR FOR SELECT systemTag.tag, systemTag.resourceUuid FROM `zstack`.`SystemTagVO` systemTag where systemTag.tag like 'projectOperatorOfProjectUuid::%'; + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; + OPEN cur; + read_loop: LOOP + FETCH cur INTO projectOperatorTag, iam2VirtualIDUuid; + IF done THEN + LEAVE read_loop; + END IF; + + SET targetProjectUuid = SUBSTRING_INDEX(projectOperatorTag, '::', -1); + SELECT `accountUuid` into iameTargetAccountUuid FROM `IAM2ProjectAccountRefVO` WHERE `projectUuid` = targetProjectUuid LIMIT 1; + IF (select count(*) from IAM2VirtualIDRoleRefVO where virtualIDUuid = iam2VirtualIDUuid and roleUuid = 'f2f474c60e7340c0a1d44080d5bde3a9' and targetAccountUuid = iameTargetAccountUuid) < 1 THEN + begin + INSERT INTO IAM2VirtualIDRoleRefVO (`virtualIDUuid`, `roleUuid`, `targetAccountUuid`, createDate, lastOpDate) VALUES (iam2VirtualIDUuid, 'f2f474c60e7340c0a1d44080d5bde3a9', iameTargetAccountUuid, NOW(), NOW()); + end; + END IF; + END LOOP; + CLOSE cur; + SELECT CURTIME(); +END $$ +DELIMITER ; +CALL upgradeProjectOperatorSystemTags(); + +DROP PROCEDURE IF EXISTS upgradeProjectAdminSystemTags; +DELIMITER $$ +CREATE PROCEDURE upgradeProjectAdminSystemTags() +BEGIN + DECLARE projectAdminTag VARCHAR(59); + DECLARE targetProjectUuid VARCHAR(32); + DECLARE iameTargetAccountUuid VARCHAR(32); + DECLARE iam2VirtualIDUuid VARCHAR(32); + DECLARE done INT DEFAULT FALSE; + DECLARE cur CURSOR FOR SELECT systemTag.tag, systemTag.resourceUuid FROM `zstack`.`SystemTagVO` systemTag where systemTag.tag like 'projectAdminOfProjectUuid::%'; + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; + OPEN cur; + read_loop: LOOP + FETCH cur INTO projectAdminTag, iam2VirtualIDUuid; + IF done THEN + LEAVE read_loop; + END IF; + + SET targetProjectUuid = SUBSTRING_INDEX(projectAdminTag, '::', -1); + SELECT `accountUuid` into iameTargetAccountUuid FROM `IAM2ProjectAccountRefVO` WHERE `projectUuid` = targetProjectUuid LIMIT 1; + IF (select count(*) from IAM2VirtualIDRoleRefVO where virtualIDUuid = iam2VirtualIDUuid and roleUuid = '55553cefbbfb42468873897c95408a43' and targetAccountUuid = iameTargetAccountUuid) < 1 THEN + begin + INSERT INTO IAM2VirtualIDRoleRefVO (`virtualIDUuid`, `roleUuid`, `targetAccountUuid`, createDate, lastOpDate) VALUES (iam2VirtualIDUuid, '55553cefbbfb42468873897c95408a43', iameTargetAccountUuid, NOW(), NOW()); + end; + END IF; + END LOOP; + CLOSE cur; + SELECT CURTIME(); +END $$ +DELIMITER ; +CALL upgradeProjectAdminSystemTags(); + +ALTER TABLE `zstack`.`SNSEmailPlatformVO` modify COLUMN `password` VARCHAR(255) NULL; +ALTER TABLE `zstack`.`SNSEmailPlatformVO` modify COLUMN `username` VARCHAR(255) NULL; +alter table `ConsoleProxyAgentVO` add `consoleProxyPort` int NOT NULL; + +alter table GarbageCollectorVO add index idxName (`name`(255)); +alter table GarbageCollectorVO add index idxStatus (`status`); + +CREATE TABLE IF NOT EXISTS `zstack`.`LicenseHistoryVO` +( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `uuid` varchar(32) NOT NULL, + `cpuNum` int(10) NOT NULL, + `hostNum` int(10) NOT NULL, + `vmNum` int(10) NOT NULL, + `expiredDate` bigint unsigned NOT NULL DEFAULT 0, + `issuedDate` bigint unsigned NOT NULL DEFAULT 0, + `uploadDate` bigint unsigned NOT NULL DEFAULT 0, + `licenseType` varchar(32) NOT NULL, + `userName` varchar(32) NOT NULL, + `prodInfo` varchar(32) DEFAULT NULL, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`id`) +) ENGINE = InnoDB DEFAULT CHARSET = utf8; + +CREATE INDEX idxLicenseHistoryVOUploadDate ON LicenseHistoryVO (uploadDate); +drop table ElaborationVO; +drop table ResourceUsageVO; \ No newline at end of file diff --git a/conf/tools/flyway-6.3.1/sql/V4.1.1__schema.sql b/conf/tools/flyway-6.3.1/sql/V4.1.1__schema.sql new file mode 100644 index 00000000000..e69de29bb2d diff --git a/conf/tools/flyway-6.3.1/sql/V4.1.2.1__schema.sql b/conf/tools/flyway-6.3.1/sql/V4.1.2.1__schema.sql new file mode 100644 index 00000000000..11dd85b7e63 --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V4.1.2.1__schema.sql @@ -0,0 +1,54 @@ +CREATE TABLE IF NOT EXISTS `zstack`.`CdpPolicyEO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `name` varchar(255) DEFAULT NULL, + `description` varchar(2048) DEFAULT NULL, + `retentionTimePerDay` int unsigned NOT NULL, + `recoveryPointPerSecond` int unsigned NOT NULL, + `state` varchar(32) NOT NULL, + `deleted` varchar(255) DEFAULT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +DROP VIEW IF EXISTS `zstack`.`CdpPolicyVO`; +CREATE VIEW `zstack`.`CdpPolicyVO` AS SELECT uuid, name, description, retentionTimePerDay, recoveryPointPerSecond, state, lastOpDate, createDate FROM `zstack`.`CdpPolicyEO` WHERE deleted IS NULL; + +CREATE TABLE IF NOT EXISTS `zstack`.`CdpTaskVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `name` varchar(255) NOT NULL, + `description` varchar(2048) DEFAULT NULL, + `taskType` varchar(32) NOT NULL, + `policyUuid` varchar(32) NOT NULL, + `backupStorageUuid` varchar(32) NOT NULL, + `backupBandwidth` bigint(20) unsigned NOT NULL, + `maxCapacity` bigint(20) unsigned NOT NULL, + `usedCapacity` bigint(20) unsigned NOT NULL, + `state` varchar(32) NOT NULL, + `status` varchar(32) NOT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`), + INDEX `idxCdpTaskVOtaskType` (`taskType`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`CdpTaskResourceRefVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `taskUuid` varchar(32) NOT NULL, + `resourceUuid` varchar(32) NOT NULL, + `resourceType` varchar(255) NOT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`id`), + INDEX `idxCdpTaskResourceRefVOtaskUuid` (`taskUuid`), + INDEX `idxCdpTaskResourceRefVOresourceUuid` (`resourceUuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`CdpVolumeHistoryVO` ( + `volumeUuid` varchar(32) NOT NULL, + `backupStorageUuid` varchar(32) NOT NULL, + `lastVolumePath` varchar(1024) DEFAULT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`volumeUuid`, `backupStorageUuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; diff --git a/conf/tools/flyway-6.3.1/sql/V4.1.2__schema.sql b/conf/tools/flyway-6.3.1/sql/V4.1.2__schema.sql new file mode 100644 index 00000000000..f365f159c13 --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V4.1.2__schema.sql @@ -0,0 +1,120 @@ +ALTER TABLE `zstack`.`PciDeviceVO` ADD `chooser` varchar(32) DEFAULT 'None'; +UPDATE PciDeviceVO SET chooser='None' WHERE vmInstanceUuid IS NULL; +UPDATE PciDeviceVO SET chooser='Device' WHERE vmInstanceUuid IS NOT NULL; + +ALTER TABLE `zstack`.`MdevDeviceVO` ADD `chooser` varchar(32) DEFAULT 'None'; +UPDATE MdevDeviceVO SET chooser='None' WHERE vmInstanceUuid IS NULL; +UPDATE MdevDeviceVO SET chooser='Device' WHERE vmInstanceUuid IS NOT NULL; + +UPDATE VmInstancePciSpecDeviceRefVO AS ref LEFT JOIN PciDeviceVO AS pci + ON ref.pciDeviceUuid = pci.uuid + SET chooser='Spec' + WHERE ref.vmInstanceUuid = pci.vmInstanceUuid; +UPDATE VmInstanceMdevSpecDeviceRefVO AS ref LEFT JOIN MdevDeviceVO AS mdev + ON ref.mdevDeviceUuid = mdev.uuid + SET chooser='Spec' + WHERE ref.vmInstanceUuid = mdev.vmInstanceUuid; +DROP TABLE IF EXISTS VmInstancePciSpecDeviceRefVO; +DROP TABLE IF EXISTS VmInstanceMdevSpecDeviceRefVO; + +DELETE FROM SystemTagVO WHERE tag LIKE 'pciDevice::%'; +DELETE FROM SystemTagVO WHERE tag LIKE 'mdevDevice::%'; + +ALTER TABLE `zstack`.`LoadBalancerListenerVO` ADD COLUMN `securityPolicyType` varchar(255); + +DROP PROCEDURE IF EXISTS updateLoadBalancerListenerVO; +DELIMITER $$ +CREATE PROCEDURE updateLoadBalancerListenerVO() +BEGIN + DECLARE uuid VARCHAR(32); + DECLARE protocol VARCHAR(64); + DECLARE done INT DEFAULT FALSE; + DECLARE cur CURSOR FOR SELECT lbl.uuid,lbl.protocol FROM `zstack`.`LoadBalancerListenerVO` lbl; + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; + + OPEN cur; + update_loop: LOOP + FETCH cur INTO uuid,protocol; + IF done THEN + LEAVE update_loop; + END IF; + + IF protocol = "https" THEN UPDATE `zstack`.`LoadBalancerListenerVO` lbl SET lbl.securityPolicyType = "tls_cipher_policy_default" WHERE lbl.uuid = uuid; + END IF; + END LOOP; + CLOSE cur; + +END $$ +DELIMITER ; + +CALL updateLoadBalancerListenerVO(); +DROP PROCEDURE IF EXISTS updateLoadBalancerListenerVO; + +ALTER TABLE `zstack`.`HostEO` ADD COLUMN architecture varchar(32) DEFAULT NULL; + +UPDATE HostEO h +INNER JOIN ( +SELECT +substring_index(tag,"::",-1) arch, +resourceUuid ru +FROM +SystemTagVO +WHERE +tag like "cpuArchitecture%" +) tags on tags.ru = h.uuid +SET h.architecture = tags.arch; + +UPDATE HostEO set architecture = "x86_64" WHERE architecture IS NULL; +DROP VIEW IF EXISTS `zstack`.`HostVO`; +CREATE VIEW `zstack`.`HostVO` AS SELECT uuid, zoneUuid, clusterUuid, name, description, managementIp, hypervisorType, state, status, createDate, lastOpDate, architecture FROM `zstack`.`HostEO` WHERE deleted IS NULL; + +ALTER TABLE `zstack`.`VmInstanceEO` ADD COLUMN architecture varchar(32) DEFAULT NULL; + +UPDATE VmInstanceEO v +INNER JOIN HostEO h +ON (v.hostUuid = h.uuid OR v.lastHostUuid = h.uuid) +set v.architecture = h.architecture; + +DROP VIEW IF EXISTS `zstack`.`VmInstanceVO`; +CREATE VIEW `zstack`.`VmInstanceVO` AS SELECT uuid, name, description, zoneUuid, clusterUuid, imageUuid, hostUuid, internalId, lastHostUuid, instanceOfferingUuid, rootVolumeUuid, defaultL3NetworkUuid, type, hypervisorType, cpuNum, cpuSpeed, memorySize, platform, allocatorStrategy, createDate, lastOpDate, state, architecture FROM `zstack`.`VmInstanceEO` WHERE deleted IS NULL; + + +ALTER TABLE `zstack`.`ImageEO` ADD COLUMN `virtio` boolean DEFAULT TRUE; +UPDATE `zstack`.`ImageEO` SET virtio = FALSE, guestOsType = "Windows" WHERE platform="Windows"; +UPDATE `zstack`.`ImageEO` SET platform = "Windows", virtio = TRUE, guestOsType = "Windows" WHERE platform = "WindowsVirtio"; +UPDATE `zstack`.`ImageEO` SET virtio = TRUE, guestOsType = "Linux" WHERE platform = "Linux"; +UPDATE `zstack`.`ImageEO` SET virtio = FALSE, guestOsType = "Other" WHERE platform = "Other"; +UPDATE `zstack`.`ImageEO` SET platform = "Other", virtio = TRUE, guestOsType = "Other" WHERE platform = "Paravirtualization"; + +DROP VIEW IF EXISTS `zstack`.`ImageVO`; +CREATE VIEW `zstack`.`ImageVO` AS SELECT uuid, name, description, status, state, size, actualSize, md5Sum, platform, type, format, url, `system`, mediaType, guestOsType, architecture, virtio, createDate, lastOpDate FROM `zstack`.`ImageEO` WHERE deleted IS NULL; + +ALTER TABLE `zstack`.`VmInstanceEO` ADD COLUMN `guestOsType` varchar(255) DEFAULT NULL; +DROP VIEW IF EXISTS `zstack`.`VmInstanceVO`; +CREATE VIEW `zstack`.`VmInstanceVO` AS SELECT uuid, name, description, zoneUuid, clusterUuid, imageUuid, hostUuid, internalId, lastHostUuid, instanceOfferingUuid, rootVolumeUuid, defaultL3NetworkUuid, type, hypervisorType, cpuNum, cpuSpeed, memorySize, platform, guestOsType, allocatorStrategy, createDate, lastOpDate, state, architecture FROM `zstack`.`VmInstanceEO` WHERE deleted IS NULL; + +CREATE TABLE IF NOT EXISTS `GuestOsCategoryVO` ( + `uuid` VARCHAR(32) NOT NULL, + `platform` VARCHAR(32) NOT NULL, + `name` VARCHAR(32) NOT NULL, + `version` VARCHAR(32), + `osRelease` VARCHAR(32) NOT NULL, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +INSERT IGNORE INTO SystemTagVO (`uuid`, `resourceUuid`, `resourceType`, `inherent`, `type`, `tag`, `createDate`, `lastOpDate`) +SELECT REPLACE(UUID(),'-',''), t.uuid, 'VmInstanceVO', 0, 'System', 'driver::virtio', CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP() FROM VmInstanceEO t WHERE t.platform IN ('Paravirtualization', 'WindowsVirtio', 'Linux'); +UPDATE `zstack`.`VmInstanceEO` SET guestOsType = "Windows" WHERE platform="Windows"; +UPDATE `zstack`.`VmInstanceEO` SET platform = "Windows", guestOsType = "Windows" WHERE platform = "WindowsVirtio"; +UPDATE `zstack`.`VmInstanceEO` SET guestOsType = "Linux" WHERE platform = "Linux"; +UPDATE `zstack`.`VmInstanceEO` SET guestOsType = "Other" WHERE platform = "Other"; +UPDATE `zstack`.`VmInstanceEO` SET platform = "Other", guestOsType = "Other" WHERE platform = "Paravirtualization"; + +UPDATE `zstack`.`VtepVO` SET port=8472 WHERE port=4789; + +ALTER TABLE `zstack`.`L2NetworkEO` ADD COLUMN `vSwitchType` varchar(32) NOT NULL DEFAULT 'LinuxBridge'; +DROP VIEW IF EXISTS `zstack`.L2NetworkVO; +CREATE VIEW `zstack`.`L2NetworkVO` AS SELECT uuid, name, description, type, vSwitchType, zoneUuid, physicalInterface, createDate, lastOpDate FROM `zstack`.`L2NetworkEO` WHERE deleted IS NULL; +ALTER TABLE `zstack`.`HostNetworkInterfaceVO` ADD COLUMN `offloadStatus` varchar(128) DEFAULT NULL; + + diff --git a/conf/tools/flyway-6.3.1/sql/V4.1.3.1__schema.sql b/conf/tools/flyway-6.3.1/sql/V4.1.3.1__schema.sql new file mode 100644 index 00000000000..ab8bfa08bff --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V4.1.3.1__schema.sql @@ -0,0 +1,15 @@ +CREATE TABLE `zstack`.`EventLogVO` ( + `id` BIGINT UNSIGNED NOT NULL UNIQUE AUTO_INCREMENT, + `content` text NOT NULL, + `type` varchar(32) NOT NULL, + `category` varchar(32) NOT NULL, + `trackingId` varchar(32) DEFAULT NULL, + `resourceUuid` varchar(32) DEFAULT NULL, + `resourceType` varchar(255) DEFAULT NULL, + `time` BIGINT UNSIGNED not NULL, + `createDate` timestamp, + INDEX idxEventLogVOResourceUuid (resourceUuid), + INDEX idxEventLogVOCategory (category), + INDEX idxEventLogVOTime (time), + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; diff --git a/conf/tools/flyway-6.3.1/sql/V4.1.3__schema.sql b/conf/tools/flyway-6.3.1/sql/V4.1.3__schema.sql new file mode 100644 index 00000000000..c860bb4a594 --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V4.1.3__schema.sql @@ -0,0 +1,126 @@ +DELIMITER $$ +CREATE PROCEDURE upgradeSystemEndpointNotifier() +BEGIN + DECLARE oldAppUuid VARCHAR(32); + SELECT `uuid` INTO oldAppUuid FROM `SNSHttpEndpointVO` WHERE `url` = 'http://system-endpoint.XXX_XXX.default' LIMIT 1; + read_loop: LOOP + IF oldAppUuid IS NULL THEN + LEAVE read_loop; + END IF; + DELETE FROM `SNSSubscriberVO` WHERE `endpointUuid` = oldAppUuid; + DELETE FROM `SNSApplicationEndpointVO` WHERE `uuid` = oldAppUuid; + DELETE FROM `ResourceVO` WHERE `uuid` = oldAppUuid; + DELETE FROM `SNSHttpEndpointVO` WHERE `uuid` = oldAppUuid; + DELETE FROM `AccountResourceRefVO` WHERE `resourceUuid` = oldAppUuid; + DELETE FROM `SharedResourceVO` WHERE `resourceUuid` = oldAppUuid; + LEAVE read_loop; + END LOOP; + SELECT CURTIME(); +END $$ +DELIMITER ; +CALL upgradeSystemEndpointNotifier(); + +CREATE TABLE IF NOT EXISTS `zstack`.`AlarmRecordsVO` ( + `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, + `createTime` bigint(20) NOT NULL, + `accountUuid` varchar(32) DEFAULT NULL, + `alarmName` varchar(255) NOT NULL, + `alarmStatus` varchar(64) DEFAULT NULL, + `alarmUuid` varchar(32) DEFAULT NULL, + `comparisonOperator` varchar(128) DEFAULT NULL, + `context` text, + `dataUuid` varchar(32) DEFAULT NULL, + `emergencyLevel` varchar(64) DEFAULT NULL, + `labels` text, + `metricName` varchar(256) DEFAULT NULL, + `metricValue` double DEFAULT NULL, + `namespace` varchar(256) DEFAULT NULL, + `period` int(10) unsigned NOT NULL, + `readStatus` tinyint(1) unsigned NOT NULL DEFAULT '0', + `resourceType` varchar(256) NOT NULL, + `resourceUuid` varchar(256) DEFAULT NULL, + `threshold` double NOT NULL, + `hour` int(10) DEFAULT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `id` (`id`), + KEY `idxDataUuid` (`dataUuid`), + KEY `idxCreateTime` (`createTime`), + KEY `idxAccountUuid` (`accountUuid`), + KEY `idxAccountUuidCreateTime` (`accountUuid`,`createTime`), + KEY `idxAlarmUuid` (`alarmUuid`), + KEY `idxAccountUuidHourEmergencyLevel` (`accountUuid`,`hour`,`emergencyLevel`), + KEY `idxCreateTimeReadStatusEmergencyLevel` (`createTime`,`emergencyLevel`,`readStatus`,`accountUuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`EventRecordsVO` ( + `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, + `createTime` bigint(20) NOT NULL, + `accountUuid` varchar(32) DEFAULT NULL, + `dataUuid` varchar(32) DEFAULT NULL, + `emergencyLevel` varchar(64) DEFAULT NULL, + `name` varchar(256) DEFAULT NULL, + `error` text, + `labels` text, + `namespace` varchar(256) DEFAULT NULL, + `readStatus` tinyint(1) unsigned NOT NULL DEFAULT '0', + `resourceId` varchar(32) DEFAULT NULL, + `resourceName` varchar(256) DEFAULT NULL, + `subscriptionUuid` varchar(32) DEFAULT NULL, + `hour` int(10) DEFAULT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `id` (`id`), + KEY `idxDataUuid` (`dataUuid`), + KEY `idxCreateTime` (`createTime`), + KEY `idxAccountUuid` (`accountUuid`), + KEY `idxAccountUuidCreateTime` (`accountUuid`,`createTime`), + KEY `idxName` (`name`(255)), + KEY `idxSubscriptionUuid` (`subscriptionUuid`), + KEY `idxAccountUuidHourEmergencyLevel` (`accountUuid`,`hour`,`emergencyLevel`), + KEY `idxCreateTimeReadStatusEmergencyLevel` (`createTime`,`emergencyLevel`,`readStatus`,`accountUuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `AuditsVO` ( + `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, + `createTime` bigint(20) NOT NULL, + `apiName` varchar(2048) NOT NULL, + `clientBrowser` varchar(64) NOT NULL, + `clientIp` varchar(64) NOT NULL, + `duration` int(10) unsigned NOT NULL, + `error` text, + `operator` varchar(256) DEFAULT NULL, + `requestDump` text, + `resourceType` varchar(256) NOT NULL, + `resourceUuid` varchar(32) DEFAULT NULL, + `requestUuid` varchar(32) DEFAULT NULL, + `responseDump` text, + `success` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT 'api call success or failed', + `operatorAccountUuid` varchar(32) DEFAULT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `id` (`id`), + KEY `idxCreateTime` (`createTime`), + KEY `idxResourceUuid` (`resourceUuid`), + KEY `idxSuccess` (`success`), + KEY `idxOperatorAccountUuid` (`operatorAccountUuid`), + KEY `idxRequestUuid` (`requestUuid`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; + +alter table AliyunProxyVpcVO modify vRouterUuid varchar(32) null; +alter table AliyunProxyVpcVO drop foreign key fkAliyunProxyVpcVOVmInstanceEO; +alter table AliyunProxyVpcVO add constraint fkAliyunProxyVpcVOVmInstanceEO foreign key (vRouterUuid) references VmInstanceEO (uuid) on delete set null; + + +ALTER TABLE `zstack`.`AccessControlListEntryVO` ADD COLUMN `type` varchar (32) NOT NULL DEFAULT 'IpEntry'; +ALTER TABLE `zstack`.`AccessControlListEntryVO` MODIFY COLUMN `ipEntries` varchar (2048) DEFAULT NULL; +ALTER TABLE `zstack`.`AccessControlListEntryVO` ADD COLUMN `name` varchar (32) DEFAULT NULL; +ALTER TABLE `zstack`.`AccessControlListEntryVO` ADD COLUMN `matchMethod` varchar (32) DEFAULT NULL; +ALTER TABLE `zstack`.`AccessControlListEntryVO` ADD COLUMN `criterion` varchar (32) DEFAULT NULL; +ALTER TABLE `zstack`.`AccessControlListEntryVO` ADD COLUMN `domain` varchar (255) DEFAULT NULL; +ALTER TABLE `zstack`.`AccessControlListEntryVO` ADD COLUMN `url` varchar (255) DEFAULT NULL; +ALTER TABLE `zstack`.`AccessControlListEntryVO` ADD COLUMN `redirectRule` varchar (1024) DEFAULT NULL; + +ALTER TABLE `zstack`.`LoadBalancerListenerACLRefVO` ADD COLUMN `serverGroupUuid` varchar (32) DEFAULT NULL; +ALTER TABLE `zstack`.`LoadBalancerListenerACLRefVO` ADD CONSTRAINT fkLoadBalancerListenerACLRefVOLoadBalancerServerGroupVO FOREIGN KEY (serverGroupUuid) REFERENCES `zstack`.`LoadBalancerServerGroupVO` (uuid) ON DELETE CASCADE; + +ALTER TABLE `zstack`.`LoadBalancerListenerACLRefVO` DROP FOREIGN KEY fkLoadbalancerListenerACLRefVOAccessControlListVO; +ALTER TABLE `zstack`.`LoadBalancerListenerACLRefVO` ADD CONSTRAINT fkLoadbalancerListenerACLRefVOAccessControlListVO FOREIGN KEY (aclUuid) REFERENCES `zstack`.`AccessControlListVO` (uuid) ON DELETE CASCADE; + diff --git a/conf/tools/flyway-6.3.1/sql/V4.1.6__schema.sql b/conf/tools/flyway-6.3.1/sql/V4.1.6__schema.sql new file mode 100644 index 00000000000..e69de29bb2d diff --git a/conf/tools/flyway-6.3.1/sql/V4.2.0.1__schema.sql b/conf/tools/flyway-6.3.1/sql/V4.2.0.1__schema.sql new file mode 100644 index 00000000000..c1bb94de805 --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V4.2.0.1__schema.sql @@ -0,0 +1,16 @@ +CREATE TABLE IF NOT EXISTS `zstack`.`HostPhysicalMemoryVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `manufacturer` varchar(255) DEFAULT NULL, + `size` varchar(32) DEFAULT NULL, + `locator` varchar(255) DEFAULT NULL, + `serialNumber` varchar(255) NOT NULL, + `speed` varchar(32) DEFAULT NULL, + `clockSpeed` varchar(32) DEFAULT NULL, + `rank` varchar(32) DEFAULT NULL, + `voltage` varchar(32) DEFAULT NULL, + `hostUuid` varchar(32) NOT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`), + CONSTRAINT `fkHostPhysicalMemoryVOHostVO` FOREIGN KEY (`hostUuid`) REFERENCES `zstack`.`HostEO` (`uuid`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; \ No newline at end of file diff --git a/conf/tools/flyway-6.3.1/sql/V4.2.0__schema.sql b/conf/tools/flyway-6.3.1/sql/V4.2.0__schema.sql new file mode 100644 index 00000000000..70204b5251d --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V4.2.0__schema.sql @@ -0,0 +1,65 @@ +CREATE TABLE IF NOT EXISTS `zstack`.`VmCrashHistoryVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `uuid` varchar(32) NOT NULL, + `dateInLong` bigint unsigned NOT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`BareMetal2UsageVO` +( + `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, + `bareMetal2ChassisOfferingUuid` varchar(32) NOT NULL, + `vmUuid` varchar(32) NOT NULL, + `vmName` varchar(255) DEFAULT NULL, + `state` varchar(64) NOT NULL, + `accountUuid` varchar(32) NOT NULL, + `dateInLong` bigint(20) unsigned NOT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`id`), + KEY `idxBareMetal2VmUsageVOaccountUuid` (`accountUuid`,`dateInLong`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`PriceBareMetal2ChassisOfferingRefVO` +( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `priceUuid` varchar(32) NOT NULL, + `bareMetal2ChassisOfferingUuid` varchar(32) NOT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`id`), + CONSTRAINT `fkPriceBareMetal2ChassisOfferingRefVOPriceVO` FOREIGN KEY (`priceUuid`) REFERENCES `zstack`.`PriceVO` (`uuid`) ON DELETE CASCADE, + CONSTRAINT `fkPriceBareMetal2ChassisOfferingRefVOBareMetal2ChassisOfferingVO` FOREIGN KEY (`bareMetal2ChassisOfferingUuid`) REFERENCES `zstack`.`BareMetal2ChassisOfferingVO` (`uuid`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`BareMetal2UsageHistoryVO` +( + `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, + `bareMetal2ChassisOfferingUuid` varchar(32) NOT NULL, + `vmUuid` varchar(32) NOT NULL, + `vmName` varchar(255) DEFAULT NULL, + `state` varchar(64) NOT NULL, + `accountUuid` varchar(32) NOT NULL, + `dateInLong` bigint(20) unsigned NOT NULL, + `resourcePriceUserConfig` varchar(1024) DEFAULT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`id`), + KEY `idxBareMetal2VmUsageVOaccountUuid` (`accountUuid`,`dateInLong`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `BareMetal2BillingVO` +( + `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, + `bareMetal2ChassisOfferingUUid` varchar(32) NOT NULL, + `bareMetal2ChassisOfferingName` varchar(255) NOT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `id` (`id`) +)ENGINE=InnoDB DEFAULT CHARSET=utf8; + +INSERT INTO AccountResourceRefVO (`accountUuid`, `ownerAccountUuid`, `resourceUuid`, `resourceType`, `permission`, `isShared`, `lastOpDate`, `createDate`, `concreteResourceType`) SELECT "36c27e8ff05c4780bf6d2fa65700f22e", "36c27e8ff05c4780bf6d2fa65700f22e", t.uuid, "BareMetal2ChassisOfferingVO", 2, 0, CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP(), "org.zstack.baremetal2.configuration.BareMetal2ChassisOfferingVO" FROM BareMetal2ChassisOfferingVO t where t.uuid NOT IN (SELECT resourceUuid FROM AccountResourceRefVO); + +ALTER TABLE RolePolicyStatementVO DROP INDEX roleUuid_2; + diff --git a/conf/tools/flyway-6.3.1/sql/V4.2.2__schema.sql b/conf/tools/flyway-6.3.1/sql/V4.2.2__schema.sql new file mode 100644 index 00000000000..e69de29bb2d diff --git a/conf/tools/flyway-6.3.1/sql/V4.3.0__schema.sql b/conf/tools/flyway-6.3.1/sql/V4.3.0__schema.sql new file mode 100644 index 00000000000..a83fb1a78c3 --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V4.3.0__schema.sql @@ -0,0 +1,2 @@ +ALTER TABLE `zstack`.`AutoScalingGroupActivityVO` ADD COLUMN `instanceUuids` varchar(2048) DEFAULT NULL; +ALTER TABLE `zstack`.`SNSEmailPlatformVO` modify COLUMN `username` VARCHAR(255) NOT NULL; \ No newline at end of file diff --git a/conf/tools/flyway-6.3.1/sql/V4.3.12__schema.sql b/conf/tools/flyway-6.3.1/sql/V4.3.12__schema.sql new file mode 100644 index 00000000000..d00b66d0ac8 --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V4.3.12__schema.sql @@ -0,0 +1,86 @@ +ALTER TABLE `zstack`.`ConsoleProxyVO` ADD COLUMN `version` varchar(32) DEFAULT NULL; + +DELIMITER $$ +CREATE PROCEDURE migrateClockTrackSystemTagToGlobalConfig() +BEGIN + DECLARE vmInstanceUuid VARCHAR(32); + DECLARE clockTrackTag VARCHAR(32); + DECLARE clockTrack VARCHAR(32); + DECLARE ruuid VARCHAR(32); + DECLARE done INT DEFAULT FALSE; + DECLARE cur CURSOR FOR SELECT systemTag.tag, systemTag.resourceUuid FROM `zstack`.`SystemTagVO` systemTag + where `tag` like 'clockTrack::%' and `resourceType`='VmInstanceVO'; + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; + OPEN cur; + read_loop: LOOP + FETCH cur INTO clockTrackTag, vmInstanceUuid; + IF done THEN + LEAVE read_loop; + END IF; + + SET ruuid = REPLACE(UUID(), '-', ''); + SET clockTrack = SUBSTRING_INDEX(clockTrackTag, '::', -1); + INSERT INTO zstack.ResourceConfigVO (uuid, name, description, category, value, resourceUuid, resourceType, lastOpDate, createDate) + values(ruuid, "vm.clock.track", "vm.clock.track", "vm", clockTrack, vmInstanceUuid, "VmInstanceVO", CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP()); + END LOOP; + CLOSE cur; + SELECT CURTIME(); +END $$ +DELIMITER ; + +call migrateClockTrackSystemTagToGlobalConfig(); +DROP PROCEDURE IF EXISTS migrateClockTrackSystemTagToGlobalConfig; + +DELETE FROM `zstack`.`SystemTagVO` where `tag` like 'clockTrack::%' and `resourceType`='VmInstanceVO'; + +ALTER TABLE `zstack`.`SlbVmInstanceVO` DROP FOREIGN KEY `fkSlbVmInstanceVOSlbGroupVO`; +ALTER TABLE `zstack`.`SlbVmInstanceVO` DROP KEY `fkSlbVmInstanceVOSlbGroupVO`; +ALTER TABLE `zstack`.`SlbVmInstanceVO` MODIFY COLUMN `slbGroupUuid` varchar(32) DEFAULT NULL; +ALTER TABLE `zstack`.`SlbVmInstanceVO` ADD CONSTRAINT `fkSlbVmInstanceVOVmInstanceEO` FOREIGN KEY (`uuid`) REFERENCES `VmInstanceEO` (`uuid`) ON DELETE CASCADE; +ALTER TABLE `zstack`.`SlbVmInstanceVO` ADD CONSTRAINT `fkSlbVmInstanceVOSlbGroupVO` FOREIGN KEY (`slbGroupUuid`) REFERENCES `SlbGroupVO` (`uuid`) ON DELETE SET NULL; + +create table if not exists `zstack`.`HostAllocatedCpuVO` ( + `id` bigint not null auto_increment, + `hostUuid` varchar(32) not null, + `allocatedCPU` smallint not null, + constraint HostAllocatedCpuVO_pk + primary key (`id`), + constraint HostAllocatedCpuVO_UniqueIndex_HostUuid_CPUID + unique (hostUuid, allocatedCPU), + constraint HostAllocatedCpuVO_HostEO_uuid_fk + foreign key (`hostUuid`) references `zstack`.`HostEO` (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +create table if not exists `zstack`.`VmInstanceNumaNodeVO` ( + `id` bigint not null auto_increment, + `vmUuid` varchar(32) not null, + `vNodeID` int not null, + `vNodeCPUs` varchar(512) not null, + `vNodeMemSize` bigint not null, + `vNodeDistance` varchar(512) not null, + `pNodeID` int not null, + constraint VmInstanceNumaNodeVO_pk + primary key (`id`), + constraint VmInstanceNumaNodeVO_VmInstanceEO_uuid_fk + foreign key (`vmUuid`) references `zstack`.`VmInstanceEO` (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +create table if not exists `zstack`.`HostNumaNodeVO` ( + `id` bigint not null auto_increment, + `hostUuid` varchar(32) not null, + `nodeID` int not null, + `nodeCPUs` varchar(512) not null, + `nodeMemSize` bigint not null, + `nodeDistance` varchar(512) not null, + constraint HostNumaNodeVO_pk + primary key (`id`), + constraint HostNumaNodeVO_HostEO_uuid_fk + foreign key (`hostUuid`) references `zstack`.`HostEO` (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +ALTER TABLE `zstack`.`PrimaryStorageHostRefVO` ADD UNIQUE INDEX(`primaryStorageUuid`, `hostUuid`); + +ALTER TABLE `BareMetal2ChassisVO` ADD COLUMN `provisionType` varchar(32) NOT NULL DEFAULT 'Remote'; +ALTER TABLE `BareMetal2InstanceVO` ADD COLUMN `provisionType` varchar(32) NOT NULL DEFAULT 'Remote'; +ALTER TABLE `BareMetal2ChassisOfferingVO` ADD COLUMN `provisionType` varchar(32) NOT NULL DEFAULT 'Remote'; +ALTER TABLE `BareMetal2ChassisDiskVO` ADD COLUMN `wwn` varchar(128) DEFAULT NULL; \ No newline at end of file diff --git a/conf/tools/flyway-6.3.1/sql/V4.3.18.1__schema.sql b/conf/tools/flyway-6.3.1/sql/V4.3.18.1__schema.sql new file mode 100644 index 00000000000..8ce9d056b29 --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V4.3.18.1__schema.sql @@ -0,0 +1,6 @@ +ALTER TABLE VolumeEO ADD COLUMN lastVmInstanceUuid VARCHAR(32) DEFAULT NULL; +ALTER TABLE VolumeEO ADD COLUMN lastDetachDate VARCHAR(32) DEFAULT NULL; + +DROP VIEW IF EXISTS `zstack`.`VolumeVO`; +CREATE VIEW `zstack`.`VolumeVO` AS SELECT uuid, name, description, primaryStorageUuid, vmInstanceUuid, diskOfferingUuid, rootImageUuid, installPath, type, status, size, actualSize, deviceId, format, state, createDate, lastOpDate, isShareable, volumeQos, lastVmInstanceUuid, lastDetachDate FROM `zstack`.`VolumeEO` WHERE deleted IS NULL; + diff --git a/conf/tools/flyway-6.3.1/sql/V4.3.18__schema.sql b/conf/tools/flyway-6.3.1/sql/V4.3.18__schema.sql new file mode 100644 index 00000000000..2eafc94e885 --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V4.3.18__schema.sql @@ -0,0 +1,92 @@ +CREATE TABLE IF NOT EXISTS `zstack`.`CCSCertificateVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `algorithm` varchar(10) NOT NULL DEFAULT 'SM2', + `format` char(3) NOT NULL DEFAULT 'CER', + `issuerDN` varchar(64) NOT NULL, + `subjectDN` varchar(64) NOT NULL, + `serNumber` bigint unsigned NOT NULL, + `effectiveTime` bigint unsigned NOT NULL DEFAULT 0, + `expirationTime` bigint unsigned NOT NULL DEFAULT 0, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`uuid`), + UNIQUE KEY `subjectDNAndSerNumber` (`subjectDN`, `serNumber`) +) ENGINE = InnoDB DEFAULT CHARSET = utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`CCSCertificateUserRefVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `userUuid` char(32) NOT NULL, + `certificateUuid` char(32) NOT NULL, + `state` varchar(10) NOT NULL DEFAULT 'Disabled', + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`id`), + CONSTRAINT `fkCCSCertificateUserRefVOCertificateUuid` FOREIGN KEY (`certificateUuid`) REFERENCES `zstack`.`CCSCertificateVO` (`uuid`) ON DELETE CASCADE +) ENGINE = InnoDB DEFAULT CHARSET = utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`SecretResourcePoolVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `zoneUuid` varchar(32) NOT NULL, + `name` varchar(255) NOT NULL, + `type` varchar(255) NOT NULL, + `state` varchar(32) NOT NULL, + `model` varchar(32) NOT NULL, + `heartbeatInterval` int unsigned DEFAULT NULL, + `description` varchar(2048) DEFAULT NULL, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`uuid`), + INDEX `idxSecretResourcePoolVOUuid` (`uuid`), + CONSTRAINT fkSecretResourcePoolVOZoneEO FOREIGN KEY (zoneUuid) REFERENCES ZoneEO (uuid) ON DELETE RESTRICT +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`SecurityMachineVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `zoneUuid` varchar(32) NOT NULL, + `secretResourcePoolUuid` varchar(32) NOT NULL, + `name` varchar(255) NOT NULL, + `state` varchar(32) NOT NULL, + `status` varchar(32) NOT NULL, + `model` varchar(32) NOT NULL, + `type` varchar(32) NOT NULL, + `managementIp` varchar(255) NOT NULL, + `description` varchar(2048) DEFAULT NULL, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`uuid`), + INDEX `idxSecurityMachineVOUuid` (`uuid`), + INDEX `idxSecurityMachineVOSecretResourcePoolUuid` (`secretResourcePoolUuid`), + CONSTRAINT fkSecurityMachineVOSecretResourcePoolVO FOREIGN KEY (secretResourcePoolUuid) REFERENCES SecretResourcePoolVO (uuid) ON DELETE RESTRICT, + CONSTRAINT fkSecurityMachineVOZoneEO FOREIGN KEY (zoneUuid) REFERENCES ZoneEO (uuid) ON DELETE RESTRICT +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`InfoSecSecretResourcePoolVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `connectionMode` int unsigned NOT NULL, + `activatedToken` varchar(32) DEFAULT NULL, + `protectToken` varchar(32) DEFAULT NULL, + `hmacToken` varchar(32) DEFAULT NULL, + PRIMARY KEY (`uuid`), + CONSTRAINT fkInfoSecSecretResourcePoolVOSecretResourcePoolVO FOREIGN KEY (uuid) REFERENCES SecretResourcePoolVO (uuid) ON UPDATE RESTRICT ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`InfoSecSecurityMachineVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `port` int unsigned NOT NULL, + `password` varchar(255) DEFAULT NULL, + PRIMARY KEY (`uuid`), + CONSTRAINT fkInfoSecSecurityMachineVOSecurityMachineVO FOREIGN KEY (uuid) REFERENCES SecurityMachineVO (uuid) ON UPDATE RESTRICT ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`EncryptionIntegrityVO` ( + `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, + `resourceUuid` varchar(32) NOT NULL, + `resourceType` varchar(64) NOT NULL, + `signedText` text, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`id`), + UNIQUE KEY `resource` (`resourceUuid`,`resourceType`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +ALTER TABLE `zstack`.`AuditsVO` ADD COLUMN `signedText` text DEFAULT NULL; diff --git a/conf/tools/flyway-6.3.1/sql/V4.3.24__schema.sql b/conf/tools/flyway-6.3.1/sql/V4.3.24__schema.sql new file mode 100644 index 00000000000..1e40c8d2649 --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V4.3.24__schema.sql @@ -0,0 +1,2 @@ +UPDATE GlobalConfigVO set value = 'LocalEncryption' where category ='encrypt' and name = 'enable.password.encrypt' and value = 'true'; +UPDATE GlobalConfigVO set value = 'None' where category ='encrypt' and name = 'enable.password.encrypt' and value = 'false'; diff --git a/conf/tools/flyway-6.3.1/sql/V4.3.25__schema.sql b/conf/tools/flyway-6.3.1/sql/V4.3.25__schema.sql new file mode 100644 index 00000000000..e69de29bb2d diff --git a/conf/tools/flyway-6.3.1/sql/V4.3.28__schema.sql b/conf/tools/flyway-6.3.1/sql/V4.3.28__schema.sql new file mode 100644 index 00000000000..e69de29bb2d diff --git a/conf/tools/flyway-6.3.1/sql/V4.3.35__schema.sql b/conf/tools/flyway-6.3.1/sql/V4.3.35__schema.sql new file mode 100644 index 00000000000..1e138fca6c2 --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V4.3.35__schema.sql @@ -0,0 +1,8 @@ +ALTER TABLE `zstack`.`HostNumaNodeVO` DROP FOREIGN KEY `HostNumaNodeVO_HostEO_uuid_fk`; +ALTER TABLE `zstack`.`HostNumaNodeVO` ADD CONSTRAINT `HostNumaNodeVO_HostEO_uuid_fk` FOREIGN KEY (`hostUuid`) REFERENCES `HostEO` (`uuid`) ON DELETE CASCADE ; + +ALTER TABLE `zstack`.`VmInstanceNumaNodeVO` DROP FOREIGN KEY `VmInstanceNumaNodeVO_VmInstanceEO_uuid_fk`; +ALTER TABLE `zstack`.`VmInstanceNumaNodeVO` ADD CONSTRAINT `VmInstanceNumaNodeVO_VmInstanceEO_uuid_fk` FOREIGN KEY (`vmUuid`) REFERENCES `VmInstanceEO` (`uuid`) ON DELETE CASCADE ; + +ALTER TABLE `zstack`.`HostAllocatedCpuVO` DROP FOREIGN KEY `HostAllocatedCpuVO_HostEO_uuid_fk`; +ALTER TABLE `zstack`.`HostAllocatedCpuVO` ADD CONSTRAINT `HostAllocatedCpuVO_HostEO_uuid_fk` FOREIGN KEY (`hostUuid`) REFERENCES `HostEO` (`uuid`) ON DELETE CASCADE ; \ No newline at end of file diff --git a/conf/tools/flyway-6.3.1/sql/V4.3.6.1__schema.sql b/conf/tools/flyway-6.3.1/sql/V4.3.6.1__schema.sql new file mode 100644 index 00000000000..2bea67e3f18 --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V4.3.6.1__schema.sql @@ -0,0 +1 @@ +delete from SharedResourceVO where resourceUuid ='f2f474c60e7340c0a1d44080d5bde3a9' and resourceType = 'RoleVO' and toPublic = 1; \ No newline at end of file diff --git a/conf/tools/flyway-6.3.1/sql/V4.3.6__schema.sql b/conf/tools/flyway-6.3.1/sql/V4.3.6__schema.sql new file mode 100644 index 00000000000..91aed1d584e --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V4.3.6__schema.sql @@ -0,0 +1,60 @@ +ALTER TABLE `zstack`.`LicenseHistoryVO` ADD COLUMN `hash` char(32) DEFAULT 'unknown'; +DROP INDEX idxLicenseHistoryVOUploadDate ON LicenseHistoryVO; +CREATE INDEX idxLicenseHistoryVOHash ON LicenseHistoryVO (hash); + +DELETE FROM SystemTagVO WHERE tag LIKE 'bootOrder::%' AND resourceType = 'VmInstanceVO' AND uuid NOT IN (SELECT id FROM + (SELECT min(uuid) AS id FROM SystemTagVO WHERE tag LIKE 'bootOrder::%' GROUP BY resourceUuid) + AS table0); +DELETE FROM SystemTagVO WHERE tag LIKE 'bootOrderOnce::%' AND resourceType = 'VmInstanceVO' AND uuid NOT IN (SELECT id FROM + (SELECT min(uuid) AS id FROM SystemTagVO WHERE tag LIKE 'bootOrderOnce::%' GROUP BY resourceUuid) + AS table0); +UPDATE SystemTagVO SET inherent = 0 WHERE resourceType = 'VmInstanceVO' AND (tag LIKE 'bootOrder::%' OR tag LIKE 'bootOrderOnce::%'); + +CREATE TABLE IF NOT EXISTS `zstack`.`HostPhysicalMemoryVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `manufacturer` varchar(255) DEFAULT NULL, + `size` varchar(32) DEFAULT NULL, + `locator` varchar(255) DEFAULT NULL, + `serialNumber` varchar(255) NOT NULL, + `speed` varchar(32) DEFAULT NULL, + `clockSpeed` varchar(32) DEFAULT NULL, + `rank` varchar(32) DEFAULT NULL, + `voltage` varchar(32) DEFAULT NULL, + `hostUuid` varchar(32) NOT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`), + CONSTRAINT `fkHostPhysicalMemoryVOHostVO` FOREIGN KEY (`hostUuid`) REFERENCES `zstack`.`HostEO` (`uuid`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + + +DROP PROCEDURE IF EXISTS `Alter_Ceph_Table`; +DELIMITER $$ +CREATE PROCEDURE Alter_Ceph_Table() + BEGIN + IF NOT EXISTS( SELECT NULL + FROM INFORMATION_SCHEMA.COLUMNS + WHERE table_name = 'CephPrimaryStoragePoolVO' + AND table_schema = 'zstack' + AND column_name = 'securityPolicy') THEN + + ALTER TABLE `zstack`.`CephPrimaryStoragePoolVO` + ADD COLUMN `securityPolicy` varchar(255) DEFAULT 'Copy', + ADD COLUMN `diskUtilization` FLOAT; + UPDATE `zstack`.`CephPrimaryStoragePoolVO` SET `diskUtilization` = (SELECT format(1 / `replicatedSize`, 3)); + + ALTER TABLE `zstack`.`CephBackupStorageVO` + ADD COLUMN `poolSecurityPolicy` varchar(255) DEFAULT 'Copy', + ADD COLUMN `poolDiskUtilization` FLOAT; + UPDATE `zstack`.`CephBackupStorageVO` SET `poolDiskUtilization` = (SELECT format(1 / `poolReplicatedSize`, 3)); + END IF; + END $$ +DELIMITER ; + +CALL Alter_Ceph_Table(); +DROP PROCEDURE Alter_Ceph_Table; + +UPDATE `zstack`.`BareMetal2ChassisVO` SET status = "IPxeBootFailed" WHERE status = "iPxeBootFailed"; +UPDATE `zstack`.`BareMetal2ChassisVO` SET status = "IPxeBooting" WHERE status = "iPxeBooting"; + +ALTER TABLE QuotaVO MODIFY COLUMN `value` bigint DEFAULT 0; diff --git a/conf/tools/flyway-6.3.1/sql/V4.3.8.0.10__schema.sql b/conf/tools/flyway-6.3.1/sql/V4.3.8.0.10__schema.sql new file mode 100644 index 00000000000..b6d24791f02 --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V4.3.8.0.10__schema.sql @@ -0,0 +1,42 @@ +DROP PROCEDURE IF EXISTS syncSnatDefaultL3ConfigForVpcHa; +DELIMITER $$ +CREATE PROCEDURE syncSnatDefaultL3ConfigForVpcHa() +BEGIN + DECLARE thisVpcHaRouterUuid VARCHAR(32); + DECLARE vpcHaRouterDefaultPublicNetworkUuid VARCHAR(32); + DECLARE defaultL3NetworkUuid VARCHAR(32); + DECLARE done INT DEFAULT FALSE; + DECLARE cur CURSOR FOR SELECT DISTINCT vgsr.vpcHaRouterUuid FROM `zstack`.`VpcHaGroupNetworkServiceRefVO` vgsr WHERE networkServiceName='SNAT'; + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; + OPEN cur; + read_loop: LOOP + FETCH cur INTO thisVpcHaRouterUuid; + IF done THEN + LEAVE read_loop; + END IF; + + SELECT `networkServiceUuid` + FROM `zstack`.`VpcHaGroupNetworkServiceRefVO` + WHERE `vpcHaRouterUuid` = thisVpcHaRouterUuid + AND `networkServiceName` = 'SNAT' + LIMIT 1 INTO vpcHaRouterDefaultPublicNetworkUuid; + + SELECT `defaultRouteL3NetworkUuid` + FROM `zstack`.`ApplianceVmVO` + WHERE uuid IN (SELECT uuid FROM `zstack`.`VpcHaGroupApplianceVmRefVO` WHERE `vpcHaRouterUuid` = thisVpcHaRouterUuid) + AND `haStatus` != 'NoHa' + LIMIT 1 INTO defaultL3NetworkUuid; + + IF STRCMP(defaultL3NetworkUuid, vpcHaRouterDefaultPublicNetworkUuid) THEN + UPDATE `zstack`.`VpcHaGroupNetworkServiceRefVO` + SET `networkServiceUuid` = defaultL3NetworkUuid + WHERE `vpcHaRouterUuid` = thisVpcHaRouterUuid + AND `networkServiceName` = 'SNAT'; + END IF; + END LOOP; + CLOSE cur; + SELECT CURTIME(); +END $$ +DELIMITER ; +CALL syncSnatDefaultL3ConfigForVpcHa(); +DROP PROCEDURE IF EXISTS syncSnatDefaultL3ConfigForVpcHa; \ No newline at end of file diff --git a/conf/tools/flyway-6.3.1/sql/V4.3.8.1__schema.sql b/conf/tools/flyway-6.3.1/sql/V4.3.8.1__schema.sql new file mode 100644 index 00000000000..812152b26f6 --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V4.3.8.1__schema.sql @@ -0,0 +1,72 @@ +DROP PROCEDURE IF EXISTS syncSnatDefaultL3ConfigForVirtualRouter; +DELIMITER $$ +CREATE PROCEDURE syncSnatDefaultL3ConfigForVirtualRouter() +BEGIN + DECLARE virtualRouterUuid VARCHAR(32); + DECLARE publicNetworkUuid VARCHAR(32); + DECLARE defaultL3NetworkUuid VARCHAR(32); + DECLARE done INT DEFAULT FALSE; + DECLARE cur CURSOR FOR SELECT vss.vpcUuid, vss.l3NetworkUuid FROM `zstack`.`VpcSnatStateVO` vss; + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; + OPEN cur; + read_loop: LOOP + FETCH cur INTO virtualRouterUuid, publicNetworkUuid; + IF done THEN + LEAVE read_loop; + END IF; + SELECT `defaultRouteL3NetworkUuid` INTO defaultL3NetworkUuid FROM `zstack`.`ApplianceVmVO` WHERE `uuid` = virtualRouterUuid; + IF STRCMP(defaultL3NetworkUuid, publicNetworkUuid) THEN + IF (select count(*) from `zstack`.`VpcSnatStateVO` where `l3NetworkUuid` = defaultL3NetworkUuid and `vpcUuid` = virtualRouterUuid) < 1 THEN + UPDATE `zstack`.`VpcSnatStateVO` SET `l3NetworkUuid` = defaultL3NetworkUuid WHERE `vpcUuid` = virtualRouterUuid AND `l3NetworkUuid` = publicNetworkUuid; + END IF; + END IF; + END LOOP; + CLOSE cur; + SELECT CURTIME(); +END $$ +DELIMITER ; +CALL syncSnatDefaultL3ConfigForVirtualRouter(); +DROP PROCEDURE IF EXISTS syncSnatDefaultL3ConfigForVirtualRouter; + +ALTER TABLE `zstack`.`VpcSnatStateVO` ADD CONSTRAINT uqVpcL3NetworkRefVO UNIQUE (vpcUuid, l3NetworkUuid); + + +DROP PROCEDURE IF EXISTS syncSnatDefaultL3ConfigForVpcHa; +DELIMITER $$ +CREATE PROCEDURE syncSnatDefaultL3ConfigForVpcHa() +BEGIN + DECLARE thisVpcHaRouterUuid VARCHAR(32); + DECLARE vpcHaRouterDefaultPublicNetworkUuid VARCHAR(32); + DECLARE defaultL3NetworkUuid VARCHAR(32); + DECLARE done INT DEFAULT FALSE; + DECLARE cur CURSOR FOR SELECT DISTINCT vgsr.vpcHaRouterUuid FROM `zstack`.`VpcHaGroupNetworkServiceRefVO` vgsr WHERE networkServiceName='SNAT'; + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; + OPEN cur; + read_loop: LOOP + FETCH cur INTO thisVpcHaRouterUuid; + IF done THEN + LEAVE read_loop; + END IF; + + SELECT `networkServiceUuid` + FROM `zstack`.`VpcHaGroupNetworkServiceRefVO` + WHERE `vpcHaRouterUuid` = thisVpcHaRouterUuid + AND `networkServiceName` = 'SNAT' + LIMIT 1 INTO vpcHaRouterDefaultPublicNetworkUuid; + + SELECT `defaultRouteL3NetworkUuid` + FROM `zstack`.`ApplianceVmVO` + WHERE uuid IN (SELECT uuid FROM `zstack`.`VpcHaGroupApplianceVmRefVO` WHERE `vpcHaRouterUuid` = thisVpcHaRouterUuid) + AND `haStatus` != 'NoHa' + LIMIT 1 INTO defaultL3NetworkUuid; + + IF STRCMP(defaultL3NetworkUuid, vpcHaRouterDefaultPublicNetworkUuid) THEN + UPDATE `zstack`.`VpcHaGroupNetworkServiceRefVO` SET `networkServiceUuid` = defaultL3NetworkUuid WHERE `vpcHaRouterUuid` = thisVpcHaRouterUuid AND `networkServiceName` = 'SNAT'; + END IF; + END LOOP; + CLOSE cur; + SELECT CURTIME(); +END $$ +DELIMITER ; +CALL syncSnatDefaultL3ConfigForVpcHa(); +DROP PROCEDURE IF EXISTS syncSnatDefaultL3ConfigForVpcHa; diff --git a/conf/tools/flyway-6.3.1/sql/V4.3.8__schema.sql b/conf/tools/flyway-6.3.1/sql/V4.3.8__schema.sql new file mode 100644 index 00000000000..122bbf66504 --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V4.3.8__schema.sql @@ -0,0 +1,318 @@ +DROP PROCEDURE IF EXISTS `iam2_Organization_Quota`; +DELIMITER $$ +CREATE PROCEDURE iam2_Organization_Quota() +BEGIN + DECLARE iam2OrganizationUuid VARCHAR(32); + DECLARE quotaUuid VARCHAR(32); + DECLARE done INT DEFAULT FALSE; + DECLARE cur CURSOR FOR select uuid from IAM2OrganizationVO where rootOrganizationUuid = uuid and uuid <> '6e3d19dab98348d8bd67657378843f82'; + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; + OPEN cur; + read_loop: LOOP + FETCH cur INTO iam2OrganizationUuid; + IF done THEN + LEAVE read_loop; + END IF; + + IF NOT EXISTS (select NULL from QuotaVO where identityType = 'IAM2OrganizationVO' and identityUuid = iam2OrganizationUuid and name ='vm.cpuNum') THEN + set quotaUuid = REPLACE(UUID(), '-', ''); + INSERT INTO ResourceVO(uuid, resourceName, resourceType, concreteResourceType) values (quotaUuid, 'vm.cpuNum', 'QuotaVO', 'org.zstack.header.identity.QuotaVO'); + INSERT INTO QuotaVO(uuid, name, identityUuid, identityType, value, lastOpDate, createDate) values (quotaUuid, 'vm.cpuNum', iam2OrganizationUuid, 'IAM2OrganizationVO', -1, NOW(), NOW()); + INSERT INTO AccountResourceRefVO(`accountUuid`, `ownerAccountUuid`, `resourceUuid`, `resourceType`, `permission`, `isShared`, `lastOpDate`, `createDate`, `concreteResourceType`) + values ('36c27e8ff05c4780bf6d2fa65700f22e', '36c27e8ff05c4780bf6d2fa65700f22e', quotaUuid, 'QuotaVO', 2, 0, NOW(), NOW(), 'org.zstack.header.identity.QuotaVO'); + END IF; + IF NOT EXISTS (select NULL from QuotaVO where identityType = 'IAM2OrganizationVO' and identityUuid = iam2OrganizationUuid and name ='portForwarding.num') THEN + set quotaUuid = REPLACE(UUID(), '-', ''); + INSERT INTO ResourceVO(uuid, resourceName, resourceType, concreteResourceType) values (quotaUuid, 'portForwarding.num', 'QuotaVO', 'org.zstack.header.identity.QuotaVO'); + INSERT INTO QuotaVO(uuid, name, identityUuid, identityType, value, lastOpDate, createDate) values (quotaUuid, 'portForwarding.num', iam2OrganizationUuid, 'IAM2OrganizationVO', -1, NOW(), NOW()); + INSERT INTO AccountResourceRefVO(`accountUuid`, `ownerAccountUuid`, `resourceUuid`, `resourceType`, `permission`, `isShared`, `lastOpDate`, `createDate`, `concreteResourceType`) + values ('36c27e8ff05c4780bf6d2fa65700f22e', '36c27e8ff05c4780bf6d2fa65700f22e', quotaUuid, 'QuotaVO', 2, 0, NOW(), NOW(), 'org.zstack.header.identity.QuotaVO'); + END IF; + IF NOT EXISTS (select NULL from QuotaVO where identityType = 'IAM2OrganizationVO' and identityUuid = iam2OrganizationUuid and name ='loadBalancer.num') THEN + set quotaUuid = REPLACE(UUID(), '-', ''); + INSERT INTO QuotaVO(uuid, name, identityUuid, identityType, value, lastOpDate, createDate) values (quotaUuid, 'loadBalancer.num', iam2OrganizationUuid, 'IAM2OrganizationVO', -1, NOW(), NOW()); + INSERT INTO ResourceVO(uuid, resourceName, resourceType, concreteResourceType) values (quotaUuid, 'loadBalancer.num', 'QuotaVO', 'org.zstack.header.identity.QuotaVO'); + INSERT INTO AccountResourceRefVO(`accountUuid`, `ownerAccountUuid`, `resourceUuid`, `resourceType`, `permission`, `isShared`, `lastOpDate`, `createDate`, `concreteResourceType`) + values ('36c27e8ff05c4780bf6d2fa65700f22e', '36c27e8ff05c4780bf6d2fa65700f22e', quotaUuid, 'QuotaVO', 2, 0, NOW(), NOW(), 'org.zstack.header.identity.QuotaVO'); + END IF; + IF NOT EXISTS (select NULL from QuotaVO where identityType = 'IAM2OrganizationVO' and identityUuid = iam2OrganizationUuid and name ='l3.num') THEN + set quotaUuid = REPLACE(UUID(), '-', ''); + INSERT INTO QuotaVO(uuid, name, identityUuid, identityType, value, lastOpDate, createDate) values (quotaUuid, 'l3.num', iam2OrganizationUuid, 'IAM2OrganizationVO', -1, NOW(), NOW()); + INSERT INTO ResourceVO(uuid, resourceName, resourceType, concreteResourceType) values (quotaUuid, 'l3.num', 'QuotaVO', 'org.zstack.header.identity.QuotaVO'); + INSERT INTO AccountResourceRefVO(`accountUuid`, `ownerAccountUuid`, `resourceUuid`, `resourceType`, `permission`, `isShared`, `lastOpDate`, `createDate`, `concreteResourceType`) + values ('36c27e8ff05c4780bf6d2fa65700f22e', '36c27e8ff05c4780bf6d2fa65700f22e', quotaUuid, 'QuotaVO', 2, 0, NOW(), NOW(), 'org.zstack.header.identity.QuotaVO'); + END IF; + + IF NOT EXISTS (select NULL from QuotaVO where identityType = 'IAM2OrganizationVO' and identityUuid = iam2OrganizationUuid and name ='gpu.num') THEN + set quotaUuid = REPLACE(UUID(), '-', ''); + INSERT INTO QuotaVO(uuid, name, identityUuid, identityType, value, lastOpDate, createDate) values (quotaUuid, 'gpu.num', iam2OrganizationUuid, 'IAM2OrganizationVO', -1, NOW(), NOW()); + INSERT INTO ResourceVO(uuid, resourceName, resourceType, concreteResourceType) values (quotaUuid, 'gpu.num', 'QuotaVO', 'org.zstack.header.identity.QuotaVO'); + INSERT INTO AccountResourceRefVO(`accountUuid`, `ownerAccountUuid`, `resourceUuid`, `resourceType`, `permission`, `isShared`, `lastOpDate`, `createDate`, `concreteResourceType`) + values ('36c27e8ff05c4780bf6d2fa65700f22e', '36c27e8ff05c4780bf6d2fa65700f22e', quotaUuid, 'QuotaVO', 2, 0, NOW(), NOW(), 'org.zstack.header.identity.QuotaVO'); + END IF; + IF NOT EXISTS (select NULL from QuotaVO where identityType = 'IAM2OrganizationVO' and identityUuid = iam2OrganizationUuid and name ='sns.endpoint.num') THEN + set quotaUuid = REPLACE(UUID(), '-', ''); + INSERT INTO QuotaVO(uuid, name, identityUuid, identityType, value, lastOpDate, createDate) values (quotaUuid, 'sns.endpoint.num', iam2OrganizationUuid, 'IAM2OrganizationVO', -1, NOW(), NOW()); + INSERT INTO ResourceVO(uuid, resourceName, resourceType, concreteResourceType) values (quotaUuid, 'sns.endpoint.num', 'QuotaVO', 'org.zstack.header.identity.QuotaVO'); + INSERT INTO AccountResourceRefVO(`accountUuid`, `ownerAccountUuid`, `resourceUuid`, `resourceType`, `permission`, `isShared`, `lastOpDate`, `createDate`, `concreteResourceType`) + values ('36c27e8ff05c4780bf6d2fa65700f22e', '36c27e8ff05c4780bf6d2fa65700f22e', quotaUuid, 'QuotaVO', 2, 0, NOW(), NOW(), 'org.zstack.header.identity.QuotaVO'); + END IF; + IF NOT EXISTS (select NULL from QuotaVO where identityType = 'IAM2OrganizationVO' and identityUuid = iam2OrganizationUuid and name ='zwatch.alarm.num') THEN + set quotaUuid = REPLACE(UUID(), '-', ''); + INSERT INTO QuotaVO(uuid, name, identityUuid, identityType, value, lastOpDate, createDate) values (quotaUuid, 'zwatch.alarm.num', iam2OrganizationUuid, 'IAM2OrganizationVO', -1, NOW(), NOW()); + INSERT INTO ResourceVO(uuid, resourceName, resourceType, concreteResourceType) values (quotaUuid, 'zwatch.alarm.num', 'QuotaVO', 'org.zstack.header.identity.QuotaVO'); + INSERT INTO AccountResourceRefVO(`accountUuid`, `ownerAccountUuid`, `resourceUuid`, `resourceType`, `permission`, `isShared`, `lastOpDate`, `createDate`, `concreteResourceType`) + values ('36c27e8ff05c4780bf6d2fa65700f22e', '36c27e8ff05c4780bf6d2fa65700f22e', quotaUuid, 'QuotaVO', 2, 0, NOW(), NOW(), 'org.zstack.header.identity.QuotaVO'); + END IF; + IF NOT EXISTS (select NULL from QuotaVO where identityType = 'IAM2OrganizationVO' and identityUuid = iam2OrganizationUuid and name ='vm.totalNum') THEN + set quotaUuid = REPLACE(UUID(), '-', ''); + INSERT INTO QuotaVO(uuid, name, identityUuid, identityType, value, lastOpDate, createDate) values (quotaUuid, 'vm.totalNum', iam2OrganizationUuid, 'IAM2OrganizationVO', -1, NOW(), NOW()); + INSERT INTO ResourceVO(uuid, resourceName, resourceType, concreteResourceType) values (quotaUuid, 'vm.totalNum', 'QuotaVO', 'org.zstack.header.identity.QuotaVO'); + INSERT INTO AccountResourceRefVO(`accountUuid`, `ownerAccountUuid`, `resourceUuid`, `resourceType`, `permission`, `isShared`, `lastOpDate`, `createDate`, `concreteResourceType`) + values ('36c27e8ff05c4780bf6d2fa65700f22e', '36c27e8ff05c4780bf6d2fa65700f22e', quotaUuid, 'QuotaVO', 2, 0, NOW(), NOW(), 'org.zstack.header.identity.QuotaVO'); + END IF; + + + IF NOT EXISTS (select NULL from QuotaVO where identityType = 'IAM2OrganizationVO' and identityUuid = iam2OrganizationUuid and name ='image.size') THEN + set quotaUuid = REPLACE(UUID(), '-', ''); + INSERT INTO QuotaVO(uuid, name, identityUuid, identityType, value, lastOpDate, createDate) values (quotaUuid, 'image.size', iam2OrganizationUuid, 'IAM2OrganizationVO', -1, NOW(), NOW()); + INSERT INTO ResourceVO(uuid, resourceName, resourceType, concreteResourceType) values (quotaUuid, 'image.size', 'QuotaVO', 'org.zstack.header.identity.QuotaVO'); + INSERT INTO AccountResourceRefVO(`accountUuid`, `ownerAccountUuid`, `resourceUuid`, `resourceType`, `permission`, `isShared`, `lastOpDate`, `createDate`, `concreteResourceType`) + values ('36c27e8ff05c4780bf6d2fa65700f22e', '36c27e8ff05c4780bf6d2fa65700f22e', quotaUuid, 'QuotaVO', 2, 0, NOW(), NOW(), 'org.zstack.header.identity.QuotaVO'); + END IF; + IF NOT EXISTS (select NULL from QuotaVO where identityType = 'IAM2OrganizationVO' and identityUuid = iam2OrganizationUuid and name ='scheduler.num') THEN + set quotaUuid = REPLACE(UUID(), '-', ''); + INSERT INTO QuotaVO(uuid, name, identityUuid, identityType, value, lastOpDate, createDate) values (quotaUuid, 'scheduler.num', iam2OrganizationUuid, 'IAM2OrganizationVO', -1, NOW(), NOW()); + INSERT INTO ResourceVO(uuid, resourceName, resourceType, concreteResourceType) values (quotaUuid, 'scheduler.num', 'QuotaVO', 'org.zstack.header.identity.QuotaVO'); + INSERT INTO AccountResourceRefVO(`accountUuid`, `ownerAccountUuid`, `resourceUuid`, `resourceType`, `permission`, `isShared`, `lastOpDate`, `createDate`, `concreteResourceType`) + values ('36c27e8ff05c4780bf6d2fa65700f22e', '36c27e8ff05c4780bf6d2fa65700f22e', quotaUuid, 'QuotaVO', 2, 0, NOW(), NOW(), 'org.zstack.header.identity.QuotaVO'); + END IF; + IF NOT EXISTS (select NULL from QuotaVO where identityType = 'IAM2OrganizationVO' and identityUuid = iam2OrganizationUuid and name ='volume.backup.num') THEN + set quotaUuid = REPLACE(UUID(), '-', ''); + INSERT INTO QuotaVO(uuid, name, identityUuid, identityType, value, lastOpDate, createDate) values (quotaUuid, 'volume.backup.num', iam2OrganizationUuid, 'IAM2OrganizationVO', -1, NOW(), NOW()); + INSERT INTO ResourceVO(uuid, resourceName, resourceType, concreteResourceType) values (quotaUuid, 'volume.backup.num', 'QuotaVO', 'org.zstack.header.identity.QuotaVO'); + INSERT INTO AccountResourceRefVO(`accountUuid`, `ownerAccountUuid`, `resourceUuid`, `resourceType`, `permission`, `isShared`, `lastOpDate`, `createDate`, `concreteResourceType`) + values ('36c27e8ff05c4780bf6d2fa65700f22e', '36c27e8ff05c4780bf6d2fa65700f22e', quotaUuid, 'QuotaVO', 2, 0, NOW(), NOW(), 'org.zstack.header.identity.QuotaVO'); + END IF; + IF NOT EXISTS (select NULL from QuotaVO where identityType = 'IAM2OrganizationVO' and identityUuid = iam2OrganizationUuid and name ='eip.num') THEN + set quotaUuid = REPLACE(UUID(), '-', ''); + INSERT INTO QuotaVO(uuid, name, identityUuid, identityType, value, lastOpDate, createDate) values (quotaUuid, 'eip.num', iam2OrganizationUuid, 'IAM2OrganizationVO', -1, NOW(), NOW()); + INSERT INTO ResourceVO(uuid, resourceName, resourceType, concreteResourceType) values (quotaUuid, 'eip.num', 'QuotaVO', 'org.zstack.header.identity.QuotaVO'); + INSERT INTO AccountResourceRefVO(`accountUuid`, `ownerAccountUuid`, `resourceUuid`, `resourceType`, `permission`, `isShared`, `lastOpDate`, `createDate`, `concreteResourceType`) + values ('36c27e8ff05c4780bf6d2fa65700f22e', '36c27e8ff05c4780bf6d2fa65700f22e', quotaUuid, 'QuotaVO', 2, 0, NOW(), NOW(), 'org.zstack.header.identity.QuotaVO'); + END IF; + + IF NOT EXISTS (select NULL from QuotaVO where identityType = 'IAM2OrganizationVO' and identityUuid = iam2OrganizationUuid and name ='vm.memorySize') THEN + set quotaUuid = REPLACE(UUID(), '-', ''); + INSERT INTO QuotaVO(uuid, name, identityUuid, identityType, value, lastOpDate, createDate) values (quotaUuid, 'vm.memorySize', iam2OrganizationUuid, 'IAM2OrganizationVO', -1, NOW(), NOW()); + INSERT INTO ResourceVO(uuid, resourceName, resourceType, concreteResourceType) values (quotaUuid, 'vm.memorySize', 'QuotaVO', 'org.zstack.header.identity.QuotaVO'); + INSERT INTO AccountResourceRefVO(`accountUuid`, `ownerAccountUuid`, `resourceUuid`, `resourceType`, `permission`, `isShared`, `lastOpDate`, `createDate`, `concreteResourceType`) + values ('36c27e8ff05c4780bf6d2fa65700f22e', '36c27e8ff05c4780bf6d2fa65700f22e', quotaUuid, 'QuotaVO', 2, 0, NOW(), NOW(), 'org.zstack.header.identity.QuotaVO'); + END IF; + IF NOT EXISTS (select NULL from QuotaVO where identityType = 'IAM2OrganizationVO' and identityUuid = iam2OrganizationUuid and name ='vxlan.num') THEN + set quotaUuid = REPLACE(UUID(), '-', ''); + INSERT INTO QuotaVO(uuid, name, identityUuid, identityType, value, lastOpDate, createDate) values (quotaUuid, 'vxlan.num', iam2OrganizationUuid, 'IAM2OrganizationVO', -1, NOW(), NOW()); + INSERT INTO ResourceVO(uuid, resourceName, resourceType, concreteResourceType) values (quotaUuid, 'vxlan.num', 'QuotaVO', 'org.zstack.header.identity.QuotaVO'); + INSERT INTO AccountResourceRefVO(`accountUuid`, `ownerAccountUuid`, `resourceUuid`, `resourceType`, `permission`, `isShared`, `lastOpDate`, `createDate`, `concreteResourceType`) + values ('36c27e8ff05c4780bf6d2fa65700f22e', '36c27e8ff05c4780bf6d2fa65700f22e', quotaUuid, 'QuotaVO', 2, 0, NOW(), NOW(), 'org.zstack.header.identity.QuotaVO'); + END IF; + IF NOT EXISTS (select NULL from QuotaVO where identityType = 'IAM2OrganizationVO' and identityUuid = iam2OrganizationUuid and name ='tag2.tag.num') THEN + set quotaUuid = REPLACE(UUID(), '-', ''); + INSERT INTO QuotaVO(uuid, name, identityUuid, identityType, value, lastOpDate, createDate) values (quotaUuid, 'tag2.tag.num', iam2OrganizationUuid, 'IAM2OrganizationVO', -1, NOW(), NOW()); + INSERT INTO ResourceVO(uuid, resourceName, resourceType, concreteResourceType) values (quotaUuid, 'tag2.tag.num', 'QuotaVO', 'org.zstack.header.identity.QuotaVO'); + INSERT INTO AccountResourceRefVO(`accountUuid`, `ownerAccountUuid`, `resourceUuid`, `resourceType`, `permission`, `isShared`, `lastOpDate`, `createDate`, `concreteResourceType`) + values ('36c27e8ff05c4780bf6d2fa65700f22e', '36c27e8ff05c4780bf6d2fa65700f22e', quotaUuid, 'QuotaVO', 2, 0, NOW(), NOW(), 'org.zstack.header.identity.QuotaVO'); + END IF; + IF NOT EXISTS (select NULL from QuotaVO where identityType = 'IAM2OrganizationVO' and identityUuid = iam2OrganizationUuid and name ='snapshot.volume.num') THEN + set quotaUuid = REPLACE(UUID(), '-', ''); + INSERT INTO QuotaVO(uuid, name, identityUuid, identityType, value, lastOpDate, createDate) values (quotaUuid, 'snapshot.volume.num', iam2OrganizationUuid, 'IAM2OrganizationVO', -1, NOW(), NOW()); + INSERT INTO ResourceVO(uuid, resourceName, resourceType, concreteResourceType) values (quotaUuid, 'snapshot.volume.num', 'QuotaVO', 'org.zstack.header.identity.QuotaVO'); + INSERT INTO AccountResourceRefVO(`accountUuid`, `ownerAccountUuid`, `resourceUuid`, `resourceType`, `permission`, `isShared`, `lastOpDate`, `createDate`, `concreteResourceType`) + values ('36c27e8ff05c4780bf6d2fa65700f22e', '36c27e8ff05c4780bf6d2fa65700f22e', quotaUuid, 'QuotaVO', 2, 0, NOW(), NOW(), 'org.zstack.header.identity.QuotaVO'); + END IF; + + IF NOT EXISTS (select NULL from QuotaVO where identityType = 'IAM2OrganizationVO' and identityUuid = iam2OrganizationUuid and name ='image.num') THEN + set quotaUuid = REPLACE(UUID(), '-', ''); + INSERT INTO QuotaVO(uuid, name, identityUuid, identityType, value, lastOpDate, createDate) values (quotaUuid, 'image.num', iam2OrganizationUuid, 'IAM2OrganizationVO', -1, NOW(), NOW()); + INSERT INTO ResourceVO(uuid, resourceName, resourceType, concreteResourceType) values (quotaUuid, 'image.num', 'QuotaVO', 'org.zstack.header.identity.QuotaVO'); + INSERT INTO AccountResourceRefVO(`accountUuid`, `ownerAccountUuid`, `resourceUuid`, `resourceType`, `permission`, `isShared`, `lastOpDate`, `createDate`, `concreteResourceType`) + values ('36c27e8ff05c4780bf6d2fa65700f22e', '36c27e8ff05c4780bf6d2fa65700f22e', quotaUuid, 'QuotaVO', 2, 0, NOW(), NOW(), 'org.zstack.header.identity.QuotaVO'); + END IF; + IF NOT EXISTS (select NULL from QuotaVO where identityType = 'IAM2OrganizationVO' and identityUuid = iam2OrganizationUuid and name ='vip.num') THEN + set quotaUuid = REPLACE(UUID(), '-', ''); + INSERT INTO QuotaVO(uuid, name, identityUuid, identityType, value, lastOpDate, createDate) values (quotaUuid, 'vip.num', iam2OrganizationUuid, 'IAM2OrganizationVO', -1, NOW(), NOW()); + INSERT INTO ResourceVO(uuid, resourceName, resourceType, concreteResourceType) values (quotaUuid, 'vip.num', 'QuotaVO', 'org.zstack.header.identity.QuotaVO'); + INSERT INTO AccountResourceRefVO(`accountUuid`, `ownerAccountUuid`, `resourceUuid`, `resourceType`, `permission`, `isShared`, `lastOpDate`, `createDate`, `concreteResourceType`) + values ('36c27e8ff05c4780bf6d2fa65700f22e', '36c27e8ff05c4780bf6d2fa65700f22e', quotaUuid, 'QuotaVO', 2, 0, NOW(), NOW(), 'org.zstack.header.identity.QuotaVO'); + END IF; + IF NOT EXISTS (select NULL from QuotaVO where identityType = 'IAM2OrganizationVO' and identityUuid = iam2OrganizationUuid and name ='vm.num') THEN + set quotaUuid = REPLACE(UUID(), '-', ''); + INSERT INTO QuotaVO(uuid, name, identityUuid, identityType, value, lastOpDate, createDate) values (quotaUuid, 'vm.num', iam2OrganizationUuid, 'IAM2OrganizationVO', -1, NOW(), NOW()); + INSERT INTO ResourceVO(uuid, resourceName, resourceType, concreteResourceType) values (quotaUuid, 'vm.num', 'QuotaVO', 'org.zstack.header.identity.QuotaVO'); + INSERT INTO AccountResourceRefVO(`accountUuid`, `ownerAccountUuid`, `resourceUuid`, `resourceType`, `permission`, `isShared`, `lastOpDate`, `createDate`, `concreteResourceType`) + values ('36c27e8ff05c4780bf6d2fa65700f22e', '36c27e8ff05c4780bf6d2fa65700f22e', quotaUuid, 'QuotaVO', 2, 0, NOW(), NOW(), 'org.zstack.header.identity.QuotaVO'); + END IF; + IF NOT EXISTS (select NULL from QuotaVO where identityType = 'IAM2OrganizationVO' and identityUuid = iam2OrganizationUuid and name ='zwatch.event.num') THEN + set quotaUuid = REPLACE(UUID(), '-', ''); + INSERT INTO QuotaVO(uuid, name, identityUuid, identityType, value, lastOpDate, createDate) values (quotaUuid, 'zwatch.event.num', iam2OrganizationUuid, 'IAM2OrganizationVO', -1, NOW(), NOW()); + INSERT INTO ResourceVO(uuid, resourceName, resourceType, concreteResourceType) values (quotaUuid, 'zwatch.event.num', 'QuotaVO', 'org.zstack.header.identity.QuotaVO'); + INSERT INTO AccountResourceRefVO(`accountUuid`, `ownerAccountUuid`, `resourceUuid`, `resourceType`, `permission`, `isShared`, `lastOpDate`, `createDate`, `concreteResourceType`) + values ('36c27e8ff05c4780bf6d2fa65700f22e', '36c27e8ff05c4780bf6d2fa65700f22e', quotaUuid, 'QuotaVO', 2, 0, NOW(), NOW(), 'org.zstack.header.identity.QuotaVO'); + END IF; + + IF NOT EXISTS (select NULL from QuotaVO where identityType = 'IAM2OrganizationVO' and identityUuid = iam2OrganizationUuid and name ='volume.capacity') THEN + set quotaUuid = REPLACE(UUID(), '-', ''); + INSERT INTO QuotaVO(uuid, name, identityUuid, identityType, value, lastOpDate, createDate) values (quotaUuid, 'volume.capacity', iam2OrganizationUuid, 'IAM2OrganizationVO', -1, NOW(), NOW()); + INSERT INTO ResourceVO(uuid, resourceName, resourceType, concreteResourceType) values (quotaUuid, 'volume.capacity', 'QuotaVO', 'org.zstack.header.identity.QuotaVO'); + INSERT INTO AccountResourceRefVO(`accountUuid`, `ownerAccountUuid`, `resourceUuid`, `resourceType`, `permission`, `isShared`, `lastOpDate`, `createDate`, `concreteResourceType`) + values ('36c27e8ff05c4780bf6d2fa65700f22e', '36c27e8ff05c4780bf6d2fa65700f22e', quotaUuid, 'QuotaVO', 2, 0, NOW(), NOW(), 'org.zstack.header.identity.QuotaVO'); + END IF; + IF NOT EXISTS (select NULL from QuotaVO where identityType = 'IAM2OrganizationVO' and identityUuid = iam2OrganizationUuid and name ='volume.data.num') THEN + set quotaUuid = REPLACE(UUID(), '-', ''); + INSERT INTO QuotaVO(uuid, name, identityUuid, identityType, value, lastOpDate, createDate) values (quotaUuid, 'volume.data.num', iam2OrganizationUuid, 'IAM2OrganizationVO', -1, NOW(), NOW()); + INSERT INTO ResourceVO(uuid, resourceName, resourceType, concreteResourceType) values (quotaUuid, 'volume.data.num', 'QuotaVO', 'org.zstack.header.identity.QuotaVO'); + INSERT INTO AccountResourceRefVO(`accountUuid`, `ownerAccountUuid`, `resourceUuid`, `resourceType`, `permission`, `isShared`, `lastOpDate`, `createDate`, `concreteResourceType`) + values ('36c27e8ff05c4780bf6d2fa65700f22e', '36c27e8ff05c4780bf6d2fa65700f22e', quotaUuid, 'QuotaVO', 2, 0, NOW(), NOW(), 'org.zstack.header.identity.QuotaVO'); + END IF; + IF NOT EXISTS (select NULL from QuotaVO where identityType = 'IAM2OrganizationVO' and identityUuid = iam2OrganizationUuid and name ='securityGroup.num') THEN + set quotaUuid = REPLACE(UUID(), '-', ''); + INSERT INTO QuotaVO(uuid, name, identityUuid, identityType, value, lastOpDate, createDate) values (quotaUuid, 'securityGroup.num', iam2OrganizationUuid, 'IAM2OrganizationVO', -1, NOW(), NOW()); + INSERT INTO ResourceVO(uuid, resourceName, resourceType, concreteResourceType) values (quotaUuid, 'securityGroup.num', 'QuotaVO', 'org.zstack.header.identity.QuotaVO'); + INSERT INTO AccountResourceRefVO(`accountUuid`, `ownerAccountUuid`, `resourceUuid`, `resourceType`, `permission`, `isShared`, `lastOpDate`, `createDate`, `concreteResourceType`) + values ('36c27e8ff05c4780bf6d2fa65700f22e', '36c27e8ff05c4780bf6d2fa65700f22e', quotaUuid, 'QuotaVO', 2, 0, NOW(), NOW(), 'org.zstack.header.identity.QuotaVO'); + END IF; + IF NOT EXISTS (select NULL from QuotaVO where identityType = 'IAM2OrganizationVO' and identityUuid = iam2OrganizationUuid and name ='volume.backup.size') THEN + set quotaUuid = REPLACE(UUID(), '-', ''); + INSERT INTO QuotaVO(uuid, name, identityUuid, identityType, value, lastOpDate, createDate) values (quotaUuid, 'volume.backup.size', iam2OrganizationUuid, 'IAM2OrganizationVO', -1, NOW(), NOW()); + INSERT INTO ResourceVO(uuid, resourceName, resourceType, concreteResourceType) values (quotaUuid, 'volume.backup.size', 'QuotaVO', 'org.zstack.header.identity.QuotaVO'); + INSERT INTO AccountResourceRefVO(`accountUuid`, `ownerAccountUuid`, `resourceUuid`, `resourceType`, `permission`, `isShared`, `lastOpDate`, `createDate`, `concreteResourceType`) + values ('36c27e8ff05c4780bf6d2fa65700f22e', '36c27e8ff05c4780bf6d2fa65700f22e', quotaUuid, 'QuotaVO', 2, 0, NOW(), NOW(), 'org.zstack.header.identity.QuotaVO'); + END IF; + + IF NOT EXISTS (select NULL from QuotaVO where identityType = 'IAM2OrganizationVO' and identityUuid = iam2OrganizationUuid and name ='affinitygroup.num') THEN + set quotaUuid = REPLACE(UUID(), '-', ''); + INSERT INTO QuotaVO(uuid, name, identityUuid, identityType, value, lastOpDate, createDate) values (quotaUuid, 'affinitygroup.num', iam2OrganizationUuid, 'IAM2OrganizationVO', -1, NOW(), NOW()); + INSERT INTO ResourceVO(uuid, resourceName, resourceType, concreteResourceType) values (quotaUuid, 'affinitygroup.num', 'QuotaVO', 'org.zstack.header.identity.QuotaVO'); + INSERT INTO AccountResourceRefVO(`accountUuid`, `ownerAccountUuid`, `resourceUuid`, `resourceType`, `permission`, `isShared`, `lastOpDate`, `createDate`, `concreteResourceType`) + values ('36c27e8ff05c4780bf6d2fa65700f22e', '36c27e8ff05c4780bf6d2fa65700f22e', quotaUuid, 'QuotaVO', 2, 0, NOW(), NOW(), 'org.zstack.header.identity.QuotaVO'); + END IF; + IF NOT EXISTS (select NULL from QuotaVO where identityType = 'IAM2OrganizationVO' and identityUuid = iam2OrganizationUuid and name ='listener.num') THEN + set quotaUuid = REPLACE(UUID(), '-', ''); + INSERT INTO QuotaVO(uuid, name, identityUuid, identityType, value, lastOpDate, createDate) values (quotaUuid, 'listener.num', iam2OrganizationUuid, 'IAM2OrganizationVO', -1, NOW(), NOW()); + INSERT INTO ResourceVO(uuid, resourceName, resourceType, concreteResourceType) values (quotaUuid, 'listener.num', 'QuotaVO', 'org.zstack.header.identity.QuotaVO'); + INSERT INTO AccountResourceRefVO(`accountUuid`, `ownerAccountUuid`, `resourceUuid`, `resourceType`, `permission`, `isShared`, `lastOpDate`, `createDate`, `concreteResourceType`) + values ('36c27e8ff05c4780bf6d2fa65700f22e', '36c27e8ff05c4780bf6d2fa65700f22e', quotaUuid, 'QuotaVO', 2, 0, NOW(), NOW(), 'org.zstack.header.identity.QuotaVO'); + END IF; + IF NOT EXISTS (select NULL from QuotaVO where identityType = 'IAM2OrganizationVO' and identityUuid = iam2OrganizationUuid and name ='pci.num') THEN + set quotaUuid = REPLACE(UUID(), '-', ''); + INSERT INTO QuotaVO(uuid, name, identityUuid, identityType, value, lastOpDate, createDate) values (quotaUuid, 'pci.num', iam2OrganizationUuid, 'IAM2OrganizationVO', -1, NOW(), NOW()); + INSERT INTO ResourceVO(uuid, resourceName, resourceType, concreteResourceType) values (quotaUuid, 'pci.num', 'QuotaVO', 'org.zstack.header.identity.QuotaVO'); + INSERT INTO AccountResourceRefVO(`accountUuid`, `ownerAccountUuid`, `resourceUuid`, `resourceType`, `permission`, `isShared`, `lastOpDate`, `createDate`, `concreteResourceType`) + values ('36c27e8ff05c4780bf6d2fa65700f22e', '36c27e8ff05c4780bf6d2fa65700f22e', quotaUuid, 'QuotaVO', 2, 0, NOW(), NOW(), 'org.zstack.header.identity.QuotaVO'); + END IF; + IF NOT EXISTS (select NULL from QuotaVO where identityType = 'IAM2OrganizationVO' and identityUuid = iam2OrganizationUuid and name ='scheduler.trigger.num') THEN + set quotaUuid = REPLACE(UUID(), '-', ''); + INSERT INTO QuotaVO(uuid, name, identityUuid, identityType, value, lastOpDate, createDate) values (quotaUuid, 'scheduler.trigger.num', iam2OrganizationUuid, 'IAM2OrganizationVO', -1, NOW(), NOW()); + INSERT INTO ResourceVO(uuid, resourceName, resourceType, concreteResourceType) values (quotaUuid, 'scheduler.trigger.num', 'QuotaVO', 'org.zstack.header.identity.QuotaVO'); + INSERT INTO AccountResourceRefVO(`accountUuid`, `ownerAccountUuid`, `resourceUuid`, `resourceType`, `permission`, `isShared`, `lastOpDate`, `createDate`, `concreteResourceType`) + values ('36c27e8ff05c4780bf6d2fa65700f22e', '36c27e8ff05c4780bf6d2fa65700f22e', quotaUuid, 'QuotaVO', 2, 0, NOW(), NOW(), 'org.zstack.header.identity.QuotaVO'); + END IF; + + IF NOT EXISTS (select NULL from QuotaVO where identityType = 'IAM2OrganizationVO' and identityUuid = iam2OrganizationUuid and name ='baremetal2.num') THEN + set quotaUuid = REPLACE(UUID(), '-', ''); + INSERT INTO QuotaVO(uuid, name, identityUuid, identityType, value, lastOpDate, createDate) values (quotaUuid, 'baremetal2.num', iam2OrganizationUuid, 'IAM2OrganizationVO', -1, NOW(), NOW()); + INSERT INTO ResourceVO(uuid, resourceName, resourceType, concreteResourceType) values (quotaUuid, 'baremetal2.num', 'QuotaVO', 'org.zstack.header.identity.QuotaVO'); + INSERT INTO AccountResourceRefVO(`accountUuid`, `ownerAccountUuid`, `resourceUuid`, `resourceType`, `permission`, `isShared`, `lastOpDate`, `createDate`, `concreteResourceType`) + values ('36c27e8ff05c4780bf6d2fa65700f22e', '36c27e8ff05c4780bf6d2fa65700f22e', quotaUuid, 'QuotaVO', 2, 0, NOW(), NOW(), 'org.zstack.header.identity.QuotaVO'); + END IF; + + END LOOP; + CLOSE cur; + SELECT CURTIME(); +END $$ +DELIMITER ; +CALL iam2_Organization_Quota(); +DROP PROCEDURE iam2_Organization_Quota; + +CREATE TABLE IF NOT EXISTS `zstack`.`VpcSnatStateVO` ( + `uuid` varchar(32) NOT NULL, + `vpcUuid` varchar(32) NOT NULL, + `l3NetworkUuid` varchar(32) NOT NULL, + `state` varchar(32) NOT NULL, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`uuid`), + UNIQUE KEY `uuid` (`uuid`) USING BTREE, + CONSTRAINT fkVpcNetworkServiceRefVOVirtualRouterVmVO FOREIGN KEY (vpcUuid) REFERENCES VirtualRouterVmVO (uuid) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +DROP PROCEDURE IF EXISTS addSnatConfigForVirtualRouter; +DELIMITER $$ +CREATE PROCEDURE addSnatConfigForVirtualRouter() +BEGIN + DECLARE virtualRouterUuid VARCHAR(32); + DECLARE publicNetworkUuid VARCHAR(32); + DECLARE ruuid VARCHAR(32); + DECLARE done INT DEFAULT FALSE; + DECLARE cur CURSOR FOR SELECT vrv.uuid, vrv.publicNetworkUuid FROM `zstack`.`VirtualRouterVmVO` vrv WHERE vrv.uuid IN (SELECT uuid FROM `zstack`.`ApplianceVmVO` WHERE `haStatus` = 'NoHa'); + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; + OPEN cur; + read_loop: LOOP + FETCH cur INTO virtualRouterUuid, publicNetworkUuid; + IF done THEN + LEAVE read_loop; + END IF; + SET ruuid = REPLACE(UUID(), '-', ''); + INSERT INTO `zstack`.`VpcSnatStateVO` (uuid, vpcUuid, l3NetworkUuid, state, createDate, lastOpDate) + values(ruuid, virtualRouterUuid, publicNetworkUuid, 'enable', CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP()); + END LOOP; + CLOSE cur; + DELETE FROM `zstack`.`VpcSnatStateVO` WHERE vpcUuid IN ( + SELECT resourceUuid FROM SystemTagVO WHERE tag = 'disabledService::SNAT' + ); + SELECT CURTIME(); +END $$ +DELIMITER ; +CALL addSnatConfigForVirtualRouter(); +DROP PROCEDURE IF EXISTS addSnatConfigForVirtualRouter; + +DROP PROCEDURE IF EXISTS addSnatConfigForVpcHa; +DELIMITER $$ +CREATE PROCEDURE addSnatConfigForVpcHa() +BEGIN + DECLARE thisVpcHaRouterUuid VARCHAR(32); + DECLARE vpcHaRouterDefaultPublicNetworkUuid VARCHAR(32); + DECLARE done INT DEFAULT FALSE; + DECLARE cur CURSOR FOR SELECT DISTINCT vgr.vpcHaRouterUuid FROM `zstack`.`VpcHaGroupApplianceVmRefVO` vgr ; + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; + OPEN cur; + DELETE FROM `zstack`.`VpcHaGroupNetworkServiceRefVO` WHERE networkServiceName = 'SNAT' AND networkServiceUuid != 'true'; + read_loop: LOOP + FETCH cur INTO thisVpcHaRouterUuid; + IF done THEN + LEAVE read_loop; + END IF; + + SELECT publicNetworkUuid + FROM `zstack`.`VirtualRouterVmVO` + WHERE uuid IN (SELECT uuid + FROM `zstack`.`ApplianceVmVO` + WHERE uuid IN (SELECT uuid + FROM `zstack`.`VpcHaGroupApplianceVmRefVO` + WHERE `vpcHaRouterUuid` = thisVpcHaRouterUuid) + AND `haStatus` != 'NoHa') + LIMIT 1 + INTO vpcHaRouterDefaultPublicNetworkUuid; + + INSERT INTO `zstack`.`VpcHaGroupNetworkServiceRefVO` (vpcHaRouterUuid, networkServiceName, networkServiceUuid, lastOpDate, createDate) + values(thisVpcHaRouterUuid, 'SNAT', vpcHaRouterDefaultPublicNetworkUuid, CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP()); + END LOOP; + CLOSE cur; + DELETE FROM `zstack`.`VpcHaGroupNetworkServiceRefVO` WHERE networkServiceName = 'SNAT' AND vpcHaRouterUuid IN + (SELECT a.vpcHaRouterUuid FROM + (SELECT vpcHaRouterUuid FROM `zstack`.`VpcHaGroupNetworkServiceRefVO` WHERE networkServiceName = 'SNAT' AND networkServiceUuid = 'true') a); + SELECT CURTIME(); +END $$ +DELIMITER ; +CALL addSnatConfigForVpcHa(); +DROP PROCEDURE IF EXISTS addSnatConfigForVpcHa; \ No newline at end of file diff --git a/conf/tools/flyway-6.3.1/sql/V4.3.9__schema.sql b/conf/tools/flyway-6.3.1/sql/V4.3.9__schema.sql new file mode 100644 index 00000000000..e69de29bb2d diff --git a/conf/tools/flyway-6.3.1/sql/V4.4.0__schema.sql b/conf/tools/flyway-6.3.1/sql/V4.4.0__schema.sql new file mode 100644 index 00000000000..9164cfccd75 --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V4.4.0__schema.sql @@ -0,0 +1,141 @@ +UPDATE `zstack`.`LicenseHistoryVO` SET `hash` = 'unknown' WHERE `hash` IS NULL; +ALTER TABLE `zstack`.`LicenseHistoryVO` MODIFY COLUMN `hash` char(32) NOT NULL DEFAULT 'unknown'; +ALTER TABLE `zstack`.`LicenseHistoryVO` ADD COLUMN `source` varchar(16) DEFAULT 'Legacy'; +ALTER TABLE `zstack`.`LicenseHistoryVO` MODIFY COLUMN `source` varchar(16) NOT NULL; +ALTER TABLE `zstack`.`LicenseHistoryVO` ADD COLUMN `managementNodeUuid` varchar(32) NOT NULL DEFAULT 'none'; +UPDATE `zstack`.`LicenseHistoryVO` SET `prodInfo` = '' WHERE `prodInfo` IS NULL; +ALTER TABLE `zstack`.`LicenseHistoryVO` MODIFY COLUMN `prodInfo` varchar(32) NOT NULL DEFAULT ''; +ALTER TABLE `zstack`.`LicenseHistoryVO` ADD COLUMN `mergedTo` bigint(20) unsigned NOT NULL DEFAULT 0; +DROP INDEX idxLicenseHistoryVOHash ON LicenseHistoryVO; +UPDATE `zstack`.`AlarmVO` set `comparisonOperator` = 'LessThan', `threshold` = 1 where `metricName` = 'LoadBalancerBackendStatus' and `namespace` = 'ZStack/LoadBalancer' and `comparisonOperator` = 'GreaterThan' and `threshold` = 0; + +DELIMITER $$ +CREATE PROCEDURE setApplianceVmCpuModeToNone() + BEGIN + DECLARE vmUuid VARCHAR(32); + DECLARE done INT DEFAULT FALSE; + DECLARE foundInConfig INT DEFAULT 0; + DECLARE resourceConfigUuid VARCHAR(32); + DECLARE configDescription VARCHAR(1024); + DECLARE vmCursor CURSOR FOR SELECT uuid from `zstack`.`VmInstanceVO` WHERE type = "ApplianceVm"; + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; + + SET configDescription = 'the cpu mode option, which could be used to enable nested virtualization, options are [none, host-model, host-passthrough, Haswell, Haswell-noTSX, Broadwell, Broadwell-noTSX, SandyBridge, IvyBridge, Conroe, Penryn, Nehalem, Westmere, Opteron_G1, Opteron_G2, Opteron_G3, Opteron_G4]. none: not use nested virtualization; host-model/host-passthrough will enable nested virtualization. When using host-passthrough, VM will see same CPU model in Host /proc/cpuinfo. When using host-model or host-passthrough, VM migration might be failed, due to mismatched CPU model. To use nested virtualization, user need to do some pre-configuration. Firstly, the /sys/module/kvm_intel/parameters/nested should be set as Y; Secondly, the /usr/libexec/qemu-kvm binary should support nested feature as well.'; + + OPEN vmCursor; + read_loop: LOOP + FETCH vmCursor INTO vmUuid; + IF done THEN + LEAVE read_loop; + END IF; + + SET resourceConfigUuid = (REPLACE(UUID(), '-', '')); + SELECT COUNT(*) INTO foundInConfig FROM `zstack`.`ResourceConfigVO` WHERE resourceUuid = vmUuid AND name = "vm.cpuMode"; + + IF (foundInConfig = 0) THEN + INSERT `zstack`.`ResourceConfigVO`(uuid, name, description, category, value, resourceUuid, resourceType, createDate, lastOpDate) + VALUES (resourceConfigUuid, "vm.cpuMode", configDescription, "kvm", "none", vmUuid ,"VmInstanceVO", NOW(), NOW()); + END IF; + + END LOOP; + CLOSE vmCursor; + SELECT CURTIME(); + END $$ +DELIMITER ; + +call setApplianceVmCpuModeToNone(); +DROP PROCEDURE IF EXISTS setApplianceVmCpuModeToNone; + +DELIMITER $$ +CREATE PROCEDURE moveClusterCpuModeFromSystemTagToResourceConfig() + BEGIN + DECLARE done INT DEFAULT FALSE; + DECLARE cpuModeTag VARCHAR(64); + DECLARE clusterUuid VARCHAR(32); + DECLARE foundInConfig INT DEFAULT 0; + DECLARE resourceConfigUuid VARCHAR(32); + DECLARE configDescription VARCHAR(1024); + DECLARE tagCursor CURSOR FOR SELECT resourceUuid, tag from `zstack`.`SystemTagVO` WHERE tag LIKE '%clusterKVMCpuModel::%'; + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; + + SET configDescription = 'the cpu mode option, which could be used to enable nested virtualization, options are [none, host-model, host-passthrough, Haswell, Haswell-noTSX, Broadwell, Broadwell-noTSX, SandyBridge, IvyBridge, Conroe, Penryn, Nehalem, Westmere, Opteron_G1, Opteron_G2, Opteron_G3, Opteron_G4]. none: not use nested virtualization; host-model/host-passthrough will enable nested virtualization. When using host-passthrough, VM will see same CPU model in Host /proc/cpuinfo. When using host-model or host-passthrough, VM migration might be failed, due to mismatched CPU model. To use nested virtualization, user need to do some pre-configuration. Firstly, the /sys/module/kvm_intel/parameters/nested should be set as Y; Secondly, the /usr/libexec/qemu-kvm binary should support nested feature as well.'; + + OPEN tagCursor; + read_loop: LOOP + FETCH tagCursor INTO clusterUuid, cpuModeTag; + IF done THEN + LEAVE read_loop; + END IF; + + SET resourceConfigUuid = (REPLACE(UUID(), '-', '')); + SELECT COUNT(*) INTO foundInConfig FROM `zstack`.`ResourceConfigVO` WHERE resourceUuid = clusterUuid AND name = "vm.cpuMode"; + + IF (foundInConfig = 0) THEN + INSERT `zstack`.`ResourceConfigVO`(uuid, name, description, category, value, resourceUuid, resourceType, createDate, lastOpDate) + VALUES (resourceConfigUuid, "vm.cpuMode", configDescription, "kvm", substring(cpuModeTag, LENGTH('clusterKVMCpuModel::') + 1), clusterUuid ,"ClusterVO", NOW(), NOW()); + END IF; + + END LOOP; + CLOSE tagCursor; + SELECT CURTIME(); + END $$ +DELIMITER ; + +call moveClusterCpuModeFromSystemTagToResourceConfig(); +DROP PROCEDURE IF EXISTS moveClusterCpuModeFromSystemTagToResourceConfig; + +DELIMITER $$ +CREATE PROCEDURE deleteVmLevelCpuModeIfAlreadySetClusterLevelCpuMode() + BEGIN + DECLARE vmUuid VARCHAR(32); + DECLARE done INT DEFAULT FALSE; + DECLARE vmClusterUuid VARCHAR(32); + DECLARE foundVmCpuModeInConfig INT DEFAULT 0; + DECLARE foundClusterCpuModeInConfig INT DEFAULT 0; + DECLARE vmCursor CURSOR FOR SELECT uuid, clusterUuid from `zstack`.`VmInstanceVO` WHERE type = "UserVm"; + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; + + OPEN vmCursor; + read_loop: LOOP + FETCH vmCursor INTO vmUuid, vmClusterUuid; + IF done THEN + LEAVE read_loop; + END IF; + + SELECT COUNT(*) INTO foundVmCpuModeInConfig FROM `zstack`.`ResourceConfigVO` WHERE resourceUuid = vmUuid AND name = "vm.cpuMode"; + SELECT COUNT(*) INTO foundClusterCpuModeInConfig FROM `zstack`.`ResourceConfigVO` WHERE resourceUuid = vmClusterUuid AND name = "vm.cpuMode"; + + IF (foundVmCpuModeInConfig = 1 AND foundClusterCpuModeInConfig = 1) THEN + DELETE FROM `zstack`.`ResourceConfigVO` WHERE resourceUuid = vmUuid AND name = "vm.cpuMode"; + END IF; + + END LOOP; + CLOSE vmCursor; + SELECT CURTIME(); + END $$ +DELIMITER ; + +call deleteVmLevelCpuModeIfAlreadySetClusterLevelCpuMode(); +DROP PROCEDURE IF EXISTS deleteVmLevelCpuModeIfAlreadySetClusterLevelCpuMode; + +ALTER TABLE `zstack`.`HostNumaNodeVO` DROP FOREIGN KEY `HostNumaNodeVO_HostEO_uuid_fk`; +ALTER TABLE `zstack`.`HostNumaNodeVO` ADD CONSTRAINT `HostNumaNodeVO_HostEO_uuid_fk` FOREIGN KEY (`hostUuid`) REFERENCES `HostEO` (`uuid`) ON DELETE CASCADE ; + +ALTER TABLE `zstack`.`VmInstanceNumaNodeVO` DROP FOREIGN KEY `VmInstanceNumaNodeVO_VmInstanceEO_uuid_fk`; +ALTER TABLE `zstack`.`VmInstanceNumaNodeVO` ADD CONSTRAINT `VmInstanceNumaNodeVO_VmInstanceEO_uuid_fk` FOREIGN KEY (`vmUuid`) REFERENCES `VmInstanceEO` (`uuid`) ON DELETE CASCADE ; + +ALTER TABLE `zstack`.`HostAllocatedCpuVO` DROP FOREIGN KEY `HostAllocatedCpuVO_HostEO_uuid_fk`; +ALTER TABLE `zstack`.`HostAllocatedCpuVO` ADD CONSTRAINT `HostAllocatedCpuVO_HostEO_uuid_fk` FOREIGN KEY (`hostUuid`) REFERENCES `HostEO` (`uuid`) ON DELETE CASCADE ; + +CREATE TABLE IF NOT EXISTS `zstack`.`IAM2ProjectResourceRefVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `resourceUuid` varchar(32) NOT NULL, + `resourceType` varchar(128) NOT NULL, + `projectUuid` varchar(32) NOT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`id`), + CONSTRAINT `fkIAM2ProjectResourceRefVOResourceVO` FOREIGN KEY (`resourceUuid`) REFERENCES `ResourceVO` (`uuid`) ON DELETE CASCADE, + CONSTRAINT `fkIAM2ProjectResourceRefVOIAM2ProjectVO` FOREIGN KEY (`projectUuid`) REFERENCES `IAM2ProjectVO` (`uuid`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + diff --git a/conf/tools/flyway-6.3.1/sql/V4.4.24__schema.sql b/conf/tools/flyway-6.3.1/sql/V4.4.24__schema.sql new file mode 100644 index 00000000000..bd4fa1c07af --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V4.4.24__schema.sql @@ -0,0 +1,178 @@ +CREATE TABLE IF NOT EXISTS `zstack`.`SharedBlockCapacityVO` ( + `uuid` varchar(32) NOT NULL UNIQUE COMMENT 'shared block uuid', + `totalCapacity` bigint unsigned NOT NULL DEFAULT 0 COMMENT 'total capacity of shared block in bytes', + `availableCapacity` bigint unsigned NOT NULL DEFAULT 0 COMMENT 'available capacity of shared block in bytes', + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`uuid`), + CONSTRAINT `fkSharedBlockCapacityVOSharedBlockVO` FOREIGN KEY (`uuid`) REFERENCES `zstack`.`SharedBlockVO` (`uuid`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +ALTER TABLE `zstack`.`CdpPolicyEO` ADD COLUMN `dailyRPSinceDay` int unsigned DEFAULT 0; +ALTER TABLE `zstack`.`CdpPolicyEO` ADD COLUMN `expireTime` int unsigned DEFAULT 0; +ALTER TABLE `zstack`.`CdpPolicyEO` ADD COLUMN `fullBackupInterval` int unsigned DEFAULT 1; + +DROP VIEW IF EXISTS `zstack`.`CdpPolicyVO`; +CREATE VIEW `zstack`.`CdpPolicyVO` AS SELECT uuid, name, description, retentionTimePerDay, dailyRPSinceDay, expireTime, recoveryPointPerSecond, fullBackupInterval, state, lastOpDate, createDate FROM `zstack`.`CdpPolicyEO` WHERE deleted IS NULL; + +ALTER TABLE `zstack`.`CdpTaskVO` ADD COLUMN `maxLatency` bigint(20) unsigned DEFAULT 600000; +ALTER TABLE `zstack`.`CdpTaskVO` ADD COLUMN `lastLatency` bigint(20) unsigned DEFAULT 0; + +DROP PROCEDURE IF EXISTS `Alter_SCSI_Table`; +DELIMITER $$ +CREATE PROCEDURE Alter_SCSI_Table() + BEGIN + IF NOT EXISTS( SELECT NULL + FROM INFORMATION_SCHEMA.COLUMNS + WHERE table_name = 'ScsiLunHostRefVO' + AND table_schema = 'zstack' + AND column_name = 'path') THEN + + ALTER TABLE `zstack`.`ScsiLunHostRefVO` + ADD COLUMN `hctl` VARCHAR(64) DEFAULT NULL, + ADD COLUMN `path` VARCHAR(128) DEFAULT NULL; + + UPDATE `zstack`.`ScsiLunHostRefVO` ref + INNER JOIN `zstack`.`ScsiLunVO` lun ON ref.scsiLunUuid = lun.uuid + SET ref.path = lun.path, ref.hctl = lun.hctl; + + END IF; + END $$ +DELIMITER ; + +CALL Alter_SCSI_Table(); +DROP PROCEDURE Alter_SCSI_Table; + +DELIMITER $$ +CREATE PROCEDURE Update_Vip_Account() + BEGIN + DECLARE vipUuid VARCHAR(32); + DECLARE eipAccountUuid VARCHAR(32); + DECLARE vipAccountUuid VARCHAR(32); + DECLARE done INT DEFAULT FALSE; + DECLARE cur CURSOR FOR SELECT v.uuid, a.accountUuid, b.accountUuid FROM zstack.EipVO e, zstack.VipVO v, zstack.AccountResourceRefVO a, zstack.AccountResourceRefVO b + WHERE e.vipUuid = v.uuid AND a.resourceUuid = e.uuid AND b.resourceUuid = v.uuid AND a.accountUuid != b.accountUuid; + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; + OPEN cur; + read_loop: LOOP + FETCH cur INTO vipUuid, eipAccountUuid, vipAccountUuid; + IF done THEN + LEAVE read_loop; + END IF; + UPDATE zstack.AccountResourceRefVO set accountUuid = eipAccountUuid WHERE accountUuid = vipAccountUuid AND resourceUuid = vipUuid; + END LOOP; + CLOSE cur; + END $$ +DELIMITER ; + +CALL Update_Vip_Account(); +DROP PROCEDURE IF EXISTS Update_Vip_Account; + +UPDATE `zstack`.`VmInstanceVO` t1, `zstack`.`HostVO` t2 set t1.`architecture` = t2.`architecture` where t1.`type` = 'ApplianceVm' and t1.`hostUuid` = t2.`uuid`; +UPDATE `zstack`.`VmInstanceVO` t1, `zstack`.`HostVO` t2 set t1.`architecture` = t2.`architecture` where t1.`type` = 'ApplianceVm' and t1.`architecture` IS NULL and t1.`lastHostUuid` = t2.`uuid`; + +CREATE TABLE `zstack`.`BareMetal2BondingVO` ( + `uuid` varchar(32) NOT NULL, + `name` varchar(255) NOT NULL, + `slaves` varchar(255) NOT NULL, + `opts` varchar(255) DEFAULT NULL, + `chassisUuid` varchar(32) NOT NULL, + `mode` varchar(255) NOT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`), + KEY `fkchassisUuid` (`chassisUuid`), + CONSTRAINT `fkchassisUuid` FOREIGN KEY (`chassisUuid`) REFERENCES `BareMetal2ChassisVO` (`uuid`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`BareMetal2BondingNicRefVO` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `nicUuid` varchar(32) NOT NULL, + `instanceUuid` varchar(32) NOT NULL, + `bondingUuid` varchar(32) NOT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`id`), + KEY `fkinstance` (`instanceUuid`), + KEY `fknic` (`nicUuid`), + KEY `fkbonding` (`bondingUuid`), + CONSTRAINT `fkinstance` FOREIGN KEY (`instanceUuid`) REFERENCES `BareMetal2InstanceVO` (`uuid`) ON DELETE CASCADE, + CONSTRAINT `fknic` FOREIGN KEY (`nicUuid`) REFERENCES `VmNicVO` (`uuid`) ON DELETE CASCADE, + CONSTRAINT `fkbonding` FOREIGN KEY (`bondingUuid`) REFERENCES `BareMetal2BondingVO` (`uuid`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +ALTER TABLE `zstack`.`BareMetal2InstanceVO` add column agentVersion varchar(32) DEFAULT NULL; +ALTER TABLE `zstack`.`BareMetal2InstanceVO` add column isLatestAgent tinyint(1) unsigned DEFAULT 0; +ALTER TABLE `zstack`.`BareMetal2ChassisNicVO` add column nicName varchar(255) DEFAULT NULL; + +ALTER TABLE `zstack`.`IPsecConnectionVO` ADD COLUMN `ikeVersion` varchar(16) NOT NULL DEFAULT 'ikev1'; +ALTER TABLE `zstack`.`IPsecConnectionVO` ADD COLUMN `idType` varchar(16) DEFAULT NULL; +ALTER TABLE `zstack`.`IPsecConnectionVO` ADD COLUMN `remoteId` varchar(128) DEFAULT NULL; +ALTER TABLE `zstack`.`IPsecConnectionVO` ADD COLUMN `localId` varchar(128) DEFAULT NULL; +ALTER TABLE `zstack`.`IPsecConnectionVO` ADD COLUMN `ikeLifeTime` int(10) DEFAULT 0; +ALTER TABLE `zstack`.`IPsecConnectionVO` ADD COLUMN `lifeTime` int(10) DEFAULT 0; + +CREATE TABLE IF NOT EXISTS `zstack`.`VirtualRouterSoftwareVersionVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `softwareName` varchar(32) NOT NULL, + `currentVersion` varchar(32) DEFAULT NULL, + `latestVersion` varchar(32) DEFAULT NULL, + PRIMARY KEY (`uuid`), + CONSTRAINT `fkVirtualRouterSoftwareVersionVOVirtualRouterVmVO` FOREIGN KEY (`uuid`) REFERENCES `VirtualRouterVmVO` (`uuid`) ON UPDATE RESTRICT ON DELETE CASCADE + ) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`VmSchedHistoryVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `vmInstanceUuid` char(32) NOT NULL, + `zoneUuid` char(32) DEFAULT NULL, + `accountUuid` char(32) NOT NULL, + `schedType` varchar(32) NOT NULL, + `success` tinyint(1), + `lastHostUuid` char(32) DEFAULT NULL, + `destHostUuid` char(32) DEFAULT NULL, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + INDEX idxVmSchedHistoryVOVmInstanceUuid (vmInstanceUuid), + INDEX idxVmSchedHistoryVOZoneUuid (zoneUuid), + INDEX idxVmSchedHistoryVOSchedType (schedType), + CONSTRAINT fkVmSchedHistoryVOZoneEO FOREIGN KEY (zoneUuid) REFERENCES ZoneEO (uuid) ON DELETE SET NULL, + PRIMARY KEY (`id`) +) ENGINE = InnoDB DEFAULT CHARSET = utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`VmInstanceDeviceAddressVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `resourceUuid` char(32) NOT NULL, + `vmInstanceUuid` char(32) NOT NULL, + `deviceAddress` varchar(128) DEFAULT NULL, + `metadata` text DEFAULT NULL, + `metadataClass` varchar(128) DEFAULT NULL, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`id`), + CONSTRAINT `fkVmInstanceDeviceAddressVOVmInstanceEO` FOREIGN KEY (`vmInstanceUuid`) REFERENCES VmInstanceEO(`uuid`) ON DELETE CASCADE +) ENGINE = InnoDB DEFAULT CHARSET = utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`VmInstanceDeviceAddressGroupVO` ( + `uuid` char(32) NOT NULL UNIQUE, + `resourceUuid` char(32) NOT NULL, + `vmInstanceUuid` char(32) NOT NULL, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`uuid`), + CONSTRAINT `fkVmInstanceDeviceAddressGroupVOVmInstanceEO` FOREIGN KEY (`vmInstanceUuid`) REFERENCES VmInstanceEO(`uuid`) ON DELETE CASCADE +) ENGINE = InnoDB DEFAULT CHARSET = utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`VmInstanceDeviceAddressArchiveVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `resourceUuid` char(32) NOT NULL, + `vmInstanceUuid` char(32) NOT NULL, + `addressGroupUuid` char(32) NOT NULL, + `deviceAddress` varchar(128) DEFAULT NULL, + `metadata` text DEFAULT NULL, + `metadataClass` varchar(128) DEFAULT NULL, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`id`), + CONSTRAINT `fkVmInstanceDeviceAddressArchiveVOVmInstanceEO` FOREIGN KEY (`vmInstanceUuid`) REFERENCES VmInstanceEO(`uuid`) ON DELETE CASCADE, + CONSTRAINT `fkVmInstanceDeviceAddressArchiveVOVmInstanceDeviceAddressGroupVO` FOREIGN KEY (`addressGroupUuid`) REFERENCES VmInstanceDeviceAddressGroupVO (uuid) ON DELETE CASCADE +) ENGINE = InnoDB DEFAULT CHARSET = utf8; diff --git a/conf/tools/flyway-6.3.1/sql/V4.4.26__schema.sql b/conf/tools/flyway-6.3.1/sql/V4.4.26__schema.sql new file mode 100644 index 00000000000..e69de29bb2d diff --git a/conf/tools/flyway-6.3.1/sql/V4.4.27.1__schema.sql b/conf/tools/flyway-6.3.1/sql/V4.4.27.1__schema.sql new file mode 100644 index 00000000000..d0357c0ca93 --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V4.4.27.1__schema.sql @@ -0,0 +1 @@ +ALTER TABLE HostPhysicalMemoryVO ADD COLUMN type varchar(32) DEFAULT NULL; diff --git a/conf/tools/flyway-6.3.1/sql/V4.4.27__schema.sql b/conf/tools/flyway-6.3.1/sql/V4.4.27__schema.sql new file mode 100644 index 00000000000..e69de29bb2d diff --git a/conf/tools/flyway-6.3.1/sql/V4.4.40.2__schema.sql b/conf/tools/flyway-6.3.1/sql/V4.4.40.2__schema.sql new file mode 100644 index 00000000000..9eb45ccd19a --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V4.4.40.2__schema.sql @@ -0,0 +1,8 @@ +CREATE TABLE IF NOT EXISTS `zstack`.`AgentVersionVO` ( + `uuid` varchar(32) NOT NULL PRIMARY KEY, + `agentType` varchar(255) DEFAULT NULL, + `currentVersion` varchar(255) DEFAULT NULL, + `expectVersion` varchar(255) DEFAULT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' +) ENGINE=InnoDB DEFAULT CHARSET=utf8; \ No newline at end of file diff --git a/conf/tools/flyway-6.3.1/sql/V4.4.46__schema.sql b/conf/tools/flyway-6.3.1/sql/V4.4.46__schema.sql new file mode 100644 index 00000000000..09c260a5f4c --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V4.4.46__schema.sql @@ -0,0 +1,25 @@ +DELIMITER $$ +CREATE PROCEDURE splitHybridLicenseRecords() +BEGIN + IF EXISTS ( SELECT 1 + FROM INFORMATION_SCHEMA.COLUMNS + WHERE table_name = 'LicenseHistoryVO' + AND table_schema = 'zstack' + AND column_name = 'capacity') THEN + insert into `zstack`.`LicenseHistoryVO` (`uuid`, `cpuNum`, `hostNum`, `vmNum`, `expiredDate`, `issuedDate`, `uploadDate`, `licenseType`, `userName`, `prodInfo`, `createDate`, `lastOpDate`, `hash`, `source`, `managementNodeUuid`, `mergedTo`, `capacity`) + select `uuid`, `cpuNum`, `hostNum`, `vmNum`, `expiredDate`, `issuedDate`, `uploadDate`, 'AddOn' as `licenseType`, `userName`, 'hybrid' as `prodInfo`, `createDate`, `lastOpDate`, `hash`, `source`, `managementNodeUuid`, `mergedTo`, `capacity` + from `zstack`.`LicenseHistoryVO` + where `licenseType`='Hybrid'; + ELSE + insert into `zstack`.`LicenseHistoryVO` (`uuid`, `cpuNum`, `hostNum`, `vmNum`, `expiredDate`, `issuedDate`, `uploadDate`, `licenseType`, `userName`, `prodInfo`, `createDate`, `lastOpDate`, `hash`, `source`, `managementNodeUuid`, `mergedTo`) + select `uuid`, `cpuNum`, `hostNum`, `vmNum`, `expiredDate`, `issuedDate`, `uploadDate`, 'AddOn' as `licenseType`, `userName`, 'hybrid' as `prodInfo`, `createDate`, `lastOpDate`, `hash`, `source`, `managementNodeUuid`, `mergedTo` + from `zstack`.`LicenseHistoryVO` + where `licenseType`='Hybrid'; + END IF; + update `zstack`.`LicenseHistoryVO` set `licenseType`='Paid' where `licenseType`='Hybrid'; + SELECT CURTIME(); +END $$ +DELIMITER ; + +CALL splitHybridLicenseRecords(); +DROP PROCEDURE IF EXISTS splitHybridLicenseRecords; diff --git a/conf/tools/flyway-6.3.1/sql/V4.4.48.1__schema.sql b/conf/tools/flyway-6.3.1/sql/V4.4.48.1__schema.sql new file mode 100644 index 00000000000..782269a0617 --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V4.4.48.1__schema.sql @@ -0,0 +1,3 @@ +UPDATE `zstack`.`LicenseHistoryVO` + SET prodInfo = 'Enterprise.Cloud' + WHERE LOWER(prodInfo) = 'zstack' and licenseType = 'Paid'; diff --git a/conf/tools/flyway-6.3.1/sql/V4.4.6__schema.sql b/conf/tools/flyway-6.3.1/sql/V4.4.6__schema.sql new file mode 100644 index 00000000000..004352cd94a --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V4.4.6__schema.sql @@ -0,0 +1,17 @@ +CREATE TABLE IF NOT EXISTS `zstack`.`ImagePackageVO` ( + `uuid` char(32) NOT NULL UNIQUE, + `name` varchar(255) NOT NULL, + `description` varchar(2048) DEFAULT NULL, + `vmUuid` char(32), + `backupStorageUuid` char(32) NOT NULL, + `state` varchar(32) NOT NULL, + `exportUrl` varchar(2048) DEFAULT NULL, + `md5Sum` char(32) DEFAULT NULL, + `format` varchar(16) DEFAULT NULL, + `size` bigint unsigned DEFAULT NULL, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`uuid`), + CONSTRAINT `fkImagePackageVOVmInstanceEO` FOREIGN KEY (`vmUuid`) REFERENCES VmInstanceEO(`uuid`) ON DELETE SET NULL, + CONSTRAINT `fkImagePackageVOBackupStorageEO` FOREIGN KEY (`backupStorageUuid`) REFERENCES BackupStorageEO(`uuid`) ON DELETE CASCADE +) ENGINE = InnoDB DEFAULT CHARSET = utf8; \ No newline at end of file diff --git a/conf/tools/flyway-6.3.1/sql/V4.4.8__schema.sql b/conf/tools/flyway-6.3.1/sql/V4.4.8__schema.sql new file mode 100644 index 00000000000..e69de29bb2d diff --git a/conf/tools/flyway-6.3.1/sql/V4.4.9__schema.sql b/conf/tools/flyway-6.3.1/sql/V4.4.9__schema.sql new file mode 100644 index 00000000000..e69de29bb2d diff --git a/conf/tools/flyway-6.3.1/sql/V4.5.0__schema.sql b/conf/tools/flyway-6.3.1/sql/V4.5.0__schema.sql new file mode 100644 index 00000000000..410ef280979 --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V4.5.0__schema.sql @@ -0,0 +1,137 @@ +CREATE TABLE IF NOT EXISTS `zstack`.`AiSiNoSecretResourcePoolVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `managementIp` varchar(32) NOT NULL, + `port` int unsigned NOT NULL, + `route` varchar(32) NOT NULL, + `clientID` varchar(32) NOT NULL, + `clientSecrete` varchar(32) NOT NULL, + `appId` varchar(8) NOT NULL, + `keyNumSM2` varchar(8) NOT NULL, + `keyNumSM4` varchar(8) NOT NULL, + PRIMARY KEY (`uuid`), + CONSTRAINT fkAiSiNoSecretResourcePoolVOSecretResourcePoolVO FOREIGN KEY (uuid) REFERENCES SecretResourcePoolVO (uuid) ON UPDATE RESTRICT ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +ALTER TABLE SecretResourcePoolVO ADD COLUMN status VARCHAR(32) NOT NULL DEFAULT 'Connected'; +ALTER TABLE `zstack`.`TicketStatusHistoryVO` ADD COLUMN `flowName` VARCHAR(255) DEFAULT NULL; +ALTER TABLE `zstack`.`ArchiveTicketStatusHistoryVO` ADD COLUMN `flowName` VARCHAR(255) DEFAULT NULL; + +CREATE TABLE IF NOT EXISTS `zstack`.`CephOsdGroupVO` ( + `uuid` varchar(32) NOT NULL, + `primaryStorageUuid` varchar(32) NOT NULL, + `osds` varchar(1024) NOT NULL, + `availableCapacity` bigint(20) DEFAULT NULL, + `availablePhysicalCapacity` bigint(20) unsigned NOT NULL DEFAULT 0, + `totalPhysicalCapacity` bigint(20) unsigned NOT NULL DEFAULT 0, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`), + KEY `fkPrimaryStorageUuid` (`primaryStorageUuid`), + CONSTRAINT `fkPrimaryStorageUuid` FOREIGN KEY (`primaryStorageUuid`) REFERENCES `PrimaryStorageEO` (`uuid`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +ALTER TABLE `zstack`.`CephPrimaryStoragePoolVO` ADD COLUMN `osdGroupUuid` VARCHAR(32) DEFAULT NULL; +ALTER TABLE `zstack`.`CephPrimaryStoragePoolVO` ADD CONSTRAINT fkCephPrimaryStoragePoolVOOsdGroupVO FOREIGN KEY (osdGroupUuid) REFERENCES CephOsdGroupVO (uuid) ON DELETE SET NULL; + +CREATE TABLE IF NOT EXISTS `zstack`.`VxlanHostMappingVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `vxlanUuid` varchar(32) NOT NULL, + `hostUuid` varchar(32) NOT NULL, + `vlanId` int, + `physicalInterface` varchar(32), + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`id`), + CONSTRAINT `fkVxlanHostMappingVOVxlanNetworkVO` FOREIGN KEY (`vxlanUuid`) REFERENCES `VxlanNetworkVO` (`uuid`) ON UPDATE RESTRICT ON DELETE CASCADE, + CONSTRAINT `fkVxlanHostMappingVOHostEO` FOREIGN KEY (`hostUuid`) REFERENCES `HostEO` (`uuid`) ON UPDATE RESTRICT ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`VxlanClusterMappingVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `vxlanUuid` varchar(32) NOT NULL, + `clusterUuid` varchar(32) NOT NULL, + `vlanId` int, + `physicalInterface` varchar(32), + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`id`), + CONSTRAINT `fkVxlanClusterMappingVOVxlanNetworkVO` FOREIGN KEY (`vxlanUuid`) REFERENCES `VxlanNetworkVO` (`uuid`) ON UPDATE RESTRICT ON DELETE CASCADE, + CONSTRAINT `fkVxlanClusterMappingVOClusterEO` FOREIGN KEY (`clusterUuid`) REFERENCES `ClusterEO` (`uuid`) ON UPDATE RESTRICT ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`RegisterLicenseApplicationVO` ( + `appId` VARCHAR(32) NOT NULL UNIQUE, + `licenseRequestCode` text NOT NULL, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`appId`) +) ENGINE = InnoDB DEFAULT CHARSET = utf8; + +CREATE TABLE `zstack`.`VolumeHostRefVO` ( + `volumeUuid` varchar(32) NOT NULL UNIQUE, + `hostUuid` varchar(32) NOT NULL, + `mountPath` varchar(512) NOT NULL, + `device` varchar(512) NOT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`volumeUuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +ALTER TABLE `zstack`.`VolumeHostRefVO` ADD CONSTRAINT `fkVolumeHostRefVOHostEO` +FOREIGN KEY (`hostUuid`) REFERENCES `HostEO` (`uuid`) ON DELETE CASCADE; + +CREATE TABLE IF NOT EXISTS `zstack`.`SSOClientVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `name` varchar(255) DEFAULT NULL, + `description` varchar(2048) DEFAULT NULL, + `clientType` varchar(255) NOT NULL, + `loginType` varchar(255) NOT NULL, + `loginMNUrl` varchar(255) DEFAULT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`OAuth2ClientVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `clientId` varchar(255) NOT NULL, + `clientSecret` varchar(255), + `authorizationUrl` varchar(255), + `grantType` varchar(64) NOT NULL, + `tokenUrl` varchar(255) NOT NULL, + PRIMARY KEY (`uuid`), + CONSTRAINT `fkOAuth2ClientVOSSOClientVO` FOREIGN KEY (`uuid`) REFERENCES `SSOClientVO` (`uuid`) ON UPDATE RESTRICT ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`CasClientVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `casServerLoginUrl` varchar(255) NOT NULL, + `casServerUrlPrefix` varchar(255) NOT NULL, + `serverName` varchar(255) NOT NULL, + `state` varchar(128) NOT NULL, + PRIMARY KEY (`uuid`), + CONSTRAINT `fkCasClientVOSSOClientVO` FOREIGN KEY (`uuid`) REFERENCES `SSOClientVO` (`uuid`) ON UPDATE RESTRICT ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`ThirdClientAccountRefVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `clientUuid` varchar(255) NOT NULL, + `resourceUuid` varchar(255) NOT NULL, + `resourceType` varchar(255) NOT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`uuid`), + CONSTRAINT `fkThirdClientAccountRefVOSSOClientVO` FOREIGN KEY (`clientUuid`) REFERENCES `SSOClientVO` (`uuid`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`SSORedirectTemplateVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `name` varchar(255) DEFAULT NULL, + `description` varchar(2048) DEFAULT NULL, + `clientUuid` varchar(255) NOT NULL, + `redirectTemplate` varchar(2048) NOT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`uuid`), + CONSTRAINT `fkSSORedirectTemplateClientVO` FOREIGN KEY (`clientUuid`) REFERENCES `SSOClientVO` (`uuid`) ON UPDATE RESTRICT ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +ALTER TABLE `zstack`.`V2VConversionCacheVO` ADD COLUMN `deviceAddress` varchar(128) DEFAULT NULL; diff --git a/conf/tools/flyway-6.3.1/sql/V4.5.1.1__schema.sql b/conf/tools/flyway-6.3.1/sql/V4.5.1.1__schema.sql new file mode 100644 index 00000000000..bc854ab7832 --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V4.5.1.1__schema.sql @@ -0,0 +1,2 @@ +ALTER TABLE `zstack`.`InfoSecSecretResourcePoolVO` ADD COLUMN `encryptPublicKey` text DEFAULT NULL; +ALTER TABLE `zstack`.`InfoSecSecretResourcePoolVO` ADD COLUMN `encryptSubjectDN` varchar(128) DEFAULT NULL; \ No newline at end of file diff --git a/conf/tools/flyway-6.3.1/sql/V4.5.1.2__schema.sql b/conf/tools/flyway-6.3.1/sql/V4.5.1.2__schema.sql new file mode 100644 index 00000000000..19c73e40162 --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V4.5.1.2__schema.sql @@ -0,0 +1,37 @@ +CREATE TABLE IF NOT EXISTS `zstack`.`PluginDriverVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `name` varchar(64) NOT NULL, + `type` varchar(64) NOT NULL, + `vendor` varchar(64) NOT NULL, + `features` varchar(1024) NOT NULL, + `optionTypes` text DEFAULT NULL, + `description` varchar(1024) DEFAULT NULL, + `deleted` BOOLEAN NOT NULL, + `license` varchar(1024) DEFAULT NULL, + `version` varchar(1024) DEFAULT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`SNSPluginEndpointVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `timeoutInSeconds` int NOT NULL, + `properties` varchar(1024) NOT NULL, + `pluginDriverUuid` varchar(32) NOT NULL, + PRIMARY KEY (`uuid`), + CONSTRAINT fkPluginEndpointVOSNSApplicationEndpointVO FOREIGN KEY (uuid) REFERENCES SNSApplicationEndpointVO (uuid) ON DELETE CASCADE, + CONSTRAINT fkPluginEndpointVOPluginDriverVO FOREIGN KEY (pluginDriverUuid) REFERENCES PluginDriverVO (uuid) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`PluginSecretResourcePoolVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `properties` varchar(1024) NOT NULL, + `pluginDriverUuid` varchar(32) NOT NULL, + PRIMARY KEY (`uuid`), + CONSTRAINT fkPluginSecretResourcePoolVOSecretResourcePoolVO FOREIGN KEY (uuid) REFERENCES SecretResourcePoolVO (uuid) ON DELETE CASCADE, + CONSTRAINT fkPluginSecretResourcePoolVOPluginDriverVO FOREIGN KEY (pluginDriverUuid) REFERENCES PluginDriverVO (uuid) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +update EventSubscriptionVO set name='Cryptographic Resource Status Abnormal' where uuid='eecc7b576c05391bb01fd956964d3ba4'; +update SystemTagVO set tag='name::cn::密码资源状态异常' where resourceUuid='eecc7b576c05391bb01fd956964d3ba4'; diff --git a/conf/tools/flyway-6.3.1/sql/V4.5.11__schema.sql b/conf/tools/flyway-6.3.1/sql/V4.5.11__schema.sql new file mode 100644 index 00000000000..5aacffbe970 --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V4.5.11__schema.sql @@ -0,0 +1,66 @@ +CREATE TABLE IF NOT EXISTS `zstack`.`BlockPrimaryStorageVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `vendorName` varchar(256) NOt NULL, + `metadata` text DEFAULT NULL, + `encryptGatewayIp` varchar(64) DEFAULT NULL, + `encryptGatewayPort` smallint unsigned DEFAULT 8443, + `encryptGatewayUsername` varchar(256) DEFAULT NULL, + `encryptGatewayPassword` varchar(256) DEFAULT NULL, + PRIMARY KEY (`uuid`) +) ENGINE = InnoDB DEFAULT CHARSET = utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`BlockScsiLunVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `target` varchar(256) DEFAULT NULL, + `name` VARCHAR(256) DEFAULT NULL, + `id` smallint unsigned NOT NULL, + `wwn` VARCHAR(256) DEFAULT NULL, + `type` VARCHAR(128) NOT NULL, + `size` bigint unsigned NOT NULL, + `lunMapId` smallint unsigned DEFAULT 0, + `lunInitSnapshotID` bigint unsigned DEFAULT 0, + `usedSize` bigint(20) unsigned DEFAULT 0, + `encryptedId` smallint unsigned DEFAULT 0, + `encryptedWwn` varchar(256) DEFAULT NULL, + `lunType` varchar(256) NOT NULL, + `volumeUuid` varchar(32) DEFAULT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`), + CONSTRAINT `fkScsiLunVOVolumeVO` FOREIGN KEY (`volumeUuid`) REFERENCES `zstack`.`VolumeEO` (`uuid`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`HostInitiatorRefVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `hostUuid` varchar(32) NOT NULL UNIQUE, + `initiatorName` varchar(256) NOT NULL, + `metadata` text DEFAULT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`), + CONSTRAINT `fkHostInitiatorRefVOHostVo` FOREIGN KEY (`hostUuid`) REFERENCES `zstack`.`HostEO` (`uuid`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- ----------------------------------- +-- BEGIN OF MTTY DEVICE VIRTUALIZATION +-- ----------------------------------- +CREATE TABLE IF NOT EXISTS `zstack`.`MttyDeviceVO` ( + `uuid` varchar(32) NOT NULL UNIQUE COMMENT 'uuid', + `name` VARCHAR(255) NOT NULL, + `description` varchar(2048) DEFAULT NULL, + `hostUuid` varchar(32) NOT NULL, + `type` varchar(32) NOT NULL, + `state` varchar(32) NOT NULL, + `virtStatus` varchar(32) NOT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`), + CONSTRAINT fkDeviceVOHostEO FOREIGN KEY (`hostUuid`) REFERENCES `zstack`.`HostEO` (`uuid`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +ALTER TABLE `zstack`.`MdevDeviceVO` MODIFY `parentUuid` varchar(32) DEFAULT NULL; +ALTER TABLE `zstack`.`MdevDeviceVO` ADD COLUMN `mttyUuid` VARCHAR(32) DEFAULT NULL; +ALTER TABLE `zstack`.`MdevDeviceVO` ADD CONSTRAINT `fkMdevDeviceVOMttyDeviceVO` FOREIGN KEY (`mttyUuid`) REFERENCES `MttyDeviceVO` (`uuid`) ON DELETE CASCADE; +-- --------------------------------- +-- END OF MTTY DEVICE VIRTUALIZATION +-- --------------------------------- diff --git a/conf/tools/flyway-6.3.1/sql/V4.5.3__schema.sql b/conf/tools/flyway-6.3.1/sql/V4.5.3__schema.sql new file mode 100644 index 00000000000..e7cc58776e7 --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V4.5.3__schema.sql @@ -0,0 +1,3 @@ +alter table LicenseHistoryVO modify COLUMN `userName` varchar(64) NOT NULL; + +ALTER TABLE LicenseHistoryVO ADD COLUMN capacity int(10) NOT NULL; diff --git a/conf/tools/flyway-6.3.1/sql/V4.6.0__schema.sql b/conf/tools/flyway-6.3.1/sql/V4.6.0__schema.sql new file mode 100644 index 00000000000..4d83d3169a7 --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V4.6.0__schema.sql @@ -0,0 +1,277 @@ +ALTER TABLE `zstack`.`HostNetworkBondingVO` ADD COLUMN `type` char(32) DEFAULT 'unknown'; + +DROP PROCEDURE IF EXISTS addLongJobVOIndex; + +DELIMITER $$ +CREATE PROCEDURE addLongJobVOIndex() +BEGIN + IF NOT EXISTS (SELECT * FROM information_schema.statistics WHERE table_schema = 'zstack' AND table_name = "LongJobVO" AND index_name = "idxLongJobVOtargetResourceUuid") THEN + CREATE INDEX idxLongJobVOtargetResourceUuid ON LongJobVO (targetResourceUuid); + END IF; +END $$ +DELIMITER ; + +CALL addLongJobVOIndex(); + +CREATE TABLE IF NOT EXISTS `zstack`.`VmVdpaNicVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `pciDeviceUuid` varchar(32) DEFAULT NULL, + `lastPciDeviceUuid` varchar(32) DEFAULT NULL, + `srcPath` varchar(128) DEFAULT NULL, + PRIMARY KEY (`uuid`), + CONSTRAINT `fkVmVdpaNicVOPciDeviceVO` FOREIGN KEY (`pciDeviceUuid`) REFERENCES `zstack`.`PciDeviceVO` (`uuid`) ON DELETE SET NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +ALTER TABLE `zstack`.`VipNetworkServicesRefVO` DROP INDEX `uuid`; +ALTER TABLE `zstack`.`VipNetworkServicesRefVO` DROP PRIMARY KEY, ADD PRIMARY KEY(`uuid`,`serviceType`,`vipUuid`); + +UPDATE `zstack`.`GlobalConfigVO` SET value="enable", defaultValue="enable" WHERE category="storageDevice" AND name="enable.multipath" AND value="true"; +UPDATE `zstack`.`GlobalConfigVO` SET value="ignore", defaultValue="enable" WHERE category="storageDevice" AND name="enable.multipath" AND value="false"; + +ALTER TABLE `zstack`.`PriceVO` MODIFY COLUMN price DOUBLE(14,5); + +CREATE TABLE IF NOT EXISTS `zstack`.`VmSchedulingRuleVO`( + `uuid` varchar(32) not null unique, + `rule` varchar (64) not null, + `mode` varchar (64) not null, + PRIMARY KEY (`uuid`), + CONSTRAINT fkVmSchedulingRuleVOAffinityGroupVO FOREIGN KEY (uuid) REFERENCES AffinityGroupVO (uuid) ON UPDATE RESTRICT ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`VmSchedulingRuleGroupVO`( + `uuid` varchar(32) not null unique, + `name` varchar(255) not null, + `appliance` varchar(128) not null, + `zoneUuid` varchar(32) DEFAULT null, + `description` varchar(2048) DEFAULT NULL, + `srcUuid` varchar(255) DEFAULT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`VmSchedulingRuleGroupRefVO`( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `vmGroupUuid` varchar(32) not null, + `vmUuid` varchar(32) not null, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`id`), + UNIQUE KEY `vmGroupUuid_vmUuid` (`vmGroupUuid`, `vmUuid`) USING BTREE, + CONSTRAINT `fkVmSchedulingPolicyGroupRefVO` FOREIGN KEY (`vmGroupUuid`) REFERENCES `VmSchedulingRuleGroupVO`(`uuid`) ON UPDATE RESTRICT ON DELETE CASCADE, + CONSTRAINT `fkVmInstanceVORefVO` FOREIGN KEY (`vmUuid`) REFERENCES `VmInstanceEO`(`uuid`) ON UPDATE RESTRICT ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`HostSchedulingRuleGroupVO`( + `uuid` varchar(32) not null unique, + `name` varchar(255) not null, + `description` varchar(2048) DEFAULT NULL, + `zoneUuid` varchar(32) not null, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`HostSchedulingRuleGroupRefVO`( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `hostGroupUuid` varchar(32) not null, + `hostUuid` varchar(32) not null, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`id`), + UNIQUE KEY `hostGroupUuid_hostUuid` (`hostGroupUuid`, `hostUuid`) USING BTREE, + CONSTRAINT `fkHostSchedulingRuleGroupRefVO` FOREIGN KEY (`hostGroupUuid`) REFERENCES `HostSchedulingRuleGroupVO`(`uuid`) ON UPDATE RESTRICT ON DELETE CASCADE, + CONSTRAINT `fkHostVORefVO` FOREIGN KEY (`hostUuid`) REFERENCES `HostEO`(`uuid`) ON UPDATE RESTRICT ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`VmSchedulingRuleRefVO`( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `vmSchedulingRuleUuid` varchar(32) NOT NULL, + `vmGroupUuid` varchar(32) NOT NULL, + `hostGroupUuid` varchar(32) DEFAULT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`id`), + UNIQUE KEY `ruleUuid_vmGroupUuid_hostGroupUuid` (`vmSchedulingRuleUuid`, `vmGroupUuid`, `hostGroupUuid`) USING BTREE, + CONSTRAINT `fkVmSchedulingRuleVORefVO` FOREIGN KEY (`vmSchedulingRuleUuid`) REFERENCES `VmSchedulingRuleVO`(`uuid`) ON UPDATE RESTRICT ON DELETE CASCADE, + CONSTRAINT `fkVmSchedulingRuleGroupVORefVO` FOREIGN KEY (`vmGroupUuid`) REFERENCES `VmSchedulingRuleGroupVO`(`uuid`) ON UPDATE RESTRICT ON DELETE CASCADE, + CONSTRAINT `fkHostSchedulingRuleGroupVORefVO` FOREIGN KEY (`hostGroupUuid`) REFERENCES `HostSchedulingRuleGroupVO`(`uuid`) ON UPDATE RESTRICT ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +alter table `zstack`.`AffinityGroupVO` add column `zoneUuid` varchar(32) default null; + +DELIMITER $$ +CREATE PROCEDURE addZoneUuidOnAffinityGroupVO() + BEGIN + DECLARE agUuid VARCHAR(32); + DECLARE done INT DEFAULT FALSE; + DECLARE agZoneUuid VARCHAR(32); + DECLARE vmCursor CURSOR FOR SELECT uuid name from `zstack`.`AffinityGroupVO`; + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; + OPEN vmCursor; + read_loop: LOOP + FETCH vmCursor INTO agUuid; + IF done THEN + LEAVE read_loop; + END IF; + + select zoneUuid INTO agZoneUuid from VmInstanceVO where uuid in (select resourceUuid from AffinityGroupUsageVO where affinityGroupUuid = agUuid) group by zoneUuid order by count(zoneUuid) desc limit 1; + IF agZoneUuid is null THEN + select uuid into agZoneUuid from ZoneVO limit 1; + END IF; + + UPDATE `zstack`.`AffinityGroupVO` SET `zoneUuid`=agZoneUuid WHERE `uuid`= agUuid; + END LOOP; + CLOSE vmCursor; + SELECT CURTIME(); + END $$ +DELIMITER ; + +call addZoneUuidOnAffinityGroupVO(); +DROP PROCEDURE IF EXISTS addZoneUuidOnAffinityGroupVO; + +DELIMITER $$ +CREATE PROCEDURE createVmSchedulingRule() + BEGIN + DECLARE agUuid VARCHAR(32); + DECLARE done INT DEFAULT FALSE; + DECLARE policyType VARCHAR(128); + DECLARE ruleType VARCHAR(64); + DECLARE ruleLevel VARCHAR(64); + DECLARE ruleZoneUuid VARCHAR(32); + DECLARE ruleAppliance VARCHAR(128); + DECLARE ruleName VARCHAR(255); + DECLARE ruleAccountUuid VARCHAR(32); + DECLARE vmRuleGroupUuid VARCHAR(32); + DECLARE vmCursor CURSOR FOR SELECT uuid, policy, zoneUuid, appliance, name from `zstack`.`AffinityGroupVO` order by createDate desc; + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; + + OPEN vmCursor; + read_loop: LOOP + FETCH vmCursor INTO agUuid, policyType, ruleZoneUuid, ruleAppliance, ruleName; + IF done THEN + LEAVE read_loop; + END IF; + + IF (policyType = "AFFINITYSOFT") THEN + set ruleType = "AFFINITY"; + set ruleLevel = "SOFT"; + ELSEIF (policyType = "AFFINITYHARD") THEN + set ruleType = "AFFINITY"; + set ruleLevel = "HARD"; + ELSEIF (policyType = "ANTISOFT") THEN + set ruleType = "ANTIAFFINITY"; + set ruleLevel ="SOFT"; + ELSE + set ruleType = "ANTIAFFINITY"; + set ruleLevel ="HARD"; + END IF; + set vmRuleGroupUuid = REPLACE(UUID(),'-',''); + + INSERT INTO `zstack`.`VmSchedulingRuleVO`(`uuid`, `rule`, `mode`) VALUES (agUuid, ruleType, ruleLevel); + INSERT INTO `zstack`.`VmSchedulingRuleGroupVO`(`uuid`, `name`, `appliance`, `zoneUuid`, `srcUuid`, `lastOpDate`,`createDate`) + VALUES (vmRuleGroupUuid, ruleName, ruleAppliance, ruleZoneUuid, agUuid, CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP()); + INSERT INTO `zstack`.`ResourceVO` (`uuid`, `resourceName`, `resourceType`, `concreteResourceType`) VALUES (vmRuleGroupUuid, ruleName, 'VmSchedulingRuleGroupVO', 'org.zstack.header.vmscheduling.VmSchedulingRuleGroupVO'); + select accountUuid INTO ruleAccountUuid from AccountResourceRefVO where resourceUuid = agUuid and resourceType = 'AffinityGroupVO'; + INSERT INTO `zstack`.`VmSchedulingRuleRefVO`(`vmGroupUuid`, `vmSchedulingRuleUuid`, `lastOpDate`,`createDate`) VALUES (vmRuleGroupUuid, agUuid, CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP()); + IF (ruleName <> 'zstack.affinity.group.for.virtual.router' and ruleAccountUuid is not null) THEN + INSERT INTO `zstack`.`AccountResourceRefVO` ( `accountUuid`, `ownerAccountUuid`, `resourceUuid`, `resourceType`, `permission`, `isShared`, `lastOpDate`, `createDate`, `concreteResourceType`) VALUES (ruleAccountUuid, ruleAccountUuid, vmRuleGroupUuid, 'VmSchedulingRuleGroupVO', 2, 0, CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP(), 'org.zstack.header.vmscheduling.VmSchedulingRuleGroupVO'); + END IF; + END LOOP; + CLOSE vmCursor; + SELECT CURTIME(); + END $$ +DELIMITER ; + +call createVmSchedulingRule(); +DROP PROCEDURE IF EXISTS createVmSchedulingRule; + +DELIMITER $$ +CREATE PROCEDURE createVmSchedulingRuleGroupRef() + BEGIN + DECLARE agUuid VARCHAR(32); + DECLARE done INT DEFAULT FALSE; + DECLARE vmUuid VARCHAR(128); + DECLARE vmGroupUUid VARCHAR(32); + DECLARE vmCursor CURSOR FOR SELECT affinityGroupUuid, resourceUuid name from `zstack`.`AffinityGroupUsageVO`; + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; + + OPEN vmCursor; + read_loop: LOOP + FETCH vmCursor INTO agUuid, vmUuid; + IF done THEN + LEAVE read_loop; + END IF; + + select uuid INTO vmGroupUUid from VmSchedulingRuleGroupVO where srcUuid = agUuid; + INSERT INTO `zstack`.`VmSchedulingRuleGroupRefVO`(`vmGroupUuid`, `vmUuid`, `lastOpDate`,`createDate`) VALUES(vmGroupUUid, vmUuid, CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP()); + END LOOP; + CLOSE vmCursor; + SELECT CURTIME(); + END $$ +DELIMITER ; + +call createVmSchedulingRuleGroupRef(); +DROP PROCEDURE IF EXISTS createVmSchedulingRuleGroupRef; + +DELIMITER $$ +CREATE PROCEDURE createAutoScalingVmTemplate() + BEGIN + DECLARE agUuid VARCHAR(32); + DECLARE vmGroupUUid VARCHAR(32); + DECLARE autoReleaseTagUuid VARCHAR(32); + DECLARE autoScalingVmTemplateUuid VARCHAR(32); + DECLARE done INT DEFAULT FALSE; + DECLARE vmCursor CURSOR FOR select SUBSTRING(tag, 20), resourceUuid from SystemTagVO where resourceType ='AutoScalingVmTemplateVO' and tag like 'affinityGroupUuid::%'; + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; + + OPEN vmCursor; + read_loop: LOOP + FETCH vmCursor INTO agUuid, autoScalingVmTemplateUuid; + IF done THEN + LEAVE read_loop; + END IF; + + SET autoReleaseTagUuid = REPLACE(UUID(), '-', ''); + select uuid into vmGroupUUid from VmSchedulingRuleGroupVO where srcUuid = agUuid; + INSERT INTO `zstack`.`SystemTagVO`(`uuid`, `resourceUuid`, `resourceType`, `inherent`, `type`, `tag`, `createDate`, `lastOpDate`) + VALUES(autoReleaseTagUuid, autoScalingVmTemplateUuid, 'AutoScalingVmTemplateVO', 0, 'System', concat('vmSchedulingRuleGroupUuid::', vmGroupUUid), CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP()); + END LOOP; + CLOSE vmCursor ; + SELECT CURTIME(); + END $$ +DELIMITER ; + +call createAutoScalingVmTemplate(); +DROP PROCEDURE IF EXISTS createAutoScalingVmTemplate; + +CREATE TABLE IF NOT EXISTS `zstack`.`DirectoryVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `name` varchar(256) NOT NULL, + `groupName` varchar(2048) NOT NULL COMMENT 'equivalent to a path', + `parentUuid` varchar(32), + `rootDirectoryUuid` varchar(32) NOT NULL, + `zoneUuid` varchar(32) NOT NULL, + `type` varchar(32) NOT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`), + CONSTRAINT `fkDirectoryVOZoneEO` FOREIGN KEY (`zoneUuid`) REFERENCES `zstack`.`ZoneEO` (`uuid`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`ResourceDirectoryRefVO` ( + `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, + `resourceUuid` varchar(32) NOT NULL, + `directoryUuid` varchar(32) NOT NULL, + `resourceType` varchar(32) NOT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`id`), + UNIQUE KEY `id` (`id`), + KEY `fkResourceDirectoryRefVOResourceVO` (`resourceUuid`), + KEY `fkResourceDirectoryRefVODirectoryVO` (`directoryUuid`), + CONSTRAINT `fkResourceDirectoryRefVO` FOREIGN KEY (`resourceUuid`) REFERENCES `ResourceVO` (`uuid`) ON DELETE CASCADE, + CONSTRAINT `fkResourceDirectoryRefVO1` FOREIGN KEY (`directoryUuid`) REFERENCES `DirectoryVO` (`uuid`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +ALTER TABLE SlbOfferingVO ADD CONSTRAINT fkSlbOfferingVOInstanceOfferingEO FOREIGN KEY (uuid) REFERENCES InstanceOfferingEO (uuid) ON UPDATE RESTRICT ON DELETE CASCADE; diff --git a/conf/tools/flyway-6.3.1/sql/V4.6.11__schema.sql b/conf/tools/flyway-6.3.1/sql/V4.6.11__schema.sql new file mode 100644 index 00000000000..bd5e6058f1b --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V4.6.11__schema.sql @@ -0,0 +1,68 @@ +ALTER TABLE `zstack`.`L2NetworkEO` MODIFY `vSwitchType` varchar(32) NOT NULL DEFAULT 'LinuxBridge' AFTER `type`; +ALTER TABLE `zstack`.`L2NetworkEO` ADD COLUMN `virtualNetworkId` int unsigned NOT NULL DEFAULT 0 AFTER `vSwitchType`; +UPDATE `zstack`.`L2NetworkEO` l2 INNER JOIN `zstack`.`L2VlanNetworkVO` vlan ON l2.uuid = vlan.uuid SET l2.virtualNetworkId = vlan.vlan; +UPDATE `zstack`.`L2NetworkEO` l2 INNER JOIN `zstack`.`VxlanNetworkVO` vxlan ON l2.uuid = vxlan.uuid SET l2.virtualNetworkId = vxlan.vni; +DROP VIEW IF EXISTS `zstack`.L2NetworkVO; +CREATE VIEW `zstack`.`L2NetworkVO` AS SELECT uuid, name, description, type, vSwitchType, virtualNetworkId, zoneUuid, physicalInterface, createDate, lastOpDate FROM `zstack`.`L2NetworkEO` WHERE deleted IS NULL; + +DELIMITER $$ +CREATE PROCEDURE addColumnsToSNSTextTemplateVO() + BEGIN + IF NOT EXISTS( SELECT 1 + FROM INFORMATION_SCHEMA.COLUMNS + WHERE table_name = 'SNSTextTemplateVO' + AND table_schema = 'zstack' + AND column_name = 'subject') THEN + + ALTER TABLE `zstack`.`SNSTextTemplateVO` ADD COLUMN `subject` VARCHAR(2048); + END IF; + IF NOT EXISTS( SELECT 1 + FROM INFORMATION_SCHEMA.COLUMNS + WHERE table_name = 'SNSTextTemplateVO' + AND table_schema = 'zstack' + AND column_name = 'recoverySubject') THEN + + ALTER TABLE `zstack`.`SNSTextTemplateVO` ADD COLUMN `recoverySubject` VARCHAR(2048); + END IF; + END $$ +DELIMITER ; + +call addColumnsToSNSTextTemplateVO(); +DROP PROCEDURE IF EXISTS addColumnsToSNSTextTemplateVO; + +CREATE TABLE IF NOT EXISTS `zstack`.`FlkSecSecretResourcePoolVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `encryptResult` varchar(64) DEFAULT NULL, + `activatedToken` varchar(32) DEFAULT NULL, + `protectToken` varchar(32) DEFAULT NULL, + `hmacToken` varchar(32) DEFAULT NULL, + PRIMARY KEY (`uuid`), + CONSTRAINT fkFlkSecSecretResourcePoolVOSecretResourcePoolVO FOREIGN KEY (uuid) REFERENCES SecretResourcePoolVO (uuid) ON UPDATE RESTRICT ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`FlkSecSecurityMachineVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `port` int unsigned NOT NULL, + PRIMARY KEY (`uuid`), + CONSTRAINT fkFlkSecSecurityMachineVOSecurityMachineVO FOREIGN KEY (uuid) REFERENCES SecurityMachineVO (uuid) ON UPDATE RESTRICT ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +ALTER TABLE `zstack`.`CCSCertificateVO` MODIFY COLUMN issuerDN varchar(255) NOT NULL; +ALTER TABLE `zstack`.`CCSCertificateVO` MODIFY COLUMN subjectDN varchar(255) NOT NULL; +ALTER TABLE `zstack`.`CCSCertificateVO` MODIFY COLUMN serNumber varchar(128) NOT NULL; + +ALTER TABLE `zstack`.`ESXHostVO` ADD COLUMN `esxiVersion` varchar(32); + +ALTER TABLE `zstack`.`CephOsdGroupVO` MODIFY COLUMN `osds` text NOT NULL; + +CREATE TABLE IF NOT EXISTS `zstack`.`GuestToolsStateVO` ( + `vmInstanceUuid` varchar(32) NOT NULL UNIQUE, + `state` varchar(32) NOT NULL DEFAULT 'NotInstalled', + `version` varchar(32), + `platform` varchar(32), + `osType` varchar(32), + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`vmInstanceUuid`), + CONSTRAINT `fkGuestToolsStateVOVmInstanceEO` FOREIGN KEY (`vmInstanceUuid`) REFERENCES `VmInstanceEO` (`uuid`) ON UPDATE RESTRICT ON DELETE CASCADE + ) ENGINE=InnoDB DEFAULT CHARSET=utf8; diff --git a/conf/tools/flyway-6.3.1/sql/V4.6.21.1__schema.sql b/conf/tools/flyway-6.3.1/sql/V4.6.21.1__schema.sql new file mode 100644 index 00000000000..65ec27379f2 --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V4.6.21.1__schema.sql @@ -0,0 +1,8 @@ +CREATE TABLE IF NOT EXISTS `zstack`.`LicenseAppIdRefVO` ( + `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, + `licenseId` varchar(32) NOT NULL, + `appId` varchar(32) NOT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; \ No newline at end of file diff --git a/conf/tools/flyway-6.3.1/sql/V4.6.21__schema.sql b/conf/tools/flyway-6.3.1/sql/V4.6.21__schema.sql new file mode 100644 index 00000000000..14dc818ff87 --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V4.6.21__schema.sql @@ -0,0 +1,108 @@ +ALTER TABLE `zstack`.`SNSTopicVO` ADD COLUMN `locale` varchar(32); + +ALTER TABLE `zstack`.`HostNumaNodeVO` MODIFY COLUMN `nodeCPUs` TEXT NOT NULL; +ALTER TABLE `zstack`.`VmInstanceNumaNodeVO` MODIFY COLUMN `vNodeCPUs` TEXT NOT NULL; + +CREATE TABLE IF NOT EXISTS `zstack`.`HostOsCategoryVO` ( + `uuid` char(32) NOT NULL UNIQUE COMMENT 'uuid', + `architecture` varchar(32) NOT NULL, + `osReleaseVersion` varchar(64) NOT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`KvmHostHypervisorMetadataVO` ( + `uuid` char(32) NOT NULL UNIQUE COMMENT 'uuid', + `categoryUuid` char(32) NOT NULL, + `managementNodeUuid` char(32) NOT NULL, + `hypervisor` varchar(32) NOT NULL, + `version` varchar(64) NOT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + CONSTRAINT `KvmHostHypervisorMetadataVOHostOsCategoryVO` FOREIGN KEY (`categoryUuid`) REFERENCES `zstack`.`HostOsCategoryVO` (`uuid`) ON DELETE CASCADE, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`KvmHypervisorInfoVO` ( + `uuid` char(32) NOT NULL UNIQUE COMMENT 'uuid', + `hypervisor` varchar(32) NOT NULL, + `version` varchar(64) NOT NULL, + `matchState` char(10) NOT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + CONSTRAINT `KvmHypervisorInfoVOResourceVO` FOREIGN KEY (`uuid`) REFERENCES `zstack`.`ResourceVO` (`uuid`) ON DELETE CASCADE, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +ALTER TABLE `zstack`.`UsedIpVO` MODIFY COLUMN `ipRangeUuid` varchar(32) DEFAULT NULL; + +ALTER TABLE `zstack`.`L3NetworkEO` ADD COLUMN `enableIPAM` boolean NOT NULL DEFAULT TRUE; +DROP VIEW IF EXISTS `zstack`.`L3NetworkVO`; +CREATE VIEW `zstack`.`L3NetworkVO` AS SELECT uuid, name, description, state, type, zoneUuid, l2NetworkUuid, `system`, dnsDomain, createDate, lastOpDate, category, ipVersion, enableIPAM FROM `zstack`.`L3NetworkEO` WHERE deleted IS NULL; +ALTER TABLE `zstack`.`UsedIpVO` DROP FOREIGN KEY fkUsedIpVOVmNicVO; +ALTER TABLE `zstack`.`UsedIpVO` ADD CONSTRAINT fkUsedIpVOVmNicVO FOREIGN KEY (vmNicUuid) REFERENCES VmNicVO (uuid) ON DELETE CASCADE; + +INSERT INTO SystemTagVO (`uuid`, `resourceUuid`, `resourceType`, `inherent`, `type`, `tag`, `createDate`, `lastOpDate`) +SELECT REPLACE(UUID(),'-',''), vm.uuid, 'VmInstanceVO', 0, 'System', 'vRingBufferSize::256::256', CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP() +FROM VmInstanceVO vm LEFT JOIN SystemTagVO st ON st.resourceUuid = vm.uuid AND st.tag LIKE 'vRingBufferSize::%' WHERE vm.state = 'running' AND st.uuid IS NULL; + +CREATE TABLE IF NOT EXISTS `zstack`.`SSOTokenVO`( + `uuid` varchar(32) not null unique, + `clientUuid` varchar(32) DEFAULT NULL, + `userUuid` varchar(32) DEFAULT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`), + CONSTRAINT `fkSSOTokenVOClientVO` FOREIGN KEY (`clientUuid`) REFERENCES `SSOClientVO` (`uuid`) ON UPDATE RESTRICT ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`OAuth2TokenVO`( + `uuid` varchar(32) not null unique, + `accessToken` text not null, + `idToken` text not null, + `refreshToken` text not null, + PRIMARY KEY (`uuid`), + CONSTRAINT `fkOAuth2TokenVOSSOTokenVO` FOREIGN KEY (`uuid`) REFERENCES `SSOTokenVO` (`uuid`) ON UPDATE RESTRICT ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +ALTER TABLE `zstack`.`GuestToolsStateVO` ADD COLUMN `zwatchState` varchar(32) NOT NULL DEFAULT 'NotInstalled'; +ALTER TABLE `zstack`.`GuestToolsStateVO` CHANGE `state` `qgaState` varchar(32) NOT NULL DEFAULT 'NotInstalled'; + +CREATE TABLE IF NOT EXISTS `NvmeTargetVO` ( + `name` VARCHAR(256) DEFAULT NULL, + `uuid` VARCHAR(32) NOT NULL, + `nqn` VARCHAR(256) NOT NULL, + `state` VARCHAR(64) DEFAULT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `NvmeLunVO` ( + `uuid` VARCHAR(32) NOT NULL, + `nvmeTargetUuid` VARCHAR(32) NOT NULL, + PRIMARY KEY (`uuid`), + CONSTRAINT `fkNvmeLunVONvmeTargetVO` FOREIGN KEY (`nvmeTargetUuid`) REFERENCES NvmeTargetVO (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `NvmeLunHostRefVO` ( + `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, + `hostUuid` varchar(32) NOT NULL, + `nvmeLunUuid` varchar(32) NOT NULL, + `hctl` VARCHAR(64) DEFAULT NULL, + `path` VARCHAR(128) DEFAULT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`id`), + CONSTRAINT `fkNvmeLunHostRefVONvmeLunVO` FOREIGN KEY (`nvmeLunUuid`) REFERENCES `NvmeLunVO` (`uuid`) ON DELETE CASCADE, + CONSTRAINT `fkNvmeLunHostRefVOHostVO` FOREIGN KEY (`hostUuid`) REFERENCES `HostEO` (`uuid`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +ALTER TABLE `ScsiLunVO` RENAME AS LunVO; + +-- for compatibility +CREATE VIEW `ScsiLunVO` AS SELECT uuid, name, wwid, vendor, model, wwn, serial, type, hctl, path, size, state, source, multipathDeviceUuid, createDate, lastOpDate FROM `LunVO` WHERE source IN ('iSCSI', 'fiberChannel'); +INSERT INTO `NvmeLunHostRefVO` (hostUuid, nvmeLunUuid, hctl, path, lastOpDate, createDate) SELECT hostUuid, scsiLunUuid, hctl, path, lastOpDate, createDate FROM `ScsiLunHostRefVO` WHERE scsiLunUuid NOT IN (SELECT uuid FROM `ScsiLunVO`); +DELETE FROM `ScsiLunHostRefVO` WHERE scsiLunUuid not in (SELECT uuid FROM `ScsiLunVO`); + diff --git a/conf/tools/flyway-6.3.1/sql/V4.6.31__schema.sql b/conf/tools/flyway-6.3.1/sql/V4.6.31__schema.sql new file mode 100644 index 00000000000..7988d6eff14 --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V4.6.31__schema.sql @@ -0,0 +1,66 @@ +ALTER TABLE `zstack`.`KVMHostVO` ADD COLUMN `osDistribution` varchar(64) DEFAULT NULL; +ALTER TABLE `zstack`.`KVMHostVO` ADD COLUMN `osRelease` varchar(64) DEFAULT NULL; +ALTER TABLE `zstack`.`KVMHostVO` ADD COLUMN `osVersion` varchar(64) DEFAULT NULL; + +DELIMITER $$ +CREATE PROCEDURE moveOsInfoToKVMHostVO() + BEGIN + DECLARE hostUuid CHAR(32); + DECLARE osInfo VARCHAR(64); + DECLARE done INT DEFAULT FALSE; + DECLARE curDistribution CURSOR FOR + SELECT resourceUuid, SUBSTRING(tag, 19) FROM `zstack`.`SystemTagVO` WHERE tag LIKE 'os::distribution::%'; + DECLARE curRelease CURSOR FOR + SELECT resourceUuid, SUBSTRING(tag, 14) FROM `zstack`.`SystemTagVO` WHERE tag LIKE 'os::release::%'; + DECLARE curVersion CURSOR FOR + SELECT resourceUuid, SUBSTRING(tag, 14) FROM `zstack`.`SystemTagVO` WHERE tag LIKE 'os::version::%'; + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; + + OPEN curDistribution; + read_loop1: LOOP + FETCH curDistribution INTO hostUuid, osInfo; + IF done THEN + LEAVE read_loop1; + END IF; + + UPDATE `zstack`.`KVMHostVO` SET osDistribution = osInfo WHERE uuid = hostUuid; + END LOOP; + CLOSE curDistribution; + SET done = FALSE; + + OPEN curRelease; + read_loop2: LOOP + FETCH curRelease INTO hostUuid, osInfo; + IF done THEN + LEAVE read_loop2; + END IF; + + UPDATE `zstack`.`KVMHostVO` SET osRelease = osInfo WHERE uuid = hostUuid; + END LOOP; + CLOSE curRelease; + SET done = FALSE; + + OPEN curVersion; + read_loop3: LOOP + FETCH curVersion INTO hostUuid, osInfo; + IF done THEN + LEAVE read_loop3; + END IF; + + UPDATE `zstack`.`KVMHostVO` SET osVersion = osInfo WHERE uuid = hostUuid; + END LOOP; + CLOSE curVersion; + SELECT CURTIME(); + END $$ +DELIMITER ; + +call moveOsInfoToKVMHostVO(); +DROP PROCEDURE IF EXISTS moveOsInfoToKVMHostVO; + +-- add default zone and recreate ZoneVO +ALTER TABLE `zstack`.`ZoneEO` ADD COLUMN `isDefault` tinyint(1) unsigned DEFAULT 0; +DROP VIEW IF EXISTS `zstack`.`ZoneVO`; +CREATE VIEW `zstack`.`ZoneVO` AS SELECT uuid, name, type, description, state, isDefault, createDate, lastOpDate FROM `zstack`.`ZoneEO` WHERE deleted IS NULL; + +UPDATE SNSTextTemplateVO SET subject = replace('报警器 %{ALARM_METRIC} %{ALARM_COMPARISON_OPERATOR} %{ALARM_THRESHOLD} %{ALARM_CURRENT_STATUS}','%','$') WHERE subject IS NULL or subject = ''; +UPDATE SNSTextTemplateVO SET recoverySubject = replace('报警器 %{ALARM_NAME} %{TITLE_ALARM_RESOURCE_NAME} %{ALARM_CURRENT_STATUS}','%','$') WHERE recoverySubject IS NULL or subject = ''; diff --git a/conf/tools/flyway-6.3.1/sql/V4.7.0.1__schema.sql b/conf/tools/flyway-6.3.1/sql/V4.7.0.1__schema.sql new file mode 100644 index 00000000000..27a3eac30dc --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V4.7.0.1__schema.sql @@ -0,0 +1 @@ +UPDATE LicenseHistoryVO SET prodInfo='Enterprise.XinChuang.Cloud' WHERE prodInfo='XinChuang.Cloud'; diff --git a/conf/tools/flyway-6.3.1/sql/V4.7.0.2__schema.sql b/conf/tools/flyway-6.3.1/sql/V4.7.0.2__schema.sql new file mode 100644 index 00000000000..278055ca81c --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V4.7.0.2__schema.sql @@ -0,0 +1,23 @@ +ALTER TABLE `zstack`.`VmNicSecurityGroupRefVO` +ADD COLUMN `priority` INT DEFAULT -1 AFTER `securityGroupUuid`; + +ALTER TABLE `zstack`.`SecurityGroupRuleVO` +ADD COLUMN `srcPortRange` varchar(255) DEFAULT NULL AFTER `protocol`, +ADD COLUMN `dstPortRange` varchar(255) DEFAULT NULL AFTER `protocol`, +ADD COLUMN `srcIpRange` varchar(1024) DEFAULT NULL AFTER `protocol`, +ADD COLUMN `dstIpRange` varchar(1024) DEFAULT NULL AFTER `protocol`, +ADD COLUMN `description` varchar(255) DEFAULT NULL AFTER `protocol`, +ADD COLUMN `action` varchar(32) NOT NULL DEFAULT 'ACCEPT' AFTER `protocol`, +ADD COLUMN `priority` INT DEFAULT -1 AFTER `protocol`; + + +CREATE TABLE IF NOT EXISTS `zstack`.`VmNicSecurityPolicyVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `vmNicUuid` varchar(32) NOT NULL, + `ingressPolicy` varchar(32) NOT NULL DEFAULT 'DENY', + `egressPolicy` varchar(32) NOT NULL DEFAULT 'ALLOW', + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`uuid`), + CONSTRAINT `fkVmNicSecurityPolicyVOVmNicVO` FOREIGN KEY (vmNicUuid) REFERENCES VmNicVO (uuid) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; diff --git a/conf/tools/flyway-6.3.1/sql/V4.7.0.3__schema.sql b/conf/tools/flyway-6.3.1/sql/V4.7.0.3__schema.sql new file mode 100644 index 00000000000..13d9375266e --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V4.7.0.3__schema.sql @@ -0,0 +1,9 @@ +ALTER TABLE `zstack`.`GuestOsCategoryVO` MODIFY COLUMN osRelease varchar(64) NOT NULL; + +ALTER TABLE VolumeEO ADD COLUMN lastAttachDate varchar(32) DEFAULT NULL; +DROP VIEW IF EXISTS `zstack`.`VolumeVO`; +CREATE VIEW `zstack`.`VolumeVO` AS SELECT uuid, name, description, primaryStorageUuid, vmInstanceUuid, diskOfferingUuid, +rootImageUuid, installPath, type, status, size, actualSize, deviceId, format, state, createDate, lastOpDate, isShareable, +volumeQos, lastVmInstanceUuid, lastDetachDate, lastAttachDate FROM `zstack`.`VolumeEO` WHERE deleted IS NULL; + +ALTER TABLE `zstack`.`VolumeSnapshotGroupRefVO` ADD COLUMN volumeLastAttachDate varchar(32) DEFAULT NULL; \ No newline at end of file diff --git a/conf/tools/flyway-6.3.1/sql/V4.7.0.4__schema.sql b/conf/tools/flyway-6.3.1/sql/V4.7.0.4__schema.sql new file mode 100644 index 00000000000..0347ed2f688 --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V4.7.0.4__schema.sql @@ -0,0 +1,31 @@ +CREATE TABLE IF NOT EXISTS `zstack`.`L2VirtualSwitchNetworkVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `isDistributed` boolean NOT NULL DEFAULT TRUE, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`L2PortGroupNetworkVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `vSwitchUuid` varchar(32) NOT NULL, + `vlanMode` varchar(32) NOT NULL default 'ACCESS', + `vlanId` int unsigned NOT NULL, + `vlanRanges` varchar(256) default NULL, + PRIMARY KEY (`uuid`), + CONSTRAINT `fkL2PortGroupNetworkVOL2VirtualSwitchNetworkVO` FOREIGN KEY (`vSwitchUuid`) REFERENCES L2VirtualSwitchNetworkVO (`uuid`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`L2NetworkHostRefVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `l2NetworkUuid` varchar(32) NOT NULL, + `hostUuid` varchar(32) NOT NULL, + `l2ProviderType` varchar(32) default NULL, + `attachStatus` varchar(32) default NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`id`), + CONSTRAINT `fkL2NetworkHostRefVOHostEO` FOREIGN KEY (`hostUuid`) REFERENCES HostEO (`uuid`) ON DELETE CASCADE, + CONSTRAINT `fkL2NetworkHostRefVOL2NetworkEO` FOREIGN KEY (`l2NetworkUuid`) REFERENCES L2NetworkEO (`uuid`) ON DELETE CASCADE, + UNIQUE KEY `ukL2NetworkHost` (`l2NetworkUuid`,`hostUuid`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +ALTER TABLE `zstack`.`L2NetworkClusterRefVO` ADD COLUMN `l2ProviderType` varchar(32) default NULL; \ No newline at end of file diff --git a/conf/tools/flyway-6.3.1/sql/V4.7.0__schema.sql b/conf/tools/flyway-6.3.1/sql/V4.7.0__schema.sql new file mode 100644 index 00000000000..1e5b4368c1b --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V4.7.0__schema.sql @@ -0,0 +1,376 @@ +CREATE TABLE IF NOT EXISTS `zstack`.`FileIntegrityVerificationVO` ( + `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, + `path` varchar(256) NOT NULL, + `nodeType` varchar(16) NOT NULL, + `nodeUuid` varchar(64) NOT NULL, + `hexType` varchar(16) NOT NULL, + `digest` varchar(256) NOT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`id`), + UNIQUE KEY `node` (`nodeUuid`,`nodeType`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`HaiTaiSecretResourcePoolVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `managementIp` varchar(32) NOT NULL, + `port` int unsigned NOT NULL, + `realm` varchar(32) NOT NULL, + PRIMARY KEY (`uuid`), + CONSTRAINT fkHaiTaiSecretResourcePoolVOSecretResourcePoolVO FOREIGN KEY (uuid) REFERENCES SecretResourcePoolVO (uuid) ON UPDATE RESTRICT ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`EncryptEntityMetadataVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `entityName` varchar(255) NOT NULL, + `columnName` varchar(255) NOT NULL, + `state` varchar(32) NOT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +INSERT IGNORE INTO `zstack`.`EncryptEntityMetadataVO` (`entityName`, `columnName`, `state`, `lastOpDate`, `createDate`) + VALUES ('IAM2VirtualIDVO', 'password', 'NeedDecrypt', NOW(), NOW()); + +CREATE TABLE IF NOT EXISTS `zstack`.`CpuFeaturesHistoryVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `srcHostUuid` varchar(32) NOT NULL, + `dstHostUuid` varchar(32) NOT NULL, + `srcCpuModelName` varchar(64), + `supportLiveMigration` boolean NOT NULL DEFAULT FALSE, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`id`), + CONSTRAINT CpuFeaturesHistoryVOHostVO FOREIGN KEY (srcHostUuid) REFERENCES HostEO (uuid) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +DELETE FROM HostOsCategoryVO; + +DELIMITER $$ +CREATE PROCEDURE CheckAndCreateResourceConfig() + BEGIN + DECLARE done INT DEFAULT FALSE; + DECLARE resouce_uuid VARCHAR(32); + DECLARE config_uuid varchar(32); + DECLARE config_name varchar(255); + DECLARE config_category varchar(64); + DECLARE config_resource_type varchar(64); + DECLARE config_value varchar(64); + DECLARE config_description varchar(255); + DECLARE cur CURSOR FOR SELECT uuid FROM zstack.IAM2ProjectVO; + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; + SET config_name = 'iam2.force.enable.securityGroup'; + SET config_category = 'iam2'; + SET config_resource_type = 'IAM2ProjectVO'; + SET config_value = 'false'; + SET config_description = 'instances under the project need to bind the security group switch'; + + OPEN cur; + + read_loop: LOOP + FETCH cur INTO resouce_uuid; + + IF done THEN + LEAVE read_loop; + END IF; + + SELECT COUNT(*) INTO @count FROM ResourceConfigVO WHERE resourceUuid = resouce_uuid AND name = config_name; + + IF @count = 0 THEN + SET config_uuid = REPLACE(UUID(),'-',''); + INSERT INTO ResourceConfigVO (uuid, name, description, category, value, resourceUuid, resourceType) + VALUES (config_uuid, config_name, config_description, config_category, config_value, resouce_uuid, config_resource_type); + END IF; + END LOOP; + + CLOSE cur; + END $$ +DELIMITER ; +CALL CheckAndCreateResourceConfig(); +DROP PROCEDURE IF EXISTS CheckAndCreateResourceConfig; + + +ALTER TABLE `zstack`.`HostNetworkInterfaceVO` ADD COLUMN `gateway` varchar(128) DEFAULT NULL; +ALTER TABLE `zstack`.`HostNetworkInterfaceVO` ADD COLUMN `callBackIp` varchar(128) DEFAULT NULL; +ALTER TABLE `zstack`.`HostNetworkInterfaceVO` ADD COLUMN `description` varchar(2048) DEFAULT NULL; + +ALTER TABLE `zstack`.`HostNetworkBondingVO` ADD COLUMN `speed` BIGINT UNSIGNED DEFAULT NULL; +ALTER TABLE `zstack`.`HostNetworkBondingVO` ADD COLUMN `bondingType` varchar(32) DEFAULT NULL; +ALTER TABLE `zstack`.`HostNetworkBondingVO` ADD COLUMN `gateway` varchar(128) DEFAULT NULL; +ALTER TABLE `zstack`.`HostNetworkBondingVO` ADD COLUMN `callBackIp` varchar(128) DEFAULT NULL; +ALTER TABLE `zstack`.`HostNetworkBondingVO` ADD COLUMN `description` varchar(2048) DEFAULT NULL; + +CREATE TABLE IF NOT EXISTS `HostIpmiVO` +( + `uuid` varchar(32) NOT NULL UNIQUE, + `ipmiAddress` varchar(32), + `ipmiPort` int unsigned, + `ipmiUsername` varchar(255), + `ipmiPassword` varchar(255), + `ipmiPowerStatus` varchar(255), + PRIMARY KEY (`uuid`), + CONSTRAINT `fkHostIpmiVO` FOREIGN KEY (`uuid`) REFERENCES `HostEO` (`uuid`) ON DELETE CASCADE +) ENGINE = InnoDB DEFAULT CHARSET = utf8; + +DELIMITER $$ + +DROP FUNCTION IF EXISTS `Json_simpleGetKeyValue` $$ + +CREATE FUNCTION `Json_simpleGetKeyValue`( + in_JsonArray text, + in_KeyName VARCHAR(64) +) RETURNS VARCHAR(4096) CHARSET utf8 + +BEGIN + DECLARE vs_return, vs_KeyName VARCHAR(4096); + DECLARE vs_JsonArray, vs_JsonString, vs_Json text; + DECLARE vi_pos1, vi_pos2 SMALLINT UNSIGNED; + + SET vs_JsonArray = TRIM(in_JsonArray); + SET vs_KeyName = TRIM(in_KeyName); + + IF vs_JsonArray = '' OR vs_JsonArray IS NULL + OR vs_KeyName = '' OR vs_KeyName IS NULL + THEN + SET vs_return = NULL; + ELSE + SET vs_JsonArray = REPLACE(REPLACE(vs_JsonArray, '[', ''), ']', ''); + SET vs_json = REPLACE(REPLACE(vs_JsonArray, '{', ''), '}', ''); + SET vs_JsonString = CONCAT("'", vs_JsonArray, "'"); + + IF vs_json = '' OR vs_json IS NULL THEN + SET vs_return = NULL; + ELSE + SET vs_KeyName = CONCAT('"', vs_KeyName, '":'); + SET vi_pos1 = INSTR(vs_json, vs_KeyName); + + IF vi_pos1 > 0 THEN + SET vi_pos1 = vi_pos1 + CHAR_LENGTH(vs_KeyName); + SET vi_pos2 = LOCATE('","', vs_json, vi_pos1); + + IF vi_pos2 = 0 THEN + SET vi_pos2 = CHAR_LENGTH(vs_json) + 1; + END IF; + + SET vs_return = REPLACE(MID(vs_json, vi_pos1, vi_pos2 - vi_pos1), '"', ''); + END IF; + END IF; + END IF; + + RETURN(vs_return); +END$$ + +DELIMITER ; + +DELIMITER $$ +CREATE PROCEDURE UpdateVolumeBackupVmInstanceUuid() + BEGIN + DECLARE done INT DEFAULT FALSE; + DECLARE backup_data text; + DECLARE backup_uuid VARCHAR(32); + DECLARE cur CURSOR FOR SELECT metadata, uuid FROM `zstack`.`VolumeBackupVO`; + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; + + IF NOT EXISTS( SELECT 1 + FROM INFORMATION_SCHEMA.COLUMNS + WHERE table_name = 'VolumeBackupVO' + AND table_schema = 'zstack' + AND column_name = 'vmInstanceUuid') THEN + + ALTER TABLE `zstack`.`VolumeBackupVO` ADD COLUMN `vmInstanceUuid` varchar(32) DEFAULT NULL; + + OPEN cur; + read_loop: LOOP + FETCH cur INTO backup_data, backup_uuid; + IF done THEN + LEAVE read_loop; + END IF; + + UPDATE `zstack`.`VolumeBackupVO` SET `vmInstanceUuid`= Json_simpleGetKeyValue(backup_data, "vmInstanceUuid") WHERE `uuid`= backup_uuid; + END LOOP; + CLOSE cur; + END IF; + END $$ +DELIMITER ; +CALL UpdateVolumeBackupVmInstanceUuid(); +DROP PROCEDURE IF EXISTS UpdateVolumeBackupVmInstanceUuid; + +CREATE TABLE IF NOT EXISTS `zstack`.`HaStrategyConditionVO` ( + `uuid` varchar(32) NOT NULL, + `name` varchar(256), + `fencerName` varchar(256) NOT NULL, + `state` varchar(64) NOT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +INSERT INTO HaStrategyConditionVO(`uuid`, `name`, `fencerName`, `state`, `lastOpDate`, `createDate`) +values ((REPLACE(UUID(), '-', '')), 'ha strategy condition', 'hostBusinessNic', 'Disable', current_timestamp(), current_timestamp()); + +DELIMITER $$ +CREATE PROCEDURE addHaStrategyConditionOnVmHaLevel() + BEGIN + DECLARE isHaEnable VARCHAR(32); + DECLARE fencerStrategy VARCHAR(32); + DECLARE resourceUuid VARCHAR(32); + DECLARE current_time_stamp timestamp; + DECLARE done INT DEFAULT FALSE; + DECLARE haCursor CURSOR FOR select value from GlobalConfigVO where category = 'ha' and name = 'enable'; + DECLARE fencerCursor CURSOR for select value from GlobalConfigVO where category = 'ha' and name = 'self.fencer.strategy'; + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; + OPEN haCursor; + OPEN fencerCursor; + read_loop: LOOP + FETCH haCursor INTO isHaEnable; + FETCH fencerCursor INTO fencerStrategy; + IF done THEN + LEAVE read_loop; + END IF; + + SET resourceUuid = (REPLACE(UUID(), '-', '')); + SET current_time_stamp = current_timestamp(); + IF (LOWER(isHaEnable) = 'false' OR fencerStrategy = 'Permissive') THEN + INSERT INTO HaStrategyConditionVO(`uuid`, `name`, `fencerName`, `state`, `lastOpDate`, `createDate`) values (resourceUuid, 'ha strategy condition', 'hostStorageState', 'Disable', current_time_stamp, current_time_stamp); + ELSE + INSERT INTO HaStrategyConditionVO(`uuid`, `name`, `fencerName`, `state`, `lastOpDate`, `createDate`) values (resourceUuid, 'ha strategy condition', 'hostStorageState', 'Enable', current_time_stamp, current_time_stamp); + END IF; + END LOOP; + CLOSE haCursor; + CLOSE fencerCursor; + SELECT CURTIME(); + END $$ +DELIMITER ; + +call addHaStrategyConditionOnVmHaLevel(); +DROP PROCEDURE IF EXISTS addHaStrategyConditionOnVmHaLevel; + +CREATE TABLE IF NOT EXISTS `zstack`.`HostHaStateVO` ( + `uuid` varchar(32) NOT NULL UNIQUE COMMENT 'host uuid', + `state` varchar(32), + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +DELIMITER $$ +CREATE PROCEDURE addHostHaStatus() + BEGIN + DECLARE isHaEnable VARCHAR(32); + DECLARE hostUuid VARCHAR(32); + DECLARE current_time_stamp timestamp; + DECLARE done INT DEFAULT FALSE; + DECLARE haCursor CURSOR FOR select uuid from HostVO; + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; + OPEN haCursor; + read_loop: LOOP + FETCH haCursor INTO hostUuid; + IF done THEN + LEAVE read_loop; + END IF; + + SET current_time_stamp = current_timestamp(); + insert into HostHaStateVO(`uuid`, `state`,`lastOpDate`, `createDate`)values (hostUuid, 'None', current_time_stamp, current_time_stamp); + END LOOP; + CLOSE haCursor; + SELECT CURTIME(); + END $$ +DELIMITER ; + +call addHostHaStatus(); +DROP PROCEDURE IF EXISTS addHostHaStatus; + +CREATE TABLE IF NOT EXISTS `VolumeSnapshotReferenceTreeVO` ( + `uuid` varchar(32) NOT NULL, + `rootImageUuid` varchar(32) DEFAULT NULL, + `rootVolumeUuid` VARCHAR(32) DEFAULT NULL, + `rootInstallUrl` VARCHAR(1024) DEFAULT NULL, + `rootVolumeSnapshotUuid` VARCHAR(32) DEFAULT NULL, + `rootVolumeSnapshotTreeUuid` VARCHAR(32) DEFAULT NULL, + `primaryStorageUuid` VARCHAR(32) DEFAULT NULL, + `hostUuid` VARCHAR(32) DEFAULT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`uuid`) +) ENGINE = InnoDB DEFAULT CHARSET = utf8; + +CREATE TABLE IF NOT EXISTS `VolumeSnapshotReferenceVO` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `parentId` bigint(20) DEFAULT NULL, + `volumeUuid` varchar(32) DEFAULT NULL, + `volumeSnapshotUuid` varchar(32) DEFAULT NULL, + `directSnapshotUuid` VARCHAR(32) DEFAULT NULL, + `volumeSnapshotInstallUrl` varchar(1024) DEFAULT NULL, + `directSnapshotInstallUrl` VARCHAR(1024) DEFAULT NULL, + `treeUuid` VARCHAR(32) DEFAULT NULL, + `referenceUuid` varchar(32) DEFAULT NULL, + `referenceType` varchar(32) DEFAULT NULL, + `referenceInstallUrl` varchar(1024) DEFAULT NULL, + `referenceVolumeUuid` varchar(32) DEFAULT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`id`), + + INDEX `idxVolumeSnapshotReferenceVOVolumeUuid` (`volumeUuid`), + INDEX `idxVolumeSnapshotReferenceVOVolumeSnapshotUuid` (`volumeSnapshotUuid`), + INDEX `idxVolumeSnapshotReferenceVOReferenceUuid` (`referenceUuid`), + CONSTRAINT `fkVolumeSnapshotReferenceReferenceVolumeUuid` FOREIGN KEY (`referenceVolumeUuid`) REFERENCES `VolumeEO` (`uuid`) ON DELETE CASCADE, + CONSTRAINT `fkVolumeSnapshotReferenceReferenceParentId` FOREIGN KEY (`parentId`) REFERENCES `VolumeSnapshotReferenceVO` (`id`) ON DELETE SET NULL, + CONSTRAINT `fkVolumeSnapshotReferenceReferenceTreeUuid` FOREIGN KEY (`treeUuid`) REFERENCES `VolumeSnapshotReferenceTreeVO` (`uuid`) ON DELETE SET NULL +) ENGINE = InnoDB DEFAULT CHARSET = utf8; + +DROP PROCEDURE IF EXISTS `Alter_Volume_Snapshot_Tree_Table`; +DELIMITER $$ +CREATE PROCEDURE Alter_Volume_Snapshot_Tree_Table() + BEGIN + IF NOT EXISTS( SELECT NULL + FROM INFORMATION_SCHEMA.COLUMNS + WHERE table_name = 'VolumeSnapshotTreeEO' + AND table_schema = 'zstack' + AND column_name = 'rootImageUuid') THEN + + ALTER TABLE `VolumeSnapshotTreeEO` ADD `rootImageUuid` VARCHAR(32) DEFAULT NULL; + END IF; + END $$ +DELIMITER ; + +CALL Alter_Volume_Snapshot_Tree_Table(); +DROP PROCEDURE Alter_Volume_Snapshot_Tree_Table; + +DROP VIEW IF EXISTS `zstack`.`VolumeSnapshotTreeVO`; +CREATE VIEW `zstack`.`VolumeSnapshotTreeVO` AS SELECT uuid, volumeUuid, rootImageUuid, current, status, createDate, lastOpDate FROM `zstack`.`VolumeSnapshotTreeEO` WHERE deleted IS NULL; + +DROP PROCEDURE IF EXISTS upgradeVolumeSnapshotRefSystemTags; +DELIMITER $$ +CREATE PROCEDURE upgradeVolumeSnapshotRefSystemTags() +BEGIN + DECLARE refTag VARCHAR(51); + DECLARE snapshotUuid VARCHAR(32); + DECLARE snapshotInstallUrl VARCHAR(1024); + DECLARE volUuid VARCHAR(32); + DECLARE refVolumeUuid VARCHAR(32); + DECLARE refVolumeInstallUrl VARCHAR(32); + DECLARE done INT DEFAULT FALSE; + DECLARE cur CURSOR FOR SELECT systemTag.tag, systemTag.resourceUuid FROM `zstack`.`SystemTagVO` systemTag where systemTag.tag like 'backingTo::%'; + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; + OPEN cur; + read_loop: LOOP + FETCH cur INTO refTag, snapshotUuid; + IF done THEN + LEAVE read_loop; + END IF; + + SET refVolumeUuid = SUBSTRING_INDEX(refTag, '::', 2); + SELECT `volumeUuid`, `primaryStorageInstallPath` INTO volUuid, snapshotInstallUrl FROM `VolumeSnapshotVO` WHERE `uuid` = snapshotUuid; + SELECT `installPath` INTO refVolumeInstallUrl FROM `VolumeVO` WHERE `uuid` = refVolumeUuid; + INSERT INTO `VolumeSnapshotReferenceVO` (`volumeUuid`, `volumeSnapshotUuid`, `volumeSnapshotInstallUrl`, `referenceUuid`, `referenceType`, `referenceInstallUrl`, `referenceVolumeUuid`, `lastOpDate`, `createDate`) + VALUES (volUuid, snapshotUuid, snapshotInstallUrl, refVolumeUuid, 'VolumeVO', refVolumeInstallUrl, refVolumeUuid, NOW(), NOW()); + + END LOOP; + CLOSE cur; + SELECT CURTIME(); +END $$ +DELIMITER ; +CALL upgradeVolumeSnapshotRefSystemTags(); + +UPDATE GlobalConfigVO set `value` = 'InfoSec' where `value` = 'infoSec' and category ='encrypt' and name = 'encrypt.driver'; diff --git a/conf/tools/flyway-6.3.1/sql/V4.7.11__schema.sql b/conf/tools/flyway-6.3.1/sql/V4.7.11__schema.sql new file mode 100644 index 00000000000..1f7567b949d --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V4.7.11__schema.sql @@ -0,0 +1,53 @@ +CREATE TABLE IF NOT EXISTS `zstack`.`LicenseAppIdRefVO` ( + `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, + `licenseId` varchar(32) NOT NULL, + `appId` varchar(32) NOT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +ALTER TABLE `zstack`.`HostNetworkInterfaceVO` ADD COLUMN `interfaceModel` VARCHAR(255) DEFAULT NULL; +ALTER TABLE `zstack`.`HostNetworkInterfaceVO` ADD COLUMN `vendorId` VARCHAR(64) DEFAULT NULL; +ALTER TABLE `zstack`.`HostNetworkInterfaceVO` ADD COLUMN `deviceId` VARCHAR(64) DEFAULT NULL; +ALTER TABLE `zstack`.`HostNetworkInterfaceVO` ADD COLUMN `subvendorId` VARCHAR(64) DEFAULT NULL; +ALTER TABLE `zstack`.`HostNetworkInterfaceVO` ADD COLUMN `subdeviceId` VARCHAR(64) DEFAULT NULL; +ALTER TABLE `zstack`.`MonitorGroupTemplateRefVO` + ADD COLUMN `isApplied` boolean not null DEFAULT TRUE; + +CALL DELETE_INDEX('VmNicVO', 'ukVmNicVO'); + +CALL DELETE_INDEX('QuotaVO', 'idxIdentityUuid'); +ALTER TABLE `QuotaVO` ADD INDEX `idxIdentityUuid` (`identityUuid`); + +CREATE TABLE IF NOT EXISTS `zstack`.`HostNetworkInterfaceServiceRefVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `interfaceUuid` varchar(32) NOT NULL, + `vlanId` int(32) NOT NULL DEFAULT 0, + `serviceType` varchar(128) DEFAULT NULL, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`id`), + CONSTRAINT `fkHostNetworkInterfaceServiceRefVOHostNetworkInterfaceVO` FOREIGN KEY (`interfaceUuid`) REFERENCES HostNetworkInterfaceVO (`uuid`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`HostNetworkBondingServiceRefVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `bondingUuid` varchar(32) NOT NULL, + `vlanId` int(32) NOT NULL DEFAULT 0, + `serviceType` varchar(128) DEFAULT NULL, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`id`), + CONSTRAINT `fkHostNetworkBodnuingServiceRefVOHostNetworkBondingVO` FOREIGN KEY (`bondingUuid`) REFERENCES HostNetworkBondingVO (`uuid`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +ALTER TABLE `zstack`.`VtepVO` ADD COLUMN `physicalInterface` VARCHAR(32) DEFAULT NULL AFTER `poolUuid`; +UPDATE AlarmVO +SET NAME = 'Host Memory Used Capacity Per Host alarm' +WHERE uuid = 'ue0x30t7wfyuba87nwk6ywu3ub5svtwk'; + +CALL CREATE_INDEX('SchedulerJobHistoryVO', 'idxSchedulerJobHistoryVOExecuteTime', 'executeTime'); + +ALTER TABLE `zstack`.`AlarmRecordsVO` + MODIFY COLUMN `resourceUuid` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL AFTER `resourceType`; diff --git a/conf/tools/flyway-6.3.1/sql/V4.7.13__schema.sql b/conf/tools/flyway-6.3.1/sql/V4.7.13__schema.sql new file mode 100644 index 00000000000..7e29e429e01 --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V4.7.13__schema.sql @@ -0,0 +1,27 @@ +ALTER TABLE `zstack`.`FlkSecSecretResourcePoolVO` ADD COLUMN `ukeyType` VARCHAR(32) DEFAULT NULL; + +CREATE TABLE IF NOT EXISTS `zstack`.`BlockVolumeVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `iscsiPath` varchar(1024) NOT NULL, + `vendor` varchar(32) NOT NULL, + PRIMARY KEY (`uuid`), + CONSTRAINT fkBlockVolumeVOVolumeVO FOREIGN KEY (uuid) REFERENCES VolumeEO (uuid) ON UPDATE RESTRICT ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`XskyBlockVolumeVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `accessPathId` int NOT NULL, + `accessPathIqn` varchar(128) NOT NULL, + `xskyStatus` varchar(32) NULL, + `xskyBlockVolumeId` int NULL, + `burstTotalBw` bigint NULL, + `burstTotalIops` bigint NULL, + `maxTotalBw` bigint NULL, + `maxTotalIops` bigint NULL, + PRIMARY KEY (`uuid`), + CONSTRAINT fkXskyBlockVolumeVOBlockVolumeVO FOREIGN KEY (uuid) REFERENCES BlockVolumeVO (uuid) ON UPDATE RESTRICT ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +ALTER TABLE `zstack`.`BareMetal2BondingNicRefVO` modify column nicUuid varchar(32) DEFAULT NULL; +CALL ADD_COLUMN('BareMetal2BondingNicRefVO', 'provisionNicUuid', 'VARCHAR(32)', 1, NULL); +CALL ADD_CONSTRAINT('BareMetal2BondingNicRefVO', 'fkBareMetal2BondingNicRefVOProvisionNicVO', 'provisionNicUuid', 'BareMetal2InstanceProvisionNicVO', 'uuid', 'CASCADE'); diff --git a/conf/tools/flyway-6.3.1/sql/V4.7.21__schema.sql b/conf/tools/flyway-6.3.1/sql/V4.7.21__schema.sql new file mode 100644 index 00000000000..b1f9f4e6f99 --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V4.7.21__schema.sql @@ -0,0 +1,143 @@ +CREATE TABLE `NvmeServerVO` ( + `uuid` VARCHAR(32) NOT NULL, + `name` VARCHAR(256) NOT NULL, + `ip` VARCHAR(64) NOT NULL, + `port` int unsigned DEFAULT 4420, + `transport` VARCHAR(32) NOT NULL, + `state` VARCHAR(32) NOT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `NvmeServerClusterRefVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `clusterUuid` VARCHAR(32) NOT NULL, + `nvmeServerUuid` VARCHAR(32) NOT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`id`), + CONSTRAINT `fkNvmeServerClusterRefVONvmeServerVO` FOREIGN KEY (`nvmeServerUuid`) REFERENCES NvmeServerVO (`uuid`) ON DELETE CASCADE, + CONSTRAINT `fkNvmeServerClusterRefVOClusterEO` FOREIGN KEY (`clusterUuid`) REFERENCES ClusterEO (`uuid`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +ALTER TABLE `zstack`.`NvmeTargetVO` ADD COLUMN `nvmeServerUuid` varchar(32); +ALTER TABLE `zstack`.`NvmeTargetVO` ADD CONSTRAINT `fkNvmeTargetVONvmeServerVO` FOREIGN KEY (nvmeServerUuid) REFERENCES NvmeServerVO(uuid) ON DELETE SET NULL; + +ALTER TABLE `zstack`.`OAuth2ClientVO` ADD COLUMN `userinfoUrl` varchar(256) DEFAULT NULL; +ALTER TABLE `zstack`.`SSOClientVO` ADD COLUMN `redirectUrl` varchar(256) DEFAULT NULL; +ALTER TABLE `zstack`.`OAuth2ClientVO` ADD COLUMN `logoutUrl` varchar(256) DEFAULT NULL; +ALTER TABLE `zstack`.`OAuth2TokenVO` MODIFY COLUMN `accessToken` text DEFAULT NULL; +ALTER TABLE `zstack`.`OAuth2TokenVO` MODIFY COLUMN `idToken` text DEFAULT NULL; +ALTER TABLE `zstack`.`OAuth2TokenVO` MODIFY COLUMN `refreshToken` text DEFAULT NULL; +CALL CREATE_INDEX('SSOTokenVO', 'idxSSOTokenVOUserUuid', 'userUuid'); + +CREATE TABLE IF NOT EXISTS `zstack`.SshKeyPairVO ( + `uuid` varchar(32) NOT NULL UNIQUE, + `name` varchar(128) NOT NULL, + `description` varchar(2048) DEFAULT NULL, + `publicKey` varchar(4096) NOT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`uuid`) + ) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.SshKeyPairRefVO ( + `id` int(11) NOT NULL UNIQUE AUTO_INCREMENT, + `resourceUuid` varchar(32) NOT NULL, + `sshKeyPairUuid` varchar(32) NOT NULL, + `resourceType` varchar(32) NOT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + CONSTRAINT `fkSshKeyPairRefVOVmInstanceEO` FOREIGN KEY (`resourceUuid`) REFERENCES `ResourceVO` (`uuid`) ON DELETE CASCADE, + CONSTRAINT `fkSshKeyPairRefVOSshKey` FOREIGN KEY (`sshKeyPairUuid`) REFERENCES `SshKeyPairVO` (`uuid`) ON DELETE CASCADE, + PRIMARY KEY(`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`SnmpAgentVO` ( + `uuid` varchar(32) NOT NULL UNIQUE COMMENT 'uuid', + `version` varchar(32) NOT NULL COMMENT 'snmp authentication version', + `readCommunity` varchar(32) DEFAULT NULL, + `userName` varchar(32) DEFAULT NULL, + `authAlgorithm` varchar(32) DEFAULT NULL, + `authPassword` varchar(32) DEFAULT NULL, + `privacyAlgorithm` varchar(32) DEFAULT NULL, + `privacyPassword` varchar(32) DEFAULT NULL, + `status` varchar(32) NOT NULL COMMENT 'SNMP agent status. status is enable which means start snmp with mn start.', + `port` int(10) DEFAULT NULL, + `securityLevel` varchar(32) DEFAULT NULL, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`SNSSnmpPlatformVO` +( + `uuid` varchar(32) NOT NULL, + `snmpAddress` varchar(128) NOT NULL, + `snmpPort` smallint unsigned NOT NULL, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + UNIQUE KEY `ukipAddrPort` (`snmpAddress`, `snmpPort`) USING BTREE, + PRIMARY KEY (`uuid`) +) ENGINE = InnoDB + DEFAULT CHARSET = utf8; + +DELETE FROM `CpuFeaturesHistoryVO`; + +CREATE TABLE IF NOT EXISTS `zstack`.`RemoteVtepVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `vtepIp` varchar(32) NOT NULL, + `port` int NOT NULL, + `clusterUuid` varchar(32) NOT NULL, + `type` varchar(32) NOT NULL, + `poolUuid` varchar(32) NOT NULL, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`uuid`), + CONSTRAINT fkRemoteVtepVOClusterEO FOREIGN KEY (clusterUuid) REFERENCES ClusterEO (uuid) ON DELETE CASCADE, + UNIQUE KEY `ukRemoteVtepIpPoolUuidClusterUuid` (`vtepIp`,`poolUuid`,`clusterUuid`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +INSERT IGNORE INTO `zstack`.`EncryptEntityMetadataVO` (`entityName`, `columnName`, `state`, `lastOpDate`, `createDate`) + VALUES ('IAM2ProjectAttributeVO', 'value', 'NeedDecrypt', NOW(), NOW()); + +CREATE TABLE IF NOT EXISTS `zstack`.`PrimaryStorageHistoricalUsageBaseVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `primaryStorageUuid` varchar(32) NOT NULL, + `resourceUuid` varchar(32), + `resourceType` varchar(32) NOT NULL, + `totalPhysicalCapacity` bigint unsigned DEFAULT 0, + `usedPhysicalCapacity` bigint unsigned DEFAULT 0, + `recordDate` timestamp DEFAULT '0000-00-00 00:00:00', + `lastOpDate` timestamp DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp DEFAULT '0000-00-00 00:00:00', + CONSTRAINT `fkUsageVOPrimaryStorageEO` FOREIGN KEY (`primaryStorageUuid`) REFERENCES PrimaryStorageEO (`uuid`) ON DELETE CASCADE, + INDEX (primaryStorageUuid), + INDEX (resourceUuid), + INDEX (resourceType), + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +DROP VIEW IF EXISTS `zstack`.PrimaryStorageHistoricalUsageVO; +CREATE VIEW `zstack`.`PrimaryStorageHistoricalUsageVO` AS SELECT +id, primaryStorageUuid, resourceType, totalPhysicalCapacity, usedPhysicalCapacity, recordDate, createDate, lastOpDate +FROM `zstack`.`PrimaryStorageHistoricalUsageBaseVO` WHERE resourceType = 'PrimaryStorageVO'; + +DROP VIEW IF EXISTS `zstack`.CephOsdGroupHistoricalUsageVO; +CREATE VIEW `zstack`.`CephOsdGroupHistoricalUsageVO` AS SELECT +id, primaryStorageUuid, resourceUuid as osdGroupUuid, resourceType, totalPhysicalCapacity, usedPhysicalCapacity, recordDate, createDate, lastOpDate +FROM `zstack`.`PrimaryStorageHistoricalUsageBaseVO` WHERE resourceType = 'CephOsdGroupVO'; + +DROP VIEW IF EXISTS `zstack`.LocalStorageHostHistoricalUsageVO; +CREATE VIEW `zstack`.`LocalStorageHostHistoricalUsageVO` AS SELECT +id, primaryStorageUuid, resourceUuid as hostUuid, resourceType, totalPhysicalCapacity, usedPhysicalCapacity, recordDate, createDate, lastOpDate +FROM `zstack`.`PrimaryStorageHistoricalUsageBaseVO` WHERE resourceType = 'LocalStorageHostRefVO'; + +ALTER TABLE `zstack`.`InstanceOfferingEO` ADD COLUMN `reservedMemorySize` bigint unsigned DEFAULT 0; +ALTER TABLE `zstack`.`VmInstanceEO` ADD COLUMN `reservedMemorySize` bigint unsigned DEFAULT 0; + +DROP VIEW IF EXISTS `zstack`.`VmInstanceVO`; +CREATE VIEW `zstack`.`VmInstanceVO` AS SELECT uuid, name, description, zoneUuid, clusterUuid, imageUuid, hostUuid, internalId, lastHostUuid, instanceOfferingUuid, rootVolumeUuid, defaultL3NetworkUuid, type, hypervisorType, cpuNum, cpuSpeed, memorySize, reservedMemorySize, platform, guestOsType, allocatorStrategy, createDate, lastOpDate, state, architecture FROM `zstack`.`VmInstanceEO` WHERE deleted IS NULL; +DROP VIEW IF EXISTS `zstack`.`InstanceOfferingVO`; +CREATE VIEW `zstack`.`InstanceOfferingVO` AS SELECT uuid, name, description, cpuNum, cpuSpeed, memorySize, reservedMemorySize, allocatorStrategy, sortKey, state, createDate, lastOpDate, type, duration FROM `zstack`.`InstanceOfferingEO` WHERE deleted IS NULL; diff --git a/conf/tools/flyway-6.3.1/sql/V4.8.0.2__schema.sql b/conf/tools/flyway-6.3.1/sql/V4.8.0.2__schema.sql new file mode 100644 index 00000000000..31a5c88bc50 --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V4.8.0.2__schema.sql @@ -0,0 +1,11 @@ +-- in version zsv_4.1.6 + +ALTER TABLE AuditsVO ADD COLUMN `resourceName` varchar(255) DEFAULT NULL; + +ALTER TABLE `zstack`.`HostNetworkInterfaceVO` ADD COLUMN `deviceName` VARCHAR(64) DEFAULT NULL AFTER `deviceId`; +ALTER TABLE `zstack`.`HostNetworkInterfaceVO` ADD COLUMN `vendorName` VARCHAR(64) DEFAULT NULL AFTER `deviceName`; +ALTER TABLE `zstack`.`HostNetworkInterfaceVO` ADD COLUMN `subvendorName` VARCHAR(64) DEFAULT NULL AFTER `subdeviceId`; + +-- from issue: (feature) ZSV-4408 +ALTER TABLE `zstack`.`VmSchedHistoryVO` ADD COLUMN `schedReason` text DEFAULT NULL; +ALTER TABLE `zstack`.`VmSchedHistoryVO` ADD COLUMN `failReason` text DEFAULT NULL; diff --git a/conf/tools/flyway-6.3.1/sql/V4.8.0.3__schema.sql b/conf/tools/flyway-6.3.1/sql/V4.8.0.3__schema.sql new file mode 100644 index 00000000000..18f3ff5fd93 --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V4.8.0.3__schema.sql @@ -0,0 +1,31 @@ +CREATE TABLE IF NOT EXISTS `zstack`.`HostNetworkInterfaceLldpVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `interfaceUuid` varchar(32) NOT NULL UNIQUE, + `mode` varchar(32) NOT NULL, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`uuid`), + CONSTRAINT `fkHostNetworkInterfaceLldpVOHostNetworkInterfaceVO` FOREIGN KEY (`interfaceUuid`) REFERENCES HostNetworkInterfaceVO (`uuid`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`HostNetworkInterfaceLldpRefVO` ( + `lldpUuid` varchar(32) NOT NULL, + `chassisId` varchar(32) NOT NULL, + `timeToLive` int(32) NOT NULL, + `managementAddress` varchar(32) DEFAULT NULL, + `systemName` varchar(32) NOT NULL, + `systemDescription` varchar(255) NOT NULL, + `systemCapabilities` varchar(32) NOT NULL, + `portId` varchar(32) NOT NULL, + `portDescription` varchar(255) DEFAULT NULL, + `vlanId` int(32) DEFAULT NULL, + `aggregationPortId` bigint unsigned DEFAULT NULL, + `mtu` varchar(128) DEFAULT NULL, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`lldpUuid`), + CONSTRAINT `fkHostNetworkInterfaceLldpRefVOHostNetworkInterfaceLldpVO` FOREIGN KEY (`lldpUuid`) REFERENCES HostNetworkInterfaceLldpVO (`uuid`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +INSERT IGNORE INTO `zstack`.`HostNetworkInterfaceLldpVO` (`uuid`, `interfaceUuid`, `mode`, `createDate`, `lastOpDate`) +SELECT REPLACE(UUID(),'-',''), t.uuid, 'rx_only', CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP() FROM `zstack`.`HostNetworkInterfaceVO` t; \ No newline at end of file diff --git a/conf/tools/flyway-6.3.1/sql/V4.8.0.6__schema.sql b/conf/tools/flyway-6.3.1/sql/V4.8.0.6__schema.sql new file mode 100644 index 00000000000..5546e3de871 --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V4.8.0.6__schema.sql @@ -0,0 +1,8 @@ +ALTER TABLE `zstack`.`L2NetworkEO` ADD COLUMN `isolated` boolean NOT NULL DEFAULT FALSE AFTER `virtualNetworkId`; +ALTER TABLE `zstack`.`L2NetworkEO` ADD COLUMN `pvlan` varchar(128) DEFAULT NULL AFTER `virtualNetworkId`; +DROP VIEW IF EXISTS `zstack`.L2NetworkVO; +CREATE VIEW `zstack`.`L2NetworkVO` AS SELECT uuid, name, description, type, vSwitchType, virtualNetworkId, zoneUuid, physicalInterface, isolated, pvlan, createDate, lastOpDate FROM `zstack`.`L2NetworkEO` WHERE deleted IS NULL; + +ALTER TABLE `zstack`.`L3NetworkEO` ADD COLUMN `isolated` boolean NOT NULL DEFAULT FALSE AFTER `enableIPAM`; +DROP VIEW IF EXISTS `zstack`.`L3NetworkVO`; +CREATE VIEW `zstack`.`L3NetworkVO` AS SELECT uuid, name, description, state, type, zoneUuid, l2NetworkUuid, `system`, dnsDomain, createDate, lastOpDate, category, ipVersion, enableIPAM, isolated FROM `zstack`.`L3NetworkEO` WHERE deleted IS NULL; \ No newline at end of file diff --git a/conf/tools/flyway-6.3.1/sql/V4.8.0__schema.sql b/conf/tools/flyway-6.3.1/sql/V4.8.0__schema.sql new file mode 100644 index 00000000000..191c25da599 --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V4.8.0__schema.sql @@ -0,0 +1,198 @@ +DROP PROCEDURE IF EXISTS AddFkPciDeviceVOVmInstanceEO; +DELIMITER $$ +CREATE PROCEDURE AddFkPciDeviceVOVmInstanceEO() +BEGIN + IF (SELECT COUNT(*) FROM information_schema.TABLE_CONSTRAINTS WHERE CONSTRAINT_TYPE = 'FOREIGN KEY' AND TABLE_NAME = 'PciDeviceVO' AND CONSTRAINT_NAME = 'fkPciDeviceVOVmInstanceEO') = 0 THEN +ALTER TABLE PciDeviceVO + ADD CONSTRAINT fkPciDeviceVOVmInstanceEO FOREIGN KEY (vmInstanceUuid) REFERENCES VmInstanceEO(uuid) ON DELETE SET NULL; +END IF; +END $$ +DELIMITER ; +CALL AddFkPciDeviceVOVmInstanceEO(); + +update AlarmVO set name = 'Monitor IP Unreachable' where uuid='065f9609dce141bb952c80f729f58af4'; +update EventSubscriptionVO set name = 'Management Node Connected' where uuid='10d9c4e69fc2456bb8c6c6d456bb5038'; +update EventSubscriptionVO set name = 'SMS Message Sending Failed' where uuid='14a991d4d7d54a66b14e398ffc510bd6'; +update EventSubscriptionVO set name = 'Host Connected' where uuid='1a7a3eb433904df89f5c42a1fa4e0716'; +update EventSubscriptionVO set name = 'VPC vRouter Disk Space is Occupied by Abnormal Files' where uuid='33de14ed204948daa850f9b9a3a02e89'; +update AlarmVO set name = 'VPC vRouter CPU Utilization Average' where uuid='369eef54655548eab2a4d2d7ef061c79'; +update EventSubscriptionVO set name = 'VPC vRouter Connected' where uuid='39d2b6689efa4e4a96c239716cb6f3ea'; +update AlarmVO set name = 'Backup Storage Available Capacity' where uuid='44e6f054a59a451fb1b535accff64fc2'; +update EventSubscriptionVO set name = 'CDP Task Status Abnormally Changed' where uuid='47388fa83669736d6ed8776d7ed384g4'; +update EventSubscriptionVO set name = 'NIC IP Configured in VM Instance Has Been Occupied on Cloud (GuestTools Required)' where uuid='4a3494bcdbac4eaab9e9e56e27d74a2a'; +update EventSubscriptionVO set name = 'Host Disconnected' where uuid='4a3cb114b10d41e19545ab693222c134'; +update EventSubscriptionVO set name = 'Backup Storage Connected' where uuid='55365763fed244c39b4642bef6c5daf9'; +update EventSubscriptionVO set name = 'QEMU Version of Hosts in Cluster Needs to be Updated' where uuid='559ca06aa8bba6990d10c255e4c9ab5b'; +update AlarmVO set name = 'VPC vRouter Memory Percent Used' where uuid='582ea79cb57d45a8bfd4d2030244c1c4'; +update AlarmVO set name = 'Host Root Volume Utilization' where uuid='5d3bb9d271a349b283893317f531f723'; +update EventSubscriptionVO set name = 'Primary Storage Disconnected' where uuid='5e75230bd2ea4f47abf6ff92fa816a20'; +update AlarmVO set name = 'Average CPU Utilization of Hosts' where uuid='5z6gsgkc5kccpylj9ocgbd647p2700b7'; +update AlarmVO set name = 'License Expiration' where uuid='65e8f1a4892231b692cc7a881581f3da'; +update AlarmVO set name = 'CDP Task RPO Latency' where uuid='66898fa836694f7665d49b74dedf7631'; +update AlarmVO set name = 'Primary Storage Available Capacity' where uuid='66dfdee6fd314aac96ca3779774ad977'; +update EventSubscriptionVO set name = 'VM HA Started On Host' where uuid='6nz3vn2e0rdwu5hzmuetzv37ak0nj248'; +update AlarmVO set name = 'Dual Management Node Database Needs Synchronization' where uuid='712c3dec6aa94ed2b3bcd32192c22f69'; +update AlarmVO set name = 'Capacity Used by CDP Task' where uuid='78898fa836694f769ed89b74ded006f1'; +update EventSubscriptionVO set name = 'LB Instance Disk Space is Occupied by Abnormal Files' where uuid='79b0dad6607a429cb235ad2f701718a0'; +update EventSubscriptionVO set name = 'LB Instance Disconnected' where uuid='842e20d7d9844ee3a3c2a4224235a7df'; +update EventSubscriptionVO set name = 'Management Node Disconnected' where uuid='8eca1096feb34419913087d2b281ecec'; +update EventSubscriptionVO set name = 'Failed to Detect Connection Between Primary Storage and Host' where uuid='8tlwqj65mus1gdolu3w61yy35pvwinhz'; +update EventSubscriptionVO set name = 'VM NIC IP Changed (GuestTools Required)' where uuid='98536fa94e3f4481a38331a989132b7c'; +update EventSubscriptionVO set name = 'Backup Storage Disconnected' where uuid='98f9c802604e4852bd84716f66cf4f73'; +update EventSubscriptionVO set name = 'CDP Task Failed' where uuid='98h262f95c1987fg2ba1be4a3562765f'; +update EventSubscriptionVO set name = 'Host NIC Disconnected' where uuid='9a593ad138bf44138b72e0f0dd989f27'; +update EventSubscriptionVO set name = 'VM Crashed' where uuid='a391bb01fd954ed3b6c0569ecc7b5764'; +update EventSubscriptionVO set name = 'VPC vRouter State Changed to Paused' where uuid='a3d9fd893fbb4468867a7880b6b91ba6'; +update AlarmVO set name = 'System Data Directory Disk Capacity' where uuid='b632652cc16044cdb6b4f516ed93a118'; +update EventSubscriptionVO set name = 'VPC vRouter Failover' where uuid='bd0163e7028644a5b482534c2711d2d9'; +update AlarmVO set name = 'Host Memory Utilization' where uuid='d0b35ac37c58e358cb74e664532f1044'; +update EventSubscriptionVO set name = 'Host NIC Connected' where uuid='d1d122f95c194c958ba1be4a3568ebd0'; +update EventSubscriptionVO set name = 'VPC vRouter Disconnected' where uuid='d59397479d2548d7abfe4ad31a575390'; +update AlarmVO set name = 'Primary Storage Available Physical Capacity' where uuid='ded02f9786444c6296e9bc3efb8eb484'; +update EventSubscriptionVO set name = 'VM Host Abnormally Changed' where uuid='eccfc93109cd4c71b56a2612d84a2773'; +update EventSubscriptionVO set name = 'LB Instance Connected' where uuid='eef29da3aff8486093d6afabb05cddbf'; +update AlarmVO set name = 'VPC vRouter Disk Capacity Percent Used Sum' where uuid='f3389a28b7d64e35875992d254ff4f96'; +update EventSubscriptionVO set name = 'Primary Storage Connected' where uuid='f56795b8c34b452f84bcf25cb89bded2'; +update AlarmVO set name = 'VM Memory Utilization' where uuid='fuz2p4fa71urf4fd7cknoxsalvj60ynk'; +update EventSubscriptionVO set name = 'Host Mount Path Faulted' where uuid='g0eviogong06nubt1kj54z63pcka81sw'; +update EventSubscriptionVO set name = 'VM Migration Failed as Host in Maintenance Mode' where uuid='krdu1hs2314kt18ttgqndaynxchs2ufc'; +update EventSubscriptionVO set name = 'VM in Shutdown State for a Long Time' where uuid='ppfazo1y3tjvup4jfetxz36y3su98ngc'; +update EventSubscriptionVO set name = 'Unknown VM Detected On Host' where uuid='rlwalvvqyoujj3ign3o309p2zulwbhwm'; +update AlarmVO set name = 'Host Memory Used Capacity Per Host alarm' where uuid='ue0x30t7wfyuba87nwk6ywu3ub5svtwk'; +update AlarmVO set name = 'Average CPU Utilization of VM Instances' where uuid='uhgfoh0soh6e1qai005elfa9c6h2s2y0'; +update EventSubscriptionVO set name = 'HSM Exception Notification' where uuid='d3ba391bb01fd954eecc7b576c056964'; +update EventSubscriptionVO set name = '3rd-Party Cryptographic Service Error' where uuid='eecc7b576c05391bb01fd956964d3ba4'; + +update AlarmVO set name = 'CPU Temperature' where uuid = '10908b6b7b8741139a5efc2b1d461a16'; +update AlarmVO set name = 'SSD Remaining Life Expectancy' where uuid = 'a3905b37d5e8477dbe0fb75a30b8f21c'; +update AlarmVO set name = 'SSD Temperature' where uuid = '33198a88f22e4d19b5ff8ebaebb6ujm7'; +update EventSubscriptionVO set name = 'Host Physical Memory Ecc Error Triggered' where uuid = '258ac24eba3443dea73cbcb7758e6759'; +update EventSubscriptionVO set name = 'Host Physical Memory Status Abnormal' where uuid = '03c7c6a8ab4f492bbe06c8b03ba25f27'; +update EventSubscriptionVO set name = 'Host Physical Disk Remove Triggered' where uuid = '226da68a97b94b7f9f918f8ac7138873'; +update EventSubscriptionVO set name = 'Host Physical Disk Insert Triggered' where uuid = '4c230269620e4e739ebc5ab2a6b0f0a4'; +update EventSubscriptionVO set name = 'Host Physical Disk Status Abnormal' where uuid = '4b04f06e4ba24231ad67bd6f06093ba2'; +update EventSubscriptionVO set name = 'Host Physical Cpu Status Abnormal' where uuid = '8186fbbeab1d449b93e7be78d6045c7f'; +update EventSubscriptionVO set name = 'Host Physical Fan Status Abnormal' where uuid = '37e5bdfa2eaf49538931113ddaecf927'; + +CALL ADD_COLUMN('VmNicVO', 'state', 'varchar(255)', 0, 'enable'); + +CREATE TABLE IF NOT EXISTS `zstack`.`BlockPrimaryStorageHostRefVO` ( + `id` BIGINT UNSIGNED NOT NULL UNIQUE AUTO_INCREMENT, + `initiatorName` varchar(256) DEFAULT NULL, + `metadata` text DEFAULT NULL, + PRIMARY KEY (`id`), + CONSTRAINT `fkBlockPrimaryStorageHostRefVOPrimaryStorageHostRefVO` FOREIGN KEY (`id`) REFERENCES `zstack`.`PrimaryStorageHostRefVO` (`id`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CALL DROP_COLUMN('BlockPrimaryStorageVO', 'encryptGatewayIp'); +CALL DROP_COLUMN('BlockPrimaryStorageVO', 'encryptGatewayPort'); +CALL DROP_COLUMN('BlockPrimaryStorageVO', 'encryptGatewayUsername'); +CALL DROP_COLUMN('BlockPrimaryStorageVO', 'encryptGatewayPassword'); +CALL DROP_COLUMN('BlockScsiLunVO', 'type'); + +DROP PROCEDURE IF EXISTS `AlterBlockScsiLunTable`; +DELIMITER $$ +CREATE PROCEDURE AlterBlockScsiLunTable() + BEGIN + IF EXISTS( SELECT NULL + FROM INFORMATION_SCHEMA.COLUMNS + WHERE table_name = 'BlockScsiLunVO' + AND table_schema = 'zstack' + AND column_name = 'id' + AND column_type like 'smallint%') THEN + ALTER TABLE `zstack`.`BlockScsiLunVO` MODIFY COLUMN `id` int unsigned default 0; + END IF; + IF EXISTS( SELECT NULL + FROM INFORMATION_SCHEMA.COLUMNS + WHERE table_name = 'BlockScsiLunVO' + AND table_schema = 'zstack' + AND column_name = 'lunType' + AND is_nullable = 'NO') THEN + ALTER TABLE `zstack`.`BlockScsiLunVO` MODIFY COLUMN lunType varchar(256) DEFAULT NULL; + END IF; + IF EXISTS( SELECT NULL + FROM INFORMATION_SCHEMA.COLUMNS + WHERE table_name = 'BlockScsiLunVO' + AND table_schema = 'zstack' + AND column_name = 'lunMapId' + AND column_type like 'smallint%') THEN + ALTER TABLE `zstack`.`BlockScsiLunVO` MODIFY COLUMN `lunMapId` int unsigned default 0; + END IF; + END $$ +DELIMITER ; +call AlterBlockScsiLunTable; +DROP PROCEDURE IF EXISTS `AlterBlockScsiLunTable`; + +DELIMITER $$ +CREATE PROCEDURE checkAllBlockHostInPrimaryHostRef() + BEGIN + DECLARE hostUuid VARCHAR(32); + DECLARE primaryStorageUuid VARCHAR(32); + DECLARE done INT DEFAULT FALSE; + DECLARE cur CURSOR FOR SELECT hiref.hostUuid, hiref.primaryStorageUuid FROM HostInitiatorRefVO hiref; + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; + + OPEN cur; + read_loop: LOOP + FETCH cur INTO hostUuid, primaryStorageUuid; + IF done THEN + LEAVE read_loop; + END IF; + IF (select count(*) from PrimaryStorageHostRefVO pshref where pshref.hostUuid = hostUuid and pshref.primaryStorageUuid = primaryStorageUuid) = 0 THEN + BEGIN + INSERT INTO zstack.PrimaryStorageHostRefVO (`primaryStorageUuid`, `hostUuid`, `status`, `lastOpDate`, `createDate`) values (primaryStorageUuid, hostUuid, 'Disconnected', CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP()); + END; + END IF; + END LOOP; + CLOSE cur; + SELECT CURTIME(); + END $$ +DELIMITER ; + +DELIMITER $$ +CREATE PROCEDURE migrateBlockPrimaryHostRef() + BEGIN + DECLARE initiatorName VARCHAR(256); + DECLARE psId BIGINT(20); + DECLARE metadata text; + DECLARE psUuid VARCHAR(32); + DECLARE done INT DEFAULT FALSE; + DECLARE cur CURSOR FOR SELECT hostInitiatorRef.initiatorName, hostInitiatorRef.metadata, primaryStorageHostRef.id + FROM zstack.HostInitiatorRefVO hostInitiatorRef, zstack.PrimaryStorageHostRefVO primaryStorageHostRef + where hostInitiatorRef.hostUuid = primaryStorageHostRef.hostUuid and hostInitiatorRef.primaryStorageUuid = primaryStorageHostRef.primaryStorageUuid; + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done =TRUE; + OPEN cur; + read_loop: LOOP + FETCH cur INTO initiatorName, metadata, psId; + IF done THEN + LEAVE read_loop; + END IF; + IF (select count(*) from BlockPrimaryStorageHostRefVO bpshref where id = psId) = 0 THEN + BEGIN + INSERT INTO zstack.BlockPrimaryStorageHostRefVO(id, initiatorName, metadata) values(psId, initiatorName, metadata); + END; + END IF; + END LOOP; + CLOSE cur; + SELECT CURTIME(); + END $$ +DELIMITER ; + +DELIMITER $$ +CREATE PROCEDURE checkHostInitiatorRefVO() + BEGIN + IF (SELECT count(*) FROM information_schema.columns WHERE table_name = 'HostInitiatorRefVO' AND column_name = 'primaryStorageUuid') != 0 THEN + call checkAllBlockHostInPrimaryHostRef(); + call migrateBlockPrimaryHostRef(); + END IF; + END $$ +DELIMITER ; +call checkHostInitiatorRefVO(); +DROP PROCEDURE IF EXISTS migrateBlockPrimaryHostRef; +DROP PROCEDURE IF EXISTS checkAllBlockHostInPrimaryHostRef; +DROP PROCEDURE IF EXISTS checkHostInitiatorRefVO; +DROP TABLE IF EXISTS HostInitiatorRefVO; + +UPDATE ResourceConfigVO SET createDate = CURRENT_TIMESTAMP where name='iam2.force.enable.securityGroup' and createDate='0000-00-00 00:00:00'; + +update AlarmLabelVO set value='/var/lib/zstack/' where alarmUuid='b632652cc16044cdb6b4f516ed93a118' and value='/var/lib/zstack'; \ No newline at end of file diff --git a/conf/tools/flyway-6.3.1/sql/V5.0.0__schema.sql b/conf/tools/flyway-6.3.1/sql/V5.0.0__schema.sql new file mode 100644 index 00000000000..ea0063e493c --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V5.0.0__schema.sql @@ -0,0 +1,125 @@ +UPDATE ImageEO SET md5sum = NULL where md5sum != 'not calculated'; + +ALTER TABLE `zstack`.`LoadBalancerVO` DROP FOREIGN KEY `fkLoadBalancerVOVipVO`; +ALTER TABLE `zstack`.`LoadBalancerVO` MODIFY COLUMN vipUuid varchar(32) DEFAULT NULL; +ALTER TABLE `zstack`.`LoadBalancerVO` ADD CONSTRAINT `fkLoadBalancerVOVipVO` FOREIGN KEY (`vipUuid`) REFERENCES `zstack`.`VipVO` (`uuid`) ON DELETE SET NULL; + +ALTER TABLE `zstack`.`LoadBalancerVO` ADD COLUMN `ipv6VipUuid` varchar(32) DEFAULT null; +ALTER TABLE `zstack`.`LoadBalancerVO` ADD CONSTRAINT `fkLoadBalancerVOIpv6VipVO` FOREIGN KEY (`ipv6VipUuid`) REFERENCES `zstack`.`VipVO` (`uuid`) ON DELETE SET NULL; + +ALTER TABLE `zstack`.`LoadBalancerServerGroupVmNicRefVO` ADD COLUMN `ipVersion` int(10) unsigned DEFAULT 4; + +UPDATE `zstack`.`VipVO` SET `system` = 0 where `uuid` in (select lb.vipUuid from `zstack`.`LoadBalancerVO` lb, `zstack`.`SlbLoadBalancerVO` slb where lb.uuid = slb.uuid); + +update EventSubscriptionVO set name = 'Host Hardware Changed' where uuid = '829d96de006043c3b34202861ca82078'; + +CREATE TABLE `zstack`.`SNSWeComEndpointVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `url` varchar(1024) NOT NULL, + `atAll` int(1) unsigned NOT NULL, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`SNSWeComAtPersonVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `userId` varchar(64) NOT NULL, + `endpointUuid` varchar(32) NOT NULL, + `remark` varchar(128) default '' null, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`SNSFeiShuEndpointVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `url` varchar(1024) NOT NULL, + `atAll` int(1) unsigned NOT NULL, + `secret` varchar(128) default '' null, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`SNSFeiShuAtPersonVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `userId` varchar(64) NOT NULL, + `endpointUuid` varchar(32) NOT NULL, + `remark` varchar(128) default '' null, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +alter table SNSDingTalkEndpointVO + add secret varchar(128) default '' null; + +alter table SNSDingTalkAtPersonVO + add lastOpDate timestamp ON UPDATE CURRENT_TIMESTAMP; + +alter table SNSDingTalkAtPersonVO + add createDate timestamp NULL DEFAULT '0000-00-00 00:00:00'; + +UPDATE SNSDingTalkAtPersonVO +SET createDate = CURRENT_TIMESTAMP, + lastOpDate = CURRENT_TIMESTAMP; + +alter table SNSDingTalkAtPersonVO + add remark varchar(128) default '' null; + +CREATE TABLE IF NOT EXISTS `zstack`.`EthernetVfPciDeviceVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `hostDevUuid` varchar(32) DEFAULT NULL, + `interfaceName` varchar(32) DEFAULT NULL, + `vmUuid` varchar(32) DEFAULT NULL, + `l3NetworkUuid` varchar(32) DEFAULT NULL, + `vfStatus` varchar(32) NOT NULL, + PRIMARY KEY (`uuid`), + CONSTRAINT `fkEthernetVfPciDeviceVOVmInstanceEO` FOREIGN KEY (`vmUuid`) REFERENCES `VmInstanceEO` (`uuid`) ON DELETE SET NULL, + CONSTRAINT `fkEthernetVfPciDeviceVOHostEO` FOREIGN KEY (`hostDevUuid`) REFERENCES `HostEO` (`uuid`) ON DELETE CASCADE, + CONSTRAINT `fkEthernetVfPciDeviceVO` FOREIGN KEY (`uuid`) REFERENCES `PciDeviceVO` (`uuid`) ON DELETE CASCADE, + CONSTRAINT `fkEthernetVfPciDeviceVOL3NetworkEO` FOREIGN KEY (`l3NetworkUuid`) REFERENCES `L3NetworkEO` (`uuid`) ON DELETE SET NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +ALTER TABLE ConsoleProxyVO ADD COLUMN `expiredDate` timestamp NOT NULL; + +delete from EncryptEntityMetadataVO where entityName = 'IAM2VirtualIDVO' and state = 'NeedDecrypt'; + +ALTER TABLE `SecretResourcePoolVO` ADD COLUMN `ability` varchar(256) NOT NULL DEFAULT 'All'; + +CREATE TABLE IF NOT EXISTS `zstack`.`JitSecurityMachineVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `port` int unsigned NOT NULL, + PRIMARY KEY (`uuid`), + CONSTRAINT fkJitSecurityMachineVOSecurityMachineVO FOREIGN KEY (uuid) REFERENCES SecurityMachineVO (uuid) ON UPDATE RESTRICT ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +ALTER TABLE `zstack`.`AgentVersionVO` ADD CONSTRAINT fkAgentVersionVOResourceVO FOREIGN KEY (uuid) REFERENCES ResourceVO (uuid) ON DELETE CASCADE; + +ALTER TABLE `zstack`.`HostNetworkInterfaceVO` ADD COLUMN `virtStatus` VARCHAR(32) DEFAULT NULL AFTER `offloadStatus`; + +CREATE TABLE IF NOT EXISTS `zstack`.`ExternalPrimaryStorageVO` ( + `uuid` varchar(32) NOT NULL, + `identity` varchar(32) NOT NULL, + `config` varchar(255) DEFAULT NULL, + `password` varchar(255) DEFAULT NULL, + `addonInfo` varchar(2048) DEFAULT NULL, + `defaultProtocol` varchar(255) NOT NULL, + PRIMARY KEY (`uuid`) +) ENGINE = InnoDB DEFAULT CHARSET = utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`PrimaryStorageOutputProtocolRefVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `primaryStorageUuid` varchar(32) NOT NULL, + `outputProtocol` varchar(255) NOT NULL, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`id`), + CONSTRAINT `fkPrimaryStorageOutputProtocolRefVOExternalPrimaryStorageVO` FOREIGN KEY (`primaryStorageUuid`) REFERENCES ExternalPrimaryStorageVO (`uuid`) ON DELETE CASCADE +) ENGINE = InnoDB DEFAULT CHARSET = utf8; + +ALTER TABLE VolumeEO ADD COLUMN protocol VARCHAR(32) DEFAULT NULL; + +DROP VIEW IF EXISTS `zstack`.`VolumeVO`; +CREATE VIEW `zstack`.`VolumeVO` AS SELECT uuid, name, description, primaryStorageUuid, vmInstanceUuid, diskOfferingUuid, + rootImageUuid, installPath, type, status, size, actualSize, deviceId, format, state, createDate, lastOpDate, + isShareable, volumeQos, lastVmInstanceUuid, lastDetachDate, lastAttachDate, protocol FROM `zstack`.`VolumeEO` WHERE deleted IS NULL; + +ALTER TABLE VmCdRomVO ADD COLUMN protocol VARCHAR(32) DEFAULT NULL; diff --git a/conf/tools/flyway-6.3.1/sql/V5.1.0__schema.sql b/conf/tools/flyway-6.3.1/sql/V5.1.0__schema.sql new file mode 100644 index 00000000000..484cfc9d0bd --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V5.1.0__schema.sql @@ -0,0 +1,68 @@ +DELETE FROM `SystemTagVO` WHERE `resourceUuid` IN (SELECT uuid FROM HostCapacityVO WHERE cpuSockets != 1) AND tag LIKE "cpuProcessorNum::%"; + +CREATE TABLE IF NOT EXISTS `zstack`.`SlbGroupMonitorIpVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `slbGroupUuid` varchar(32) NOT NULL, + `monitorIp` varchar(128) DEFAULT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`id`), + CONSTRAINT `fkSlbGroupConfigTaskVOSlbGroupVO` FOREIGN KEY (`slbGroupUuid`) REFERENCES `SlbGroupVO` (`uuid`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`SlbVmInstanceConfigTaskVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `vmInstanceUuid` varchar(32) NOT NULL, + `configVersion` bigint unsigned DEFAULT 0 UNIQUE, + `taskName` varchar(32) NOT NULL, + `taskData` text NOT NULL, + `lastFailedReason` varchar(1024) NOT NULL, + `retryNumber` bigint unsigned DEFAULT 0, + `status` varchar(32) NOT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`id`), + CONSTRAINT `fkSlbVmInstanceConfigTaskVOSlbVmInstanceVO` FOREIGN KEY (`vmInstanceUuid`) REFERENCES `SlbVmInstanceVO` (`uuid`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +ALTER TABLE `zstack`.`SlbGroupVO` ADD COLUMN `configVersion` bigint unsigned DEFAULT 0; +ALTER TABLE `zstack`.`SlbVmInstanceVO` ADD COLUMN `configVersion` bigint unsigned DEFAULT 0; +UPDATE `zstack`.`SlbGroupVO` SET deployType = "NoHA"; + +ALTER TABLE `zstack`.`LoadBalancerServerGroupVO` ADD COLUMN `ipVersion` int(10) unsigned NOT NULL DEFAULT 4 AFTER `loadBalancerUuid`; +UPDATE `zstack`.`VipVO` set serviceProvider='SLB' where uuid in (select vipUuid from LoadBalancerVO where type='SLB'); +UPDATE `zstack`.`VipVO` set serviceProvider='SLB' where uuid in (select ipv6VipUuid from LoadBalancerVO where type='SLB'); + +ALTER TABLE `zstack`.`VmVfNicVO` ADD COLUMN `haState` varchar(32) NOT NULL DEFAULT "Disabled" AFTER `pciDeviceUuid`; + +CREATE TABLE IF NOT EXISTS `zstack`.`VpcSharedQosVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `name` varchar(255) NOT NULL, + `description` varchar(255) DEFAULT NULL, + `l3NetworkUuid` varchar(32) NOT NULL, + `vpcUuid` varchar(32) DEFAULT NULL, + `bandwidth` bigint unsigned, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`), + CONSTRAINT fkVpcSharedQosVOL3NetworkEO FOREIGN KEY (l3NetworkUuid) REFERENCES L3NetworkEO (uuid) ON DELETE CASCADE, + CONSTRAINT fkVpcSharedQosVOApplianceVmVO FOREIGN KEY (vpcUuid) REFERENCES ApplianceVmVO (uuid) ON DELETE SET NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`VpcSharedQosRefVipVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `sharedQosUuid` varchar(32) NOT NULL, + `vipUuid` varchar(32) NOT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`id`), + CONSTRAINT fkVpcSharedQosRefVipVOVpcSharedQosVO FOREIGN KEY (sharedQosUuid) REFERENCES VpcSharedQosVO (uuid) ON DELETE CASCADE, + CONSTRAINT fkVpcSharedQosRefVipVOVipVO FOREIGN KEY (vipUuid) REFERENCES VipVO (uuid) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`ExponBlockVolumeVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `exponStatus` varchar(32) NULL, + PRIMARY KEY (`uuid`), + CONSTRAINT fkExponBlockVolumeVOBlockVolumeVO FOREIGN KEY (uuid) REFERENCES BlockVolumeVO (uuid) ON UPDATE RESTRICT ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; diff --git a/conf/tools/flyway-6.3.1/sql/V5.1.19__schema.sql b/conf/tools/flyway-6.3.1/sql/V5.1.19__schema.sql new file mode 100644 index 00000000000..44a1030ae40 --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V5.1.19__schema.sql @@ -0,0 +1,10 @@ +CREATE TABLE IF NOT EXISTS `zstack`.`SSOServerTokenVO`( + `uuid` varchar(32) not null unique, + `accessToken` text DEFAULT NULL, + `idToken` text DEFAULT NULL, + `refreshToken` text DEFAULT NULL, + `userUuid` varchar(32) DEFAULT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; diff --git a/conf/tools/flyway-6.3.1/sql/V5.1.20__schema.sql b/conf/tools/flyway-6.3.1/sql/V5.1.20__schema.sql new file mode 100644 index 00000000000..a4a9aa3c531 --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V5.1.20__schema.sql @@ -0,0 +1,44 @@ +ALTER TABLE `zstack`.`ModelCenterVO` ADD COLUMN containerStorageNetwork varchar(2048) DEFAULT NULL; +ALTER TABLE `zstack`.`ModelServiceInstanceVO` ADD COLUMN internalUrl varchar(2048) DEFAULT NULL; +ALTER TABLE `zstack`.`ModelServiceInstanceVO` ADD COLUMN k8sResourceYaml mediumtext DEFAULT NULL; +ALTER TABLE `zstack`.`ModelServiceInstanceVO` ADD COLUMN urlMaps mediumtext DEFAULT NULL; + +DROP PROCEDURE IF EXISTS UpdateK8sResourceYaml; +DELIMITER // +CREATE PROCEDURE UpdateK8sResourceYaml() +BEGIN + -- 开始事务 + START TRANSACTION; + + UPDATE ModelServiceInstanceVO + SET k8sResourceYaml = yaml + WHERE vmInstanceUuid IS NULL AND k8sResourceYaml IS NULL AND yaml IS NOT NULL; + + -- 提交事务 + COMMIT; +END // +DELIMITER ; +CALL UpdateK8sResourceYaml(); + +CREATE TABLE IF NOT EXISTS `zstack`.`ApplicationDevelopmentServiceVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `name` varchar(255) NULL, + `modelServiceGroupUuid` varchar(32) NULL, + `modelServiceUuid` varchar(32) NULL, + `deploymentStatus` varchar(255) NOT NULL, + CONSTRAINT fkApplicationDevelopmentServiceVOModelServiceGroupVO FOREIGN KEY (modelServiceGroupUuid) REFERENCES ModelServiceInstanceGroupVO (uuid) ON DELETE SET NULL, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`ModelCenterCapacityVO` ( + `uuid` varchar(32) NOT NULL, + `modelUsedCapacity` bigint NULL, + `modelServiceUsedCapacity` bigint NULL, + `datasetUsedCapacity` bigint NULL, + `fineTuneUsedCapacity` bigint NULL, + `modelEvaluationUsedCapacity` bigint NULL, + `installationUsedCapacity` bigint NULL, + `temporaryUsedCapacity` bigint NULL, + `cacheUsedCapacity` bigint NULL, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; diff --git a/conf/tools/flyway-6.3.1/sql/V5.1.4__schema.sql b/conf/tools/flyway-6.3.1/sql/V5.1.4__schema.sql new file mode 100644 index 00000000000..553fd49bde3 --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V5.1.4__schema.sql @@ -0,0 +1,2 @@ +CALL ADD_COLUMN('OAuth2ClientVO', 'scope', 'varchar(255)', 1, 'openid'); +CALL ADD_COLUMN('OAuth2ClientVO', 'identityProvider', 'varchar(32)', 1, 'default'); \ No newline at end of file diff --git a/conf/tools/flyway-6.3.1/sql/V5.1.8.1__schema.sql b/conf/tools/flyway-6.3.1/sql/V5.1.8.1__schema.sql new file mode 100644 index 00000000000..175e60beae7 --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V5.1.8.1__schema.sql @@ -0,0 +1,232 @@ +CREATE TABLE IF NOT EXISTS `zstack`.`ModelCenterVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `name` varchar(128) DEFAULT NULL, + `description` varchar(2048) DEFAULT NULL, + `url` varchar(2048) DEFAULT NULL, + `parameters` varchar(128) DEFAULT NULL, + `status` varchar(255) NOT NULL, + `managementIp` varchar(128) NOT NULL, + `managementPort` int(16) not NULL, + `storageNetworkUuid` varchar(32) DEFAULT NULL, + `serviceNetworkUuid` varchar(32) DEFAULT NULL, + `containerRegistry` varchar(2048) DEFAULT NULL, + `containerNetwork` varchar(2048) DEFAULT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`ModelVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `name` varchar(255) DEFAULT NULL, + `description` varchar(2048) DEFAULT NULL, + `modelCenterUuid` varchar(32) NOT NULL, + `parameters` mediumtext DEFAULT NULL, + `installPath` varchar(2048) DEFAULT NULL, + `introduction` mediumtext DEFAULT NULL, + `logo` mediumtext DEFAULT NULL, + `version` varchar(255) DEFAULT NULL, + `vendor` varchar(255) DEFAULT NULL, + `type` varchar(32) NOT NULL, + `size` bigint(20) NOT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`), + CONSTRAINT fkModelVOModelCenterVO FOREIGN KEY (modelCenterUuid) REFERENCES ModelCenterVO (uuid) ON UPDATE RESTRICT ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`ModelServiceVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `name` varchar(255) DEFAULT NULL, + `description` varchar(2048) DEFAULT NULL, + `type` varchar(32) NOT NULL, + `yaml` mediumtext NOT NULL, + `requestCpu` int(10) NOT NULL, + `requestMemory` bigint(20) NOT NULL, + `framework` varchar(255) DEFAULT 'Other', + `condaVersion` varchar(32) DEFAULT NULL, + `dockerImage` varchar(255) DEFAULT NULL, + `size` bigint(20) DEFAULT 0, + `gpuComputeCapability` varchar(32) DEFAULT NULL, + `system` tinyint(1) DEFAULT 0, + `modelCenterUuid` varchar(32) NOT NULL, + `vmImageUuid` varchar(32) DEFAULT NULL, + `installPath` varchar(512) NOT NULL, + `startCommand` varchar(1024) NOT NULL, + `pythonVersion` varchar(32) DEFAULT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`ModelServiceRefVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `modelUuid` varchar(32) NOT NULL, + `modelServiceUuid` varchar(32) NOT NULL, + PRIMARY KEY (`uuid`), + CONSTRAINT fkModelRefVO FOREIGN KEY (modelUuid) REFERENCES ModelVO (uuid) ON UPDATE RESTRICT ON DELETE CASCADE, + CONSTRAINT fkModelServiceRefVO FOREIGN KEY (modelServiceUuid) REFERENCES ModelServiceVO (uuid) ON UPDATE RESTRICT ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zstack`.`ModelServiceInstanceGroupVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `modelServiceUuid` varchar(32) DEFAULT NULL, + `modelUuid` varchar(32) DEFAULT NULL, + `name` varchar(255) DEFAULT NULL, + `status` varchar(255) NOT NULL, + `modelServiceType` varchar(62) NOT NULL, + `type` varchar(128) NOT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + CONSTRAINT fkModelServiceInstanceGroupVOModelServiceModelServiceVO FOREIGN KEY (modelServiceUuid) REFERENCES ModelServiceVO (uuid) ON DELETE SET NULL, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`ModelServiceInstanceVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `description` varchar(2048) DEFAULT NULL, + `yaml` mediumtext DEFAULT NULL, + `status` varchar(255) NOT NULL, + `url` varchar(2048) NOT NULL, + `modelServiceGroupUuid` varchar(32) NOT NULL, + `vmInstanceUuid` varchar(32) DEFAULT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`), + CONSTRAINT fkModelServiceInstanceVOVmInstanceVO FOREIGN KEY (vmInstanceUuid) REFERENCES VmInstanceEO (uuid) ON DELETE SET NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +--CREATE TABLE `zstack`.`VmModelServiceInstanceVO` ( +-- `uuid` varchar(32) NOT NULL UNIQUE, +-- `modelServiceInstanceGroupUuid` varchar(32) DEFAULT NULL, +-- PRIMARY KEY (`uuid`) +--) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`SSOServerTokenVO`( + `uuid` varchar(32) not null unique, + `accessToken` text DEFAULT NULL, + `idToken` text DEFAULT NULL, + `refreshToken` text DEFAULT NULL, + `userUuid` varchar(32) DEFAULT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`ContainerManagementVmVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `name` varchar(255) DEFAULT NULL, + `description` varchar(2048) DEFAULT NULL, + `managementIp` varchar(255) DEFAULT NULL, + `vendor` varchar(64) DEFAULT NULL, + `managementPort` int unsigned DEFAULT NULL, + `vmInstanceUuid` varchar(32) NOT NULL, + `accessKeyId` VARCHAR(128) NOT NULL, + `accessKeySecret` VARCHAR(128) NOT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`DatasetVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `name` varchar(255) NULL, + `url` varchar(2048) NULL, + `code` varchar(255) DEFAULT NULL, + `installPath` varchar(2048) NULL, + `description` varchar(2048) NULL, + `modelCenterUuid` varchar(32) NOT NULL, + `system` tinyint(1) DEFAULT 0, + `size` bigint(20) DEFAULT 0, + `lastOpDate` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`), + CONSTRAINT fkDatasetVOModelCenterVO FOREIGN KEY (modelCenterUuid) REFERENCES ModelCenterVO (uuid) ON UPDATE RESTRICT ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`ModelServiceGroupDatasetRefVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `datasetUuid` varchar(32) NOT NULL, + `modelServiceInstanceGroupUuid` varchar(32) NOT NULL, + PRIMARY KEY (`uuid`), + CONSTRAINT fkDatasetRefVO FOREIGN KEY (datasetUuid) REFERENCES DatasetVO (uuid) ON UPDATE RESTRICT ON DELETE CASCADE, + CONSTRAINT fkModelServiceInstanceGroupVORefVO FOREIGN KEY (modelServiceInstanceGroupUuid) REFERENCES ModelServiceInstanceGroupVO (uuid) ON UPDATE RESTRICT ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`ModelServiceGroupModelServiceRefVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `modelServiceInstanceGroupUuid` varchar(32) NOT NULL, + `dependModelServiceInstanceGroupUuid` varchar(32) NOT NULL, + PRIMARY KEY (`uuid`), + CONSTRAINT fkModelServiceGroupModelServiceRefVOModelServicePrimary FOREIGN KEY (dependModelServiceInstanceGroupUuid) REFERENCES ModelServiceInstanceGroupVO (uuid) ON UPDATE RESTRICT ON DELETE CASCADE, + CONSTRAINT fkModelServiceGroupModelServiceRefVOModelServiceDepend FOREIGN KEY (modelServiceInstanceGroupUuid) REFERENCES ModelServiceInstanceGroupVO (uuid) ON UPDATE RESTRICT ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`ModelEvalServiceInstanceGroupVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `temperature` FLOAT NULL, + `topK` INT NULL, + `topP` FLOAT NULL, + `maxLength` INT NULL, + `maxNewTokens` INT NULL, + `repetitionPenalty` FLOAT NULL, + `limits` INT, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`UserProxyConfigVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `proxyType` varchar(255) NULL, + `proxyHost` varchar(255) NULL, + `proxyPort` int NULL, + `proxyUsername` varchar(255) NULL, + `proxyPassword` varchar(255) NULL, + `isEnabled` boolean NULL, + `proxyProtocolVersion` varchar(255) NULL, + `useSsl` boolean NULL, + `noProxy` varchar(255) NULL, + `createDate` timestamp NULL, + `lastOpDate` timestamp NULL, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`UserProxyConfigResourceRefVO` ( + `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, + `resourceUuid` varchar(32) NOT NULL, + `proxyUuid` varchar(32) NOT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`id`), + UNIQUE KEY `id` (`id`), + KEY `fkUserProxyConfigResourceRefVOResourceVO` (`resourceUuid`), + KEY `fkUserProxyConfigResourceRefVOUserProxyConfigVO` (`proxyUuid`), + CONSTRAINT `fUserProxyConfigResourceRefVO` FOREIGN KEY (`resourceUuid`) REFERENCES `ResourceVO` (`uuid`) ON DELETE CASCADE, + CONSTRAINT `fkUserProxyConfigResourceRefVO1` FOREIGN KEY (`proxyUuid`) REFERENCES `UserProxyConfigVO` (`uuid`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`ModelEvaluationTaskVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `name` varchar(255) DEFAULT NULL, + `description` varchar(2048) DEFAULT NULL, + `percentage` int(3) DEFAULT 0, + `status` varchar(64) NOT NULL, + `modelServiceGroupUuid` varchar(32) NOT NULL, + `evaluatedServiceGroupUuid` varchar(32) NOT NULL, + `datasetUuid` varchar(32) NOT NULL, + `limits` int(3) DEFAULT 0, + `opaque` mediumtext DEFAULT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`TrainedModelRecordVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `modelUuid` varchar(32) NOT NULL, + `sourceModelUuid` varchar(32) DEFAULT NULL, + `modelServiceInstanceGroupUuid` varchar(32) NOT NULL, + `datasetUuid` varchar(32) DEFAULT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; diff --git a/conf/tools/flyway-6.3.1/sql/V5.1.8__schema.sql b/conf/tools/flyway-6.3.1/sql/V5.1.8__schema.sql new file mode 100644 index 00000000000..b14a671c600 --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V5.1.8__schema.sql @@ -0,0 +1,274 @@ +ALTER TABLE `zstack`.`AuditsVO` ADD COLUMN `startTime` bigint(20); + +CREATE INDEX idx_startTime ON AuditsVO (startTime); +CREATE INDEX id_id_resourceType ON AuditsVO (id, resourceType); +CREATE INDEX idx_id_resourceType_startTime ON AuditsVO (id, resourceType, startTime); + +UPDATE AuditsVO set startTime = createTime WHERE startTime IS NULL; + +CREATE TABLE IF NOT EXISTS `zstack`.`SanSecSecretResourcePoolVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `keyIndex` varchar(128) DEFAULT NULL, + PRIMARY KEY (`uuid`), + CONSTRAINT fkSanSecSecretResourcePoolVOSecretResourcePoolVO FOREIGN KEY (uuid) REFERENCES SecretResourcePoolVO (uuid) ON UPDATE RESTRICT ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`SanSecSecurityMachineVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `port` int unsigned NOT NULL, + `password` varchar(255) DEFAULT NULL, + PRIMARY KEY (`uuid`), + CONSTRAINT fkSanSecurityMachineVOSecurityMachineVO FOREIGN KEY (uuid) REFERENCES SecurityMachineVO (uuid) ON UPDATE RESTRICT ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`FiSecSecretResourcePoolVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `keyNum` varchar(128) DEFAULT NULL, + PRIMARY KEY (`uuid`), + CONSTRAINT fkFiSecSecretResourcePoolVOSecretResourcePoolVO FOREIGN KEY (uuid) REFERENCES SecretResourcePoolVO (uuid) ON UPDATE RESTRICT ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`FiSecSecurityMachineVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `port` int unsigned NOT NULL, + PRIMARY KEY (`uuid`), + CONSTRAINT fkFiSecSecurityMachineVOSecurityMachineVO FOREIGN KEY (uuid) REFERENCES SecurityMachineVO (uuid) ON UPDATE RESTRICT ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`CSPSecretResourcePoolVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `managementIp` varchar(32) NOT NULL, + `port` int unsigned NOT NULL, + `appId` varchar(128) NOT NULL, + `appKey` varchar(128) NOT NULL, + `keyId` varchar(128) NOT NULL, + `userId` varchar(128) DEFAULT NULL, + `protocol` varchar(8) DEFAULT NULL, + PRIMARY KEY (`uuid`), + CONSTRAINT fkCSPSecretResourcePoolVOSecretResourcePoolVO FOREIGN KEY (uuid) REFERENCES SecretResourcePoolVO (uuid) ON UPDATE RESTRICT ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +ALTER TABLE `zstack`.`SNSApplicationEndpointVO` ADD COLUMN `connectionStatus` varchar(10) DEFAULT 'UP' COMMENT 'UP or DOWN'; + +CREATE TABLE IF NOT EXISTS `zstack`.`SNSUniversalSmsEndpointVO` +( + `uuid` varchar(32) NOT NULL UNIQUE, + `smsAccessKeyId` varchar(128) NOT NULL, + `smsAccessKeySecret` varchar(128) NOT NULL, + `supplier` varchar(32) NOT NULL, + PRIMARY KEY (`uuid`), + CONSTRAINT fkSNSUniversalSmsEndpointVOSNSApplicationEndpointVO FOREIGN KEY (uuid) REFERENCES SNSApplicationEndpointVO (uuid) ON DELETE CASCADE + ) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`SNSEmaySmsEndpointVO` +( + `uuid` varchar(32) NOT NULL UNIQUE, + `requestUrl` varchar(128) NOT NULL, + PRIMARY KEY (`uuid`), + CONSTRAINT fkSNSEmaySmsEndpointVOSNSApplicationEndpointVO FOREIGN KEY (uuid) REFERENCES SNSApplicationEndpointVO (uuid) ON DELETE CASCADE + ) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +ALTER TABLE `zstack`.`SNSSmsEndpointVO` RENAME TO `zstack`.`SNSAliyunSmsEndpointVO`; +ALTER TABLE `zstack`.`SNSAliyunSmsEndpointVO` DROP FOREIGN KEY fkSNSSmsEndpointVOSNSApplicationEndpointVO; +ALTER TABLE `zstack`.`SNSAliyunSmsEndpointVO` + ADD CONSTRAINT fkSNSAliyunSmsEndpointVOSNSApplicationEndpointVO FOREIGN KEY (uuid) REFERENCES `zstack`.`SNSApplicationEndpointVO` (uuid) ON DELETE CASCADE; +ALTER TABLE `zstack`.`SNSSmsReceiverVO` DROP FOREIGN KEY fkSNSSmsReceiverVOSNSSmsEndpointVO; +ALTER TABLE `zstack`.`SNSSmsReceiverVO` + ADD CONSTRAINT fkSNSSmsReceiverVOSNSUniversalSmsEndpointVO FOREIGN KEY (endpointUuid) REFERENCES `zstack`.`SNSUniversalSmsEndpointVO` (uuid) ON DELETE CASCADE; + +DROP PROCEDURE IF EXISTS UpgradeSNSAliyunSmsEndpointVO; +DELIMITER $$ +CREATE PROCEDURE UpgradeSNSAliyunSmsEndpointVO() +BEGIN + IF (SELECT COUNT(*) FROM SNSUniversalSmsEndpointVO u JOIN SNSAliyunSmsEndpointVO a ON u.uuid = a.uuid) = 0 THEN + INSERT INTO SNSUniversalSmsEndpointVO (uuid, smsAccessKeyId, smsAccessKeySecret, supplier) SELECT uuid, '', '', 'Aliyun' FROM SNSAliyunSmsEndpointVO; +END IF; +END $$ +DELIMITER ; +CALL UpgradeSNSAliyunSmsEndpointVO(); + +DROP PROCEDURE IF EXISTS check_and_insert_encrypt_metadata; +DELIMITER $$ +CREATE PROCEDURE check_and_insert_encrypt_metadata() +BEGIN + IF (select count(*) from GlobalConfigVO gconfig where gconfig.name = 'enable.password.encrypt' and gconfig.category = 'encrypt' and value != 'None') > 0 THEN + UPDATE EncryptEntityMetadataVO SET state = 'NewAdded' WHERE entityName = 'IAM2VirtualIDAttributeVO' AND state = 'Encrypted'; + INSERT INTO EncryptEntityMetadataVO (entityName, columnName, state, lastOpDate, createDate) VALUES ('IAM2OrganizationAttributeVO', 'value', 'NeedDecrypt', NOW(), NOW()); + INSERT INTO EncryptEntityMetadataVO (entityName, columnName, state, lastOpDate, createDate) VALUES ('IAM2ProjectAttributeVO', 'value', 'NeedDecrypt', NOW(), NOW()); + INSERT INTO EncryptEntityMetadataVO (entityName, columnName, state, lastOpDate, createDate) VALUES ('IAM2VirtualIDAttributeVO', 'value', 'NeedDecrypt', NOW(), NOW()); + INSERT INTO EncryptEntityMetadataVO (entityName, columnName, state, lastOpDate, createDate) VALUES ('IAM2VirtualIDGroupAttributeVO', 'value', 'NeedDecrypt', NOW(), NOW()); + END IF; +END $$ +DELIMITER ; +CALL check_and_insert_encrypt_metadata(); + +UPDATE SystemTagVO SET resourceType='SNSAliyunSmsEndpointVO' where resourceType='SNSSmsEndpointVO'; + + +UPDATE IAM2VirtualIDAttributeVO attr JOIN IAM2VirtualIDVO vid ON attr.virtualIDUuid = vid.uuid SET attr.createDate = vid.createDate WHERE attr.createDate = '0000-00-00 00:00:00'; +UPDATE IAM2VirtualIDAttributeVO attr JOIN IAM2VirtualIDVO vid ON attr.virtualIDUuid = vid.uuid SET attr.lastOpDate = vid.lastOpDate WHERE attr.lastOpDate = '0000-00-00 00:00:00'; + +UPDATE IAM2OrganizationAttributeVO attr JOIN IAM2OrganizationVO vid ON attr.organizationUuid = vid.uuid SET attr.createDate = vid.createDate WHERE attr.createDate = '0000-00-00 00:00:00'; +UPDATE IAM2OrganizationAttributeVO attr JOIN IAM2OrganizationVO vid ON attr.organizationUuid = vid.uuid SET attr.lastOpDate = vid.lastOpDate WHERE attr.lastOpDate = '0000-00-00 00:00:00'; + +UPDATE IAM2ProjectAttributeVO attr JOIN IAM2ProjectVO vid ON attr.projectUuid = vid.uuid SET attr.createDate = vid.createDate WHERE attr.createDate = '0000-00-00 00:00:00'; +UPDATE IAM2ProjectAttributeVO attr JOIN IAM2ProjectVO vid ON attr.projectUuid = vid.uuid SET attr.lastOpDate = vid.lastOpDate WHERE attr.lastOpDate = '0000-00-00 00:00:00'; + +UPDATE IAM2VirtualIDGroupAttributeVO attr JOIN IAM2VirtualIDGroupVO vid ON attr.groupUuid = vid.uuid SET attr.createDate = vid.createDate WHERE attr.createDate = '0000-00-00 00:00:00'; +UPDATE IAM2VirtualIDGroupAttributeVO attr JOIN IAM2VirtualIDGroupVO vid ON attr.groupUuid = vid.uuid SET attr.lastOpDate = vid.lastOpDate WHERE attr.lastOpDate = '0000-00-00 00:00:00'; + +CREATE TABLE IF NOT EXISTS `zstack`.`ReservedIpRangeVO` ( + `uuid` varchar(32) NOT NULL UNIQUE COMMENT 'uuid', + `l3NetworkUuid` varchar(32) NOT NULL COMMENT 'l3 network uuid', + `name` varchar(255) DEFAULT NULL COMMENT 'name', + `description` varchar(2048) DEFAULT NULL COMMENT 'description', + `ipVersion` int(10) unsigned DEFAULT 4 COMMENT 'ip range version', + `startIp` varchar(64) NOT NULL COMMENT 'start ip', + `endIp` varchar(64) NOT NULL COMMENT 'end ip', + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP COMMENT 'last operation date', + `createDate` timestamp, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +ALTER TABLE `zstack`.`PciDeviceVO` ADD `rev` varchar(32) DEFAULT ''; + +DELETE FROM `zstack`.`ResourceConfigVO` WHERE `category`='sharedblock' AND `name`='qcow2.allocation'; + +CREATE TABLE IF NOT EXISTS `zstack`.`GpuDeviceVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `serialNumber` varchar(255), + `memory` bigint unsigned NULL DEFAULT 0, + `power` bigint unsigned NULL DEFAULT 0, + `isDriverLoaded` TINYINT(1) NOT NULL DEFAULT 0, + PRIMARY KEY (`uuid`), + CONSTRAINT `fkGpuDeviceInfoVOPciDeviceVO` FOREIGN KEY (`uuid`) REFERENCES `PciDeviceVO` (`uuid`) ON UPDATE RESTRICT ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CALL ADD_COLUMN('PciDeviceVO', 'vendor', 'VARCHAR(128)', 1, NULL); +CALL ADD_COLUMN('PciDeviceVO', 'device', 'VARCHAR(128)', 1, NULL); +CALL ADD_COLUMN('PciDeviceSpecVO', 'vendor', 'VARCHAR(128)', 1, NULL); +CALL ADD_COLUMN('PciDeviceSpecVO', 'device', 'VARCHAR(128)', 1, NULL); +CALL ADD_COLUMN('MdevDeviceVO', 'vendor', 'VARCHAR(128)', 1, NULL); + +DROP PROCEDURE IF EXISTS `MdevDeviceAddVendor`; +DELIMITER $$ +CREATE PROCEDURE MdevDeviceAddVendor() + BEGIN + DECLARE vendor VARCHAR(128); + DECLARE pciDeviceUuid VARCHAR(32); + DECLARE done INT DEFAULT FALSE; + DECLARE cur CURSOR FOR SELECT pci.uuid, pci.vendor FROM PciDeviceVO pci; + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; + + OPEN cur; + read_loop: LOOP + FETCH cur INTO vendor, pciDeviceUuid; + IF done THEN + LEAVE read_loop; + END IF; + UPDATE MdevDeviceVO SET vendor = vendor WHERE parentUuid = pciDeviceUuid; + END LOOP; + CLOSE cur; + SELECT CURTIME(); + END $$ +DELIMITER ; +call MdevDeviceAddVendor; +DROP PROCEDURE IF EXISTS `MdevDeviceAddVendor`; + +CREATE TABLE IF NOT EXISTS `HostHwMonitorStatusVO` +( + `uuid` varchar(32) NOT NULL UNIQUE, + `cpuStatus` varchar(32) NOT NULL, + `memoryStatus` varchar(32) NOT NULL, + `diskStatus` varchar(32) NOT NULL, + `nicStatus` varchar(32) NOT NULL, + `gpuStatus` varchar(32) NOT NULL, + `powerSupplyStatus` varchar(32) NOT NULL, + `fanStatus` varchar(32) NOT NULL, + `raidStatus` varchar(32) NOT NULL, + `temperatureStatus` varchar(32) NOT NULL, + PRIMARY KEY (`uuid`), + CONSTRAINT `fkHostHwMonitorStatusVO` FOREIGN KEY (`uuid`) REFERENCES `HostEO` (`uuid`) ON DELETE CASCADE + ) ENGINE = InnoDB DEFAULT CHARSET = utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`BareMetal2ChassisPciDeviceVO` ( + `uuid` varchar(32) NOT NULL UNIQUE COMMENT 'uuid', + `chassisUuid` varchar(32) NOT NULL, + `description` varchar(2048) DEFAULT NULL, + `type` varchar(32) NOT NULL, + `pciDeviceAddress` varchar(32) NOT NULL, + `vendorId` varchar(64) NOT NULL, + `deviceId` varchar(64) NOT NULL, + `subvendorId` varchar(64) DEFAULT NULL, + `subdeviceId` varchar(64) DEFAULT NULL, + `iommuGroup` varchar(255) DEFAULT NULL, + `name` varchar(255) NOT NULL, + `vendor` varchar(128) DEFAULT NULL, + `device` varchar(128) DEFAULT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`), + CONSTRAINT `fkBareMetal2ChassisPciDeviceVOChassisVO` FOREIGN KEY (`chassisUuid`) REFERENCES `BareMetal2ChassisVO` (`uuid`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`BareMetal2ChassisGpuDeviceVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `serialNumber` varchar(255), + `memory` varchar(255), + `power` varchar(255), + PRIMARY KEY (`uuid`), + CONSTRAINT `fkBm2ChassisGpuDeviceVOBm2ChassisPciDeviceVO` FOREIGN KEY (`uuid`) REFERENCES `BareMetal2ChassisPciDeviceVO` (`uuid`) ON UPDATE RESTRICT ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +DROP PROCEDURE IF EXISTS `CreateGpuDeviceVO`; +DELIMITER $$ +CREATE PROCEDURE CreateGpuDeviceVO() + BEGIN + DECLARE uuid VARCHAR(32); + DECLARE done INT DEFAULT FALSE; + DECLARE cur CURSOR FOR SELECT pci.uuid FROM PciDeviceVO pci where pci.type in ('GPU_Video_Controller', 'GPU_3D_Controller'); + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; + OPEN cur; + read_loop: LOOP + FETCH cur INTO uuid; + IF done THEN + LEAVE read_loop; + END IF; + insert into GpuDeviceVO (uuid) values (uuid); + END LOOP; + CLOSE cur; + SELECT CURTIME(); + END $$ +DELIMITER ; +call CreateGpuDeviceVO; +DROP PROCEDURE IF EXISTS `CreateGpuDeviceVO`; + +DROP PROCEDURE IF EXISTS `addPciDeviceVendor`; +DELIMITER $$ +CREATE PROCEDURE addPciDeviceVendor() + BEGIN + DECLARE pciUuid VARCHAR(32); + DECLARE vendorId VARCHAR(32); + DECLARE done INT DEFAULT FALSE; + DECLARE cur CURSOR FOR SELECT pci.uuid, pci.vendorId FROM PciDeviceVO pci where pci.type in ('GPU_Video_Controller', 'GPU_3D_Controller'); + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; + OPEN cur; + read_loop: LOOP + FETCH cur INTO pciUuid, vendorId; + IF done THEN + LEAVE read_loop; + END IF; + IF vendorId = '1d94' then + update PciDeviceVO set vendor = 'Haiguang' where uuid = pciUuid; + ELSEIF vendorId = '10de' then + update PciDeviceVO set vendor = 'NVIDIA' where uuid = pciUuid; + ELSEIF vendorId = '1002' then + update PciDeviceVO set vendor = 'AMD' where uuid = pciUuid; + END IF; + END LOOP; + CLOSE cur; + SELECT CURTIME(); + END $$ +DELIMITER ; +call addPciDeviceVendor; +DROP PROCEDURE IF EXISTS `addPciDeviceVendor`; diff --git a/conf/tools/flyway-6.3.1/sql/V5.2.0__schema.sql b/conf/tools/flyway-6.3.1/sql/V5.2.0__schema.sql new file mode 100644 index 00000000000..a4a2b406995 --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V5.2.0__schema.sql @@ -0,0 +1,226 @@ +ALTER TABLE `zstack`.`HostNetworkInterfaceVO` MODIFY COLUMN `mac` varchar(128) DEFAULT NULL; + +CREATE TABLE IF NOT EXISTS `zstack`.`XmlHookVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `name` varchar(255) UNIQUE NOT NULL, + `description` varchar(2048) NULL, + `type` varchar(32) NOT NULL, + `hookScript` text NOT NULL, + `libvirtVersion` varchar(32) DEFAULT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`XmlHookVmInstanceRefVO` ( + `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, + `xmlHookUuid` varchar(32) NOT NULL, + `vmInstanceUuid` varchar(32) NOT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`id`), + UNIQUE KEY `id` (`id`), + KEY `fkXmlHookVmInstanceRefVOXmlHookVO` (`xmlHookUuid`), + KEY `fkXmlHookVmInstanceRefVOVmInstanceVO` (`vmInstanceUuid`), + CONSTRAINT `fkXmlHookVmInstanceRefVO` FOREIGN KEY (`xmlHookUuid`) REFERENCES `XmlHookVO` (`uuid`) ON DELETE CASCADE, + CONSTRAINT `fkXmlHookVmInstanceRefVO1` FOREIGN KEY (`vmInstanceUuid`) REFERENCES `ResourceVO` (`uuid`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`SSOServerTokenVO`( + `uuid` varchar(32) not null unique, + `accessToken` text DEFAULT NULL, + `idToken` text DEFAULT NULL, + `refreshToken` text DEFAULT NULL, + `userUuid` varchar(32) DEFAULT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +DROP PROCEDURE IF EXISTS migrateJsonLabelToXmlHookVO; +DELIMITER $$ +CREATE PROCEDURE migrateJsonLabelToXmlHookVO() +BEGIN + DECLARE done INT DEFAULT FALSE; + DECLARE hookUuid VARCHAR(32); + DECLARE vmUuid VARCHAR(32); + DECLARE hookValue TEXT; + DECLARE cur CURSOR FOR SELECT DISTINCT REPLACE(labelKey,'user-defined-xml-hook-script-',''),labelValue FROM zstack.JsonLabelVO WHERE labelKey like 'user-defined-xml-hook-script-%%'; + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; + OPEN cur; + read_loop: LOOP + FETCH cur INTO vmUuid, hookValue; + IF done THEN + LEAVE read_loop; + END IF; + + IF NOT EXISTS(SELECT * from XmlHookVO where hookScript = hookValue) THEN + SET hookUuid = (REPLACE(UUID(), '-', '')); + + INSERT zstack.ResourceVO(uuid, resourceName, resourceType, concreteResourceType) + VALUES (hookUuid, 'xml-hook', 'XmlHookVO', 'org.zstack.header.tag.XmlHookVO'); + + INSERT zstack.XmlHookVO (uuid, name, description, type, hookScript, lastOpDate, createDate) + VALUES(hookUuid, concat('xml-hook', hookUuid), 'xml-hook', 'Customization', hookValue, NOW(), NOW()); + + INSERT zstack.XmlHookVmInstanceRefVO(xmlHookUuid, vmInstanceUuid, lastOpDate, createDate) + VALUES (hookUuid, vmUuid, NOW(), NOW()); + + ELSEIF NOT EXISTS(SELECT * from XmlHookVmInstanceRefVO where vmInstanceUuid = vmUuid) THEN + SET hookUuid = (select uuid from XmlHookVO where hookScript = hookValue); + INSERT zstack.XmlHookVmInstanceRefVO(xmlHookUuid, vmInstanceUuid, lastOpDate, createDate) + VALUES (hookUuid, vmUuid, NOW(), NOW()); + END IF; + + DELETE FROM zstack.JsonLabelVO WHERE labelKey = CONCAT('user-defined-xml-hook-script-', vmUuid) AND labelValue = hookValue; + END LOOP; + CLOSE cur; + + SELECT CURTIME(); +END $$ +DELIMITER ; +call migrateJsonLabelToXmlHookVO(); +DROP PROCEDURE IF EXISTS migrateJsonLabelToXmlHookVO; + +DELETE b FROM HostNetworkInterfaceLldpVO b LEFT JOIN ResourceVO a ON b.uuid = a.uuid WHERE a.uuid IS NULL; + +ALTER TABLE BareMetal2InstanceProvisionNicVO MODIFY mac varchar(17) NULL; + +CREATE TABLE IF NOT EXISTS `zstack`.`GuestVmScriptEO` ( + `uuid` VARCHAR(32) NOT NULL UNIQUE, + `name` VARCHAR(256) NOT NULL, + `description` VARCHAR(256), + `platform` VARCHAR(255) NOT NULL, + `scriptContent` MEDIUMTEXT, + `renderParams` MEDIUMTEXT, + `scriptType` VARCHAR(32) NOT NULL, + `scriptTimeout` INT UNSIGNED NOT NULL, + `version` INT UNSIGNED NOT NULL, + `deleted` VARCHAR(255) DEFAULT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +DROP VIEW IF EXISTS `zstack`.`GuestVmScriptVO`; +CREATE VIEW `zstack`.`GuestVmScriptVO` AS SELECT uuid, name, description, platform, scriptContent, renderParams, scriptType, scriptTimeout, version, createDate, lastOpDate FROM `zstack`.`GuestVmScriptEO` WHERE deleted IS NULL; + +CREATE TABLE IF NOT EXISTS `zstack`.`GuestVmScriptExecutedRecordVO` ( + `uuid` VARCHAR(32) NOT NULL UNIQUE, + `recordName` VARCHAR(255) NOT NULL, + `scriptUuid` VARCHAR(32) NOT NULL, + `scriptTimeout` INT UNSIGNED NOT NULL, + `status` VARCHAR(256) NOT NULL, + `version` INT UNSIGNED NOT NULL, + `Executor` VARCHAR(256) NOT NULL , + `ExecutionCount` INT UNSIGNED NOT NULL, + `scriptContent` MEDIUMTEXT, + `renderParams` MEDIUMTEXT, + `startTime` TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00', + `endTime` TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`), + INDEX `idxScriptUuid` (`scriptUuid`, `version`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`GuestVmScriptExecutedRecordDetailVO` ( + `recordUuid` VARCHAR(32) NOT NULL, + `vmInstanceUuid` VARCHAR(32) NOT NULL, + `vmName` VARCHAR(255) NOT NULL, + `status` VARCHAR(128) NOT NULL, + `exitCode` INT UNSIGNED, + `stdout` MEDIUMTEXT, + `errCause` MEDIUMTEXT, + `stderr` MEDIUMTEXT, + `startTime` TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00', + `endTime` TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`recordUuid`, `vmInstanceUuid`), + CONSTRAINT `fkGuestVmScriptExecutedRecordDetailVOScriptExecutedRecordVO` FOREIGN KEY (`recordUuid`) REFERENCES `GuestVmScriptExecutedRecordVO` (`uuid`) ON DELETE CASCADE +)ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CALL ADD_COLUMN('SanSecSecretResourcePoolVO', 'managementIp', 'VARCHAR(128)', 1, NULL); +CALL ADD_COLUMN('SanSecSecretResourcePoolVO', 'port', 'int unsigned', 1, NULL); +CALL ADD_COLUMN('SanSecSecretResourcePoolVO', 'username', 'VARCHAR(128)', 1, NULL); +CALL ADD_COLUMN('SanSecSecretResourcePoolVO', 'password', 'VARCHAR(128)', 1, NULL); +CALL ADD_COLUMN('SanSecSecretResourcePoolVO', 'sm3Key', 'VARCHAR(128)', 1, NULL); +CALL ADD_COLUMN('SanSecSecretResourcePoolVO', 'sm4Key', 'VARCHAR(128)', 1, NULL); + +ALTER TABLE `zstack`.`AuditsVO` MODIFY COLUMN requestDump MEDIUMTEXT, MODIFY COLUMN responseDump MEDIUMTEXT; + +update EventSubscriptionVO set name = 'VM NIC IP Changed (GuestTools Is Required)' where uuid='98536fa94e3f4481a38331a989132b7c'; +update EventSubscriptionVO set name = 'NIC IP Configured in VM has been Occupied or in the Reserved Range (GuestTools Is Required)' where uuid='4a3494bcdbac4eaab9e9e56e27d74a2a'; + +CALL ADD_COLUMN('MdevDeviceSpecVO', 'vendor', 'VARCHAR(128)', 1, NULL); + +CALL ADD_COLUMN('BareMetal2ChassisGpuDeviceVO', 'isDriverLoaded', 'TINYINT(1)', 0, 0); + +DELIMITER $$ +DROP FUNCTION IF EXISTS `INET6_ATON` $$ +CREATE FUNCTION `INET6_ATON`( + ip VARCHAR(128) +) RETURNS BINARY(16) +BEGIN + DECLARE binary_ip BINARY(16); + DECLARE hextet VARCHAR(5); + DECLARE i INT DEFAULT 1; + DECLARE segment_position INT DEFAULT 1; + DECLARE segment_count INT; + DECLARE expanded_ip VARCHAR(45); + IF INSTR(ip, '.') > 0 THEN + SET binary_ip = CONCAT(REPEAT(UNHEX('00'), 10), UNHEX('FFFF'), UNHEX(LPAD(HEX(INET_ATON(ip)), 8, '0'))); + ELSE + IF INSTR(ip, '::') > 0 THEN + SET segment_count = LENGTH(ip) - LENGTH(REPLACE(ip, ':', '')) + 1; + SET expanded_ip = REPLACE(ip, '::', CONCAT(':', REPEAT(':0000', 8 - segment_count), ':')); + IF LEFT(expanded_ip, 1) = ':' THEN + SET expanded_ip = SUBSTRING(expanded_ip, 2); + END IF; + IF RIGHT(expanded_ip, 1) = ':' THEN + SET expanded_ip = SUBSTRING(expanded_ip, 1, LENGTH(expanded_ip) - 1); + END IF; + ELSE + SET expanded_ip = ip; + END IF; + SET binary_ip = 0x00000000000000000000000000000000; + WHILE i <= 8 DO + SET hextet = SUBSTRING_INDEX(SUBSTRING_INDEX(expanded_ip, ':', i), ':', -1); + IF LENGTH(hextet) > 0 THEN + SET binary_ip = INSERT(binary_ip, segment_position, 4, UNHEX(LPAD(hextet, 4, '0'))); + END IF; + SET segment_position = segment_position + 2; + SET i = i + 1; + END WHILE; + END IF; + RETURN binary_ip; +END$$ +DELIMITER ; +DELIMITER $$ + +DELIMITER $$ +CREATE PROCEDURE upgradeIpInLongColumn() +BEGIN + DECLARE columnExists BOOLEAN DEFAULT FALSE; + + SELECT COUNT(*) INTO columnExists + FROM INFORMATION_SCHEMA.COLUMNS + WHERE TABLE_NAME = 'UsedIpVO' + AND COLUMN_NAME = 'ipInBinary' + AND TABLE_SCHEMA = 'zstack'; + + IF columnExists = FALSE THEN + ALTER TABLE `zstack`.`UsedIpVO` ADD COLUMN `ipInBinary` VARBINARY(16) NOT NULL AFTER `ipInLong`; + END IF; + + UPDATE `zstack`.`UsedIpVO` + SET `ipInBinary` = CASE + WHEN `ipInLong` != 0 THEN UNHEX(LPAD(HEX(`ipInLong`), 8, '0')) + ELSE INET6_ATON(`ip`) + END; + SELECT CURTIME(); +END $$ +DELIMITER ; +CALL upgradeIpInLongColumn(); + +ALTER TABLE BareMetal2ChassisGpuDeviceVO MODIFY COLUMN memory bigint unsigned NULL, MODIFY COLUMN power bigint unsigned NULL; +ALTER TABLE GpuDeviceVO MODIFY COLUMN memory bigint unsigned NULL, MODIFY COLUMN power bigint unsigned NULL; + +UPDATE `zstack`.`GlobalConfigVO` SET value="64", defaultValue="64" WHERE category="volumeSnapshot" AND name="incrementalSnapshot.maxNum" AND value > 120; \ No newline at end of file diff --git a/conf/tools/flyway-6.3.1/sql/V5.2.1__schema.sql b/conf/tools/flyway-6.3.1/sql/V5.2.1__schema.sql new file mode 100644 index 00000000000..1468bd788a3 --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V5.2.1__schema.sql @@ -0,0 +1 @@ +ALTER TABLE `zstack`.`ExternalPrimaryStorageVO` modify column config varchar(2048) DEFAULT NULL; \ No newline at end of file diff --git a/conf/tools/flyway-6.3.1/sql/V5.3.0__schema.sql b/conf/tools/flyway-6.3.1/sql/V5.3.0__schema.sql new file mode 100644 index 00000000000..6877d9cca7f --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V5.3.0__schema.sql @@ -0,0 +1,53 @@ +CREATE TABLE IF NOT EXISTS `zstack`.`HbaDeviceVO` ( + `uuid` varchar(32) not null unique, + `hostUuid` varchar(32) default null, + `name` varchar(255) default null, + `hbaType` varchar(64) default null, + `createDate` timestamp not null default '0000-00-00 00:00:00', + `lastOpDate` timestamp not null default CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + CONSTRAINT fkHBADeviceVOHostVO FOREIGN KEY (hostUuid) REFERENCES HostEO (uuid) ON DELETE CASCADE, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`FcHbaDeviceVO` ( + `uuid` varchar(32) not null unique, + `portName` varchar(255) default null, + `portState` varchar(64) default null, + `supportedSpeeds` varchar(255) default null, + `speed` varchar(255) default null, + `symbolicName` varchar(255) default null, + `supportedClasses` varchar(255) default null, + `nodeName` varchar(255) default null, + CONSTRAINT fkFcHbaDeviceVO FOREIGN KEY (uuid) REFERENCES HbaDeviceVO (uuid) ON DELETE CASCADE, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +UPDATE `zstack`.`ImageEO` SET guestOsType = 'VyOS 1.1.7' WHERE architecture = 'x86_64' and guestOsType = 'Linux' and `system` = TRUE; +UPDATE `zstack`.`ImageEO` SET guestOsType = 'VyOS 1.2.0' WHERE architecture = 'aarch64' and guestOsType = 'Linux' and `system` = TRUE; +UPDATE `zstack`.`ImageEO` SET guestOsType = 'Kylin 10' WHERE architecture = 'loongarch64' and guestOsType = 'Linux' and `system` = TRUE; + +UPDATE `zstack`.`VmInstanceEO` SET guestOsType = 'VyOS 1.1.7' WHERE architecture = 'x86_64' and guestOsType = 'Linux' and type = 'ApplianceVm'; +UPDATE `zstack`.`VmInstanceEO` SET guestOsType = 'VyOS 1.2.0' WHERE architecture = 'aarch64' and guestOsType = 'Linux' and type = 'ApplianceVm'; +UPDATE `zstack`.`VmInstanceEO` SET guestOsType = 'Kylin 10' WHERE architecture = 'loongarch64' and guestOsType = 'Linux' and type = 'ApplianceVm'; + +CREATE TABLE IF NOT EXISTS `zstack`.`HostNetworkLabelVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `serviceType` varchar(255) NOT NULL, + `system` boolean NOT NULL DEFAULT TRUE, + `lastOpDate` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`) + ) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +INSERT IGNORE INTO `zstack`.`HostNetworkLabelVO` (`uuid`, `serviceType`, `system`, `createDate`, `lastOpDate`) + VALUES (REPLACE(UUID(),'-',''),'ManagementNetwork', TRUE, CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP()); +INSERT IGNORE INTO `zstack`.`HostNetworkLabelVO` (`uuid`, `serviceType`, `system`, `createDate`, `lastOpDate`) + VALUES (REPLACE(UUID(),'-',''),'StorageNetwork', TRUE, CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP()); +INSERT IGNORE INTO `zstack`.`HostNetworkLabelVO` (`uuid`, `serviceType`, `system`, `createDate`, `lastOpDate`) + VALUES (REPLACE(UUID(),'-',''),'TenantNetwork', TRUE, CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP()); +INSERT IGNORE INTO `zstack`.`HostNetworkLabelVO` (`uuid`, `serviceType`, `system`, `createDate`, `lastOpDate`) + VALUES (REPLACE(UUID(),'-',''),'BackupNetwork', TRUE, CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP()); +INSERT IGNORE INTO `zstack`.`HostNetworkLabelVO` (`uuid`, `serviceType`, `system`, `createDate`, `lastOpDate`) + VALUES (REPLACE(UUID(),'-',''),'MigrationNetwork', TRUE, CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP()); + +CREATE INDEX idx_schedType_createDate ON `zstack`.`VmSchedHistoryVO` (schedType, createDate); \ No newline at end of file diff --git a/conf/tools/flyway-6.3.1/sql/V5.3.20__schema.sql b/conf/tools/flyway-6.3.1/sql/V5.3.20__schema.sql new file mode 100644 index 00000000000..a77933da50b --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V5.3.20__schema.sql @@ -0,0 +1,186 @@ +ALTER TABLE AutoScalingRuleSchedulerJobTriggerVO DROP FOREIGN KEY fkAutoScalingRuleSchedulerJobTriggerVO; +CALL ADD_CONSTRAINT('AutoScalingRuleSchedulerJobTriggerVO', 'fkAutoScalingRuleSchedulerJobTriggerVO', 'schedulerJobUuid', 'SchedulerJobVO', 'uuid', 'CASCADE'); + +ALTER TABLE `zstack`.`ExternalPrimaryStorageVO` MODIFY COLUMN `config` TEXT DEFAULT NULL; +ALTER TABLE `zstack`.`HostNetworkInterfaceLldpRefVO` MODIFY COLUMN `systemName` VARCHAR(255) NOT NULL; + +CREATE TABLE IF NOT EXISTS `zstack`.`ExternalPrimaryStorageHostRefVO` ( + `id` BIGINT UNSIGNED UNIQUE, + `hostId` INT DEFAULT NULL, + `protocol` varchar(128) DEFAULT NULL, + PRIMARY KEY (`id`) +) ENGINE = InnoDB + DEFAULT CHARSET = utf8; + +SET @row_number = 0; +INSERT INTO ExternalPrimaryStorageHostRefVO (id, hostId, protocol) +SELECT + p.id, + (@row_number := @row_number + 1) as hostId, + e.defaultProtocol as protocol +FROM PrimaryStorageHostRefVO p LEFT JOIN ExternalPrimaryStorageVO e ON p.primaryStorageUuid = e.uuid +ORDER BY p.id; + +-- Delete old UserTagVO of AI::Image-Generation +DELETE FROM UserTagVO WHERE uuid = 'a7ec68923efe447d9119ba7b6df2b54c'; + +DELETE ref FROM `zstack`.`VolumeSnapshotReferenceVO` ref + INNER JOIN `zstack`.`VolumeEO` vol ON vol.uuid = ref.referenceVolumeUuid +WHERE ref.referenceType = 'VolumeVO' + AND ref.referenceVolumeUuid = ref.referenceUuid + AND ref.referenceInstallUrl NOT LIKE CONCAT('%', SUBSTRING_INDEX(vol.installPath, '/', -1), '%'); + +DROP PROCEDURE IF EXISTS ModifyApplicationDevelopmentServiceVO; +DELIMITER $$ + +CREATE PROCEDURE ModifyApplicationDevelopmentServiceVO() +BEGIN + START TRANSACTION; + + CREATE TABLE IF NOT EXISTS `zstack`.`ApplicationDevelopmentServiceVO_temp` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `deploymentStatus` varchar(255) NOT NULL, + PRIMARY KEY (`uuid`) + ) ENGINE=InnoDB DEFAULT CHARSET=utf8; + + INSERT INTO `zstack`.`ApplicationDevelopmentServiceVO_temp` (uuid, deploymentStatus) + SELECT modelServiceGroupUuid, deploymentStatus + FROM `zstack`.`ApplicationDevelopmentServiceVO` + WHERE modelServiceGroupUuid IS NOT NULL; + + DROP TABLE `zstack`.`ApplicationDevelopmentServiceVO`; + + RENAME TABLE `zstack`.`ApplicationDevelopmentServiceVO_temp` TO `zstack`.`ApplicationDevelopmentServiceVO`; + + COMMIT; + SELECT CURTIME(); +END $$ + +DELIMITER ; + +CALL ModifyApplicationDevelopmentServiceVO(); + +CALL ADD_COLUMN('ModelVO', 'modelId', 'VARCHAR(255)', 1, NULL); +CALL ADD_COLUMN('ModelServiceInstanceGroupVO', 'description', 'VARCHAR(2048)', 1, NULL); +CALL ADD_COLUMN('ModelServiceVO', 'source', 'VARCHAR(32)', 1, NULL); +CALL ADD_COLUMN('ModelServiceVO', 'readme', 'TEXT', 1, NULL); + +-- Delete ZStack-default-inference-template +DELETE FROM `zstack`.`ModelServiceVO` WHERE `uuid` = '97e66447fa4246649dcc41b72b412407'; +-- Delete qwen chat +DELETE FROM `zstack`.`ModelServiceVO` WHERE `uuid` = '0446d8fd9487403cc12e7645f5r68d04'; +-- Delete xtts +DELETE FROM `zstack`.`ModelServiceVO` WHERE `uuid` = 'e944c98c4a154f53a86f34eb0fcd093c'; +-- Delete sdxl +DELETE FROM `zstack`.`ModelServiceVO` WHERE `uuid` = '80fab6f2f3d444e1a0b39702dcc62bac'; +-- Delete blip image +DELETE FROM `zstack`.`ModelServiceVO` WHERE `uuid` = '2ad69dc6cebf405f9e0d750bb50e120c'; +-- Delete stable video +DELETE FROM `zstack`.`ModelServiceVO` WHERE `uuid` = 'c65d3019cb3f400f80e5e2a10dcaf861'; +-- Delete yolo +DELETE FROM `zstack`.`ModelServiceVO` WHERE `uuid` = '0b714f4d8c5c43ca86c3a6caa58358a7'; + +ALTER TABLE `zstack`.`BaremetalNicVO` modify column mac varchar(255) DEFAULT NULL; + +-- framework field changed to LLM frameworks not service sources +-- 1. Change the origin framework value to source field +-- 2. If source is Bentoml change framework to BentoML +-- 3. Else change framework to Other + +UPDATE `zstack`.`ModelServiceVO` SET source = framework WHERE source is NULL + AND framework in ('HuggingFace', 'Bentoml', 'Other'); + +UPDATE `zstack`.`ModelServiceVO` SET source = 'Other' WHERE source is NULL + AND framework not in ('HuggingFace', 'Bentoml', 'Other'); + +UPDATE `zstack`.`ModelServiceVO` SET source = 'Bentoml' WHERE source = 'BentoML'; +UPDATE `zstack`.`ModelServiceVO` SET framework = 'BentoML' WHERE source = 'Bentoml' + AND framework not in ('vLLM', 'Diffusers', 'Transformers', 'sentence_transformers', 'llama.cpp', 'BentoML', 'Other', 'Ollama'); + +Update ModelServiceVO set framework = 'Other' where framework not in + ('vLLM', 'Diffusers', 'Transformers', 'sentence_transformers', 'llama.cpp', 'BentoML', 'Other', 'Ollama') + AND source != 'Bentoml'; +Update ModelServiceVO set framework = 'Other' where framework is NULL; + +DROP PROCEDURE IF EXISTS CreateResourceConfigForBindingVms; +DELIMITER $$ +CREATE PROCEDURE CreateResourceConfigForBindingVms() +BEGIN + DECLARE done INT DEFAULT FALSE; + DECLARE vmUuid VARCHAR(128); + + DECLARE vmCursor CURSOR FOR + SELECT resourceUuid + FROM SystemTagVO + WHERE resourceType = 'VmInstanceVO' + AND tag LIKE 'resourceBindings::Cluster:%'; + + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; + + OPEN vmCursor; + + read_loop: LOOP + FETCH vmCursor INTO vmUuid; + + IF done THEN + LEAVE read_loop; + END IF; + + IF NOT EXISTS ( + SELECT 1 + FROM ResourceConfigVO + WHERE resourceType = 'VmInstanceVO' + AND resourceUuid = vmUuid + AND category = 'vm' + AND name = 'vm.ha.across.clusters' + ) THEN + INSERT INTO ResourceConfigVO (uuid, name, category, value, resourceUuid, resourceType, lastOpDate, createDate) + VALUES (REPLACE(UUID(),'-',''), 'vm.ha.across.clusters', 'vm', 'false', vmUuid, 'VmInstanceVO', NOW(), NOW()); + END IF; + END LOOP; + + CLOSE vmCursor; +END $$ +DELIMITER ; +call CreateResourceConfigForBindingVms(); +DROP PROCEDURE IF EXISTS CreateResourceConfigForBindingVms; + +DELETE FROM `SSOServerTokenVO`; +ALTER TABLE `zstack`.`SSOServerTokenVO` ADD sessionUuid VARCHAR(32) DEFAULT NULL; +ALTER TABLE `zstack`.`SSOServerTokenVO` ADD CONSTRAINT `fkSSOServerTokenVOSessionVO` FOREIGN KEY (`sessionUuid`) REFERENCES `SessionVO` (`uuid`) ON DELETE CASCADE; + +CALL ADD_COLUMN('SdnControllerVO', 'status', 'VARCHAR(32)', 0, 'Connected'); +CALL ADD_COLUMN('HostNetworkInterfaceVO', 'driverType', 'VARCHAR(32)', 1, NULL); + +CREATE TABLE IF NOT EXISTS `zstack`.`SdnControllerHostRefVO` ( + `id` BIGINT UNSIGNED NOT NULL UNIQUE AUTO_INCREMENT, + `sdnControllerUuid` varchar(32) NOT NULL, + `hostUuid` varchar(32) NOT NULL, + `vSwitchType` varchar(255) NOT NULL, + `vtepIp` varchar(128) DEFAULT NULL, + `netmask` varchar(128) DEFAULT NULL, + `nicPciAddresses` varchar(1024) DEFAULT NULL, + `nicDrivers` varchar(1024) DEFAULT NULL, + `bondMode` varchar(64) DEFAULT NULL, + `lacpMode` varchar(64) DEFAULT NULL, + CONSTRAINT fkSdnControllerHostRefVOSdnControllerVO FOREIGN KEY (sdnControllerUuid) REFERENCES SdnControllerVO (uuid) ON DELETE CASCADE, + CONSTRAINT fkSdnControllerHostRefVOHostEO FOREIGN KEY (hostUuid) REFERENCES HostEO (uuid) ON DELETE CASCADE, + CONSTRAINT ukSdnControllerHostRefVO UNIQUE (`sdnControllerUuid`,`hostUuid`, `vSwitchType`), + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`OvnControllerVmOfferingVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `managementNetworkUuid` varchar(32) NOT NULL, + `imageUuid` varchar(32) NOT NULL, + `zoneUuid` varchar(32) NOT NULL, + PRIMARY KEY (`uuid`), + CONSTRAINT fkOvnControllerVmOfferingVOL3NetworkEO FOREIGN KEY (managementNetworkUuid) REFERENCES `zstack`.`L3NetworkEO` (uuid) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`OvnControllerVmInstanceVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +UPDATE `zstack`.`L2NetworkVO` set vSwitchType='TfL2Network' where type='TfL2Network'; diff --git a/conf/tools/flyway-6.3.1/sql/V5.3.22__schema.sql b/conf/tools/flyway-6.3.1/sql/V5.3.22__schema.sql new file mode 100644 index 00000000000..9e8012b8158 --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V5.3.22__schema.sql @@ -0,0 +1,55 @@ +CALL ADD_COLUMN('ModelServiceInstanceVO', 'clusterId', 'INT', 1, NULL); + +CALL ADD_COLUMN('ModelServiceInstanceGroupVO', 'yaml', 'mediumtext', 1, NULL); + +DROP PROCEDURE IF EXISTS update_instance_group_yaml; + +DELIMITER $$ + +CREATE PROCEDURE update_instance_group_yaml() +BEGIN + DECLARE done INT DEFAULT FALSE; + DECLARE group_uuid VARCHAR(255); + DECLARE group_yaml TEXT; + DECLARE instance_yaml TEXT; + + DECLARE group_cursor CURSOR FOR + SELECT uuid, yaml FROM ModelServiceInstanceGroupVO; + + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; + + OPEN group_cursor; + + group_loop: LOOP + FETCH group_cursor INTO group_uuid, group_yaml; + + IF done THEN + LEAVE group_loop; + END IF; + + IF group_yaml IS NULL OR group_yaml = '' THEN + SELECT yaml INTO instance_yaml + FROM ModelServiceInstanceVO + WHERE modelServiceGroupUuid = group_uuid + LIMIT 1; + + IF instance_yaml IS NOT NULL AND instance_yaml != '' THEN + UPDATE ModelServiceInstanceGroupVO + SET yaml = instance_yaml + WHERE uuid = group_uuid; + + SELECT CONCAT('updated group_uuid: ', group_uuid, ' yaml'); + END IF; + ELSE + SELECT CONCAT('group_uuid: ', group_uuid, ' yaml is not null, skip'); + END IF; + END LOOP; + + CLOSE group_cursor; + + SELECT 'update_instance_group_yaml done'; +END$$ + +DELIMITER ; + +CALL update_instance_group_yaml(); \ No newline at end of file diff --git a/conf/tools/flyway-6.3.1/sql/V5.3.28__schema.sql b/conf/tools/flyway-6.3.1/sql/V5.3.28__schema.sql new file mode 100644 index 00000000000..171950ac050 --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V5.3.28__schema.sql @@ -0,0 +1,181 @@ +DROP PROCEDURE IF EXISTS createThickProvisionVolumeTag; +DELIMITER $$ +CREATE PROCEDURE createThickProvisionVolumeTag() +BEGIN + DECLARE volUuid VARCHAR(32); + DECLARE newTagUuid VARCHAR(32); + DECLARE done INT DEFAULT FALSE; + + DECLARE volCursor CURSOR FOR + SELECT uuid + FROM zstack.VolumeVO + WHERE type = 'Memory' + AND primaryStorageUuid IN ( + SELECT uuid + FROM zstack.PrimaryStorageVO + WHERE type = 'SharedBlock' + ) + AND uuid NOT IN ( + SELECT resourceUuid + FROM zstack.SystemTagVO + WHERE resourceType = 'VolumeVO' + AND tag = 'volumeProvisioningStrategy::ThickProvisioning' + ); + + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; + + OPEN volCursor; + + read_loop: + LOOP + FETCH volCursor INTO volUuid; + IF done THEN + LEAVE read_loop; + END IF; + + SET newTagUuid = REPLACE(UUID(), '-', ''); + + INSERT INTO zstack.SystemTagVO (uuid, resourceUuid, resourceType, inherent, type, tag, createDate, lastOpDate) + VALUES (newTagUuid, volUuid, 'VolumeVO', 0, 'System', 'volumeProvisioningStrategy::ThickProvisioning', CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP()); + END LOOP; + + CLOSE volCursor; + SELECT CURTIME() AS finishTime; +END $$ +DELIMITER ; + +CALL createThickProvisionVolumeTag(); +DROP PROCEDURE IF EXISTS createThickProvisionVolumeTag; + +ALTER TABLE `zstack`.`EncryptionIntegrityVO` MODIFY COLUMN `resourceUuid` varchar(128) NOT NULL; + +ALTER TABLE `zstack`.`OAuth2ClientVO` ADD COLUMN `pluginUuid` varchar(32) DEFAULT NULL; + +CREATE TABLE `zstack`.`ObservabilityServerOfferingVO`( + `uuid` varchar(32) NOT NULL UNIQUE, + `managementNetworkUuid` varchar(32) DEFAULT NULL, + `publicNetworkUuid` varchar(32) DEFAULT NULL, + `imageUuid` varchar(32) NOT NULL, + `zoneUuid` varchar(32) NOT NULL, + `isDefault` tinyint(1) unsigned DEFAULT 0, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +ALTER TABLE ObservabilityServerOfferingVO ADD CONSTRAINT fkObservabilityServerOfferingVOImageEO FOREIGN KEY (imageUuid) REFERENCES ImageEO (uuid) ON DELETE CASCADE; +ALTER TABLE ObservabilityServerOfferingVO ADD CONSTRAINT fkObservabilityServerOfferingVOInstanceOfferingEO FOREIGN KEY (uuid) REFERENCES InstanceOfferingEO (uuid) ON UPDATE RESTRICT ON DELETE CASCADE; +ALTER TABLE ObservabilityServerOfferingVO ADD CONSTRAINT fkObservabilityServerOfferingVOL3NetworkEO FOREIGN KEY (managementNetworkUuid) REFERENCES L3NetworkEO (uuid) ON DELETE CASCADE; +ALTER TABLE ObservabilityServerOfferingVO ADD CONSTRAINT fkObservabilityServerOfferingVOL3NetworkEO1 FOREIGN KEY (publicNetworkUuid) REFERENCES L3NetworkEO (uuid) ON DELETE CASCADE; +ALTER TABLE ObservabilityServerOfferingVO ADD CONSTRAINT fkObservabilityServerOfferingVOZoneEO FOREIGN KEY (zoneUuid) REFERENCES ZoneEO (uuid) ON DELETE CASCADE; + +CREATE TABLE `zstack`.`ObservabilityServerVmVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `publicNetworkUuid` varchar(32) DEFAULT NULL, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +ALTER TABLE ObservabilityServerVmVO ADD CONSTRAINT fkObservabilityServerVmVOVmInstanceEO FOREIGN KEY (uuid) REFERENCES VmInstanceEO (uuid) ON UPDATE RESTRICT ON DELETE CASCADE; + +CREATE TABLE `zstack`.`ObservabilityServerServiceRefVO`( + `id` BIGINT UNSIGNED NOT NULL UNIQUE AUTO_INCREMENT, + `observabilityServerOfferingUuid` varchar(32) DEFAULT NULL, + `observabilityServerUuid` varchar(32) NOT NULL, + `serviceUuid` varchar(32) NOT NULL, + `serviceType` varchar(32) NOT NULL, + `observabilityServerPublicIp` varchar(32) DEFAULT NULL, + `servicePublicIp` varchar(32) DEFAULT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', +PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +ALTER TABLE ObservabilityServerServiceRefVO ADD CONSTRAINT fkObservabilityServerServiceRefVOResourceVO FOREIGN KEY (serviceUuid) REFERENCES ResourceVO (uuid) ON DELETE CASCADE; + +CREATE TABLE IF NOT EXISTS `zstack`.`CbtTaskVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `name` varchar(255) NOT NULL, + `description` varchar(2048) DEFAULT NULL, + `status` varchar(32) NOT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`CbtTaskResourceRefVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `taskUuid` varchar(32) NOT NULL, + `resourceUuid` varchar(32) NOT NULL, + `resourceType` varchar(255) NOT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`id`), + INDEX `idxCbtTaskResourceRefVOtaskUuid` (`taskUuid`), + INDEX `idxCbtTaskResourceRefVOresourceUuid` (`resourceUuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`LogServerVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `name` varchar(255) NOT NULL, + `description` varchar(2048) NULL, + `category` varchar(255) NOT NULL, + `type` varchar(255) NOT NULL, + `level` varchar(255) NULL, + `configuration` text NOT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CALL ADD_COLUMN('GuestVmScriptEO', 'encodingType', 'VARCHAR(32)', 1, 'PlainText'); +CALL ADD_COLUMN('GuestVmScriptExecutedRecordVO', 'encodingType', 'VARCHAR(32)', 1, 'PlainText'); +DROP VIEW IF EXISTS `zstack`.`GuestVmScriptVO`; +CREATE VIEW `zstack`.`GuestVmScriptVO` AS SELECT uuid, name, description, platform, encodingType, scriptContent, renderParams, scriptType, scriptTimeout, version, createDate, lastOpDate FROM `zstack`.`GuestVmScriptEO` WHERE deleted IS NULL; + +UPDATE `zstack`.`VolumeSnapshotTreeVO` t JOIN `zstack`.`VolumeVO` v ON t.volumeUuid = v.uuid +SET t.rootImageUuid = v.rootImageUuid +WHERE t.current = true + AND v.rootImageUuid IS NOT NULL + AND t.rootImageUuid IS NULL; + +CALL ADD_COLUMN('SecurityGroupVO', 'vSwitchType', 'VARCHAR(32)', 0, 'LinuxBridge'); + +DROP TABLE IF EXISTS HostHaStateVO; +CREATE TABLE `HostHaStateVO` ( + `id` BIGINT UNSIGNED NOT NULL UNIQUE AUTO_INCREMENT, + `hostUuid` VARCHAR(32) NOT NULL, + `primaryStorageUuid` VARCHAR(32) NOT NULL, + `state` varchar(32), + `lastOpDate` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`id`), + CONSTRAINT `HostHaStateVO_HostEO_uuid_fk` FOREIGN KEY (`hostUuid`) REFERENCES `HostEO` (`uuid`) ON DELETE CASCADE, + CONSTRAINT `HostHaStateVO_PrimaryStorageEO_uuid_fk` FOREIGN KEY (`primaryStorageUuid`) REFERENCES `PrimaryStorageEO` (`uuid`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`ZdfsVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `zoneUuid` varchar(32) NULL, + `url` varchar(255) NOT NULL, + `hostName` varchar(255) NOT NULL, + `sshPort` int(16) not NULL, + `status` varchar(32) NULL, + `lastOpDate` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`ZdfsStorageVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `endPoint` varchar(255) NOT NULL, + `type` varchar(32) NOT NULL, + `accessKey` varchar(255) NULL, + `secretKey` varchar(255) NULL, + `usedCapacity` bigint(20) unsigned NOT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CALL ADD_COLUMN('ModelCenterVO', 'zoneUuid', 'VARCHAR(32)', 1, NULL); +CALL ADD_COLUMN('ModelCenterVO', 'zdfsUuid', 'VARCHAR(32)', 1, NULL); +ALTER TABLE ModelCenterVO ADD CONSTRAINT fkModelCenterVOZoneVO FOREIGN KEY (zoneUuid) REFERENCES ZoneEO (uuid) ON DELETE CASCADE; +ALTER TABLE ModelCenterVO ADD CONSTRAINT fkModelCenterVOZdfsVO FOREIGN KEY (zdfsUuid) REFERENCES ZdfsVO (uuid) ON DELETE SET NULL; \ No newline at end of file diff --git a/conf/tools/flyway-6.3.1/sql/V5.3.36__schema.sql b/conf/tools/flyway-6.3.1/sql/V5.3.36__schema.sql new file mode 100644 index 00000000000..d7a568582ea --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V5.3.36__schema.sql @@ -0,0 +1,13 @@ +CREATE TABLE IF NOT EXISTS `zstack`.`VolumeCbtBackupRecordVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `taskUuid` varchar(32) NOT NULL, + `volumeUuid` varchar(32) NOT NULL, + `mode` varchar(255) NOT NULL, + `target` varchar(2048) NOT NULL, + `scratchNodeName` varchar(255) NOT NULL, + `bitmapName` varchar(255) NOT NULL, + `lastBitmapName` varchar(255), + `lastOpDate` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; \ No newline at end of file diff --git a/conf/tools/flyway-6.3.1/sql/V5.3.40__schema.sql b/conf/tools/flyway-6.3.1/sql/V5.3.40__schema.sql new file mode 100644 index 00000000000..2310be14e45 --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V5.3.40__schema.sql @@ -0,0 +1,223 @@ +CREATE TABLE IF NOT EXISTS `zstack`.`ModelServiceImageVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `modelServiceUuid` varchar(32) NOT NULL, + `cpuArchitecture` varchar(32) NOT NULL, + `vmImageUuid` varchar(32) NULL, + `dockerImage` varchar(255) NULL, + `lastOpDate` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`), + UNIQUE KEY `ukModelServiceCpuArch` (`modelServiceUuid`,`cpuArchitecture`) USING BTREE, + CONSTRAINT `fkModelServiceImageVOModelServiceVO` FOREIGN KEY (`modelServiceUuid`) REFERENCES `ModelServiceVO` (`uuid`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CALL ADD_COLUMN('ModelServiceVO', 'gpuVendors', 'varchar(255)', 1, 'NULL'); +CALL ADD_COLUMN('ModelServiceVO', 'cpuArchitectures', 'varchar(255)', 1, 'NULL'); + +DROP PROCEDURE IF EXISTS migrate_model_service_image_data; +DELIMITER $$ +CREATE PROCEDURE migrate_model_service_image_data() +BEGIN + DECLARE done INT DEFAULT FALSE; + DECLARE service_uuid VARCHAR(32); + DECLARE vm_image_uuid VARCHAR(32); + DECLARE docker_image VARCHAR(255); + DECLARE model_service_image_uuid VARCHAR(32); + DECLARE cpu_arch VARCHAR(32); + DECLARE existing_uuid VARCHAR(32); + + DECLARE all_services_cursor CURSOR FOR + SELECT uuid FROM ModelServiceVO; + + DECLARE vm_cursor CURSOR FOR + SELECT ms.uuid, ms.vmImageUuid + FROM ModelServiceVO ms + WHERE ms.vmImageUuid IS NOT NULL; + + DECLARE docker_cursor CURSOR FOR + SELECT ms.uuid, ms.dockerImage + FROM ModelServiceVO ms + WHERE ms.dockerImage IS NOT NULL; + + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; + + OPEN all_services_cursor; + all_services_loop: LOOP + FETCH all_services_cursor INTO service_uuid; + IF done THEN + SET done = FALSE; + LEAVE all_services_loop; + END IF; + + IF NOT EXISTS (SELECT 1 FROM ModelServiceImageVO WHERE modelServiceUuid = service_uuid) THEN + SET model_service_image_uuid = REPLACE(UUID(),'-',''); + INSERT INTO ModelServiceImageVO (uuid, modelServiceUuid, cpuArchitecture, createDate, lastOpDate) + VALUES (model_service_image_uuid, service_uuid, 'x86_64', NOW(), NOW()); + END IF; + END LOOP; + CLOSE all_services_cursor; + + OPEN vm_cursor; + vm_read_loop: LOOP + FETCH vm_cursor INTO service_uuid, vm_image_uuid; + IF done THEN + SET done = FALSE; + LEAVE vm_read_loop; + END IF; + + SELECT IFNULL(img.architecture, 'x86_64') INTO cpu_arch + FROM ImageVO img + WHERE img.uuid = vm_image_uuid + LIMIT 1; + + IF cpu_arch IS NULL THEN + SET cpu_arch = 'x86_64'; + END IF; + + SELECT uuid INTO existing_uuid + FROM ModelServiceImageVO + WHERE modelServiceUuid = service_uuid AND cpuArchitecture = cpu_arch + LIMIT 1; + + IF existing_uuid IS NULL THEN + SET model_service_image_uuid = REPLACE(UUID(),'-',''); + INSERT INTO ModelServiceImageVO (uuid, modelServiceUuid, cpuArchitecture, vmImageUuid, createDate, lastOpDate) + VALUES (model_service_image_uuid, service_uuid, cpu_arch, vm_image_uuid, NOW(), NOW()); + ELSE + UPDATE ModelServiceImageVO + SET vmImageUuid = vm_image_uuid, lastOpDate = NOW() + WHERE uuid = existing_uuid; + END IF; + + SET existing_uuid = NULL; + END LOOP; + CLOSE vm_cursor; + + OPEN docker_cursor; + docker_read_loop: LOOP + FETCH docker_cursor INTO service_uuid, docker_image; + IF done THEN + LEAVE docker_read_loop; + END IF; + + SET cpu_arch = 'x86_64'; + + SELECT uuid INTO existing_uuid + FROM ModelServiceImageVO + WHERE modelServiceUuid = service_uuid AND cpuArchitecture = cpu_arch + LIMIT 1; + + IF existing_uuid IS NULL THEN + SET model_service_image_uuid = REPLACE(UUID(),'-',''); + INSERT INTO ModelServiceImageVO (uuid, modelServiceUuid, cpuArchitecture, dockerImage, createDate, lastOpDate) + VALUES (model_service_image_uuid, service_uuid, cpu_arch, docker_image, NOW(), NOW()); + ELSE + UPDATE ModelServiceImageVO + SET dockerImage = docker_image, lastOpDate = NOW() + WHERE uuid = existing_uuid; + END IF; + + SET existing_uuid = NULL; + END LOOP; + CLOSE docker_cursor; +END$$ +DELIMITER ; + +CALL migrate_model_service_image_data(); + +DROP PROCEDURE IF EXISTS ensure_model_service_image_completeness; +DELIMITER $$ +CREATE PROCEDURE ensure_model_service_image_completeness() +BEGIN + INSERT INTO ModelServiceImageVO (uuid, modelServiceUuid, cpuArchitecture, createDate, lastOpDate) + SELECT REPLACE(UUID(),'-',''), ms.uuid, 'x86_64', NOW(), NOW() + FROM ModelServiceVO ms + WHERE NOT EXISTS ( + SELECT 1 FROM ModelServiceImageVO msi WHERE msi.modelServiceUuid = ms.uuid + ); +END$$ +DELIMITER ; + +CALL ensure_model_service_image_completeness(); +DROP PROCEDURE IF EXISTS ensure_model_service_image_completeness; +DROP PROCEDURE IF EXISTS migrate_model_service_image_data; + +-- 确认数据完整后再删除字段 +CALL DROP_COLUMN('ModelServiceVO', 'vmImageUuid'); +CALL DROP_COLUMN('ModelServiceVO', 'dockerImage'); + +DROP PROCEDURE IF EXISTS update_model_service_cpu_arch; +DELIMITER $$ +CREATE PROCEDURE update_model_service_cpu_arch() +BEGIN + DECLARE done INT DEFAULT FALSE; + DECLARE service_uuid VARCHAR(32); + DECLARE vm_image_uuid VARCHAR(32); + DECLARE cpu_arch VARCHAR(32); + DECLARE model_service_image_uuid VARCHAR(32); + DECLARE img_cursor CURSOR FOR + SELECT ms.uuid, msi.vmImageUuid, img.architecture + FROM ModelServiceVO ms + JOIN ModelServiceImageVO msi ON ms.uuid = msi.modelServiceUuid + JOIN ImageVO img ON msi.vmImageUuid = img.uuid + WHERE msi.vmImageUuid IS NOT NULL; + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; + + OPEN img_cursor; + + read_loop: LOOP + FETCH img_cursor INTO service_uuid, vm_image_uuid, cpu_arch; + IF done THEN + LEAVE read_loop; + END IF; + + UPDATE ModelServiceVO + SET cpuArchitectures = cpu_arch + WHERE uuid = service_uuid; + END LOOP; + + CLOSE img_cursor; +END$$ +DELIMITER ; + +CALL update_model_service_cpu_arch(); +DROP PROCEDURE IF EXISTS update_model_service_cpu_arch; + +CREATE TABLE IF NOT EXISTS `zstack`.`ContainerBackupStorageVO` ( + `uuid` varchar(32) NOT NULL, + `endpointUuid` varchar(32) NOT NULL, + `id` bigint(20) unsigned DEFAULT NULL, + PRIMARY KEY (`uuid`), + CONSTRAINT `fkContainerBackupStorageVOBackupStorageEO` FOREIGN KEY (`uuid`) REFERENCES `BackupStorageEO` (`uuid`) ON DELETE CASCADE, + CONSTRAINT `fkContainerBackupStorageVOContainerManagementEndpointVO` FOREIGN KEY (`endpointUuid`) REFERENCES `ContainerManagementEndpointVO` (`uuid`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`ModelServiceCpuArchitectureVO` ( + `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, + `modelServiceUuid` varchar(32) NOT NULL, + `architecture` varchar(32) NOT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`id`), + CONSTRAINT `fkModelServiceCpuArchitectureVOModelServiceVO` FOREIGN KEY (`modelServiceUuid`) REFERENCES `ModelServiceVO` (`uuid`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`ModelServiceGpuVendorVO` ( + `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, + `modelServiceUuid` varchar(32) NOT NULL, + `gpuVendor` varchar(32) NOT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`id`), + CONSTRAINT `fkModelServiceGpuVendorVOModelServiceVO` FOREIGN KEY (`modelServiceUuid`) REFERENCES `ModelServiceVO` (`uuid`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`ContainerImageVO` ( + `uuid` varchar(32) NOT NULL, + `registryUrl` varchar(255) DEFAULT NULL, + `endpointUuid` varchar(32) NOT NULL, + `imageTag` varchar(64) DEFAULT NULL, + PRIMARY KEY (`uuid`), + CONSTRAINT `fkContainerImageVOImageEO` FOREIGN KEY (`uuid`) REFERENCES `ImageEO` (`uuid`) ON DELETE CASCADE, + CONSTRAINT `fkContainerImageVOContainerManagementEndpointVO` FOREIGN KEY (`endpointUuid`) REFERENCES `ContainerManagementEndpointVO` (`uuid`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; \ No newline at end of file diff --git a/conf/tools/flyway-6.3.1/sql/V5.3.46__schema.sql b/conf/tools/flyway-6.3.1/sql/V5.3.46__schema.sql new file mode 100644 index 00000000000..717fc5dcf4b --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V5.3.46__schema.sql @@ -0,0 +1,80 @@ +-- Migration script to update AuditVO table from AccountId to ProjectId. +-- This script efficiently migrates data using a single JOIN operation. + +DELIMITER $$ +DROP PROCEDURE IF EXISTS changeAccountIdToProjectIdForAuditVO$$ +CREATE PROCEDURE changeAccountIdToProjectIdForAuditVO() + pro_label: BEGIN + DECLARE v_total_updated INT DEFAULT 0; + + IF (SELECT COUNT(*) FROM IAM2ProjectAccountRefVO) = 0 THEN +SELECT 'No IAM2ProjectAccountRefVO records found, skipping migration.' AS message; +LEAVE pro_label; +END IF; + +SELECT 'Starting migration of AuditsVO records from AccountUuid to ProjectUuid...' AS message; + +UPDATE AuditsVO a + JOIN IAM2ProjectAccountRefVO i +ON a.resourceUuid = i.accountUuid + SET a.resourceUuid = i.projectUuid, + a.resourceType = CASE + WHEN a.resourceType = 'AccountVO' THEN 'IAM2ProjectVO' + ELSE a.resourceType +END +WHERE a.apiName = 'org.zstack.header.identity.APIUpdateQuotaMsg'; + SET v_total_updated = ROW_COUNT(); +SELECT CONCAT('Migration completed successfully. Total records updated: ', v_total_updated) AS message; + +END$$ + +DELIMITER ; +CALL changeAccountIdToProjectIdForAuditVO(); +DROP PROCEDURE IF EXISTS changeAccountIdToProjectIdForAuditVO; + +CALL ADD_COLUMN('SdnControllerVO', 'vendorVersion', 'VARCHAR(32)', 0, 'V1'); + +CREATE TABLE IF NOT EXISTS `zstack`.`H3cSdnControllerTenantVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `sdnControllerUuid` varchar(32) NOT NULL, + `tenantUuid` varchar(255) DEFAULT NULL, + `vdsUuid` varchar(255) DEFAULT NULL, + `tenantName` varchar(255) DEFAULT NULL, + `vdsName` varchar(255) DEFAULT NULL, + `cloudDomainName` varchar(255) DEFAULT NULL, + `state` varchar(32) NOT NULL DEFAULT "Enabled", + `lastOpDate` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`), + CONSTRAINT `fkH3cSdnControllerTenantVOSdnControllerVO` FOREIGN KEY (`sdnControllerUuid`) REFERENCES `SdnControllerVO` (`uuid`) ON DELETE CASCADE + ) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`H3cSdnSubnetIpRangeRefVO` ( + `id` BIGINT UNSIGNED NOT NULL UNIQUE AUTO_INCREMENT, + `sdnControllerUuid` varchar(32) NOT NULL, + `ipRangeUuid` varchar(32) NOT NULL, + `subnetUuid` varchar(255) NOT NULL, + `l2NetworkUuid` varchar(32) NOT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`id`), + CONSTRAINT `fkH3cSdnSubnetIpRangeRefVOSdnControllerVO` FOREIGN KEY (`sdnControllerUuid`) REFERENCES `SdnControllerVO` (`uuid`) ON DELETE CASCADE, + CONSTRAINT `fkH3cSdnSubnetIpRangeRefVOIpRangeVO` FOREIGN KEY (`ipRangeUuid`) REFERENCES `IpRangeEO` (`uuid`) ON DELETE CASCADE + ) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +DELETE FROM UserTagVO WHERE uuid = 'a4de80903e57422699fb05bd367a3cb4'; + +CALL ADD_COLUMN('PciDeviceSpecVO', 'allowResourceConfigWithMultipleDevices', 'tinyint(1)', 0, '1'); + +CALL ADD_COLUMN('GpuDeviceVO', 'opaque', 'MEDIUMTEXT', 1, NULL); + +CALL ADD_COLUMN('ModelServiceInstanceVO', 'nodeRank', 'int', 1, 0); + +CREATE TABLE IF NOT EXISTS `zstack`.`GpuDeviceSpecVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `memory` bigint unsigned NULL DEFAULT 0, + PRIMARY KEY (`uuid`), + CONSTRAINT `fkGpuDeviceSpecVOPciDeviceSpecVO` FOREIGN KEY (`uuid`) REFERENCES `PciDeviceSpecVO` (`uuid`) ON UPDATE RESTRICT ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CALL ADD_COLUMN('ModelServiceVO', 'supportDistributed', 'tinyint(1)', 0, 0); diff --git a/conf/tools/flyway-6.3.1/sql/V5.3.52__schema.sql b/conf/tools/flyway-6.3.1/sql/V5.3.52__schema.sql new file mode 100644 index 00000000000..919a97c0afe --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V5.3.52__schema.sql @@ -0,0 +1,79 @@ +CALL ADD_COLUMN('ModelServiceInstanceVO', 'name', 'VARCHAR(255)', 1, NULL); +CALL ADD_COLUMN('ModelServiceInstanceVO', 'namespace', 'VARCHAR(255)', 1, NULL); + +-- Delete old vm records for pod and resync will be done after node started +DELETE FROM `ResourceVO` where resourceType = 'VmInstanceVO' and uuid in (SELECT uuid FROM `VmInstanceEO` where hypervisorType = 'Native'); +DELETE FROM `VmInstanceEO` where hypervisorType = 'Native'; + +CREATE TABLE `zstack`.`PodVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `status` varchar(64) NOT NULL, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CALL ADD_COLUMN('GpuDeviceVO', 'gpuType', 'VARCHAR(255)', 1, NULL); +CALL ADD_COLUMN('GpuDeviceSpecVO', 'gpuType', 'VARCHAR(255)', 1, NULL); + +DROP PROCEDURE IF EXISTS update_gpu_type_from_pci; + +DELIMITER $$ + +CREATE PROCEDURE update_gpu_type_from_pci() +BEGIN + DECLARE done INT DEFAULT FALSE; + DECLARE pci_uuid_val VARCHAR(32); + DECLARE pci_host_uuid_val VARCHAR(32); + DECLARE pci_description_val VARCHAR(2048); + DECLARE kvm_host_count INT; + + DECLARE cur CURSOR FOR + SELECT pd.uuid, pd.hostUuid, pd.description + FROM PciDeviceVO pd + INNER JOIN GpuDeviceVO gd ON pd.uuid = gd.uuid; + + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; + + OPEN cur; + + read_loop: LOOP + FETCH cur INTO pci_uuid_val, pci_host_uuid_val, pci_description_val; + + IF done THEN + LEAVE read_loop; + END IF; + + SELECT COUNT(*) INTO kvm_host_count FROM KVMHostVO WHERE uuid = pci_host_uuid_val; + + IF kvm_host_count > 0 THEN + UPDATE GpuDeviceVO + SET gpuType = pci_description_val + WHERE uuid = pci_uuid_val; + END IF; + + END LOOP; + + SELECT CURTIME(); + + CLOSE cur; +END$$ + +DELIMITER ; + +CALL update_gpu_type_from_pci(); + +UPDATE ModelCenterVO m +LEFT JOIN L3NetworkEO l ON m.storageNetworkUuid = l.uuid +SET m.storageNetworkUuid = NULL +WHERE m.storageNetworkUuid IS NOT NULL AND l.uuid IS NULL; + +UPDATE ModelCenterVO m +LEFT JOIN L3NetworkEO l ON m.serviceNetworkUuid = l.uuid +SET m.serviceNetworkUuid = NULL +WHERE m.serviceNetworkUuid IS NOT NULL AND l.uuid IS NULL; + +ALTER TABLE ModelCenterVO + MODIFY COLUMN storageNetworkUuid VARCHAR(32) NULL, + MODIFY COLUMN serviceNetworkUuid VARCHAR(32) NULL; + +CALL ADD_CONSTRAINT('ModelCenterVO', 'fkModelCenterVOStorageNetworkUuid', 'storageNetworkUuid', 'L3NetworkEO', 'uuid', 'SET NULL'); +CALL ADD_CONSTRAINT('ModelCenterVO', 'fkModelCenterVOServiceNetworkUuid', 'serviceNetworkUuid', 'L3NetworkEO', 'uuid', 'SET NULL'); diff --git a/conf/tools/flyway-6.3.1/sql/V5.3.6__schema.sql b/conf/tools/flyway-6.3.1/sql/V5.3.6__schema.sql new file mode 100644 index 00000000000..4f19bb82cda --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V5.3.6__schema.sql @@ -0,0 +1,65 @@ +CREATE TABLE IF NOT EXISTS `zstack`.`KoAlSecretResourcePoolVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `managementIp` varchar(32) NOT NULL, + `port` int unsigned NOT NULL, + `secretKey` varchar(255) NOT NULL, + PRIMARY KEY (`uuid`), + CONSTRAINT fkKoAlSecretResourcePoolVOSecretResourcePoolVO FOREIGN KEY (uuid) REFERENCES SecretResourcePoolVO (uuid) ON UPDATE RESTRICT ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +ALTER TABLE `zstack`.`ModelEvaluationTaskVO` ADD taskRequestInJson VARCHAR(8192) DEFAULT NULL; +ALTER TABLE `zstack`.`ModelEvaluationTaskVO` ADD type VARCHAR(32) DEFAULT NULL; +ALTER TABLE `zstack`.`ModelEvaluationTaskVO` MODIFY `evaluatedServiceGroupUuid` varchar(32) DEFAULT NULL; +ALTER TABLE `zstack`.`ModelEvaluationTaskVO` MODIFY datasetUuid VARCHAR(32) DEFAULT NULL; + +INSERT INTO SystemTagVO +(`uuid`, `resourceUuid`, `resourceType`, `inherent`, `type`, `tag`, `createDate`, `lastOpDate`) +SELECT + REPLACE(UUID(), '-', ''), -- 生成不含连字符的uuid + uuid, -- 使用DatasetVO的uuid作为resourceUuid + 'DatasetVO', -- resourceType + 1, -- inherent + 'System', -- type + 'dataset::usage::scenarios::ModelEval', -- tag + CURRENT_TIMESTAMP(), -- createDate + CURRENT_TIMESTAMP() -- lastOpDate +FROM DatasetVO +WHERE `system` = true; + +INSERT INTO SystemTagVO +(`uuid`, `resourceUuid`, `resourceType`, `inherent`, `type`, `tag`, `createDate`, `lastOpDate`) +SELECT + REPLACE(UUID(), '-', ''), -- 生成不含连字符的uuid + uuid, -- 使用DatasetVO的uuid作为resourceUuid + 'DatasetVO', -- resourceType + 1, -- inherent + 'System', -- type + 'dataset::datatype::Text', -- tag + CURRENT_TIMESTAMP(), -- createDate + CURRENT_TIMESTAMP() -- lastOpDate +FROM DatasetVO +WHERE `system` = true; + +CALL RENAME_TABLE('ContainerManagementVmVO', 'ContainerManagementEndpointVO'); + +CALL DROP_COLUMN('ContainerManagementEndpointVO', 'vmInstanceUuid'); + +CREATE TABLE IF NOT EXISTS `zstack`.`NativeClusterVO` ( + `uuid` varchar(32) NOT NULL UNIQUE COMMENT 'native cluster uuid', + `endpointUuid` varchar(32) NOT NULL COMMENT 'container endpoint uuid', + `bizUrl` varchar(255) DEFAULT NULL COMMENT 'business network url', + `masterUrl` varchar(255) DEFAULT NULL COMMENT 'management network url', + `kubeConfig` text COMMENT 'kubernetes configuration', + `id` bigint(20) DEFAULT NULL COMMENT 'kubernetes cluster id', + `prometheusURL` varchar(255) DEFAULT NULL COMMENT 'prometheus monitoring url', + `version` varchar(64) DEFAULT NULL COMMENT 'kubernetes version', + `nodeCount` int DEFAULT NULL COMMENT 'number of nodes', + `createType` varchar(32) DEFAULT NULL COMMENT 'cluster creation type', + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`NativeHostVO` ( + `uuid` varchar(32) NOT NULL UNIQUE COMMENT 'host uuid', + `endpointUuid` varchar(32) NOT NULL COMMENT 'container endpoint uuid', + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; diff --git a/conf/tools/flyway-6.3.1/sql/V5.4.0__schema.sql b/conf/tools/flyway-6.3.1/sql/V5.4.0__schema.sql new file mode 100644 index 00000000000..30adc409f3b --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V5.4.0__schema.sql @@ -0,0 +1,221 @@ +CREATE TABLE IF NOT EXISTS `SSOClientAttributeVO` ( + `uuid` VARCHAR(32) NOT NULL, + `name` TEXT NOT NULL, + `value` TEXT DEFAULT NULL, + `type` VARCHAR(32) NOT NULL, + `purpose` VARCHAR(32) NOT NULL, + `ssoClientUuid` VARCHAR(32) NOT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`), + CONSTRAINT `fkSSOClientAttributeVOSSOClientVO` FOREIGN KEY (`ssoClientUuid`) REFERENCES SSOClientVO (`uuid`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`LicenseAuthorizedNodeVO` ( + `uuid` char(32) NOT NULL UNIQUE, + `appId` char(32) NOT NULL, + `ip` varchar(255) NOT NULL, + `lastSyncDate` timestamp NOT NULL DEFAULT '1999-12-31 23:59:59', + `status` varchar(64) NOT NULL, + `type` varchar(64) NOT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '1999-12-31 23:59:59' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '1999-12-31 23:59:59', + PRIMARY KEY (`uuid`) + ) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`LicenseAuthorizedCapacityVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `nodeUuid` char(32) NOT NULL, + `resourceUuid` char(32) DEFAULT NULL, + `quotaType` varchar(64) NOT NULL, + `quota` bigint unsigned DEFAULT 0, + `licenseType` varchar(64) NOT NULL, + `type` varchar(64) NOT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '1999-12-31 23:59:59' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '1999-12-31 23:59:59', + PRIMARY KEY (`id`), + CONSTRAINT `fkLicenseAuthorizedCapacityLicenseAuthorizedNode` FOREIGN KEY (`nodeUuid`) REFERENCES `LicenseAuthorizedNodeVO` (`uuid`) ON DELETE CASCADE + ) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`LicenseAuthorizeHistoryVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `nodeUuid` char(32) NOT NULL, + `resourceUuid` char(32) DEFAULT NULL, + `quotaType` varchar(64) NOT NULL, + `usageFrom` bigint unsigned DEFAULT 0, + `usageTo` bigint unsigned DEFAULT NULL, + `quota` bigint unsigned DEFAULT 0, + `licenseType` varchar(64) NOT NULL, + `type` varchar(64) NOT NULL, + `action` varchar(255) NOT NULL, + `result` varchar(64) DEFAULT NULL, + `error` text DEFAULT NULL, + `requestUuid` char(32) NOT NULL, + `createDate` timestamp NOT NULL DEFAULT '1999-12-31 23:59:59', + PRIMARY KEY (`id`) + ) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +ALTER TABLE `zstack`.`LicenseHistoryVO` ADD COLUMN `quotaType` varchar(64) DEFAULT 'None'; +ALTER TABLE HostCapacityVO ADD cpuCoreNum int unsigned NOT NULL DEFAULT 0; + +CREATE TABLE `zstack`.`L3NetworkSequenceNumberVO` ( + `id` int unsigned NOT NULL UNIQUE AUTO_INCREMENT, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +ALTER TABLE `zstack`.`L3NetworkEO` ADD COLUMN `internalId` INT(32) unsigned DEFAULT 0; +DROP VIEW IF EXISTS `zstack`.`L3NetworkVO`; +CREATE VIEW `zstack`.`L3NetworkVO` AS SELECT uuid, name, internalId, description, state, type, zoneUuid, l2NetworkUuid, `system`, dnsDomain, createDate, lastOpDate, category, ipVersion, enableIPAM, isolated FROM `zstack`.`L3NetworkEO` WHERE deleted IS NULL; + +CREATE TABLE IF NOT EXISTS `zstack`.`ImageGroupVO` ( + `uuid` VARCHAR(32) NOT NULL UNIQUE, + `name` VARCHAR(255) NOT NULL, + `status` varchar(32) NOT NULL, + `description` VARCHAR(2048) DEFAULT NULL, + `imageCount` int unsigned NOT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`ImageGroupRefVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `imageUuid` VARCHAR(32) NOT NULL, + `imageGroupUuid` VARCHAR(32) NOT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +ALTER TABLE SecurityGroupRuleVO MODIFY COLUMN `dstPortRange` varchar(1024) DEFAULT NULL; +ALTER TABLE SecurityGroupRuleVO MODIFY COLUMN `srcPortRange` varchar(1024) DEFAULT NULL; + +-- Delete data with blank lines at the end (Reconnect host added again) +DELETE FROM `zstack`.`HostNetworkInterfaceVO` WHERE `pciDeviceAddress` LIKE '%\n'; + +CREATE TABLE IF NOT EXISTS `zstack`.`SAML2ClientVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `idpMetadataBase64` TEXT, + `spX509Certificate` TEXT, + `spPrivateKey` TEXT, + `spMetadataUrl` varchar(256) DEFAULT NULL, + `state` varchar(32) NOT NULL, + PRIMARY KEY (`uuid`), + CONSTRAINT `fkSAMLClientVOSSOClientVO` FOREIGN KEY (`uuid`) REFERENCES `SSOClientVO` (`uuid`) ON UPDATE RESTRICT ON DELETE CASCADE + ) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`PhysicalSwitchVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `name` varchar(255) NOT NULL, + `description` varchar(2048) DEFAULT NULL, + `ip` varchar(64) NOT NULL, + `mac` varchar(32) NOT NULL, + `mode` varchar(128) NOT NULL, + `softwareVersion` varchar(128) NOT NULL, + `sdnControllerUuid` varchar(32) DEFAULT NULL, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + `lastOpDate` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`PhysicalSwitchPortVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `name` varchar(255) NOT NULL, + `description` varchar(2048) DEFAULT NULL, + `ethTrunkName` varchar(255) DEFAULT NULL, + `portType` varchar(64) NOT NULL, + `peerInterfaceUuid` varchar(32) DEFAULT NULL, + `switchUuid` varchar(32) NOT NULL, + `sdnControllerUuid` varchar(32) DEFAULT NULL, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + `lastOpDate` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`uuid`), + CONSTRAINT `fkPhysicalSwitchPortVOHostNetworkInterfaceVO` FOREIGN KEY (`peerInterfaceUuid`) REFERENCES `HostNetworkInterfaceVO` (`uuid`) ON DELETE SET NULL, + CONSTRAINT `fkPhysicalSwitchPortVOPhysicalSwitchVO` FOREIGN KEY (`switchUuid`) REFERENCES `PhysicalSwitchVO` (`uuid`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`HuaweiIMasterFabricVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `name` varchar(255) NOT NULL, + `sdnControllerUuid` varchar(32) NOT NULL, + `description` varchar(2048) DEFAULT NULL, + `state` varchar(32) NOT NULL DEFAULT "Enabled", + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + `lastOpDate` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`uuid`), + CONSTRAINT `fkHuaweiIMasterFabricVOSdnControllerVO` FOREIGN KEY (`sdnControllerUuid`) REFERENCES `SdnControllerVO` (`uuid`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`HuaweiIMasterTenantVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `name` varchar(255) NOT NULL, + `description` varchar(2048) DEFAULT NULL, + `sdnControllerUuid` varchar(32) NOT NULL, + `state` varchar(32) NOT NULL DEFAULT "Enabled", + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + `lastOpDate` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`uuid`), + CONSTRAINT `fkHuaweiIMasterTenantVOSdnControllerVO` FOREIGN KEY (`sdnControllerUuid`) REFERENCES `SdnControllerVO` (`uuid`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`HuaweiIMasterVpcVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `name` varchar(255) NOT NULL, + `description` varchar(2048) DEFAULT NULL, + `tenantId` varchar(32) NOT NULL, + `fabricId` varchar(2048) NOT NULL, + `sdnControllerUuid` varchar(32) NOT NULL, + `isVpcDeployed` BOOLEAN NOT NULL DEFAULT TRUE, + `state` varchar(32) NOT NULL DEFAULT "Enabled", + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + `lastOpDate` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`uuid`), + CONSTRAINT `fkHuaweiIMasterVpcVOTenantVO` FOREIGN KEY (`tenantId`) REFERENCES `HuaweiIMasterTenantVO` (`uuid`) ON DELETE CASCADE, + CONSTRAINT `fkHuaweiIMasterVpcVOSdnControllerVO` FOREIGN KEY (`sdnControllerUuid`) REFERENCES `SdnControllerVO` (`uuid`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`HuaweiIMasterVRouterVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `name` varchar(255) NOT NULL, + `description` varchar(2048) DEFAULT NULL, + `logicalNetworkId` varchar(32) NOT NULL, + `tenantId` varchar(32) NOT NULL, + `fabricUuid` varchar(32) NOT NULL, + `sdnControllerUuid` varchar(32) NOT NULL, + `state` varchar(32) NOT NULL DEFAULT "Enabled", + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + `lastOpDate` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`uuid`), + CONSTRAINT `fkHuaweiIMasterVRouterVOLogicalNetworkVO` FOREIGN KEY (`logicalNetworkId`) REFERENCES `HuaweiIMasterVpcVO` (`uuid`) ON DELETE CASCADE, + CONSTRAINT `fkHuaweiIMasterVRouterVOTenantVO` FOREIGN KEY (`tenantId`) REFERENCES `HuaweiIMasterTenantVO` (`uuid`) ON DELETE CASCADE, + CONSTRAINT `fkHuaweiIMasterVRouterVOHuaweiIMasterFabricVO` FOREIGN KEY (`fabricUuid`) REFERENCES `HuaweiIMasterFabricVO` (`uuid`) ON DELETE CASCADE, + CONSTRAINT `fkHuaweiIMasterVRouterVOSdnControllerVO` FOREIGN KEY (`sdnControllerUuid`) REFERENCES `SdnControllerVO` (`uuid`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`HardwareL2VxlanNetworkVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `vlan` int unsigned NOT NULL, + PRIMARY KEY (`uuid`), + CONSTRAINT fkHardwareL2VxlanNetworkVOL2NetworkEO FOREIGN KEY (uuid) REFERENCES L2NetworkEO (uuid) ON UPDATE RESTRICT ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`HuaweiIMasterSdnControllerVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + PRIMARY KEY (`uuid`), + CONSTRAINT fkHuaweiIMasterSdnControllerVOSdnControllerVO FOREIGN KEY (uuid) REFERENCES SdnControllerVO (uuid) ON UPDATE RESTRICT ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`HuaweiIMasterTenantFabricRefVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `tenantUuid` varchar(32) NOT NULL, + `fabricUuid` varchar(32) NOT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`id`), + UNIQUE KEY `uk_tenant_fabric` (`tenantUuid`, `fabricUuid`), + CONSTRAINT fkHuaweiIMasterTenantFabricRefVOHuaweiIMasterFabricVO FOREIGN KEY (fabricUuid) REFERENCES HuaweiIMasterFabricVO (uuid) ON UPDATE RESTRICT ON DELETE CASCADE, + CONSTRAINT fkHuaweiIMasterTenantFabricRefVOHuaweiIMasterTenantVO FOREIGN KEY (tenantUuid) REFERENCES HuaweiIMasterTenantVO (uuid) ON UPDATE RESTRICT ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CALL ADD_COLUMN('HardwareL2VxlanNetworkPoolVO', 'startVlan', 'int unsigned', 1, NULL); +CALL ADD_COLUMN('HardwareL2VxlanNetworkPoolVO', 'endVlan', 'int unsigned', 1, NULL); \ No newline at end of file diff --git a/conf/tools/flyway-6.3.1/sql/V5.4.2__schema.sql b/conf/tools/flyway-6.3.1/sql/V5.4.2__schema.sql new file mode 100644 index 00000000000..ff41dd38a76 --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V5.4.2__schema.sql @@ -0,0 +1,267 @@ +ALTER TABLE `zstack`.`MdevDeviceSpecVO` modify column name varchar(128) NOT NULL; +ALTER TABLE `zstack`.`MdevDeviceVO` modify column name varchar(128) NOT NULL; + +CALL ADD_COLUMN('ModelVO', 'framework', 'varchar(255)', 1, NULL); +CALL ADD_COLUMN('ModelVO', 'versionSemver', 'varchar(255)', 1, NULL); +CALL ADD_COLUMN('ModelVO', 'isLatestVersion', 'tinyint(1)', 1, '0'); +CALL ADD_COLUMN('ModelVO', 'artifactChecksum', 'varchar(255)', 1, NULL); +CALL ADD_COLUMN('ModelVO', 'artifactSizeBytes', 'bigint', 1, '0'); +CALL ADD_COLUMN('ModelVO', 'architectureType', 'varchar(255)', 1, NULL); +CALL ADD_COLUMN('ModelVO', 'frameworkVersion', 'varchar(255)', 1, NULL); +CALL ADD_COLUMN('ModelVO', 'requiredAccelerator', 'varchar(255)', 1, NULL); +CALL ADD_COLUMN('ModelVO', 'quantizationType', 'varchar(255)', 1, NULL); + +CALL RENAME_TABLE('ModelServiceImageVO', 'ModelServiceTemplateVO'); + +CALL ADD_COLUMN('ModelServiceTemplateVO', 'pythonVersionSemver', 'varchar(255)', 1, NULL); +CALL ADD_COLUMN('ModelServiceTemplateVO', 'cudaVersion', 'varchar(255)', 1, NULL); +CALL ADD_COLUMN('ModelServiceTemplateVO', 'cannVersion', 'varchar(255)', 1, NULL); +CALL ADD_COLUMN('ModelServiceTemplateVO', 'frameworkVersionSemver', 'varchar(255)', 1, NULL); +CALL ADD_COLUMN('ModelServiceTemplateVO', 'gpuVendor', 'varchar(255)', 1, NULL); + +CALL ADD_COLUMN('PodVO', 'namespace', 'varchar(64)', 1, NULL); + +CREATE TABLE IF NOT EXISTS `zstack`.`KubernetesServiceVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `name` varchar(64) NOT NULL, + `description` varchar(255) DEFAULT NULL, + `namespace` varchar(64) NOT NULL, + `type` varchar(20) NOT NULL, + `clusterIp` varchar(64) DEFAULT NULL, + `externalIp` varchar(64) DEFAULT NULL, + `ports` text, + `endpointUuid` varchar(32) NOT NULL, + `clusterId` INT DEFAULT NULL, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CALL ADD_COLUMN('PodVO', 'clusterId', 'INT', 1, NULL); + +DELETE FROM `AccountResourceRefVO` +WHERE `concreteResourceType` = 'org.zstack.header.vm.VmInstanceVO' + AND `resourceUuid` NOT IN (SELECT `uuid` FROM `VmInstanceVO`); + +CALL DROP_COLUMN('ModelCenterCapacityVO', 'installationUsedCapacity'); +CALL ADD_COLUMN('NativeClusterVO', 'status', 'varchar(32)', 1, NULL); + +UPDATE `NativeClusterVO` SET `status` = 'Status_Cluster_Running' WHERE `status` IS NULL; + +CREATE TABLE IF NOT EXISTS `zstack`.`ModelServiceGpuVendorSpecRefVO` ( + `id` bigint NOT NULL AUTO_INCREMENT, + `refUuid` bigint UNSIGNED NOT NULL, + `specUuid` varchar(32) NOT NULL, + CONSTRAINT `pkModelServiceGpuVendorSpecRef` PRIMARY KEY (`id`), + CONSTRAINT `ukModelServiceGpuVendorSpecRefRefSpec` UNIQUE (`refUuid`, `specUuid`), + CONSTRAINT `fkModelServiceGpuVendorSpecRefRefUuid` FOREIGN KEY (`refUuid`) + REFERENCES `ModelServiceGpuVendorVO`(`id`) + ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE OR REPLACE VIEW PodGpuStatsVO AS +SELECT + p.uuid AS podUuid, + COUNT(g.uuid) AS gpuCount, + COALESCE(CAST(ROUND(AVG(g.memory)) AS SIGNED), 0) AS avgAllocatedMb, + COALESCE(CAST(SUM(g.memory) AS SIGNED), 0) AS totalGpuMemMb +FROM PodVO p + LEFT JOIN PciDeviceVO pci ON pci.vmInstanceUuid = p.uuid + LEFT JOIN GpuDeviceVO g ON g.uuid = pci.uuid +GROUP BY p.uuid; + +CALL ADD_COLUMN('GpuDeviceVO', 'allocateStatus', 'varchar(32)', 1, NULL); + +-- Upgrade GpuDeviceVO.allocateStatus based vmInstanceUuid +UPDATE GpuDeviceVO gpuDevice +JOIN PciDeviceVO pciDevice ON gpuDevice.uuid = pciDevice.uuid +SET gpuDevice.allocateStatus = + CASE + WHEN pciDevice.vmInstanceUuid IS NOT NULL THEN 'Allocated' + ELSE 'Unallocated' + END; + +DELIMITER $$ +CREATE PROCEDURE update_system_model_service_gpu_vendors() +BEGIN + DECLARE done INT DEFAULT FALSE; + DECLARE service_uuid VARCHAR(32); + DECLARE model_name VARCHAR(255); + DECLARE gpu_vendor_name VARCHAR(32); + + -- Cursor to iterate over the models + DECLARE models_cursor CURSOR FOR + SELECT name, vendor FROM system_models_to_update; + + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; + + -- Temporary table to hold the data + CREATE TEMPORARY TABLE IF NOT EXISTS system_models_to_update ( + name VARCHAR(255), + vendor VARCHAR(32) + ); + + -- Populate the temporary table + INSERT INTO system_models_to_update (name, vendor) VALUES + ('vLLM-0.7.2', 'NVIDIA'), + ('vLLM-0.8.5', 'NVIDIA'), + ('vLLM-0.9.2', 'NVIDIA'), + ('vLLM-0.11.0', 'NVIDIA'), + ('SGLang-0.4.9.post1', 'NVIDIA'), + ('SGLang-0.5.2', 'NVIDIA'), + ('Transformers-4.48.3', 'NVIDIA'), + ('Transformers-4.56.2', 'NVIDIA'), + ('sentence_transformers-3.1.1', 'NVIDIA'), + ('Diffusers-0.30.0', 'NVIDIA'), + ('Diffusers-0.35.1', 'NVIDIA'), + ('MindIE-2.0.RC1-910B', 'HUAWEI'), + ('MindIE-2.1.RC1-910B', 'HUAWEI'), + ('MindIE-1.0.0-310P', 'HUAWEI'), + ('vLLM-Ascend-0.11.0.rc0', 'HUAWEI'), + ('vLLM-0.5.0-HYGON-Z100L', 'HAIGUANG'), + ('vLLM-0.8.5-HYGON-K100-AI', 'HAIGUANG'), + ('vLLM-0.9.2-HYGON-K100-AI', 'HAIGUANG'), + ('vLLM-0.7.2-HYGON-K100-AI', 'HAIGUANG'), + ('MinerU2.5-2509', 'NVIDIA'); + + OPEN models_cursor; + update_loop: LOOP + FETCH models_cursor INTO model_name, gpu_vendor_name; + IF done THEN + LEAVE update_loop; + END IF; + + -- Find the model service uuid, only for system services + SELECT COUNT(*) INTO @cnt FROM `zstack`.`ModelServiceVO` WHERE name = model_name AND `system` = 1; + IF @cnt > 0 THEN + SELECT uuid INTO service_uuid FROM `zstack`.`ModelServiceVO` WHERE name = model_name AND `system` = 1 LIMIT 1; + ELSE + SET service_uuid = NULL; + END IF; + + -- If the model service exists, ensure the GPU vendor is associated + IF service_uuid IS NOT NULL THEN + SELECT CONCAT('INFO: Processing model=', model_name, ', service_uuid=', service_uuid, ', desired_vendor=', gpu_vendor_name) AS msg; + -- delete different gpu vendors + DELETE FROM `zstack`.`ModelServiceGpuVendorVO` + WHERE modelServiceUuid = service_uuid + AND gpuVendor <> gpu_vendor_name; + SELECT CONCAT('INFO: Deleted different GPU vendors for service_uuid=', service_uuid, ', deleted_rows=', ROW_COUNT()) AS msg; + IF NOT EXISTS (SELECT 1 FROM `zstack`.`ModelServiceGpuVendorVO` WHERE modelServiceUuid = service_uuid AND gpuVendor = gpu_vendor_name) THEN + INSERT INTO `zstack`.`ModelServiceGpuVendorVO` (modelServiceUuid, gpuVendor, createDate, lastOpDate) + VALUES (service_uuid, gpu_vendor_name, NOW(), NOW()); + SELECT CONCAT('INFO: Inserted GPU vendor=', gpu_vendor_name, ' for service_uuid=', service_uuid, ', inserted_rows=', ROW_COUNT()) AS msg; + ELSE + SELECT CONCAT('INFO: GPU vendor=', gpu_vendor_name, ' already exists for service_uuid=', service_uuid) AS msg; + END IF; + ELSE + SELECT CONCAT('WARN: Service not found for model=', model_name) AS msg; + END IF; + + SET service_uuid = NULL; + + END LOOP; + CLOSE models_cursor; + + -- Clean up + DROP TEMPORARY TABLE system_models_to_update; + +END $$ +DELIMITER ; + +CALL update_system_model_service_gpu_vendors(); +DROP PROCEDURE IF EXISTS update_system_model_service_gpu_vendors; + +DELIMITER $$ +CREATE PROCEDURE update_system_model_service_templates() +BEGIN + DECLARE done INT DEFAULT FALSE; + DECLARE service_uuid VARCHAR(32); + DECLARE model_name VARCHAR(255); + DECLARE gpu_vendor_name VARCHAR(32); + DECLARE py_version VARCHAR(255); + DECLARE cuda_version VARCHAR(255); + DECLARE cann_version VARCHAR(255); + DECLARE fw_version VARCHAR(255); + + DECLARE templates_cursor CURSOR FOR + SELECT name, vendor, pythonVersion, cudaVersion, cannVersion, frameworkVersion FROM system_models_templates_to_update; + + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; + + CREATE TEMPORARY TABLE IF NOT EXISTS system_models_templates_to_update ( + name VARCHAR(255), + vendor VARCHAR(32), + pythonVersion VARCHAR(255), + cudaVersion VARCHAR(255), + cannVersion VARCHAR(255), + frameworkVersion VARCHAR(255) + ); + + INSERT INTO system_models_templates_to_update (name, vendor, pythonVersion, cudaVersion, cannVersion, frameworkVersion) VALUES + ('vLLM-0.7.2', 'NVIDIA', '3.10', '12.5', NULL, '0.7.2'), + ('vLLM-0.8.5', 'NVIDIA', '3.10', '12.5', NULL, '0.8.5'), + ('vLLM-0.9.2', 'NVIDIA', '3.10', '12.5', NULL, '0.9.2'), + ('vLLM-0.11.0', 'NVIDIA', '3.10', '12.5', NULL, '0.11.0'), + ('SGLang-0.4.9.post1', 'NVIDIA', '3.10', '12.5', NULL, '0.4.9.post1'), + ('SGLang-0.5.2', 'NVIDIA', '3.10', '12.5', NULL, '0.5.2'), + ('Transformers-4.48.3', 'NVIDIA', '3.10', '12.5', NULL, '4.48.3'), + ('Transformers-4.56.2', 'NVIDIA', '3.10', '12.5', NULL, '4.56.2'), + ('sentence_transformers-3.1.1', 'NVIDIA', '3.10', '12.5', NULL, '3.1.1'), + ('Diffusers-0.30.0', 'NVIDIA', '3.10', '12.5', NULL, '0.30.0'), + ('Diffusers-0.35.1', 'NVIDIA', '3.10', '12.5', NULL, '0.35.1'), + ('MindIE-2.0.RC1-910B', 'HUAWEI', '3.9', NULL, '8.0', '2.0.RC1'), + ('MindIE-2.1.RC1-910B', 'HUAWEI', '3.9', NULL, '8.0', '2.1.RC1'), + ('MindIE-1.0.0-310P', 'HUAWEI', '3.9', NULL, '7.0', '1.0.0'), + ('vLLM-Ascend-0.11.0.rc0', 'HUAWEI', '3.9', NULL, '8.0', '0.11.0.rc0'), + ('vLLM-0.5.0-HYGON-Z100L', 'HAIGUANG', '3.10', NULL, NULL, '0.5.0'), + ('vLLM-0.8.5-HYGON-K100-AI', 'HAIGUANG', '3.10', NULL, NULL, '0.8.5'), + ('vLLM-0.9.2-HYGON-K100-AI', 'HAIGUANG', '3.10', NULL, NULL, '0.9.2'), + ('vLLM-0.7.2-HYGON-K100-AI', 'HAIGUANG', '3.10', NULL, NULL, '0.7.2'), + ('MinerU2.5-2509', 'NVIDIA', '3.10', '12.5', NULL, '2.5'); + + OPEN templates_cursor; + update_template_loop: LOOP + FETCH templates_cursor INTO model_name, gpu_vendor_name, py_version, cuda_version, cann_version, fw_version; + IF done THEN + LEAVE update_template_loop; + END IF; + + SELECT COUNT(*) INTO @cnt FROM `zstack`.`ModelServiceVO` WHERE name = model_name AND `system` = 1; + IF @cnt > 0 THEN + SELECT uuid INTO service_uuid FROM `zstack`.`ModelServiceVO` WHERE name = model_name AND `system` = 1 LIMIT 1; + ELSE + SET service_uuid = NULL; + END IF; + + IF service_uuid IS NOT NULL THEN + UPDATE `zstack`.`ModelServiceTemplateVO` + SET + `pythonVersionSemver` = py_version, + `cudaVersion` = cuda_version, + `cannVersion` = cann_version, + `frameworkVersionSemver` = fw_version, + `gpuVendor` = gpu_vendor_name + WHERE `modelServiceUuid` = service_uuid; + SELECT CONCAT('INFO: Updated ModelServiceTemplateVO for service_uuid=', service_uuid, ', updated_rows=', ROW_COUNT()) AS msg; + ELSE + SELECT CONCAT('WARN: Service not found for model=', model_name, ', skipping template update.') AS msg; + END IF; + + SET service_uuid = NULL; + END LOOP; + CLOSE templates_cursor; + + DROP TEMPORARY TABLE system_models_templates_to_update; +END $$ +DELIMITER ; + +CALL update_system_model_service_templates(); +DROP PROCEDURE IF EXISTS update_system_model_service_templates; + +-- Delete unexpected ModelServiceTemplateVO entries of MindIE-1.0.0-310P +DELETE FROM `zstack`.`ModelServiceTemplateVO` +WHERE `modelServiceUuid` = 'fe4ed042ac074c55ba1e76921b175ba5' and `cpuArchitecture` = 'x86_64'; + +DELETE FROM `zstack`.`ModelServiceCpuArchitectureVO` +WHERE `modelServiceUuid` = 'fe4ed042ac074c55ba1e76921b175ba5' and `architecture` = 'x86_64'; diff --git a/conf/tools/flyway-6.3.1/sql/V5.4.6__schema.sql b/conf/tools/flyway-6.3.1/sql/V5.4.6__schema.sql new file mode 100644 index 00000000000..2556e35d053 --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V5.4.6__schema.sql @@ -0,0 +1,353 @@ +-- Fix UsedIpVO gateway and netmask from empty strings +DROP PROCEDURE IF EXISTS fixUsedIpGatewayAndNetmask; + +DELIMITER $$ + +CREATE PROCEDURE fixUsedIpGatewayAndNetmask() +BEGIN + DECLARE done INT DEFAULT FALSE; + DECLARE v_usedIpUuid VARCHAR(32); + DECLARE v_ipRangeUuid VARCHAR(32); + DECLARE v_gateway VARCHAR(64); + DECLARE v_netmask VARCHAR(64); + + -- Cursor for UsedIpVO records with empty gateway or netmask + DECLARE cur CURSOR FOR + SELECT uuid, ipRangeUuid + FROM UsedIpVO + WHERE (gateway = '' OR netmask = '' OR gateway IS NULL OR netmask IS NULL) + AND ipRangeUuid IS NOT NULL; + + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; + + OPEN cur; + + read_loop: LOOP + FETCH cur INTO v_usedIpUuid, v_ipRangeUuid; + + IF done THEN + LEAVE read_loop; + END IF; + + -- Get gateway and netmask from IpRangeVO + SELECT gateway, netmask + INTO v_gateway, v_netmask + FROM IpRangeVO + WHERE uuid = v_ipRangeUuid; + + -- Update UsedIpVO with correct gateway and netmask + IF v_gateway IS NOT NULL AND v_netmask IS NOT NULL THEN + UPDATE UsedIpVO + SET gateway = v_gateway, netmask = v_netmask + WHERE uuid = v_usedIpUuid; + END IF; + + END LOOP; + + CLOSE cur; + +END$$ + +DELIMITER ; + +-- Execute the procedure +CALL fixUsedIpGatewayAndNetmask(); + +-- Drop the procedure after use +DROP PROCEDURE IF EXISTS fixUsedIpGatewayAndNetmask; + + +-- Update ModelServiceVO framework values +DROP PROCEDURE IF EXISTS updateModelServiceFramework; + +DELIMITER $$ + +CREATE PROCEDURE updateModelServiceFramework() +BEGIN + DECLARE v_table_exists INT DEFAULT 0; + + -- Check if ModelServiceVO table and framework column exist + SELECT COUNT(*) INTO v_table_exists + FROM information_schema.COLUMNS + WHERE TABLE_SCHEMA = DATABASE() + AND TABLE_NAME = 'ModelServiceVO' + AND COLUMN_NAME = 'framework'; + + IF v_table_exists > 0 THEN + -- Update llama.cpp to LlamaCpp + UPDATE ModelServiceVO + SET framework = 'LlamaCpp' + WHERE framework = 'llama.cpp'; + + -- Update sentence_transformers to SentenceTransformers + UPDATE ModelServiceVO + SET framework = 'SentenceTransformers' + WHERE framework = 'sentence_transformers'; + END IF; +END$$ + +DELIMITER ; + +-- Execute the procedure +CALL updateModelServiceFramework(); + +-- Drop the procedure after use +DROP PROCEDURE IF EXISTS updateModelServiceFramework; + +UPDATE ModelVO SET architectureType = 'xtts-v2' WHERE uuid = '39280569b4e0490fb581f6ab98e76400'; +UPDATE ModelVO SET architectureType = 'sdxl-turbo' WHERE uuid = '6a720c01935f4f9ea09f81bde722ee42'; + +CALL ADD_COLUMN('ModelServiceVO', 'containerArgs', 'TEXT', 1, NULL); +CALL ADD_COLUMN('ModelServiceVO', 'containerCommand', 'TEXT', 1, NULL); + +-- Upgrade gpuVendor field in ModelServiceGpuVendorVO +Update ModelServiceGpuVendorVO set gpuVendor = 'Huawei' where gpuVendor = 'HUAWEI'; +Update ModelServiceGpuVendorVO set gpuVendor = 'Haiguang' where gpuVendor = 'HAIGUANG'; +Update ModelServiceGpuVendorVO set gpuVendor = 'TianShu' where gpuVendor = 'TIANSHU'; +Update ModelServiceGpuVendorVO set gpuVendor = 'Intel' where gpuVendor = 'INTEL'; + +CALL ADD_COLUMN('GpuDeviceVO', 'isolated', 'TINYINT(1)', 1, NULL); +CALL ADD_COLUMN('GpuDeviceSpecVO', 'isolated', 'TINYINT(1)', 1, NULL); + +DELIMITER $$ + +DROP PROCEDURE IF EXISTS fix_missing_architecture_records$$ + +CREATE PROCEDURE fix_missing_architecture_records() +BEGIN + DECLARE done INT DEFAULT FALSE; + DECLARE v_model_service_uuid VARCHAR(32); + DECLARE v_architecture VARCHAR(32); + DECLARE v_exists INT; + + -- Cursor to find all model services that have templates but missing architecture records + DECLARE service_cursor CURSOR FOR + SELECT DISTINCT mst.modelServiceUuid, mst.cpuArchitecture + FROM ModelServiceTemplateVO mst + WHERE NOT EXISTS ( + SELECT 1 + FROM ModelServiceCpuArchitectureVO msca + WHERE msca.modelServiceUuid = mst.modelServiceUuid + AND msca.architecture = mst.cpuArchitecture + ) + ORDER BY mst.modelServiceUuid, mst.cpuArchitecture; + + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; + + -- Start transaction + START TRANSACTION; + + -- Create a temporary table to store statistics + CREATE TEMPORARY TABLE IF NOT EXISTS fix_stats ( + total_services INT DEFAULT 0, + total_records_added INT DEFAULT 0 + ); + + INSERT INTO fix_stats VALUES (0, 0); + + -- Open cursor and process each missing architecture record + OPEN service_cursor; + + read_loop: LOOP + FETCH service_cursor INTO v_model_service_uuid, v_architecture; + + IF done THEN + LEAVE read_loop; + END IF; + + -- Double check if the record doesn't exist (to avoid duplicates) + SELECT COUNT(*) INTO v_exists + FROM ModelServiceCpuArchitectureVO + WHERE modelServiceUuid = v_model_service_uuid + AND architecture = v_architecture; + + IF v_exists = 0 THEN + -- Insert the missing architecture record + INSERT INTO ModelServiceCpuArchitectureVO (modelServiceUuid, architecture, lastOpDate, createDate) + VALUES ( + v_model_service_uuid, + v_architecture, + CURRENT_TIMESTAMP(3), + CURRENT_TIMESTAMP(3) + ); + + -- Update statistics + UPDATE fix_stats SET total_records_added = total_records_added + 1; + + -- Log the fix + SELECT CONCAT('Fixed: Added architecture record [', v_architecture, '] for model service [', v_model_service_uuid, ']') AS log_message; + END IF; + + END LOOP; + + CLOSE service_cursor; + + -- Count total affected services + UPDATE fix_stats SET total_services = ( + SELECT COUNT(DISTINCT modelServiceUuid) + FROM ModelServiceCpuArchitectureVO + WHERE createDate >= (SELECT MIN(createDate) FROM (SELECT createDate FROM ModelServiceCpuArchitectureVO ORDER BY createDate DESC LIMIT 1000) AS recent) + ); + + -- Display summary + SELECT + total_records_added AS 'Total Architecture Records Added', + (SELECT COUNT(DISTINCT modelServiceUuid) FROM ModelServiceTemplateVO) AS 'Total Model Services with Templates', + (SELECT COUNT(DISTINCT modelServiceUuid) FROM ModelServiceCpuArchitectureVO) AS 'Total Model Services with Architecture Records' + FROM fix_stats; + + -- Cleanup + DROP TEMPORARY TABLE IF EXISTS fix_stats; + + -- Commit transaction + COMMIT; + + SELECT 'Fix completed successfully!' AS status; +END$$ + +DELIMITER ; + +CALL fix_missing_architecture_records(); + +-- Add new gpu constraint fields +CALL ADD_COLUMN('ModelVO', 'recommendedGpuNum', 'VARCHAR(256)', 1, NULL); +CALL ADD_COLUMN('ModelVO', 'gpuConstraintDescription', 'VARCHAR(512)', 1, NULL); + +DELIMITER $$ + +CREATE PROCEDURE update_system_model_service_templates() +BEGIN + DECLARE done INT DEFAULT FALSE; + DECLARE model_name VARCHAR(255); + DECLARE gpu_vendor_name VARCHAR(32); + DECLARE py_version VARCHAR(255); + DECLARE cuda_version VARCHAR(255); + DECLARE cann_version VARCHAR(255); + DECLARE fw_version VARCHAR(255); + DECLARE service_uuid VARCHAR(32); + + DECLARE templates_cursor CURSOR FOR + SELECT name, vendor, pythonVersion, cudaVersion, cannVersion, frameworkVersion FROM system_models_templates_to_update; + + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; + + CREATE TEMPORARY TABLE IF NOT EXISTS system_models_templates_to_update ( + name VARCHAR(255), + vendor VARCHAR(32), + pythonVersion VARCHAR(255), + cudaVersion VARCHAR(255), + cannVersion VARCHAR(255), + frameworkVersion VARCHAR(255) + ); + + INSERT INTO system_models_templates_to_update (name, vendor, pythonVersion, cudaVersion, cannVersion, frameworkVersion) VALUES + ('vLLM-0.7.2', 'NVIDIA', '3.10', '12.5', NULL, '0.7.2'), + ('vLLM-0.8.5', 'NVIDIA', '3.10', '12.5', NULL, '0.8.5'), + ('vLLM-0.9.2', 'NVIDIA', '3.10', '12.5', NULL, '0.9.2'), + ('vLLM-0.11.0', 'NVIDIA', '3.10', '12.5', NULL, '0.11.0'), + ('SGLang-0.4.9.post1', 'NVIDIA', '3.10', '12.5', NULL, '0.4.9.post1'), + ('SGLang-0.5.2', 'NVIDIA', '3.10', '12.5', NULL, '0.5.2'), + ('SGLang-0.5.4', 'NVIDIA', '3.10', '12.5', NULL, '0.5.4'), + ('Transformers-4.48.3', 'NVIDIA', '3.10', '12.5', NULL, '4.48.3'), + ('Transformers-4.57.1', 'NVIDIA', '3.10', '12.5', NULL, '4.57.1'), + ('Transformers-4.56.2', 'NVIDIA', '3.10', '12.5', NULL, '4.56.2'), + ('sentence_transformers-3.1.1', 'NVIDIA', '3.10', '12.5', NULL, '3.1.1'), + ('Diffusers-0.30.0', 'NVIDIA', '3.10', '12.5', NULL, '0.30.0'), + ('Diffusers-0.35.1', 'NVIDIA', '3.10', '12.5', NULL, '0.35.1'), + ('MindIE-2.0.RC1-910B', 'Huawei', '3.9', NULL, '8.0', '2.0.RC1'), + ('MindIE-2.1.RC1-910B', 'Huawei', '3.9', NULL, '8.0', '2.1.RC1'), + ('MindIE-2.1.RC2-910B', 'Huawei', '3.9', NULL, '8.0', '2.1.RC2'), + ('MindIE-1.0.0-310P', 'Huawei', '3.9', NULL, '7.0', '1.0.0'), + ('vLLM-Ascend-0.11.0.rc0', 'Huawei', '3.9', NULL, '8.0', '0.11.0.rc0'), + ('vLLM-0.5.0-HYGON-Z100L', 'Haiguang', '3.10', NULL, NULL, '0.5.0'), + ('vLLM-0.8.5-HYGON-K100-AI', 'Haiguang', '3.10', NULL, NULL, '0.8.5'), + ('vLLM-0.9.2-HYGON-K100-AI', 'Haiguang', '3.10', NULL, NULL, '0.9.2'), + ('vLLM-0.7.2-HYGON-K100-AI', 'Haiguang', '3.10', NULL, NULL, '0.7.2'), + ('MinerU2.5-2509', 'NVIDIA', '3.10', '12.5', NULL, '2.5'); + + OPEN templates_cursor; + update_template_loop: LOOP + FETCH templates_cursor INTO model_name, gpu_vendor_name, py_version, cuda_version, cann_version, fw_version; + IF done THEN + LEAVE update_template_loop; + END IF; + + SELECT COUNT(*) INTO @cnt FROM `zstack`.`ModelServiceVO` WHERE name = model_name AND `system` = 1; + IF @cnt > 0 THEN + SELECT uuid INTO service_uuid FROM `zstack`.`ModelServiceVO` WHERE name = model_name AND `system` = 1 LIMIT 1; + ELSE + SET service_uuid = NULL; + END IF; + + IF service_uuid IS NOT NULL THEN + SELECT COUNT(*) INTO @tmpl_cnt FROM `zstack`.`ModelServiceTemplateVO` WHERE `modelServiceUuid` = service_uuid; + IF @tmpl_cnt > 0 THEN + UPDATE `zstack`.`ModelServiceTemplateVO` SET + `pythonVersionSemver` = py_version, + `cudaVersion` = cuda_version, + `cannVersion` = cann_version, + `frameworkVersionSemver` = fw_version, + `gpuVendor` = gpu_vendor_name + WHERE `modelServiceUuid` = service_uuid; + SELECT CONCAT('INFO: Updated ModelServiceTemplateVO for service_uuid=', service_uuid, ', updated_rows=', ROW_COUNT()) AS msg; + ELSE + INSERT INTO `zstack`.`ModelServiceTemplateVO` (`uuid`, `modelServiceUuid`, `cpuArchitecture`, `pythonVersionSemver`, `cudaVersion`, `cannVersion`, `frameworkVersionSemver`, `gpuVendor`, `createDate`, `lastOpDate`) + VALUES (REPLACE(UUID(),'-',''), service_uuid, 'x86_64', py_version, cuda_version, cann_version, fw_version, gpu_vendor_name, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP); + SELECT CONCAT('INFO: Inserted ModelServiceTemplateVO for service_uuid=', service_uuid, ', inserted_rows=', ROW_COUNT()) AS msg; + END IF; + + -- Ensure ModelServiceGpuVendorVO record exists with the corresponding gpuVendor for this modelServiceUuid + SELECT COUNT(*) INTO @gv_cnt FROM `zstack`.`ModelServiceGpuVendorVO` + WHERE `modelServiceUuid` = service_uuid AND `gpuVendor` = gpu_vendor_name; + IF @gv_cnt = 0 THEN + INSERT INTO `zstack`.`ModelServiceGpuVendorVO` (`modelServiceUuid`, `gpuVendor`) + VALUES (service_uuid, gpu_vendor_name); + SELECT CONCAT('INFO: Inserted ModelServiceGpuVendorVO for service_uuid=', service_uuid, ', gpuVendor=', gpu_vendor_name) AS msg; + ELSE + SELECT CONCAT('INFO: ModelServiceGpuVendorVO exists for service_uuid=', service_uuid, ', gpuVendor=', gpu_vendor_name) AS msg; + END IF; + ELSE + SELECT CONCAT('WARN: Service not found for model=', model_name, ', skipping template and gpuVendor update.') AS msg; + END IF; + + SET service_uuid = NULL; + END LOOP; + CLOSE templates_cursor; + + DROP TEMPORARY TABLE IF EXISTS system_models_templates_to_update; +END $$ +DELIMITER ; + +CALL update_system_model_service_templates(); +DROP PROCEDURE IF EXISTS update_system_model_service_templates; + +Update ModelServiceTemplateVO set gpuVendor = 'Huawei' where gpuVendor = 'HUAWEI'; +Update ModelServiceTemplateVO set gpuVendor = 'Haiguang' where gpuVendor = 'HAIGUANG'; +Update ModelServiceTemplateVO set gpuVendor = 'TianShu' where gpuVendor = 'TIANSHU'; +Update ModelServiceTemplateVO set gpuVendor = 'Intel' where gpuVendor = 'INTEL'; + +CALL ADD_COLUMN('GpuDeviceVO', 'gpuStatus', 'varchar(16)', 1, NULL); + +UPDATE `zstack`.`GpuDeviceVO` SET `gpuStatus`='NOMINAL' WHERE `gpuStatus` IS NULL; + +-- Add supportMetrics column to ModelServiceInstanceGroupVO +DROP PROCEDURE IF EXISTS addModelServiceInstanceGroupSupportMetricsColumn; +DELIMITER $$ +CREATE PROCEDURE addModelServiceInstanceGroupSupportMetricsColumn() +BEGIN + DECLARE columnExists BOOLEAN DEFAULT FALSE; + + SELECT COUNT(*) INTO columnExists + FROM INFORMATION_SCHEMA.COLUMNS + WHERE TABLE_NAME = 'ModelServiceInstanceGroupVO' + AND COLUMN_NAME = 'supportMetrics' + AND TABLE_SCHEMA = 'zstack'; + + IF columnExists = FALSE THEN + ALTER TABLE `zstack`.`ModelServiceInstanceGroupVO` ADD COLUMN `supportMetrics` TEXT DEFAULT NULL; + END IF; +END $$ +DELIMITER ; + +CALL addModelServiceInstanceGroupSupportMetricsColumn(); +DROP PROCEDURE IF EXISTS addModelServiceInstanceGroupSupportMetricsColumn; diff --git a/conf/tools/flyway-6.3.1/sql/V5.5.0__schema.sql b/conf/tools/flyway-6.3.1/sql/V5.5.0__schema.sql new file mode 100644 index 00000000000..cc43f8f2d40 --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V5.5.0__schema.sql @@ -0,0 +1,478 @@ +CALL ADD_COLUMN('VmVfNicVO', 'secondaryPciDeviceUuid', 'VARCHAR(32)', 1, NULL); +ALTER TABLE `zstack`.`VmVfNicVO` ADD CONSTRAINT `fkVmVfNicVOSecondaryPciDeviceVO` FOREIGN KEY (`secondaryPciDeviceUuid`) REFERENCES `zstack`.`PciDeviceVO` (`uuid`) ON DELETE SET NULL; + +CALL ADD_COLUMN('LicenseAuthorizedCapacityVO', 'resourceInfo', 'text', 1, NULL); + +CALL ADD_COLUMN('PciDeviceVO', 'dependentDevices', 'varchar(255)', 1, NULL); + +CREATE TABLE IF NOT EXISTS `zstack`.`ExternalPrimaryStorageSpaceVO` +( + uuid VARCHAR(32) NOT NULL, + primaryStorageUuid VARCHAR(32), + locationUrl VARCHAR(255), + type VARCHAR(255), + name VARCHAR(255), + availableCapacity BIGINT, + totalCapacity BIGINT, + availablePhysicalCapacity BIGINT, + totalPhysicalCapacity BIGINT, + `lastOpDate` TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `createDate` TIMESTAMP, + PRIMARY KEY (`uuid`), + CONSTRAINT `fkExternalPrimaryStorageSpaceVOPrimaryStorageEO` FOREIGN KEY (`primaryStorageUuid`) REFERENCES `zstack`.`PrimaryStorageEO` (`uuid`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + + +DROP PROCEDURE IF EXISTS UpdateVolumeInstallPathForZbs; + +DELIMITER $$ +CREATE PROCEDURE UpdateVolumeInstallPathForZbs() +BEGIN + DECLARE done INT DEFAULT FALSE; + DECLARE psUuid VARCHAR(32); + DECLARE cur CURSOR FOR + SELECT uuid FROM `zstack`.`ExternalPrimaryStorageVO` WHERE identity = 'zbs'; + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; + + OPEN cur; + read_loop: LOOP + FETCH cur INTO psUuid; + IF done THEN + LEAVE read_loop; + END IF; + + UPDATE `zstack`.`VolumeEO` + SET installPath = CONCAT('zbs://', SUBSTRING_INDEX(SUBSTRING(installPath, 5), '/', -2)) + WHERE primaryStorageUuid = psUuid + AND installPath LIKE 'cbd:%/%/%'; + + UPDATE `zstack`.`VolumeSnapshotEO` + SET primaryStorageInstallPath = CONCAT('zbs://', SUBSTRING_INDEX(SUBSTRING(primaryStorageInstallPath, 5), '/', -2)) + WHERE primaryStorageUuid = psUuid + AND primaryStorageInstallPath LIKE 'cbd:%/%/%'; + + UPDATE `zstack`.`ImageCacheVO` + SET installUrl = CONCAT('zbs://', SUBSTRING_INDEX(SUBSTRING(installUrl, 5), '/', -2)) + WHERE primaryStorageUuid = psUuid + AND installUrl LIKE 'cbd:%/%/%'; + + UPDATE `zstack`.`ImageCacheShadowVO` + SET installUrl = CONCAT('zbs://', SUBSTRING_INDEX(SUBSTRING(installUrl, 5), '/', -2)) + WHERE primaryStorageUuid = psUuid + AND installUrl LIKE 'cbd:%/%/%'; + END LOOP; + CLOSE cur; +END $$ + +DELIMITER ; + +CALL UpdateVolumeInstallPathForZbs(); + +ALTER TABLE `zstack`.`ExternalPrimaryStorageVO` MODIFY `addonInfo` TEXT DEFAULT NULL; + +-- ----------------------------------- +-- BEGIN OF HYGON CCP DEVICE VIRTUALIZATION +-- ----------------------------------- +CREATE TABLE IF NOT EXISTS `zstack`.`HygonCcpDeviceVO` ( + `uuid` varchar(32) NOT NULL UNIQUE COMMENT 'uuid', + `name` varchar(255) NOT NULL, + `description` text DEFAULT NULL, + `hostUuid` varchar(32) NOT NULL, + `pciBdf` varchar(32) NOT NULL, + `deviceType` varchar(32) NOT NULL, + `deviceId` varchar(32) NOT NULL, + `driverStatus` varchar(32) NOT NULL, + `isMasterPsp` tinyint(1) DEFAULT 0, + `vendorIdx` INT DEFAULT NULL, + `state` varchar(32) NOT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`), + INDEX `idxHygonCCPDeviceVOhostUuid` (`hostUuid`), + INDEX `idxHygonCCPDeviceVOdeviceType` (`deviceType`), + INDEX `idxHygonCCPDeviceVOpciBdf` (`pciBdf`), + CONSTRAINT `fkHygonCCPDeviceVOHostEO` FOREIGN KEY (`hostUuid`) REFERENCES `zstack`.`HostEO` (`uuid`) ON DELETE CASCADE + ) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`HygonCcpMdevVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `name` varchar(128) NOT NULL, + `description` text DEFAULT NULL, + `hostUuid` varchar(32) NOT NULL, + `ccpDeviceUuid` varchar(32) NOT NULL, + `mdevUuid` varchar(64) NOT NULL UNIQUE, + `vendorIdx` INT DEFAULT NULL, + `useFlag` tinyint(1) NOT NULL DEFAULT 0, + `vmInstanceUuid` varchar(32) DEFAULT NULL, + `status` varchar(32) NOT NULL, + `state` varchar(32) NOT NULL, + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`uuid`), + INDEX `idxHygonCcpMdevVOhostUuid` (`hostUuid`), + INDEX `idxHygonCcpMdevVOccpDeviceUuid` (`ccpDeviceUuid`), + INDEX `idxHygonCcpMdevVOmdevUuid` (`mdevUuid`), + INDEX `idxHygonCcpMdevVOvmInstanceUuid` (`vmInstanceUuid`), + INDEX `idxHygonCcpMdevVOuseFlag` (`useFlag`), + CONSTRAINT `fkHygonCcpMdevVOHostEO` FOREIGN KEY (`hostUuid`) REFERENCES `zstack`.`HostEO` (`uuid`) ON DELETE CASCADE, + CONSTRAINT `fkHygonCcpMdevVOHygonCCPDeviceVO` FOREIGN KEY (`ccpDeviceUuid`) REFERENCES `zstack`.`HygonCcpDeviceVO` (`uuid`) ON DELETE CASCADE, + CONSTRAINT `fkHygonCcpMdevVOVmInstanceEO` FOREIGN KEY (`vmInstanceUuid`) REFERENCES `zstack`.`VmInstanceEO` (`uuid`) ON DELETE SET NULL + ) ENGINE=InnoDB DEFAULT CHARSET=utf8; +-- --------------------------------- +-- END OF HYGON CCP DEVICE VIRTUALIZATION +-- --------------------------------- + +CREATE TABLE IF NOT EXISTS `zstack`.`NfvInstOfferingVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `managementNetworkUuid` varchar(32) NOT NULL, + `imageUuid` varchar(32) NOT NULL, + `zoneUuid` varchar(32) NOT NULL, + PRIMARY KEY (`uuid`), + CONSTRAINT fkNfvInstOfferingVOL3NetworkEO FOREIGN KEY (managementNetworkUuid) REFERENCES `zstack`.`L3NetworkEO` (uuid) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`NfvInstGroupVO` ( + `uuid` VARCHAR(32) NOT NULL UNIQUE, + `name` VARCHAR(255) NOT NULL, + `description` VARCHAR(2048) DEFAULT NULL, + `nfvInstOfferingUuid` VARCHAR(32) DEFAULT NULL, + `instType` VARCHAR(64) NOT NULL, + `funcType` VARCHAR(64) NOT NULL, + `configVersion` int unsigned DEFAULT 0, + `netOsDistro` VARCHAR(128) DEFAULT NULL, + `baseOsDistro` VARCHAR(128) DEFAULT NULL, + `status` VARCHAR(32) DEFAULT 'Initializing', + `statusDetail` VARCHAR(255) DEFAULT NULL, + `operationMode` VARCHAR(32) DEFAULT 'Normal', + `vipUuid` VARCHAR(32) DEFAULT NULL, + `ipv6VipUuid` VARCHAR(32) DEFAULT NULL, + `primaryStorageUuid` VARCHAR(32) DEFAULT NULL, + `primaryStoragePoolUuid` VARCHAR(255) DEFAULT NULL, + `clusterUuid` VARCHAR(32) DEFAULT NULL, + `zoneUuid` VARCHAR(32) DEFAULT NULL, + `lastOpDate` timestamp ON UPDATE CURRENT_TIMESTAMP, + `createDate` timestamp, + PRIMARY KEY (`uuid`), + CONSTRAINT `fkNfvInstGroupVONfvInstOfferingVO` FOREIGN KEY (`nfvInstOfferingUuid`) REFERENCES `zstack`.`NfvInstOfferingVO` (uuid) ON DELETE SET NULL, + CONSTRAINT `fkNfvInstGroupVOPrimaryStorageEO` FOREIGN KEY (`primaryStorageUuid`) REFERENCES `zstack`.`PrimaryStorageEO` (uuid) ON DELETE SET NULL, + CONSTRAINT `fkNfvInstGroupVOClusterEO` FOREIGN KEY (`clusterUuid`) REFERENCES `zstack`.`ClusterEO` (uuid) ON DELETE SET NULL, + CONSTRAINT `fkNfvInstGroupVOZoneEO` FOREIGN KEY (`zoneUuid`) REFERENCES `zstack`.`ZoneEO` (uuid) ON DELETE SET NULL, + KEY `idx_nfv_inst_group_status_mode` (`status`, `operationMode`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`NfvInstGroupMonitorIpVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `nfvInstGroupUuid` varchar(32) NOT NULL, + `monitorIp` varchar(255) NOT NULL, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`id`), + CONSTRAINT fkNfvInstGroupMonitorIpVONfvInstGroupVO FOREIGN KEY (nfvInstGroupUuid) REFERENCES NfvInstGroupVO (uuid) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`NfvInstGroupNetworkServiceRefVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `nfvInstGroupUuid` varchar(32) NOT NULL, + `networkServiceName` VARCHAR(255) NOT NULL, + `networkServiceUuid` varchar(32) NOT NULL, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`id`), + CONSTRAINT fkNfvInstGroupNetworkServiceRefVONfvInstGroupVO FOREIGN KEY (nfvInstGroupUuid) REFERENCES NfvInstGroupVO (uuid) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`NfvInstGroupL3NetworkRefVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `nfvInstGroupUuid` varchar(32) NOT NULL, + `networkServiceUuid` VARCHAR(32) NOT NULL, + `l3NetworkUuid` varchar(32) NOT NULL, + `type` varchar(255) NOT NULL, + `createDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + `lastOpDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`id`), + CONSTRAINT fkNfvInstGroupL3NetworkRefVONfvInstGroupVO FOREIGN KEY (nfvInstGroupUuid) REFERENCES NfvInstGroupVO (uuid) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`NfvInstVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `nfvInstGroupUuid` varchar(32) NOT NULL, + `configVersion` int unsigned NOT NULL DEFAULT 0, + `netOsDistro` VARCHAR(128) NOT NULL, + `baseOsDistro` VARCHAR(128) NOT NULL, + `clusterStatus` VARCHAR(32) DEFAULT 'Unknown', + `statusDetail` VARCHAR(255) DEFAULT NULL, + PRIMARY KEY (`uuid`), + CONSTRAINT fkNfvInstVONfvInstGroupVO FOREIGN KEY (nfvInstGroupUuid) REFERENCES NfvInstGroupVO (uuid) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`NfvInstMetaDataVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `agentVersion` varchar(32) DEFAULT NULL, + `netOsVersion` varchar(32) DEFAULT NULL, + `baseOsVersion` varchar(32) DEFAULT NULL, + `kernelVersion` varchar(256) DEFAULT NULL, + PRIMARY KEY (`uuid`), + CONSTRAINT `fkNfvInstMetadataVONfvInstVO` FOREIGN KEY (`uuid`) REFERENCES `NfvInstVO` (`uuid`) ON UPDATE RESTRICT ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `zstack`.`NfvInstGroupConfigTaskVO` ( + `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT, + `nfvInstGroupUuid` varchar(32) NOT NULL, + `configVersion` int unsigned DEFAULT 0, + `serviceUuid` varchar(32) NOT NULL, + `taskName` VARCHAR(255) NOT NULL, + `path` VARCHAR(255) NOT NULL, + `taskData` text DEFAULT NULL, + `checkStatus` BOOLEAN DEFAULT FALSE, + PRIMARY KEY (`id`), + CONSTRAINT fkNfvInstGroupConfigTaskVONfvInstGroupVO FOREIGN KEY (nfvInstGroupUuid) REFERENCES NfvInstGroupVO (uuid) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CALL ADD_COLUMN('OvnControllerVmInstanceVO', 'nbClusterStatus', 'VARCHAR(32)', 1, 'Unknown'); +CALL ADD_COLUMN('OvnControllerVmInstanceVO', 'sbClusterStatus', 'VARCHAR(32)', 1, 'Unknown'); + +-- ======================================== +-- Upgrade OvnControllerVmOfferingVO and OvnControllerVmInstanceVO hierarchy +-- Only execute if NOT already upgraded +-- ======================================== + +DELIMITER $$ + +DROP PROCEDURE IF EXISTS upgrade_ovn_controller_to_nfv_inst$$ + +CREATE PROCEDURE upgrade_ovn_controller_to_nfv_inst() +BEGIN + DECLARE already_upgraded INT DEFAULT 0; + DECLARE has_management_network_column INT DEFAULT 0; + DECLARE offering_count INT DEFAULT 0; + DECLARE offering_migrated_count INT DEFAULT 0; + DECLARE instance_in_nfv_inst_count INT DEFAULT 0; + DECLARE instance_in_nfv_group_count INT DEFAULT 0; + + -- Check if upgrade has already been done by checking any of these conditions: + -- a. OvnControllerVmOfferingVO no longer has managementNetworkUuid column + SELECT COUNT(*) INTO has_management_network_column + FROM information_schema.COLUMNS + WHERE TABLE_SCHEMA = 'zstack' + AND TABLE_NAME = 'OvnControllerVmOfferingVO' + AND COLUMN_NAME = 'managementNetworkUuid'; + + IF has_management_network_column = 0 THEN + SET already_upgraded = 1; + END IF; + + -- b. Check if OvnControllerVmOfferingVO records exist in NfvInstOfferingVO + IF already_upgraded = 0 THEN + SELECT COUNT(*) INTO offering_count FROM OvnControllerVmOfferingVO; + + IF offering_count > 0 THEN + SELECT COUNT(*) INTO offering_migrated_count + FROM OvnControllerVmOfferingVO ovo + INNER JOIN NfvInstOfferingVO nivo ON ovo.uuid = nivo.uuid; + + IF offering_migrated_count = offering_count THEN + SET already_upgraded = 1; + END IF; + END IF; + END IF; + + -- c. Check if OvnControllerVmInstanceVO records exist in NfvInstVO + IF already_upgraded = 0 THEN + SELECT COUNT(*) INTO instance_in_nfv_inst_count + FROM OvnControllerVmInstanceVO ovi + INNER JOIN NfvInstVO niv ON ovi.uuid = niv.uuid; + + IF instance_in_nfv_inst_count > 0 THEN + SET already_upgraded = 1; + END IF; + END IF; + + -- d. Check if NfvInstGroupVO created for OvnControllerVmInstanceVO + IF already_upgraded = 0 THEN + SELECT COUNT(*) INTO instance_in_nfv_group_count + FROM OvnControllerVmInstanceVO ovi + INNER JOIN NfvInstVO niv ON ovi.uuid = niv.uuid + INNER JOIN NfvInstGroupVO nig ON niv.nfvInstGroupUuid = nig.uuid + WHERE nig.funcType = 'OVN_SDN_CONTROLLER'; + + IF instance_in_nfv_group_count > 0 THEN + SET already_upgraded = 1; + END IF; + END IF; + + -- If any condition is met, skip the upgrade + IF already_upgraded = 1 THEN + SELECT 'Upgrade already completed, skipping OVN Controller to NFV Instance migration' AS message; + ELSE + -- ======================================== + -- Step 1: Create NfvInstOfferingVO records for existing OvnControllerVmOfferingVO + -- This must be done BEFORE dropping columns to preserve data + -- ======================================== + INSERT INTO NfvInstOfferingVO (uuid, managementNetworkUuid, imageUuid, zoneUuid) + SELECT + ovo.uuid, + ovo.managementNetworkUuid, + ovo.imageUuid, + ovo.zoneUuid + FROM OvnControllerVmOfferingVO ovo + WHERE NOT EXISTS ( + SELECT 1 FROM NfvInstOfferingVO nivo WHERE nivo.uuid = ovo.uuid + ); + + -- ======================================== + -- Step 2: Now safe to drop foreign key from OvnControllerVmOfferingVO + -- (Columns will be dropped after procedure execution) + -- ======================================== + IF has_management_network_column > 0 THEN + -- Check if foreign key exists before dropping + IF EXISTS ( + SELECT 1 FROM information_schema.TABLE_CONSTRAINTS + WHERE TABLE_SCHEMA = 'zstack' + AND TABLE_NAME = 'OvnControllerVmOfferingVO' + AND CONSTRAINT_NAME = 'fkOvnControllerVmOfferingVOL3NetworkEO' + ) THEN + ALTER TABLE OvnControllerVmOfferingVO DROP FOREIGN KEY fkOvnControllerVmOfferingVOL3NetworkEO; + END IF; + END IF; + + -- ======================================== + -- Step 3: Create NfvInstGroupVO for each OvnControllerVmInstanceVO + -- ======================================== + + -- First, create a temporary table to store the mapping between instance UUID and generated group UUID + CREATE TEMPORARY TABLE IF NOT EXISTS temp_ovn_inst_group_mapping ( + inst_uuid VARCHAR(32) NOT NULL PRIMARY KEY, + group_uuid VARCHAR(32) NOT NULL, + group_name VARCHAR(255) NOT NULL + ); + + -- Generate random UUIDs for each OVN instance and store the mapping + INSERT INTO temp_ovn_inst_group_mapping (inst_uuid, group_uuid, group_name) + SELECT + ovn.uuid AS inst_uuid, + REPLACE(UUID(), '-', '') AS group_uuid, + LEFT(CONCAT('OVN-Controller-Group-', vm.name), 255) AS group_name + FROM OvnControllerVmInstanceVO ovn + INNER JOIN VmInstanceVO vm ON ovn.uuid = vm.uuid + WHERE NOT EXISTS ( + SELECT 1 FROM NfvInstGroupVO nfv_grp WHERE nfv_grp.uuid = ovn.uuid + ); + + -- Insert ResourceVO records for each NfvInstGroup + INSERT INTO ResourceVO (uuid, resourceName, resourceType, concreteResourceType) + SELECT + mapping.group_uuid AS uuid, + mapping.group_name AS resourceName, + 'NfvInstGroupVO' AS resourceType, + 'org.zstack.network.service.nfvinstgroup.NfvInstGroupVO' AS concreteResourceType + FROM temp_ovn_inst_group_mapping mapping + WHERE NOT EXISTS ( + SELECT 1 FROM ResourceVO res WHERE res.uuid = mapping.group_uuid + ); + + -- Insert NfvInstGroupVO records + INSERT INTO NfvInstGroupVO ( + uuid, + name, + description, + nfvInstOfferingUuid, + instType, + funcType, + configVersion, + netOsDistro, + baseOsDistro, + status, + operationMode, + vipUuid, + primaryStorageUuid, + clusterUuid, + zoneUuid, + createDate, + lastOpDate + ) + SELECT + mapping.group_uuid AS group_uuid, -- group uuid: randomly generated + mapping.group_name AS name, -- group name (limit to 255 chars) + CONCAT('Auto-created group for OVN controller ', vm.name) AS description, + ovn_off.uuid AS offering_uuid, -- nfvInstOfferingUuid + 'KVM' AS inst_type, -- instType + 'OVN_SDN_CONTROLLER' AS func_type, -- funcType + 0 AS config_version, -- configVersion + 'euler' AS net_os_distro, -- netOsDistro + 'euler' AS base_os_distro, -- baseOsDistro + 'Initializing' AS status, -- status + 'Normal' AS operation_mode, -- operationMode + NULL AS vip_uuid, -- vipUuid (will be set later if needed) + vol.primaryStorageUuid AS ps_uuid, -- primaryStorageUuid (from VolumeVO via rootVolumeUuid) + vm.clusterUuid AS cluster_uuid, -- clusterUuid + vm.zoneUuid AS zone_uuid, -- zoneUuid + vm.createDate AS create_date, -- createDate + vm.lastOpDate AS last_op_date -- lastOpDate + FROM temp_ovn_inst_group_mapping mapping + INNER JOIN OvnControllerVmInstanceVO ovn ON mapping.inst_uuid = ovn.uuid + INNER JOIN VmInstanceVO vm ON ovn.uuid = vm.uuid + LEFT JOIN VolumeVO vol ON vm.rootVolumeUuid = vol.uuid + LEFT JOIN OvnControllerVmOfferingVO ovn_off ON vm.instanceOfferingUuid = ovn_off.uuid + WHERE NOT EXISTS ( + SELECT 1 FROM NfvInstGroupVO nfv_grp WHERE nfv_grp.uuid = mapping.group_uuid + ); + + -- ======================================== + -- Step 4: Create NfvInstVO records for each OvnControllerVmInstanceVO + -- ======================================== + INSERT INTO NfvInstVO ( + uuid, + nfvInstGroupUuid, + configVersion, + netOsDistro, + baseOsDistro, + clusterStatus, + statusDetail + ) + SELECT + ovn.uuid AS inst_uuid, + mapping.group_uuid AS group_uuid, -- link to the group we created (using mapping) + 0 AS config_version, -- configVersion + 'euler' AS net_os_distro, -- netOsDistro (required field) + 'euler' AS base_os_distro, -- baseOsDistro (required field) + 'Unknown' AS cluster_status, -- clusterStatus + NULL AS status_detail -- statusDetail + FROM OvnControllerVmInstanceVO ovn + INNER JOIN temp_ovn_inst_group_mapping mapping ON ovn.uuid = mapping.inst_uuid + WHERE NOT EXISTS ( + SELECT 1 FROM NfvInstVO nfv WHERE nfv.uuid = ovn.uuid + ); + + -- Clean up temporary table + DROP TEMPORARY TABLE IF EXISTS temp_ovn_inst_group_mapping; + + SELECT 'OVN Controller to NFV Instance migration completed successfully' AS message; + + -- Drop columns after data migration (if not already dropped) + CALL DROP_COLUMN('OvnControllerVmOfferingVO', 'managementNetworkUuid'); + CALL DROP_COLUMN('OvnControllerVmOfferingVO', 'imageUuid'); + CALL DROP_COLUMN('OvnControllerVmOfferingVO', 'zoneUuid'); + END IF; +END$$ + +DELIMITER ; + +-- Execute the upgrade procedure +CALL upgrade_ovn_controller_to_nfv_inst(); + +-- Drop the procedure after execution +DROP PROCEDURE IF EXISTS upgrade_ovn_controller_to_nfv_inst; + +CREATE TABLE IF NOT EXISTS `OvnControllerVO` ( + `uuid` varchar(32) NOT NULL UNIQUE, + `remoteOvn` tinyint(1) NOT NULL DEFAULT 0, + PRIMARY KEY (`uuid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +INSERT IGNORE INTO OvnControllerVO (uuid, remoteOvn) +SELECT uuid, 0 FROM SdnControllerVO where vendorType = 'Ovn'; + +CALL ADD_COLUMN('ModelServiceInstanceVO', 'architecture', 'VARCHAR(32)', 1, NULL); +CALL ADD_COLUMN('ModelServiceInstanceVO', 'gpuVendor', 'VARCHAR(128)', 1, NULL); + +CALL ADD_COLUMN('ModelVO', 'dtype', 'varchar(32)', 1, NULL); diff --git a/conf/tools/flyway-6.3.1/sql/V5.5.6__schema.sql b/conf/tools/flyway-6.3.1/sql/V5.5.6__schema.sql new file mode 100644 index 00000000000..597ded44e52 --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/V5.5.6__schema.sql @@ -0,0 +1,231 @@ +ALTER TABLE `GuestVmScriptExecutedRecordDetailVO` + MODIFY `stdout` MEDIUMTEXT CHARACTER SET `utf8mb4` COLLATE `utf8mb4_unicode_ci`; + +ALTER TABLE `GuestVmScriptExecutedRecordDetailVO` + MODIFY `stderr` MEDIUMTEXT CHARACTER SET `utf8mb4` COLLATE `utf8mb4_unicode_ci`; + +CALL ADD_COLUMN('PciDeviceVO', 'vmPciDeviceAddress', 'varchar(32)', 1, NULL); +CALL ADD_COLUMN('MdevDeviceVO', 'mdevDeviceAddress', 'varchar(32)', 1, NULL); + +CALL ADD_COLUMN('VolumeBackupVO', 'hypervisorType', 'varchar(255)', 0, 'kvm'); +ALTER TABLE `zstack`.`VolumeBackupHistoryVO` modify column bitmap varchar(32) DEFAULT NULL; + +-- Add index for modelId field to support duplicate checking +-- Use CREATE_INDEX procedure (defined in beforeMigrate.sql) for idempotent operation +CALL CREATE_INDEX('ModelVO', 'idx_modelId', 'modelId'); + +-- Upgrade existing data: set modelId to uuid if modelId is NULL +-- This UPDATE is idempotent: WHERE clause ensures only NULL values are updated +UPDATE ModelVO SET modelId = uuid WHERE modelId IS NULL; + + +DELIMITER $$ + +CREATE PROCEDURE UpdateBareMetal2InstanceProvisionNicVO() +BEGIN + DECLARE instanceUuid_exists INT; + DECLARE isPrimaryProvisionNic_exists_in_ProvisionNicVO INT; + DECLARE isPrimaryProvisionNic_exists_in_ChassisNicVO INT; + + DECLARE EXIT HANDLER FOR SQLEXCEPTION + BEGIN + ROLLBACK; + SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'An error occurred during the update process.'; + END; + + START TRANSACTION; + + SELECT COUNT(*) + INTO instanceUuid_exists + FROM INFORMATION_SCHEMA.COLUMNS + WHERE TABLE_SCHEMA = 'zstack' + AND TABLE_NAME = 'BareMetal2InstanceProvisionNicVO' + AND COLUMN_NAME = 'instanceUuid'; + + IF instanceUuid_exists = 0 THEN + CALL ADD_COLUMN('BareMetal2InstanceProvisionNicVO', 'instanceUuid', 'VARCHAR(32)', FALSE, ''); + + UPDATE `zstack`.`BareMetal2InstanceProvisionNicVO` + SET `instanceUuid` = `uuid`; + + ALTER TABLE `zstack`.`BareMetal2InstanceProvisionNicVO` + DROP FOREIGN KEY `fkBareMetal2InstanceProvisionNicVOInstanceVO`; + + CALL ADD_CONSTRAINT('BareMetal2InstanceProvisionNicVO', 'fkBareMetal2InstanceProvisionNicVOInstanceVO', + 'instanceUuid', 'BareMetal2InstanceVO', 'uuid', 'CASCADE'); + + UPDATE `zstack`.`BareMetal2InstanceProvisionNicVO` + SET `uuid` = REPLACE(UUID(), '-', ''); + END IF; + + SELECT COUNT(*) + INTO isPrimaryProvisionNic_exists_in_ProvisionNicVO + FROM INFORMATION_SCHEMA.COLUMNS + WHERE TABLE_SCHEMA = 'zstack' + AND TABLE_NAME = 'BareMetal2InstanceProvisionNicVO' + AND COLUMN_NAME = 'isPrimaryProvisionNic'; + + IF isPrimaryProvisionNic_exists_in_ProvisionNicVO = 0 THEN + CALL ADD_COLUMN('BareMetal2InstanceProvisionNicVO', 'isPrimaryProvisionNic', 'BOOLEAN', FALSE, FALSE); + + UPDATE `zstack`.`BareMetal2InstanceProvisionNicVO` + SET `isPrimaryProvisionNic` = TRUE; + END IF; + + SELECT COUNT(*) + INTO isPrimaryProvisionNic_exists_in_ChassisNicVO + FROM INFORMATION_SCHEMA.COLUMNS + WHERE TABLE_SCHEMA = 'zstack' + AND TABLE_NAME = 'BareMetal2ChassisNicVO' + AND COLUMN_NAME = 'isPrimaryProvisionNic'; + + IF isPrimaryProvisionNic_exists_in_ChassisNicVO = 0 THEN + CALL ADD_COLUMN('BareMetal2ChassisNicVO', 'isPrimaryProvisionNic', 'BOOLEAN', FALSE, FALSE); + + UPDATE `zstack`.`BareMetal2ChassisNicVO` + SET `isPrimaryProvisionNic` = TRUE + WHERE `isProvisionNic` = TRUE; + END IF; + + COMMIT; +END$$ + +DELIMITER ; +CALL UpdateBareMetal2InstanceProvisionNicVO(); +DROP PROCEDURE IF EXISTS UpdateBareMetal2InstanceProvisionNicVO; + +-- ZSTAC-81511 Host allocation restore the default +DELETE FROM `zstack`.`SystemTagVO` +WHERE `resourceType` = 'InstanceOfferingVO' + AND (tag LIKE 'minimumCPUUsageHostAllocatorStrategyMode::%' + OR tag LIKE 'minimumMemoryUsageHostAllocatorStrategyMode::%'); + +-- Fix PodGpuStatsVO unit: GpuDeviceVO.memory stores bytes, convert to MB +CREATE OR REPLACE VIEW PodGpuStatsVO AS +SELECT + p.uuid AS podUuid, + COUNT(g.uuid) AS gpuCount, + COALESCE(CAST(ROUND(AVG(g.memory) / 1048576) AS SIGNED), 0) AS avgAllocatedMb, + COALESCE(CAST(ROUND(SUM(g.memory) / 1048576) AS SIGNED), 0) AS totalGpuMemMb +FROM PodVO p + LEFT JOIN PciDeviceVO pci ON pci.vmInstanceUuid = p.uuid + LEFT JOIN GpuDeviceVO g ON g.uuid = pci.uuid +GROUP BY p.uuid; + +ALTER TABLE `zstack`.`AccessControlListEntryVO` ADD COLUMN `redirectPort` int(10) DEFAULT NULL; + +CALL ADD_COLUMN('GpuDeviceSpecVO', 'allocatorStrategy', 'varchar(32)', 1, NULL); +CALL ADD_COLUMN('MdevDeviceSpecVO', 'allocatorStrategy', 'varchar(32)', 1, NULL); + +UPDATE `zstack`.`GpuDeviceSpecVO` SET `allocatorStrategy` = 'FollowGlobal' WHERE `allocatorStrategy` IS NULL; +UPDATE `zstack`.`MdevDeviceSpecVO` SET `allocatorStrategy` = 'FollowGlobal' WHERE `allocatorStrategy` IS NULL; + +-- Add version column to ModelServiceVO (entity field was added without schema migration) +CALL ADD_COLUMN('ModelServiceVO', 'version', 'VARCHAR(255)', 1, NULL); + +-- Add packageVersion column to ApplicationDevelopmentServiceVO (ZSTAC-81309) +CALL ADD_COLUMN('ApplicationDevelopmentServiceVO', 'packageVersion', 'VARCHAR(255)', 1, NULL); + +-- Upgrade application development service version to readable format (e.g. dify:xxx -> 1.11.1 from installPath) +-- ModelServiceVO.version: extract x.y.z from installPath last segment (e.g. dify_1.11.1 -> 1.11.1) +-- ApplicationDevelopmentServiceVO.packageVersion: sync from ModelServiceVO.version when unreadable or null +DROP PROCEDURE IF EXISTS UpgradeApplicationDevelopmentServiceVersion; + +DELIMITER $$ + +CREATE PROCEDURE UpgradeApplicationDevelopmentServiceVersion() +BEGIN + DECLARE EXIT HANDLER FOR SQLEXCEPTION + BEGIN + ROLLBACK; + SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'UpgradeApplicationDevelopmentServiceVersion failed.'; + END; + + START TRANSACTION; + + -- 1. ModelServiceVO: set version to readable (x.y.z) extracted from installPath for App type with unreadable version + UPDATE `zstack`.`ModelServiceVO` + SET `version` = SUBSTRING_INDEX( + SUBSTRING_INDEX( + TRIM(TRAILING '/' FROM REPLACE(REPLACE(`installPath`, 'file://', ''), 'file:', '')), + '/', -1 + ), '_', -1 + ) + WHERE `type` = 'App' + AND (`version` LIKE '%:%' OR `version` IS NULL OR `version` = '') + AND `installPath` IS NOT NULL AND TRIM(`installPath`) != '' + AND SUBSTRING_INDEX( + SUBSTRING_INDEX( + TRIM(TRAILING '/' FROM REPLACE(REPLACE(`installPath`, 'file://', ''), 'file:', '')), + '/', -1 + ), '_', -1 + ) REGEXP '^[0-9]+\\.[0-9]+'; + + -- 2. ApplicationDevelopmentServiceVO.packageVersion: sync from linked ModelServiceVO.version (join on uuid - JPA TABLE_PER_CLASS inheritance) + UPDATE `zstack`.`ApplicationDevelopmentServiceVO` a + INNER JOIN `zstack`.`ModelServiceInstanceGroupVO` g ON a.`uuid` = g.`uuid` + INNER JOIN `zstack`.`ModelServiceVO` m ON g.`modelServiceUuid` = m.`uuid` + SET a.`packageVersion` = m.`version` + WHERE (a.`packageVersion` IS NULL OR a.`packageVersion` LIKE '%:%') + AND m.`version` IS NOT NULL AND TRIM(m.`version`) != ''; + + COMMIT; +END$$ + +DELIMITER ; +CALL UpgradeApplicationDevelopmentServiceVersion(); +DROP PROCEDURE IF EXISTS UpgradeApplicationDevelopmentServiceVersion; + +-- ZSTAC-82069: Clean up orphan GpuDeviceSpecVO records where parent spec type is not GPU +-- Root cause: ZSTAC-81489 fixed GPU detection on Agent side, but didn't handle cleanup of +-- stale GpuDeviceSpecVO records when device type changed from GPU to Generic. +-- GpuDeviceSpecVO is a child table of PciDeviceSpecVO using @PrimaryKeyJoinColumn inheritance. +-- Only GPU-type specs should have corresponding records in GpuDeviceSpecVO. +DELETE g FROM GpuDeviceSpecVO g +INNER JOIN PciDeviceSpecVO p ON g.uuid = p.uuid +WHERE p.type NOT IN ( + 'GPU_Video_Controller', + 'GPU_3D_Controller', + 'GPU_Processing_Accelerators', + 'GPU_Co_Processor', + 'GPU_Communication_Controller' +); + +-- ZSTAC-81566: Persist clusterId on ModelServiceInstanceVO to survive node restart +-- V5.3.22 may have already added this column as INT; ensure BIGINT to match Java Long type +CALL ADD_COLUMN('ModelServiceInstanceVO', 'clusterId', 'BIGINT', 1, NULL); + +DROP PROCEDURE IF EXISTS EnsureClusterIdBigint; +DELIMITER $$ +CREATE PROCEDURE EnsureClusterIdBigint() +BEGIN + DECLARE col_type VARCHAR(64); + SELECT DATA_TYPE INTO col_type + FROM `INFORMATION_SCHEMA`.`COLUMNS` + WHERE `TABLE_SCHEMA` = 'zstack' + AND `TABLE_NAME` = 'ModelServiceInstanceVO' + AND `COLUMN_NAME` = 'clusterId'; + + IF col_type = 'int' THEN + ALTER TABLE `zstack`.`ModelServiceInstanceVO` MODIFY COLUMN `clusterId` BIGINT NULL; + END IF; +END$$ +DELIMITER ; +CALL EnsureClusterIdBigint(); +DROP PROCEDURE IF EXISTS EnsureClusterIdBigint; + +-- Backfill existing data from PodVO +UPDATE ModelServiceInstanceVO msi +INNER JOIN PodVO p ON msi.vmInstanceUuid = p.uuid +SET msi.clusterId = p.clusterId +WHERE msi.clusterId IS NULL AND p.clusterId IS NOT NULL; + +-- Fix GPU allocateStatus for virtualized devices +-- Issue: Virtualized physical GPUs (with vGPUs generated) should show as Unallocatable, not Unallocated +-- This UPDATE is idempotent: WHERE clause ensures only incorrect statuses are updated +UPDATE `zstack`.`GpuDeviceVO` g +INNER JOIN `zstack`.`PciDeviceVO` p ON g.`uuid` = p.`uuid` +SET g.`allocateStatus` = 'Unallocatable' +WHERE p.`virtStatus` IN ('VFIO_MDEV_VIRTUALIZED', 'SRIOV_VIRTUALIZED') + AND p.`vmInstanceUuid` IS NULL + AND g.`allocateStatus` != 'Unallocatable'; diff --git a/conf/tools/flyway-6.3.1/sql/beforeMigrate.sql b/conf/tools/flyway-6.3.1/sql/beforeMigrate.sql new file mode 100755 index 00000000000..d53d98d8646 --- /dev/null +++ b/conf/tools/flyway-6.3.1/sql/beforeMigrate.sql @@ -0,0 +1,260 @@ +use zstack; + +DELIMITER $$ + +DROP FUNCTION IF EXISTS `Json_getKeyValue` $$ + +CREATE FUNCTION `Json_getKeyValue`( + in_JsonArray VARCHAR(4096), + in_KeyName VARCHAR(64) +) RETURNS VARCHAR(4096) CHARSET utf8 + +BEGIN + DECLARE vs_return, vs_JsonArray, vs_JsonString, vs_Json, vs_KeyName VARCHAR(4096); + DECLARE vi_pos1, vi_pos2 SMALLINT UNSIGNED; + + SET vs_JsonArray = TRIM(in_JsonArray); + SET vs_KeyName = TRIM(in_KeyName); + + IF vs_JsonArray = '' OR vs_JsonArray IS NULL + OR vs_KeyName = '' OR vs_KeyName IS NULL + THEN + SET vs_return = NULL; + ELSE + SET vs_JsonArray = REPLACE(REPLACE(vs_JsonArray, '[', ''), ']', ''); + SET vs_JsonString = CONCAT("'", vs_JsonArray, "'"); + SET vs_json = SUBSTRING_INDEX(SUBSTRING_INDEX(vs_JsonString,'}',1), '{', -1); + + IF vs_json = '' OR vs_json IS NULL THEN + SET vs_return = NULL; + ELSE + SET vs_KeyName = CONCAT('"', vs_KeyName, '":'); + SET vi_pos1 = INSTR(vs_json, vs_KeyName); + + IF vi_pos1 > 0 THEN + SET vi_pos1 = vi_pos1 + CHAR_LENGTH(vs_KeyName); + SET vi_pos2 = LOCATE('","', vs_json, vi_pos1); + + IF vi_pos2 = 0 THEN + SET vi_pos2 = CHAR_LENGTH(vs_json) + 1; + END IF; + + SET vs_return = REPLACE(MID(vs_json, vi_pos1, vi_pos2 - vi_pos1), '"', ''); + END IF; + END IF; + END IF; + RETURN(vs_return); +END$$ +DELIMITER ; + +SET FOREIGN_KEY_CHECKS = 0; + +DROP PROCEDURE IF EXISTS cleanupUsedIpVO; +DELIMITER $$ +CREATE PROCEDURE cleanupUsedIpVO() +BEGIN + DECLARE curUsedIpUuid VARCHAR(32); + DECLARE vipCount INT DEFAULT 0; + DECLARE vmNicCount INT DEFAULT 0; + DECLARE dhcpCount INT DEFAULT 0; + DECLARE done INT DEFAULT FALSE; + DECLARE cur CURSOR FOR SELECT uuid FROM `zstack`.`UsedIpVO` usedIp; + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; + OPEN cur; + read_loop: LOOP + FETCH cur INTO curUsedIpUuid; + IF done THEN + LEAVE read_loop; + END IF; + + SELECT COUNT(*) INTO vipCount FROM VipVO WHERE usedIpUuid = curUsedIpUuid; + IF (vipCount > 0) THEN + ITERATE read_loop; + END IF; + + SELECT COUNT(*) INTO vmNicCount FROM VmNicVO WHERE usedIpUuid = curUsedIpUuid; + IF (vmNicCount > 0) THEN + ITERATE read_loop; + END IF; + + SELECT COUNT(*) INTO dhcpCount FROM SystemTagVO WHERE resourceType='L3NetworkVO' + AND tag LIKE CONCAT('flatNetwork::DhcpServer::%::ipUuid::', curUsedIpUuid, '%'); + IF (dhcpCount > 0) THEN + ITERATE read_loop; + END IF; + + DELETE FROM UsedIpVO WHERE uuid = curUsedIpUuid; + END LOOP; + CLOSE cur; + SELECT CURTIME(); +END $$ +DELIMITER ; + +DROP PROCEDURE IF EXISTS `DELETE_INDEX`; + +DELIMITER $$ +CREATE PROCEDURE `DELETE_INDEX`( + IN tb_name VARCHAR(64), + IN idx_name VARCHAR(64) +) +DETERMINISTIC +READS SQL DATA +begin_label: BEGIN + IF idx_name = '' OR idx_name IS NULL THEN + LEAVE begin_label; + END IF; + + IF EXISTS ( SELECT * FROM information_schema.statistics + WHERE table_schema = DATABASE() + AND table_name = tb_name + AND index_name = idx_name ) THEN + SET @sql = CONCAT('ALTER TABLE ', tb_name, ' DROP INDEX ', idx_name); + PREPARE stmt FROM @sql; + EXECUTE stmt; + END IF; + + SELECT CURTIME(); +END$$ +DELIMITER ; + +DROP PROCEDURE IF EXISTS `CREATE_INDEX`; + +DELIMITER $$ +CREATE PROCEDURE `CREATE_INDEX`( + IN tb_name VARCHAR(64), + IN idx_name VARCHAR(64), + IN col_name VARCHAR(64) +) + DETERMINISTIC + READS SQL DATA +begin_label: BEGIN + IF idx_name = '' OR idx_name IS NULL THEN + LEAVE begin_label; + END IF; + + IF NOT EXISTS ( SELECT * FROM information_schema.statistics + WHERE table_schema = DATABASE() + AND table_name = tb_name + AND index_name = idx_name ) THEN + SET @sql = CONCAT('ALTER TABLE ', tb_name, ' ADD INDEX ', idx_name, ' (`', col_name, '`)'); + PREPARE stmt FROM @sql; + EXECUTE stmt; + END IF; + + SELECT CURTIME(); +END$$ +DELIMITER ; + +DROP PROCEDURE IF EXISTS `ADD_COLUMN`; + +DELIMITER $$ +CREATE PROCEDURE `ADD_COLUMN`( + IN tb_name VARCHAR(64), + IN col_name VARCHAR(64), + IN col_data_type VARCHAR(64), + IN allow_null BOOL, + IN default_value VARCHAR(255) +) +BEGIN + DECLARE alter_sql VARCHAR(1000); + IF NOT EXISTS( SELECT 1 + FROM INFORMATION_SCHEMA.COLUMNS + WHERE table_name = tb_name + AND table_schema = 'zstack' + AND column_name = col_name) THEN + SET @alter_sql = CONCAT('ALTER TABLE zstack.', tb_name, ' ADD COLUMN ', col_name, ' ', col_data_type); + IF NOT allow_null THEN + SET @alter_sql = CONCAT(@alter_sql, ' NOT NULL'); + END IF; + IF default_value IS NOT NULL THEN + SET @alter_sql = CONCAT(@alter_sql, ' DEFAULT ''', default_value, ''''); + ELSE + SET @alter_sql = CONCAT(@alter_sql, ' DEFAULT NULL'); + END IF; + SELECT @alter_sql; + PREPARE stmt FROM @alter_sql; + EXECUTE stmt; + DEALLOCATE PREPARE stmt; + END IF; + +SELECT CURTIME(); +END$$ +DELIMITER ; + +DROP PROCEDURE IF EXISTS `ADD_CONSTRAINT`; + +DELIMITER $$ +CREATE PROCEDURE `ADD_CONSTRAINT`( + IN tb_name VARCHAR(64), + IN cons_name VARCHAR(255), + IN references_col VARCHAR(64), + IN referencing_table VARCHAR(64), + IN referencing_col VARCHAR(64), + IN on_delete VARCHAR(64) +) +BEGIN + DECLARE alter_sql VARCHAR(1000); + IF NOT EXISTS( SELECT 1 + FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS + WHERE table_name = tb_name + AND table_schema = 'zstack' + AND CONSTRAINT_NAME = cons_name) THEN + SET @alter_sql = CONCAT('ALTER TABLE zstack.', tb_name, ' ADD CONSTRAINT ', cons_name, + ' FOREIGN KEY (', references_col, ') REFERENCES ', 'zstack.', referencing_table, ' (', referencing_col, + ') ON DELETE ', on_delete); + SELECT @alter_sql; + PREPARE stmt FROM @alter_sql; + EXECUTE stmt; + DEALLOCATE PREPARE stmt; + END IF; + +SELECT CURTIME(); +END$$ +DELIMITER ; + +DROP PROCEDURE IF EXISTS `DROP_COLUMN`; +DELIMITER $$ +CREATE PROCEDURE `DROP_COLUMN`( + IN tb_name VARCHAR(64), + IN col_name VARCHAR(64) +) +BEGIN + DECLARE alter_sql VARCHAR(1000); + IF EXISTS( SELECT NULL + FROM INFORMATION_SCHEMA.COLUMNS + WHERE table_name = tb_name + AND table_schema = 'zstack' + AND column_name = col_name) THEN + SET @alter_sql = CONCAT('ALTER TABLE zstack.', tb_name, ' DROP ', col_name); + SELECT @alter_sql; + PREPARE stmt FROM @alter_sql; + EXECUTE stmt; + DEALLOCATE PREPARE stmt; + END IF; + +SELECT CURTIME(); +END$$ +DELIMITER ; + +DROP PROCEDURE IF EXISTS `RENAME_TABLE`; +DELIMITER $$ +CREATE PROCEDURE `RENAME_TABLE`( + IN old_name VARCHAR(64), + IN new_name VARCHAR(64) +) +BEGIN + DECLARE alter_sql VARCHAR(1000); + IF EXISTS( SELECT NULL + FROM INFORMATION_SCHEMA.TABLES + WHERE table_name = old_name + AND table_schema = 'zstack') THEN + SET @alter_sql = CONCAT('RENAME TABLE zstack.', old_name, ' TO ', new_name); + SELECT @alter_sql; + PREPARE stmt FROM @alter_sql; + EXECUTE stmt; + DEALLOCATE PREPARE stmt; + END IF; + + SELECT CURTIME(); +END$$ +DELIMITER ; \ No newline at end of file diff --git a/conf/web.xml b/conf/web.xml index 26867d09831..6fcf2cfba17 100755 --- a/conf/web.xml +++ b/conf/web.xml @@ -1,7 +1,7 @@ - @@ -45,17 +45,7 @@ /static/* - - UrlRewriteFilter - org.tuckey.web.filters.urlrewrite.UrlRewriteFilter - true - - - UrlRewriteFilter - /static/pypi/* - REQUEST - FORWARD - + diff --git a/conf/zstack.xml b/conf/zstack.xml index c0a5da2a80f..e0ff8cf56d8 100755 --- a/conf/zstack.xml +++ b/conf/zstack.xml @@ -120,6 +120,6 @@ - + diff --git a/configuration/pom.xml b/configuration/pom.xml index d8e7e387489..2821b90f5f3 100755 --- a/configuration/pom.xml +++ b/configuration/pom.xml @@ -1,109 +1,135 @@ - - 4.0.0 - - zstack - org.zstack + + 4.0.0 + + zstack + org.zstack 5.5.0 - .. - - configuration - - - org.zstack - core - ${project.version} - - - org.zstack - utils - ${project.version} - - - org.zstack - header - ${project.version} - - - org.zstack - search - ${project.version} - - - org.zstack - tag - ${project.version} - - - org.zstack - identity - ${project.version} - - - - commons-codec - commons-codec - 1.15 - - - - - - org.apache.maven.plugins - maven-compiler-plugin - ${project.compiler.version} - - groovy-eclipse-compiler - ${project.java.version} - ${project.java.version} - lines,vars,source - true - - - - org.codehaus.groovy - groovy-eclipse-compiler - ${groovy.eclipse.compiler} - - - org.codehaus.groovy - groovy-eclipse-batch - ${groovy.eclipse.batch} - - - - - org.codehaus.mojo - aspectj-maven-plugin - ${aspectj.plugin.version} - - - - compile - test-compile - - - - - ${project.java.version} - ${project.java.version} - ${project.java.version} - true - - - org.springframework - spring-aspects - - - org.zstack - core - - - org.zstack - header - - - - - - - + .. + + configuration + + + org.zstack + core + ${project.version} + + + org.zstack + utils + ${project.version} + + + org.zstack + header + ${project.version} + + + org.zstack + search + ${project.version} + + + org.zstack + tag + ${project.version} + + + org.zstack + identity + ${project.version} + + + + commons-codec + commons-codec + 1.15 + + + + + + org.apache.maven.plugins + maven-compiler-plugin + ${project.compiler.version} + + ${project.java.version} + ${project.java.version} + lines,vars,source + true + + + + org.codehaus.gmavenplus + gmavenplus-plugin + 3.0.2 + + + + ${project.basedir}/src/main/java + + **/*.groovy + + + + + + + groovy-stubs + generateStubsremoveStubs + + + groovy-compile + compile + + + + + org.apache.groovy + groovy + ${groovy.version} + + + + + dev.aspectj + aspectj-maven-plugin + ${aspectj.plugin.version} + + + org.aspectj + aspectjtools + ${aspectj.version} + + + + + + compile + test-compile + + + + + ${project.java.version} + ${project.java.version} + ${project.java.version} + true + + + org.springframework + spring-aspects + + + org.zstack + core + + + org.zstack + header + + + + + + + diff --git a/configuration/src/main/java/org/zstack/configuration/ConfigurationManagerImpl.java b/configuration/src/main/java/org/zstack/configuration/ConfigurationManagerImpl.java index ad0aa1efb24..132cf700a43 100755 --- a/configuration/src/main/java/org/zstack/configuration/ConfigurationManagerImpl.java +++ b/configuration/src/main/java/org/zstack/configuration/ConfigurationManagerImpl.java @@ -54,8 +54,8 @@ import org.zstack.utils.logging.CLogger; import org.zstack.utils.path.PathUtil; -import javax.persistence.Column; -import javax.persistence.Entity; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; import java.io.File; import java.io.IOException; import java.lang.reflect.Field; diff --git a/configuration/src/main/java/org/zstack/configuration/DiskOfferingCascadeExtension.java b/configuration/src/main/java/org/zstack/configuration/DiskOfferingCascadeExtension.java index 1e2a69fbfd3..e4db07cd0d4 100755 --- a/configuration/src/main/java/org/zstack/configuration/DiskOfferingCascadeExtension.java +++ b/configuration/src/main/java/org/zstack/configuration/DiskOfferingCascadeExtension.java @@ -22,7 +22,7 @@ import org.zstack.utils.function.Function; import org.zstack.utils.logging.CLogger; -import javax.persistence.TypedQuery; +import jakarta.persistence.TypedQuery; import java.util.ArrayList; import java.util.Arrays; import java.util.List; diff --git a/configuration/src/main/java/org/zstack/configuration/InstanceOfferingCascadeExtension.java b/configuration/src/main/java/org/zstack/configuration/InstanceOfferingCascadeExtension.java index f2737aa7f23..7a3d800a188 100755 --- a/configuration/src/main/java/org/zstack/configuration/InstanceOfferingCascadeExtension.java +++ b/configuration/src/main/java/org/zstack/configuration/InstanceOfferingCascadeExtension.java @@ -22,7 +22,7 @@ import org.zstack.utils.function.Function; import org.zstack.utils.logging.CLogger; -import javax.persistence.TypedQuery; +import jakarta.persistence.TypedQuery; import java.util.ArrayList; import java.util.Arrays; import java.util.List; diff --git a/configuration/src/main/java/org/zstack/configuration/SqlForeignKeyGenerator.java b/configuration/src/main/java/org/zstack/configuration/SqlForeignKeyGenerator.java index 3cdd9919001..41ec9e60290 100755 --- a/configuration/src/main/java/org/zstack/configuration/SqlForeignKeyGenerator.java +++ b/configuration/src/main/java/org/zstack/configuration/SqlForeignKeyGenerator.java @@ -14,8 +14,8 @@ import org.zstack.utils.logging.CLogger; import org.zstack.utils.path.PathUtil; -import javax.persistence.Entity; -import javax.persistence.Id; +import jakarta.persistence.Entity; +import jakarta.persistence.Id; import java.io.File; import java.io.IOException; import java.lang.reflect.Field; diff --git a/configuration/src/main/java/org/zstack/configuration/SqlIndexGenerator.java b/configuration/src/main/java/org/zstack/configuration/SqlIndexGenerator.java index 050517b6bdc..ab2d251ecab 100755 --- a/configuration/src/main/java/org/zstack/configuration/SqlIndexGenerator.java +++ b/configuration/src/main/java/org/zstack/configuration/SqlIndexGenerator.java @@ -12,7 +12,7 @@ import org.zstack.utils.logging.CLogger; import org.zstack.utils.path.PathUtil; -import javax.persistence.Entity; +import jakarta.persistence.Entity; import java.io.File; import java.io.IOException; import java.lang.reflect.Field; diff --git a/configuration/src/main/java/org/zstack/configuration/TestLinkDocumentGenerator.java b/configuration/src/main/java/org/zstack/configuration/TestLinkDocumentGenerator.java index 74549d8dc4b..d3b3d7f2d11 100755 --- a/configuration/src/main/java/org/zstack/configuration/TestLinkDocumentGenerator.java +++ b/configuration/src/main/java/org/zstack/configuration/TestLinkDocumentGenerator.java @@ -9,10 +9,10 @@ import org.zstack.utils.logging.CLogger; import org.zstack.utils.path.PathUtil; -import javax.xml.bind.JAXBContext; -import javax.xml.bind.JAXBException; -import javax.xml.bind.Marshaller; -import javax.xml.bind.Unmarshaller; +import jakarta.xml.bind.JAXBContext; +import jakarta.xml.bind.JAXBException; +import jakarta.xml.bind.Marshaller; +import jakarta.xml.bind.Unmarshaller; import java.io.File; import java.io.IOException; import java.net.URL; diff --git a/configuration/src/main/java/org/zstack/configuration/testlink/schema/ObjectFactory.java b/configuration/src/main/java/org/zstack/configuration/testlink/schema/ObjectFactory.java index 399e6403037..c9f0e6bbcc5 100755 --- a/configuration/src/main/java/org/zstack/configuration/testlink/schema/ObjectFactory.java +++ b/configuration/src/main/java/org/zstack/configuration/testlink/schema/ObjectFactory.java @@ -8,7 +8,7 @@ package org.zstack.configuration.testlink.schema; -import javax.xml.bind.annotation.XmlRegistry; +import jakarta.xml.bind.annotation.XmlRegistry; /** diff --git a/configuration/src/main/java/org/zstack/configuration/testlink/schema/RequirementCategory.java b/configuration/src/main/java/org/zstack/configuration/testlink/schema/RequirementCategory.java index 846c0b84c5e..cdf3e2aeb94 100755 --- a/configuration/src/main/java/org/zstack/configuration/testlink/schema/RequirementCategory.java +++ b/configuration/src/main/java/org/zstack/configuration/testlink/schema/RequirementCategory.java @@ -8,7 +8,7 @@ package org.zstack.configuration.testlink.schema; -import javax.xml.bind.annotation.*; +import jakarta.xml.bind.annotation.*; import java.util.ArrayList; import java.util.List; diff --git a/configuration/src/main/java/org/zstack/configuration/testlink/schema/RequirementSpecification.java b/configuration/src/main/java/org/zstack/configuration/testlink/schema/RequirementSpecification.java index 91c81e4dee9..d36e192b09e 100755 --- a/configuration/src/main/java/org/zstack/configuration/testlink/schema/RequirementSpecification.java +++ b/configuration/src/main/java/org/zstack/configuration/testlink/schema/RequirementSpecification.java @@ -8,7 +8,7 @@ package org.zstack.configuration.testlink.schema; -import javax.xml.bind.annotation.*; +import jakarta.xml.bind.annotation.*; import java.util.ArrayList; import java.util.List; diff --git a/configuration/src/main/java/org/zstack/configuration/testlink/schema/package-info.java b/configuration/src/main/java/org/zstack/configuration/testlink/schema/package-info.java index 7dad968e1ab..f575bed25ed 100755 --- a/configuration/src/main/java/org/zstack/configuration/testlink/schema/package-info.java +++ b/configuration/src/main/java/org/zstack/configuration/testlink/schema/package-info.java @@ -5,5 +5,5 @@ // Generated on: 2013.04.17 at 11:28:57 PM PDT // -@javax.xml.bind.annotation.XmlSchema(namespace = "http://zstack.org/schema/zstack", elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED) +@jakarta.xml.bind.annotation.XmlSchema(namespace = "http://zstack.org/schema/zstack", elementFormDefault = jakarta.xml.bind.annotation.XmlNsForm.QUALIFIED) package org.zstack.configuration.testlink.schema; diff --git a/console/pom.xml b/console/pom.xml index 48ea5bcd42c..6fed7216f3b 100755 --- a/console/pom.xml +++ b/console/pom.xml @@ -19,29 +19,55 @@ maven-compiler-plugin ${project.compiler.version} - groovy-eclipse-compiler ${project.java.version} ${project.java.version} lines,vars,source true - - - org.codehaus.groovy - groovy-eclipse-compiler - ${groovy.eclipse.compiler} - - - org.codehaus.groovy - groovy-eclipse-batch - ${groovy.eclipse.batch} - - - org.codehaus.mojo + org.codehaus.gmavenplus + gmavenplus-plugin + 3.0.2 + + + + ${project.basedir}/src/main/java + + **/*.groovy + + + + + + + groovy-stubs + generateStubsremoveStubs + + + groovy-compile + compile + + + + + org.apache.groovy + groovy + ${groovy.version} + + + + + dev.aspectj aspectj-maven-plugin ${aspectj.plugin.version} + + + org.aspectj + aspectjtools + ${aspectj.version} + + diff --git a/console/src/main/java/org/zstack/console/AbstractConsoleProxyBackend.java b/console/src/main/java/org/zstack/console/AbstractConsoleProxyBackend.java index c9091daac28..81b2cf4f932 100755 --- a/console/src/main/java/org/zstack/console/AbstractConsoleProxyBackend.java +++ b/console/src/main/java/org/zstack/console/AbstractConsoleProxyBackend.java @@ -43,7 +43,7 @@ import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; -import javax.persistence.TypedQuery; +import jakarta.persistence.TypedQuery; import java.util.List; import java.util.Map; import java.util.concurrent.TimeUnit; diff --git a/console/src/main/java/org/zstack/console/ConsoleManagerImpl.java b/console/src/main/java/org/zstack/console/ConsoleManagerImpl.java index 67057da171d..64f1b747b63 100755 --- a/console/src/main/java/org/zstack/console/ConsoleManagerImpl.java +++ b/console/src/main/java/org/zstack/console/ConsoleManagerImpl.java @@ -32,7 +32,7 @@ import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; -import javax.persistence.Query; +import jakarta.persistence.Query; import java.util.HashMap; import java.util.Map; diff --git a/core/pom.xml b/core/pom.xml index 0ab8bb020f0..0fccf3cb8d8 100644 --- a/core/pom.xml +++ b/core/pom.xml @@ -11,6 +11,10 @@ core core library for zstack + + com.zaxxer + HikariCP + org.zstack utils @@ -27,9 +31,9 @@ 2.4.0 - javax.servlet - javax.servlet-api - 3.1.0 + jakarta.servlet + jakarta.servlet-api + provided @@ -60,24 +64,21 @@ org.aspectj aspectjweaver - - com.mchange - c3p0 - com.mysql mysql-connector-j - org.hibernate.javax.persistence - hibernate-jpa-2.1-api + jakarta.persistence + jakarta.persistence-api - org.hibernate - hibernate-entitymanager + jakarta.annotation + jakarta.annotation-api + - org.hibernate + org.hibernate.orm hibernate-core @@ -201,29 +202,55 @@ maven-compiler-plugin ${project.compiler.version} - groovy-eclipse-compiler ${project.java.version} ${project.java.version} lines,vars,source true - - - org.codehaus.groovy - groovy-eclipse-compiler - ${groovy.eclipse.compiler} - - - org.codehaus.groovy - groovy-eclipse-batch - ${groovy.eclipse.batch} - - - org.codehaus.mojo + org.codehaus.gmavenplus + gmavenplus-plugin + 3.0.2 + + + + ${project.basedir}/src/main/java + + **/*.groovy + + + + + + + groovy-stubs + generateStubsremoveStubs + + + groovy-compile + compile + + + + + org.apache.groovy + groovy + ${groovy.version} + + + + + dev.aspectj aspectj-maven-plugin ${aspectj.plugin.version} + + + org.aspectj + aspectjtools + ${aspectj.version} + + diff --git a/core/src/main/java/org/zstack/core/Platform.java b/core/src/main/java/org/zstack/core/Platform.java index 5cff425e3da..9ca0b5bd91e 100755 --- a/core/src/main/java/org/zstack/core/Platform.java +++ b/core/src/main/java/org/zstack/core/Platform.java @@ -477,6 +477,7 @@ private static void prepareHibernateSearchProperties() { } static { + if (!"true".equals(System.getProperty("zstack.skipPlatformInit"))) { FileInputStream in = null; try { Set baseResourceClasses = reflections.getTypesAnnotatedWith(BaseResource.class).stream() @@ -522,6 +523,7 @@ private static void prepareHibernateSearchProperties() { } } } + } // end skipPlatformInit guard } private static void collectDynamicObjectMetadata() { diff --git a/core/src/main/java/org/zstack/core/aspect/EncryptColumnAspect.aj b/core/src/main/java/org/zstack/core/aspect/EncryptColumnAspect.aj index 53cdf8abae2..6b289a5eae7 100644 --- a/core/src/main/java/org/zstack/core/aspect/EncryptColumnAspect.aj +++ b/core/src/main/java/org/zstack/core/aspect/EncryptColumnAspect.aj @@ -9,7 +9,7 @@ import org.zstack.header.vo.ResourceVO; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; -import javax.persistence.EntityManager; +import jakarta.persistence.EntityManager; /** * @Author: DaoDao diff --git a/core/src/main/java/org/zstack/core/captcha/APIRefreshCaptchaMsg.java b/core/src/main/java/org/zstack/core/captcha/APIRefreshCaptchaMsg.java index 11d257dfe41..28b5eca390e 100644 --- a/core/src/main/java/org/zstack/core/captcha/APIRefreshCaptchaMsg.java +++ b/core/src/main/java/org/zstack/core/captcha/APIRefreshCaptchaMsg.java @@ -13,7 +13,7 @@ @SuppressCredentialCheck @RestRequest( path = "/captcha/refresh", - method = HttpMethod.GET, + method = "GET", responseClass = APIRefreshCaptchaReply.class ) public class APIRefreshCaptchaMsg extends APISyncCallMessage { 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..131711666a9 100644 --- a/core/src/main/java/org/zstack/core/captcha/CaptchaImpl.java +++ b/core/src/main/java/org/zstack/core/captcha/CaptchaImpl.java @@ -24,7 +24,7 @@ import org.zstack.utils.logging.CLogger; import javax.imageio.ImageIO; -import javax.persistence.Query; +import jakarta.persistence.Query; import java.awt.*; import java.io.ByteArrayOutputStream; import java.io.FileNotFoundException; diff --git a/core/src/main/java/org/zstack/core/checkpoint/CheckPointEntryVO.java b/core/src/main/java/org/zstack/core/checkpoint/CheckPointEntryVO.java index 11f73ce582b..03b61c5c4f8 100755 --- a/core/src/main/java/org/zstack/core/checkpoint/CheckPointEntryVO.java +++ b/core/src/main/java/org/zstack/core/checkpoint/CheckPointEntryVO.java @@ -1,6 +1,6 @@ package org.zstack.core.checkpoint; -import javax.persistence.*; +import jakarta.persistence.*; @Entity @Table(name="check_point_entry") diff --git a/core/src/main/java/org/zstack/core/checkpoint/CheckPointEntryVO_.java b/core/src/main/java/org/zstack/core/checkpoint/CheckPointEntryVO_.java index 0fbc0d348d0..eb7487fee94 100755 --- a/core/src/main/java/org/zstack/core/checkpoint/CheckPointEntryVO_.java +++ b/core/src/main/java/org/zstack/core/checkpoint/CheckPointEntryVO_.java @@ -1,7 +1,7 @@ package org.zstack.core.checkpoint; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; @StaticMetamodel(CheckPointEntryVO.class) public class CheckPointEntryVO_ { diff --git a/core/src/main/java/org/zstack/core/checkpoint/CheckPointVO.java b/core/src/main/java/org/zstack/core/checkpoint/CheckPointVO.java index 54b301bbf10..64b0215c5bb 100755 --- a/core/src/main/java/org/zstack/core/checkpoint/CheckPointVO.java +++ b/core/src/main/java/org/zstack/core/checkpoint/CheckPointVO.java @@ -2,7 +2,7 @@ import org.zstack.header.vo.Uuid; -import javax.persistence.*; +import jakarta.persistence.*; import java.util.Date; @Entity diff --git a/core/src/main/java/org/zstack/core/checkpoint/CheckPointVO_.java b/core/src/main/java/org/zstack/core/checkpoint/CheckPointVO_.java index 2eb22b4562a..382435f1bce 100755 --- a/core/src/main/java/org/zstack/core/checkpoint/CheckPointVO_.java +++ b/core/src/main/java/org/zstack/core/checkpoint/CheckPointVO_.java @@ -1,7 +1,7 @@ package org.zstack.core.checkpoint; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.util.Date; @StaticMetamodel(CheckPointEntryVO.class) 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..1249b62d9c7 100755 --- a/core/src/main/java/org/zstack/core/cloudbus/CloudBus.java +++ b/core/src/main/java/org/zstack/core/cloudbus/CloudBus.java @@ -8,7 +8,7 @@ import org.zstack.header.exception.CloudConfigureFailException; import org.zstack.header.message.*; -import javax.servlet.http.HttpServletResponse; +import jakarta.servlet.http.HttpServletResponse; import java.util.List; import java.util.function.Consumer; diff --git a/core/src/main/java/org/zstack/core/cloudbus/CloudBusController.java b/core/src/main/java/org/zstack/core/cloudbus/CloudBusController.java index 5b32f20dbab..06f35cfca26 100755 --- a/core/src/main/java/org/zstack/core/cloudbus/CloudBusController.java +++ b/core/src/main/java/org/zstack/core/cloudbus/CloudBusController.java @@ -10,8 +10,8 @@ import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; import java.util.Enumeration; @Controller 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..ab3921a48a2 100755 --- a/core/src/main/java/org/zstack/core/cloudbus/CloudBusImpl3.java +++ b/core/src/main/java/org/zstack/core/cloudbus/CloudBusImpl3.java @@ -67,7 +67,7 @@ import org.zstack.utils.gson.JSONObjectUtil; import org.zstack.utils.logging.CLogger; -import javax.servlet.http.HttpServletResponse; +import jakarta.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; diff --git a/core/src/main/java/org/zstack/core/config/APIGetGlobalConfigOptionsMsg.java b/core/src/main/java/org/zstack/core/config/APIGetGlobalConfigOptionsMsg.java index 147bbae5ea8..461b75b7431 100644 --- a/core/src/main/java/org/zstack/core/config/APIGetGlobalConfigOptionsMsg.java +++ b/core/src/main/java/org/zstack/core/config/APIGetGlobalConfigOptionsMsg.java @@ -7,7 +7,7 @@ @RestRequest( path = "/global-configurations/{category}/{name}", - method = HttpMethod.GET, + method = "GET", responseClass = APIGetGlobalConfigOptionsReply.class ) public class APIGetGlobalConfigOptionsMsg extends APISyncCallMessage { diff --git a/core/src/main/java/org/zstack/core/config/APIGetGuestOsMetadataMsg.java b/core/src/main/java/org/zstack/core/config/APIGetGuestOsMetadataMsg.java index 4db8293e379..852293560e4 100644 --- a/core/src/main/java/org/zstack/core/config/APIGetGuestOsMetadataMsg.java +++ b/core/src/main/java/org/zstack/core/config/APIGetGuestOsMetadataMsg.java @@ -6,7 +6,7 @@ @RestRequest( path = "/guest-os/metadata", - method = HttpMethod.GET, + method = "GET", responseClass = APIGetGuestOsMetadataReply.class ) public class APIGetGuestOsMetadataMsg extends APISyncCallMessage { diff --git a/core/src/main/java/org/zstack/core/config/APIQueryGlobalConfigMsg.java b/core/src/main/java/org/zstack/core/config/APIQueryGlobalConfigMsg.java index 4dff4bbbf13..9cd5f2fad56 100755 --- a/core/src/main/java/org/zstack/core/config/APIQueryGlobalConfigMsg.java +++ b/core/src/main/java/org/zstack/core/config/APIQueryGlobalConfigMsg.java @@ -16,7 +16,7 @@ @Action(category = "configuration", names = {"read"}) @RestRequest( path = "/global-configurations", - method = HttpMethod.GET, + method = "GET", responseClass = APIQueryGlobalConfigReply.class ) public class APIQueryGlobalConfigMsg extends APIQueryMessage { diff --git a/core/src/main/java/org/zstack/core/config/APIRefreshGuestOsMetadataMsg.java b/core/src/main/java/org/zstack/core/config/APIRefreshGuestOsMetadataMsg.java index 33bec530c3c..3d4656db247 100644 --- a/core/src/main/java/org/zstack/core/config/APIRefreshGuestOsMetadataMsg.java +++ b/core/src/main/java/org/zstack/core/config/APIRefreshGuestOsMetadataMsg.java @@ -10,7 +10,7 @@ @RestRequest( path = "/guest-os/metadata/actions", isAction = true, - method = HttpMethod.PUT, + method = "PUT", responseClass = APIRefreshGuestOsMetadataEvent.class ) public class APIRefreshGuestOsMetadataMsg extends APIMessage { diff --git a/core/src/main/java/org/zstack/core/config/APIResetGlobalConfigMsg.java b/core/src/main/java/org/zstack/core/config/APIResetGlobalConfigMsg.java index 1e1bb6218ff..143da62a721 100644 --- a/core/src/main/java/org/zstack/core/config/APIResetGlobalConfigMsg.java +++ b/core/src/main/java/org/zstack/core/config/APIResetGlobalConfigMsg.java @@ -7,7 +7,7 @@ @RestRequest( path = "/global-configurations/actions", - method = HttpMethod.PUT, + method = "PUT", isAction = true, responseClass = APIResetGlobalConfigEvent.class ) diff --git a/core/src/main/java/org/zstack/core/config/APIUpdateGlobalConfigMsg.java b/core/src/main/java/org/zstack/core/config/APIUpdateGlobalConfigMsg.java index 60d9a84c744..9341fb207d6 100755 --- a/core/src/main/java/org/zstack/core/config/APIUpdateGlobalConfigMsg.java +++ b/core/src/main/java/org/zstack/core/config/APIUpdateGlobalConfigMsg.java @@ -8,7 +8,7 @@ @RestRequest( path = "/global-configurations/{category}/{name}/actions", - method = HttpMethod.PUT, + method = "PUT", isAction = true, responseClass = APIUpdateGlobalConfigEvent.class ) 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..4e7a4cbdfb9 100755 --- a/core/src/main/java/org/zstack/core/config/GlobalConfigFacadeImpl.java +++ b/core/src/main/java/org/zstack/core/config/GlobalConfigFacadeImpl.java @@ -31,9 +31,9 @@ import org.zstack.utils.logging.CLogger; import org.zstack.utils.path.PathUtil; -import javax.xml.bind.JAXBContext; -import javax.xml.bind.JAXBException; -import javax.xml.bind.Unmarshaller; +import jakarta.xml.bind.JAXBContext; +import jakarta.xml.bind.JAXBException; +import jakarta.xml.bind.Unmarshaller; import java.io.File; import java.lang.reflect.Array; import java.lang.reflect.Field; diff --git a/core/src/main/java/org/zstack/core/config/GlobalConfigVO.java b/core/src/main/java/org/zstack/core/config/GlobalConfigVO.java index 7cd22e86c61..e0531cbe69b 100755 --- a/core/src/main/java/org/zstack/core/config/GlobalConfigVO.java +++ b/core/src/main/java/org/zstack/core/config/GlobalConfigVO.java @@ -1,6 +1,6 @@ package org.zstack.core.config; -import javax.persistence.*; +import jakarta.persistence.*; @Entity @Table diff --git a/core/src/main/java/org/zstack/core/config/GlobalConfigVO_.java b/core/src/main/java/org/zstack/core/config/GlobalConfigVO_.java index f5de53730d2..306f8cff00b 100755 --- a/core/src/main/java/org/zstack/core/config/GlobalConfigVO_.java +++ b/core/src/main/java/org/zstack/core/config/GlobalConfigVO_.java @@ -1,7 +1,7 @@ package org.zstack.core.config; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; @StaticMetamodel(GlobalConfigVO.class) public class GlobalConfigVO_ { diff --git a/core/src/main/java/org/zstack/core/config/GuestOsHelper.java b/core/src/main/java/org/zstack/core/config/GuestOsHelper.java index 277482b60c6..3158c234f3c 100644 --- a/core/src/main/java/org/zstack/core/config/GuestOsHelper.java +++ b/core/src/main/java/org/zstack/core/config/GuestOsHelper.java @@ -15,8 +15,8 @@ import org.zstack.header.image.GuestOsCategoryVO_; import org.zstack.utils.path.PathUtil; -import javax.xml.bind.JAXBContext; -import javax.xml.bind.Unmarshaller; +import jakarta.xml.bind.JAXBContext; +import jakarta.xml.bind.Unmarshaller; import java.io.File; import java.util.ArrayList; import java.util.List; diff --git a/core/src/main/java/org/zstack/core/config/package-info.java b/core/src/main/java/org/zstack/core/config/package-info.java index fdf7bf7b823..3c7b4fb489c 100755 --- a/core/src/main/java/org/zstack/core/config/package-info.java +++ b/core/src/main/java/org/zstack/core/config/package-info.java @@ -5,5 +5,5 @@ // Generated on: 2013.02.22 at 06:08:17 PM PST // -@javax.xml.bind.annotation.XmlSchema(namespace = "http://zstack.org/schema/zstack", elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED) +@jakarta.xml.bind.annotation.XmlSchema(namespace = "http://zstack.org/schema/zstack", elementFormDefault = jakarta.xml.bind.annotation.XmlNsForm.QUALIFIED) package org.zstack.core.config; diff --git a/core/src/main/java/org/zstack/core/config/schema/GlobalConfig.java b/core/src/main/java/org/zstack/core/config/schema/GlobalConfig.java index 11f4cbe4cc1..fda88c722fb 100755 --- a/core/src/main/java/org/zstack/core/config/schema/GlobalConfig.java +++ b/core/src/main/java/org/zstack/core/config/schema/GlobalConfig.java @@ -10,11 +10,11 @@ import java.util.ArrayList; import java.util.List; -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 jakarta.xml.bind.annotation.XmlAccessType; +import jakarta.xml.bind.annotation.XmlAccessorType; +import jakarta.xml.bind.annotation.XmlElement; +import jakarta.xml.bind.annotation.XmlRootElement; +import jakarta.xml.bind.annotation.XmlType; /** 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..632418746ec 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,7 @@ import org.zstack.header.image.ImagePlatform; -import javax.xml.bind.annotation.*; +import jakarta.xml.bind.annotation.*; 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..17fd44a639f 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,6 @@ package org.zstack.core.config.schema; -import javax.xml.bind.annotation.*; +import jakarta.xml.bind.annotation.*; import java.io.Serializable; import java.util.List; diff --git a/core/src/main/java/org/zstack/core/config/schema/ObjectFactory.java b/core/src/main/java/org/zstack/core/config/schema/ObjectFactory.java index 604c5ecc26c..6bf4a166ba6 100755 --- a/core/src/main/java/org/zstack/core/config/schema/ObjectFactory.java +++ b/core/src/main/java/org/zstack/core/config/schema/ObjectFactory.java @@ -8,7 +8,7 @@ package org.zstack.core.config.schema; -import javax.xml.bind.annotation.XmlRegistry; +import jakarta.xml.bind.annotation.XmlRegistry; /** diff --git a/core/src/main/java/org/zstack/core/config/schema/package-info.java b/core/src/main/java/org/zstack/core/config/schema/package-info.java index 198fbe8e19e..8f79eec9a4d 100755 --- a/core/src/main/java/org/zstack/core/config/schema/package-info.java +++ b/core/src/main/java/org/zstack/core/config/schema/package-info.java @@ -5,5 +5,5 @@ // Generated on: 2014.03.02 at 01:27:06 PM GMT-08:00 // -@javax.xml.bind.annotation.XmlSchema(namespace = "http://zstack.org/schema/zstack", elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED) +@jakarta.xml.bind.annotation.XmlSchema(namespace = "http://zstack.org/schema/zstack", elementFormDefault = jakarta.xml.bind.annotation.XmlNsForm.QUALIFIED) package org.zstack.core.config.schema; diff --git a/core/src/main/java/org/zstack/core/convert/PasswordConverter.java b/core/src/main/java/org/zstack/core/convert/PasswordConverter.java index 04a122c278c..2e525abd083 100644 --- a/core/src/main/java/org/zstack/core/convert/PasswordConverter.java +++ b/core/src/main/java/org/zstack/core/convert/PasswordConverter.java @@ -11,8 +11,8 @@ import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; -import javax.persistence.AttributeConverter; -import javax.persistence.Converter; +import jakarta.persistence.AttributeConverter; +import jakarta.persistence.Converter; /** * Created by kayo on 2018/9/7. diff --git a/core/src/main/java/org/zstack/core/convert/SpecialDataConverter.java b/core/src/main/java/org/zstack/core/convert/SpecialDataConverter.java index ad63a9ef87e..28cfe2007b0 100644 --- a/core/src/main/java/org/zstack/core/convert/SpecialDataConverter.java +++ b/core/src/main/java/org/zstack/core/convert/SpecialDataConverter.java @@ -11,8 +11,8 @@ import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; -import javax.persistence.AttributeConverter; -import javax.persistence.Converter; +import jakarta.persistence.AttributeConverter; +import jakarta.persistence.Converter; import java.util.regex.Matcher; import java.util.regex.Pattern; diff --git a/core/src/main/java/org/zstack/core/db/C3p0ConnectionTester.java b/core/src/main/java/org/zstack/core/db/C3p0ConnectionTester.java deleted file mode 100755 index 1b8ac419ff3..00000000000 --- a/core/src/main/java/org/zstack/core/db/C3p0ConnectionTester.java +++ /dev/null @@ -1,10 +0,0 @@ -package org.zstack.core.db; - -import com.mchange.v2.c3p0.util.IsValidOnlyConnectionTester; - -public class C3p0ConnectionTester extends IsValidOnlyConnectionTester { - @Override - protected int getIsValidTimeout() { - return DbGlobalProperty.C3P0_IS_VALID_TIMEOUT; - } -} diff --git a/core/src/main/java/org/zstack/core/db/DatabaseFacade.java b/core/src/main/java/org/zstack/core/db/DatabaseFacade.java index 155aca5162b..0a521bae0c3 100755 --- a/core/src/main/java/org/zstack/core/db/DatabaseFacade.java +++ b/core/src/main/java/org/zstack/core/db/DatabaseFacade.java @@ -3,9 +3,9 @@ import org.zstack.core.db.TransactionalCallback.Operation; import org.zstack.header.message.APIListMessage; -import javax.persistence.EntityManager; -import javax.persistence.Query; -import javax.persistence.criteria.CriteriaBuilder; +import jakarta.persistence.EntityManager; +import jakarta.persistence.Query; +import jakarta.persistence.criteria.CriteriaBuilder; import javax.sql.DataSource; import java.sql.Timestamp; import java.util.Collection; 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..07720d50db6 100755 --- a/core/src/main/java/org/zstack/core/db/DatabaseFacadeImpl.java +++ b/core/src/main/java/org/zstack/core/db/DatabaseFacadeImpl.java @@ -21,8 +21,8 @@ import org.zstack.utils.logging.CLogger; import org.zstack.utils.logging.CLoggerImpl; -import javax.persistence.*; -import javax.persistence.criteria.CriteriaBuilder; +import jakarta.persistence.*; +import jakarta.persistence.criteria.CriteriaBuilder; import javax.sql.DataSource; import java.lang.reflect.Field; import java.sql.SQLIntegrityConstraintViolationException; diff --git a/core/src/main/java/org/zstack/core/db/DbEntityListerImpl.java b/core/src/main/java/org/zstack/core/db/DbEntityListerImpl.java index 58ce6ef0c4b..33ba15b1b0a 100755 --- a/core/src/main/java/org/zstack/core/db/DbEntityListerImpl.java +++ b/core/src/main/java/org/zstack/core/db/DbEntityListerImpl.java @@ -5,8 +5,8 @@ import org.springframework.transaction.annotation.Transactional; import org.zstack.header.message.APIListMessage; -import javax.persistence.Entity; -import javax.persistence.TypedQuery; +import jakarta.persistence.Entity; +import jakarta.persistence.TypedQuery; import java.lang.reflect.Field; import java.util.List; diff --git a/core/src/main/java/org/zstack/core/db/DbGlobalProperty.java b/core/src/main/java/org/zstack/core/db/DbGlobalProperty.java index 54d67db8e5c..81084ad0733 100755 --- a/core/src/main/java/org/zstack/core/db/DbGlobalProperty.java +++ b/core/src/main/java/org/zstack/core/db/DbGlobalProperty.java @@ -7,6 +7,4 @@ public class DbGlobalProperty { @GlobalProperty(name="entityPackages", defaultValue = "org.zstack") public static String ENTITY_PACKAGES; - @GlobalProperty(name="C3p0ConnectionTester.isValidTimeout", defaultValue = "60") - public static int C3P0_IS_VALID_TIMEOUT; } diff --git a/core/src/main/java/org/zstack/core/db/EntityListener.java b/core/src/main/java/org/zstack/core/db/EntityListener.java index e3f19f84235..e4aff03da90 100755 --- a/core/src/main/java/org/zstack/core/db/EntityListener.java +++ b/core/src/main/java/org/zstack/core/db/EntityListener.java @@ -7,7 +7,7 @@ import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; -import javax.persistence.*; +import jakarta.persistence.*; import java.io.Serializable; /** 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..9d4aad3ecd2 100755 --- a/core/src/main/java/org/zstack/core/db/EntityMetadata.java +++ b/core/src/main/java/org/zstack/core/db/EntityMetadata.java @@ -6,8 +6,8 @@ import org.zstack.utils.BeanUtils; import org.zstack.utils.FieldUtils; -import javax.persistence.Entity; -import javax.persistence.Id; +import jakarta.persistence.Entity; +import jakarta.persistence.Id; import java.lang.reflect.Field; import java.util.*; diff --git a/core/src/main/java/org/zstack/core/db/Q.java b/core/src/main/java/org/zstack/core/db/Q.java index 8dcdcdf48fa..ce405377d4f 100755 --- a/core/src/main/java/org/zstack/core/db/Q.java +++ b/core/src/main/java/org/zstack/core/db/Q.java @@ -4,8 +4,7 @@ import org.springframework.transaction.annotation.Transactional; import org.zstack.utils.DebugUtils; -import javax.persistence.Tuple; -import javax.persistence.metamodel.SingularAttribute; +import jakarta.persistence.Tuple; import java.util.Collection; import java.util.Collections; import java.util.List; @@ -21,27 +20,27 @@ private Q(Class clz) { q = new SimpleQueryImpl(clz); } - public Q select(SingularAttribute... attrs) { + public Q select(Object... attrs) { q.select(attrs); return this; } - public Q orderBy(SingularAttribute attr, SimpleQuery.Od order) { + public Q orderBy(Object attr, SimpleQuery.Od order) { q.orderBy(attr, order); return this; } - public Q orderByAsc(SingularAttribute attr) { + public Q orderByAsc(Object attr) { q.orderBy(attr, SimpleQuery.Od.ASC); return this; } - public Q orderByDesc(SingularAttribute attr) { + public Q orderByDesc(Object attr) { q.orderBy(attr, SimpleQuery.Od.DESC); return this; } - public Q groupBy(SingularAttribute attr) { + public Q groupBy(Object attr) { q.groupBy(attr); return this; } @@ -110,71 +109,71 @@ public List listTuple() { return Collections.emptyList(); } - public Q eq(SingularAttribute attr, Object val) { + public Q eq(Object attr, Object val) { q.add(attr, SimpleQuery.Op.EQ, val); return this; } - public Q notEq(SingularAttribute attr, Object val) { + public Q notEq(Object attr, Object val) { q.add(attr, SimpleQuery.Op.NOT_EQ, val); return this; } - public Q in(SingularAttribute attr, Collection val) { + public Q in(Object attr, Collection val) { DebugUtils.Assert(CollectionUtils.isNotEmpty(val), "Op.IN value cannot be null or empty"); q.add(attr, SimpleQuery.Op.IN, val); return this; } - public QueryMore in(SingularAttribute attr, Q subQuery) { + public QueryMore in(Object attr, Q subQuery) { return toQueryMore().in(attr, subQuery); } - public Q notIn(SingularAttribute attr, Collection val) { + public Q notIn(Object attr, Collection val) { q.add(attr, SimpleQuery.Op.NOT_IN, val); return this; } - public QueryMore notIn(SingularAttribute attr, Q subQuery) { + public QueryMore notIn(Object attr, Q subQuery) { return toQueryMore().notIn(attr, subQuery); } - public Q isNull(SingularAttribute attr) { + public Q isNull(Object attr) { q.add(attr, SimpleQuery.Op.NULL); return this; } - public Q notNull(SingularAttribute attr) { + public Q notNull(Object attr) { q.add(attr, SimpleQuery.Op.NOT_NULL); return this; } - public Q gt(SingularAttribute attr, Object val) { + public Q gt(Object attr, Object val) { q.add(attr, SimpleQuery.Op.GT, val); return this; } - public Q gte(SingularAttribute attr, Object val) { + public Q gte(Object attr, Object val) { q.add(attr, SimpleQuery.Op.GTE, val); return this; } - public Q lt(SingularAttribute attr, Object val) { + public Q lt(Object attr, Object val) { q.add(attr, SimpleQuery.Op.LT, val); return this; } - public Q lte(SingularAttribute attr, Object val) { + public Q lte(Object attr, Object val) { q.add(attr, SimpleQuery.Op.LTE, val); return this; } - public Q like(SingularAttribute attr, Object val) { + public Q like(Object attr, Object val) { q.add(attr, SimpleQuery.Op.LIKE, val); return this; } - public Q notLike(SingularAttribute attr, Object val) { + public Q notLike(Object attr, Object val) { q.add(attr, SimpleQuery.Op.NOT_LIKE, val); return this; } diff --git a/core/src/main/java/org/zstack/core/db/QueryMore.java b/core/src/main/java/org/zstack/core/db/QueryMore.java index 21d1441c677..575809b584e 100644 --- a/core/src/main/java/org/zstack/core/db/QueryMore.java +++ b/core/src/main/java/org/zstack/core/db/QueryMore.java @@ -4,8 +4,8 @@ import org.zstack.header.exception.CloudRuntimeException; import org.zstack.utils.DebugUtils; -import javax.persistence.Tuple; -import javax.persistence.metamodel.SingularAttribute; +import jakarta.persistence.Tuple; +import jakarta.persistence.metamodel.SingularAttribute; import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; @@ -69,24 +69,24 @@ public static class TableOption { IntFunction function; Consumer> attrConsumer; - public ResultType table0(SingularAttribute attr) { + public ResultType table0(Object attr) { return table(0, attr); } - public ResultType table1(SingularAttribute attr) { + public ResultType table1(Object attr) { return table(1, attr); } - public ResultType table2(SingularAttribute attr) { + public ResultType table2(Object attr) { return table(2, attr); } - public ResultType table3(SingularAttribute attr) { + public ResultType table3(Object attr) { return table(3, attr); } - public ResultType table(int tableIndex, SingularAttribute attr) { - attrConsumer.accept(attr); + public ResultType table(int tableIndex, Object attr) { + attrConsumer.accept((SingularAttribute) attr); return function.apply(tableIndex); } } @@ -142,9 +142,9 @@ private String toSql() { } } - public QueryMore condition(SingularAttribute attr, SimpleQuery.Op op, Object value) { + public QueryMore condition(Object attr, SimpleQuery.Op op, Object value) { Condition c = new Condition(); - c.attr = attr; + c.attr = (SingularAttribute) attr; c.op = op; c.value = value; c.tableIndex = tableIndex; @@ -167,43 +167,44 @@ public QueryMore selectCountThisTable() { return this; } - public QueryMore select(SingularAttribute... attrs) { + @SuppressWarnings("unchecked") + public QueryMore select(Object... attrs) { for (int i = 0; i < attrs.length; i++) { AttrInfo info = new AttrInfo(); - info.attr = attrs[i]; + info.attr = (SingularAttribute) attrs[i]; info.tableIndex = tableIndex; selects.add(info); } return this; } - public QueryMore selectSum(SingularAttribute attr) { + public QueryMore selectSum(Object attr) { AttrInfo info = new AttrInfo(); - info.attr = attr; + info.attr = (SingularAttribute) attr; info.function = "sum"; info.tableIndex = tableIndex; selects.add(info); return this; } - public QueryMore selectCount(SingularAttribute attr) { + public QueryMore selectCount(Object attr) { AttrInfo info = new AttrInfo(); - info.attr = attr; + info.attr = (SingularAttribute) attr; info.function = "count"; info.tableIndex = tableIndex; selects.add(info); return this; } - public QueryMore eq(SingularAttribute attr, Object value) { + public QueryMore eq(Object attr, Object value) { return condition(attr, EQ, value); } // table0.uuid = table1.refUuid - public TableOption eq(SingularAttribute attr) { + public TableOption eq(Object attr) { ConditionBetweenTables condition = new ConditionBetweenTables(); condition.tableIndex1 = tableIndex; - condition.attr1 = attr; + condition.attr1 = (SingularAttribute) attr; condition.op = SimpleQuery.Op.EQ; TableOption result = new TableOption<>(); @@ -216,64 +217,64 @@ public TableOption eq(SingularAttribute attr) { return result; } - public QueryMore notEq(SingularAttribute attr, Object value) { + public QueryMore notEq(Object attr, Object value) { return condition(attr, NOT_EQ, value); } - public QueryMore in(SingularAttribute attr, Collection collection) { + public QueryMore in(Object attr, Collection collection) { DebugUtils.Assert(CollectionUtils.isNotEmpty(collection), "Op.IN value cannot be null or empty"); return condition(attr, IN, collection); } - public QueryMore in(SingularAttribute attr, QueryMore subQuery) { + public QueryMore in(Object attr, QueryMore subQuery) { return condition(attr, IN, subQuery); } - public QueryMore in(SingularAttribute attr, Q subQuery) { + public QueryMore in(Object attr, Q subQuery) { return in(attr, subQuery.toQueryMore()); } - public QueryMore notIn(SingularAttribute attr, Collection collection) { + public QueryMore notIn(Object attr, Collection collection) { return condition(attr, NOT_IN, collection); } - public QueryMore notIn(SingularAttribute attr, QueryMore subQuery) { + public QueryMore notIn(Object attr, QueryMore subQuery) { return condition(attr, NOT_IN, subQuery); } - public QueryMore notIn(SingularAttribute attr, Q subQuery) { + public QueryMore notIn(Object attr, Q subQuery) { return notIn(attr, subQuery.toQueryMore()); } - public QueryMore isNull(SingularAttribute attr) { + public QueryMore isNull(Object attr) { return condition(attr, NULL, null); } - public QueryMore notNull(SingularAttribute attr) { + public QueryMore notNull(Object attr) { return condition(attr, NOT_NULL, null); } - public QueryMore gt(SingularAttribute attr, Object value) { + public QueryMore gt(Object attr, Object value) { return condition(attr, GT, value); } - public QueryMore gte(SingularAttribute attr, Object value) { + public QueryMore gte(Object attr, Object value) { return condition(attr, GTE, value); } - public QueryMore lt(SingularAttribute attr, Object value) { + public QueryMore lt(Object attr, Object value) { return condition(attr, LT, value); } - public QueryMore lte(SingularAttribute attr, Object value) { + public QueryMore lte(Object attr, Object value) { return condition(attr, LTE, value); } - public QueryMore like(SingularAttribute attr, Object value) { + public QueryMore like(Object attr, Object value) { return condition(attr, LIKE, value); } - public QueryMore notLike(SingularAttribute attr, Object value) { + public QueryMore notLike(Object attr, Object value) { return condition(attr, NOT_LIKE, value); } @@ -298,20 +299,20 @@ public QueryMore table3() { return table(3); } - public QueryMore orderByAsc(SingularAttribute attr) { + public QueryMore orderByAsc(Object attr) { OrderInfo order = new OrderInfo(); order.tableIndex = tableIndex; order.od = SimpleQuery.Od.ASC; - order.attr = attr; + order.attr = (SingularAttribute) attr; orders.add(order); return this; } - public QueryMore orderByDesc(SingularAttribute attr) { + public QueryMore orderByDesc(Object attr) { OrderInfo order = new OrderInfo(); order.tableIndex = tableIndex; order.od = SimpleQuery.Od.DESC; - order.attr = attr; + order.attr = (SingularAttribute) attr; orders.add(order); return this; } diff --git a/core/src/main/java/org/zstack/core/db/SQL.java b/core/src/main/java/org/zstack/core/db/SQL.java index f35c6ab75e6..eddcc5a0e20 100755 --- a/core/src/main/java/org/zstack/core/db/SQL.java +++ b/core/src/main/java/org/zstack/core/db/SQL.java @@ -9,8 +9,8 @@ import org.zstack.header.errorcode.ErrorCode; import org.zstack.utils.DebugUtils; -import javax.persistence.LockModeType; -import javax.persistence.Query; +import jakarta.persistence.LockModeType; +import jakarta.persistence.Query; import java.util.ArrayList; import java.util.HashMap; import java.util.List; diff --git a/core/src/main/java/org/zstack/core/db/SimpleQuery.java b/core/src/main/java/org/zstack/core/db/SimpleQuery.java index 55383b7c22c..c92b81543b7 100755 --- a/core/src/main/java/org/zstack/core/db/SimpleQuery.java +++ b/core/src/main/java/org/zstack/core/db/SimpleQuery.java @@ -1,23 +1,22 @@ package org.zstack.core.db; -import javax.persistence.Tuple; -import javax.persistence.metamodel.SingularAttribute; +import jakarta.persistence.Tuple; import java.util.Collection; import java.util.List; public interface SimpleQuery { - SimpleQuery select(SingularAttribute...attrs); + SimpleQuery select(Object...attrs); - SimpleQuery add(SingularAttribute attr, Op op, Collection vals); + SimpleQuery add(Object attr, Op op, Collection vals); - SimpleQuery add(SingularAttribute attr, Op op, Object...val); - - SimpleQuery isSoftDeleted(SingularAttribute attr); - - SimpleQuery orderBy(SingularAttribute attr, Od order); - - SimpleQuery groupBy(SingularAttribute attr); + SimpleQuery add(Object attr, Op op, Object...val); + + SimpleQuery isSoftDeleted(Object attr); + + SimpleQuery orderBy(Object attr, Od order); + + SimpleQuery groupBy(Object attr); SimpleQuery setLimit(int limit); diff --git a/core/src/main/java/org/zstack/core/db/SimpleQueryImpl.java b/core/src/main/java/org/zstack/core/db/SimpleQueryImpl.java index 9ba9b0ac494..4c39fa1e066 100755 --- a/core/src/main/java/org/zstack/core/db/SimpleQueryImpl.java +++ b/core/src/main/java/org/zstack/core/db/SimpleQueryImpl.java @@ -9,12 +9,12 @@ import org.zstack.utils.logging.CLogger; import org.zstack.utils.logging.CLoggerImpl; -import javax.persistence.NoResultException; -import javax.persistence.Query; -import javax.persistence.Tuple; -import javax.persistence.TypedQuery; -import javax.persistence.criteria.*; -import javax.persistence.metamodel.SingularAttribute; +import jakarta.persistence.NoResultException; +import jakarta.persistence.Query; +import jakarta.persistence.Tuple; +import jakarta.persistence.TypedQuery; +import jakarta.persistence.criteria.*; +import jakarta.persistence.metamodel.SingularAttribute; import java.lang.reflect.Array; import java.util.ArrayList; import java.util.Collection; @@ -77,22 +77,25 @@ class AttrInfo { } @Override - public SimpleQuery select(SingularAttribute... attrs) { + @SuppressWarnings("unchecked") + public SimpleQuery select(Object... attrs) { for (int i=0; i add(SingularAttribute attr, Op op, Collection vals) { - _conditions.add(new Condition(attr, op, vals.toArray(new Object[vals.size()]))); + @SuppressWarnings("unchecked") + public SimpleQuery add(Object attr, Op op, Collection vals) { + _conditions.add(new Condition((SingularAttribute) attr, op, vals.toArray(new Object[vals.size()]))); return this; } @Override - public SimpleQuery add(SingularAttribute attr, Op op, Object... val) { - _conditions.add(new Condition(attr, op, val)); + public SimpleQuery add(Object attr, Op op, Object... val) { + _conditions.add(new Condition((SingularAttribute) attr, op, val)); return this; } @@ -359,19 +362,19 @@ Long _count() { } @Override - public SimpleQuery orderBy(SingularAttribute attr, org.zstack.core.db.SimpleQuery.Od order) { - orderInfos.add(new OrderInfo(attr, order)); + public SimpleQuery orderBy(Object attr, org.zstack.core.db.SimpleQuery.Od order) { + orderInfos.add(new OrderInfo((SingularAttribute) attr, order)); return this; } @Override - public SimpleQuery groupBy(SingularAttribute attr) { - this.groupByInfo = attr; + public SimpleQuery groupBy(Object attr) { + this.groupByInfo = (SingularAttribute) attr; return this; } @Override - public SimpleQuery isSoftDeleted(SingularAttribute attr) { + public SimpleQuery isSoftDeleted(Object attr) { return add(attr, Op.NULL); } diff --git a/core/src/main/java/org/zstack/core/db/TransactionIsolationLevelSetter.java b/core/src/main/java/org/zstack/core/db/TransactionIsolationLevelSetter.java deleted file mode 100755 index 5aa37cffb6a..00000000000 --- a/core/src/main/java/org/zstack/core/db/TransactionIsolationLevelSetter.java +++ /dev/null @@ -1,15 +0,0 @@ -package org.zstack.core.db; - -import com.mchange.v2.c3p0.AbstractConnectionCustomizer; - -import java.sql.Connection; - -/** - */ -public class TransactionIsolationLevelSetter extends AbstractConnectionCustomizer { - @Override - public void onAcquire(Connection c, String parentDataSourceIdentityToken) throws Exception { - super.onAcquire(c, parentDataSourceIdentityToken); - c.setTransactionIsolation(Connection.TRANSACTION_READ_COMMITTED); - } -} diff --git a/core/src/main/java/org/zstack/core/db/UpdateQuery.java b/core/src/main/java/org/zstack/core/db/UpdateQuery.java index fba2932198c..293e0370b15 100755 --- a/core/src/main/java/org/zstack/core/db/UpdateQuery.java +++ b/core/src/main/java/org/zstack/core/db/UpdateQuery.java @@ -2,40 +2,40 @@ import org.zstack.core.db.SimpleQuery.Op; -import javax.persistence.metamodel.SingularAttribute; + import java.util.Collection; /** * Created by xing5 on 2016/6/29. */ public interface UpdateQuery { - UpdateQuery set(SingularAttribute attr, Object val); + UpdateQuery set(Object attr, Object val); - UpdateQuery condAnd(SingularAttribute attr, Op op, Object val); + UpdateQuery condAnd(Object attr, Op op, Object val); - UpdateQuery eq(SingularAttribute attr, Object val); + UpdateQuery eq(Object attr, Object val); - UpdateQuery notEq(SingularAttribute attr, Object val); + UpdateQuery notEq(Object attr, Object val); - UpdateQuery in(SingularAttribute attr, Collection val); + UpdateQuery in(Object attr, Collection val); - UpdateQuery notIn(SingularAttribute attr, Collection val); + UpdateQuery notIn(Object attr, Collection val); - UpdateQuery isNull(SingularAttribute attr); + UpdateQuery isNull(Object attr); - UpdateQuery notNull(SingularAttribute attr); + UpdateQuery notNull(Object attr); - UpdateQuery gt(SingularAttribute attr, Object val); + UpdateQuery gt(Object attr, Object val); - UpdateQuery gte(SingularAttribute attr, Object val); + UpdateQuery gte(Object attr, Object val); - UpdateQuery lt(SingularAttribute attr, Object val); + UpdateQuery lt(Object attr, Object val); - UpdateQuery lte(SingularAttribute attr, Object val); + UpdateQuery lte(Object attr, Object val); - UpdateQuery like(SingularAttribute attr, Object val); + UpdateQuery like(Object attr, Object val); - UpdateQuery notLike(SingularAttribute attr, Object val); + UpdateQuery notLike(Object attr, Object val); void delete(); diff --git a/core/src/main/java/org/zstack/core/db/UpdateQueryImpl.java b/core/src/main/java/org/zstack/core/db/UpdateQueryImpl.java index 6475b903c6e..82aa4fe946a 100755 --- a/core/src/main/java/org/zstack/core/db/UpdateQueryImpl.java +++ b/core/src/main/java/org/zstack/core/db/UpdateQueryImpl.java @@ -12,8 +12,8 @@ import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; -import javax.persistence.Query; -import javax.persistence.metamodel.SingularAttribute; +import jakarta.persistence.Query; +import jakarta.persistence.metamodel.SingularAttribute; import java.util.*; /** @@ -42,103 +42,105 @@ UpdateQuery entity(Class clazz) { } @Override - public UpdateQuery set(SingularAttribute attr, Object val) { - if (setValues.containsKey(attr)) { - throw new CloudRuntimeException(String.format("unable to set a column[%s] twice", attr.getName())); + public UpdateQuery set(Object attr, Object val) { + SingularAttribute sa = (SingularAttribute) attr; + if (setValues.containsKey(sa)) { + throw new CloudRuntimeException(String.format("unable to set a column[%s] twice", sa.getName())); } - setValues.put(attr, val); + setValues.put(sa, val); return this; } @Override - public UpdateQuery condAnd(SingularAttribute attr, Op op, Object val) { + public UpdateQuery condAnd(Object attr, Op op, Object val) { + SingularAttribute sa = (SingularAttribute) attr; if ((op == Op.IN || op == Op.NOT_IN) && !(val instanceof Collection)) { throw new CloudRuntimeException(String.format("for operation IN or NOT IN, a Collection value is expected, but %s got", val.getClass())); } Cond cond = new Cond(); - cond.attr = attr; + cond.attr = sa; cond.op = op; cond.val = val; - List conds = andConditions.get(attr); + List conds = andConditions.get(sa); if (conds == null) { conds = new ArrayList<>(); - andConditions.put(attr, conds); + andConditions.put(sa, conds); } conds.add(cond); return this; } @Override - public UpdateQuery eq(SingularAttribute attr, Object val) { + public UpdateQuery eq(Object attr, Object val) { condAnd(attr, Op.EQ, val); return this; } @Override - public UpdateQuery notEq(SingularAttribute attr, Object val) { + public UpdateQuery notEq(Object attr, Object val) { condAnd(attr, Op.NOT_EQ, val); return this; } @Override - public UpdateQuery in(SingularAttribute attr, Collection val) { + public UpdateQuery in(Object attr, Collection val) { condAnd(attr, Op.IN, val); return this; } @Override - public UpdateQuery notIn(SingularAttribute attr, Collection val) { + public UpdateQuery notIn(Object attr, Collection val) { condAnd(attr, Op.NOT_IN, val); return this; } @Override - public UpdateQuery isNull(SingularAttribute attr) { + public UpdateQuery isNull(Object attr) { condAnd(attr, Op.NULL, null); return this; } @Override - public UpdateQuery notNull(SingularAttribute attr) { + public UpdateQuery notNull(Object attr) { condAnd(attr, Op.NOT_NULL, null); return this; } @Override - public UpdateQuery gt(SingularAttribute attr, Object val) { + public UpdateQuery gt(Object attr, Object val) { condAnd(attr, Op.GT, val); return this; } @Override - public UpdateQuery gte(SingularAttribute attr, Object val) { + public UpdateQuery gte(Object attr, Object val) { condAnd(attr, Op.GTE, val); return this; } @Override - public UpdateQuery lt(SingularAttribute attr, Object val) { + public UpdateQuery lt(Object attr, Object val) { condAnd(attr, Op.LT, val); return this; } @Override - public UpdateQuery lte(SingularAttribute attr, Object val) { + public UpdateQuery lte(Object attr, Object val) { condAnd(attr, Op.LTE, val); return this; } @Override - public UpdateQuery like(SingularAttribute attr, Object val) { + public UpdateQuery like(Object attr, Object val) { condAnd(attr, Op.LIKE, val); return this; } @Override - public UpdateQuery notLike(SingularAttribute attr, Object val) { + public UpdateQuery notLike(Object attr, Object val) { condAnd(attr, Op.NOT_LIKE, val); return this; } diff --git a/core/src/main/java/org/zstack/core/db/hibernate/InlineIdsIdsOrClauseDeleteHandlerImpl2.java b/core/src/main/java/org/zstack/core/db/hibernate/InlineIdsIdsOrClauseDeleteHandlerImpl2.java deleted file mode 100644 index 9a89a7b9aad..00000000000 --- a/core/src/main/java/org/zstack/core/db/hibernate/InlineIdsIdsOrClauseDeleteHandlerImpl2.java +++ /dev/null @@ -1,88 +0,0 @@ -package org.zstack.core.db.hibernate; - -import org.hibernate.engine.spi.QueryParameters; -import org.hibernate.engine.spi.SessionFactoryImplementor; -import org.hibernate.engine.spi.SharedSessionContractImplementor; -import org.hibernate.hql.internal.ast.HqlSqlWalker; -import org.hibernate.hql.spi.id.inline.IdsClauseBuilder; -import org.hibernate.hql.spi.id.inline.InlineIdsIdsOrClauseDeleteHandlerImpl; -import org.hibernate.persister.collection.AbstractCollectionPersister; -import org.hibernate.type.CollectionType; -import org.hibernate.type.Type; - -import java.sql.PreparedStatement; -import java.sql.SQLException; -import java.util.ArrayList; -import java.util.List; - -/** - * Created by lining on 2020/4/17. - */ -public class InlineIdsIdsOrClauseDeleteHandlerImpl2 extends InlineIdsIdsOrClauseDeleteHandlerImpl { - public InlineIdsIdsOrClauseDeleteHandlerImpl2(SessionFactoryImplementor factory, HqlSqlWalker walker) { - super(factory, walker); - } - - @Override - public int execute( - SharedSessionContractImplementor session, - QueryParameters queryParameters) { - - IdsClauseBuilder values = prepareInlineStatement( session, queryParameters ); - - List currentDeletes = new ArrayList<>(); - - if ( !values.getIds().isEmpty() ) { - final String idSubselect = values.toStatement(); - - for ( Type type : getTargetedQueryable().getPropertyTypes() ) { - if ( type.isCollectionType() ) { - CollectionType cType = (CollectionType) type; - AbstractCollectionPersister cPersister = (AbstractCollectionPersister) factory().getMetamodel().collectionPersister( cType.getRole() ); - if ( cPersister.isManyToMany() ) { - currentDeletes.add( generateDelete( - cPersister.getTableName(), - cPersister.getKeyColumnNames(), - idSubselect, - "bulk delete - m2m join table cleanup" - ).toStatementString() ); - } - } - } - - String[] tableNames = getTargetedQueryable().getConstraintOrderedTableNameClosure(); - String[][] columnNames = getTargetedQueryable().getContraintOrderedTableKeyColumnClosure(); - for ( int i = 0; i < tableNames.length; i++ ) { - // TODO : an optimization here would be to consider cascade deletes and not gen those delete statements; - // the difficulty is the ordering of the tables here vs the cascade attributes on the persisters -> - // the table info gotten here should really be self-contained (i.e., a class representation - // defining all the needed attributes), then we could then get an array of those - currentDeletes.add( generateDelete( tableNames[i], columnNames[i], idSubselect, "bulk delete" ).toStatementString() ); - } - - // Start performing the deletes - for ( String delete : currentDeletes ) { - if ( delete == null) { - continue; - } - - try { - try ( PreparedStatement ps = session - .getJdbcCoordinator().getStatementPreparer() - .prepareStatement( delete, false ) ) { - session - .getJdbcCoordinator().getResultSetReturn() - .executeUpdate( ps ); - } - } - catch ( SQLException e ) { - throw convert( e, "error performing bulk delete", delete ); - } - } - - //deletes.addAll( currentDeletes ); - } - - return values.getIds().size(); - } -} diff --git a/core/src/main/java/org/zstack/core/db/hibernate/InlineIdsOrClauseBulkIdStrategy2.java b/core/src/main/java/org/zstack/core/db/hibernate/InlineIdsOrClauseBulkIdStrategy2.java deleted file mode 100644 index b16aacd9c94..00000000000 --- a/core/src/main/java/org/zstack/core/db/hibernate/InlineIdsOrClauseBulkIdStrategy2.java +++ /dev/null @@ -1,25 +0,0 @@ -package org.zstack.core.db.hibernate; - -import org.hibernate.engine.spi.SessionFactoryImplementor; -import org.hibernate.hql.internal.ast.HqlSqlWalker; -import org.hibernate.hql.spi.id.inline.InlineIdsOrClauseBulkIdStrategy; -import org.hibernate.hql.spi.id.inline.InlineIdsOrClauseUpdateHandlerImpl; - -/** - * Created by lining on 2020/4/17. - */ -public class InlineIdsOrClauseBulkIdStrategy2 extends InlineIdsOrClauseBulkIdStrategy { - @Override - public DeleteHandler buildDeleteHandler( - SessionFactoryImplementor factory, - HqlSqlWalker walker) { - return new InlineIdsIdsOrClauseDeleteHandlerImpl2( factory, walker ); - } - - @Override - public UpdateHandler buildUpdateHandler( - SessionFactoryImplementor factory, - HqlSqlWalker walker) { - return new InlineIdsOrClauseUpdateHandlerImpl2( factory, walker ); - } -} 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 deleted file mode 100644 index 774312ba368..00000000000 --- a/core/src/main/java/org/zstack/core/db/hibernate/InlineIdsOrClauseUpdateHandlerImpl2.java +++ /dev/null @@ -1,103 +0,0 @@ -package org.zstack.core.db.hibernate; - -import org.hibernate.engine.spi.QueryParameters; -import org.hibernate.engine.spi.SessionFactoryImplementor; -import org.hibernate.engine.spi.SharedSessionContractImplementor; -import org.hibernate.hql.internal.ast.HqlSqlWalker; -import org.hibernate.hql.internal.ast.tree.AssignmentSpecification; -import org.hibernate.hql.spi.id.inline.IdsClauseBuilder; -import org.hibernate.hql.spi.id.inline.InlineIdsOrClauseUpdateHandlerImpl; -import org.hibernate.param.ParameterSpecification; -import org.hibernate.sql.Update; - -import java.sql.PreparedStatement; -import java.sql.SQLException; -import java.util.*; - -/** - * Created by lining on 2020/4/17. - */ -public class InlineIdsOrClauseUpdateHandlerImpl2 extends InlineIdsOrClauseUpdateHandlerImpl { - - public InlineIdsOrClauseUpdateHandlerImpl2(SessionFactoryImplementor factory, HqlSqlWalker walker) { - super(factory, walker); - } - - @Override - public int execute( - SharedSessionContractImplementor session, - QueryParameters queryParameters) { - - IdsClauseBuilder values = prepareInlineStatement( session, queryParameters ); - - final Map currentUpdates = new LinkedHashMap<>(); - - if ( !values.getIds().isEmpty() ) { - - String[] tableNames = getTargetedQueryable().getConstraintOrderedTableNameClosure(); - String[][] columnNames = getTargetedQueryable().getContraintOrderedTableKeyColumnClosure(); - - String idSubselect = values.toStatement(); - - ParameterSpecification[][] assignmentParameterSpecifications = new ParameterSpecification[tableNames.length][]; - for ( int tableIndex = 0; tableIndex < tableNames.length; tableIndex++ ) { - boolean affected = false; - final List parameterList = new ArrayList<>(); - - Update update = generateUpdate( tableNames[tableIndex], columnNames[tableIndex], idSubselect, "bulk update" ); - - final List assignmentSpecifications = walker().getAssignmentSpecifications(); - for ( AssignmentSpecification assignmentSpecification : assignmentSpecifications ) { - if ( assignmentSpecification.affectsTable( tableNames[tableIndex] ) ) { - affected = true; - update.appendAssignmentFragment( assignmentSpecification.getSqlAssignmentFragment() ); - if ( assignmentSpecification.getParameters() != null ) { - Collections.addAll( parameterList, assignmentSpecification.getParameters() ); - } - } - } - if ( affected ) { - currentUpdates.put( tableIndex, update.toStatementString() ); - assignmentParameterSpecifications[tableIndex] = parameterList.toArray( new ParameterSpecification[parameterList.size()] ); - } - } - - // Start performing the updates - for ( Map.Entry updateEntry: currentUpdates.entrySet()) { - int i = updateEntry.getKey(); - String update = updateEntry.getValue(); - - if ( update == null) { - continue; - } - try { - try (PreparedStatement ps = session - .getJdbcCoordinator().getStatementPreparer() - .prepareStatement( update, false )) { - int position = 1; // jdbc params are 1-based - if ( assignmentParameterSpecifications[i] != null ) { - for ( int x = 0; x < assignmentParameterSpecifications[i].length; x++ ) { - position += assignmentParameterSpecifications[i][x] - .bind( ps, queryParameters, session, position ); - } - } - session - .getJdbcCoordinator().getResultSetReturn() - .executeUpdate( ps ); - } - } - catch ( SQLException e ) { - throw convert( - e, - "error performing bulk update", - update - ); - } - } - } - - // deletes.addAll(currentUpdates); - - return values.getIds().size(); - } -} diff --git a/core/src/main/java/org/zstack/core/debug/APICleanQueueMsg.java b/core/src/main/java/org/zstack/core/debug/APICleanQueueMsg.java index 8c7b9472e38..61d21b6b53a 100644 --- a/core/src/main/java/org/zstack/core/debug/APICleanQueueMsg.java +++ b/core/src/main/java/org/zstack/core/debug/APICleanQueueMsg.java @@ -12,7 +12,7 @@ @RestRequest( path = "/clean/queue", isAction = true, - method = HttpMethod.PUT, + method = "PUT", responseClass = APICleanQueueEvent.class) public class APICleanQueueMsg extends APIMessage { @APIParam() diff --git a/core/src/main/java/org/zstack/core/debug/APIDebugSignalMsg.java b/core/src/main/java/org/zstack/core/debug/APIDebugSignalMsg.java index 9bdedf9e75a..3d387275455 100755 --- a/core/src/main/java/org/zstack/core/debug/APIDebugSignalMsg.java +++ b/core/src/main/java/org/zstack/core/debug/APIDebugSignalMsg.java @@ -13,7 +13,7 @@ */ @RestRequest( path = "/debug", - method = HttpMethod.POST, + method = "POST", parameterName = "params", responseClass = APIDebugSignalEvent.class ) diff --git a/core/src/main/java/org/zstack/core/debug/APIGetDebugSignalMsg.java b/core/src/main/java/org/zstack/core/debug/APIGetDebugSignalMsg.java index bb167dde056..c1be28981e4 100644 --- a/core/src/main/java/org/zstack/core/debug/APIGetDebugSignalMsg.java +++ b/core/src/main/java/org/zstack/core/debug/APIGetDebugSignalMsg.java @@ -6,7 +6,7 @@ @RestRequest( path = "/debug", - method = HttpMethod.GET, + method = "GET", responseClass = APIGetDebugSignalReply.class) public class APIGetDebugSignalMsg extends APISyncCallMessage { public static APIGetDebugSignalMsg __example__() { 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..a698b5dcd03 100644 --- a/core/src/main/java/org/zstack/core/encrypt/EncryptFacadeImpl.java +++ b/core/src/main/java/org/zstack/core/encrypt/EncryptFacadeImpl.java @@ -21,10 +21,10 @@ import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; -import javax.persistence.Convert; -import javax.persistence.Entity; -import javax.persistence.Query; -import javax.persistence.Table; +import jakarta.persistence.Convert; +import jakarta.persistence.Entity; +import jakarta.persistence.Query; +import jakarta.persistence.Table; import java.lang.reflect.Field; import java.util.*; import java.util.stream.Collectors; @@ -288,7 +288,7 @@ public void installGlobalConfigUpdateHooks() { @Override public void beforeUpdateExtensionPoint(GlobalConfig oldConfig, String newValue) { // avoid encrypt twice need to do synchronized encrypted(decrypted) - // e.g. use javax.persistence.Query set password to update encrypt password + // e.g. use jakarta.persistence.Query set password to update encrypt password // when PasswordConverter check this value is true the password will be encrypt // again before persist, so this beforeUpdateExtension is necessary if (PasswordEncryptType.LocalEncryption.toString().equals(newValue) 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..808b50b778a 100644 --- a/core/src/main/java/org/zstack/core/encrypt/EncryptManagerImpl.java +++ b/core/src/main/java/org/zstack/core/encrypt/EncryptManagerImpl.java @@ -12,7 +12,7 @@ import org.zstack.utils.*; import org.zstack.utils.logging.CLogger; -import javax.persistence.*; +import jakarta.persistence.*; import java.lang.reflect.Method; import java.util.*; diff --git a/core/src/main/java/org/zstack/core/errorcode/APICheckElaborationContentMsg.java b/core/src/main/java/org/zstack/core/errorcode/APICheckElaborationContentMsg.java index cfbd9139bbe..edcb4c2439b 100644 --- a/core/src/main/java/org/zstack/core/errorcode/APICheckElaborationContentMsg.java +++ b/core/src/main/java/org/zstack/core/errorcode/APICheckElaborationContentMsg.java @@ -10,7 +10,7 @@ */ @RestRequest( path = "/errorcode/elaborations/check", - method = HttpMethod.POST, + method = "POST", responseClass = APICheckElaborationContentReply.class, parameterName = "params" ) diff --git a/core/src/main/java/org/zstack/core/errorcode/APIGetElaborationCategoriesMsg.java b/core/src/main/java/org/zstack/core/errorcode/APIGetElaborationCategoriesMsg.java index bd21a31fd98..c78b6982b60 100644 --- a/core/src/main/java/org/zstack/core/errorcode/APIGetElaborationCategoriesMsg.java +++ b/core/src/main/java/org/zstack/core/errorcode/APIGetElaborationCategoriesMsg.java @@ -9,7 +9,7 @@ */ @RestRequest( path = "/errorcode/elaborations/categories", - method = HttpMethod.GET, + method = "GET", responseClass = APIGetElaborationCategoriesReply.class ) public class APIGetElaborationCategoriesMsg extends APISyncCallMessage { diff --git a/core/src/main/java/org/zstack/core/errorcode/APIGetElaborationsMsg.java b/core/src/main/java/org/zstack/core/errorcode/APIGetElaborationsMsg.java index a4cc9a4ef9a..757f9a11540 100644 --- a/core/src/main/java/org/zstack/core/errorcode/APIGetElaborationsMsg.java +++ b/core/src/main/java/org/zstack/core/errorcode/APIGetElaborationsMsg.java @@ -10,7 +10,7 @@ */ @RestRequest( path = "/errorcode/elaborations", - method = HttpMethod.GET, + method = "GET", responseClass = APIGetElaborationsReply.class ) public class APIGetElaborationsMsg extends APISyncCallMessage { diff --git a/core/src/main/java/org/zstack/core/errorcode/APIReloadElaborationMsg.java b/core/src/main/java/org/zstack/core/errorcode/APIReloadElaborationMsg.java index 33335fce7be..2d02dbcf322 100644 --- a/core/src/main/java/org/zstack/core/errorcode/APIReloadElaborationMsg.java +++ b/core/src/main/java/org/zstack/core/errorcode/APIReloadElaborationMsg.java @@ -11,7 +11,7 @@ path = "/errorcode/actions", isAction = true, responseClass = APIReloadElaborationEvent.class, - method = HttpMethod.PUT + method = "PUT" ) public class APIReloadElaborationMsg extends APIMessage { diff --git a/core/src/main/java/org/zstack/core/errorcode/ErrorFacadeImpl.java b/core/src/main/java/org/zstack/core/errorcode/ErrorFacadeImpl.java index bc41ee510bb..4ab9638439d 100755 --- a/core/src/main/java/org/zstack/core/errorcode/ErrorFacadeImpl.java +++ b/core/src/main/java/org/zstack/core/errorcode/ErrorFacadeImpl.java @@ -11,8 +11,8 @@ import org.zstack.utils.logging.CLogger; import org.zstack.utils.path.PathUtil; -import javax.xml.bind.JAXBContext; -import javax.xml.bind.Unmarshaller; +import jakarta.xml.bind.JAXBContext; +import jakarta.xml.bind.Unmarshaller; import java.io.File; import java.util.HashMap; import java.util.List; diff --git a/core/src/main/java/org/zstack/core/errorcode/schema/Error.java b/core/src/main/java/org/zstack/core/errorcode/schema/Error.java index 78cec7f2bce..41ca407acdd 100755 --- a/core/src/main/java/org/zstack/core/errorcode/schema/Error.java +++ b/core/src/main/java/org/zstack/core/errorcode/schema/Error.java @@ -8,7 +8,7 @@ package org.zstack.core.errorcode.schema; -import javax.xml.bind.annotation.*; +import jakarta.xml.bind.annotation.*; import java.util.ArrayList; import java.util.List; diff --git a/core/src/main/java/org/zstack/core/errorcode/schema/ObjectFactory.java b/core/src/main/java/org/zstack/core/errorcode/schema/ObjectFactory.java index 058250952d0..c47529dbd1d 100755 --- a/core/src/main/java/org/zstack/core/errorcode/schema/ObjectFactory.java +++ b/core/src/main/java/org/zstack/core/errorcode/schema/ObjectFactory.java @@ -8,7 +8,7 @@ package org.zstack.core.errorcode.schema; -import javax.xml.bind.annotation.XmlRegistry; +import jakarta.xml.bind.annotation.XmlRegistry; /** diff --git a/core/src/main/java/org/zstack/core/errorcode/schema/package-info.java b/core/src/main/java/org/zstack/core/errorcode/schema/package-info.java index 0ff3d8786f0..e442490764b 100755 --- a/core/src/main/java/org/zstack/core/errorcode/schema/package-info.java +++ b/core/src/main/java/org/zstack/core/errorcode/schema/package-info.java @@ -5,10 +5,10 @@ // Generated on: 2014.01.04 at 04:43:49 PM GMT-08:00 // -@javax.xml.bind.annotation.XmlSchema(elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED) +@jakarta.xml.bind.annotation.XmlSchema(elementFormDefault = jakarta.xml.bind.annotation.XmlNsForm.QUALIFIED) @XmlJavaTypeAdapter(value=StringTrimAdapter.class,type=String.class) package org.zstack.core.errorcode.schema; import org.zstack.utils.jaxb.StringTrimAdapter; -import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; \ No newline at end of file +import jakarta.xml.bind.annotation.adapters.XmlJavaTypeAdapter; \ No newline at end of file diff --git a/core/src/main/java/org/zstack/core/eventlog/APIQueryEventLogMsg.java b/core/src/main/java/org/zstack/core/eventlog/APIQueryEventLogMsg.java index 9f8d4dbf227..38fc6bbc940 100644 --- a/core/src/main/java/org/zstack/core/eventlog/APIQueryEventLogMsg.java +++ b/core/src/main/java/org/zstack/core/eventlog/APIQueryEventLogMsg.java @@ -12,7 +12,7 @@ @RestRequest( path = "/eventlogs", optionalPaths = {"/eventlogs/{id}"}, - method = HttpMethod.GET, + method = "GET", responseClass = APIQueryEventLogReply.class ) @AutoQuery(replyClass = APIQueryEventLogReply.class, inventoryClass = EventLogInventory.class) diff --git a/core/src/main/java/org/zstack/core/eventlog/EventLogManager.java b/core/src/main/java/org/zstack/core/eventlog/EventLogManager.java index 3f64b1920fa..1ee7a915535 100644 --- a/core/src/main/java/org/zstack/core/eventlog/EventLogManager.java +++ b/core/src/main/java/org/zstack/core/eventlog/EventLogManager.java @@ -17,7 +17,7 @@ import org.zstack.utils.gson.JSONObjectUtil; import org.zstack.utils.logging.CLogger; -import javax.persistence.Query; +import jakarta.persistence.Query; import java.sql.Timestamp; import java.util.ArrayList; import java.util.List; diff --git a/core/src/main/java/org/zstack/core/eventlog/EventLogVO.java b/core/src/main/java/org/zstack/core/eventlog/EventLogVO.java index 036681d6f14..ea70dd23b94 100644 --- a/core/src/main/java/org/zstack/core/eventlog/EventLogVO.java +++ b/core/src/main/java/org/zstack/core/eventlog/EventLogVO.java @@ -2,7 +2,7 @@ import org.zstack.header.vo.BaseResource; -import javax.persistence.*; +import jakarta.persistence.*; import java.io.Serializable; import java.sql.Timestamp; diff --git a/core/src/main/java/org/zstack/core/eventlog/EventLogVO_.java b/core/src/main/java/org/zstack/core/eventlog/EventLogVO_.java index fc22919b15b..8eab986d50c 100644 --- a/core/src/main/java/org/zstack/core/eventlog/EventLogVO_.java +++ b/core/src/main/java/org/zstack/core/eventlog/EventLogVO_.java @@ -1,7 +1,7 @@ package org.zstack.core.eventlog; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; @StaticMetamodel(EventLogVO.class) diff --git a/core/src/main/java/org/zstack/core/gc/APIDeleteGCJobMsg.java b/core/src/main/java/org/zstack/core/gc/APIDeleteGCJobMsg.java index 6393e702a3b..01d9fbd4d81 100755 --- a/core/src/main/java/org/zstack/core/gc/APIDeleteGCJobMsg.java +++ b/core/src/main/java/org/zstack/core/gc/APIDeleteGCJobMsg.java @@ -11,7 +11,7 @@ */ @RestRequest( path = "/gc-jobs/{uuid}", - method = HttpMethod.DELETE, + method = "DELETE", responseClass = APIDeleteGCJobEvent.class ) public class APIDeleteGCJobMsg extends APIMessage implements GarbageCollectorMessage { diff --git a/core/src/main/java/org/zstack/core/gc/APIQueryGCJobMsg.java b/core/src/main/java/org/zstack/core/gc/APIQueryGCJobMsg.java index 821be04bc3d..b6d9cdbe3cf 100755 --- a/core/src/main/java/org/zstack/core/gc/APIQueryGCJobMsg.java +++ b/core/src/main/java/org/zstack/core/gc/APIQueryGCJobMsg.java @@ -16,7 +16,7 @@ @RestRequest( path = "/gc-jobs", optionalPaths = {"/gc-jobs/{uuid}"}, - method = HttpMethod.GET, + method = "GET", responseClass = APIQueryGCJobReply.class ) public class APIQueryGCJobMsg extends APIQueryMessage { diff --git a/core/src/main/java/org/zstack/core/gc/APITriggerGCJobMsg.java b/core/src/main/java/org/zstack/core/gc/APITriggerGCJobMsg.java index 5555a9c33ec..97e458a32f3 100755 --- a/core/src/main/java/org/zstack/core/gc/APITriggerGCJobMsg.java +++ b/core/src/main/java/org/zstack/core/gc/APITriggerGCJobMsg.java @@ -12,7 +12,7 @@ @RestRequest( path = "/gc-jobs/{uuid}/actions", isAction = true, - method = HttpMethod.PUT, + method = "PUT", responseClass = APITriggerGCJobEvent.class ) public class APITriggerGCJobMsg extends APIMessage implements GarbageCollectorMessage { 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..9fd5a32afa4 100755 --- a/core/src/main/java/org/zstack/core/gc/GarbageCollectorVO.java +++ b/core/src/main/java/org/zstack/core/gc/GarbageCollectorVO.java @@ -4,7 +4,7 @@ import org.zstack.header.vo.*; import org.zstack.header.vo.ForeignKey; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; /** 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 cae175a5c0c..8072b42d51d 100755 --- a/core/src/main/java/org/zstack/core/gc/GarbageCollectorVO_.java +++ b/core/src/main/java/org/zstack/core/gc/GarbageCollectorVO_.java @@ -2,8 +2,8 @@ import org.zstack.header.vo.ResourceVO_; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; /** diff --git a/core/src/main/java/org/zstack/core/job/JobQueueEntryVO.java b/core/src/main/java/org/zstack/core/job/JobQueueEntryVO.java index a86028fb769..a6059f406aa 100755 --- a/core/src/main/java/org/zstack/core/job/JobQueueEntryVO.java +++ b/core/src/main/java/org/zstack/core/job/JobQueueEntryVO.java @@ -4,7 +4,7 @@ import org.zstack.header.vo.ForeignKey; import org.zstack.header.vo.ForeignKey.ReferenceOption; -import javax.persistence.*; +import jakarta.persistence.*; import java.util.Date; @Entity diff --git a/core/src/main/java/org/zstack/core/job/JobQueueEntryVO_.java b/core/src/main/java/org/zstack/core/job/JobQueueEntryVO_.java index bacf546de9d..da40afe5aa7 100755 --- a/core/src/main/java/org/zstack/core/job/JobQueueEntryVO_.java +++ b/core/src/main/java/org/zstack/core/job/JobQueueEntryVO_.java @@ -1,7 +1,7 @@ package org.zstack.core.job; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.util.Date; @StaticMetamodel(JobQueueEntryVO.class) 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..dc9942af41c 100755 --- a/core/src/main/java/org/zstack/core/job/JobQueueFacadeImpl2.java +++ b/core/src/main/java/org/zstack/core/job/JobQueueFacadeImpl2.java @@ -30,9 +30,9 @@ import org.zstack.utils.logging.CLogger; import org.zstack.utils.serializable.SerializableHelper; -import javax.persistence.NoResultException; -import javax.persistence.Tuple; -import javax.persistence.TypedQuery; +import jakarta.persistence.NoResultException; +import jakarta.persistence.Tuple; +import jakarta.persistence.TypedQuery; import java.io.IOException; import java.sql.Timestamp; import java.util.*; diff --git a/core/src/main/java/org/zstack/core/job/JobQueueVO.java b/core/src/main/java/org/zstack/core/job/JobQueueVO.java index 6384869112d..5fcd395aa5a 100755 --- a/core/src/main/java/org/zstack/core/job/JobQueueVO.java +++ b/core/src/main/java/org/zstack/core/job/JobQueueVO.java @@ -4,7 +4,7 @@ import org.zstack.header.vo.ForeignKey; import org.zstack.header.vo.ForeignKey.ReferenceOption; -import javax.persistence.*; +import jakarta.persistence.*; import java.util.Date; @Entity diff --git a/core/src/main/java/org/zstack/core/job/JobQueueVO_.java b/core/src/main/java/org/zstack/core/job/JobQueueVO_.java index 186579a8fed..d4cfa49faaf 100755 --- a/core/src/main/java/org/zstack/core/job/JobQueueVO_.java +++ b/core/src/main/java/org/zstack/core/job/JobQueueVO_.java @@ -1,7 +1,7 @@ package org.zstack.core.job; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.util.Date; diff --git a/core/src/main/java/org/zstack/core/jsonlabel/JsonLabelVO.java b/core/src/main/java/org/zstack/core/jsonlabel/JsonLabelVO.java index 9ffe2b6b0db..ee6718bb471 100755 --- a/core/src/main/java/org/zstack/core/jsonlabel/JsonLabelVO.java +++ b/core/src/main/java/org/zstack/core/jsonlabel/JsonLabelVO.java @@ -3,7 +3,7 @@ import org.zstack.header.vo.BaseResource; import org.zstack.header.vo.ToInventory; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; /** diff --git a/core/src/main/java/org/zstack/core/jsonlabel/JsonLabelVO_.java b/core/src/main/java/org/zstack/core/jsonlabel/JsonLabelVO_.java index 2d44bb85e6c..52ae2a125ab 100644 --- a/core/src/main/java/org/zstack/core/jsonlabel/JsonLabelVO_.java +++ b/core/src/main/java/org/zstack/core/jsonlabel/JsonLabelVO_.java @@ -1,7 +1,7 @@ package org.zstack.core.jsonlabel; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; /** diff --git a/core/src/main/java/org/zstack/core/keyvalue/KeyValueBinaryVO.java b/core/src/main/java/org/zstack/core/keyvalue/KeyValueBinaryVO.java index 29abcef83e1..5cbe80c9ad8 100755 --- a/core/src/main/java/org/zstack/core/keyvalue/KeyValueBinaryVO.java +++ b/core/src/main/java/org/zstack/core/keyvalue/KeyValueBinaryVO.java @@ -1,6 +1,6 @@ package org.zstack.core.keyvalue; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; /** diff --git a/core/src/main/java/org/zstack/core/keyvalue/KeyValueFacadeImpl.java b/core/src/main/java/org/zstack/core/keyvalue/KeyValueFacadeImpl.java index cab95c87bd8..7a58142b810 100755 --- a/core/src/main/java/org/zstack/core/keyvalue/KeyValueFacadeImpl.java +++ b/core/src/main/java/org/zstack/core/keyvalue/KeyValueFacadeImpl.java @@ -7,7 +7,7 @@ import org.zstack.header.exception.CloudRuntimeException; import org.zstack.utils.serializable.SerializableHelper; -import javax.persistence.Query; +import jakarta.persistence.Query; import java.io.IOException; import java.util.List; diff --git a/core/src/main/java/org/zstack/core/keyvalue/KeyValueQuery.java b/core/src/main/java/org/zstack/core/keyvalue/KeyValueQuery.java index 0e3cde40d82..c013fbec062 100755 --- a/core/src/main/java/org/zstack/core/keyvalue/KeyValueQuery.java +++ b/core/src/main/java/org/zstack/core/keyvalue/KeyValueQuery.java @@ -15,7 +15,7 @@ import org.zstack.utils.logging.CLogger; import org.zstack.utils.serializable.SerializableHelper; -import javax.persistence.TypedQuery; +import jakarta.persistence.TypedQuery; import java.util.ArrayList; import java.util.List; diff --git a/core/src/main/java/org/zstack/core/keyvalue/KeyValueVO.java b/core/src/main/java/org/zstack/core/keyvalue/KeyValueVO.java index 680b929d5ed..61a1c836ae7 100755 --- a/core/src/main/java/org/zstack/core/keyvalue/KeyValueVO.java +++ b/core/src/main/java/org/zstack/core/keyvalue/KeyValueVO.java @@ -3,7 +3,7 @@ import org.zstack.header.vo.ForeignKey; import org.zstack.header.vo.ForeignKey.ReferenceOption; -import javax.persistence.*; +import jakarta.persistence.*; /** */ 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..972e7ab46ea 100755 --- a/core/src/main/java/org/zstack/core/progress/ProgressReportService.java +++ b/core/src/main/java/org/zstack/core/progress/ProgressReportService.java @@ -33,8 +33,8 @@ import org.zstack.utils.gson.JSONObjectUtil; import org.zstack.utils.logging.CLogger; -import javax.persistence.Query; -import javax.persistence.Tuple; +import jakarta.persistence.Query; +import jakarta.persistence.Tuple; import java.math.BigInteger; import java.util.*; import java.util.concurrent.ConcurrentHashMap; @@ -98,11 +98,12 @@ public void run() { @Override protected void scripts() { Query query = dbf.getEntityManager().createNativeQuery("select unix_timestamp()"); - Long current = ((BigInteger) query.getSingleResult()).longValue() * 1000; + Long current = ((Number) query.getSingleResult()).longValue() * 1000; sql(TaskProgressVO.class).notNull(TaskProgressVO_.timeToDelete) .lte(TaskProgressVO_.timeToDelete, current).hardDelete(); - sql("delete from TaskProgressVO vo where vo.time + :ttl <= UNIX_TIMESTAMP() * 1000") - .param("ttl", TimeUnit.SECONDS.toMillis(ProgressGlobalConfig.PROGRESS_TTL.value(Long.class))).execute(); + sql("delete from TaskProgressVO vo where vo.time + :ttl <= :current") + .param("ttl", TimeUnit.SECONDS.toMillis(ProgressGlobalConfig.PROGRESS_TTL.value(Long.class))) + .param("current", current).execute(); } }.execute(); } @@ -173,7 +174,7 @@ public void cleanTaskProgress(String apiId) { } Query query = dbf.getEntityManager().createNativeQuery("select unix_timestamp()"); - Long current = ((BigInteger) query.getSingleResult()).longValue() * 1000; + Long current = ((Number) query.getSingleResult()).longValue() * 1000; SQL.New(TaskProgressVO.class).eq(TaskProgressVO_.apiId, apiId).set(TaskProgressVO_.timeToDelete, current + TimeUnit.SECONDS.toMillis(DELETE_DELAY)).update(); } diff --git a/core/src/main/java/org/zstack/core/rest/AsyncRESTCallController.java b/core/src/main/java/org/zstack/core/rest/AsyncRESTCallController.java index e3e1e518744..fda7be63301 100755 --- a/core/src/main/java/org/zstack/core/rest/AsyncRESTCallController.java +++ b/core/src/main/java/org/zstack/core/rest/AsyncRESTCallController.java @@ -6,8 +6,8 @@ import org.springframework.web.bind.annotation.RequestMethod; import org.zstack.header.rest.RESTConstant; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; @Controller public class AsyncRESTCallController { diff --git a/core/src/main/java/org/zstack/core/rest/RESTApiController.java b/core/src/main/java/org/zstack/core/rest/RESTApiController.java index df8657f7f73..cc369083bd2 100755 --- a/core/src/main/java/org/zstack/core/rest/RESTApiController.java +++ b/core/src/main/java/org/zstack/core/rest/RESTApiController.java @@ -18,8 +18,8 @@ import org.zstack.utils.gson.JSONObjectUtil; import org.zstack.utils.logging.CLogger; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.PrintWriter; 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..a4e3e424ee6 100755 --- a/core/src/main/java/org/zstack/core/rest/RESTApiFacadeImpl.java +++ b/core/src/main/java/org/zstack/core/rest/RESTApiFacadeImpl.java @@ -29,10 +29,10 @@ import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; -import javax.persistence.EntityManager; -import javax.persistence.EntityManagerFactory; -import javax.persistence.EntityTransaction; -import javax.persistence.Query; +import jakarta.persistence.EntityManager; +import jakarta.persistence.EntityManagerFactory; +import jakarta.persistence.EntityTransaction; +import jakarta.persistence.Query; import java.util.*; import java.util.concurrent.Future; import java.util.concurrent.TimeUnit; 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..48376e6a4cb 100755 --- a/core/src/main/java/org/zstack/core/rest/RESTFacadeImpl.java +++ b/core/src/main/java/org/zstack/core/rest/RESTFacadeImpl.java @@ -6,19 +6,16 @@ import io.opentelemetry.context.Context; import io.opentelemetry.context.Scope; import org.apache.http.HttpStatus; -import org.apache.http.impl.nio.client.CloseableHttpAsyncClient; -import org.apache.http.impl.nio.client.HttpAsyncClients; -import org.apache.http.impl.nio.conn.PoolingNHttpClientConnectionManager; -import org.apache.http.impl.nio.reactor.DefaultConnectingIOReactor; -import org.apache.http.impl.nio.reactor.IOReactorConfig; -import org.apache.http.nio.reactor.IOReactorException; import org.apache.logging.log4j.ThreadContext; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.*; -import org.springframework.http.client.HttpComponentsAsyncClientHttpRequestFactory; -import org.springframework.util.concurrent.ListenableFuture; import org.springframework.web.client.*; import org.springframework.web.util.UriComponentsBuilder; + +import java.nio.charset.StandardCharsets; +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; import org.zstack.core.CoreGlobalProperty; import org.zstack.core.MessageCommandRecorder; import org.zstack.core.Platform; @@ -48,8 +45,8 @@ import org.zstack.utils.gson.JSONObjectUtil; import org.zstack.utils.logging.CLogger; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; import java.io.BufferedReader; import java.io.IOException; import java.net.URI; @@ -78,7 +75,8 @@ public class RESTFacadeImpl implements RESTFacade { private String path; private String callbackUrl; private TimeoutRestTemplate template; - private AsyncRestTemplate asyncRestTemplate; + private RestTemplate asyncRestTemplate; + private final ExecutorService asyncExecutor = Executors.newCachedThreadPool(); private String baseUrl; private String sendCommandUrl; private String callbackHostName; @@ -219,30 +217,10 @@ void init() { } // timeout are in milliseconds - private static AsyncRestTemplate createAsyncRestTemplate(int readTimeout, int connectTimeout, int maxPerRoute, int maxTotal) { - PoolingNHttpClientConnectionManager connectionManager; - try { - connectionManager = new PoolingNHttpClientConnectionManager(new DefaultConnectingIOReactor(IOReactorConfig.DEFAULT)); - } catch (IOReactorException ex) { - throw new CloudRuntimeException(ex); - } - - connectionManager.setDefaultMaxPerRoute(maxPerRoute); - connectionManager.setMaxTotal(maxTotal); - - CloseableHttpAsyncClient httpAsyncClient = HttpAsyncClients.custom() - .setConnectionManager(connectionManager) - .build(); - - HttpComponentsAsyncClientHttpRequestFactory cf = new HttpComponentsAsyncClientHttpRequestFactory(httpAsyncClient); - cf.setConnectTimeout(connectTimeout); - cf.setReadTimeout(readTimeout); - cf.setConnectionRequestTimeout(connectTimeout * 2); - - AsyncRestTemplate asyncRestTemplate = new AsyncRestTemplate(cf); - RESTFacade.setMessageConverter(asyncRestTemplate.getMessageConverters()); - - return asyncRestTemplate; + private static RestTemplate createAsyncRestTemplate(int readTimeout, int connectTimeout, int maxPerRoute, int maxTotal) { + // Spring 6 removed AsyncRestTemplate; use a regular RestTemplate with CompletableFuture for async calls + RestTemplate restTemplate = RESTFacade.createRestTemplate(readTimeout, connectTimeout); + return restTemplate; } void notifyCallback(HttpServletRequest req, HttpServletResponse rsp) { @@ -297,7 +275,7 @@ void sendCommand(HttpServletRequest req, HttpServletResponse rsp) { if (ret == null) { rsp.setStatus(HttpStatus.SC_OK); } else { - rsp.setStatus(HttpStatus.SC_OK, ret); + rsp.setStatus(HttpStatus.SC_OK); } } catch (IOException e) { logger.warn(e.getMessage(), e); @@ -387,7 +365,7 @@ public void asyncJson(final String url, final String body, Map h final long finalStime = stime; HttpHeaders requestHeaders = new HttpHeaders(); - requestHeaders.setContentLength(body.length()); + requestHeaders.setContentLength(body.getBytes(StandardCharsets.UTF_8).length); requestHeaders.set(RESTConstant.TASK_UUID, taskUuid); requestHeaders.set(RESTConstant.CALLBACK_URL, callbackUrl); MediaType JSON = MediaType.parseMediaType("application/json; charset=utf-8"); @@ -574,8 +552,8 @@ public void success(HttpEntity responseEntity) { logger.trace(String.format("json %s [%s], %s", method.toString(), url, req)); } - ListenableFuture> f = asyncRestTemplate.exchange(url, method, req, String.class); - f.addCallback(rsp -> {}, e -> wrapper.fail(err(ORG_ZSTACK_CORE_REST_10003, SysErrors.HTTP_ERROR, e.getLocalizedMessage()))); + CompletableFuture.supplyAsync(() -> asyncRestTemplate.exchange(url, method, req, String.class), asyncExecutor) + .exceptionally(e -> { wrapper.fail(err(ORG_ZSTACK_CORE_REST_10003, SysErrors.HTTP_ERROR, e.getLocalizedMessage())); return null; }); } catch (RestClientException e) { logger.warn(String.format("Unable to %s to %s: %s", method.toString(), url, e.getMessage())); wrapper.fail(ExceptionDSL.isCausedBy(e, ResourceAccessException.class) ? err(ORG_ZSTACK_CORE_REST_10004, SysErrors.IO_ERROR, e.getMessage()) : inerr(ORG_ZSTACK_CORE_REST_10005, e.getMessage())); @@ -683,7 +661,7 @@ protected ResponseEntity syncJson(RestHttp http) { HttpHeaders requestHeaders = new HttpHeaders(); requestHeaders.setAll(http.getHeaders()); - requestHeaders.setContentLength(body.length()); + requestHeaders.setContentLength(body.getBytes(StandardCharsets.UTF_8).length); HttpEntity req = new HttpEntity<>(body, requestHeaders); ResponseEntity rsp = syncRawJson(req, http); @@ -809,7 +787,7 @@ protected T syncJson(String url, String body, Map headers, requestHeaders.setAll(headers); } requestHeaders.setContentType(MediaType.APPLICATION_JSON); - requestHeaders.setContentLength(body.length()); + requestHeaders.setContentLength(body.getBytes(StandardCharsets.UTF_8).length); HttpEntity req = new HttpEntity(body, requestHeaders); ResponseEntity rsp = syncRawJson(url, req, method, unit, timeout); diff --git a/core/src/main/java/org/zstack/core/timeout/TimeHelper.java b/core/src/main/java/org/zstack/core/timeout/TimeHelper.java index db6c8e066f6..1a6cc9d9d03 100644 --- a/core/src/main/java/org/zstack/core/timeout/TimeHelper.java +++ b/core/src/main/java/org/zstack/core/timeout/TimeHelper.java @@ -4,7 +4,7 @@ import org.zstack.core.thread.PeriodicTask; import org.zstack.core.thread.ThreadFacade; -import javax.annotation.PostConstruct; +import jakarta.annotation.PostConstruct; import java.sql.Timestamp; import java.util.concurrent.TimeUnit; diff --git a/core/src/main/java/org/zstack/core/upgrade/APIQueryAgentVersionMsg.java b/core/src/main/java/org/zstack/core/upgrade/APIQueryAgentVersionMsg.java index ce7ba728ea4..80fafe4c7af 100644 --- a/core/src/main/java/org/zstack/core/upgrade/APIQueryAgentVersionMsg.java +++ b/core/src/main/java/org/zstack/core/upgrade/APIQueryAgentVersionMsg.java @@ -13,7 +13,7 @@ @RestRequest( path = "/agent-version", optionalPaths = {"/agent-version/{uuid}"}, - method = HttpMethod.GET, + method = "GET", responseClass = APIQueryAgentVersionReply.class ) public class APIQueryAgentVersionMsg extends APIQueryMessage { 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..2303d65b6fd 100644 --- a/core/src/main/java/org/zstack/core/upgrade/AgentVersionVO.java +++ b/core/src/main/java/org/zstack/core/upgrade/AgentVersionVO.java @@ -3,7 +3,7 @@ import org.zstack.header.vo.*; import org.zstack.header.vo.ForeignKey; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; 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 e12d136a8be..be9587dc769 100644 --- a/core/src/main/java/org/zstack/core/upgrade/AgentVersionVO_.java +++ b/core/src/main/java/org/zstack/core/upgrade/AgentVersionVO_.java @@ -1,7 +1,7 @@ package org.zstack.core.upgrade; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; @StaticMetamodel(AgentVersionVO.class) diff --git a/core/src/main/java/org/zstack/core/workflow/WorkFlowChainVO.java b/core/src/main/java/org/zstack/core/workflow/WorkFlowChainVO.java index 1ade35f058a..d6464115b33 100755 --- a/core/src/main/java/org/zstack/core/workflow/WorkFlowChainVO.java +++ b/core/src/main/java/org/zstack/core/workflow/WorkFlowChainVO.java @@ -1,6 +1,6 @@ package org.zstack.core.workflow; -import javax.persistence.*; +import jakarta.persistence.*; import java.util.Date; @Entity diff --git a/core/src/main/java/org/zstack/core/workflow/WorkFlowChainVO_.java b/core/src/main/java/org/zstack/core/workflow/WorkFlowChainVO_.java index 38e4622b33a..115c448a730 100755 --- a/core/src/main/java/org/zstack/core/workflow/WorkFlowChainVO_.java +++ b/core/src/main/java/org/zstack/core/workflow/WorkFlowChainVO_.java @@ -1,7 +1,7 @@ package org.zstack.core.workflow; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.util.Date; @StaticMetamodel(WorkFlowChainVO.class) diff --git a/core/src/main/java/org/zstack/core/workflow/WorkFlowVO.java b/core/src/main/java/org/zstack/core/workflow/WorkFlowVO.java index 7bb5d0b34ba..ae76b8d2bb9 100755 --- a/core/src/main/java/org/zstack/core/workflow/WorkFlowVO.java +++ b/core/src/main/java/org/zstack/core/workflow/WorkFlowVO.java @@ -1,6 +1,6 @@ package org.zstack.core.workflow; -import javax.persistence.*; +import jakarta.persistence.*; import java.util.Date; @Entity diff --git a/core/src/main/java/org/zstack/core/workflow/WorkFlowVO_.java b/core/src/main/java/org/zstack/core/workflow/WorkFlowVO_.java index 16a32313fcc..a3263ce994d 100755 --- a/core/src/main/java/org/zstack/core/workflow/WorkFlowVO_.java +++ b/core/src/main/java/org/zstack/core/workflow/WorkFlowVO_.java @@ -1,7 +1,7 @@ package org.zstack.core.workflow; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.util.Date; @StaticMetamodel(WorkFlowVO.class) diff --git a/docs/modules/longjob/examples/link_to_ImageManagerImpl.java b/docs/modules/longjob/examples/link_to_ImageManagerImpl.java deleted file mode 120000 index f7672b9d593..00000000000 --- a/docs/modules/longjob/examples/link_to_ImageManagerImpl.java +++ /dev/null @@ -1 +0,0 @@ -../../../../image/src/main/java/org/zstack/image/ImageManagerImpl.java \ No newline at end of file diff --git a/docs/modules/longjob/examples/link_to_ImageManagerImpl.java b/docs/modules/longjob/examples/link_to_ImageManagerImpl.java new file mode 100755 index 00000000000..34d694aa6c7 --- /dev/null +++ b/docs/modules/longjob/examples/link_to_ImageManagerImpl.java @@ -0,0 +1,2771 @@ +package org.zstack.image; + +import org.apache.commons.lang.StringUtils; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.AntPathMatcher; +import org.zstack.core.Platform; +import org.zstack.core.asyncbatch.AsyncBatchRunner; +import org.zstack.core.asyncbatch.LoopAsyncBatch; +import org.zstack.core.asyncbatch.While; +import org.zstack.core.cloudbus.*; +import org.zstack.core.componentloader.PluginRegistry; +import org.zstack.core.config.GlobalConfig; +import org.zstack.core.config.GlobalConfigException; +import org.zstack.core.config.GlobalConfigUpdateExtensionPoint; +import org.zstack.core.config.GlobalConfigValidatorExtensionPoint; +import org.zstack.core.db.*; +import org.zstack.core.db.SimpleQuery.Op; +import org.zstack.core.defer.Defer; +import org.zstack.core.defer.Deferred; +import org.zstack.core.errorcode.ErrorFacade; +import org.zstack.core.thread.CancelablePeriodicTask; +import org.zstack.core.thread.ThreadFacade; +import org.zstack.core.workflow.FlowChainBuilder; +import org.zstack.core.workflow.ShareFlow; +import org.zstack.core.workflow.SimpleFlowChain; +import org.zstack.header.AbstractService; +import org.zstack.header.allocator.HostAllocatorFilterExtensionPoint; +import org.zstack.header.allocator.HostAllocatorSpec; +import org.zstack.header.apimediator.ApiMessageInterceptionException; +import org.zstack.header.apimediator.StopRoutingException; +import org.zstack.header.core.*; +import org.zstack.header.core.progress.TaskProgressRange; +import org.zstack.header.core.workflow.*; +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.HostVO; +import org.zstack.header.identity.*; +import org.zstack.header.identity.quota.QuotaMessageHandler; +import org.zstack.header.image.*; +import org.zstack.header.image.ImageConstant.ImageMediaType; +import org.zstack.header.image.ImageDeletionPolicyManager.ImageDeletionPolicy; +import org.zstack.header.longjob.LongJobInventory; +import org.zstack.header.longjob.LongJobState; +import org.zstack.header.managementnode.ManagementNodeReadyExtensionPoint; +import org.zstack.header.message.*; +import org.zstack.header.network.l3.IpRangeVO; +import org.zstack.header.rest.RESTFacade; +import org.zstack.header.storage.backup.*; +import org.zstack.header.storage.primary.CancelJobOnPrimaryStorageMsg; +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.*; +import org.zstack.header.tag.SystemTagCreateMessageValidator; +import org.zstack.header.tag.SystemTagValidator; +import org.zstack.header.vm.*; +import org.zstack.header.vo.ResourceVO; +import org.zstack.header.vo.ResourceVO_; +import org.zstack.header.volume.*; +import org.zstack.identity.AccountManager; +import org.zstack.tag.TagManager; +import org.zstack.utils.*; +import org.zstack.utils.function.Function; +import org.zstack.utils.gson.JSONObjectUtil; +import org.zstack.utils.logging.CLogger; +import org.zstack.utils.network.IPv6Constants; +import org.zstack.utils.network.IPv6NetworkUtils; +import org.zstack.utils.network.NetworkUtils; +import org.zstack.zql.ZQL; + +import jakarta.persistence.Tuple; +import jakarta.persistence.TypedQuery; +import javax.xml.ws.ResponseWrapper; +import java.net.URI; +import java.net.URISyntaxException; +import java.sql.Timestamp; +import java.time.LocalDateTime; +import java.util.*; +import java.util.concurrent.Callable; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.Future; +import java.util.concurrent.TimeUnit; +import java.util.concurrent.atomic.AtomicBoolean; +import java.util.concurrent.atomic.AtomicInteger; +import java.util.function.Consumer; +import java.util.stream.Collectors; + +import static java.util.Arrays.asList; +import static org.zstack.core.Platform.*; +import static org.zstack.core.progress.ProgressReportService.*; +import static org.zstack.core.progress.ProgressReportService.markTaskStage; +import static org.zstack.longjob.LongJobUtils.buildErrIfCanceled; +import static org.zstack.longjob.LongJobUtils.noncancelableErr; +import static org.zstack.utils.CollectionDSL.list; +import static org.zstack.utils.clouderrorcode.CloudOperationsErrorCode.*; + +public class ImageManagerImpl extends AbstractService implements ImageManager, ManagementNodeReadyExtensionPoint, + ReportQuotaExtensionPoint, ResourceOwnerPreChangeExtensionPoint, HostAllocatorFilterExtensionPoint { + private static final CLogger logger = Utils.getLogger(ImageManagerImpl.class); + + @Autowired + private CloudBus bus; + @Autowired + private PluginRegistry pluginRgty; + @Autowired + private DatabaseFacade dbf; + @Autowired + private AccountManager acntMgr; + @Autowired + private ErrorFacade errf; + @Autowired + private TagManager tagMgr; + @Autowired + private ThreadFacade thdf; + @Autowired + private ResourceDestinationMaker destMaker; + @Autowired + private ImageDeletionPolicyManager deletionPolicyMgr; + @Autowired + protected RESTFacade restf; + @Autowired + protected ImageExtensionPointEmitter extEmitter; + + + + private Map imageFactories = Collections.synchronizedMap(new HashMap<>()); + private List imageExtensionManagers = new ArrayList<>(); + private static final Set allowedMessageAfterDeletion = new HashSet<>(); + private Future expungeTask; + + static { + allowedMessageAfterDeletion.add(ImageDeletionMsg.class); + } + + @Override + @MessageSafe + public void handleMessage(Message msg) { + ImageExtensionManager extensionManager = imageExtensionManagers.stream().filter(it -> it.getMessageClasses() + .stream().anyMatch(clz -> clz.isAssignableFrom(msg.getClass()))).findFirst().orElse(null); + if (extensionManager == null) { + handleMessageBase(msg); + return; + } + + try { + extensionManager.handleMessage(msg); + } catch (StopRoutingException e) { + handleMessageBase(msg); + } + } + + private void handleMessageBase(Message msg) { + if (msg instanceof ImageMessage) { + passThrough((ImageMessage) msg); + } else if (msg instanceof APIMessage) { + handleApiMessage(msg); + } else { + handleLocalMessage(msg); + } + } + + private void handle(AddImageMsg msg) { + AddImageReply evt = new AddImageReply(); + AddImageLongJobData data = new AddImageLongJobData(msg); + BeanUtils.copyProperties(msg, data); + handleAddImageMsg(data, evt); + } + + private void handle(CreateRootVolumeTemplateFromRootVolumeMsg msg) { + CreateRootVolumeTemplateFromRootVolumeReply reply = new CreateRootVolumeTemplateFromRootVolumeReply(); + createRootVolumeTemplateFromRootVolume(msg, msg.getRootVolumeUuid(), new ReturnValueCompletion(msg) { + @Override + public void success(ImageInventory image) { + reply.setInventory(image); + bus.reply(msg, reply); + } + + @Override + public void fail(ErrorCode errorCode) { + reply.setError(errorCode); + bus.reply(msg, reply); + } + }); + } + + private void handle(CreateRootVolumeTemplateFromVolumeSnapshotMsg msg) { + CreateRootVolumeTemplateFromVolumeSnapshotReply reply = new CreateRootVolumeTemplateFromVolumeSnapshotReply(); + createVolumeTemplateFromVolumeSnapshot(msg, msg.getSnapshotUuid(), new ReturnValueCompletion(msg) { + @Override + public void success(ImageInventory image) { + reply.setInventory(image); + bus.reply(msg, reply); + } + + @Override + public void fail(ErrorCode errorCode) { + reply.setError(errorCode); + bus.reply(msg, reply); + } + }); + } + + private void handle(CreateTemporaryRootVolumeTemplateFromVolumeSnapshotMsg msg) { + CreateTemporaryRootVolumeTemplateFromVolumeSnapshotReply reply = new CreateTemporaryRootVolumeTemplateFromVolumeSnapshotReply(); + ImageMessageFiller.fillFromSnapshot(msg, msg.getSnapshotUuid()); + + Tuple t = Q.New(VolumeSnapshotVO.class).select(VolumeSnapshotVO_.volumeUuid, VolumeSnapshotVO_.treeUuid, VolumeSnapshotVO_.format) + .eq(VolumeSnapshotVO_.uuid, msg.getSnapshotUuid()).findTuple(); + String volumeUuid = t.get(0, String.class); + String treeUuid = t.get(1, String.class); + String format = t.get(2, String.class); + + t = Q.New(VolumeVO.class).eq(VolumeVO_.uuid, volumeUuid) + .select(VolumeVO_.size, VolumeVO_.primaryStorageUuid) + .findTuple(); + long size = t.get(0, Long.class); + String volumePsUuid = t.get(1, String.class); + + ImageVO vo = createTemporaryImageInDb(msg, imgvo -> { + imgvo.setSize(size); + imgvo.setFormat(format); + imgvo.setUrl(String.format("volumeSnapshot://%s", msg.getSnapshotUuid())); + }); + + FlowChain chain = FlowChainBuilder.newSimpleFlowChain(); + chain.setName(String.format("create-temporary-volume-template-from-volume-snapshot-%s", msg.getSnapshotUuid())); + chain.then(new Flow() { + final String __name__ = "create-image-in-database"; + + @Override + public void run(FlowTrigger trigger, Map data) { + // created before + createSysTag(msg, vo); + trigger.next(); + } + + @Override + public void rollback(FlowRollback trigger, Map data) { + dbf.remove(vo); + trigger.rollback(); + } + }).then(new NoRollbackFlow() { + final String __name__ = "create-image-cache-from-volume-snapshot"; + + @Override + public void run(FlowTrigger trigger, Map data) { + CreateImageCacheFromVolumeSnapshotMsg cmsg = new CreateImageCacheFromVolumeSnapshotMsg(); + cmsg.setSnapshotUuid(msg.getSnapshotUuid()); + cmsg.setImageUuid(vo.getUuid()); + cmsg.setVolumeUuid(volumeUuid); + cmsg.setTreeUuid(treeUuid); + cmsg.setSystemTags(msg.getSystemTags()); + String resourceUuid = volumeUuid != null ? volumeUuid : treeUuid; + bus.makeTargetServiceIdByResourceUuid(cmsg, VolumeSnapshotConstant.SERVICE_ID, resourceUuid); + bus.send(cmsg, new CloudBusCallBack(trigger) { + @Override + public void run(MessageReply r) { + if (!r.isSuccess()) { + trigger.fail(r.getError()); + return; + } + + CreateImageCacheFromVolumeSnapshotReply cr = r.castReply(); + + vo.setActualSize(cr.getActualSize()); + vo.setStatus(ImageStatus.Ready); + if (cr.getImageUrl() != null) { + vo.setUrl(cr.getImageUrl()); + } + dbf.update(vo); + reply.setInventory(ImageInventory.valueOf(vo)); + reply.setLocateHostUuid(cr.getLocationHostUuid()); + reply.setLocatePsUuid(volumePsUuid); + + trigger.next(); + } + }); + } + }).then(new NoRollbackFlow() { + final String __name__ = "sync-volume-system-tag"; + + @Override + public void run(FlowTrigger trigger, Map data) { + SyncSystemTagFromVolumeMsg smsg = new SyncSystemTagFromVolumeMsg(); + smsg.setImageUuid(vo.getUuid()); + smsg.setVolumeUuid(volumeUuid); + bus.makeLocalServiceId(smsg, ImageConstant.SERVICE_ID); + bus.send(smsg, new CloudBusCallBack(trigger) { + @Override + public void run(MessageReply reply) { + if (!reply.isSuccess()) { + logger.warn(String.format("sync image[uuid:%s]system tag fail", volumeUuid)); + } + trigger.next(); + } + }); + } + }).error(new FlowErrorHandler(msg) { + @Override + public void handle(ErrorCode errCode, Map data) { + reply.setError(errCode); + bus.reply(msg, reply); + } + }).done(new FlowDoneHandler(msg) { + @Override + public void handle(Map data) { + bus.reply(msg, reply); + } + }).start(); + } + + private void handleLocalMessage(Message msg) { + if (msg instanceof AddImageMsg) { + handle((AddImageMsg) msg); + } else if (msg instanceof CreateRootVolumeTemplateFromRootVolumeMsg){ + handle((CreateRootVolumeTemplateFromRootVolumeMsg) msg); + } else if (msg instanceof CancelCreateRootVolumeTemplateFromRootVolumeMsg) { + handle((CancelCreateRootVolumeTemplateFromRootVolumeMsg) msg); + } else if (msg instanceof CreateTemporaryRootVolumeTemplateFromVolumeSnapshotMsg) { + handle((CreateTemporaryRootVolumeTemplateFromVolumeSnapshotMsg) msg); + } else if (msg instanceof CreateRootVolumeTemplateFromVolumeSnapshotMsg) { + handle((CreateRootVolumeTemplateFromVolumeSnapshotMsg) msg); + } else if (msg instanceof CreateDataVolumeTemplateFromVolumeMsg){ + handle ((CreateDataVolumeTemplateFromVolumeMsg) msg); + } else if (msg instanceof CreateTemporaryRootVolumeTemplateFromVolumeMsg) { + handle((CreateTemporaryRootVolumeTemplateFromVolumeMsg) msg); + } else if (msg instanceof CreateDataVolumeTemplateFromVolumeSnapshotMsg) { + handle((CreateDataVolumeTemplateFromVolumeSnapshotMsg) msg); + } else if (msg instanceof CancelCreateDataVolumeTemplateFromVolumeMsg) { + handle((CancelCreateDataVolumeTemplateFromVolumeMsg) msg); + } else { + bus.dealWithUnknownMessage(msg); + } + } + + private void handle(final APIExpungeImageGroupMsg msg) { + final APIExpungeImageGroupEvent evt = new APIExpungeImageGroupEvent(msg.getId()); + List imageUuids = Q.New(ImageGroupRefVO.class) + .eq(ImageGroupRefVO_.imageGroupUuid, msg.getUuid()) + .select(ImageGroupRefVO_.imageUuid) + .listValues(); + FlowChain chain = FlowChainBuilder.newSimpleFlowChain(); + chain.setName(String.format("delete-image-group-%s", msg.getUuid())); + chain.then(new NoRollbackFlow() { + String __name__ = String.format("delete-images-from-image-group-%s", msg.getUuid()); + + @Override + public boolean skip(Map data) { + return CollectionUtils.isEmpty(imageUuids); + } + + @Override + public void run(final FlowTrigger trigger, Map data) { + new While<>(imageUuids).all((uuid, compl) -> { + ImageDeletionMsg msg = new ImageDeletionMsg(); + msg.setImageUuid(uuid); + msg.setDeletionPolicy(ImageDeletionPolicyManager.ImageDeletionPolicy.Direct.toString()); + msg.setForceDelete(true); + bus.makeTargetServiceIdByResourceUuid(msg, ImageConstant.SERVICE_ID, uuid); + bus.send(msg, new CloudBusCallBack(compl) { + @Override + public void run(MessageReply reply) { + compl.done(); + } + }); + }).run(new WhileDoneCompletion(trigger) { + @Override + public void done(ErrorCodeList errorCodeList) { + trigger.next(); + } + }); + } + }).then(new NoRollbackFlow() { + String __name__ = "database-clean"; + + @Override + public void run(final FlowTrigger trigger, Map data) { + new SQLBatch() { + @Override + protected void scripts() { + if (!CollectionUtils.isEmpty(imageUuids)) { + sql(ImageGroupRefVO.class) + .eq(ImageGroupRefVO_.imageGroupUuid, msg.getUuid()) + .hardDelete(); + } + + sql(ImageGroupVO.class) + .eq(ImageGroupVO_.uuid, msg.getUuid()) + .hardDelete(); + } + }.execute(); + trigger.next(); + } + }); + chain.done(new FlowDoneHandler(msg) { + @Override + public void handle(Map data) { + bus.publish(evt); + } + }).error(new FlowErrorHandler(msg) { + @Override + public void handle(ErrorCode errCode, Map data) { + evt.setError(errCode); + bus.publish(evt); + } + }).start(); + } + + private void handle(CreateDataVolumeTemplateFromVolumeMsg msg) { + CreateDataVolumeTemplateFromVolumeReply reply = new CreateDataVolumeTemplateFromVolumeReply(); + createDataVolumeTemplateFromVolume(msg, msg.getVolumeUuid(), new ReturnValueCompletion(msg) { + @Override + public void success(ImageInventory image) { + reply.setInventory(image); + bus.reply(msg, reply); + } + + @Override + public void fail(ErrorCode errorCode) { + reply.setError(errorCode); + bus.reply(msg, reply); + } + }); + } + + private void handle(CreateTemporaryRootVolumeTemplateFromVolumeMsg msg) { + ImageMessageFiller.fillFromVolume(msg, msg.getVolumeUuid()); + + CreateTemporaryRootVolumeTemplateFromVolumeReply reply = new CreateTemporaryRootVolumeTemplateFromVolumeReply(); + + //tag::flow_check[] + FlowChain chain = FlowChainBuilder.newShareFlowChain(); + chain.setName(String.format("create-temporary-volume-template-from-volume-%s", msg.getVolumeUuid())); + chain.preCheck(data -> buildErrIfCanceled()); + //end::flow_check[] + chain.then(new ShareFlow() { + ImageVO image; + long imageEstimateSize; + String volumePsUuid; + + @Override + public void setup() { + flow(new NoRollbackFlow() { + String __name__ = "get-actual-size-of-volume"; + + @Override + public void run(final FlowTrigger trigger, Map data) { + EstimateVolumeTemplateSizeMsg smsg = new EstimateVolumeTemplateSizeMsg(); + smsg.setVolumeUuid(msg.getVolumeUuid()); + bus.makeTargetServiceIdByResourceUuid(smsg, VolumeConstant.SERVICE_ID, msg.getVolumeUuid()); + bus.send(smsg, new CloudBusCallBack(trigger) { + @Override + public void run(MessageReply reply) { + if (!reply.isSuccess()) { + trigger.fail(reply.getError()); + return; + } + + EstimateVolumeTemplateSizeReply sr = reply.castReply(); + imageEstimateSize = sr.getActualSize(); + volumePsUuid = Q.New(VolumeVO.class).eq(VolumeVO_.uuid, msg.getVolumeUuid()) + .select(VolumeVO_.primaryStorageUuid) + .findValue(); + trigger.next(); + } + }); + } + }); + + flow(new Flow() { + String __name__ = "create-image-in-database"; + + @Override + public void run(FlowTrigger trigger, Map data) { + SimpleQuery q = dbf.createQuery(VolumeVO.class); + q.select(VolumeVO_.format, VolumeVO_.size); + q.add(VolumeVO_.uuid, Op.EQ, msg.getVolumeUuid()); + Tuple t = q.findTuple(); + + String format = t.get(0, String.class); + long size = t.get(1, Long.class); + + image = createTemporaryImageInDb(msg, vo -> { + vo.setSize(size); + vo.setActualSize(imageEstimateSize); + vo.setFormat(format); + vo.setUrl(String.format("volume://%s", msg.getVolumeUuid())); + }); + + createSysTag(msg, image); + + trigger.next(); + } + + @Override + public void rollback(FlowRollback trigger, Map data) { + if (image != null) { + dbf.remove(image); + } + + trigger.rollback(); + } + }); + + flow(new NoRollbackFlow() { + String __name__ = "create-image-cache-from-volume"; + + @Override + public void run(final FlowTrigger trigger, Map data) { + CreateImageCacheFromVolumeMsg cmsg = new CreateImageCacheFromVolumeMsg(); + cmsg.setUuid(msg.getVolumeUuid()); + cmsg.setImage(ImageInventory.valueOf(image)); + bus.makeTargetServiceIdByResourceUuid(cmsg, VolumeConstant.SERVICE_ID, cmsg.getUuid()); + bus.send(cmsg, new CloudBusCallBack(trigger) { + @Override + public void run(MessageReply r) { + if (!r.isSuccess()) { + trigger.fail(r.getError()); + return; + } + + CreateImageCacheFromVolumeReply cr = r.castReply(); + reply.setLocateHostUuid(cr.getLocateHostUuid()); + reply.setLocatePsUuid(volumePsUuid); + image = dbf.reload(image); + image.setStatus(ImageStatus.Ready); + image = dbf.updateAndRefresh(image); + + trigger.next(); + } + }); + } + }); + + done(new FlowDoneHandler(msg) { + @Override + public void handle(Map data) { + reply.setInventory(ImageInventory.valueOf(image)); + bus.reply(msg, reply); + } + }); + + error(new FlowErrorHandler(msg) { + @Override + public void handle(ErrorCode errCode, Map data) { + reply.setError(errCode); + bus.reply(msg, reply); + } + }); + } + }).start(); + } + + private void handle(CreateDataVolumeTemplateFromVolumeSnapshotMsg msg) { + CreateDataVolumeTemplateFromVolumeSnapshotReply reply = new CreateDataVolumeTemplateFromVolumeSnapshotReply(); + createVolumeTemplateFromVolumeSnapshot(msg, msg.getSnapshotUuid(), new ReturnValueCompletion(msg) { + @Override + public void success(ImageInventory image) { + reply.setInventory(image); + bus.reply(msg, reply); + } + + @Override + public void fail(ErrorCode errorCode) { + reply.setError(errorCode); + bus.reply(msg, reply); + } + }); + + } + + private void handleApiMessage(Message msg) { + if (msg instanceof APIAddImageMsg) { + handle((APIAddImageMsg) msg); + } else if (msg instanceof APIExpungeImageGroupMsg) { + handle((APIExpungeImageGroupMsg) msg); + } else if (msg instanceof APICloneImageMsg) { + handle((APICloneImageMsg) msg); + } else if (msg instanceof APIGetUploadImageJobDetailsMsg) { + handle((APIGetUploadImageJobDetailsMsg) msg); + } else if (msg instanceof APICreateRootVolumeTemplateFromRootVolumeMsg) { + handle((APICreateRootVolumeTemplateFromRootVolumeMsg) msg); + } else if (msg instanceof APICreateRootVolumeTemplateFromVolumeSnapshotMsg) { + handle((APICreateRootVolumeTemplateFromVolumeSnapshotMsg) msg); + } else if (msg instanceof APICreateDataVolumeTemplateFromVolumeMsg) { + handle((APICreateDataVolumeTemplateFromVolumeMsg) msg); + } else if (msg instanceof APICreateDataVolumeTemplateFromVolumeSnapshotMsg) { + handle((APICreateDataVolumeTemplateFromVolumeSnapshotMsg) msg); + } else if (msg instanceof APICreateImageGroupFromVmInstanceMsg){ + handle((APICreateImageGroupFromVmInstanceMsg) msg); + } else if (msg instanceof APICreateImageGroupFromImageMsg){ + handle((APICreateImageGroupFromImageMsg) msg); + } else if (msg instanceof APICreateImageGroupFromSnapshotMsg){ + handle((APICreateImageGroupFromSnapshotMsg) msg); + } else { + bus.dealWithUnknownMessage(msg); + } + } + + private void handle(APICreateImageGroupFromSnapshotMsg msg) { + APICreateImageGroupFromSnapshotEvent evt = new APICreateImageGroupFromSnapshotEvent(msg.getId()); + createImageGroupFromSnapshot(msg, new ReturnValueCompletion(evt) { + @Override + public void success(ImageGroupInventory imageGroup) { + evt.setInventory(imageGroup); + bus.publish(evt); + } + + @Override + public void fail(ErrorCode errorCode) { + evt.setError(errorCode); + bus.publish(evt); + } + }); + } + + private void handle(APICreateImageGroupFromVmInstanceMsg msg) { + APICreateImageGroupFromVmInstanceEvent evt = new APICreateImageGroupFromVmInstanceEvent(msg.getId()); + createImageGroupFromVmInstance(msg, msg.getVmInstanceUuid(), new ReturnValueCompletion(evt) { + @Override + public void success(ImageGroupInventory imageGroup) { + evt.setInventory(imageGroup); + bus.publish(evt); + } + + @Override + public void fail(ErrorCode errorCode) { + evt.setError(errorCode); + bus.publish(evt); + } + }); + } + + private void handle(APICreateImageGroupFromImageMsg msg) { + APICreateImageGroupFromImageEvent evt = new APICreateImageGroupFromImageEvent(msg.getId()); + + ImageGroupVO gvo = new SQLBatchWithReturn() { + @Override + protected ImageGroupVO scripts() { + List dataVolumeTemplateUuids = msg.getDataVolumeTemplateUuids(); + List volumesUuids = new ArrayList<>(); + volumesUuids.add(msg.getRootVolumeTemplateUuid()); + String groupUuid = Platform.getUuid(); + ImageGroupVO vo = new ImageGroupVO(); + vo.setUuid(groupUuid); + vo.setName(msg.getName()); + vo.setStatus(ImageStatus.Ready); + vo.setDescription(msg.getDescription()); + vo.setImageCount(1); + if (!CollectionUtils.isEmpty(dataVolumeTemplateUuids)) { + vo.setImageCount(1 + dataVolumeTemplateUuids.size()); + volumesUuids.addAll(msg.getDataVolumeTemplateUuids()); + } + vo = persist(vo); + + new HashSet(volumesUuids).forEach( + uuid -> { + ImageVO image = q(ImageVO.class) + .eq(ImageVO_.uuid, uuid) + .find(); + + ImageGroupRefVO refVO = new ImageGroupRefVO(); + refVO.setImageGroupUuid(groupUuid); + refVO.setImageUuid(uuid); + persist(refVO); + } + ); + return vo; + } + }.execute(); + evt.setInventory(ImageGroupInventory.valueOf(gvo)); + bus.publish(evt); + } + + private void createImageGroupFromSnapshot(APICreateImageGroupFromSnapshotMsg msg, ReturnValueCompletion completion) { + FlowChain chain = FlowChainBuilder.newShareFlowChain(); + chain.setName(String.format("create-image-group-from-snapshot-%s", msg.getRootVolumeSnapshotUuid())); + chain.then(new ShareFlow() { + ImageGroupVO imageGroupVO = new ImageGroupVO(); + String rootVolumeSnapshotUuid = msg.getRootVolumeSnapshotUuid(); + List dataVolumeSnapshotUuids = msg.getDataVolumeSnapshotUuids(); + List newImageUuids = new ArrayList(); + + @Override + public void setup() { + flow(new Flow() { + String __name__ = "prepare-db"; + + @Override + public void run(FlowTrigger trigger, Map data) { + imageGroupVO = new SQLBatchWithReturn() { + @Override + protected ImageGroupVO scripts() { + String groupUuid = StringUtils.isEmpty(msg.getResourceUuid()) ? Platform.getUuid() : msg.getResourceUuid(); + ImageGroupVO vo = new ImageGroupVO(); + vo.setUuid(groupUuid); + vo.setName(msg.getName()); + vo.setStatus(ImageStatus.Creating); + vo.setDescription(msg.getDescription()); + vo.setImageCount(1); + if (!CollectionUtils.isEmpty(dataVolumeSnapshotUuids)) { + vo.setImageCount(1 + dataVolumeSnapshotUuids.size()); + } + vo = persist(vo); + return vo; + } + }.execute(); + trigger.next(); + } + + @Override + public void rollback(FlowRollback trigger, Map data) { + dbf.removeByPrimaryKey(imageGroupVO.getUuid(), ImageGroupVO.class); + trigger.rollback(); + } + }); + flow(new Flow() { + String __name__ = "create-root-template-from-snapshot"; + + @Override + public void run(FlowTrigger trigger, Map data) { + CreateRootVolumeTemplateFromVolumeSnapshotMsg cmsg = new CreateRootVolumeTemplateFromVolumeSnapshotMsg(); + cmsg.setName("create-from-snap-" + rootVolumeSnapshotUuid); + cmsg.setSnapshotUuid(rootVolumeSnapshotUuid); + cmsg.setSession(msg.getSession()); + bus.makeLocalServiceId(cmsg, ImageConstant.SERVICE_ID); + bus.send(cmsg, new CloudBusCallBack(completion) { + @Override + public void run(MessageReply r) { + if (!r.isSuccess()) { + trigger.fail(r.getError()); + return; + } + + CreateRootVolumeTemplateFromVolumeSnapshotReply reply = r.castReply(); + ImageInventory imageInv = ((CreateRootVolumeTemplateFromVolumeSnapshotReply) reply).getInventory(); + newImageUuids.add(imageInv.getUuid()); + trigger.next(); + } + }); + } + + @Override + public void rollback(FlowRollback trigger, Map data) { + if (CollectionUtils.isEmpty(newImageUuids)) { + trigger.rollback(); + return; + } + for (String uuid : new ArrayList<>(newImageUuids)) { + ImageDeletionMsg delMsg = new ImageDeletionMsg(); + delMsg.setImageUuid(uuid); + delMsg.setDeletionPolicy(ImageDeletionPolicyManager.ImageDeletionPolicy.Direct.toString()); + delMsg.setForceDelete(true); + bus.makeTargetServiceIdByResourceUuid(delMsg, ImageConstant.SERVICE_ID, uuid); + bus.send(delMsg); + newImageUuids.remove(uuid); + } + trigger.rollback(); + } + }); + + flow(new Flow() { + String __name__ = "create-data-templates-from-snapshots"; + + @Override + public void run(FlowTrigger trigger, Map data) { + if (CollectionUtils.isEmpty(dataVolumeSnapshotUuids)) { + trigger.next(); + return; + } + + List errors = new ArrayList<>(); + new While<>(dataVolumeSnapshotUuids).each((iUuid, compl) -> { + CreateDataVolumeTemplateFromVolumeSnapshotMsg csmsg = new CreateDataVolumeTemplateFromVolumeSnapshotMsg(); + csmsg.setName(String.format("create-from-snapshot-%s", iUuid)); + csmsg.setSnapshotUuid(iUuid); + csmsg.setSession(msg.getSession()); + bus.makeLocalServiceId(csmsg, ImageConstant.SERVICE_ID); + bus.send(csmsg, new CloudBusCallBack(trigger) { + @Override + public void run(MessageReply reply) { + if (!reply.isSuccess()) { + errors.add(reply.getError()); + compl.allDone(); + } + + ImageInventory imageInv = ((CreateDataVolumeTemplateFromVolumeSnapshotReply) reply).getInventory(); + newImageUuids.add(imageInv.getUuid()); + compl.done(); + } + }); + }).run(new WhileDoneCompletion(trigger) { + @Override + public void done(ErrorCodeList errorCodeList) { + if (!errors.isEmpty()) { + trigger.fail(errors.get(0)); + return; + } + trigger.next(); + } + }); + + } + + @Override + public void rollback(FlowRollback trigger, Map data) { + if (CollectionUtils.isEmpty(newImageUuids)) { + trigger.rollback(); + return; + } + for (String uuid : new ArrayList<>(newImageUuids)) { + ImageDeletionMsg delMsg = new ImageDeletionMsg(); + delMsg.setImageUuid(uuid); + delMsg.setDeletionPolicy(ImageDeletionPolicyManager.ImageDeletionPolicy.Direct.toString()); + delMsg.setForceDelete(true); + bus.makeTargetServiceIdByResourceUuid(delMsg, ImageConstant.SERVICE_ID, uuid); + bus.send(delMsg); + newImageUuids.remove(uuid); + } + trigger.rollback(); + } + }); + + flow(new NoRollbackFlow() { + @Override + public void run(FlowTrigger trigger, Map data) { + String __name__ = "create-image-group-in-database"; + + imageGroupVO = new SQLBatchWithReturn() { + @Override + protected ImageGroupVO scripts() { + ImageGroupVO vo = findByUuid(imageGroupVO.getUuid(), ImageGroupVO.class); + vo.setStatus(ImageStatus.Ready); + vo = merge(vo); + + new HashSet(newImageUuids).forEach( + resourceUuid -> { + ImageGroupRefVO refVO = new ImageGroupRefVO(); + refVO.setImageGroupUuid(imageGroupVO.getUuid()); + refVO.setImageUuid(resourceUuid); + persist(refVO); + } + ); + return vo; + } + }.execute(); + trigger.next(); + } + }); + + done(new FlowDoneHandler(completion) { + @Override + public void handle(Map data) { + ImageGroupInventory inv = ImageGroupInventory.valueOf(imageGroupVO); + completion.success(inv); + } + }); + + error(new FlowErrorHandler(completion) { + @Override + public void handle(ErrorCode errCode, Map data) { + completion.fail(errCode); + } + }); + } + }).start(); + } + + + private void createImageGroupFromVmInstance(APICreateImageGroupFromVmInstanceMsg msg, String vmUuid, ReturnValueCompletion completion) { + FlowChain chain = FlowChainBuilder.newShareFlowChain(); + chain.setName(String.format("create-image-group-from-vm-instance-%s", vmUuid)); + chain.then(new ShareFlow() { + ImageGroupVO imageGroupVO = new ImageGroupVO(); + String rootVolumeUuid; + List dataVolumeUuids = new ArrayList(); + List newVolumeUuids = new ArrayList(); + + @Override + public void setup() { + flow(new Flow() { + String __name__ = "prepare-db"; + + @Override + public void run(FlowTrigger trigger, Map data) { + List volumes = Q.New(VolumeVO.class).eq(VolumeVO_.vmInstanceUuid, vmUuid).list(); + if (CollectionUtils.isEmpty(volumes)) { + trigger.fail(operr(ORG_ZSTACK_IMAGE_10022, "vm instance[uuid:%s] has no volume", vmUuid)); + return; + } + + for (VolumeVO vol : volumes) { + if (vol.getType() == VolumeType.Root) { + rootVolumeUuid = vol.getUuid(); + } else { + dataVolumeUuids.add(vol.getUuid()); + } + } + + if (rootVolumeUuid == null) { + trigger.fail(operr(ORG_ZSTACK_IMAGE_10023, "vm instance[uuid:%s] has no root volume", vmUuid)); + return; + } + + imageGroupVO = new SQLBatchWithReturn() { + @Override + protected ImageGroupVO scripts() { + String groupUuid = StringUtils.isEmpty(msg.getResourceUuid()) ? Platform.getUuid() : msg.getResourceUuid(); + ImageGroupVO vo = new ImageGroupVO(); + vo.setUuid(groupUuid); + vo.setName(msg.getName()); + vo.setStatus(ImageStatus.Creating); + vo.setDescription(msg.getDescription()); + vo.setImageCount(1); + if (!CollectionUtils.isEmpty(dataVolumeUuids)) { + vo.setImageCount(1 + dataVolumeUuids.size()); + } + vo = persist(vo); + return vo; + } + }.execute(); + trigger.next(); + } + + @Override + public void rollback(FlowRollback trigger, Map data) { + dbf.removeByPrimaryKey(imageGroupVO.getUuid(), ImageGroupVO.class); + trigger.rollback(); + } + }); + + flow(new Flow() { + String __name__ = "create-root-template-from-volume"; + + @Override + public void run(FlowTrigger trigger, Map data) { + VmInstanceVO vmVO = Q.New(VmInstanceVO.class).eq(VmInstanceVO_.uuid, vmUuid).find(); + CreateRootVolumeTemplateFromRootVolumeMsg crtMsg = new CreateRootVolumeTemplateFromRootVolumeMsg(); + crtMsg.setRootVolumeUuid(rootVolumeUuid); + crtMsg.setName(String.format("create-from-root-volume-%s", rootVolumeUuid)); + crtMsg.setArchitecture(vmVO.getArchitecture()); + crtMsg.setPlatform(vmVO.getPlatform()); + crtMsg.setGuestOsType(vmVO.getGuestOsType()); + crtMsg.setDescription(msg.getDescription()); + crtMsg.setSession(msg.getSession()); + bus.makeLocalServiceId(crtMsg, ImageConstant.SERVICE_ID); + bus.send(crtMsg, new CloudBusCallBack(trigger) { + @Override + public void run(MessageReply reply) { + if (!reply.isSuccess()) { + trigger.fail(reply.getError()); + return; + } + + ImageInventory imageInv = ((CreateRootVolumeTemplateFromRootVolumeReply) reply).getInventory(); + newVolumeUuids.add(imageInv.getUuid()); + trigger.next(); + } + }); + } + + @Override + public void rollback(FlowRollback trigger, Map data) { + if (CollectionUtils.isEmpty(newVolumeUuids)) { + trigger.rollback(); + return; + } + for (String uuid : newVolumeUuids) { + ImageDeletionMsg delMsg = new ImageDeletionMsg(); + delMsg.setImageUuid(uuid); + delMsg.setDeletionPolicy(ImageDeletionPolicyManager.ImageDeletionPolicy.Direct.toString()); + delMsg.setForceDelete(true); + bus.makeTargetServiceIdByResourceUuid(delMsg, ImageConstant.SERVICE_ID, uuid); + bus.send(delMsg); + newVolumeUuids.remove(uuid); + } + trigger.rollback(); + } + }); + + flow(new Flow() { + String __name__ = "create-data-templates-from-volumes"; + + @Override + public void run(FlowTrigger trigger, Map data) { + if (CollectionUtils.isEmpty(dataVolumeUuids)) { + trigger.next(); + return; + } + + List errors = new ArrayList<>(); + new While<>(dataVolumeUuids).each((volUuid, compl) -> { + CreateDataVolumeTemplateFromVolumeMsg cdtMsg = new CreateDataVolumeTemplateFromVolumeMsg(); + cdtMsg.setVolumeUuid(volUuid); + cdtMsg.setName(String.format("create-from-data-volume-%s", volUuid)); + cdtMsg.setDescription(msg.getDescription()); + cdtMsg.setSession(msg.getSession()); + bus.makeLocalServiceId(cdtMsg, ImageConstant.SERVICE_ID); + bus.send(cdtMsg, new CloudBusCallBack(trigger) { + @Override + public void run(MessageReply reply) { + if (!reply.isSuccess()) { + errors.add(reply.getError()); + compl.allDone(); + } + + ImageInventory imageInv = ((CreateDataVolumeTemplateFromVolumeReply) reply).getInventory(); + newVolumeUuids.add(imageInv.getUuid()); + compl.done(); + } + }); + }).run(new WhileDoneCompletion(trigger) { + @Override + public void done(ErrorCodeList errorCodeList) { + if (!errors.isEmpty()) { + trigger.fail(errors.get(0)); + return; + } + trigger.next(); + } + }); + + } + + @Override + public void rollback(FlowRollback trigger, Map data) { + if (CollectionUtils.isEmpty(newVolumeUuids)) { + trigger.rollback(); + return; + } + for (String uuid : newVolumeUuids) { + ImageDeletionMsg delMsg = new ImageDeletionMsg(); + delMsg.setImageUuid(uuid); + delMsg.setDeletionPolicy(ImageDeletionPolicyManager.ImageDeletionPolicy.Direct.toString()); + delMsg.setForceDelete(true); + bus.makeTargetServiceIdByResourceUuid(delMsg, ImageConstant.SERVICE_ID, uuid); + bus.send(delMsg); + newVolumeUuids.remove(uuid); + } + trigger.rollback(); + } + }); + + flow(new NoRollbackFlow() { + @Override + public void run(FlowTrigger trigger, Map data) { + String __name__ = "create-image-group-ref-in-database"; + + imageGroupVO = new SQLBatchWithReturn() { + @Override + protected ImageGroupVO scripts() { + ImageGroupVO vo = findByUuid(imageGroupVO.getUuid(), ImageGroupVO.class); + vo.setStatus(ImageStatus.Ready); + vo = merge(vo); + + new HashSet(newVolumeUuids).forEach( + resourceUuid -> { + ImageVO image = q(ImageVO.class) + .eq(ImageVO_.uuid, resourceUuid) + .find(); + + ImageGroupRefVO refVO = new ImageGroupRefVO(); + refVO.setImageGroupUuid(imageGroupVO.getUuid()); + refVO.setImageUuid(resourceUuid); + persist(refVO); + } + ); + return vo; + } + }.execute(); + trigger.next(); + } + }); + + done(new FlowDoneHandler(completion) { + @Override + public void handle(Map data) { + ImageGroupInventory inv = ImageGroupInventory.valueOf(imageGroupVO); + completion.success(inv); + } + }); + + error(new FlowErrorHandler(completion) { + @Override + public void handle(ErrorCode errCode, Map data) { + completion.fail(errCode); + } + }); + } + }).start(); + } + + private void handle(final APICreateDataVolumeTemplateFromVolumeMsg msg) { + APICreateDataVolumeTemplateFromVolumeEvent evt = new APICreateDataVolumeTemplateFromVolumeEvent(msg.getId()); + createDataVolumeTemplateFromVolume(msg, msg.getVolumeUuid(), new ReturnValueCompletion(evt) { + @Override + public void success(ImageInventory image) { + evt.setInventory(image); + bus.publish(evt); + } + + @Override + public void fail(ErrorCode errorCode) { + evt.setError(errorCode); + bus.publish(evt); + } + }); + } + + private void handle(final APICreateDataVolumeTemplateFromVolumeSnapshotMsg msg) { + final APICreateDataVolumeTemplateFromVolumeSnapshotEvent evt = new APICreateDataVolumeTemplateFromVolumeSnapshotEvent(msg.getId()); + createVolumeTemplateFromVolumeSnapshot(msg, msg.getSnapshotUuid(), new ReturnValueCompletion(evt) { + @Override + public void success(ImageInventory image) { + evt.setInventory(image); + bus.publish(evt); + } + + @Override + public void fail(ErrorCode errorCode) { + evt.setError(errorCode); + bus.publish(evt); + } + }); + } + + private void handle(final APICreateRootVolumeTemplateFromVolumeSnapshotMsg msg) { + final APICreateRootVolumeTemplateFromVolumeSnapshotEvent evt = new APICreateRootVolumeTemplateFromVolumeSnapshotEvent(msg.getId()); + createVolumeTemplateFromVolumeSnapshot(msg, msg.getSnapshotUuid(), new ReturnValueCompletion(evt) { + @Override + public void success(ImageInventory image) { + evt.setInventory(image); + bus.publish(evt); + } + + @Override + public void fail(ErrorCode errorCode) { + evt.setError(errorCode); + bus.publish(evt); + } + }); + } + + private void createVolumeTemplateFromVolumeSnapshot(AddImageMessage msg, String snapshotUuid, ReturnValueCompletion completion) { + ImageMessageFiller.fillFromSnapshot(msg, snapshotUuid); + + Tuple t = Q.New(VolumeSnapshotVO.class).select(VolumeSnapshotVO_.volumeUuid, VolumeSnapshotVO_.treeUuid, VolumeSnapshotVO_.format) + .eq(VolumeSnapshotVO_.uuid, snapshotUuid).findTuple(); + String volumeUuid = t.get(0, String.class); + String treeUuid = t.get(1, String.class); + String format = t.get(2, String.class); + + ImageVO vo = createImageInDb(msg, imgvo -> { + imgvo.setFormat(format); + imgvo.setUrl(String.format("volumeSnapshot://%s", snapshotUuid)); + }); + + createSysTag(msg, vo); + + if (msg.getBackupStorageUuids() == null || msg.getBackupStorageUuids().isEmpty()) { + msg.setBackupStorageUuids(Collections.singletonList(null)); + } + + List cmsgs = msg.getBackupStorageUuids().stream().map(bsUuid -> { + CreateTemplateFromVolumeSnapshotMsg cmsg = new CreateTemplateFromVolumeSnapshotMsg(); + cmsg.setSnapshotUuid(snapshotUuid); + cmsg.setImageUuid(vo.getUuid()); + cmsg.setVolumeUuid(volumeUuid); + cmsg.setTreeUuid(treeUuid); + cmsg.setBackupStorageUuid(bsUuid); + String resourceUuid = volumeUuid != null ? volumeUuid : treeUuid; + bus.makeTargetServiceIdByResourceUuid(cmsg, VolumeSnapshotConstant.SERVICE_ID, resourceUuid); + return cmsg; + }).collect(Collectors.toList()); + + List failures = new ArrayList<>(); + AsyncLatch latch = new AsyncLatch(cmsgs.size(), new NoErrorCompletion(completion) { + @Override + public void done() { + if (failures.size() == cmsgs.size()) { + // failed on all + ErrorCodeList error = errf.stringToOperationError(String.format("failed to create template from" + + " the volume snapshot[uuid:%s] on backup storage[uuids:%s]", snapshotUuid, + msg.getBackupStorageUuids()), failures.stream().map(f -> f.error).collect(Collectors.toList())); + dbf.remove(vo); + completion.fail(error); + } else { + ImageVO imvo = dbf.reload(vo); + logger.debug(String.format("successfully created image[uuid:%s, name:%s] from volume snapshot[uuid:%s]", + imvo.getUuid(), imvo.getName(), snapshotUuid)); + + ImageInventory inv = ImageInventory.valueOf(imvo); + extEmitter.afterCreateImage(inv); + completion.success(inv); + } + } + }); + + String psUuid = Q.New(VolumeSnapshotVO.class).select(VolumeSnapshotVO_.primaryStorageUuid) + .eq(VolumeSnapshotVO_.uuid, snapshotUuid) + .findValue(); + + RunOnce once = new RunOnce(); + for (CreateTemplateFromVolumeSnapshotMsg cmsg : cmsgs) { + extEmitter.beforeCreateImage(ImageInventory.valueOf(vo), cmsg.getBackupStorageUuid(), psUuid); + bus.send(cmsg, new CloudBusCallBack(latch) { + @Override + public void run(MessageReply reply) { + if (!reply.isSuccess()) { + synchronized (failures) { + APICreateRootVolumeTemplateFromVolumeSnapshotEvent.Failure failure = + new APICreateRootVolumeTemplateFromVolumeSnapshotEvent.Failure(); + failure.error = reply.getError(); + failure.backupStorageUuid = cmsg.getBackupStorageUuid(); + failures.add(failure); + } + } else { + CreateTemplateFromVolumeSnapshotReply cr = reply.castReply(); + ImageBackupStorageRefVO ref = new ImageBackupStorageRefVO(); + ref.setBackupStorageUuid(cr.getBackupStorageUuid()); + ref.setInstallPath(cr.getBackupStorageInstallPath()); + ref.setStatus(ImageStatus.Ready); + ref.setImageUuid(vo.getUuid()); + dbf.persist(ref); + + once.run(() -> { + vo.setSize(cr.getSize()); + vo.setActualSize(cr.getActualSize()); + vo.setStatus(ImageStatus.Ready); + dbf.update(vo); + }); + } + + latch.ack(); + } + }); + } + } + + @Override + public ImageVO createImageInDb(AddImageMessage msg, Consumer updater) { + final ImageVO vo = new ImageVO(); + if (msg.getResourceUuid() != null) { + vo.setUuid(msg.getResourceUuid()); + } else { + vo.setUuid(Platform.getUuid()); + } + vo.setName(msg.getName()); + vo.setSystem(msg.isSystem()); + vo.setDescription(msg.getDescription()); + vo.setPlatform(msg.getPlatform() == null ? null : ImagePlatform.valueOf(msg.getPlatform())); + vo.setGuestOsType(msg.getGuestOsType()); + vo.setVirtio(msg.isVirtio()); + vo.setArchitecture(msg.getArchitecture()); + vo.setStatus(ImageStatus.Creating); + vo.setState(ImageState.Enabled); + vo.setMediaType(ImageMediaType.valueOf(msg.getMediaType())); + vo.setType(ImageConstant.ZSTACK_IMAGE_TYPE); + vo.setAccountUuid(msg.getSession().getAccountUuid()); + updater.accept(vo); + dbf.persist(vo); + + return vo; + } + + private ImageVO createTemporaryImageInDb(AddImageMessage msg, Consumer updater) { + ImageVO image = createImageInDb(msg, updater); + tagMgr.createNonInherentSystemTag(image.getUuid(), + ImageSystemTags.TEMPORARY_IMAGE.getTagFormat(), + ImageVO.class.getSimpleName()); + return image; + } + + private void createSysTag(AddImageMessage msg, ImageVO vo) { + if (msg instanceof APICreateMessage) { + tagMgr.createTagsFromAPICreateMessage((APICreateMessage) msg, vo.getUuid(), ImageVO.class.getSimpleName()); + } else { + tagMgr.createTags(msg.getSystemTags(), msg.getUserTags(), vo.getUuid(), ImageVO.class.getSimpleName()); + } + } + + private void handle(final APIGetUploadImageJobDetailsMsg msg) { + APIGetUploadImageJobDetailsReply reply = new APIGetUploadImageJobDetailsReply(); + + String tag = ImageSystemTags.UPLOAD_IMAGE_INFO.instantiateTag(Collections.singletonMap(ImageSystemTags.IMAGE_ID, msg.getImageId())); + List longjobUuids = SQL.New("select job.uuid from SystemTagVO tag, LongJobVO job" + + " where tag.tag = :tag" + + " and tag.resourceUuid = job.uuid" + + " and job.state not in :finalState", String.class) + .param("tag", tag) + .param("finalState", LongJobState.finalStates) + .list(); + + if (longjobUuids.isEmpty()) { + bus.reply(msg, reply); + return; + } + + List jobs = ZQL.fromString(String.format("query longjob where uuid in ('%s')", String.join("','", longjobUuids))) + .getSingleResultWithSession(msg.getSession()).inventories; + for (Object j : jobs) { + LongJobInventory job = (LongJobInventory) j; + APIGetUploadImageJobDetailsReply.JobDetails detail = new APIGetUploadImageJobDetailsReply.JobDetails(); + detail.setLongJobUuid(job.getUuid()); + detail.setLongJobState(job.getState().toString()); + detail.setImageUuid(job.getTargetResourceUuid()); + + ImageBackupStorageRefVO ref = Q.New(ImageBackupStorageRefVO.class) + .eq(ImageBackupStorageRefVO_.imageUuid, job.getTargetResourceUuid()) + .limit(1) + .find(); + + if (ref == null) { + continue; + } + + GetImageDownloadProgressMsg gmsg = new GetImageDownloadProgressMsg(); + gmsg.setBackupStorageUuid(ref.getBackupStorageUuid()); + gmsg.setImageUuid(ref.getImageUuid()); + try { + String hostname = new URI(ref.getInstallPath()).getHost(); + gmsg.setHostname(hostname); + } catch (URISyntaxException e) { + continue; + } + + bus.makeLocalServiceId(gmsg, BackupStorageConstant.SERVICE_ID); + final MessageReply r = bus.call(gmsg); + if (!r.isSuccess()) { + continue; + } + + GetImageDownloadProgressReply gr = r.castReply(); + detail.setOffset(gr.getDownloadSize()); + detail.setImageUploadUrl(ref.getInstallPath()); + reply.addExistingJobDetails(detail); + } + + bus.reply(msg, reply); + } + + private void passThrough(ImageMessage msg) { + ImageVO vo = dbf.findByUuid(msg.getImageUuid(), ImageVO.class); + if (vo == null && allowedMessageAfterDeletion.contains(msg.getClass())) { + ImageEO eo = dbf.findByUuid(msg.getImageUuid(), ImageEO.class); + vo = ObjectUtils.newAndCopy(eo, ImageVO.class); + } + + if (vo == null) { + ErrorCode err = err(ORG_ZSTACK_IMAGE_10024, SysErrors.RESOURCE_NOT_FOUND, "Cannot find image[uuid:%s], it may have been deleted", msg.getImageUuid()); + logger.warn(err.getDetails()); + bus.replyErrorByMessageType((Message) msg, err); + return; + } + + ImageFactory factory = getImageFacotry(ImageType.valueOf(vo.getType())); + Image img = factory.getImage(vo); + img.handleMessage((Message) msg); + } + + + private void handle(final APICreateRootVolumeTemplateFromRootVolumeMsg msg) { + APICreateRootVolumeTemplateFromRootVolumeEvent evt = new APICreateRootVolumeTemplateFromRootVolumeEvent(msg.getId()); + createRootVolumeTemplateFromRootVolume(msg, msg.getRootVolumeUuid(), new ReturnValueCompletion(evt) { + @Override + public void success(ImageInventory image) { + evt.setInventory(image); + bus.publish(evt); + } + + @Override + public void fail(ErrorCode errorCode) { + evt.setError(errorCode); + bus.publish(evt); + } + }); + } + + private static boolean isUpload(final String url) { + return url.startsWith("upload://"); + } + + private void handle(final APIAddImageMsg msg) { + APIAddImageEvent evt = new APIAddImageEvent(msg.getId()); + AddImageLongJobData data = new AddImageLongJobData(msg); + BeanUtils.copyProperties(msg, data); + handleAddImageMsg(data, evt); + } + + private void handle(final APICloneImageMsg msg) { + APICloneImageEvent evt = new APICloneImageEvent(msg.getId()); + Set copiedRefs; + ImageVO sourceImage = dbf.findByUuid(msg.getImageUuid(), ImageVO.class); + if (sourceImage == null) { + throw new OperationFailureException(operr(ORG_ZSTACK_IMAGE_10025, "source image [%s] not existed", msg.getImageUuid())); + } + if (sourceImage.getStatus() != ImageStatus.Ready) { + throw new OperationFailureException(operr(ORG_ZSTACK_IMAGE_10026, "cannot clone image, because image [%s] status is not ready", msg.getImageUuid())); + } + + ImageVO vo = new ImageVO(); + if (msg.getResourceUuid() != null) { + dbf.eoCleanup(ImageVO.class, msg.getResourceUuid()); + vo.setUuid(msg.getResourceUuid()); + } else { + vo.setUuid(Platform.getUuid()); + } + vo.setName(String.format("Clone-from-%s", sourceImage.getName())); + vo.setDescription(sourceImage.getDescription()); + vo.setStatus(ImageStatus.Ready); + vo.setState(sourceImage.getState()); + vo.setSize(sourceImage.getSize()); + vo.setActualSize(sourceImage.getActualSize()); + vo.setMd5Sum(sourceImage.getMd5Sum()); + vo.setPlatform(sourceImage.getPlatform()); + vo.setType(sourceImage.getType()); + vo.setFormat(sourceImage.getFormat()); + vo.setUrl(sourceImage.getUrl()); + vo.setSystem(sourceImage.isSystem()); + vo.setMediaType(sourceImage.getMediaType()); + vo.setCreateDate(sourceImage.getCreateDate()); + vo.setLastOpDate(sourceImage.getLastOpDate()); + vo.setGuestOsType(sourceImage.getGuestOsType()); + vo.setArchitecture(sourceImage.getArchitecture()); + vo.setVirtio(sourceImage.getVirtio()); + vo.setAccountUuid(sourceImage.getAccountUuid()); + copiedRefs = sourceImage.getBackupStorageRefs(); + + ImageFactory factory = getImageFacotry(ImageType.valueOf(sourceImage.getType())); + final ImageVO ivo = new SQLBatchWithReturn() { + @Override + protected ImageVO scripts() { + Set rvos = new HashSet<>(); + vo.setAccountUuid(sourceImage.getAccountUuid()); + tagMgr.createTagsFromAPICreateMessage(msg, vo.getUuid(), ImageVO.class.getSimpleName()); + ImageVO ivo = factory.createImage(vo); + for (ImageBackupStorageRefVO ref : copiedRefs) { + ImageBackupStorageRefVO rvo = copyImageBackupStorageRefVO(ref); + rvo.setImageUuid(vo.getUuid()); + + persist(rvo); + rvos.add(rvo); + } + + ivo.setBackupStorageRefs(rvos); + ivo = merge(ivo); + return ivo; + } + }.execute(); + + evt.setInventory(ImageInventory.valueOf(ivo)); + bus.publish(evt); + } + + private static ImageBackupStorageRefVO copyImageBackupStorageRefVO(ImageBackupStorageRefVO original) { + if (original == null) { + return null; + } + + ImageBackupStorageRefVO copy = new ImageBackupStorageRefVO(); + copy.setBackupStorageUuid(original.getBackupStorageUuid()); + copy.setStatus(original.getStatus()); + copy.setInstallPath(original.getInstallPath()); + Timestamp now = Timestamp.valueOf(LocalDateTime.now()); + copy.setCreateDate(now); + copy.setLastOpDate(now); + + return copy; + } + + @Override + public String getId() { + return bus.makeLocalServiceId(ImageConstant.SERVICE_ID); + } + + private void populateExtensions() { + for (ImageFactory f : pluginRgty.getExtensionList(ImageFactory.class)) { + ImageFactory old = imageFactories.get(f.getType().toString()); + if (old != null) { + throw new CloudRuntimeException(String.format("duplicate ImageFactory[%s, %s] for type[%s]", + f.getClass().getName(), old.getClass().getName(), f.getType())); + } + imageFactories.put(f.getType().toString(), f); + } + + imageExtensionManagers.addAll(pluginRgty.getExtensionList(ImageExtensionManager.class)); + } + + @Override + public boolean start() { + populateExtensions(); + installSystemTagValidator(); + installGlobalConfigUpdater(); + installGlobalConfigValidator(); + initDefaultImageArch(); + return true; + } + + private void installSystemTagValidator() { + installBootModeValidator(); + } + + private void installBootModeValidator() { + class BootModeValidator implements SystemTagCreateMessageValidator, SystemTagValidator { + @Override + public void validateSystemTag(String resourceUuid, Class resourceType, String systemTag) { + if (!ImageSystemTags.BOOT_MODE.isMatch(systemTag)) { + return; + } + + String bootMode = ImageSystemTags.BOOT_MODE.getTokenByTag(systemTag, ImageSystemTags.BOOT_MODE_TOKEN); + validateBootMode(systemTag, bootMode); + } + + @Override + public void validateSystemTagInCreateMessage(APICreateMessage msg) { + if (msg.getSystemTags() == null || msg.getSystemTags().isEmpty()) { + return; + } + + int bootModeCount = 0; + for (String systemTag : msg.getSystemTags()) { + if (ImageSystemTags.BOOT_MODE.isMatch(systemTag)) { + if (++bootModeCount > 1) { + throw new ApiMessageInterceptionException(argerr(ORG_ZSTACK_IMAGE_10027, "only one bootMode system tag is allowed, but %d got", bootModeCount)); + } + + String bootMode = ImageSystemTags.BOOT_MODE.getTokenByTag(systemTag, ImageSystemTags.BOOT_MODE_TOKEN); + validateBootMode(systemTag, bootMode); + } + } + } + + private void validateBootMode(String systemTag, String bootMode) { + boolean valid = false; + for (ImageBootMode bm : ImageBootMode.values()) { + if (bm.name().equalsIgnoreCase(bootMode)) { + valid = true; + break; + } + } + if (!valid) { + throw new ApiMessageInterceptionException(argerr( + ORG_ZSTACK_IMAGE_10028, "[%s] specified in system tag [%s] is not a valid boot mode", bootMode, systemTag) + ); + } + } + } + + BootModeValidator validator = new BootModeValidator(); + tagMgr.installCreateMessageValidator(ImageVO.class.getSimpleName(), validator); + ImageSystemTags.BOOT_MODE.installValidator(validator); + } + + private void installGlobalConfigUpdater() { + ImageGlobalConfig.DELETION_POLICY.installUpdateExtension(new GlobalConfigUpdateExtensionPoint() { + @Override + public void updateGlobalConfig(GlobalConfig oldConfig, GlobalConfig newConfig) { + startExpungeTask(); + } + }); + ImageGlobalConfig.EXPUNGE_INTERVAL.installUpdateExtension(new GlobalConfigUpdateExtensionPoint() { + @Override + public void updateGlobalConfig(GlobalConfig oldConfig, GlobalConfig newConfig) { + startExpungeTask(); + } + }); + } + + private void installGlobalConfigValidator() { + ImageGlobalConfig.DOWNLOAD_LOCALPATH_CUSTOMFILTER.installValidateExtension(new GlobalConfigValidatorExtensionPoint() { + @Override + public void validateGlobalConfig(String category, String name, String oldValue, String newValue) throws GlobalConfigException { + String[] usedList = newValue.split(";"); + boolean legal = Arrays.stream(usedList).allMatch(s -> + "blacklist".equals(s) || + "whitelist".equals(s) + ); + if (!legal) { + throw new GlobalConfigException(String.format("%s is not in [blacklist, whitelist]", newValue)); + } + } + }); + ImageGlobalConfig.DOWNLOAD_LOCALPATH_WHITELIST.installValidateExtension(getValidateExtension()); + ImageGlobalConfig.DOWNLOAD_LOCALPATH_BLACKLIST.installValidateExtension(getValidateExtension()); + } + + private GlobalConfigValidatorExtensionPoint getValidateExtension() { + AntPathMatcher matcher = new AntPathMatcher(); + return new GlobalConfigValidatorExtensionPoint() { + @Override + public void validateGlobalConfig(String category, String name, String oldValue, String newValue) throws GlobalConfigException { + if (StringUtils.isBlank(newValue)) { + return; + } + String[] pathList = newValue.split(";"); + boolean legal = Arrays.stream(pathList).allMatch(s -> matcher.match("/**", s)); + if (!legal) { + throw new GlobalConfigException(String.format("invalid value: %s, path must separated by ';' and start with '/'", newValue)); + } + } + }; + } + + private synchronized void startExpungeTask() { + if (expungeTask != null) { + expungeTask.cancel(true); + } + + expungeTask = thdf.submitCancelablePeriodicTask(new CancelablePeriodicTask() { + private List getDeletedImageManagedByUs() { + int qun = 1000; + SimpleQuery q = dbf.createQuery(ImageBackupStorageRefVO.class); + q.add(ImageBackupStorageRefVO_.status, Op.EQ, ImageStatus.Deleted); + long amount = q.count(); + int times = (int) (amount / qun) + (amount % qun != 0 ? 1 : 0); + int start = 0; + List ret = new ArrayList(); + for (int i = 0; i < times; i++) { + q = dbf.createQuery(ImageBackupStorageRefVO.class); + q.select(ImageBackupStorageRefVO_.imageUuid, ImageBackupStorageRefVO_.lastOpDate, ImageBackupStorageRefVO_.backupStorageUuid); + q.add(ImageBackupStorageRefVO_.status, Op.EQ, ImageStatus.Deleted); + q.setLimit(qun); + q.setStart(start); + List ts = q.listTuple(); + start += qun; + + for (Tuple t : ts) { + String imageUuid = t.get(0, String.class); + if (!destMaker.isManagedByUs(imageUuid)) { + continue; + } + ret.add(t); + } + } + + return ret; + } + + @Override + public boolean run() { + final List images = getDeletedImageManagedByUs(); + if (images.isEmpty()) { + logger.debug("[Image Expunge Task]: no images to expunge"); + return false; + } + + for (Tuple t : images) { + String imageUuid = t.get(0, String.class); + Timestamp date = t.get(1, Timestamp.class); + String bsUuid = t.get(2, String.class); + + final Timestamp current = dbf.getCurrentSqlTime(); + if (current.getTime() >= date.getTime() + TimeUnit.SECONDS.toMillis(ImageGlobalConfig.EXPUNGE_PERIOD.value(Long.class))) { + ImageDeletionPolicy deletionPolicy = deletionPolicyMgr.getDeletionPolicy(imageUuid); + if (ImageDeletionPolicy.Never == deletionPolicy) { + logger.debug(String.format("the deletion policy[Never] is set for the image[uuid:%s] on the backup storage[uuid:%s]," + + "don't expunge it", images, bsUuid)); + continue; + } + + ExpungeImageMsg msg = new ExpungeImageMsg(); + msg.setImageUuid(imageUuid); + msg.setBackupStorageUuid(bsUuid); + bus.makeTargetServiceIdByResourceUuid(msg, ImageConstant.SERVICE_ID, imageUuid); + bus.send(msg, new CloudBusCallBack(null) { + @Override + public void run(MessageReply reply) { + if (!reply.isSuccess()) { + logger.debug(String.format("failed to expunge the image[uuid:%s] on the backup storage[uuid:%s], will try it later. %s", + imageUuid, bsUuid, reply.getError())); + } + } + }); + } + } + + return false; + } + + @Override + public TimeUnit getTimeUnit() { + return TimeUnit.SECONDS; + } + + @Override + public long getInterval() { + return ImageGlobalConfig.EXPUNGE_INTERVAL.value(Long.class); + } + + @Override + public String getName() { + return "expunge-image"; + } + }); + } + + private void initDefaultImageArch() { + SQL.New(ImageVO.class) + .isNull(ImageVO_.architecture) + .notEq(ImageVO_.mediaType, ImageMediaType.DataVolumeTemplate) + .set(ImageVO_.architecture, ImageArchitecture.defaultArch()) + .update(); + } + + @Override + public boolean stop() { + return true; + } + + private ImageFactory getImageFacotry(ImageType type) { + ImageFactory factory = imageFactories.get(type.toString()); + if (factory == null) { + throw new CloudRuntimeException(String.format("Unable to find ImageFactory with type[%s]", type)); + } + return factory; + } + + @Override + public void managementNodeReady() { + startExpungeTask(); + } + + @Override + public List reportQuota() { + Quota quota = new Quota(); + quota.defineQuota(new ImageNumQuotaDefinition()); + quota.defineQuota(new ImageSizeQuotaDefinition()); + + quota.addQuotaMessageChecker(new QuotaMessageHandler<>(APIAddImageMsg.class) + .addCounterQuota(ImageQuotaConstant.IMAGE_NUM) + .addMessageRequiredQuotaHandler(ImageQuotaConstant.IMAGE_SIZE, (msg) -> new ImageQuotaUtil().getImageActualSizeOnBs(msg.getUrl().trim(), msg.getBackupStorageUuids()))); + quota.addQuotaMessageChecker(new QuotaMessageHandler<>(APIRecoverImageMsg.class) + .addMessageRequiredQuotaHandler(ImageQuotaConstant.IMAGE_SIZE, (msg) -> { + ImageVO image = dbf.getEntityManager().find(ImageVO.class, msg.getImageUuid()); + return image.getSize(); + })); + quota.addQuotaMessageChecker(new QuotaMessageHandler<>(APICreateRootVolumeTemplateFromRootVolumeMsg.class) + .addCounterQuota(ImageQuotaConstant.IMAGE_NUM) + .addMessageRequiredQuotaHandler(ImageQuotaConstant.IMAGE_SIZE, (msg) -> Q.New(VolumeVO.class) + .select(VolumeVO_.size) + .eq(VolumeVO_.uuid, msg.getRootVolumeUuid()) + .findValue())); + quota.addQuotaMessageChecker(new QuotaMessageHandler<>(APICreateDataVolumeTemplateFromVolumeMsg.class) + .addCounterQuota(ImageQuotaConstant.IMAGE_NUM) + .addMessageRequiredQuotaHandler(ImageQuotaConstant.IMAGE_SIZE, (msg) -> Q.New(VolumeVO.class) + .select(VolumeVO_.size) + .eq(VolumeVO_.uuid, msg.getVolumeUuid()) + .findValue())); + quota.addQuotaMessageChecker(new QuotaMessageHandler<>(APIChangeResourceOwnerMsg.class) + .addCheckCondition((msg) -> Q.New(ImageVO.class) + .eq(ImageVO_.uuid, msg.getResourceUuid()) + .isExists()) + .addCounterQuota(ImageQuotaConstant.IMAGE_NUM) + .addMessageRequiredQuotaHandler(ImageQuotaConstant.IMAGE_SIZE, (msg) -> { + ImageVO image = dbf.getEntityManager().find(ImageVO.class, msg.getResourceUuid()); + return image.getSize(); + })); + + return list(quota); + } + + @Override + @Transactional(readOnly = true) + public void resourceOwnerPreChange(AccountResourceRefInventory ref, String newOwnerUuid) { + + } + + private void saveRefVOByBsInventorys(List inventorys, String imageUuid) { + List refs = new ArrayList<>(); + for (BackupStorageInventory backupStorageInventory : inventorys) { + ImageBackupStorageRefVO ref = new ImageBackupStorageRefVO(); + ref.setBackupStorageUuid(backupStorageInventory.getUuid()); + ref.setStatus(ImageStatus.Creating); + ref.setImageUuid(imageUuid); + ref.setInstallPath(""); + refs.add(ref); + } + dbf.persistCollection(refs); + } + + @Deferred + private void handleAddImageMsg(AddImageLongJobData msgData, Message evt) { + class InnerEvent extends Message { + ErrorCode error; + ImageInventory inv; + + void reply(Message reply) { + if (evt instanceof APIAddImageEvent) { + APIAddImageEvent event = (APIAddImageEvent) reply; + if (null != error) { + event.setError(error); + } + if (null != inv) { + event.setInventory(inv); + } + bus.publish(event); + } else if (evt instanceof AddImageReply) { + AddImageReply reply1 = (AddImageReply) reply; + if (null != error ){ + reply1.setError(error); + } + if (null != inv) { + reply1.setInventory(inv); + } + bus.reply(msgData.getNeedReplyMessage(), reply1); + } + } + } + String accountUuid = msgData.getSession().getAccountUuid(); + String imageType = msgData.getType(); + imageType = imageType == null ? DefaultImageFactory.type.toString() : imageType; + + ImageVO vo = new ImageVO(); + if (msgData.getResourceUuid() != null) { + dbf.eoCleanup(ImageVO.class, msgData.getResourceUuid()); + vo.setUuid(msgData.getResourceUuid()); + } else { + vo.setUuid(Platform.getUuid()); + } + vo.setName(msgData.getName()); + vo.setDescription(msgData.getDescription()); + if (msgData.getFormat().equals(ImageConstant.ISO_FORMAT_STRING)) { + vo.setMediaType(ImageMediaType.ISO); + } else { + vo.setMediaType(ImageMediaType.valueOf(msgData.getMediaType())); + } + vo.setType(imageType); + vo.setSystem(msgData.isSystem()); + vo.setGuestOsType(msgData.getGuestOsType()); + vo.setFormat(msgData.getFormat()); + vo.setStatus(ImageStatus.Downloading); + vo.setState(ImageState.Enabled); + vo.setUrl(msgData.getUrl()); + vo.setDescription(msgData.getDescription()); + vo.setVirtio(msgData.isVirtio()); + if (msgData.getFormat().equals(ImageConstant.VMTX_FORMAT_STRING)) { + vo.setArchitecture(ImageArchitecture.x86_64.toString()); + } else { + vo.setArchitecture(msgData.getArchitecture()); + } + if (msgData.getPlatform() != null) { + vo.setPlatform(ImagePlatform.valueOf(msgData.getPlatform())); + } + + long asize = new ImageQuotaUtil().getImageActualSizeOnBs(msgData.getUrl().trim(), msgData.getBackupStorageUuids()); + vo.setActualSize(asize); + + ImageFactory factory = getImageFacotry(ImageType.valueOf(imageType)); + final ImageVO ivo = new SQLBatchWithReturn() { + @Override + protected ImageVO scripts() { + vo.setAccountUuid(accountUuid); + final ImageVO ivo = factory.createImage(vo); + + if (msgData.getNeedReplyMessage() instanceof APICreateMessage) { + tagMgr.createTagsFromAPICreateMessage((APICreateMessage) msgData.getNeedReplyMessage() , vo.getUuid(), ImageVO.class.getSimpleName()); + } else { + tagMgr.createTags(msgData.getSystemTags(), msgData.getUserTags(), vo.getUuid(), ImageVO.class.getSimpleName()); + } + + return ivo; + } + }.execute(); + + List refs = new ArrayList<>(); + for (String uuid : msgData.getBackupStorageUuids()) { + ImageBackupStorageRefVO ref = new ImageBackupStorageRefVO(); + ref.setInstallPath(""); + ref.setBackupStorageUuid(uuid); + ref.setStatus(ImageStatus.Downloading); + ref.setImageUuid(ivo.getUuid()); + refs.add(ref); + } + dbf.persistCollection(refs); + Defer.guard(() -> dbf.remove(ivo)); + + final ImageInventory inv = ImageInventory.valueOf(ivo); + + extEmitter.preAddImage(inv); + + final List dmsgs = CollectionUtils.transformToList(msgData.getBackupStorageUuids(), new Function() { + @Override + public DownloadImageMsg call(String arg) { + DownloadImageMsg dmsg = new DownloadImageMsg(inv); + dmsg.setBackupStorageUuid(arg); + dmsg.setFormat(msgData.getFormat()); + dmsg.setSystemTags(msgData.getSystemTags()); + bus.makeTargetServiceIdByResourceUuid(dmsg, BackupStorageConstant.SERVICE_ID, arg); + return dmsg; + } + }); + + extEmitter.beforeAddImage(inv); + + new LoopAsyncBatch(msgData.getNeedReplyMessage()) { + AtomicBoolean success = new AtomicBoolean(false); + UploadImageTracker tracker = new UploadImageTracker(); + ConcurrentHashMap resultMap = new ConcurrentHashMap<>(); + + @Override + protected Collection collect() { + for (DownloadImageMsg dmsg : dmsgs) { + AtomicBoolean success = new AtomicBoolean(false); + resultMap.put(dmsg.getBackupStorageUuid(), success); + } + return dmsgs; + } + + @Override + protected AsyncBatchRunner forEach(DownloadImageMsg dmsg) { + return (completion) -> { + ImageBackupStorageRefVO ref = Q.New(ImageBackupStorageRefVO.class) + .eq(ImageBackupStorageRefVO_.imageUuid, ivo.getUuid()) + .eq(ImageBackupStorageRefVO_.backupStorageUuid, dmsg.getBackupStorageUuid()) + .find(); + bus.send(dmsg, new CloudBusCallBack(completion) { + @Override + public void run(MessageReply reply) { + if (!reply.isSuccess()) { + errors.add(reply.getError()); + dbf.remove(ref); + completion.done(); + return; + } + + DownloadImageReply re = reply.castReply(); + ref.setInstallPath(re.getInstallPath()); + + if (isUpload(msgData.getUrl())) { + tracker.addTrackTask(ivo, ref); + } else { + ref.setStatus(ImageStatus.Ready); + } + + if (dbf.reload(ref) == null) { + logger.debug(String.format("image[uuid: %s] has been deleted", ref.getImageUuid())); + completion.done(); + return; + } + + dbf.update(ref); + + if (resultMap.get(ref.getBackupStorageUuid()).compareAndSet(false, true)) { + // In case 'Platform' etc. is changed. + ImageVO vo1 = dbf.reload(ivo); + vo1.setMd5Sum(re.getMd5sum()); + vo1.setSize(re.getSize()); + vo1.setActualSize(re.getActualSize()); + vo1.setUrl(URLBuilder.hideUrlPassword(vo1.getUrl())); + if (StringUtils.isNotEmpty(re.getFormat())) { + vo1.setFormat(re.getFormat()); + } + if (vo1.getFormat().equals(ImageConstant.ISO_FORMAT_STRING) + && ImageMediaType.RootVolumeTemplate.equals(vo1.getMediaType())) { + vo1.setMediaType(ImageMediaType.ISO); + } + if (ImageConstant.QCOW2_FORMAT_STRING.equals(vo1.getFormat()) + && ImageMediaType.ISO.equals(vo1.getMediaType())) { + vo1.setMediaType(ImageMediaType.RootVolumeTemplate); + } + + if (resultMap.entrySet().stream().allMatch(entry -> entry.getValue().get())) { + vo1.setStatus(ref.getStatus()); + } + + dbf.update(vo1); + } + + if (isUpload(msgData.getUrl())) { + logger.debug(String.format("created upload request, image[uuid:%s, name:%s] to backup storage[uuid:%s]", + inv.getUuid(), inv.getName(), dmsg.getBackupStorageUuid())); + } else { + logger.debug(String.format("successfully downloaded image[uuid:%s, name:%s] to backup storage[uuid:%s]", + inv.getUuid(), inv.getName(), dmsg.getBackupStorageUuid())); + } + + completion.done(); + } + }); + }; + } + + @Override + protected void done() { + // check if the database still has the record of the image + // if there is no record, that means user delete the image during the downloading, + // then we need to cleanup + ImageVO vo = dbf.reload(ivo); + InnerEvent event = new InnerEvent(); + if (vo == null) { + event.error = (operr(ORG_ZSTACK_IMAGE_10029, "image [uuid:%s] has been deleted", ivo.getUuid())); + SQL.New("delete from ImageBackupStorageRefVO where imageUuid = :uuid") + .param("uuid", ivo.getUuid()) + .execute(); + event.reply(evt); + return; + } + + if (resultMap.entrySet().stream().allMatch(entry -> entry.getValue().get())) { + final ImageInventory einv = ImageInventory.valueOf(vo); + + if (vo.getStatus() == ImageStatus.Ready) { + extEmitter.afterAddImage(einv); + pluginRgty.getExtensionList(AfterAddImageExtensionPoint.class).forEach(exp -> exp.saveEncryptAfterAddImage(vo.getUuid())); + } + + event.inv = einv; + } else { + final ErrorCode err; + if (errors.isEmpty()) { + err = err(ORG_ZSTACK_IMAGE_10030, SysErrors.CREATE_RESOURCE_ERROR, "Failed to download image[name:%s] on all backup storage%s.", + inv.getName(), msgData.getBackupStorageUuids()); + } else { + err = err(ORG_ZSTACK_IMAGE_10031, SysErrors.CREATE_RESOURCE_ERROR, errors.get(0), "Failed to download image[name:%s] on all backup storage%s.", + inv.getName(), msgData.getBackupStorageUuids()); + } + + extEmitter.failedToAddImage(inv, err); + + dbf.remove(ivo); + event.error = err; + } + + tracker.runTrackTask(); + event.reply(evt); + } + }.start(); + } + + private void createRootVolumeTemplateFromRootVolume(CreateRootVolumeTemplateMessage msgData, String rootVolumeUuid, ReturnValueCompletion completion){ + ImageMessageFiller.fillFromVolume(msgData, rootVolumeUuid); + + final TaskProgressRange parentStage = getTaskStage(); + reportProgress(parentStage.getStart().toString()); + + FlowChain chain = FlowChainBuilder.newShareFlowChain(); + chain.setName(String.format("create-template-from-root-volume-%s", rootVolumeUuid)); + chain.preCheck(data -> buildErrIfCanceled()); + chain.then(new ShareFlow() { + ImageVO imageVO; + VolumeInventory rootVolume; + Long imageEstimateSize; + List targetBackupStorages = new ArrayList<>(); + String zoneUuid; + + { + VolumeVO rootvo = dbf.findByUuid(rootVolumeUuid, VolumeVO.class); + rootVolume = VolumeInventory.valueOf(rootvo); + + SimpleQuery q = dbf.createQuery(PrimaryStorageVO.class); + q.select(PrimaryStorageVO_.zoneUuid); + q.add(PrimaryStorageVO_.uuid, Op.EQ, rootVolume.getPrimaryStorageUuid()); + zoneUuid = q.findValue(); + } + + + @Override + public void setup() { + flow(new NoRollbackFlow() { + String __name__ = "get-volume-actual-size"; + + @Override + public void run(final FlowTrigger trigger, Map data) { + EstimateVolumeTemplateSizeMsg msg = new EstimateVolumeTemplateSizeMsg(); + msg.setVolumeUuid(rootVolume.getUuid()); + bus.makeTargetServiceIdByResourceUuid(msg, VolumeConstant.SERVICE_ID, rootVolume.getPrimaryStorageUuid()); + bus.send(msg, new CloudBusCallBack(trigger) { + @Override + public void run(MessageReply reply) { + if (!reply.isSuccess()) { + trigger.fail(reply.getError()); + return; + } + + EstimateVolumeTemplateSizeReply sr = reply.castReply(); + imageEstimateSize = sr.getActualSize(); + trigger.next(); + } + }); + } + }); + + flow(new Flow() { + String __name__ = "create-image-in-database"; + + @Override + public void run(FlowTrigger trigger, Map data) { + SimpleQuery q = dbf.createQuery(VolumeVO.class); + q.add(VolumeVO_.uuid, Op.EQ, rootVolumeUuid); + final VolumeVO volvo = q.find(); + + imageVO = createImageInDb(msgData, imgvo -> { + imgvo.setFormat(volvo.getFormat()); + imgvo.setUrl(String.format("volume://%s", rootVolumeUuid)); + imgvo.setSize(volvo.getSize()); + imgvo.setActualSize(imageEstimateSize); + imgvo.setArchitecture(dbf.findByUuid(rootVolume.getVmInstanceUuid(), VmInstanceVO.class).getArchitecture()); + }); + + createSysTag(msgData, imageVO); + + trigger.next(); + } + + @Override + public void rollback(FlowRollback trigger, Map data) { + if (imageVO != null) { + dbf.remove(imageVO); + dbf.eoCleanup(ImageVO.class, imageVO.getUuid()); + } + + trigger.rollback(); + } + }); + + flow(new Flow() { + String __name__ = "select-backup-storage"; + + @Override + public void run(final FlowTrigger trigger, Map data) { + if (msgData.getBackupStorageUuids() == null) { + AllocateBackupStorageMsg abmsg = new AllocateBackupStorageMsg(); + abmsg.setRequiredZoneUuid(zoneUuid); + abmsg.setSize(imageEstimateSize); + bus.makeLocalServiceId(abmsg, BackupStorageConstant.SERVICE_ID); + + bus.send(abmsg, new CloudBusCallBack(trigger) { + @Override + public void run(MessageReply reply) { + if (reply.isSuccess()) { + targetBackupStorages.add(((AllocateBackupStorageReply) reply).getInventory()); + saveRefVOByBsInventorys(targetBackupStorages, imageVO.getUuid()); + trigger.next(); + } else { + trigger.fail(reply.getError()); + } + } + }); + } else { + List amsgs = CollectionUtils.transformToList(msgData.getBackupStorageUuids(), new Function() { + @Override + public AllocateBackupStorageMsg call(String arg) { + AllocateBackupStorageMsg abmsg = new AllocateBackupStorageMsg(); + abmsg.setSize(imageEstimateSize); + abmsg.setBackupStorageUuid(arg); + bus.makeLocalServiceId(abmsg, BackupStorageConstant.SERVICE_ID); + return abmsg; + } + }); + + bus.send(amsgs, new CloudBusListCallBack(trigger) { + @Override + public void run(List replies) { + List errs = new ArrayList<>(); + for (MessageReply r : replies) { + if (r.isSuccess()) { + targetBackupStorages.add(((AllocateBackupStorageReply) r).getInventory()); + } else { + errs.add(r.getError()); + } + } + + if (targetBackupStorages.isEmpty()) { + trigger.fail(operr(ORG_ZSTACK_IMAGE_10032, "unable to allocate backup storage specified by uuids%s, list errors are: %s", + msgData.getBackupStorageUuids(), JSONObjectUtil.toJsonString(errs))); + } else { + saveRefVOByBsInventorys(targetBackupStorages, imageVO.getUuid()); + trigger.next(); + } + } + }); + } + } + + @Override + public void rollback(final FlowRollback trigger, Map data) { + if (targetBackupStorages.isEmpty()) { + trigger.rollback(); + return; + } + + List rmsgs = CollectionUtils.transformToList(targetBackupStorages, new Function() { + @Override + public ReturnBackupStorageMsg call(BackupStorageInventory arg) { + ReturnBackupStorageMsg rmsg = new ReturnBackupStorageMsg(); + rmsg.setBackupStorageUuid(arg.getUuid()); + rmsg.setSize(imageEstimateSize); + bus.makeLocalServiceId(rmsg, BackupStorageConstant.SERVICE_ID); + return rmsg; + } + }); + + bus.send(rmsgs, new CloudBusListCallBack(trigger) { + @Override + public void run(List replies) { + for (MessageReply r : replies) { + if (!r.isSuccess()) { + BackupStorageInventory bs = targetBackupStorages.get(replies.indexOf(r)); + logger.warn(String.format("failed to return capacity[%s] to backup storage[uuid:%s], because %s", + imageEstimateSize, bs.getUuid(), r.getError())); + } + } + + trigger.rollback(); + } + }); + } + }); + + flow(new NoRollbackFlow() { + String __name__ = "before-create-template-on-bs"; + + @Override + public void run(FlowTrigger trigger, Map data) { + String volumePsUuid = Q.New(VolumeVO.class).eq(VolumeVO_.uuid, rootVolumeUuid) + .select(VolumeVO_.primaryStorageUuid) + .findValue(); + for (BackupStorageInventory bs: targetBackupStorages) { + extEmitter.beforeCreateImage(ImageInventory.valueOf(imageVO), bs.getUuid(), volumePsUuid); + } + trigger.next(); + } + }); + + flow(new NoRollbackFlow() { + String __name__ = "start-creating-template"; + + @Override + public void run(final FlowTrigger trigger, Map data) { + List cmsgs = CollectionUtils.transformToList(targetBackupStorages, new Function() { + @Override + public CreateTemplateFromRootVolumeVmMsg call(BackupStorageInventory arg) { + CreateTemplateFromRootVolumeVmMsg cmsg = new CreateTemplateFromRootVolumeVmMsg(); + cmsg.setRootVolumeInventory(rootVolume); + cmsg.setBackupStorageUuid(arg.getUuid()); + cmsg.setImageInventory(ImageInventory.valueOf(imageVO)); + bus.makeTargetServiceIdByResourceUuid(cmsg, VmInstanceConstant.SERVICE_ID, rootVolume.getVmInstanceUuid()); + return cmsg; + } + }); + + bus.send(cmsgs, new CloudBusListCallBack(trigger) { + @Override + public void run(List replies) { + boolean success = false; + ErrorCode err = null; + + for (MessageReply r : replies) { + BackupStorageInventory bs = targetBackupStorages.get(replies.indexOf(r)); + ImageBackupStorageRefVO ref = Q.New(ImageBackupStorageRefVO.class) + .eq(ImageBackupStorageRefVO_.backupStorageUuid, bs.getUuid()) + .eq(ImageBackupStorageRefVO_.imageUuid, imageVO.getUuid()) + .find(); + + if (dbf.reload(imageVO) == null) { + SQL.New("delete from ImageBackupStorageRefVO where imageUuid = :uuid") + .param("uuid", imageVO.getUuid()) + .execute(); + trigger.fail(operr(ORG_ZSTACK_IMAGE_10033, "image [uuid:%s] has been deleted", imageVO.getUuid())); + return; + } + + + if (!r.isSuccess()) { + logger.warn(String.format("failed to create image from root volume[uuid:%s] on backup storage[uuid:%s], because %s", + rootVolumeUuid, bs.getUuid(), r.getError())); + err = r.getError(); + dbf.remove(ref); + continue; + } + + CreateTemplateFromRootVolumeVmReply reply = (CreateTemplateFromRootVolumeVmReply) r; + ref.setStatus(ImageStatus.Ready); + ref.setInstallPath(reply.getInstallPath()); + dbf.update(ref); + + imageVO.setStatus(ImageStatus.Ready); + if (reply.getFormat() != null) { + imageVO.setFormat(reply.getFormat()); + } + imageVO = dbf.updateAndRefresh(imageVO); + success = true; + logger.debug(String.format("successfully created image[uuid:%s] from root volume[uuid:%s] on backup storage[uuid:%s]", + imageVO.getUuid(), rootVolumeUuid, bs.getUuid())); + } + + if (success) { + trigger.next(); + } else { + trigger.fail(operr(ORG_ZSTACK_IMAGE_10034, "failed to create image from root volume[uuid:%s] on all backup storage, see cause for one of errors", + rootVolumeUuid).causedBy(err)); + } + } + }); + } + }); + + flow(new Flow() { + String __name__ = "copy-system-tag-to-image"; + + @Override + public void run(FlowTrigger trigger, Map data) { + SyncSystemTagFromVolumeMsg smsg = new SyncSystemTagFromVolumeMsg(); + smsg.setImageUuid(imageVO.getUuid()); + smsg.setVolumeUuid(rootVolumeUuid); + bus.makeLocalServiceId(smsg, ImageConstant.SERVICE_ID); + bus.send(smsg, new CloudBusCallBack(trigger) { + @Override + public void run(MessageReply reply) { + if (!reply.isSuccess()) { + logger.warn(String.format("sync image[uuid:%s]system tag fail", rootVolumeUuid)); + } + trigger.next(); + } + }); + } + + @Override + public void rollback(FlowRollback trigger, Map data) { + trigger.rollback(); + } + }); + + flow(new NoRollbackFlow() { + String __name__ = "sync-image-size"; + + @Override + public void run(final FlowTrigger trigger, Map data) { + new While<>(targetBackupStorages).all((arg, compl) -> { + SyncImageSizeMsg smsg = new SyncImageSizeMsg(); + smsg.setBackupStorageUuid(arg.getUuid()); + smsg.setImageUuid(imageVO.getUuid()); + bus.makeTargetServiceIdByResourceUuid(smsg, ImageConstant.SERVICE_ID, imageVO.getUuid()); + bus.send(smsg, new CloudBusCallBack(compl) { + @Override + public void run(MessageReply reply) { + compl.done(); + } + }); + }).run(new WhileDoneCompletion(trigger) { + @Override + public void done(ErrorCodeList errorCodeList) { + trigger.next(); + } + }); + } + }); + + done(new FlowDoneHandler((Message) msgData) { + @Override + public void handle(Map data) { + imageVO = dbf.reload(imageVO); + ImageInventory iinv = ImageInventory.valueOf(imageVO); + + extEmitter.afterCreateImage(iinv); + + logger.debug(String.format("successfully create template[uuid:%s] from root volume[uuid:%s]", iinv.getUuid(), rootVolumeUuid)); + reportProgress(parentStage.getEnd().toString()); + completion.success(iinv); + } + }); + + error(new FlowErrorHandler((Message) msgData) { + @Override + public void handle(ErrorCode errCode, Map data) { + logger.warn(String.format("failed to create template from root volume[uuid:%s], because %s", rootVolumeUuid, errCode)); + completion.fail(errCode); + } + }); + } + }).start(); + + } + + private void createDataVolumeTemplateFromVolume(CreateDataVolumeTemplateMessage msgData, String volumeUuid, ReturnValueCompletion completion){ + ImageMessageFiller.fillFromVolume(msgData, volumeUuid); + + final TaskProgressRange parentStage = getTaskStage(); + reportProgress(parentStage.getStart().toString()); + + FlowChain chain = FlowChainBuilder.newShareFlowChain(); + chain.setName(String.format("create-data-volume-template-from-volume-%s", volumeUuid)); + chain.preCheck(data -> buildErrIfCanceled()); + chain.then(new ShareFlow() { + List backupStorages = new ArrayList<>(); + ImageVO image; + long imageEstimateSize; + String volumePsUuid; + long imageActualSize; + + @Override + public void setup() { + flow(new NoRollbackFlow() { + String __name__ = "get-actual-size-of-data-volume"; + + @Override + public void run(final FlowTrigger trigger, Map data) { + EstimateVolumeTemplateSizeMsg smsg = new EstimateVolumeTemplateSizeMsg(); + smsg.setVolumeUuid(volumeUuid); + bus.makeTargetServiceIdByResourceUuid(smsg, VolumeConstant.SERVICE_ID, volumeUuid); + bus.send(smsg, new CloudBusCallBack(trigger) { + @Override + public void run(MessageReply reply) { + if (!reply.isSuccess()) { + trigger.fail(reply.getError()); + return; + } + + EstimateVolumeTemplateSizeReply sr = reply.castReply(); + imageEstimateSize = sr.getActualSize(); + volumePsUuid = Q.New(VolumeVO.class).eq(VolumeVO_.uuid, volumeUuid) + .select(VolumeVO_.primaryStorageUuid) + .findValue(); + trigger.next(); + } + }); + } + }); + + flow(new Flow() { + String __name__ = "create-image-in-database"; + + @Override + public void run(FlowTrigger trigger, Map data) { + SimpleQuery q = dbf.createQuery(VolumeVO.class); + q.select(VolumeVO_.format, VolumeVO_.size); + q.add(VolumeVO_.uuid, Op.EQ, volumeUuid); + Tuple t = q.findTuple(); + + String format = t.get(0, String.class); + long size = t.get(1, Long.class); + + image = createImageInDb(msgData, imgvo -> { + imgvo.setFormat(format); + imgvo.setUrl(String.format("volume://%s", volumeUuid)); + imgvo.setSize(size); + imgvo.setActualSize(imageEstimateSize); + }); + + createSysTag(msgData, image); + + trigger.next(); + } + + @Override + public void rollback(FlowRollback trigger, Map data) { + if (image != null) { + dbf.remove(image); + } + + trigger.rollback(); + } + }); + + flow(new Flow() { + String __name__ = "select-backup-storage"; + + @Override + public void run(final FlowTrigger trigger, Map data) { + final String zoneUuid = new Callable() { + @Override + @Transactional(readOnly = true) + public String call() { + String sql = "select ps.zoneUuid" + + " from PrimaryStorageVO ps, VolumeVO vol" + + " where vol.primaryStorageUuid = ps.uuid" + + " and vol.uuid = :volUuid"; + TypedQuery q = dbf.getEntityManager().createQuery(sql, String.class); + q.setParameter("volUuid", volumeUuid); + return q.getSingleResult(); + } + }.call(); + + if (msgData.getBackupStorageUuids() == null) { + AllocateBackupStorageMsg amsg = new AllocateBackupStorageMsg(); + amsg.setRequiredZoneUuid(zoneUuid); + amsg.setRequiredPrimaryStorageUuid(volumePsUuid); + amsg.setSize(imageEstimateSize); + bus.makeLocalServiceId(amsg, BackupStorageConstant.SERVICE_ID); + bus.send(amsg, new CloudBusCallBack(trigger) { + @Override + public void run(MessageReply reply) { + if (reply.isSuccess()) { + backupStorages.add(((AllocateBackupStorageReply) reply).getInventory()); + saveRefVOByBsInventorys(backupStorages, image.getUuid()); + trigger.next(); + } else { + trigger.fail(operr(ORG_ZSTACK_IMAGE_10035, "cannot find proper backup storage").causedBy(reply.getError())); + } + } + }); + } else { + List amsgs = CollectionUtils.transformToList(msgData.getBackupStorageUuids(), new Function() { + @Override + public AllocateBackupStorageMsg call(String arg) { + AllocateBackupStorageMsg amsg = new AllocateBackupStorageMsg(); + amsg.setRequiredZoneUuid(zoneUuid); + amsg.setSize(imageEstimateSize); + amsg.setBackupStorageUuid(arg); + bus.makeLocalServiceId(amsg, BackupStorageConstant.SERVICE_ID); + return amsg; + } + }); + + bus.send(amsgs, new CloudBusListCallBack(trigger) { + @Override + public void run(List replies) { + List errs = new ArrayList<>(); + for (MessageReply r : replies) { + if (r.isSuccess()) { + backupStorages.add(((AllocateBackupStorageReply) r).getInventory()); + } else { + errs.add(r.getError()); + } + } + + if (backupStorages.isEmpty()) { + trigger.fail(operr(ORG_ZSTACK_IMAGE_10036, "failed to allocate all backup storage[uuid:%s], a list of error: %s", + msgData.getBackupStorageUuids(), JSONObjectUtil.toJsonString(errs))); + } else { + saveRefVOByBsInventorys(backupStorages, image.getUuid()); + trigger.next(); + } + } + }); + } + } + + @Override + public void rollback(FlowRollback trigger, Map data) { + if (!backupStorages.isEmpty()) { + List rmsgs = CollectionUtils.transformToList(backupStorages, new Function() { + @Override + public ReturnBackupStorageMsg call(BackupStorageInventory arg) { + ReturnBackupStorageMsg rmsg = new ReturnBackupStorageMsg(); + rmsg.setBackupStorageUuid(arg.getUuid()); + rmsg.setSize(imageEstimateSize); + bus.makeLocalServiceId(rmsg, BackupStorageConstant.SERVICE_ID); + return rmsg; + } + }); + + bus.send(rmsgs, new CloudBusListCallBack(null) { + @Override + public void run(List replies) { + for (MessageReply r : replies) { + BackupStorageInventory bs = backupStorages.get(replies.indexOf(r)); + logger.warn(String.format("failed to return %s bytes to backup storage[uuid:%s]", acntMgr, bs.getUuid())); + } + } + }); + } + + trigger.rollback(); + } + }); + + flow(new NoRollbackFlow() { + String __name__ = "before-create-template-on-bs"; + + @Override + public void run(FlowTrigger trigger, Map data) { + for (BackupStorageInventory bs: backupStorages) { + extEmitter.beforeCreateImage(ImageInventory.valueOf(image), bs.getUuid(), volumePsUuid); + } + + trigger.next(); + } + }); + + flow(new NoRollbackFlow() { + String __name__ = "create-data-volume-template-from-volume"; + + @Override + public void run(final FlowTrigger trigger, Map data) { + // FIXME: should create once and then upload different bs. + List cmsgs = CollectionUtils.transformToList(backupStorages, new Function() { + @Override + public CreateDataVolumeTemplateFromDataVolumeMsg call(BackupStorageInventory bs) { + CreateDataVolumeTemplateFromDataVolumeMsg cmsg = new CreateDataVolumeTemplateFromDataVolumeMsg(); + cmsg.setVolumeUuid(volumeUuid); + cmsg.setBackupStorageUuid(bs.getUuid()); + cmsg.setImageUuid(image.getUuid()); + bus.makeTargetServiceIdByResourceUuid(cmsg, VolumeConstant.SERVICE_ID, volumeUuid); + return cmsg; + } + }); + + bus.send(cmsgs, new CloudBusListCallBack(trigger) { + @Override + public void run(List replies) { + int fail = 0; + String mdsum = null; + ErrorCode err = null; + String format = null; + for (MessageReply r : replies) { + BackupStorageInventory bs = backupStorages.get(replies.indexOf(r)); + if (!r.isSuccess()) { + logger.warn(String.format("failed to create data volume template from volume[uuid:%s] on backup storage[uuid:%s], %s", + volumeUuid, bs.getUuid(), r.getError())); + fail++; + err = r.getError(); + continue; + } + + CreateDataVolumeTemplateFromDataVolumeReply reply = r.castReply(); + ImageBackupStorageRefVO vo = Q.New(ImageBackupStorageRefVO.class) + .eq(ImageBackupStorageRefVO_.backupStorageUuid, bs.getUuid()) + .eq(ImageBackupStorageRefVO_.imageUuid, image.getUuid()) + .find(); + vo.setStatus(ImageStatus.Ready); + vo.setInstallPath(reply.getInstallPath()); + dbf.update(vo); + + if (mdsum == null) { + mdsum = reply.getMd5sum(); + } + if (reply.getFormat() != null) { + format = reply.getFormat(); + } + + imageActualSize = reply.getActualSize(); + if (reply.getActualSize() == 0) { + imageActualSize = imageEstimateSize; + } + } + + int backupStorageNum = msgData.getBackupStorageUuids() == null ? 1 : msgData.getBackupStorageUuids().size(); + + if (fail == backupStorageNum) { + ErrorCode errCode = operr(ORG_ZSTACK_IMAGE_10037, "failed to create data volume template from volume[uuid:%s] on all backup storage%s. See cause for one of errors", + volumeUuid, msgData.getBackupStorageUuids()).causedBy(err); + + trigger.fail(errCode); + } else { + image = dbf.reload(image); + if (format != null) { + image.setFormat(format); + } + image.setMd5Sum(mdsum); + image.setStatus(ImageStatus.Ready); + image.setActualSize(imageActualSize); + image = dbf.updateAndRefresh(image); + + trigger.next(); + } + } + }); + } + }); + + done(new FlowDoneHandler(completion) { + @Override + public void handle(Map data) { + reportProgress(parentStage.getEnd().toString()); + + ImageInventory inv = ImageInventory.valueOf(image); + extEmitter.afterCreateImage(inv); + completion.success(inv); + } + }); + + error(new FlowErrorHandler(completion) { + @Override + public void handle(ErrorCode errCode, Map data) { + completion.fail(errCode); + } + }); + } + }).start(); + } + + private void handle(CancelCreateRootVolumeTemplateFromRootVolumeMsg msg) { + CancelCreateRootVolumeTemplateFromRootVolumeReply reply = new CancelCreateRootVolumeTemplateFromRootVolumeReply(); + cancelCreateTemplateFromVolume(msg, msg.getRootVolumeUuid(), msg.getImageUuid(), new Completion(msg) { + @Override + public void success() { + bus.reply(msg, reply); + } + + @Override + public void fail(ErrorCode errorCode) { + reply.setError(errorCode); + bus.reply(msg, reply); + } + }); + } + + private void handle(CancelCreateDataVolumeTemplateFromVolumeMsg msg) { + CancelCreateDataVolumeTemplateFromVolumeReply reply = new CancelCreateDataVolumeTemplateFromVolumeReply(); + cancelCreateTemplateFromVolume(msg, msg.getVolumeUuid(), msg.getImageUuid(), new Completion(msg) { + @Override + public void success() { + bus.reply(msg, reply); + } + + @Override + public void fail(ErrorCode errorCode) { + reply.setError(errorCode); + bus.reply(msg, reply); + } + }); + } + + private void cancelCreateTemplateFromVolume(CancelMessage msg, String volumeUuid, String imageUuid, Completion completion) { + ImageVO image = dbf.findByUuid(imageUuid, ImageVO.class); + if (image == null || image.getBackupStorageRefs() == null || image.getBackupStorageRefs().isEmpty()) { + completion.fail(noncancelableErr(i18n("image[uuid:%s] is not on creating, please wait for it to cancel itself.", imageUuid))); + return; + } + + VolumeVO volVO = dbf.findByUuid(volumeUuid, VolumeVO.class); + if (volVO == null) { + completion.fail(noncancelableErr(i18n("volume[uuid:%s] has been deleted. no need to cancel", volumeUuid))); + return; + } + + List bsUuids = image.getBackupStorageRefs().stream() + .map(ImageBackupStorageRefVO::getBackupStorageUuid) + .collect(Collectors.toList()); + + CancelJobOnPrimaryStorageMsg cmsg = new CancelJobOnPrimaryStorageMsg(); + cmsg.setCancellationApiId(msg.getCancellationApiId()); + cmsg.setPrimaryStorageUuid(volVO.getPrimaryStorageUuid()); + bus.makeTargetServiceIdByResourceUuid(cmsg, PrimaryStorageConstant.SERVICE_ID, cmsg.getPrimaryStorageUuid()); + bus.send(cmsg, new CloudBusCallBack(completion) { + @Override + public void run(MessageReply reply) { + if (!reply.isSuccess()) { + completion.fail(reply.getError()); + return; + } + + completion.success(); + } + }); + } + + @Override + @Transactional(readOnly = true) + public List filterHostCandidates(List candidates, HostAllocatorSpec spec) { + // TODO: move to compute module. + + String architecture = spec.getArchitecture(); + if (architecture == null && spec.getImage() != null) { + architecture = spec.getImage().getArchitecture(); + } + + if (architecture == null && spec.getVmInstance() != null) { + architecture = spec.getVmInstance().getArchitecture(); + } + + if (architecture == null) { + return candidates; + } + + String finalArchitecture = architecture; + return candidates.stream().filter(it -> it.getArchitecture().equals(finalArchitecture)).collect(Collectors.toList()); + } + + @Override + public String filterErrorReason() { + return null; + } +} diff --git a/docs/modules/test/examples/symlink_to_JUnitTestSuite.groovy b/docs/modules/test/examples/symlink_to_JUnitTestSuite.groovy deleted file mode 120000 index f2970d5e0ba..00000000000 --- a/docs/modules/test/examples/symlink_to_JUnitTestSuite.groovy +++ /dev/null @@ -1 +0,0 @@ -../../../../test/src/test/groovy/org/zstack/test/unittest/JUnitTestSuite.groovy \ No newline at end of file diff --git a/docs/modules/test/examples/symlink_to_JUnitTestSuite.groovy b/docs/modules/test/examples/symlink_to_JUnitTestSuite.groovy new file mode 100644 index 00000000000..0b0a0ea3bde --- /dev/null +++ b/docs/modules/test/examples/symlink_to_JUnitTestSuite.groovy @@ -0,0 +1,36 @@ +package org.zstack.test.unittest + +import org.junit.runner.JUnitCore +import org.junit.runner.Result +import org.junit.runner.RunWith +import org.junit.runner.notification.Failure +import org.junit.runners.Suite +import org.zstack.configuration.OfferingUserConfigUtils +import org.zstack.test.unittest.utils.NetworkUtilsCase +import org.zstack.test.unittest.utils.OfferingUserConfigUtilsCase +import org.zstack.test.unittest.utils.SizeUnitUtilsCase + +import java.util.stream.Collectors + +/** + * Created by lining on 2018/3/18. + */ + +@RunWith(Suite.class) +@Suite.SuiteClasses([ + NetworkUtilsCase.class, + OfferingUserConfigUtilsCase.class, + SizeUnitUtilsCase.class + ]) +class JUnitTestSuite { + + static void runAllTestCases() { + Result result = JUnitCore.runClasses(JUnitTestSuite.class) + + List failures = result.getFailures() + if (!failures.isEmpty()) { + List errors = failures.stream().map{failure -> failure.toString()}.collect(Collectors.toList()) + assert false : "JUnit test fail, " + errors.toString() + } + } +} diff --git a/externalservice/pom.xml b/externalservice/pom.xml index 9346a6ff780..2a57b0e0345 100755 --- a/externalservice/pom.xml +++ b/externalservice/pom.xml @@ -38,30 +38,56 @@ maven-compiler-plugin ${project.compiler.version} - groovy-eclipse-compiler ${project.java.version} ${project.java.version} lines,vars,source true - - - org.codehaus.groovy - groovy-eclipse-compiler - 2.9.2-01 - - - org.codehaus.groovy - groovy-eclipse-batch - 2.4.3-01 - - - org.codehaus.mojo + org.codehaus.gmavenplus + gmavenplus-plugin + 3.0.2 + + + + ${project.basedir}/src/main/java + + **/*.groovy + + + + + + + groovy-stubs + generateStubsremoveStubs + + + groovy-compile + compile + + + + + org.apache.groovy + groovy + ${groovy.version} + + + + + dev.aspectj aspectj-maven-plugin ${aspectj.plugin.version} + + + org.aspectj + aspectjtools + ${aspectj.version} + + diff --git a/header/pom.xml b/header/pom.xml index 9c7bb823e76..d23c0596976 100755 --- a/header/pom.xml +++ b/header/pom.xml @@ -16,27 +16,46 @@ maven-compiler-plugin ${project.compiler.version} - groovy-eclipse-compiler ${project.java.version} ${project.java.version} lines,vars,source true - - - org.codehaus.groovy - groovy-eclipse-compiler - ${groovy.eclipse.compiler} - - - org.codehaus.groovy - groovy-eclipse-batch - ${groovy.eclipse.batch} - - - org.codehaus.mojo + org.codehaus.gmavenplus + gmavenplus-plugin + 3.0.2 + + + + ${project.basedir}/src/main/java + + **/*.groovy + + + + + + + groovy-stubs + generateStubsremoveStubs + + + groovy-compile + compile + + + + + org.apache.groovy + groovy + ${groovy.version} + + + + + dev.aspectj aspectj-maven-plugin ${aspectj.plugin.version} @@ -47,7 +66,13 @@ - + + + org.aspectj + aspectjtools + ${aspectj.version} + + ${project.java.version} ${project.java.version} @@ -67,47 +92,11 @@ - org.hibernate.javax.persistence - hibernate-jpa-2.1-api - - - org.hibernate - hibernate-search-orm - - - org.apache.avro - avro - 1.11.4 - - - org.hibernate - hibernate-search-serialization-avro - - - org.apache.avro - avro - - - - - org.hibernate - hibernate-search-backend-jgroups - - - com.google.protobuf - protobuf-java - 3.21.9 - - - org.infinispan - infinispan-directory-provider - - - com.google.protobuf - protobuf-java - - + jakarta.persistence + jakarta.persistence-api + com.rabbitmq amqp-client @@ -117,9 +106,9 @@ spring-security-core - javax.servlet - javax.servlet-api - 3.1.0 + jakarta.servlet + jakarta.servlet-api + provided @@ -148,10 +137,18 @@ org.apache.httpcomponents httpclient + + org.apache.httpcomponents.client5 + httpclient5 + org.zstack abstraction 5.5.0 + + org.apache.groovy + groovy + diff --git a/header/src/main/java/org/zstack/header/APIIsOpensourceVersionMsg.java b/header/src/main/java/org/zstack/header/APIIsOpensourceVersionMsg.java index ad88ceec757..277d2fc1c93 100755 --- a/header/src/main/java/org/zstack/header/APIIsOpensourceVersionMsg.java +++ b/header/src/main/java/org/zstack/header/APIIsOpensourceVersionMsg.java @@ -12,7 +12,7 @@ @Action(category = Constants.CATEGORY_METADATA, names = {"read"}) @RestRequest( path = "/meta-data/opensource", - method = HttpMethod.GET, + method = "GET", responseClass = APIIsOpensourceVersionReply.class ) @SuppressCredentialCheck diff --git a/header/src/main/java/org/zstack/header/allocator/APIGetCpuMemoryCapacityMsg.java b/header/src/main/java/org/zstack/header/allocator/APIGetCpuMemoryCapacityMsg.java index b616039dcb8..0cfe82d888e 100755 --- a/header/src/main/java/org/zstack/header/allocator/APIGetCpuMemoryCapacityMsg.java +++ b/header/src/main/java/org/zstack/header/allocator/APIGetCpuMemoryCapacityMsg.java @@ -14,7 +14,7 @@ @RestRequest( path = "/hosts/capacities/cpu-memory", - method = HttpMethod.GET, + method = "GET", responseClass = APIGetCpuMemoryCapacityReply.class ) public class APIGetCpuMemoryCapacityMsg extends APISyncCallMessage { diff --git a/header/src/main/java/org/zstack/header/allocator/APIGetHostAllocatorStrategiesMsg.java b/header/src/main/java/org/zstack/header/allocator/APIGetHostAllocatorStrategiesMsg.java index 782900d315e..8c6a3503a71 100755 --- a/header/src/main/java/org/zstack/header/allocator/APIGetHostAllocatorStrategiesMsg.java +++ b/header/src/main/java/org/zstack/header/allocator/APIGetHostAllocatorStrategiesMsg.java @@ -12,7 +12,7 @@ */ @RestRequest( path = "/hosts/allocators/strategies", - method = HttpMethod.GET, + method = "GET", responseClass = APIGetHostAllocatorStrategiesReply.class ) public class APIGetHostAllocatorStrategiesMsg extends APISyncCallMessage { diff --git a/header/src/main/java/org/zstack/header/allocator/HostAllocatedCpuVO.java b/header/src/main/java/org/zstack/header/allocator/HostAllocatedCpuVO.java index 7bde6dbb811..a51fdf53758 100644 --- a/header/src/main/java/org/zstack/header/allocator/HostAllocatedCpuVO.java +++ b/header/src/main/java/org/zstack/header/allocator/HostAllocatedCpuVO.java @@ -6,7 +6,7 @@ import org.zstack.header.vo.ForeignKey; import org.zstack.header.vo.ForeignKey.ReferenceOption; -import javax.persistence.*; +import jakarta.persistence.*; @Entity @Table diff --git a/header/src/main/java/org/zstack/header/allocator/HostAllocatedCpuVO_.java b/header/src/main/java/org/zstack/header/allocator/HostAllocatedCpuVO_.java index 8fb3a1bb1c2..672a5414247 100644 --- a/header/src/main/java/org/zstack/header/allocator/HostAllocatedCpuVO_.java +++ b/header/src/main/java/org/zstack/header/allocator/HostAllocatedCpuVO_.java @@ -1,8 +1,8 @@ package org.zstack.header.allocator; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; @StaticMetamodel(HostAllocatedCpuVO.class) public class HostAllocatedCpuVO_ { diff --git a/header/src/main/java/org/zstack/header/allocator/HostCapacityVO.java b/header/src/main/java/org/zstack/header/allocator/HostCapacityVO.java index b6a17d1a91f..70c5c2239bc 100755 --- a/header/src/main/java/org/zstack/header/allocator/HostCapacityVO.java +++ b/header/src/main/java/org/zstack/header/allocator/HostCapacityVO.java @@ -7,10 +7,10 @@ import org.zstack.header.vo.ForeignKey.ReferenceOption; import org.zstack.header.vo.Index; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.Id; -import javax.persistence.Table; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.Id; +import jakarta.persistence.Table; @Entity @Table diff --git a/header/src/main/java/org/zstack/header/allocator/HostCapacityVO_.java b/header/src/main/java/org/zstack/header/allocator/HostCapacityVO_.java index d521909ad5a..a5e4b50a511 100755 --- a/header/src/main/java/org/zstack/header/allocator/HostCapacityVO_.java +++ b/header/src/main/java/org/zstack/header/allocator/HostCapacityVO_.java @@ -1,7 +1,7 @@ package org.zstack.header.allocator; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; @StaticMetamodel(HostCapacityVO.class) public class HostCapacityVO_ { diff --git a/header/src/main/java/org/zstack/header/apimediator/APIIsReadyToGoMsg.java b/header/src/main/java/org/zstack/header/apimediator/APIIsReadyToGoMsg.java index 9aee1c4edde..e196fe2a82f 100755 --- a/header/src/main/java/org/zstack/header/apimediator/APIIsReadyToGoMsg.java +++ b/header/src/main/java/org/zstack/header/apimediator/APIIsReadyToGoMsg.java @@ -9,7 +9,7 @@ @SuppressCredentialCheck @RestRequest( path = "/management-nodes/ready", - method = HttpMethod.GET, + method = "GET", responseClass = APIIsReadyToGoReply.class, category = "other" ) diff --git a/header/src/main/java/org/zstack/header/aspect/OwnedByAccountAspect.aj b/header/src/main/java/org/zstack/header/aspect/OwnedByAccountAspect.aj index 944c3c20229..535540cea87 100644 --- a/header/src/main/java/org/zstack/header/aspect/OwnedByAccountAspect.aj +++ b/header/src/main/java/org/zstack/header/aspect/OwnedByAccountAspect.aj @@ -5,7 +5,7 @@ import org.zstack.header.vo.ResourceVO; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; -import javax.persistence.EntityManager; +import jakarta.persistence.EntityManager; import java.util.function.Function; public aspect OwnedByAccountAspect { diff --git a/header/src/main/java/org/zstack/header/aspect/OwnedByAccountAspectHelper.java b/header/src/main/java/org/zstack/header/aspect/OwnedByAccountAspectHelper.java index 0c6b8cd1358..e7a36146e65 100644 --- a/header/src/main/java/org/zstack/header/aspect/OwnedByAccountAspectHelper.java +++ b/header/src/main/java/org/zstack/header/aspect/OwnedByAccountAspectHelper.java @@ -5,7 +5,7 @@ import org.zstack.header.identity.OwnedByAccount; import org.zstack.header.vo.ResourceTypeMetadata; -import javax.persistence.EntityManager; +import jakarta.persistence.EntityManager; public class OwnedByAccountAspectHelper { public static void createAccountResourceRefVO(OwnedByAccount oa, EntityManager entityManager, Object entity) { diff --git a/header/src/main/java/org/zstack/header/cluster/APIChangeClusterStateMsg.java b/header/src/main/java/org/zstack/header/cluster/APIChangeClusterStateMsg.java index 82078bbaab3..12fec72848d 100755 --- a/header/src/main/java/org/zstack/header/cluster/APIChangeClusterStateMsg.java +++ b/header/src/main/java/org/zstack/header/cluster/APIChangeClusterStateMsg.java @@ -40,7 +40,7 @@ */ @RestRequest( path = "/clusters/{uuid}/actions", - method = HttpMethod.PUT, + method = "PUT", isAction = true, responseClass = APIChangeClusterStateEvent.class ) diff --git a/header/src/main/java/org/zstack/header/cluster/APICreateClusterMsg.java b/header/src/main/java/org/zstack/header/cluster/APICreateClusterMsg.java index 18d1727a07f..92a70f6a9f0 100755 --- a/header/src/main/java/org/zstack/header/cluster/APICreateClusterMsg.java +++ b/header/src/main/java/org/zstack/header/cluster/APICreateClusterMsg.java @@ -45,7 +45,7 @@ @RestRequest( path = "/clusters", parameterName = "params", - method = HttpMethod.POST, + method = "POST", responseClass = APICreateClusterEvent.class ) public class APICreateClusterMsg extends APICreateMessage implements CreateClusterMessage, APIAuditor { diff --git a/header/src/main/java/org/zstack/header/cluster/APIDeleteClusterMsg.java b/header/src/main/java/org/zstack/header/cluster/APIDeleteClusterMsg.java index b12454de60f..fc9a57ba8e0 100755 --- a/header/src/main/java/org/zstack/header/cluster/APIDeleteClusterMsg.java +++ b/header/src/main/java/org/zstack/header/cluster/APIDeleteClusterMsg.java @@ -35,7 +35,7 @@ */ @RestRequest( path = "/clusters/{uuid}", - method = HttpMethod.DELETE, + method = "DELETE", responseClass = APIDeleteClusterEvent.class ) public class APIDeleteClusterMsg extends APIDeleteMessage implements ClusterMessage { diff --git a/header/src/main/java/org/zstack/header/cluster/APIQueryClusterMsg.java b/header/src/main/java/org/zstack/header/cluster/APIQueryClusterMsg.java index d678c7e4e2d..4b2d76a95fe 100755 --- a/header/src/main/java/org/zstack/header/cluster/APIQueryClusterMsg.java +++ b/header/src/main/java/org/zstack/header/cluster/APIQueryClusterMsg.java @@ -14,7 +14,7 @@ path = "/clusters", optionalPaths = {"/clusters/{uuid}"}, responseClass = APIQueryClusterReply.class, - method = HttpMethod.GET + method = "GET" ) public class APIQueryClusterMsg extends APIQueryMessage { diff --git a/header/src/main/java/org/zstack/header/cluster/APIUpdateClusterMsg.java b/header/src/main/java/org/zstack/header/cluster/APIUpdateClusterMsg.java index 5545bae2a30..13d46b6a296 100755 --- a/header/src/main/java/org/zstack/header/cluster/APIUpdateClusterMsg.java +++ b/header/src/main/java/org/zstack/header/cluster/APIUpdateClusterMsg.java @@ -13,7 +13,7 @@ path = "/clusters/{uuid}/actions", responseClass = APIUpdateClusterEvent.class, isAction = true, - method = HttpMethod.PUT + method = "PUT" ) public class APIUpdateClusterMsg extends APIMessage implements ClusterMessage { @APIParam(resourceType = ClusterVO.class) diff --git a/header/src/main/java/org/zstack/header/cluster/APIUpdateClusterOSMsg.java b/header/src/main/java/org/zstack/header/cluster/APIUpdateClusterOSMsg.java index 9da5d285271..3d570f6dedb 100644 --- a/header/src/main/java/org/zstack/header/cluster/APIUpdateClusterOSMsg.java +++ b/header/src/main/java/org/zstack/header/cluster/APIUpdateClusterOSMsg.java @@ -18,7 +18,7 @@ path = "/clusters/{uuid}/actions", responseClass = APIUpdateClusterOSEvent.class, isAction = true, - method = HttpMethod.PUT + method = "PUT" ) @DefaultTimeout(timeunit = TimeUnit.HOURS, value = 24) public class APIUpdateClusterOSMsg extends APICreateMessage implements ClusterMessage { diff --git a/header/src/main/java/org/zstack/header/cluster/ClusterAO.java b/header/src/main/java/org/zstack/header/cluster/ClusterAO.java index 331b0d9cd21..e7784dad4b9 100755 --- a/header/src/main/java/org/zstack/header/cluster/ClusterAO.java +++ b/header/src/main/java/org/zstack/header/cluster/ClusterAO.java @@ -6,7 +6,7 @@ import org.zstack.header.vo.ResourceVO; import org.zstack.header.zone.ZoneEO; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; /** diff --git a/header/src/main/java/org/zstack/header/cluster/ClusterAO_.java b/header/src/main/java/org/zstack/header/cluster/ClusterAO_.java index 19463bb3060..fbb081732a3 100755 --- a/header/src/main/java/org/zstack/header/cluster/ClusterAO_.java +++ b/header/src/main/java/org/zstack/header/cluster/ClusterAO_.java @@ -2,8 +2,8 @@ import org.zstack.header.vo.ResourceVO_; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; /** diff --git a/header/src/main/java/org/zstack/header/cluster/ClusterEO.java b/header/src/main/java/org/zstack/header/cluster/ClusterEO.java index 39ac9252eca..d3fd4bfd808 100755 --- a/header/src/main/java/org/zstack/header/cluster/ClusterEO.java +++ b/header/src/main/java/org/zstack/header/cluster/ClusterEO.java @@ -1,8 +1,8 @@ package org.zstack.header.cluster; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.Table; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.Table; /** */ diff --git a/header/src/main/java/org/zstack/header/cluster/ClusterEO_.java b/header/src/main/java/org/zstack/header/cluster/ClusterEO_.java index 5e3be8d89ba..33b78fb5e5f 100755 --- a/header/src/main/java/org/zstack/header/cluster/ClusterEO_.java +++ b/header/src/main/java/org/zstack/header/cluster/ClusterEO_.java @@ -1,6 +1,6 @@ package org.zstack.header.cluster; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.StaticMetamodel; @StaticMetamodel(ClusterEO.class) public class ClusterEO_ extends ClusterAO_ { diff --git a/header/src/main/java/org/zstack/header/cluster/ClusterVO.java b/header/src/main/java/org/zstack/header/cluster/ClusterVO.java index f2fee12c389..ab341ad93ca 100755 --- a/header/src/main/java/org/zstack/header/cluster/ClusterVO.java +++ b/header/src/main/java/org/zstack/header/cluster/ClusterVO.java @@ -7,8 +7,8 @@ import org.zstack.header.vo.EO; import org.zstack.header.zone.ZoneVO; -import javax.persistence.Entity; -import javax.persistence.Table; +import jakarta.persistence.Entity; +import jakarta.persistence.Table; @Entity @Table diff --git a/header/src/main/java/org/zstack/header/cluster/ClusterVO_.java b/header/src/main/java/org/zstack/header/cluster/ClusterVO_.java index d169f44f0e1..dcf93c66a5c 100755 --- a/header/src/main/java/org/zstack/header/cluster/ClusterVO_.java +++ b/header/src/main/java/org/zstack/header/cluster/ClusterVO_.java @@ -1,6 +1,6 @@ package org.zstack.header.cluster; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.StaticMetamodel; @StaticMetamodel(ClusterVO.class) public class ClusterVO_ extends ClusterAO_ { diff --git a/header/src/main/java/org/zstack/header/configuration/APIChangeDiskOfferingStateMsg.java b/header/src/main/java/org/zstack/header/configuration/APIChangeDiskOfferingStateMsg.java index e5d1bca6ce6..7edfa7c7fee 100755 --- a/header/src/main/java/org/zstack/header/configuration/APIChangeDiskOfferingStateMsg.java +++ b/header/src/main/java/org/zstack/header/configuration/APIChangeDiskOfferingStateMsg.java @@ -17,7 +17,7 @@ @RestRequest( path = "/disk-offerings/{uuid}/actions", isAction = true, - method = HttpMethod.PUT, + method = "PUT", responseClass = APIChangeDiskOfferingStateEvent.class ) public class APIChangeDiskOfferingStateMsg extends APIMessage implements DiskOfferingMessage { diff --git a/header/src/main/java/org/zstack/header/configuration/APIChangeInstanceOfferingStateMsg.java b/header/src/main/java/org/zstack/header/configuration/APIChangeInstanceOfferingStateMsg.java index 50ef97047cd..748634b99f7 100755 --- a/header/src/main/java/org/zstack/header/configuration/APIChangeInstanceOfferingStateMsg.java +++ b/header/src/main/java/org/zstack/header/configuration/APIChangeInstanceOfferingStateMsg.java @@ -16,7 +16,7 @@ @Action(category = ConfigurationConstant.ACTION_CATEGORY) @RestRequest( path = "/instance-offerings/{uuid}/actions", - method = HttpMethod.PUT, + method = "PUT", isAction = true, responseClass = APIChangeInstanceOfferingStateEvent.class ) diff --git a/header/src/main/java/org/zstack/header/configuration/APICreateDiskOfferingMsg.java b/header/src/main/java/org/zstack/header/configuration/APICreateDiskOfferingMsg.java index f3fb252bc90..0d46e62435d 100755 --- a/header/src/main/java/org/zstack/header/configuration/APICreateDiskOfferingMsg.java +++ b/header/src/main/java/org/zstack/header/configuration/APICreateDiskOfferingMsg.java @@ -14,7 +14,7 @@ @Action(category = ConfigurationConstant.ACTION_CATEGORY) @RestRequest( path = "/disk-offerings", - method = HttpMethod.POST, + method = "POST", responseClass = APICreateDiskOfferingEvent.class, parameterName = "params" ) diff --git a/header/src/main/java/org/zstack/header/configuration/APICreateInstanceOfferingMsg.java b/header/src/main/java/org/zstack/header/configuration/APICreateInstanceOfferingMsg.java index d12925c3cf5..72d2be650f0 100755 --- a/header/src/main/java/org/zstack/header/configuration/APICreateInstanceOfferingMsg.java +++ b/header/src/main/java/org/zstack/header/configuration/APICreateInstanceOfferingMsg.java @@ -19,7 +19,7 @@ path = "/instance-offerings", responseClass = APICreateInstanceOfferingEvent.class, parameterName = "params", - method = HttpMethod.POST + method = "POST" ) public class APICreateInstanceOfferingMsg extends APICreateMessage implements APIAuditor { @APIParam(maxLength = 255) diff --git a/header/src/main/java/org/zstack/header/configuration/APIDeleteDiskOfferingMsg.java b/header/src/main/java/org/zstack/header/configuration/APIDeleteDiskOfferingMsg.java index b8a98ab9888..4a34cdc497b 100755 --- a/header/src/main/java/org/zstack/header/configuration/APIDeleteDiskOfferingMsg.java +++ b/header/src/main/java/org/zstack/header/configuration/APIDeleteDiskOfferingMsg.java @@ -11,7 +11,7 @@ @Action(category = ConfigurationConstant.ACTION_CATEGORY) @RestRequest( path = "/disk-offerings/{uuid}", - method = HttpMethod.DELETE, + method = "DELETE", responseClass = APIDeleteDiskOfferingEvent.class ) public class APIDeleteDiskOfferingMsg extends APIDeleteMessage implements DiskOfferingMessage { diff --git a/header/src/main/java/org/zstack/header/configuration/APIDeleteInstanceOfferingMsg.java b/header/src/main/java/org/zstack/header/configuration/APIDeleteInstanceOfferingMsg.java index 449de230f3b..709e23d299c 100755 --- a/header/src/main/java/org/zstack/header/configuration/APIDeleteInstanceOfferingMsg.java +++ b/header/src/main/java/org/zstack/header/configuration/APIDeleteInstanceOfferingMsg.java @@ -11,7 +11,7 @@ @Action(category = ConfigurationConstant.ACTION_CATEGORY) @RestRequest( path = "/instance-offerings/{uuid}", - method = HttpMethod.DELETE, + method = "DELETE", responseClass = APIDeleteInstanceOfferingEvent.class ) public class APIDeleteInstanceOfferingMsg extends APIDeleteMessage implements InstanceOfferingMessage { diff --git a/header/src/main/java/org/zstack/header/configuration/APIQueryDiskOfferingMsg.java b/header/src/main/java/org/zstack/header/configuration/APIQueryDiskOfferingMsg.java index dd2ec8b605a..50b39d02acb 100755 --- a/header/src/main/java/org/zstack/header/configuration/APIQueryDiskOfferingMsg.java +++ b/header/src/main/java/org/zstack/header/configuration/APIQueryDiskOfferingMsg.java @@ -15,7 +15,7 @@ @RestRequest( path = "/disk-offerings", optionalPaths = "/disk-offerings/{uuid}", - method = HttpMethod.GET, + method = "GET", responseClass = APIQueryDiskOfferingReply.class ) public class APIQueryDiskOfferingMsg extends APIQueryMessage { diff --git a/header/src/main/java/org/zstack/header/configuration/APIQueryInstanceOfferingMsg.java b/header/src/main/java/org/zstack/header/configuration/APIQueryInstanceOfferingMsg.java index 80d2ce6f26b..10abac63cde 100755 --- a/header/src/main/java/org/zstack/header/configuration/APIQueryInstanceOfferingMsg.java +++ b/header/src/main/java/org/zstack/header/configuration/APIQueryInstanceOfferingMsg.java @@ -16,7 +16,7 @@ path = "/instance-offerings", optionalPaths = "/instance-offerings/{uuid}", responseClass = APIQueryInstanceOfferingReply.class, - method = HttpMethod.GET + method = "GET" ) public class APIQueryInstanceOfferingMsg extends APIQueryMessage { diff --git a/header/src/main/java/org/zstack/header/configuration/APIUpdateDiskOfferingMsg.java b/header/src/main/java/org/zstack/header/configuration/APIUpdateDiskOfferingMsg.java index ba8030b23de..e9959ecc883 100755 --- a/header/src/main/java/org/zstack/header/configuration/APIUpdateDiskOfferingMsg.java +++ b/header/src/main/java/org/zstack/header/configuration/APIUpdateDiskOfferingMsg.java @@ -14,7 +14,7 @@ @RestRequest( path = "/disk-offerings/{uuid}/actions", isAction = true, - method = HttpMethod.PUT, + method = "PUT", responseClass = APIUpdateDiskOfferingEvent.class ) public class APIUpdateDiskOfferingMsg extends APIMessage implements DiskOfferingMessage { diff --git a/header/src/main/java/org/zstack/header/configuration/APIUpdateInstanceOfferingMsg.java b/header/src/main/java/org/zstack/header/configuration/APIUpdateInstanceOfferingMsg.java index 1aaa7ca1d1e..5ea9702490e 100755 --- a/header/src/main/java/org/zstack/header/configuration/APIUpdateInstanceOfferingMsg.java +++ b/header/src/main/java/org/zstack/header/configuration/APIUpdateInstanceOfferingMsg.java @@ -14,7 +14,7 @@ @RestRequest( path = "/instance-offerings/{uuid}/actions", responseClass = APIUpdateInstanceOfferingEvent.class, - method = HttpMethod.PUT, + method = "PUT", isAction = true ) public class APIUpdateInstanceOfferingMsg extends APIMessage implements InstanceOfferingMessage { diff --git a/header/src/main/java/org/zstack/header/configuration/DiskOfferingAO.java b/header/src/main/java/org/zstack/header/configuration/DiskOfferingAO.java index ff9fa4ff91a..77dae4313fa 100755 --- a/header/src/main/java/org/zstack/header/configuration/DiskOfferingAO.java +++ b/header/src/main/java/org/zstack/header/configuration/DiskOfferingAO.java @@ -3,7 +3,7 @@ import org.zstack.header.vo.Index; import org.zstack.header.vo.ResourceVO; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; @MappedSuperclass diff --git a/header/src/main/java/org/zstack/header/configuration/DiskOfferingAO_.java b/header/src/main/java/org/zstack/header/configuration/DiskOfferingAO_.java index f42ba650060..f6197850d3a 100755 --- a/header/src/main/java/org/zstack/header/configuration/DiskOfferingAO_.java +++ b/header/src/main/java/org/zstack/header/configuration/DiskOfferingAO_.java @@ -2,8 +2,8 @@ import org.zstack.header.vo.ResourceVO_; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; @StaticMetamodel(DiskOfferingAO.class) diff --git a/header/src/main/java/org/zstack/header/configuration/DiskOfferingEO.java b/header/src/main/java/org/zstack/header/configuration/DiskOfferingEO.java index cbf96048d85..0fd636c0272 100755 --- a/header/src/main/java/org/zstack/header/configuration/DiskOfferingEO.java +++ b/header/src/main/java/org/zstack/header/configuration/DiskOfferingEO.java @@ -1,8 +1,8 @@ package org.zstack.header.configuration; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.Table; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.Table; /** */ diff --git a/header/src/main/java/org/zstack/header/configuration/DiskOfferingVO.java b/header/src/main/java/org/zstack/header/configuration/DiskOfferingVO.java index 51a2357fdb8..dca811c698d 100755 --- a/header/src/main/java/org/zstack/header/configuration/DiskOfferingVO.java +++ b/header/src/main/java/org/zstack/header/configuration/DiskOfferingVO.java @@ -5,9 +5,9 @@ import org.zstack.header.vo.BaseResource; import org.zstack.header.vo.EO; -import javax.persistence.Entity; -import javax.persistence.Table; -import javax.persistence.Transient; +import jakarta.persistence.Entity; +import jakarta.persistence.Table; +import jakarta.persistence.Transient; @Entity @Table diff --git a/header/src/main/java/org/zstack/header/configuration/DiskOfferingVO_.java b/header/src/main/java/org/zstack/header/configuration/DiskOfferingVO_.java index cde13bbe9a6..a2412a64403 100755 --- a/header/src/main/java/org/zstack/header/configuration/DiskOfferingVO_.java +++ b/header/src/main/java/org/zstack/header/configuration/DiskOfferingVO_.java @@ -1,6 +1,6 @@ package org.zstack.header.configuration; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.StaticMetamodel; @StaticMetamodel(DiskOfferingVO.class) public class DiskOfferingVO_ extends DiskOfferingAO_ { diff --git a/header/src/main/java/org/zstack/header/configuration/InstanceOfferingAO.java b/header/src/main/java/org/zstack/header/configuration/InstanceOfferingAO.java index b7e7d9fb70c..408bd7cc8f9 100755 --- a/header/src/main/java/org/zstack/header/configuration/InstanceOfferingAO.java +++ b/header/src/main/java/org/zstack/header/configuration/InstanceOfferingAO.java @@ -3,7 +3,7 @@ import org.zstack.header.vo.Index; import org.zstack.header.vo.ResourceVO; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; @MappedSuperclass diff --git a/header/src/main/java/org/zstack/header/configuration/InstanceOfferingAO_.java b/header/src/main/java/org/zstack/header/configuration/InstanceOfferingAO_.java index 3b92cb36051..6716814b646 100755 --- a/header/src/main/java/org/zstack/header/configuration/InstanceOfferingAO_.java +++ b/header/src/main/java/org/zstack/header/configuration/InstanceOfferingAO_.java @@ -2,8 +2,8 @@ import org.zstack.header.vo.ResourceVO_; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; diff --git a/header/src/main/java/org/zstack/header/configuration/InstanceOfferingEO.java b/header/src/main/java/org/zstack/header/configuration/InstanceOfferingEO.java index 8bfdab8748a..8ec97cdd7f1 100755 --- a/header/src/main/java/org/zstack/header/configuration/InstanceOfferingEO.java +++ b/header/src/main/java/org/zstack/header/configuration/InstanceOfferingEO.java @@ -1,8 +1,8 @@ package org.zstack.header.configuration; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.Table; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.Table; /** */ diff --git a/header/src/main/java/org/zstack/header/configuration/InstanceOfferingVO.java b/header/src/main/java/org/zstack/header/configuration/InstanceOfferingVO.java index a2731ac3d5c..1a9f4ac2344 100755 --- a/header/src/main/java/org/zstack/header/configuration/InstanceOfferingVO.java +++ b/header/src/main/java/org/zstack/header/configuration/InstanceOfferingVO.java @@ -4,9 +4,9 @@ import org.zstack.header.tag.AutoDeleteTag; import org.zstack.header.vo.BaseResource; import org.zstack.header.vo.EO; -import javax.persistence.Entity; -import javax.persistence.Table; -import javax.persistence.Transient; +import jakarta.persistence.Entity; +import jakarta.persistence.Table; +import jakarta.persistence.Transient; @Entity @Table diff --git a/header/src/main/java/org/zstack/header/configuration/InstanceOfferingVO_.java b/header/src/main/java/org/zstack/header/configuration/InstanceOfferingVO_.java index 9d366a667be..001173a7c00 100755 --- a/header/src/main/java/org/zstack/header/configuration/InstanceOfferingVO_.java +++ b/header/src/main/java/org/zstack/header/configuration/InstanceOfferingVO_.java @@ -1,6 +1,6 @@ package org.zstack.header.configuration; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.StaticMetamodel; @StaticMetamodel(InstanceOfferingVO.class) diff --git a/header/src/main/java/org/zstack/header/console/APIQueryConsoleProxyAgentMsg.java b/header/src/main/java/org/zstack/header/console/APIQueryConsoleProxyAgentMsg.java index 7a93127b197..1d8b71cb23f 100755 --- a/header/src/main/java/org/zstack/header/console/APIQueryConsoleProxyAgentMsg.java +++ b/header/src/main/java/org/zstack/header/console/APIQueryConsoleProxyAgentMsg.java @@ -16,7 +16,7 @@ @RestRequest( path = "/consoles/agents", optionalPaths = "/consoles/agents/{uuid}", - method = HttpMethod.GET, + method = "GET", responseClass = APIQueryConsoleProxyAgentReply.class ) public class APIQueryConsoleProxyAgentMsg extends APIQueryMessage { diff --git a/header/src/main/java/org/zstack/header/console/APIReconnectConsoleProxyAgentMsg.java b/header/src/main/java/org/zstack/header/console/APIReconnectConsoleProxyAgentMsg.java index 94a9f7b11b0..cb3baf89665 100755 --- a/header/src/main/java/org/zstack/header/console/APIReconnectConsoleProxyAgentMsg.java +++ b/header/src/main/java/org/zstack/header/console/APIReconnectConsoleProxyAgentMsg.java @@ -16,7 +16,7 @@ path = "/consoles/agents", isAction = true, responseClass = APIReconnectConsoleProxyAgentEvent.class, - method = HttpMethod.PUT + method = "PUT" ) public class APIReconnectConsoleProxyAgentMsg extends APIMessage implements ConsoleProxyAgentMessage { @APIParam(required = false, nonempty = true) diff --git a/header/src/main/java/org/zstack/header/console/APIRequestConsoleAccessMsg.java b/header/src/main/java/org/zstack/header/console/APIRequestConsoleAccessMsg.java index 10257f3974b..3d8d459c4db 100755 --- a/header/src/main/java/org/zstack/header/console/APIRequestConsoleAccessMsg.java +++ b/header/src/main/java/org/zstack/header/console/APIRequestConsoleAccessMsg.java @@ -17,7 +17,7 @@ @Action(category = ConsoleConstants.ACTION_CATEGORY) @RestRequest( path = "/consoles", - method = HttpMethod.POST, + method = "POST", parameterName = "params", responseClass = APIRequestConsoleAccessEvent.class ) diff --git a/header/src/main/java/org/zstack/header/console/APIUpdateConsoleProxyAgentMsg.java b/header/src/main/java/org/zstack/header/console/APIUpdateConsoleProxyAgentMsg.java index b9f2792ea65..0ea90206008 100755 --- a/header/src/main/java/org/zstack/header/console/APIUpdateConsoleProxyAgentMsg.java +++ b/header/src/main/java/org/zstack/header/console/APIUpdateConsoleProxyAgentMsg.java @@ -11,7 +11,7 @@ path = "/consoles/agents/{uuid}/actions", isAction = true, responseClass = APIUpdateConsoleProxyAgentEvent.class, - method = HttpMethod.PUT + method = "PUT" ) public class APIUpdateConsoleProxyAgentMsg extends APIMessage implements ConsoleProxyAgentMessage { @APIParam(resourceType = ConsoleProxyAgentVO.class) diff --git a/header/src/main/java/org/zstack/header/console/ConsoleProxyAgentVO.java b/header/src/main/java/org/zstack/header/console/ConsoleProxyAgentVO.java index e3c1489f751..68294a679c6 100755 --- a/header/src/main/java/org/zstack/header/console/ConsoleProxyAgentVO.java +++ b/header/src/main/java/org/zstack/header/console/ConsoleProxyAgentVO.java @@ -4,7 +4,7 @@ import org.zstack.header.vo.BaseResource; import org.zstack.header.vo.ForeignKey; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; /** diff --git a/header/src/main/java/org/zstack/header/console/ConsoleProxyAgentVO_.java b/header/src/main/java/org/zstack/header/console/ConsoleProxyAgentVO_.java index fe37f4fe5b8..d224a835e85 100755 --- a/header/src/main/java/org/zstack/header/console/ConsoleProxyAgentVO_.java +++ b/header/src/main/java/org/zstack/header/console/ConsoleProxyAgentVO_.java @@ -1,7 +1,7 @@ package org.zstack.header.console; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; /** diff --git a/header/src/main/java/org/zstack/header/console/ConsoleProxyVO.java b/header/src/main/java/org/zstack/header/console/ConsoleProxyVO.java index 116ad756ac0..2197ae9a66e 100755 --- a/header/src/main/java/org/zstack/header/console/ConsoleProxyVO.java +++ b/header/src/main/java/org/zstack/header/console/ConsoleProxyVO.java @@ -8,7 +8,7 @@ import org.zstack.header.vo.ForeignKey.ReferenceOption; import org.zstack.header.vo.ResourceVO; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; /** diff --git a/header/src/main/java/org/zstack/header/console/ConsoleProxyVO_.java b/header/src/main/java/org/zstack/header/console/ConsoleProxyVO_.java index 99f0f00b4ab..b204d6ca782 100755 --- a/header/src/main/java/org/zstack/header/console/ConsoleProxyVO_.java +++ b/header/src/main/java/org/zstack/header/console/ConsoleProxyVO_.java @@ -2,8 +2,8 @@ import org.zstack.header.vo.ResourceVO_; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; /** diff --git a/header/src/main/java/org/zstack/header/core/APIGetChainTaskMsg.java b/header/src/main/java/org/zstack/header/core/APIGetChainTaskMsg.java index fb5054f1a54..abc5cd272f8 100644 --- a/header/src/main/java/org/zstack/header/core/APIGetChainTaskMsg.java +++ b/header/src/main/java/org/zstack/header/core/APIGetChainTaskMsg.java @@ -12,7 +12,7 @@ @Action(category = CoreConstant.ACTION_CATEGORY, adminOnly = true) @RestRequest( path = "/core/task-details", - method = HttpMethod.GET, + method = "GET", responseClass = APIGetChainTaskReply.class ) public class APIGetChainTaskMsg extends APISyncCallMessage { diff --git a/header/src/main/java/org/zstack/header/core/captcha/CaptchaVO.java b/header/src/main/java/org/zstack/header/core/captcha/CaptchaVO.java index c42996b45b6..f9fe7aeb156 100644 --- a/header/src/main/java/org/zstack/header/core/captcha/CaptchaVO.java +++ b/header/src/main/java/org/zstack/header/core/captcha/CaptchaVO.java @@ -3,10 +3,10 @@ import org.zstack.header.vo.BaseResource; import org.zstack.header.vo.ResourceVO; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.PreUpdate; -import javax.persistence.Table; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.PreUpdate; +import jakarta.persistence.Table; import java.sql.Timestamp; /** diff --git a/header/src/main/java/org/zstack/header/core/captcha/CaptchaVO_.java b/header/src/main/java/org/zstack/header/core/captcha/CaptchaVO_.java index 65a9fe4d7a6..f4703f8a93e 100644 --- a/header/src/main/java/org/zstack/header/core/captcha/CaptchaVO_.java +++ b/header/src/main/java/org/zstack/header/core/captcha/CaptchaVO_.java @@ -2,8 +2,8 @@ import org.zstack.header.vo.ResourceVO_; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; /** diff --git a/header/src/main/java/org/zstack/header/core/encrypt/APIGetEncryptedFieldMsg.java b/header/src/main/java/org/zstack/header/core/encrypt/APIGetEncryptedFieldMsg.java index 22ca5f12cba..cc1168c49ba 100644 --- a/header/src/main/java/org/zstack/header/core/encrypt/APIGetEncryptedFieldMsg.java +++ b/header/src/main/java/org/zstack/header/core/encrypt/APIGetEncryptedFieldMsg.java @@ -13,7 +13,7 @@ @Action(category = EncryptConstant.CERTIFICATE_ACTION_CATEGORY, names = {"read"}) @RestRequest( path = "/encrypted/fields", - method = HttpMethod.GET, + method = "GET", responseClass = APIGetEncryptedFieldReply.class ) public class APIGetEncryptedFieldMsg extends APISyncCallMessage { diff --git a/header/src/main/java/org/zstack/header/core/encrypt/EncryptEntityMetadataVO.java b/header/src/main/java/org/zstack/header/core/encrypt/EncryptEntityMetadataVO.java index 8248802387b..a1257ec7bdd 100644 --- a/header/src/main/java/org/zstack/header/core/encrypt/EncryptEntityMetadataVO.java +++ b/header/src/main/java/org/zstack/header/core/encrypt/EncryptEntityMetadataVO.java @@ -1,6 +1,6 @@ package org.zstack.header.core.encrypt; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; @Entity diff --git a/header/src/main/java/org/zstack/header/core/encrypt/EncryptEntityMetadataVO_.java b/header/src/main/java/org/zstack/header/core/encrypt/EncryptEntityMetadataVO_.java index a43d8020fb7..39c35ba19f1 100644 --- a/header/src/main/java/org/zstack/header/core/encrypt/EncryptEntityMetadataVO_.java +++ b/header/src/main/java/org/zstack/header/core/encrypt/EncryptEntityMetadataVO_.java @@ -1,7 +1,7 @@ package org.zstack.header.core.encrypt; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; @StaticMetamodel(EncryptEntityMetadataVO.class) diff --git a/header/src/main/java/org/zstack/header/core/encrypt/EncryptionIntegrityInventory.java b/header/src/main/java/org/zstack/header/core/encrypt/EncryptionIntegrityInventory.java index 5d2aa5f5ef6..695684e2187 100644 --- a/header/src/main/java/org/zstack/header/core/encrypt/EncryptionIntegrityInventory.java +++ b/header/src/main/java/org/zstack/header/core/encrypt/EncryptionIntegrityInventory.java @@ -2,7 +2,6 @@ import org.zstack.header.configuration.PythonClassInventory; import org.zstack.header.search.Inventory; -import sun.awt.PlatformFont; import java.io.Serializable; import java.sql.Timestamp; diff --git a/header/src/main/java/org/zstack/header/core/encrypt/EncryptionIntegrityVO.java b/header/src/main/java/org/zstack/header/core/encrypt/EncryptionIntegrityVO.java index 2ab6dc2b2a2..0438796af3b 100644 --- a/header/src/main/java/org/zstack/header/core/encrypt/EncryptionIntegrityVO.java +++ b/header/src/main/java/org/zstack/header/core/encrypt/EncryptionIntegrityVO.java @@ -1,6 +1,6 @@ package org.zstack.header.core.encrypt; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; /** diff --git a/header/src/main/java/org/zstack/header/core/encrypt/EncryptionIntegrityVO_.java b/header/src/main/java/org/zstack/header/core/encrypt/EncryptionIntegrityVO_.java index 25bccf42db1..f80cb022fb2 100644 --- a/header/src/main/java/org/zstack/header/core/encrypt/EncryptionIntegrityVO_.java +++ b/header/src/main/java/org/zstack/header/core/encrypt/EncryptionIntegrityVO_.java @@ -2,8 +2,8 @@ import org.zstack.header.core.trash.InstallPathRecycleVO; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; /** diff --git a/header/src/main/java/org/zstack/header/core/encrypt/FileIntegrityVerificationVO.java b/header/src/main/java/org/zstack/header/core/encrypt/FileIntegrityVerificationVO.java index 69295bddf8e..d0aaa5c2782 100644 --- a/header/src/main/java/org/zstack/header/core/encrypt/FileIntegrityVerificationVO.java +++ b/header/src/main/java/org/zstack/header/core/encrypt/FileIntegrityVerificationVO.java @@ -1,6 +1,6 @@ package org.zstack.header.core.encrypt; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; /** diff --git a/header/src/main/java/org/zstack/header/core/encrypt/FileIntegrityVerificationVO_.java b/header/src/main/java/org/zstack/header/core/encrypt/FileIntegrityVerificationVO_.java index d7ea67e335f..883855750de 100644 --- a/header/src/main/java/org/zstack/header/core/encrypt/FileIntegrityVerificationVO_.java +++ b/header/src/main/java/org/zstack/header/core/encrypt/FileIntegrityVerificationVO_.java @@ -1,7 +1,7 @@ package org.zstack.header.core.encrypt; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; /** * @author hanyu.liang diff --git a/header/src/main/java/org/zstack/header/core/external/plugin/APIDeletePluginDriversMsg.java b/header/src/main/java/org/zstack/header/core/external/plugin/APIDeletePluginDriversMsg.java index 4393f927f72..1e200289fab 100644 --- a/header/src/main/java/org/zstack/header/core/external/plugin/APIDeletePluginDriversMsg.java +++ b/header/src/main/java/org/zstack/header/core/external/plugin/APIDeletePluginDriversMsg.java @@ -9,7 +9,7 @@ @RestRequest( path = "/external/plugins/{uuid}", responseClass = APIDeletePluginDriversEvent.class, - method = HttpMethod.DELETE + method = "DELETE" ) public class APIDeletePluginDriversMsg extends APIDeleteMessage { @APIParam(resourceType = PluginDriverVO.class, successIfResourceNotExisting = true) diff --git a/header/src/main/java/org/zstack/header/core/external/plugin/APIQueryPluginDriversMsg.java b/header/src/main/java/org/zstack/header/core/external/plugin/APIQueryPluginDriversMsg.java index 11754d4fa3a..9561b477eb8 100644 --- a/header/src/main/java/org/zstack/header/core/external/plugin/APIQueryPluginDriversMsg.java +++ b/header/src/main/java/org/zstack/header/core/external/plugin/APIQueryPluginDriversMsg.java @@ -12,7 +12,7 @@ @AutoQuery(replyClass = APIQueryPluginDriversReply.class, inventoryClass = PluginDriverInventory.class) @RestRequest( path = "/external/plugins", - method = HttpMethod.GET, + method = "GET", responseClass = APIQueryPluginDriversReply.class ) public class APIQueryPluginDriversMsg extends APIQueryMessage { diff --git a/header/src/main/java/org/zstack/header/core/external/plugin/APIRefreshPluginDriversMsg.java b/header/src/main/java/org/zstack/header/core/external/plugin/APIRefreshPluginDriversMsg.java index 101acd50963..a230e67a89c 100644 --- a/header/src/main/java/org/zstack/header/core/external/plugin/APIRefreshPluginDriversMsg.java +++ b/header/src/main/java/org/zstack/header/core/external/plugin/APIRefreshPluginDriversMsg.java @@ -10,7 +10,7 @@ path = "/external/plugins", isAction = true, responseClass = APIRefreshPluginDriversEvent.class, - method = HttpMethod.PUT + method = "PUT" ) public class APIRefreshPluginDriversMsg extends APIMessage { @APIParam(required = false) diff --git a/header/src/main/java/org/zstack/header/core/external/plugin/PluginDriverVO.java b/header/src/main/java/org/zstack/header/core/external/plugin/PluginDriverVO.java index f1586aca36c..1843f09e2dc 100644 --- a/header/src/main/java/org/zstack/header/core/external/plugin/PluginDriverVO.java +++ b/header/src/main/java/org/zstack/header/core/external/plugin/PluginDriverVO.java @@ -3,9 +3,9 @@ import org.zstack.header.vo.BaseResource; import org.zstack.header.vo.ResourceVO; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.Table; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.Table; import java.sql.Timestamp; @Entity diff --git a/header/src/main/java/org/zstack/header/core/external/plugin/PluginDriverVO_.java b/header/src/main/java/org/zstack/header/core/external/plugin/PluginDriverVO_.java index c79ce6ff7d2..9525bc6f83e 100644 --- a/header/src/main/java/org/zstack/header/core/external/plugin/PluginDriverVO_.java +++ b/header/src/main/java/org/zstack/header/core/external/plugin/PluginDriverVO_.java @@ -2,8 +2,8 @@ import org.zstack.header.vo.ResourceVO_; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; @StaticMetamodel(PluginDriverVO.class) diff --git a/header/src/main/java/org/zstack/header/core/external/service/APIGetExternalServicesMsg.java b/header/src/main/java/org/zstack/header/core/external/service/APIGetExternalServicesMsg.java index 24514986ecb..d0fb4672100 100644 --- a/header/src/main/java/org/zstack/header/core/external/service/APIGetExternalServicesMsg.java +++ b/header/src/main/java/org/zstack/header/core/external/service/APIGetExternalServicesMsg.java @@ -6,7 +6,7 @@ @RestRequest( path = "/external/services", - method = HttpMethod.GET, + method = "GET", responseClass = APIGetExternalServicesReply.class ) public class APIGetExternalServicesMsg extends APISyncCallMessage { diff --git a/header/src/main/java/org/zstack/header/core/external/service/APIReloadExternalServiceMsg.java b/header/src/main/java/org/zstack/header/core/external/service/APIReloadExternalServiceMsg.java index de3c8c0019f..9eec84a2e19 100644 --- a/header/src/main/java/org/zstack/header/core/external/service/APIReloadExternalServiceMsg.java +++ b/header/src/main/java/org/zstack/header/core/external/service/APIReloadExternalServiceMsg.java @@ -9,7 +9,7 @@ path = "/external/services", isAction = true, responseClass = APIReloadExternalServiceEvent.class, - method = HttpMethod.PUT + method = "PUT" ) public class APIReloadExternalServiceMsg extends APIMessage { @APIParam diff --git a/header/src/main/java/org/zstack/header/core/progress/APIGetTaskProgressMsg.java b/header/src/main/java/org/zstack/header/core/progress/APIGetTaskProgressMsg.java index faab64d5e06..70901f42419 100755 --- a/header/src/main/java/org/zstack/header/core/progress/APIGetTaskProgressMsg.java +++ b/header/src/main/java/org/zstack/header/core/progress/APIGetTaskProgressMsg.java @@ -9,7 +9,7 @@ */ @RestRequest( path = "/task-progresses/{apiId}", - method = HttpMethod.GET, + method = "GET", responseClass = APIGetTaskProgressReply.class ) public class APIGetTaskProgressMsg extends APISyncCallMessage { 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..bff209742ac 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 @@ -4,7 +4,7 @@ import org.zstack.header.vo.*; import org.zstack.header.vo.ForeignKey; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; /** 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 936891f1787..353fc55f7a3 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 javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; /** diff --git a/header/src/main/java/org/zstack/header/core/trash/InstallPathRecycleVO.java b/header/src/main/java/org/zstack/header/core/trash/InstallPathRecycleVO.java index 1a9879b71db..977ea179ce5 100644 --- a/header/src/main/java/org/zstack/header/core/trash/InstallPathRecycleVO.java +++ b/header/src/main/java/org/zstack/header/core/trash/InstallPathRecycleVO.java @@ -1,6 +1,6 @@ package org.zstack.header.core.trash; -import javax.persistence.*; +import jakarta.persistence.*; import java.io.Serializable; import java.sql.Timestamp; diff --git a/header/src/main/java/org/zstack/header/core/trash/InstallPathRecycleVO_.java b/header/src/main/java/org/zstack/header/core/trash/InstallPathRecycleVO_.java index 09a9eca98af..1d7a3dd9c70 100644 --- a/header/src/main/java/org/zstack/header/core/trash/InstallPathRecycleVO_.java +++ b/header/src/main/java/org/zstack/header/core/trash/InstallPathRecycleVO_.java @@ -1,7 +1,7 @@ package org.zstack.header.core.trash; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; /** diff --git a/header/src/main/java/org/zstack/header/core/webhooks/APICreateWebhookMsg.java b/header/src/main/java/org/zstack/header/core/webhooks/APICreateWebhookMsg.java index 2c6bfca7eba..919e6b0c50b 100755 --- a/header/src/main/java/org/zstack/header/core/webhooks/APICreateWebhookMsg.java +++ b/header/src/main/java/org/zstack/header/core/webhooks/APICreateWebhookMsg.java @@ -10,7 +10,7 @@ */ @RestRequest( path = "/web-hooks", - method = HttpMethod.POST, + method = "POST", parameterName = "params", responseClass = APICreateWebhookEvent.class ) diff --git a/header/src/main/java/org/zstack/header/core/webhooks/APIDeleteWebhookMsg.java b/header/src/main/java/org/zstack/header/core/webhooks/APIDeleteWebhookMsg.java index bef853c3d2d..3253e08d838 100755 --- a/header/src/main/java/org/zstack/header/core/webhooks/APIDeleteWebhookMsg.java +++ b/header/src/main/java/org/zstack/header/core/webhooks/APIDeleteWebhookMsg.java @@ -10,7 +10,7 @@ */ @RestRequest( path = "/web-hooks/{uuid}", - method = HttpMethod.DELETE, + method = "DELETE", responseClass = APIDeleteWebhookEvent.class ) @Deprecated diff --git a/header/src/main/java/org/zstack/header/core/webhooks/APIQueryWebhookMsg.java b/header/src/main/java/org/zstack/header/core/webhooks/APIQueryWebhookMsg.java index f417195e748..30b98a4264f 100755 --- a/header/src/main/java/org/zstack/header/core/webhooks/APIQueryWebhookMsg.java +++ b/header/src/main/java/org/zstack/header/core/webhooks/APIQueryWebhookMsg.java @@ -15,7 +15,7 @@ @RestRequest( path = "/web-hooks", optionalPaths = {"/web-hooks/{uuid}"}, - method = HttpMethod.GET, + method = "GET", responseClass = APIQueryWebhookReply.class ) @Deprecated diff --git a/header/src/main/java/org/zstack/header/core/webhooks/APIUpdateWebhookMsg.java b/header/src/main/java/org/zstack/header/core/webhooks/APIUpdateWebhookMsg.java index 5fd7fa2ac67..2a3a9251236 100755 --- a/header/src/main/java/org/zstack/header/core/webhooks/APIUpdateWebhookMsg.java +++ b/header/src/main/java/org/zstack/header/core/webhooks/APIUpdateWebhookMsg.java @@ -10,7 +10,7 @@ */ @RestRequest( path = "/web-hooks/{uuid}", - method = HttpMethod.PUT, + method = "PUT", isAction = true, responseClass = APIUpdateWebhookEvent.class ) diff --git a/header/src/main/java/org/zstack/header/core/webhooks/WebhookVO.java b/header/src/main/java/org/zstack/header/core/webhooks/WebhookVO.java index 4b7a427f485..f270a259c56 100755 --- a/header/src/main/java/org/zstack/header/core/webhooks/WebhookVO.java +++ b/header/src/main/java/org/zstack/header/core/webhooks/WebhookVO.java @@ -2,7 +2,7 @@ import org.zstack.header.vo.BaseResource; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; /** diff --git a/header/src/main/java/org/zstack/header/core/webhooks/WebhookVO_.java b/header/src/main/java/org/zstack/header/core/webhooks/WebhookVO_.java index 4d1c7f622b8..411837d87b7 100755 --- a/header/src/main/java/org/zstack/header/core/webhooks/WebhookVO_.java +++ b/header/src/main/java/org/zstack/header/core/webhooks/WebhookVO_.java @@ -4,8 +4,8 @@ * Created by xing5 on 2017/5/7. */ -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; @StaticMetamodel(WebhookVO.class) diff --git a/header/src/main/java/org/zstack/header/host/APIChangeHostStateMsg.java b/header/src/main/java/org/zstack/header/host/APIChangeHostStateMsg.java index e7afdd766fd..e272996d385 100755 --- a/header/src/main/java/org/zstack/header/host/APIChangeHostStateMsg.java +++ b/header/src/main/java/org/zstack/header/host/APIChangeHostStateMsg.java @@ -37,7 +37,7 @@ path = "/hosts/{uuid}/actions", isAction = true, responseClass = APIChangeHostStateEvent.class, - method = HttpMethod.PUT + method = "PUT" ) public class APIChangeHostStateMsg extends APIMessage implements HostMessage { /** diff --git a/header/src/main/java/org/zstack/header/host/APICreateHostNetworkServiceTypeMsg.java b/header/src/main/java/org/zstack/header/host/APICreateHostNetworkServiceTypeMsg.java index fc903f548f6..9a981b78c20 100644 --- a/header/src/main/java/org/zstack/header/host/APICreateHostNetworkServiceTypeMsg.java +++ b/header/src/main/java/org/zstack/header/host/APICreateHostNetworkServiceTypeMsg.java @@ -17,7 +17,7 @@ @Action(category = HostConstant.ACTION_CATEGORY) @RestRequest( path = "/hosts/service-types", - method = HttpMethod.POST, + method = "POST", responseClass = APICreateHostNetworkServiceTypeEvent.class, parameterName = "params" ) diff --git a/header/src/main/java/org/zstack/header/host/APIDeleteHostMsg.java b/header/src/main/java/org/zstack/header/host/APIDeleteHostMsg.java index 6f54187ebb1..f8f4493270f 100755 --- a/header/src/main/java/org/zstack/header/host/APIDeleteHostMsg.java +++ b/header/src/main/java/org/zstack/header/host/APIDeleteHostMsg.java @@ -38,7 +38,7 @@ */ @RestRequest( path = "/hosts/{uuid}", - method = HttpMethod.DELETE, + method = "DELETE", responseClass = APIDeleteHostEvent.class ) public class APIDeleteHostMsg extends APIDeleteMessage implements HostMessage { diff --git a/header/src/main/java/org/zstack/header/host/APIDeleteHostNetworkServiceTypeMsg.java b/header/src/main/java/org/zstack/header/host/APIDeleteHostNetworkServiceTypeMsg.java index 896222cf1f3..087f97aa725 100644 --- a/header/src/main/java/org/zstack/header/host/APIDeleteHostNetworkServiceTypeMsg.java +++ b/header/src/main/java/org/zstack/header/host/APIDeleteHostNetworkServiceTypeMsg.java @@ -12,7 +12,7 @@ @Action(category = HostConstant.ACTION_CATEGORY) @RestRequest( path = "/hosts/service-types/{uuid}", - method = HttpMethod.DELETE, + method = "DELETE", responseClass = APIDeleteHostNetworkServiceTypeEvent.class ) public class APIDeleteHostNetworkServiceTypeMsg extends APIDeleteMessage { diff --git a/header/src/main/java/org/zstack/header/host/APIGetHostPowerStatusMsg.java b/header/src/main/java/org/zstack/header/host/APIGetHostPowerStatusMsg.java index ab8b2f5760b..c60bc8245a0 100644 --- a/header/src/main/java/org/zstack/header/host/APIGetHostPowerStatusMsg.java +++ b/header/src/main/java/org/zstack/header/host/APIGetHostPowerStatusMsg.java @@ -11,7 +11,7 @@ */ @RestRequest( path = "/hosts/power/{uuid}/actions", - method = HttpMethod.PUT, + method = "PUT", responseClass = APIGetHostPowerStatusEvent.class, isAction = true ) diff --git a/header/src/main/java/org/zstack/header/host/APIGetHostTaskMsg.java b/header/src/main/java/org/zstack/header/host/APIGetHostTaskMsg.java index 86aeb7f42f9..2eeead04cc6 100644 --- a/header/src/main/java/org/zstack/header/host/APIGetHostTaskMsg.java +++ b/header/src/main/java/org/zstack/header/host/APIGetHostTaskMsg.java @@ -18,7 +18,7 @@ @Action(category = HostConstant.ACTION_CATEGORY, adminOnly = true) @RestRequest( path = "/hosts/task-details", - method = HttpMethod.GET, + method = "GET", responseClass = APIGetChainTaskReply.class ) public class APIGetHostTaskMsg extends APIGetChainTaskMsg { diff --git a/header/src/main/java/org/zstack/header/host/APIGetHostWebSshUrlMsg.java b/header/src/main/java/org/zstack/header/host/APIGetHostWebSshUrlMsg.java index 12415f71af6..9f6df7c79eb 100644 --- a/header/src/main/java/org/zstack/header/host/APIGetHostWebSshUrlMsg.java +++ b/header/src/main/java/org/zstack/header/host/APIGetHostWebSshUrlMsg.java @@ -12,7 +12,7 @@ */ @RestRequest( path = "/hosts/webssh", - method = HttpMethod.POST, + method = "POST", responseClass = APIGetHostWebSshUrlEvent.class, parameterName = "params" ) diff --git a/header/src/main/java/org/zstack/header/host/APIGetHypervisorTypesMsg.java b/header/src/main/java/org/zstack/header/host/APIGetHypervisorTypesMsg.java index f758862bb77..c06a6ce8c32 100755 --- a/header/src/main/java/org/zstack/header/host/APIGetHypervisorTypesMsg.java +++ b/header/src/main/java/org/zstack/header/host/APIGetHypervisorTypesMsg.java @@ -28,7 +28,7 @@ */ @RestRequest( path = "/hosts/hypervisor-types", - method = HttpMethod.GET, + method = "GET", responseClass = APIGetHypervisorTypesReply.class ) public class APIGetHypervisorTypesMsg extends APISyncCallMessage { diff --git a/header/src/main/java/org/zstack/header/host/APIPowerOnHostMsg.java b/header/src/main/java/org/zstack/header/host/APIPowerOnHostMsg.java index f8f06ad1b33..9d9a0d7f89e 100644 --- a/header/src/main/java/org/zstack/header/host/APIPowerOnHostMsg.java +++ b/header/src/main/java/org/zstack/header/host/APIPowerOnHostMsg.java @@ -11,7 +11,7 @@ */ @RestRequest( path = "/hosts/power/{uuid}/actions", - method = HttpMethod.PUT, + method = "PUT", responseClass = APIPowerOnHostEvent.class, isAction = true ) diff --git a/header/src/main/java/org/zstack/header/host/APIPowerResetHostMsg.java b/header/src/main/java/org/zstack/header/host/APIPowerResetHostMsg.java index ef268974ef0..15d1cf83cf0 100644 --- a/header/src/main/java/org/zstack/header/host/APIPowerResetHostMsg.java +++ b/header/src/main/java/org/zstack/header/host/APIPowerResetHostMsg.java @@ -11,7 +11,7 @@ */ @RestRequest( path = "/hosts/power/{uuid}/actions", - method = HttpMethod.PUT, + method = "PUT", responseClass = APIPowerResetHostEvent.class, isAction = true ) diff --git a/header/src/main/java/org/zstack/header/host/APIQueryHostMsg.java b/header/src/main/java/org/zstack/header/host/APIQueryHostMsg.java index 249b14412e0..24836b7adc5 100755 --- a/header/src/main/java/org/zstack/header/host/APIQueryHostMsg.java +++ b/header/src/main/java/org/zstack/header/host/APIQueryHostMsg.java @@ -14,7 +14,7 @@ path = "/hosts", optionalPaths = {"/hosts/{uuid}"}, responseClass = APIQueryHostReply.class, - method = HttpMethod.GET + method = "GET" ) public class APIQueryHostMsg extends APIQueryMessage { diff --git a/header/src/main/java/org/zstack/header/host/APIReconnectHostMsg.java b/header/src/main/java/org/zstack/header/host/APIReconnectHostMsg.java index b2149a22bd1..486841bfbd9 100755 --- a/header/src/main/java/org/zstack/header/host/APIReconnectHostMsg.java +++ b/header/src/main/java/org/zstack/header/host/APIReconnectHostMsg.java @@ -34,7 +34,7 @@ @RestRequest( path = "/hosts/{uuid}/actions", responseClass = APIReconnectHostEvent.class, - method = HttpMethod.PUT, + method = "PUT", isAction = true ) public class APIReconnectHostMsg extends APIMessage implements HostMessage { diff --git a/header/src/main/java/org/zstack/header/host/APIShutdownHostMsg.java b/header/src/main/java/org/zstack/header/host/APIShutdownHostMsg.java index 6c165a8b3aa..c3d9ef170a1 100644 --- a/header/src/main/java/org/zstack/header/host/APIShutdownHostMsg.java +++ b/header/src/main/java/org/zstack/header/host/APIShutdownHostMsg.java @@ -12,7 +12,7 @@ */ @RestRequest( path = "/hosts/power/{uuid}/actions", - method = HttpMethod.PUT, + method = "PUT", responseClass = APIShutdownHostEvent.class, isAction = true ) diff --git a/header/src/main/java/org/zstack/header/host/APIUpdateHostIpmiMsg.java b/header/src/main/java/org/zstack/header/host/APIUpdateHostIpmiMsg.java index 4494762e4a6..14bc58124d6 100644 --- a/header/src/main/java/org/zstack/header/host/APIUpdateHostIpmiMsg.java +++ b/header/src/main/java/org/zstack/header/host/APIUpdateHostIpmiMsg.java @@ -12,7 +12,7 @@ */ @RestRequest( path = "/hosts/ipmi/{uuid}/actions", - method = HttpMethod.PUT, + method = "PUT", responseClass = APIUpdateHostIpmiEvent.class, isAction = true ) diff --git a/header/src/main/java/org/zstack/header/host/APIUpdateHostMsg.java b/header/src/main/java/org/zstack/header/host/APIUpdateHostMsg.java index 6f4be4b485f..0fa47b28086 100755 --- a/header/src/main/java/org/zstack/header/host/APIUpdateHostMsg.java +++ b/header/src/main/java/org/zstack/header/host/APIUpdateHostMsg.java @@ -11,7 +11,7 @@ */ @RestRequest( path = "/hosts/{uuid}/actions", - method = HttpMethod.PUT, + method = "PUT", responseClass = APIUpdateHostEvent.class, isAction = true ) diff --git a/header/src/main/java/org/zstack/header/host/APIUpdateHostNetworkServiceTypeMsg.java b/header/src/main/java/org/zstack/header/host/APIUpdateHostNetworkServiceTypeMsg.java index 973d51961a6..f4a38e41e6a 100644 --- a/header/src/main/java/org/zstack/header/host/APIUpdateHostNetworkServiceTypeMsg.java +++ b/header/src/main/java/org/zstack/header/host/APIUpdateHostNetworkServiceTypeMsg.java @@ -10,7 +10,7 @@ */ @RestRequest( path = "/hosts/service-types/{uuid}/actions", - method = HttpMethod.PUT, + method = "PUT", isAction = true, responseClass = APIUpdateHostNetworkServiceTypeEvent.class diff --git a/header/src/main/java/org/zstack/header/host/CpuFeaturesHistoryVO.java b/header/src/main/java/org/zstack/header/host/CpuFeaturesHistoryVO.java index ef92ab6f7aa..ed3279f1286 100644 --- a/header/src/main/java/org/zstack/header/host/CpuFeaturesHistoryVO.java +++ b/header/src/main/java/org/zstack/header/host/CpuFeaturesHistoryVO.java @@ -1,6 +1,6 @@ package org.zstack.header.host; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; /** diff --git a/header/src/main/java/org/zstack/header/host/CpuFeaturesHistoryVO_.java b/header/src/main/java/org/zstack/header/host/CpuFeaturesHistoryVO_.java index cbd60b6fc46..675e103b8da 100644 --- a/header/src/main/java/org/zstack/header/host/CpuFeaturesHistoryVO_.java +++ b/header/src/main/java/org/zstack/header/host/CpuFeaturesHistoryVO_.java @@ -1,7 +1,7 @@ package org.zstack.header.host; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; /** diff --git a/header/src/main/java/org/zstack/header/host/HostAO.java b/header/src/main/java/org/zstack/header/host/HostAO.java index 8f7bd58ef95..148c78b0d0f 100755 --- a/header/src/main/java/org/zstack/header/host/HostAO.java +++ b/header/src/main/java/org/zstack/header/host/HostAO.java @@ -7,7 +7,7 @@ import org.zstack.header.vo.ResourceVO; import org.zstack.header.zone.ZoneEO; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; /** diff --git a/header/src/main/java/org/zstack/header/host/HostAO_.java b/header/src/main/java/org/zstack/header/host/HostAO_.java index 921e2b5ac64..39aa1ce9ecd 100755 --- a/header/src/main/java/org/zstack/header/host/HostAO_.java +++ b/header/src/main/java/org/zstack/header/host/HostAO_.java @@ -2,8 +2,8 @@ import org.zstack.header.vo.ResourceVO_; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; /** diff --git a/header/src/main/java/org/zstack/header/host/HostEO.java b/header/src/main/java/org/zstack/header/host/HostEO.java index dac2f29e964..27dbadaa5b6 100755 --- a/header/src/main/java/org/zstack/header/host/HostEO.java +++ b/header/src/main/java/org/zstack/header/host/HostEO.java @@ -1,6 +1,6 @@ package org.zstack.header.host; -import javax.persistence.*; +import jakarta.persistence.*; @Entity @Table diff --git a/header/src/main/java/org/zstack/header/host/HostEO_.java b/header/src/main/java/org/zstack/header/host/HostEO_.java index acefe691f01..f1706a7fa12 100755 --- a/header/src/main/java/org/zstack/header/host/HostEO_.java +++ b/header/src/main/java/org/zstack/header/host/HostEO_.java @@ -1,6 +1,6 @@ package org.zstack.header.host; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.StaticMetamodel; /** */ diff --git a/header/src/main/java/org/zstack/header/host/HostHwMonitorStatusVO.java b/header/src/main/java/org/zstack/header/host/HostHwMonitorStatusVO.java index 85429398859..b6072583f85 100644 --- a/header/src/main/java/org/zstack/header/host/HostHwMonitorStatusVO.java +++ b/header/src/main/java/org/zstack/header/host/HostHwMonitorStatusVO.java @@ -3,7 +3,7 @@ import org.zstack.header.vo.EntityGraph; import org.zstack.header.vo.ForeignKey; -import javax.persistence.*; +import jakarta.persistence.*; /** * @Author: qiuyu.zhang diff --git a/header/src/main/java/org/zstack/header/host/HostHwMonitorStatusVO_.java b/header/src/main/java/org/zstack/header/host/HostHwMonitorStatusVO_.java index 18ef61e1f7e..f1fa0d8ecb5 100644 --- a/header/src/main/java/org/zstack/header/host/HostHwMonitorStatusVO_.java +++ b/header/src/main/java/org/zstack/header/host/HostHwMonitorStatusVO_.java @@ -1,7 +1,7 @@ package org.zstack.header.host; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; /** * @Author: qiuyu.zhang diff --git a/header/src/main/java/org/zstack/header/host/HostInventory.java b/header/src/main/java/org/zstack/header/host/HostInventory.java index 35958b05003..68abbf49e60 100755 --- a/header/src/main/java/org/zstack/header/host/HostInventory.java +++ b/header/src/main/java/org/zstack/header/host/HostInventory.java @@ -11,7 +11,7 @@ import org.zstack.header.vm.VmInstanceInventory; import org.zstack.header.zone.ZoneInventory; -import javax.persistence.JoinColumn; +import jakarta.persistence.JoinColumn; import java.io.Serializable; import java.sql.Timestamp; import java.util.ArrayList; diff --git a/header/src/main/java/org/zstack/header/host/HostIpmiVO.java b/header/src/main/java/org/zstack/header/host/HostIpmiVO.java index fa0948097b9..50fa20e2d46 100644 --- a/header/src/main/java/org/zstack/header/host/HostIpmiVO.java +++ b/header/src/main/java/org/zstack/header/host/HostIpmiVO.java @@ -3,7 +3,7 @@ import org.zstack.header.vo.EntityGraph; import org.zstack.header.vo.ForeignKey; -import javax.persistence.*; +import jakarta.persistence.*; /** * @Author : jingwang diff --git a/header/src/main/java/org/zstack/header/host/HostIpmiVO_.java b/header/src/main/java/org/zstack/header/host/HostIpmiVO_.java index fbf97c3b398..0343f4a9478 100644 --- a/header/src/main/java/org/zstack/header/host/HostIpmiVO_.java +++ b/header/src/main/java/org/zstack/header/host/HostIpmiVO_.java @@ -3,8 +3,8 @@ import org.zstack.header.host.HostPowerStatus; import org.zstack.header.vo.ResourceVO_; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; @StaticMetamodel(HostIpmiVO.class) diff --git a/header/src/main/java/org/zstack/header/host/HostNetworkLabelInventory.java b/header/src/main/java/org/zstack/header/host/HostNetworkLabelInventory.java index d00fd7bee33..6258ce529e3 100644 --- a/header/src/main/java/org/zstack/header/host/HostNetworkLabelInventory.java +++ b/header/src/main/java/org/zstack/header/host/HostNetworkLabelInventory.java @@ -4,10 +4,10 @@ import org.zstack.header.search.Inventory; import org.zstack.header.vo.ToInventory; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.Id; -import javax.persistence.Table; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.Id; +import jakarta.persistence.Table; import java.io.Serializable; import java.sql.Timestamp; import java.util.ArrayList; diff --git a/header/src/main/java/org/zstack/header/host/HostNetworkLabelVO.java b/header/src/main/java/org/zstack/header/host/HostNetworkLabelVO.java index 068a594196c..e04a71d704d 100644 --- a/header/src/main/java/org/zstack/header/host/HostNetworkLabelVO.java +++ b/header/src/main/java/org/zstack/header/host/HostNetworkLabelVO.java @@ -2,7 +2,7 @@ import org.zstack.header.vo.ToInventory; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; /** diff --git a/header/src/main/java/org/zstack/header/host/HostNetworkLabelVO_.java b/header/src/main/java/org/zstack/header/host/HostNetworkLabelVO_.java index 3220ddc26e5..2da5dcb3f41 100644 --- a/header/src/main/java/org/zstack/header/host/HostNetworkLabelVO_.java +++ b/header/src/main/java/org/zstack/header/host/HostNetworkLabelVO_.java @@ -1,7 +1,7 @@ package org.zstack.header.host; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; /** * Created by boce.wang on 10/24/2024. diff --git a/header/src/main/java/org/zstack/header/host/HostNumaNodeVO.java b/header/src/main/java/org/zstack/header/host/HostNumaNodeVO.java index 24366630870..8310d874aa5 100644 --- a/header/src/main/java/org/zstack/header/host/HostNumaNodeVO.java +++ b/header/src/main/java/org/zstack/header/host/HostNumaNodeVO.java @@ -5,7 +5,7 @@ import org.zstack.header.vo.ForeignKey; import org.zstack.header.vo.ForeignKey.ReferenceOption; -import javax.persistence.*; +import jakarta.persistence.*; @Entity @Table diff --git a/header/src/main/java/org/zstack/header/host/HostNumaNodeVO_.java b/header/src/main/java/org/zstack/header/host/HostNumaNodeVO_.java index b52899ff1e9..102068993db 100644 --- a/header/src/main/java/org/zstack/header/host/HostNumaNodeVO_.java +++ b/header/src/main/java/org/zstack/header/host/HostNumaNodeVO_.java @@ -1,8 +1,8 @@ package org.zstack.header.host; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; @StaticMetamodel(HostNumaNodeVO.class) public class HostNumaNodeVO_ { diff --git a/header/src/main/java/org/zstack/header/host/HostPortVO.java b/header/src/main/java/org/zstack/header/host/HostPortVO.java index c3f228e0400..f3ef1716a34 100644 --- a/header/src/main/java/org/zstack/header/host/HostPortVO.java +++ b/header/src/main/java/org/zstack/header/host/HostPortVO.java @@ -2,7 +2,7 @@ import org.zstack.header.vo.ForeignKey; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; @Entity diff --git a/header/src/main/java/org/zstack/header/host/HostPortVO_.java b/header/src/main/java/org/zstack/header/host/HostPortVO_.java index ddcbbfc871c..d3d626e696c 100644 --- a/header/src/main/java/org/zstack/header/host/HostPortVO_.java +++ b/header/src/main/java/org/zstack/header/host/HostPortVO_.java @@ -1,7 +1,7 @@ package org.zstack.header.host; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; @StaticMetamodel(HostPortVO.class) diff --git a/header/src/main/java/org/zstack/header/host/HostVO.java b/header/src/main/java/org/zstack/header/host/HostVO.java index 319c26750c4..d306b17e301 100755 --- a/header/src/main/java/org/zstack/header/host/HostVO.java +++ b/header/src/main/java/org/zstack/header/host/HostVO.java @@ -9,7 +9,7 @@ import org.zstack.header.vo.NoView; import org.zstack.header.zone.ZoneVO; -import javax.persistence.*; +import jakarta.persistence.*; @Entity @Table diff --git a/header/src/main/java/org/zstack/header/host/HostVO_.java b/header/src/main/java/org/zstack/header/host/HostVO_.java index 7680ea5bf70..377d4efa212 100755 --- a/header/src/main/java/org/zstack/header/host/HostVO_.java +++ b/header/src/main/java/org/zstack/header/host/HostVO_.java @@ -1,6 +1,6 @@ package org.zstack.header.host; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.StaticMetamodel; @StaticMetamodel(HostVO.class) diff --git a/header/src/main/java/org/zstack/header/identity/APIAddUserToGroupMsg.java b/header/src/main/java/org/zstack/header/identity/APIAddUserToGroupMsg.java index c50ad426d0e..bc099765849 100755 --- a/header/src/main/java/org/zstack/header/identity/APIAddUserToGroupMsg.java +++ b/header/src/main/java/org/zstack/header/identity/APIAddUserToGroupMsg.java @@ -10,7 +10,7 @@ @RestRequest( path = "/accounts/groups/{groupUuid}/users", responseClass = APIAddUserToGroupEvent.class, - method = HttpMethod.POST, + method = "POST", parameterName = "params" ) public class APIAddUserToGroupMsg extends APIMessage implements AccountMessage { diff --git a/header/src/main/java/org/zstack/header/identity/APIAttachPoliciesToUserMsg.java b/header/src/main/java/org/zstack/header/identity/APIAttachPoliciesToUserMsg.java index f85639903bf..e26a31db134 100755 --- a/header/src/main/java/org/zstack/header/identity/APIAttachPoliciesToUserMsg.java +++ b/header/src/main/java/org/zstack/header/identity/APIAttachPoliciesToUserMsg.java @@ -13,7 +13,7 @@ @Action(category = AccountConstant.ACTION_CATEGORY, accountOnly = true) @RestRequest( path = "/accounts/users/{userUuid}/policy-collection", - method = HttpMethod.POST, + method = "POST", responseClass = APIAttachPoliciesToUserEvent.class, parameterName = "params" ) diff --git a/header/src/main/java/org/zstack/header/identity/APIAttachPolicyToUserGroupMsg.java b/header/src/main/java/org/zstack/header/identity/APIAttachPolicyToUserGroupMsg.java index 12fb1efc17e..a7d64449373 100755 --- a/header/src/main/java/org/zstack/header/identity/APIAttachPolicyToUserGroupMsg.java +++ b/header/src/main/java/org/zstack/header/identity/APIAttachPolicyToUserGroupMsg.java @@ -9,7 +9,7 @@ @Action(category = AccountConstant.ACTION_CATEGORY, accountOnly = true) @RestRequest( path = "/accounts/groups/{groupUuid}/policies", - method = HttpMethod.POST, + method = "POST", responseClass = APIAttachPolicyToUserGroupEvent.class, parameterName = "params" ) diff --git a/header/src/main/java/org/zstack/header/identity/APIAttachPolicyToUserMsg.java b/header/src/main/java/org/zstack/header/identity/APIAttachPolicyToUserMsg.java index bd18a39ab0d..59e8643aad4 100755 --- a/header/src/main/java/org/zstack/header/identity/APIAttachPolicyToUserMsg.java +++ b/header/src/main/java/org/zstack/header/identity/APIAttachPolicyToUserMsg.java @@ -11,7 +11,7 @@ path = "/accounts/users/{userUuid}/policies", responseClass = APIAttachPolicyToUserEvent.class, parameterName = "params", - method = HttpMethod.POST + method = "POST" ) public class APIAttachPolicyToUserMsg extends APIMessage implements AccountMessage { @APIParam(resourceType = UserVO.class, checkAccount = true, operationTarget = true) diff --git a/header/src/main/java/org/zstack/header/identity/APIChangeResourceOwnerMsg.java b/header/src/main/java/org/zstack/header/identity/APIChangeResourceOwnerMsg.java index b3e6b06db73..aaadf7b3f80 100755 --- a/header/src/main/java/org/zstack/header/identity/APIChangeResourceOwnerMsg.java +++ b/header/src/main/java/org/zstack/header/identity/APIChangeResourceOwnerMsg.java @@ -11,7 +11,7 @@ */ @RestRequest( path = "/account/{accountUuid}/resources", - method = HttpMethod.POST, + method = "POST", responseClass = APIChangeResourceOwnerEvent.class, parameterName = "params" ) diff --git a/header/src/main/java/org/zstack/header/identity/APICheckApiPermissionMsg.java b/header/src/main/java/org/zstack/header/identity/APICheckApiPermissionMsg.java index 8c3514b6a05..1ff45f89d1f 100755 --- a/header/src/main/java/org/zstack/header/identity/APICheckApiPermissionMsg.java +++ b/header/src/main/java/org/zstack/header/identity/APICheckApiPermissionMsg.java @@ -15,7 +15,7 @@ @Action(category = AccountConstant.ACTION_CATEGORY, names = {"read"}) @RestRequest( path = "/accounts/permissions/actions", - method = HttpMethod.PUT, + method = "PUT", responseClass = APICheckApiPermissionReply.class, isAction = true ) diff --git a/header/src/main/java/org/zstack/header/identity/APICheckResourcePermissionMsg.java b/header/src/main/java/org/zstack/header/identity/APICheckResourcePermissionMsg.java index 070397904d8..7444958c2a8 100644 --- a/header/src/main/java/org/zstack/header/identity/APICheckResourcePermissionMsg.java +++ b/header/src/main/java/org/zstack/header/identity/APICheckResourcePermissionMsg.java @@ -12,7 +12,7 @@ @Action(category = AccountConstant.ACTION_CATEGORY) @RestRequest( path = "/accounts/resource/api-permissions", - method = HttpMethod.GET, + method = "GET", responseClass = APICheckResourcePermissionReply.class) @NoDoc public class APICheckResourcePermissionMsg extends APISyncCallMessage { diff --git a/header/src/main/java/org/zstack/header/identity/APICreateAccountMsg.java b/header/src/main/java/org/zstack/header/identity/APICreateAccountMsg.java index ca1433f18ae..ce228467786 100755 --- a/header/src/main/java/org/zstack/header/identity/APICreateAccountMsg.java +++ b/header/src/main/java/org/zstack/header/identity/APICreateAccountMsg.java @@ -12,7 +12,7 @@ @RestRequest( path = "/accounts", - method = HttpMethod.POST, + method = "POST", parameterName = "params", responseClass = APICreateAccountEvent.class, morphTransform = Constants.MORPH_TRANSFORM_IAM1 diff --git a/header/src/main/java/org/zstack/header/identity/APICreatePolicyMsg.java b/header/src/main/java/org/zstack/header/identity/APICreatePolicyMsg.java index af30ad57792..cf788756524 100755 --- a/header/src/main/java/org/zstack/header/identity/APICreatePolicyMsg.java +++ b/header/src/main/java/org/zstack/header/identity/APICreatePolicyMsg.java @@ -16,7 +16,7 @@ @Action(category = AccountConstant.ACTION_CATEGORY, accountOnly = true) @RestRequest( path = "/accounts/policies", - method = HttpMethod.POST, + method = "POST", responseClass = APICreatePolicyEvent.class, parameterName = "params", morphTransform = Constants.MORPH_TRANSFORM_IAM1 diff --git a/header/src/main/java/org/zstack/header/identity/APICreateUserGroupMsg.java b/header/src/main/java/org/zstack/header/identity/APICreateUserGroupMsg.java index 63ac559648c..b75783c3604 100755 --- a/header/src/main/java/org/zstack/header/identity/APICreateUserGroupMsg.java +++ b/header/src/main/java/org/zstack/header/identity/APICreateUserGroupMsg.java @@ -11,7 +11,7 @@ @Action(category = AccountConstant.ACTION_CATEGORY, accountOnly = true) @RestRequest( path = "/accounts/groups", - method = HttpMethod.POST, + method = "POST", responseClass = APICreateUserGroupEvent.class, parameterName = "params" ) diff --git a/header/src/main/java/org/zstack/header/identity/APICreateUserMsg.java b/header/src/main/java/org/zstack/header/identity/APICreateUserMsg.java index 69b88b00408..f9a526d4d54 100755 --- a/header/src/main/java/org/zstack/header/identity/APICreateUserMsg.java +++ b/header/src/main/java/org/zstack/header/identity/APICreateUserMsg.java @@ -12,7 +12,7 @@ @Action(category = AccountConstant.ACTION_CATEGORY, accountOnly = true) @RestRequest( path = "/accounts/users", - method = HttpMethod.POST, + method = "POST", parameterName = "params", responseClass = APICreateUserEvent.class ) diff --git a/header/src/main/java/org/zstack/header/identity/APIDeleteAccountMsg.java b/header/src/main/java/org/zstack/header/identity/APIDeleteAccountMsg.java index 7f7dddbd901..29de4fff1f2 100755 --- a/header/src/main/java/org/zstack/header/identity/APIDeleteAccountMsg.java +++ b/header/src/main/java/org/zstack/header/identity/APIDeleteAccountMsg.java @@ -12,7 +12,7 @@ @Action(category = AccountConstant.ACTION_CATEGORY, accountOnly = true) @RestRequest( path = "/accounts/{uuid}", - method = HttpMethod.DELETE, + method = "DELETE", responseClass = APIDeleteAccountEvent.class, morphTransform = Constants.MORPH_TRANSFORM_IAM1 ) diff --git a/header/src/main/java/org/zstack/header/identity/APIDeletePolicyMsg.java b/header/src/main/java/org/zstack/header/identity/APIDeletePolicyMsg.java index b5338ec0126..b10104dd313 100755 --- a/header/src/main/java/org/zstack/header/identity/APIDeletePolicyMsg.java +++ b/header/src/main/java/org/zstack/header/identity/APIDeletePolicyMsg.java @@ -12,7 +12,7 @@ @Action(category = AccountConstant.ACTION_CATEGORY, accountOnly = true) @RestRequest( path = "/accounts/policies/{uuid}", - method = HttpMethod.DELETE, + method = "DELETE", responseClass = APIDeletePolicyEvent.class, morphTransform = Constants.MORPH_TRANSFORM_IAM1 ) diff --git a/header/src/main/java/org/zstack/header/identity/APIDeleteUserGroupMsg.java b/header/src/main/java/org/zstack/header/identity/APIDeleteUserGroupMsg.java index 76e76536d9e..08e0506c597 100755 --- a/header/src/main/java/org/zstack/header/identity/APIDeleteUserGroupMsg.java +++ b/header/src/main/java/org/zstack/header/identity/APIDeleteUserGroupMsg.java @@ -13,7 +13,7 @@ @Action(category = AccountConstant.ACTION_CATEGORY, accountOnly = true) @RestRequest( path = "/accounts/groups/{uuid}", - method = HttpMethod.DELETE, + method = "DELETE", responseClass = APIDeleteUserGroupEvent.class ) public class APIDeleteUserGroupMsg extends APIDeleteMessage implements AccountMessage { diff --git a/header/src/main/java/org/zstack/header/identity/APIDeleteUserMsg.java b/header/src/main/java/org/zstack/header/identity/APIDeleteUserMsg.java index 6aa8b5fb5ac..0a30fe70ff6 100755 --- a/header/src/main/java/org/zstack/header/identity/APIDeleteUserMsg.java +++ b/header/src/main/java/org/zstack/header/identity/APIDeleteUserMsg.java @@ -13,7 +13,7 @@ @Action(category = AccountConstant.ACTION_CATEGORY, accountOnly = true) @RestRequest( path = "/accounts/users/{uuid}", - method = HttpMethod.DELETE, + method = "DELETE", responseClass = APIDeleteUserEvent.class ) public class APIDeleteUserMsg extends APIDeleteMessage implements AccountMessage { diff --git a/header/src/main/java/org/zstack/header/identity/APIDetachPoliciesFromUserMsg.java b/header/src/main/java/org/zstack/header/identity/APIDetachPoliciesFromUserMsg.java index 7857d43cf97..a2df6305cfe 100755 --- a/header/src/main/java/org/zstack/header/identity/APIDetachPoliciesFromUserMsg.java +++ b/header/src/main/java/org/zstack/header/identity/APIDetachPoliciesFromUserMsg.java @@ -16,7 +16,7 @@ @Action(category = AccountConstant.ACTION_CATEGORY, accountOnly = true) @RestRequest( path = "/accounts/users/{userUuid}/policies", - method = HttpMethod.DELETE, + method = "DELETE", responseClass = APIDetachPoliciesFromUserEvent.class ) public class APIDetachPoliciesFromUserMsg extends APIMessage implements AccountMessage { diff --git a/header/src/main/java/org/zstack/header/identity/APIDetachPolicyFromUserGroupMsg.java b/header/src/main/java/org/zstack/header/identity/APIDetachPolicyFromUserGroupMsg.java index ddb912ea799..87fe17d4979 100755 --- a/header/src/main/java/org/zstack/header/identity/APIDetachPolicyFromUserGroupMsg.java +++ b/header/src/main/java/org/zstack/header/identity/APIDetachPolicyFromUserGroupMsg.java @@ -12,7 +12,7 @@ @Action(category = AccountConstant.ACTION_CATEGORY, accountOnly = true) @RestRequest( path = "/accounts/groups/{groupUuid}/policies/{policyUuid}", - method = HttpMethod.DELETE, + method = "DELETE", responseClass = APIDetachPolicyFromUserGroupEvent.class ) public class APIDetachPolicyFromUserGroupMsg extends APIMessage implements AccountMessage { diff --git a/header/src/main/java/org/zstack/header/identity/APIDetachPolicyFromUserMsg.java b/header/src/main/java/org/zstack/header/identity/APIDetachPolicyFromUserMsg.java index 92731e94773..fba5cd8b830 100755 --- a/header/src/main/java/org/zstack/header/identity/APIDetachPolicyFromUserMsg.java +++ b/header/src/main/java/org/zstack/header/identity/APIDetachPolicyFromUserMsg.java @@ -12,7 +12,7 @@ @Action(category = AccountConstant.ACTION_CATEGORY, accountOnly = true) @RestRequest( path = "/accounts/users/{userUuid}/policies/{policyUuid}", - method = HttpMethod.DELETE, + method = "DELETE", responseClass = APIDetachPolicyFromUserEvent.class ) public class APIDetachPolicyFromUserMsg extends APIMessage implements AccountMessage { diff --git a/header/src/main/java/org/zstack/header/identity/APIGetAccountQuotaUsageMsg.java b/header/src/main/java/org/zstack/header/identity/APIGetAccountQuotaUsageMsg.java index 0ed0cb3f67e..e72aec575b1 100755 --- a/header/src/main/java/org/zstack/header/identity/APIGetAccountQuotaUsageMsg.java +++ b/header/src/main/java/org/zstack/header/identity/APIGetAccountQuotaUsageMsg.java @@ -11,7 +11,7 @@ @Action(category = AccountConstant.ACTION_CATEGORY, names = {"read"}) @RestRequest( path = "/accounts/quota/{uuid}/usages", - method = HttpMethod.GET, + method = "GET", responseClass = APIGetAccountQuotaUsageReply.class ) public class APIGetAccountQuotaUsageMsg extends APISyncCallMessage implements AccountMessage { diff --git a/header/src/main/java/org/zstack/header/identity/APIGetResourceAccountMsg.java b/header/src/main/java/org/zstack/header/identity/APIGetResourceAccountMsg.java index 3ceb9a09575..129cfef765f 100755 --- a/header/src/main/java/org/zstack/header/identity/APIGetResourceAccountMsg.java +++ b/header/src/main/java/org/zstack/header/identity/APIGetResourceAccountMsg.java @@ -16,7 +16,7 @@ @RestRequest( path = "/resources/accounts", - method = HttpMethod.GET, + method = "GET", responseClass = APIGetResourceAccountReply.class ) @Action(category = Constants.CATEGORY_RESOURCE, names = {"read"}) diff --git a/header/src/main/java/org/zstack/header/identity/APIGetSupportedIdentityModelsMsg.java b/header/src/main/java/org/zstack/header/identity/APIGetSupportedIdentityModelsMsg.java index 4cdedea5da4..d26a83cdb3e 100644 --- a/header/src/main/java/org/zstack/header/identity/APIGetSupportedIdentityModelsMsg.java +++ b/header/src/main/java/org/zstack/header/identity/APIGetSupportedIdentityModelsMsg.java @@ -7,7 +7,7 @@ @Action(category = AccountConstant.ACTION_CATEGORY, names = {"read"}) @RestRequest( path = "/identity-models", - method = HttpMethod.GET, + method = "GET", responseClass = APIGetSupportedIdentityModelsReply.class ) @SuppressCredentialCheck diff --git a/header/src/main/java/org/zstack/header/identity/APILogInByAccountMsg.java b/header/src/main/java/org/zstack/header/identity/APILogInByAccountMsg.java index d9dac2ffdd3..a95120dd9b0 100755 --- a/header/src/main/java/org/zstack/header/identity/APILogInByAccountMsg.java +++ b/header/src/main/java/org/zstack/header/identity/APILogInByAccountMsg.java @@ -17,7 +17,7 @@ @RestRequest( path = "/accounts/login", isAction = true, - method = HttpMethod.PUT, + method = "PUT", responseClass = APILogInReply.class ) @EncryptionParamAllowed(actions = { EncryptionParamAllowed.ACTION_PUT_USER_INFO_INTO_SYSTEM_TAG }) diff --git a/header/src/main/java/org/zstack/header/identity/APILogInByUserMsg.java b/header/src/main/java/org/zstack/header/identity/APILogInByUserMsg.java index 5d608c0325f..4d35bd89d1c 100755 --- a/header/src/main/java/org/zstack/header/identity/APILogInByUserMsg.java +++ b/header/src/main/java/org/zstack/header/identity/APILogInByUserMsg.java @@ -15,7 +15,7 @@ @RestRequest( path = "/accounts/users/login", isAction = true, - method = HttpMethod.PUT, + method = "PUT", responseClass = APILogInReply.class ) public class APILogInByUserMsg extends APISessionMessage implements APILoginAuditor { diff --git a/header/src/main/java/org/zstack/header/identity/APILogOutMsg.java b/header/src/main/java/org/zstack/header/identity/APILogOutMsg.java index 49fb79d1e02..c3eca6040de 100755 --- a/header/src/main/java/org/zstack/header/identity/APILogOutMsg.java +++ b/header/src/main/java/org/zstack/header/identity/APILogOutMsg.java @@ -14,7 +14,7 @@ @SuppressCredentialCheck @RestRequest( path = "/accounts/sessions/{sessionUuid}", - method = HttpMethod.DELETE, + method = "DELETE", responseClass = APILogOutReply.class ) public class APILogOutMsg extends APISessionMessage implements APILoginAuditor { diff --git a/header/src/main/java/org/zstack/header/identity/APIQueryAccountMsg.java b/header/src/main/java/org/zstack/header/identity/APIQueryAccountMsg.java index a66d41f6417..df5622e21d5 100755 --- a/header/src/main/java/org/zstack/header/identity/APIQueryAccountMsg.java +++ b/header/src/main/java/org/zstack/header/identity/APIQueryAccountMsg.java @@ -16,7 +16,7 @@ @RestRequest( path = "/accounts", optionalPaths = {"/accounts/{uuid}"}, - method = HttpMethod.GET, + method = "GET", responseClass = APIQueryAccountReply.class ) public class APIQueryAccountMsg extends APIQueryMessage { diff --git a/header/src/main/java/org/zstack/header/identity/APIQueryAccountResourceRefMsg.java b/header/src/main/java/org/zstack/header/identity/APIQueryAccountResourceRefMsg.java index 691e04a5cb8..5536ff95f45 100755 --- a/header/src/main/java/org/zstack/header/identity/APIQueryAccountResourceRefMsg.java +++ b/header/src/main/java/org/zstack/header/identity/APIQueryAccountResourceRefMsg.java @@ -16,7 +16,7 @@ @Action(category = AccountConstant.ACTION_CATEGORY, names = {"read"}) @RestRequest( path = "/accounts/resources/refs", - method = HttpMethod.GET, + method = "GET", responseClass = APIQueryAccountResourceRefReply.class ) public class APIQueryAccountResourceRefMsg extends APIQueryMessage { diff --git a/header/src/main/java/org/zstack/header/identity/APIQueryPolicyMsg.java b/header/src/main/java/org/zstack/header/identity/APIQueryPolicyMsg.java index 23f3b9ec4cb..1f2b4fbf7e4 100755 --- a/header/src/main/java/org/zstack/header/identity/APIQueryPolicyMsg.java +++ b/header/src/main/java/org/zstack/header/identity/APIQueryPolicyMsg.java @@ -17,7 +17,7 @@ @RestRequest( path = "/accounts/policies", optionalPaths = {"/accounts/policies/{uuid}"}, - method = HttpMethod.GET, + method = "GET", responseClass = APIQueryPolicyReply.class ) public class APIQueryPolicyMsg extends APIQueryMessage { diff --git a/header/src/main/java/org/zstack/header/identity/APIQueryQuotaMsg.java b/header/src/main/java/org/zstack/header/identity/APIQueryQuotaMsg.java index f59d7367739..d0bf1b0b8ce 100755 --- a/header/src/main/java/org/zstack/header/identity/APIQueryQuotaMsg.java +++ b/header/src/main/java/org/zstack/header/identity/APIQueryQuotaMsg.java @@ -16,7 +16,7 @@ @Action(category = AccountConstant.ACTION_CATEGORY, names = {"read"}) @RestRequest( path = "/accounts/quotas", - method = HttpMethod.GET, + method = "GET", responseClass = APIQueryQuotaReply.class ) public class APIQueryQuotaMsg extends APIQueryMessage { diff --git a/header/src/main/java/org/zstack/header/identity/APIQuerySharedResourceMsg.java b/header/src/main/java/org/zstack/header/identity/APIQuerySharedResourceMsg.java index d454de7843d..572d7a14183 100755 --- a/header/src/main/java/org/zstack/header/identity/APIQuerySharedResourceMsg.java +++ b/header/src/main/java/org/zstack/header/identity/APIQuerySharedResourceMsg.java @@ -15,7 +15,7 @@ @AutoQuery(replyClass = APIQuerySharedResourceReply.class, inventoryClass = SharedResourceInventory.class) @RestRequest( path = "/accounts/resources", - method = HttpMethod.GET, + method = "GET", responseClass = APIQuerySharedResourceReply.class ) public class APIQuerySharedResourceMsg extends APIQueryMessage { diff --git a/header/src/main/java/org/zstack/header/identity/APIQueryUserGroupMsg.java b/header/src/main/java/org/zstack/header/identity/APIQueryUserGroupMsg.java index 20657151aa3..1193c622146 100755 --- a/header/src/main/java/org/zstack/header/identity/APIQueryUserGroupMsg.java +++ b/header/src/main/java/org/zstack/header/identity/APIQueryUserGroupMsg.java @@ -18,7 +18,7 @@ @RestRequest( path = "/accounts/groups", optionalPaths = "/accounts/groups/{uuid}", - method = HttpMethod.GET, + method = "GET", responseClass = APIQueryUserGroupReply.class ) public class APIQueryUserGroupMsg extends APIQueryMessage { diff --git a/header/src/main/java/org/zstack/header/identity/APIQueryUserMsg.java b/header/src/main/java/org/zstack/header/identity/APIQueryUserMsg.java index 7b2b02f34ac..207dc4bb3c5 100755 --- a/header/src/main/java/org/zstack/header/identity/APIQueryUserMsg.java +++ b/header/src/main/java/org/zstack/header/identity/APIQueryUserMsg.java @@ -18,7 +18,7 @@ path = "/accounts/users", optionalPaths = {"/accounts/users/{uuid}"}, responseClass = APIQueryUserReply.class, - method = HttpMethod.GET + method = "GET" ) public class APIQueryUserMsg extends APIQueryMessage { diff --git a/header/src/main/java/org/zstack/header/identity/APIRemoveUserFromGroupMsg.java b/header/src/main/java/org/zstack/header/identity/APIRemoveUserFromGroupMsg.java index 36d85db225b..97439d7b5e3 100755 --- a/header/src/main/java/org/zstack/header/identity/APIRemoveUserFromGroupMsg.java +++ b/header/src/main/java/org/zstack/header/identity/APIRemoveUserFromGroupMsg.java @@ -12,7 +12,7 @@ @Action(category = AccountConstant.ACTION_CATEGORY, accountOnly = true) @RestRequest( path = "/accounts/groups/{groupUuid}/users/{userUuid}", - method = HttpMethod.DELETE, + method = "DELETE", responseClass = APIRemoveUserFromGroupEvent.class ) public class APIRemoveUserFromGroupMsg extends APIMessage implements AccountMessage { diff --git a/header/src/main/java/org/zstack/header/identity/APIRenewSessionMsg.java b/header/src/main/java/org/zstack/header/identity/APIRenewSessionMsg.java index be13abca453..b2f4d24bdf0 100644 --- a/header/src/main/java/org/zstack/header/identity/APIRenewSessionMsg.java +++ b/header/src/main/java/org/zstack/header/identity/APIRenewSessionMsg.java @@ -15,7 +15,7 @@ @RestRequest( path = "/accounts/sessions/{sessionUuid}/renew", responseClass = APIRenewSessionEvent.class, - method = HttpMethod.PUT, + method = "PUT", isAction = true ) public class APIRenewSessionMsg extends APIMessage { diff --git a/header/src/main/java/org/zstack/header/identity/APIRevokeResourceSharingMsg.java b/header/src/main/java/org/zstack/header/identity/APIRevokeResourceSharingMsg.java index 5be1729fd5d..401f6486cc0 100755 --- a/header/src/main/java/org/zstack/header/identity/APIRevokeResourceSharingMsg.java +++ b/header/src/main/java/org/zstack/header/identity/APIRevokeResourceSharingMsg.java @@ -16,7 +16,7 @@ @Action(category = AccountConstant.ACTION_CATEGORY) @RestRequest( path = "/accounts/resources/actions", - method = HttpMethod.PUT, + method = "PUT", isAction = true, responseClass = APIRevokeResourceSharingEvent.class ) diff --git a/header/src/main/java/org/zstack/header/identity/APIShareResourceMsg.java b/header/src/main/java/org/zstack/header/identity/APIShareResourceMsg.java index e77a2140e51..7b4b82fc881 100755 --- a/header/src/main/java/org/zstack/header/identity/APIShareResourceMsg.java +++ b/header/src/main/java/org/zstack/header/identity/APIShareResourceMsg.java @@ -16,7 +16,7 @@ @Action(category = AccountConstant.ACTION_CATEGORY) @RestRequest( path = "/accounts/resources/actions", - method = HttpMethod.PUT, + method = "PUT", responseClass = APIShareResourceEvent.class, isAction = true ) diff --git a/header/src/main/java/org/zstack/header/identity/APIUpdateAccountMsg.java b/header/src/main/java/org/zstack/header/identity/APIUpdateAccountMsg.java index 15b33ee87c0..2af73d7ae2d 100755 --- a/header/src/main/java/org/zstack/header/identity/APIUpdateAccountMsg.java +++ b/header/src/main/java/org/zstack/header/identity/APIUpdateAccountMsg.java @@ -12,7 +12,7 @@ @Action(category = AccountConstant.ACTION_CATEGORY, accountOnly = true) @RestRequest( path = "/accounts/{uuid}", - method = HttpMethod.PUT, + method = "PUT", isAction = true, responseClass = APIUpdateAccountEvent.class, morphTransform = Constants.MORPH_TRANSFORM_IAM1 diff --git a/header/src/main/java/org/zstack/header/identity/APIUpdateQuotaMsg.java b/header/src/main/java/org/zstack/header/identity/APIUpdateQuotaMsg.java index bac63de35a3..3c6db4c1244 100755 --- a/header/src/main/java/org/zstack/header/identity/APIUpdateQuotaMsg.java +++ b/header/src/main/java/org/zstack/header/identity/APIUpdateQuotaMsg.java @@ -14,7 +14,7 @@ path = "/accounts/quotas/actions", responseClass = APIUpdateQuotaEvent.class, isAction = true, - method = HttpMethod.PUT, + method = "PUT", morphTransform = Constants.MORPH_TRANSFORM_IAM1 ) public class APIUpdateQuotaMsg extends APIMessage implements AccountMessage { diff --git a/header/src/main/java/org/zstack/header/identity/APIUpdateUserGroupMsg.java b/header/src/main/java/org/zstack/header/identity/APIUpdateUserGroupMsg.java index 267f195adb6..a3a968a2896 100755 --- a/header/src/main/java/org/zstack/header/identity/APIUpdateUserGroupMsg.java +++ b/header/src/main/java/org/zstack/header/identity/APIUpdateUserGroupMsg.java @@ -12,7 +12,7 @@ @Action(category = AccountConstant.ACTION_CATEGORY, accountOnly = true) @RestRequest( path = "/accounts/groups/actions", - method = HttpMethod.PUT, + method = "PUT", isAction = true, responseClass = APIUpdateUserGroupEvent.class ) diff --git a/header/src/main/java/org/zstack/header/identity/APIUpdateUserMsg.java b/header/src/main/java/org/zstack/header/identity/APIUpdateUserMsg.java index 6635b0f37d4..295271d0e77 100755 --- a/header/src/main/java/org/zstack/header/identity/APIUpdateUserMsg.java +++ b/header/src/main/java/org/zstack/header/identity/APIUpdateUserMsg.java @@ -13,7 +13,7 @@ @RestRequest( path = "/accounts/users/actions", isAction = true, - method = HttpMethod.PUT, + method = "PUT", responseClass = APIUpdateUserEvent.class ) public class APIUpdateUserMsg extends APIMessage implements AccountMessage { diff --git a/header/src/main/java/org/zstack/header/identity/APIValidateSessionMsg.java b/header/src/main/java/org/zstack/header/identity/APIValidateSessionMsg.java index 08f90e870b7..b34f2bcef40 100755 --- a/header/src/main/java/org/zstack/header/identity/APIValidateSessionMsg.java +++ b/header/src/main/java/org/zstack/header/identity/APIValidateSessionMsg.java @@ -14,7 +14,7 @@ @RestRequest( path = "/accounts/sessions/{sessionUuid}/valid", responseClass = APIValidateSessionReply.class, - method = HttpMethod.GET + method = "GET" ) public class APIValidateSessionMsg extends APISessionMessage { @APIParam diff --git a/header/src/main/java/org/zstack/header/identity/AccountResourceRefVO.java b/header/src/main/java/org/zstack/header/identity/AccountResourceRefVO.java index a4c6647f2cb..bc70d3e92b4 100755 --- a/header/src/main/java/org/zstack/header/identity/AccountResourceRefVO.java +++ b/header/src/main/java/org/zstack/header/identity/AccountResourceRefVO.java @@ -6,7 +6,7 @@ import org.zstack.header.vo.Index; import org.zstack.header.vo.ResourceVO; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; @Entity diff --git a/header/src/main/java/org/zstack/header/identity/AccountResourceRefVO_.java b/header/src/main/java/org/zstack/header/identity/AccountResourceRefVO_.java index b18e933446b..b8a75085550 100755 --- a/header/src/main/java/org/zstack/header/identity/AccountResourceRefVO_.java +++ b/header/src/main/java/org/zstack/header/identity/AccountResourceRefVO_.java @@ -1,7 +1,7 @@ package org.zstack.header.identity; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; @StaticMetamodel(AccountResourceRefVO.class) diff --git a/header/src/main/java/org/zstack/header/identity/AccountVO.java b/header/src/main/java/org/zstack/header/identity/AccountVO.java index edd79bebe42..3103bcc39fc 100755 --- a/header/src/main/java/org/zstack/header/identity/AccountVO.java +++ b/header/src/main/java/org/zstack/header/identity/AccountVO.java @@ -5,7 +5,7 @@ import org.zstack.header.vo.Index; import org.zstack.header.vo.ResourceVO; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; @Entity diff --git a/header/src/main/java/org/zstack/header/identity/AccountVO_.java b/header/src/main/java/org/zstack/header/identity/AccountVO_.java index 2aceedbe8f0..8fdc7e5c2cb 100755 --- a/header/src/main/java/org/zstack/header/identity/AccountVO_.java +++ b/header/src/main/java/org/zstack/header/identity/AccountVO_.java @@ -2,8 +2,8 @@ import org.zstack.header.vo.ResourceVO_; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; @StaticMetamodel(AccountVO.class) diff --git a/header/src/main/java/org/zstack/header/identity/CurrentDateVO.java b/header/src/main/java/org/zstack/header/identity/CurrentDateVO.java index 1e72ec7fb98..b656a1abb72 100755 --- a/header/src/main/java/org/zstack/header/identity/CurrentDateVO.java +++ b/header/src/main/java/org/zstack/header/identity/CurrentDateVO.java @@ -1,6 +1,6 @@ package org.zstack.header.identity; -import javax.persistence.*; +import jakarta.persistence.*; import java.util.Date; @Entity diff --git a/header/src/main/java/org/zstack/header/identity/PolicyVO.java b/header/src/main/java/org/zstack/header/identity/PolicyVO.java index 1795943325a..ad9fd2eba14 100755 --- a/header/src/main/java/org/zstack/header/identity/PolicyVO.java +++ b/header/src/main/java/org/zstack/header/identity/PolicyVO.java @@ -7,7 +7,7 @@ import org.zstack.header.vo.ForeignKey.ReferenceOption; import org.zstack.header.vo.ResourceVO; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; @Entity diff --git a/header/src/main/java/org/zstack/header/identity/PolicyVO_.java b/header/src/main/java/org/zstack/header/identity/PolicyVO_.java index f1e8241a490..70c9ac10d49 100755 --- a/header/src/main/java/org/zstack/header/identity/PolicyVO_.java +++ b/header/src/main/java/org/zstack/header/identity/PolicyVO_.java @@ -2,8 +2,8 @@ import org.zstack.header.vo.ResourceVO_; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; @StaticMetamodel(PolicyVO.class) diff --git a/header/src/main/java/org/zstack/header/identity/QuotaVO.java b/header/src/main/java/org/zstack/header/identity/QuotaVO.java index bda1f3e7c94..cbe5c049dfa 100755 --- a/header/src/main/java/org/zstack/header/identity/QuotaVO.java +++ b/header/src/main/java/org/zstack/header/identity/QuotaVO.java @@ -5,7 +5,7 @@ import org.zstack.header.vo.ResourceVO; import org.zstack.header.vo.ResourceVO_; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; /** diff --git a/header/src/main/java/org/zstack/header/identity/QuotaVO_.java b/header/src/main/java/org/zstack/header/identity/QuotaVO_.java index 798c38095a8..a9b1f8274bb 100755 --- a/header/src/main/java/org/zstack/header/identity/QuotaVO_.java +++ b/header/src/main/java/org/zstack/header/identity/QuotaVO_.java @@ -1,7 +1,7 @@ package org.zstack.header.identity; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.security.Timestamp; /** diff --git a/header/src/main/java/org/zstack/header/identity/SessionVO.java b/header/src/main/java/org/zstack/header/identity/SessionVO.java index 1efe7aa273d..91ee8ce1eaa 100755 --- a/header/src/main/java/org/zstack/header/identity/SessionVO.java +++ b/header/src/main/java/org/zstack/header/identity/SessionVO.java @@ -4,10 +4,10 @@ import org.zstack.header.vo.ForeignKey; import org.zstack.header.vo.ForeignKey.ReferenceOption; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.Id; -import javax.persistence.Table; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.Id; +import jakarta.persistence.Table; import java.sql.Timestamp; @Entity diff --git a/header/src/main/java/org/zstack/header/identity/SessionVO_.java b/header/src/main/java/org/zstack/header/identity/SessionVO_.java index d06f14df26a..6a61299b8eb 100755 --- a/header/src/main/java/org/zstack/header/identity/SessionVO_.java +++ b/header/src/main/java/org/zstack/header/identity/SessionVO_.java @@ -1,7 +1,7 @@ package org.zstack.header.identity; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; @StaticMetamodel(SessionVO.class) diff --git a/header/src/main/java/org/zstack/header/identity/SharedResourceVO.java b/header/src/main/java/org/zstack/header/identity/SharedResourceVO.java index 19d2b537840..c974b234f24 100755 --- a/header/src/main/java/org/zstack/header/identity/SharedResourceVO.java +++ b/header/src/main/java/org/zstack/header/identity/SharedResourceVO.java @@ -6,7 +6,7 @@ import org.zstack.header.vo.ForeignKey.ReferenceOption; import org.zstack.header.vo.ResourceVO; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; /** diff --git a/header/src/main/java/org/zstack/header/identity/SharedResourceVO_.java b/header/src/main/java/org/zstack/header/identity/SharedResourceVO_.java index 71c9b410c6e..9548d778aca 100755 --- a/header/src/main/java/org/zstack/header/identity/SharedResourceVO_.java +++ b/header/src/main/java/org/zstack/header/identity/SharedResourceVO_.java @@ -1,7 +1,7 @@ package org.zstack.header.identity; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; /** diff --git a/header/src/main/java/org/zstack/header/identity/UserGroupPolicyRefVO.java b/header/src/main/java/org/zstack/header/identity/UserGroupPolicyRefVO.java index b227c29a285..0b1c0d5b6f6 100755 --- a/header/src/main/java/org/zstack/header/identity/UserGroupPolicyRefVO.java +++ b/header/src/main/java/org/zstack/header/identity/UserGroupPolicyRefVO.java @@ -3,7 +3,7 @@ import org.zstack.header.vo.ForeignKey; import org.zstack.header.vo.ForeignKey.ReferenceOption; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; @Entity diff --git a/header/src/main/java/org/zstack/header/identity/UserGroupPolicyRefVO_.java b/header/src/main/java/org/zstack/header/identity/UserGroupPolicyRefVO_.java index f1c528d44ef..3ffe92ecd20 100755 --- a/header/src/main/java/org/zstack/header/identity/UserGroupPolicyRefVO_.java +++ b/header/src/main/java/org/zstack/header/identity/UserGroupPolicyRefVO_.java @@ -1,7 +1,7 @@ package org.zstack.header.identity; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; /** * Created by frank on 7/9/2015. diff --git a/header/src/main/java/org/zstack/header/identity/UserGroupUserRefVO.java b/header/src/main/java/org/zstack/header/identity/UserGroupUserRefVO.java index 51e68575b79..4242ce3226c 100755 --- a/header/src/main/java/org/zstack/header/identity/UserGroupUserRefVO.java +++ b/header/src/main/java/org/zstack/header/identity/UserGroupUserRefVO.java @@ -3,7 +3,7 @@ import org.zstack.header.vo.ForeignKey; import org.zstack.header.vo.ForeignKey.ReferenceOption; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; @Entity diff --git a/header/src/main/java/org/zstack/header/identity/UserGroupUserRefVO_.java b/header/src/main/java/org/zstack/header/identity/UserGroupUserRefVO_.java index 158cd92e015..8f81a2f8700 100755 --- a/header/src/main/java/org/zstack/header/identity/UserGroupUserRefVO_.java +++ b/header/src/main/java/org/zstack/header/identity/UserGroupUserRefVO_.java @@ -1,7 +1,7 @@ package org.zstack.header.identity; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; /** * Created by frank on 7/9/2015. diff --git a/header/src/main/java/org/zstack/header/identity/UserGroupVO.java b/header/src/main/java/org/zstack/header/identity/UserGroupVO.java index a2450ff6d54..d37368fab2b 100755 --- a/header/src/main/java/org/zstack/header/identity/UserGroupVO.java +++ b/header/src/main/java/org/zstack/header/identity/UserGroupVO.java @@ -5,7 +5,7 @@ import org.zstack.header.vo.ForeignKey.ReferenceOption; import org.zstack.header.vo.ResourceVO; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; @Entity diff --git a/header/src/main/java/org/zstack/header/identity/UserGroupVO_.java b/header/src/main/java/org/zstack/header/identity/UserGroupVO_.java index e02a2934884..d9ec6386ea9 100755 --- a/header/src/main/java/org/zstack/header/identity/UserGroupVO_.java +++ b/header/src/main/java/org/zstack/header/identity/UserGroupVO_.java @@ -2,8 +2,8 @@ import org.zstack.header.vo.ResourceVO_; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; @StaticMetamodel(UserGroupVO.class) diff --git a/header/src/main/java/org/zstack/header/identity/UserPolicyRefVO.java b/header/src/main/java/org/zstack/header/identity/UserPolicyRefVO.java index e2b435a5ad8..ca5fb2eb756 100755 --- a/header/src/main/java/org/zstack/header/identity/UserPolicyRefVO.java +++ b/header/src/main/java/org/zstack/header/identity/UserPolicyRefVO.java @@ -3,7 +3,7 @@ import org.zstack.header.vo.ForeignKey; import org.zstack.header.vo.ForeignKey.ReferenceOption; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; @Entity diff --git a/header/src/main/java/org/zstack/header/identity/UserPolicyRefVO_.java b/header/src/main/java/org/zstack/header/identity/UserPolicyRefVO_.java index 6b3744f4d47..025f72af813 100755 --- a/header/src/main/java/org/zstack/header/identity/UserPolicyRefVO_.java +++ b/header/src/main/java/org/zstack/header/identity/UserPolicyRefVO_.java @@ -1,7 +1,7 @@ package org.zstack.header.identity; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; /** * Created by frank on 7/9/2015. diff --git a/header/src/main/java/org/zstack/header/identity/UserVO.java b/header/src/main/java/org/zstack/header/identity/UserVO.java index 47cd4648fbd..6d31ad867b9 100755 --- a/header/src/main/java/org/zstack/header/identity/UserVO.java +++ b/header/src/main/java/org/zstack/header/identity/UserVO.java @@ -5,7 +5,7 @@ import org.zstack.header.vo.ForeignKey.ReferenceOption; import org.zstack.header.vo.ResourceVO; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; @Entity diff --git a/header/src/main/java/org/zstack/header/identity/UserVO_.java b/header/src/main/java/org/zstack/header/identity/UserVO_.java index 70a9f2922a7..7b40d5b56b4 100755 --- a/header/src/main/java/org/zstack/header/identity/UserVO_.java +++ b/header/src/main/java/org/zstack/header/identity/UserVO_.java @@ -2,8 +2,8 @@ import org.zstack.header.vo.ResourceVO_; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; @StaticMetamodel(UserVO.class) diff --git a/header/src/main/java/org/zstack/header/identity/login/APIGetLoginProceduresMsg.java b/header/src/main/java/org/zstack/header/identity/login/APIGetLoginProceduresMsg.java index 29998d5b7a6..627a4f5123e 100644 --- a/header/src/main/java/org/zstack/header/identity/login/APIGetLoginProceduresMsg.java +++ b/header/src/main/java/org/zstack/header/identity/login/APIGetLoginProceduresMsg.java @@ -8,7 +8,7 @@ @RestRequest( path = "/login/procedures", - method = HttpMethod.GET, + method = "GET", responseClass = APIGetLoginProceduresReply.class ) @SuppressCredentialCheck 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..d5d31abfb71 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 @@ -17,7 +17,7 @@ @RestRequest( path = "/login", isAction = true, - method = HttpMethod.PUT, + method = "PUT", responseClass = APILogInReply.class ) public class APILogInMsg extends APISessionMessage implements APILoginAuditor { diff --git a/header/src/main/java/org/zstack/header/identity/role/RoleAccountRefVO.java b/header/src/main/java/org/zstack/header/identity/role/RoleAccountRefVO.java index 5dc4dffc83b..b43696061c8 100755 --- a/header/src/main/java/org/zstack/header/identity/role/RoleAccountRefVO.java +++ b/header/src/main/java/org/zstack/header/identity/role/RoleAccountRefVO.java @@ -1,6 +1,6 @@ package org.zstack.header.identity.role; -import javax.persistence.*; +import jakarta.persistence.*; import java.io.Serializable; import java.sql.Timestamp; diff --git a/header/src/main/java/org/zstack/header/identity/role/RoleAccountRefVO_.java b/header/src/main/java/org/zstack/header/identity/role/RoleAccountRefVO_.java index 34c0da32002..49289ce97f8 100755 --- a/header/src/main/java/org/zstack/header/identity/role/RoleAccountRefVO_.java +++ b/header/src/main/java/org/zstack/header/identity/role/RoleAccountRefVO_.java @@ -1,7 +1,7 @@ package org.zstack.header.identity.role; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; @StaticMetamodel(RoleAccountRefVO.class) diff --git a/header/src/main/java/org/zstack/header/identity/role/RolePolicyRefVO.java b/header/src/main/java/org/zstack/header/identity/role/RolePolicyRefVO.java index 52c3d4042a2..37082468833 100755 --- a/header/src/main/java/org/zstack/header/identity/role/RolePolicyRefVO.java +++ b/header/src/main/java/org/zstack/header/identity/role/RolePolicyRefVO.java @@ -4,7 +4,7 @@ import org.zstack.header.vo.ForeignKey; import org.zstack.header.vo.EntityGraph; -import javax.persistence.*; +import jakarta.persistence.*; import java.io.Serializable; import java.sql.Timestamp; diff --git a/header/src/main/java/org/zstack/header/identity/role/RolePolicyRefVO_.java b/header/src/main/java/org/zstack/header/identity/role/RolePolicyRefVO_.java index 635d39d0d98..ed6f2b405a1 100755 --- a/header/src/main/java/org/zstack/header/identity/role/RolePolicyRefVO_.java +++ b/header/src/main/java/org/zstack/header/identity/role/RolePolicyRefVO_.java @@ -1,7 +1,7 @@ package org.zstack.header.identity.role; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; @StaticMetamodel(RolePolicyRefVO.class) diff --git a/header/src/main/java/org/zstack/header/identity/role/RolePolicyStatementVO.java b/header/src/main/java/org/zstack/header/identity/role/RolePolicyStatementVO.java index c5b6ad4f731..33cc8829459 100755 --- a/header/src/main/java/org/zstack/header/identity/role/RolePolicyStatementVO.java +++ b/header/src/main/java/org/zstack/header/identity/role/RolePolicyStatementVO.java @@ -3,7 +3,7 @@ import org.zstack.header.vo.ForeignKey; import org.zstack.header.vo.ResourceVO; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; import java.util.UUID; diff --git a/header/src/main/java/org/zstack/header/identity/role/RolePolicyStatementVO_.java b/header/src/main/java/org/zstack/header/identity/role/RolePolicyStatementVO_.java index 44d8c3af867..09985b0ff1a 100755 --- a/header/src/main/java/org/zstack/header/identity/role/RolePolicyStatementVO_.java +++ b/header/src/main/java/org/zstack/header/identity/role/RolePolicyStatementVO_.java @@ -1,7 +1,7 @@ package org.zstack.header.identity.role; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; @StaticMetamodel(RolePolicyStatementVO.class) public class RolePolicyStatementVO_ { diff --git a/header/src/main/java/org/zstack/header/identity/role/RoleUserGroupRefVO.java b/header/src/main/java/org/zstack/header/identity/role/RoleUserGroupRefVO.java index 81bf5cd659c..72dc9534afc 100755 --- a/header/src/main/java/org/zstack/header/identity/role/RoleUserGroupRefVO.java +++ b/header/src/main/java/org/zstack/header/identity/role/RoleUserGroupRefVO.java @@ -1,6 +1,6 @@ package org.zstack.header.identity.role; -import javax.persistence.*; +import jakarta.persistence.*; import java.io.Serializable; import java.sql.Timestamp; diff --git a/header/src/main/java/org/zstack/header/identity/role/RoleUserGroupRefVO_.java b/header/src/main/java/org/zstack/header/identity/role/RoleUserGroupRefVO_.java index 5783b0889b0..5cfaab3e3ca 100755 --- a/header/src/main/java/org/zstack/header/identity/role/RoleUserGroupRefVO_.java +++ b/header/src/main/java/org/zstack/header/identity/role/RoleUserGroupRefVO_.java @@ -1,7 +1,7 @@ package org.zstack.header.identity.role; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; @StaticMetamodel(RoleUserGroupRefVO.class) diff --git a/header/src/main/java/org/zstack/header/identity/role/RoleUserRefVO.java b/header/src/main/java/org/zstack/header/identity/role/RoleUserRefVO.java index 02fc9a51233..a3f29894d37 100755 --- a/header/src/main/java/org/zstack/header/identity/role/RoleUserRefVO.java +++ b/header/src/main/java/org/zstack/header/identity/role/RoleUserRefVO.java @@ -1,6 +1,6 @@ package org.zstack.header.identity.role; -import javax.persistence.*; +import jakarta.persistence.*; import java.io.Serializable; import java.sql.Timestamp; diff --git a/header/src/main/java/org/zstack/header/identity/role/RoleUserRefVO_.java b/header/src/main/java/org/zstack/header/identity/role/RoleUserRefVO_.java index 4c27e5a84ac..91b7f3b80da 100755 --- a/header/src/main/java/org/zstack/header/identity/role/RoleUserRefVO_.java +++ b/header/src/main/java/org/zstack/header/identity/role/RoleUserRefVO_.java @@ -1,7 +1,7 @@ package org.zstack.header.identity.role; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; @StaticMetamodel(RoleUserRefVO.class) diff --git a/header/src/main/java/org/zstack/header/identity/role/RoleVO.java b/header/src/main/java/org/zstack/header/identity/role/RoleVO.java index 715ec47eea7..27271b43adc 100755 --- a/header/src/main/java/org/zstack/header/identity/role/RoleVO.java +++ b/header/src/main/java/org/zstack/header/identity/role/RoleVO.java @@ -7,7 +7,7 @@ import org.zstack.header.vo.EntityGraph; import org.zstack.header.vo.ResourceVO; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; import java.util.HashSet; import java.util.Set; diff --git a/header/src/main/java/org/zstack/header/identity/role/RoleVO_.java b/header/src/main/java/org/zstack/header/identity/role/RoleVO_.java index ae883719bc8..02904b3e0a0 100755 --- a/header/src/main/java/org/zstack/header/identity/role/RoleVO_.java +++ b/header/src/main/java/org/zstack/header/identity/role/RoleVO_.java @@ -2,8 +2,8 @@ import org.zstack.header.vo.ResourceVO_; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; @StaticMetamodel(RoleVO.class) diff --git a/header/src/main/java/org/zstack/header/identity/role/SystemRoleVO.java b/header/src/main/java/org/zstack/header/identity/role/SystemRoleVO.java index 16a6848a203..ea631838b18 100755 --- a/header/src/main/java/org/zstack/header/identity/role/SystemRoleVO.java +++ b/header/src/main/java/org/zstack/header/identity/role/SystemRoleVO.java @@ -1,6 +1,6 @@ package org.zstack.header.identity.role; -import javax.persistence.*; +import jakarta.persistence.*; @Table @Entity diff --git a/header/src/main/java/org/zstack/header/identity/role/SystemRoleVO_.java b/header/src/main/java/org/zstack/header/identity/role/SystemRoleVO_.java index 47b1ff7bf3f..ae17fe67583 100755 --- a/header/src/main/java/org/zstack/header/identity/role/SystemRoleVO_.java +++ b/header/src/main/java/org/zstack/header/identity/role/SystemRoleVO_.java @@ -1,7 +1,7 @@ package org.zstack.header.identity.role; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; @StaticMetamodel(SystemRoleVO.class) public class SystemRoleVO_ extends RoleVO_ { diff --git a/header/src/main/java/org/zstack/header/identity/role/api/APIAddPolicyStatementsToRoleMsg.java b/header/src/main/java/org/zstack/header/identity/role/api/APIAddPolicyStatementsToRoleMsg.java index abaf94ccf91..7dbbb530f30 100755 --- a/header/src/main/java/org/zstack/header/identity/role/api/APIAddPolicyStatementsToRoleMsg.java +++ b/header/src/main/java/org/zstack/header/identity/role/api/APIAddPolicyStatementsToRoleMsg.java @@ -12,7 +12,7 @@ import static java.util.Arrays.asList; -@RestRequest(path = "/identities/roles/{uuid}/policy-statements", method = HttpMethod.POST, +@RestRequest(path = "/identities/roles/{uuid}/policy-statements", method = "POST", parameterName = "params", responseClass = APIAddPolicyStatementsToRoleEvent.class) public class APIAddPolicyStatementsToRoleMsg extends APIMessage implements RoleMessage { @APIParam(resourceType = RoleVO.class) diff --git a/header/src/main/java/org/zstack/header/identity/role/api/APIAttachPolicyToRoleMsg.java b/header/src/main/java/org/zstack/header/identity/role/api/APIAttachPolicyToRoleMsg.java index 7ed5cd971f9..7c623f851d2 100755 --- a/header/src/main/java/org/zstack/header/identity/role/api/APIAttachPolicyToRoleMsg.java +++ b/header/src/main/java/org/zstack/header/identity/role/api/APIAttachPolicyToRoleMsg.java @@ -9,7 +9,7 @@ @RestRequest( path = "/identities/policies/{policyUuid}/roles/{roleUuid}", - method = HttpMethod.POST, + method = "POST", parameterName = "params", responseClass = APIAttachPolicyToRoleEvent.class ) diff --git a/header/src/main/java/org/zstack/header/identity/role/api/APIAttachRoleToAccountMsg.java b/header/src/main/java/org/zstack/header/identity/role/api/APIAttachRoleToAccountMsg.java index 872f4001c8f..83eb9dbd544 100755 --- a/header/src/main/java/org/zstack/header/identity/role/api/APIAttachRoleToAccountMsg.java +++ b/header/src/main/java/org/zstack/header/identity/role/api/APIAttachRoleToAccountMsg.java @@ -10,7 +10,7 @@ @RestRequest( path = "/identities/accounts/{accountUuid}/roles/{roleUuid}", - method = HttpMethod.POST, + method = "POST", parameterName = "params", responseClass = APIAttachRoleToAccountEvent.class, morphTransform = Constants.MORPH_TRANSFORM_IAM1 diff --git a/header/src/main/java/org/zstack/header/identity/role/api/APIChangeRoleStateMsg.java b/header/src/main/java/org/zstack/header/identity/role/api/APIChangeRoleStateMsg.java index 400310682c4..ff33bbd121b 100755 --- a/header/src/main/java/org/zstack/header/identity/role/api/APIChangeRoleStateMsg.java +++ b/header/src/main/java/org/zstack/header/identity/role/api/APIChangeRoleStateMsg.java @@ -7,7 +7,7 @@ import org.zstack.header.message.APIParam; import org.zstack.header.rest.RestRequest; -@RestRequest(path = "/identities/roles/{uuid}/actions", method = HttpMethod.PUT, +@RestRequest(path = "/identities/roles/{uuid}/actions", method = "PUT", responseClass = APIChangeRoleStateEvent.class, isAction = true) public class APIChangeRoleStateMsg extends APIMessage implements RoleMessage { @APIParam(resourceType = RoleVO.class) diff --git a/header/src/main/java/org/zstack/header/identity/role/api/APICreateRoleMsg.java b/header/src/main/java/org/zstack/header/identity/role/api/APICreateRoleMsg.java index e681b1781cc..ffc07156bc2 100755 --- a/header/src/main/java/org/zstack/header/identity/role/api/APICreateRoleMsg.java +++ b/header/src/main/java/org/zstack/header/identity/role/api/APICreateRoleMsg.java @@ -13,7 +13,7 @@ import static java.util.Arrays.asList; -@RestRequest(path = "/identities/roles", method = HttpMethod.POST, responseClass = APICreateRoleEvent.class, parameterName = "params", morphTransform = Constants.MORPH_TRANSFORM_IAM2) +@RestRequest(path = "/identities/roles", method = "POST", responseClass = APICreateRoleEvent.class, parameterName = "params", morphTransform = Constants.MORPH_TRANSFORM_IAM2) public class APICreateRoleMsg extends APICreateMessage { @APIParam(maxLength = 255) private String name; diff --git a/header/src/main/java/org/zstack/header/identity/role/api/APIDeleteRoleMsg.java b/header/src/main/java/org/zstack/header/identity/role/api/APIDeleteRoleMsg.java index 9f5db41b10e..4f32da71eb8 100755 --- a/header/src/main/java/org/zstack/header/identity/role/api/APIDeleteRoleMsg.java +++ b/header/src/main/java/org/zstack/header/identity/role/api/APIDeleteRoleMsg.java @@ -7,7 +7,7 @@ import org.zstack.header.message.APIParam; import org.zstack.header.rest.RestRequest; -@RestRequest(path = "/identities/roles/{uuid}", method = HttpMethod.DELETE, responseClass = APIDeleteRoleEvent.class, morphTransform = Constants.MORPH_TRANSFORM_IAM2) +@RestRequest(path = "/identities/roles/{uuid}", method = "DELETE", responseClass = APIDeleteRoleEvent.class, morphTransform = Constants.MORPH_TRANSFORM_IAM2) public class APIDeleteRoleMsg extends APIDeleteMessage implements RoleMessage { @APIParam(resourceType = RoleVO.class, successIfResourceNotExisting = true) private String uuid; diff --git a/header/src/main/java/org/zstack/header/identity/role/api/APIDetachPolicyFromRoleMsg.java b/header/src/main/java/org/zstack/header/identity/role/api/APIDetachPolicyFromRoleMsg.java index 87c439fe245..07a4521bf02 100755 --- a/header/src/main/java/org/zstack/header/identity/role/api/APIDetachPolicyFromRoleMsg.java +++ b/header/src/main/java/org/zstack/header/identity/role/api/APIDetachPolicyFromRoleMsg.java @@ -9,7 +9,7 @@ import static java.util.Arrays.asList; -@RestRequest(path = "/identities/policies/{policyUuid}/roles/{roleUuid}", method = HttpMethod.DELETE, responseClass = APIDetachPolicyFromRoleEvent.class) +@RestRequest(path = "/identities/policies/{policyUuid}/roles/{roleUuid}", method = "DELETE", responseClass = APIDetachPolicyFromRoleEvent.class) public class APIDetachPolicyFromRoleMsg extends APIMessage implements RoleMessage { @APIParam private String roleUuid; diff --git a/header/src/main/java/org/zstack/header/identity/role/api/APIDetachRoleFromAccountMsg.java b/header/src/main/java/org/zstack/header/identity/role/api/APIDetachRoleFromAccountMsg.java index 319ec0d6a98..f2a51ec5936 100755 --- a/header/src/main/java/org/zstack/header/identity/role/api/APIDetachRoleFromAccountMsg.java +++ b/header/src/main/java/org/zstack/header/identity/role/api/APIDetachRoleFromAccountMsg.java @@ -6,7 +6,7 @@ import org.zstack.header.message.APIParam; import org.zstack.header.rest.RestRequest; -@RestRequest(path = "/identities/accounts/{accountUuid}/roles/{roleUuid}", method = HttpMethod.DELETE, responseClass = APIDetachRoleFromAccountEvent.class, morphTransform = Constants.MORPH_TRANSFORM_IAM1) +@RestRequest(path = "/identities/accounts/{accountUuid}/roles/{roleUuid}", method = "DELETE", responseClass = APIDetachRoleFromAccountEvent.class, morphTransform = Constants.MORPH_TRANSFORM_IAM1) public class APIDetachRoleFromAccountMsg extends APIDeleteMessage implements RoleMessage { @APIParam private String roleUuid; diff --git a/header/src/main/java/org/zstack/header/identity/role/api/APIQueryRoleMsg.java b/header/src/main/java/org/zstack/header/identity/role/api/APIQueryRoleMsg.java index bebe43dad6b..57e122da84c 100755 --- a/header/src/main/java/org/zstack/header/identity/role/api/APIQueryRoleMsg.java +++ b/header/src/main/java/org/zstack/header/identity/role/api/APIQueryRoleMsg.java @@ -8,6 +8,6 @@ @AutoQuery(replyClass = APIQueryRoleReply.class, inventoryClass = RoleInventory.class) @RestRequest(path = "/identities/roles", optionalPaths = {"/identities/roles/{uuid}"}, - method = HttpMethod.GET, responseClass = APIQueryRoleReply.class) + method = "GET", responseClass = APIQueryRoleReply.class) public class APIQueryRoleMsg extends APIQueryMessage { } diff --git a/header/src/main/java/org/zstack/header/identity/role/api/APIRemovePolicyStatementsFromRoleMsg.java b/header/src/main/java/org/zstack/header/identity/role/api/APIRemovePolicyStatementsFromRoleMsg.java index 72776783e13..ab4c215220c 100755 --- a/header/src/main/java/org/zstack/header/identity/role/api/APIRemovePolicyStatementsFromRoleMsg.java +++ b/header/src/main/java/org/zstack/header/identity/role/api/APIRemovePolicyStatementsFromRoleMsg.java @@ -10,7 +10,7 @@ import java.util.Collections; import java.util.List; -@RestRequest(path = "/identities/roles/{uuid}/policy-statements", method = HttpMethod.DELETE, responseClass = APIRemovePolicyStatementsFromRoleEvent.class) +@RestRequest(path = "/identities/roles/{uuid}/policy-statements", method = "DELETE", responseClass = APIRemovePolicyStatementsFromRoleEvent.class) public class APIRemovePolicyStatementsFromRoleMsg extends APIMessage implements RoleMessage { @APIParam(resourceType = RoleVO.class) private String uuid; diff --git a/header/src/main/java/org/zstack/header/identity/role/api/APIUpdateRoleMsg.java b/header/src/main/java/org/zstack/header/identity/role/api/APIUpdateRoleMsg.java index 9064e8d56a9..588b7882234 100644 --- a/header/src/main/java/org/zstack/header/identity/role/api/APIUpdateRoleMsg.java +++ b/header/src/main/java/org/zstack/header/identity/role/api/APIUpdateRoleMsg.java @@ -17,7 +17,7 @@ * Created by kayo on 2018/7/26. */ @RestRequest(path = "/identities/roles/{uuid}/actions", - method = HttpMethod.PUT, + method = "PUT", isAction = true, responseClass = APIUpdateRoleEvent.class, morphTransform = Constants.MORPH_TRANSFORM_IAM1) 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..ad0fea37d22 100755 --- a/header/src/main/java/org/zstack/header/image/APIAddImageMsg.java +++ b/header/src/main/java/org/zstack/header/image/APIAddImageMsg.java @@ -18,7 +18,7 @@ @Action(category = ImageConstant.ACTION_CATEGORY) @RestRequest( path = "/images", - method = HttpMethod.POST, + method = "POST", parameterName = "params", responseClass = APIAddImageEvent.class ) diff --git a/header/src/main/java/org/zstack/header/image/APICalculateImageHashMsg.java b/header/src/main/java/org/zstack/header/image/APICalculateImageHashMsg.java index 94a990f5974..2714149d3dc 100644 --- a/header/src/main/java/org/zstack/header/image/APICalculateImageHashMsg.java +++ b/header/src/main/java/org/zstack/header/image/APICalculateImageHashMsg.java @@ -19,7 +19,7 @@ path = "/images/{uuid}/actions", isAction = true, responseClass = APICalculateImageHashEvent.class, - method = HttpMethod.PUT + method = "PUT" ) public class APICalculateImageHashMsg extends APIMessage implements ImageMessage, APIAuditor { diff --git a/header/src/main/java/org/zstack/header/image/APIChangeImageStateMsg.java b/header/src/main/java/org/zstack/header/image/APIChangeImageStateMsg.java index 0d9b0fd4221..c6ae8f48e58 100755 --- a/header/src/main/java/org/zstack/header/image/APIChangeImageStateMsg.java +++ b/header/src/main/java/org/zstack/header/image/APIChangeImageStateMsg.java @@ -18,7 +18,7 @@ path = "/images/{uuid}/actions", isAction = true, responseClass = APIChangeImageStateEvent.class, - method = HttpMethod.PUT + method = "PUT" ) public class APIChangeImageStateMsg extends APIMessage implements ImageMessage { @APIParam(resourceType = ImageVO.class, checkAccount = true, operationTarget = true) 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..fb479e32308 100644 --- a/header/src/main/java/org/zstack/header/image/APICloneImageMsg.java +++ b/header/src/main/java/org/zstack/header/image/APICloneImageMsg.java @@ -11,7 +11,7 @@ @Action(category = ImageConstant.ACTION_CATEGORY) @RestRequest( path = "/image/clone/{imageUuid}", - method = HttpMethod.POST, + method = "POST", parameterName = "params", responseClass = APICloneImageEvent.class ) 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..f3a49b55690 100755 --- a/header/src/main/java/org/zstack/header/image/APICreateDataVolumeTemplateFromVolumeMsg.java +++ b/header/src/main/java/org/zstack/header/image/APICreateDataVolumeTemplateFromVolumeMsg.java @@ -18,7 +18,7 @@ @Action(category = ImageConstant.ACTION_CATEGORY) @RestRequest( path = "/images/data-volume-templates/from/volumes/{volumeUuid}", - method = HttpMethod.POST, + method = "POST", parameterName = "params", responseClass = APICreateDataVolumeTemplateFromVolumeEvent.class ) 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..62df21bdc5e 100755 --- a/header/src/main/java/org/zstack/header/image/APICreateDataVolumeTemplateFromVolumeSnapshotMsg.java +++ b/header/src/main/java/org/zstack/header/image/APICreateDataVolumeTemplateFromVolumeSnapshotMsg.java @@ -19,7 +19,7 @@ @RestRequest( path = "/images/data-volume-templates/from/volume-snapshots/{snapshotUuid}", responseClass = APICreateDataVolumeTemplateFromVolumeSnapshotEvent.class, - method = HttpMethod.POST, + method = "POST", parameterName = "params" ) @TagResourceType(ImageVO.class) diff --git a/header/src/main/java/org/zstack/header/image/APICreateImageGroupFromImageMsg.java b/header/src/main/java/org/zstack/header/image/APICreateImageGroupFromImageMsg.java index 7f8d6fd8c39..8c834508df9 100644 --- a/header/src/main/java/org/zstack/header/image/APICreateImageGroupFromImageMsg.java +++ b/header/src/main/java/org/zstack/header/image/APICreateImageGroupFromImageMsg.java @@ -12,7 +12,7 @@ @Action(category = ImageConstant.ACTION_CATEGORY) @RestRequest( path = "/imagegroup/from/image/{rootVolumeTemplateUuid}", - method = HttpMethod.POST, + method = "POST", responseClass = APICreateImageGroupFromImageEvent.class, parameterName = "params" ) diff --git a/header/src/main/java/org/zstack/header/image/APICreateImageGroupFromSnapshotMsg.java b/header/src/main/java/org/zstack/header/image/APICreateImageGroupFromSnapshotMsg.java index 74fd042043c..378247f72da 100644 --- a/header/src/main/java/org/zstack/header/image/APICreateImageGroupFromSnapshotMsg.java +++ b/header/src/main/java/org/zstack/header/image/APICreateImageGroupFromSnapshotMsg.java @@ -12,7 +12,7 @@ @Action(category = ImageConstant.ACTION_CATEGORY) @RestRequest( path = "/imagegroup/from/snapshot/{rootVolumeSnapshotUuid}", - method = HttpMethod.POST, + method = "POST", responseClass = APICreateImageGroupFromSnapshotEvent.class, parameterName = "params" ) diff --git a/header/src/main/java/org/zstack/header/image/APICreateImageGroupFromVmInstanceMsg.java b/header/src/main/java/org/zstack/header/image/APICreateImageGroupFromVmInstanceMsg.java index b36db132359..2be58a62428 100644 --- a/header/src/main/java/org/zstack/header/image/APICreateImageGroupFromVmInstanceMsg.java +++ b/header/src/main/java/org/zstack/header/image/APICreateImageGroupFromVmInstanceMsg.java @@ -11,7 +11,7 @@ @Action(category = ImageConstant.ACTION_CATEGORY) @RestRequest( path = "/images/groups/from/vm-instance", - method = HttpMethod.POST, + method = "POST", responseClass = APICreateImageGroupFromVmInstanceEvent.class, parameterName = "params" ) 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..a3b99bfd56c 100755 --- a/header/src/main/java/org/zstack/header/image/APICreateRootVolumeTemplateFromRootVolumeMsg.java +++ b/header/src/main/java/org/zstack/header/image/APICreateRootVolumeTemplateFromRootVolumeMsg.java @@ -16,7 +16,7 @@ @Action(category = ImageConstant.ACTION_CATEGORY) @RestRequest( path = "/images/root-volume-templates/from/volumes/{rootVolumeUuid}", - method = HttpMethod.POST, + method = "POST", responseClass = APICreateRootVolumeTemplateFromRootVolumeEvent.class, parameterName = "params" ) 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..4ff3462cdf5 100755 --- a/header/src/main/java/org/zstack/header/image/APICreateRootVolumeTemplateFromVolumeSnapshotMsg.java +++ b/header/src/main/java/org/zstack/header/image/APICreateRootVolumeTemplateFromVolumeSnapshotMsg.java @@ -19,7 +19,7 @@ @RestRequest( path = "/images/root-volume-templates/from/volume-snapshots/{snapshotUuid}", responseClass = APICreateRootVolumeTemplateFromVolumeSnapshotEvent.class, - method = HttpMethod.POST, + method = "POST", parameterName = "params" ) @TagResourceType(ImageVO.class) diff --git a/header/src/main/java/org/zstack/header/image/APIDeleteImageMsg.java b/header/src/main/java/org/zstack/header/image/APIDeleteImageMsg.java index 9c6f10690c7..b7a91d455f1 100755 --- a/header/src/main/java/org/zstack/header/image/APIDeleteImageMsg.java +++ b/header/src/main/java/org/zstack/header/image/APIDeleteImageMsg.java @@ -15,7 +15,7 @@ @Action(category = ImageConstant.ACTION_CATEGORY) @RestRequest( path = "/images/{uuid}", - method = HttpMethod.DELETE, + method = "DELETE", responseClass = APIDeleteImageEvent.class ) public class APIDeleteImageMsg extends APIDeleteMessage implements ImageMessage { diff --git a/header/src/main/java/org/zstack/header/image/APIExpungeImageGroupMsg.java b/header/src/main/java/org/zstack/header/image/APIExpungeImageGroupMsg.java index 849fd236442..1e3be1902ce 100644 --- a/header/src/main/java/org/zstack/header/image/APIExpungeImageGroupMsg.java +++ b/header/src/main/java/org/zstack/header/image/APIExpungeImageGroupMsg.java @@ -9,7 +9,7 @@ @Action(category = ImageConstant.ACTION_CATEGORY) @RestRequest( path = "/imagegroups/{uuid}/actions", - method = HttpMethod.PUT, + method = "PUT", responseClass = APIExpungeImageGroupEvent.class, isAction = true ) diff --git a/header/src/main/java/org/zstack/header/image/APIExpungeImageMsg.java b/header/src/main/java/org/zstack/header/image/APIExpungeImageMsg.java index c8909c76f58..ed0aa580d84 100755 --- a/header/src/main/java/org/zstack/header/image/APIExpungeImageMsg.java +++ b/header/src/main/java/org/zstack/header/image/APIExpungeImageMsg.java @@ -17,7 +17,7 @@ @Action(category = ImageConstant.ACTION_CATEGORY) @RestRequest( path = "/images/{imageUuid}/actions", - method = HttpMethod.PUT, + method = "PUT", responseClass = APIExpungeImageEvent.class, isAction = true ) diff --git a/header/src/main/java/org/zstack/header/image/APIGetCandidateBackupStorageForCreatingImageMsg.java b/header/src/main/java/org/zstack/header/image/APIGetCandidateBackupStorageForCreatingImageMsg.java index 76ebbc30813..0287e317eb1 100755 --- a/header/src/main/java/org/zstack/header/image/APIGetCandidateBackupStorageForCreatingImageMsg.java +++ b/header/src/main/java/org/zstack/header/image/APIGetCandidateBackupStorageForCreatingImageMsg.java @@ -20,7 +20,7 @@ "/images/volumes/{volumeUuid}/candidate-backup-storage", "/images/volume-snapshots/{volumeSnapshotUuid}/candidate-backup-storage", }, - method = HttpMethod.GET, + method = "GET", responseClass = APIGetCandidateBackupStorageForCreatingImageReply.class ) @SDK( diff --git a/header/src/main/java/org/zstack/header/image/APIGetUploadImageJobDetailsMsg.java b/header/src/main/java/org/zstack/header/image/APIGetUploadImageJobDetailsMsg.java index 5a52e274f2c..b59d6a3975e 100644 --- a/header/src/main/java/org/zstack/header/image/APIGetUploadImageJobDetailsMsg.java +++ b/header/src/main/java/org/zstack/header/image/APIGetUploadImageJobDetailsMsg.java @@ -13,7 +13,7 @@ @Action(category = ImageConstant.ACTION_CATEGORY, names = {"read"}) @RestRequest( path = "/images/upload-job/details/{imageId}", - method = HttpMethod.GET, + method = "GET", responseClass = APIGetUploadImageJobDetailsReply.class ) public class APIGetUploadImageJobDetailsMsg extends APISyncCallMessage { diff --git a/header/src/main/java/org/zstack/header/image/APIQueryImageGroupMsg.java b/header/src/main/java/org/zstack/header/image/APIQueryImageGroupMsg.java index 383e304d76d..9eba120e726 100644 --- a/header/src/main/java/org/zstack/header/image/APIQueryImageGroupMsg.java +++ b/header/src/main/java/org/zstack/header/image/APIQueryImageGroupMsg.java @@ -14,7 +14,7 @@ @RestRequest( path = "/imagegroups", optionalPaths = {"/imagegroups/{uuid}"}, - method = HttpMethod.GET, + method = "GET", responseClass = APIQueryImageGroupReply.class ) public class APIQueryImageGroupMsg extends APIQueryMessage { diff --git a/header/src/main/java/org/zstack/header/image/APIQueryImageGroupRefMsg.java b/header/src/main/java/org/zstack/header/image/APIQueryImageGroupRefMsg.java index 3fb9bf2466e..f08f338a496 100644 --- a/header/src/main/java/org/zstack/header/image/APIQueryImageGroupRefMsg.java +++ b/header/src/main/java/org/zstack/header/image/APIQueryImageGroupRefMsg.java @@ -14,7 +14,7 @@ @RestRequest( path = "/imagegrouprefs", optionalPaths = {"/imagegrouprefs/{imageGroupUuid}"}, - method = HttpMethod.GET, + method = "GET", responseClass = APIQueryImageGroupRefReply.class ) public class APIQueryImageGroupRefMsg extends APIQueryMessage { diff --git a/header/src/main/java/org/zstack/header/image/APIQueryImageMsg.java b/header/src/main/java/org/zstack/header/image/APIQueryImageMsg.java index f4813f7d5ea..6a58b0f991a 100755 --- a/header/src/main/java/org/zstack/header/image/APIQueryImageMsg.java +++ b/header/src/main/java/org/zstack/header/image/APIQueryImageMsg.java @@ -14,7 +14,7 @@ @RestRequest( path = "/images", optionalPaths = {"/images/{uuid}"}, - method = HttpMethod.GET, + method = "GET", responseClass = APIQueryImageReply.class ) public class APIQueryImageMsg extends APIQueryMessage { diff --git a/header/src/main/java/org/zstack/header/image/APIRecoverImageMsg.java b/header/src/main/java/org/zstack/header/image/APIRecoverImageMsg.java index 29abc70de2e..4cdabdd14bd 100755 --- a/header/src/main/java/org/zstack/header/image/APIRecoverImageMsg.java +++ b/header/src/main/java/org/zstack/header/image/APIRecoverImageMsg.java @@ -16,7 +16,7 @@ @Action(category = ImageConstant.ACTION_CATEGORY) @RestRequest( path = "/images/{imageUuid}/actions", - method = HttpMethod.PUT, + method = "PUT", responseClass = APIRecoverImageEvent.class, isAction = true ) diff --git a/header/src/main/java/org/zstack/header/image/APISetImageBootModeMsg.java b/header/src/main/java/org/zstack/header/image/APISetImageBootModeMsg.java index d0efd506eeb..cd3f15d7cb9 100644 --- a/header/src/main/java/org/zstack/header/image/APISetImageBootModeMsg.java +++ b/header/src/main/java/org/zstack/header/image/APISetImageBootModeMsg.java @@ -10,7 +10,7 @@ @RestRequest( path = "/images/{uuid}/actions", isAction = true, - method = HttpMethod.PUT, + method = "PUT", responseClass = APISetImageBootModeEvent.class ) public class APISetImageBootModeMsg extends APIMessage implements ImageMessage { diff --git a/header/src/main/java/org/zstack/header/image/APISyncImageSizeMsg.java b/header/src/main/java/org/zstack/header/image/APISyncImageSizeMsg.java index f0a73f44b79..835a25a6e0a 100755 --- a/header/src/main/java/org/zstack/header/image/APISyncImageSizeMsg.java +++ b/header/src/main/java/org/zstack/header/image/APISyncImageSizeMsg.java @@ -13,7 +13,7 @@ @RestRequest( path = "/images/{uuid}/actions", responseClass = APISyncImageSizeEvent.class, - method = HttpMethod.PUT, + method = "PUT", isAction = true ) public class APISyncImageSizeMsg extends APIMessage implements ImageMessage { diff --git a/header/src/main/java/org/zstack/header/image/APIUpdateImageMsg.java b/header/src/main/java/org/zstack/header/image/APIUpdateImageMsg.java index 4d6fc2663c0..d794915274b 100755 --- a/header/src/main/java/org/zstack/header/image/APIUpdateImageMsg.java +++ b/header/src/main/java/org/zstack/header/image/APIUpdateImageMsg.java @@ -12,7 +12,7 @@ @Action(category = ImageConstant.ACTION_CATEGORY) @RestRequest( path = "/images/{uuid}/actions", - method = HttpMethod.PUT, + method = "PUT", responseClass = APIUpdateImageEvent.class, isAction = true ) diff --git a/header/src/main/java/org/zstack/header/image/GuestOsCategoryVO.java b/header/src/main/java/org/zstack/header/image/GuestOsCategoryVO.java index d6f04950b31..10482765953 100644 --- a/header/src/main/java/org/zstack/header/image/GuestOsCategoryVO.java +++ b/header/src/main/java/org/zstack/header/image/GuestOsCategoryVO.java @@ -5,10 +5,10 @@ import org.zstack.header.vo.ResourceVO; import org.zstack.header.vo.ToInventory; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.Table; -import javax.persistence.Transient; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.Table; +import jakarta.persistence.Transient; @Entity @Table diff --git a/header/src/main/java/org/zstack/header/image/GuestOsCategoryVO_.java b/header/src/main/java/org/zstack/header/image/GuestOsCategoryVO_.java index d30ff94f612..630801647a8 100644 --- a/header/src/main/java/org/zstack/header/image/GuestOsCategoryVO_.java +++ b/header/src/main/java/org/zstack/header/image/GuestOsCategoryVO_.java @@ -2,8 +2,8 @@ import org.zstack.header.vo.ResourceVO_; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; @StaticMetamodel(GuestOsCategoryVO.class) public class GuestOsCategoryVO_ extends ResourceVO_ { diff --git a/header/src/main/java/org/zstack/header/image/ImageAO.java b/header/src/main/java/org/zstack/header/image/ImageAO.java index d7d707d5f9a..ab67caa64cc 100755 --- a/header/src/main/java/org/zstack/header/image/ImageAO.java +++ b/header/src/main/java/org/zstack/header/image/ImageAO.java @@ -5,7 +5,7 @@ import org.zstack.header.vo.ResourceVO; import org.zstack.header.vo.ShadowEntity; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; @MappedSuperclass diff --git a/header/src/main/java/org/zstack/header/image/ImageAO_.java b/header/src/main/java/org/zstack/header/image/ImageAO_.java index 956fb9723fe..6c194f1206c 100755 --- a/header/src/main/java/org/zstack/header/image/ImageAO_.java +++ b/header/src/main/java/org/zstack/header/image/ImageAO_.java @@ -3,8 +3,8 @@ import org.zstack.header.image.ImageConstant.ImageMediaType; import org.zstack.header.vo.ResourceVO_; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; @StaticMetamodel(ImageAO.class) diff --git a/header/src/main/java/org/zstack/header/image/ImageBackupStorageRefVO.java b/header/src/main/java/org/zstack/header/image/ImageBackupStorageRefVO.java index 5000e59f7b9..75b8642c4d2 100755 --- a/header/src/main/java/org/zstack/header/image/ImageBackupStorageRefVO.java +++ b/header/src/main/java/org/zstack/header/image/ImageBackupStorageRefVO.java @@ -8,7 +8,7 @@ import org.zstack.header.vo.SoftDeletionCascade; import org.zstack.header.vo.SoftDeletionCascades; -import javax.persistence.*; +import jakarta.persistence.*; import java.io.Serializable; import java.sql.Timestamp; diff --git a/header/src/main/java/org/zstack/header/image/ImageBackupStorageRefVO_.java b/header/src/main/java/org/zstack/header/image/ImageBackupStorageRefVO_.java index f90bf542410..4f6b4a55a86 100755 --- a/header/src/main/java/org/zstack/header/image/ImageBackupStorageRefVO_.java +++ b/header/src/main/java/org/zstack/header/image/ImageBackupStorageRefVO_.java @@ -1,7 +1,7 @@ package org.zstack.header.image; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; /** diff --git a/header/src/main/java/org/zstack/header/image/ImageEO.java b/header/src/main/java/org/zstack/header/image/ImageEO.java index b04867f6051..c24c0376979 100755 --- a/header/src/main/java/org/zstack/header/image/ImageEO.java +++ b/header/src/main/java/org/zstack/header/image/ImageEO.java @@ -1,6 +1,6 @@ package org.zstack.header.image; -import javax.persistence.*; +import jakarta.persistence.*; /** */ diff --git a/header/src/main/java/org/zstack/header/image/ImageGroupRefVO.java b/header/src/main/java/org/zstack/header/image/ImageGroupRefVO.java index 68050f3f6d5..1e088707592 100644 --- a/header/src/main/java/org/zstack/header/image/ImageGroupRefVO.java +++ b/header/src/main/java/org/zstack/header/image/ImageGroupRefVO.java @@ -6,7 +6,7 @@ import org.zstack.header.vo.ForeignKey; import org.zstack.header.vo.Index; -import javax.persistence.*; +import jakarta.persistence.*; import java.io.Serializable; import java.sql.Timestamp; diff --git a/header/src/main/java/org/zstack/header/image/ImageGroupRefVO_.java b/header/src/main/java/org/zstack/header/image/ImageGroupRefVO_.java index ae8a6f5310a..1e0b4c0a1bb 100644 --- a/header/src/main/java/org/zstack/header/image/ImageGroupRefVO_.java +++ b/header/src/main/java/org/zstack/header/image/ImageGroupRefVO_.java @@ -1,6 +1,6 @@ package org.zstack.header.image; -import javax.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.SingularAttribute; import java.sql.Timestamp; public class ImageGroupRefVO_ { diff --git a/header/src/main/java/org/zstack/header/image/ImageGroupVO.java b/header/src/main/java/org/zstack/header/image/ImageGroupVO.java index 25deb06dc8d..b14a330110a 100644 --- a/header/src/main/java/org/zstack/header/image/ImageGroupVO.java +++ b/header/src/main/java/org/zstack/header/image/ImageGroupVO.java @@ -4,9 +4,9 @@ import org.zstack.header.vo.EntityGraph; import org.zstack.header.vo.ResourceVO; -import javax.persistence.Column; +import jakarta.persistence.Column; import java.sql.Timestamp; -import javax.persistence.*; +import jakarta.persistence.*; @Entity @Table diff --git a/header/src/main/java/org/zstack/header/image/ImageGroupVO_.java b/header/src/main/java/org/zstack/header/image/ImageGroupVO_.java index d7d6112ebe0..5278338b6cb 100644 --- a/header/src/main/java/org/zstack/header/image/ImageGroupVO_.java +++ b/header/src/main/java/org/zstack/header/image/ImageGroupVO_.java @@ -2,7 +2,7 @@ import org.zstack.header.vo.ResourceVO_; -import javax.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.SingularAttribute; import java.sql.Timestamp; public class ImageGroupVO_ extends ResourceVO_ { 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..c39dc7c61aa 100755 --- a/header/src/main/java/org/zstack/header/image/ImageInventory.java +++ b/header/src/main/java/org/zstack/header/image/ImageInventory.java @@ -6,7 +6,7 @@ import org.zstack.header.tag.SystemTagInventory; import org.zstack.header.volume.VolumeInventory; -import javax.persistence.JoinColumn; +import jakarta.persistence.JoinColumn; import java.io.Serializable; import java.sql.Timestamp; import java.util.ArrayList; 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..e25cc8ba7d6 100755 --- a/header/src/main/java/org/zstack/header/image/ImageVO.java +++ b/header/src/main/java/org/zstack/header/image/ImageVO.java @@ -4,7 +4,7 @@ import org.zstack.header.vo.*; import org.zstack.header.vo.EntityGraph; -import javax.persistence.*; +import jakarta.persistence.*; import java.util.HashSet; import java.util.Set; 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 2bb59905608..051160d4e8e 100755 --- a/header/src/main/java/org/zstack/header/image/ImageVO_.java +++ b/header/src/main/java/org/zstack/header/image/ImageVO_.java @@ -1,6 +1,6 @@ package org.zstack.header.image; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.StaticMetamodel; @StaticMetamodel(ImageVO.class) public class ImageVO_ extends ImageAO_ { diff --git a/header/src/main/java/org/zstack/header/longjob/APICancelLongJobMsg.java b/header/src/main/java/org/zstack/header/longjob/APICancelLongJobMsg.java index 625e9fd79f6..68aff8d6269 100644 --- a/header/src/main/java/org/zstack/header/longjob/APICancelLongJobMsg.java +++ b/header/src/main/java/org/zstack/header/longjob/APICancelLongJobMsg.java @@ -14,7 +14,7 @@ @RestRequest( path = "/longjobs/{uuid}/actions", isAction = true, - method = HttpMethod.PUT, + method = "PUT", responseClass = APICancelLongJobEvent.class ) public class APICancelLongJobMsg extends APIMessage implements LongJobMessage { diff --git a/header/src/main/java/org/zstack/header/longjob/APICleanLongJobMsg.java b/header/src/main/java/org/zstack/header/longjob/APICleanLongJobMsg.java index ddfe14acec6..8b097c0fb64 100644 --- a/header/src/main/java/org/zstack/header/longjob/APICleanLongJobMsg.java +++ b/header/src/main/java/org/zstack/header/longjob/APICleanLongJobMsg.java @@ -13,7 +13,7 @@ @RestRequest( path = "/longjobs/{uuid}/actions", isAction = true, - method = HttpMethod.PUT, + method = "PUT", responseClass = APICleanLongJobEvent.class ) public class APICleanLongJobMsg extends APIMessage implements LongJobMessage { diff --git a/header/src/main/java/org/zstack/header/longjob/APIDeleteLongJobMsg.java b/header/src/main/java/org/zstack/header/longjob/APIDeleteLongJobMsg.java index 40b86076017..260afa9fa22 100644 --- a/header/src/main/java/org/zstack/header/longjob/APIDeleteLongJobMsg.java +++ b/header/src/main/java/org/zstack/header/longjob/APIDeleteLongJobMsg.java @@ -13,7 +13,7 @@ @Action(category = LongJobConstants.ACTION_CATEGORY) @RestRequest( path = "/longjobs/{uuid}", - method = HttpMethod.DELETE, + method = "DELETE", responseClass = APIDeleteLongJobEvent.class ) public class APIDeleteLongJobMsg extends APIMessage implements LongJobMessage { diff --git a/header/src/main/java/org/zstack/header/longjob/APIQueryLongJobMsg.java b/header/src/main/java/org/zstack/header/longjob/APIQueryLongJobMsg.java index d279f39ac77..485acb5744c 100644 --- a/header/src/main/java/org/zstack/header/longjob/APIQueryLongJobMsg.java +++ b/header/src/main/java/org/zstack/header/longjob/APIQueryLongJobMsg.java @@ -17,7 +17,7 @@ @RestRequest( path = "/longjobs", optionalPaths = {"/longjobs/{uuid}"}, - method = HttpMethod.GET, + method = "GET", responseClass = APIQueryLongJobReply.class ) public class APIQueryLongJobMsg extends APIQueryMessage { diff --git a/header/src/main/java/org/zstack/header/longjob/APIRerunLongJobMsg.java b/header/src/main/java/org/zstack/header/longjob/APIRerunLongJobMsg.java index b3252070e56..9020c0abd0a 100644 --- a/header/src/main/java/org/zstack/header/longjob/APIRerunLongJobMsg.java +++ b/header/src/main/java/org/zstack/header/longjob/APIRerunLongJobMsg.java @@ -13,7 +13,7 @@ @RestRequest( path = "/longjobs/{uuid}/actions", isAction = true, - method = HttpMethod.PUT, + method = "PUT", responseClass = APIRerunLongJobEvent.class ) public class APIRerunLongJobMsg extends APIMessage implements LongJobMessage { diff --git a/header/src/main/java/org/zstack/header/longjob/APIResumeLongJobMsg.java b/header/src/main/java/org/zstack/header/longjob/APIResumeLongJobMsg.java index d35a8ac8551..1ed38b9844d 100644 --- a/header/src/main/java/org/zstack/header/longjob/APIResumeLongJobMsg.java +++ b/header/src/main/java/org/zstack/header/longjob/APIResumeLongJobMsg.java @@ -9,7 +9,7 @@ @RestRequest( path = "/longjobs/{uuid}/actions", isAction = true, - method = HttpMethod.PUT, + method = "PUT", responseClass = APIResumeLongJobEvent.class ) public class APIResumeLongJobMsg extends APIMessage implements LongJobMessage { diff --git a/header/src/main/java/org/zstack/header/longjob/APISubmitLongJobMsg.java b/header/src/main/java/org/zstack/header/longjob/APISubmitLongJobMsg.java index cc9851590c4..60ffc3ffd0e 100644 --- a/header/src/main/java/org/zstack/header/longjob/APISubmitLongJobMsg.java +++ b/header/src/main/java/org/zstack/header/longjob/APISubmitLongJobMsg.java @@ -21,7 +21,7 @@ @Action(category = LongJobConstants.ACTION_CATEGORY) @RestRequest( path = "/longjobs", - method = HttpMethod.POST, + method = "POST", parameterName = "params", responseClass = APISubmitLongJobEvent.class ) diff --git a/header/src/main/java/org/zstack/header/longjob/APISuspendLongJobMsg.java b/header/src/main/java/org/zstack/header/longjob/APISuspendLongJobMsg.java index c84ae0b659e..10826452316 100644 --- a/header/src/main/java/org/zstack/header/longjob/APISuspendLongJobMsg.java +++ b/header/src/main/java/org/zstack/header/longjob/APISuspendLongJobMsg.java @@ -10,7 +10,7 @@ @RestRequest( path = "/longjobs/{uuid}/actions", isAction = true, - method = HttpMethod.PUT, + method = "PUT", responseClass = APISuspendLongJobEvent.class ) public class APISuspendLongJobMsg extends APIMessage implements LongJobMessage { diff --git a/header/src/main/java/org/zstack/header/longjob/APIUpdateLongJobMsg.java b/header/src/main/java/org/zstack/header/longjob/APIUpdateLongJobMsg.java index e46c7ddca4d..aed1c0b90d1 100644 --- a/header/src/main/java/org/zstack/header/longjob/APIUpdateLongJobMsg.java +++ b/header/src/main/java/org/zstack/header/longjob/APIUpdateLongJobMsg.java @@ -16,7 +16,7 @@ @RestRequest( path = "/longjobs/{uuid}/actions", isAction = true, - method = HttpMethod.PUT, + method = "PUT", responseClass = APIUpdateLongJobEvent.class ) public class APIUpdateLongJobMsg extends APIMessage implements LongJobMessage { diff --git a/header/src/main/java/org/zstack/header/longjob/LongJobVO.java b/header/src/main/java/org/zstack/header/longjob/LongJobVO.java index 9eda13021ad..b40c1966b6f 100755 --- a/header/src/main/java/org/zstack/header/longjob/LongJobVO.java +++ b/header/src/main/java/org/zstack/header/longjob/LongJobVO.java @@ -6,7 +6,7 @@ import org.zstack.header.vo.ForeignKey; import org.zstack.header.vo.ResourceVO; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; /** diff --git a/header/src/main/java/org/zstack/header/longjob/LongJobVO_.java b/header/src/main/java/org/zstack/header/longjob/LongJobVO_.java index cbac6c1d76a..3b0d31b31cb 100644 --- a/header/src/main/java/org/zstack/header/longjob/LongJobVO_.java +++ b/header/src/main/java/org/zstack/header/longjob/LongJobVO_.java @@ -2,8 +2,8 @@ import org.zstack.header.vo.ResourceVO_; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; /** diff --git a/header/src/main/java/org/zstack/header/managementnode/APIGetCurrentTimeMsg.java b/header/src/main/java/org/zstack/header/managementnode/APIGetCurrentTimeMsg.java index ec569b5d0ba..89b2b5b1540 100755 --- a/header/src/main/java/org/zstack/header/managementnode/APIGetCurrentTimeMsg.java +++ b/header/src/main/java/org/zstack/header/managementnode/APIGetCurrentTimeMsg.java @@ -12,7 +12,7 @@ @RestRequest( path = "/management-nodes/actions", isAction = true, - method = HttpMethod.PUT, + method = "PUT", responseClass = APIGetCurrentTimeReply.class ) public class APIGetCurrentTimeMsg extends APISyncCallMessage implements APIManagementNodeMessage { diff --git a/header/src/main/java/org/zstack/header/managementnode/APIGetManagementNodeArchMsg.java b/header/src/main/java/org/zstack/header/managementnode/APIGetManagementNodeArchMsg.java index 2a928050d64..6109b072bad 100644 --- a/header/src/main/java/org/zstack/header/managementnode/APIGetManagementNodeArchMsg.java +++ b/header/src/main/java/org/zstack/header/managementnode/APIGetManagementNodeArchMsg.java @@ -13,7 +13,7 @@ @RestRequest( path = "/management-nodes/actions", isAction = true, - method = HttpMethod.PUT, + method = "PUT", responseClass = APIGetManagementNodeArchReply.class ) @SuppressCredentialCheck diff --git a/header/src/main/java/org/zstack/header/managementnode/APIGetManagementNodeOSMsg.java b/header/src/main/java/org/zstack/header/managementnode/APIGetManagementNodeOSMsg.java index 407d63b3de6..15b1789541f 100644 --- a/header/src/main/java/org/zstack/header/managementnode/APIGetManagementNodeOSMsg.java +++ b/header/src/main/java/org/zstack/header/managementnode/APIGetManagementNodeOSMsg.java @@ -12,7 +12,7 @@ @RestRequest( path = "/management/actions", isAction = true, - method = HttpMethod.PUT, + method = "PUT", responseClass = APIGetManagementNodeOSReply.class ) @SuppressCredentialCheck diff --git a/header/src/main/java/org/zstack/header/managementnode/APIGetPlatformTimeZoneMsg.java b/header/src/main/java/org/zstack/header/managementnode/APIGetPlatformTimeZoneMsg.java index 8e93957d06f..bd818167e17 100644 --- a/header/src/main/java/org/zstack/header/managementnode/APIGetPlatformTimeZoneMsg.java +++ b/header/src/main/java/org/zstack/header/managementnode/APIGetPlatformTimeZoneMsg.java @@ -9,7 +9,7 @@ */ @RestRequest( path = "/management-nodes/platform-timezone", - method = HttpMethod.GET, + method = "GET", responseClass = APIGetPlatformTimeZoneReply.class ) public class APIGetPlatformTimeZoneMsg extends APISyncCallMessage implements APIManagementNodeMessage { diff --git a/header/src/main/java/org/zstack/header/managementnode/APIGetSupportAPIsMsg.java b/header/src/main/java/org/zstack/header/managementnode/APIGetSupportAPIsMsg.java index 7ff8adb7870..27e3f1e2927 100644 --- a/header/src/main/java/org/zstack/header/managementnode/APIGetSupportAPIsMsg.java +++ b/header/src/main/java/org/zstack/header/managementnode/APIGetSupportAPIsMsg.java @@ -9,7 +9,7 @@ @RestRequest( path = "/management-nodes/actions", isAction = true, - method = HttpMethod.PUT, + method = "PUT", responseClass = APIGetSupportAPIsReply.class ) public class APIGetSupportAPIsMsg extends APISyncCallMessage implements APIManagementNodeMessage { diff --git a/header/src/main/java/org/zstack/header/managementnode/APIGetVersionMsg.java b/header/src/main/java/org/zstack/header/managementnode/APIGetVersionMsg.java index f9a9f3209d6..b9c778b2652 100755 --- a/header/src/main/java/org/zstack/header/managementnode/APIGetVersionMsg.java +++ b/header/src/main/java/org/zstack/header/managementnode/APIGetVersionMsg.java @@ -13,7 +13,7 @@ path = "/management-nodes/actions", isAction = true, responseClass = APIGetVersionReply.class, - method = HttpMethod.PUT + method = "PUT" ) public class APIGetVersionMsg extends APISyncCallMessage implements APIManagementNodeMessage { diff --git a/header/src/main/java/org/zstack/header/managementnode/APIQueryManagementNodeMsg.java b/header/src/main/java/org/zstack/header/managementnode/APIQueryManagementNodeMsg.java index c0676c41b5d..069951ebbde 100755 --- a/header/src/main/java/org/zstack/header/managementnode/APIQueryManagementNodeMsg.java +++ b/header/src/main/java/org/zstack/header/managementnode/APIQueryManagementNodeMsg.java @@ -15,7 +15,7 @@ @RestRequest( path = "/management-nodes", optionalPaths = {"/management-nodes/{uuid}"}, - method = HttpMethod.GET, + method = "GET", responseClass = APIQueryManagementNodeReply.class ) public class APIQueryManagementNodeMsg extends APIQueryMessage { diff --git a/header/src/main/java/org/zstack/header/managementnode/ManagementNodeContextVO.java b/header/src/main/java/org/zstack/header/managementnode/ManagementNodeContextVO.java index ec77f7b0e21..89356c75c41 100755 --- a/header/src/main/java/org/zstack/header/managementnode/ManagementNodeContextVO.java +++ b/header/src/main/java/org/zstack/header/managementnode/ManagementNodeContextVO.java @@ -1,9 +1,9 @@ package org.zstack.header.managementnode; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.Id; -import javax.persistence.Table; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.Id; +import jakarta.persistence.Table; @Entity @Table diff --git a/header/src/main/java/org/zstack/header/managementnode/ManagementNodeVO.java b/header/src/main/java/org/zstack/header/managementnode/ManagementNodeVO.java index bd89bcbbf3d..4709c2d8915 100755 --- a/header/src/main/java/org/zstack/header/managementnode/ManagementNodeVO.java +++ b/header/src/main/java/org/zstack/header/managementnode/ManagementNodeVO.java @@ -1,6 +1,6 @@ package org.zstack.header.managementnode; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; @Entity diff --git a/header/src/main/java/org/zstack/header/managementnode/ManagementNodeVO_.java b/header/src/main/java/org/zstack/header/managementnode/ManagementNodeVO_.java index 70035f974cc..5b63c1abd92 100755 --- a/header/src/main/java/org/zstack/header/managementnode/ManagementNodeVO_.java +++ b/header/src/main/java/org/zstack/header/managementnode/ManagementNodeVO_.java @@ -1,7 +1,7 @@ package org.zstack.header.managementnode; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.util.Date; diff --git a/header/src/main/java/org/zstack/header/network/l2/APIAttachL2NetworkToClusterMsg.java b/header/src/main/java/org/zstack/header/network/l2/APIAttachL2NetworkToClusterMsg.java index 34e8351e095..7134f30d58f 100755 --- a/header/src/main/java/org/zstack/header/network/l2/APIAttachL2NetworkToClusterMsg.java +++ b/header/src/main/java/org/zstack/header/network/l2/APIAttachL2NetworkToClusterMsg.java @@ -37,7 +37,7 @@ */ @RestRequest( path = "/l2-networks/{l2NetworkUuid}/clusters/{clusterUuid}", - method = HttpMethod.POST, + method = "POST", responseClass = APIAttachL2NetworkToClusterEvent.class, parameterName = "null" ) diff --git a/header/src/main/java/org/zstack/header/network/l2/APIChangeL2NetworkVlanIdMsg.java b/header/src/main/java/org/zstack/header/network/l2/APIChangeL2NetworkVlanIdMsg.java index f8fc572dc2e..88c7093511c 100644 --- a/header/src/main/java/org/zstack/header/network/l2/APIChangeL2NetworkVlanIdMsg.java +++ b/header/src/main/java/org/zstack/header/network/l2/APIChangeL2NetworkVlanIdMsg.java @@ -13,7 +13,7 @@ */ @RestRequest( path = "/l2-networks/{uuid}/actions", - method = HttpMethod.PUT, + method = "PUT", responseClass = APIChangeL2NetworkVlanIdEvent.class, isAction = true ) diff --git a/header/src/main/java/org/zstack/header/network/l2/APICreateL2NoVlanNetworkMsg.java b/header/src/main/java/org/zstack/header/network/l2/APICreateL2NoVlanNetworkMsg.java index 6f42e0c3a3d..b70c7babbfd 100755 --- a/header/src/main/java/org/zstack/header/network/l2/APICreateL2NoVlanNetworkMsg.java +++ b/header/src/main/java/org/zstack/header/network/l2/APICreateL2NoVlanNetworkMsg.java @@ -16,7 +16,7 @@ }) @RestRequest( path = "/l2-networks/no-vlan", - method = HttpMethod.POST, + method = "POST", responseClass = APICreateL2NetworkEvent.class, parameterName = "params" ) diff --git a/header/src/main/java/org/zstack/header/network/l2/APICreateL2VlanNetworkMsg.java b/header/src/main/java/org/zstack/header/network/l2/APICreateL2VlanNetworkMsg.java index 58ce39044f5..d8f0c52995e 100755 --- a/header/src/main/java/org/zstack/header/network/l2/APICreateL2VlanNetworkMsg.java +++ b/header/src/main/java/org/zstack/header/network/l2/APICreateL2VlanNetworkMsg.java @@ -50,7 +50,7 @@ }) @RestRequest( path = "/l2-networks/vlan", - method = HttpMethod.POST, + method = "POST", responseClass = APICreateL2VlanNetworkEvent.class, parameterName = "params" ) diff --git a/header/src/main/java/org/zstack/header/network/l2/APIDeleteL2NetworkMsg.java b/header/src/main/java/org/zstack/header/network/l2/APIDeleteL2NetworkMsg.java index 5b0895b736c..4b5049b7a30 100755 --- a/header/src/main/java/org/zstack/header/network/l2/APIDeleteL2NetworkMsg.java +++ b/header/src/main/java/org/zstack/header/network/l2/APIDeleteL2NetworkMsg.java @@ -39,7 +39,7 @@ @Action(category = L2NetworkConstant.ACTION_CATEGORY) @RestRequest( path = "/l2-networks/{uuid}", - method = HttpMethod.DELETE, + method = "DELETE", responseClass = APIDeleteL2NetworkEvent.class ) public class APIDeleteL2NetworkMsg extends APIDeleteMessage implements L2NetworkMessage { diff --git a/header/src/main/java/org/zstack/header/network/l2/APIDetachL2NetworkFromClusterMsg.java b/header/src/main/java/org/zstack/header/network/l2/APIDetachL2NetworkFromClusterMsg.java index 13ea23592d2..1dcdb042030 100755 --- a/header/src/main/java/org/zstack/header/network/l2/APIDetachL2NetworkFromClusterMsg.java +++ b/header/src/main/java/org/zstack/header/network/l2/APIDetachL2NetworkFromClusterMsg.java @@ -37,7 +37,7 @@ */ @RestRequest( path = "/l2-networks/{l2NetworkUuid}/clusters/{clusterUuid}", - method = HttpMethod.DELETE, + method = "DELETE", responseClass = APIDetachL2NetworkFromClusterEvent.class ) public class APIDetachL2NetworkFromClusterMsg extends APIMessage implements L2NetworkMessage { diff --git a/header/src/main/java/org/zstack/header/network/l2/APIGetCandidateClustersForAttachingL2NetworkMsg.java b/header/src/main/java/org/zstack/header/network/l2/APIGetCandidateClustersForAttachingL2NetworkMsg.java index 4227f64aa6d..0bbd807ab24 100644 --- a/header/src/main/java/org/zstack/header/network/l2/APIGetCandidateClustersForAttachingL2NetworkMsg.java +++ b/header/src/main/java/org/zstack/header/network/l2/APIGetCandidateClustersForAttachingL2NetworkMsg.java @@ -9,7 +9,7 @@ @RestRequest( path = "/l2-networks/{l2NetworkUuid}/cluster-candidates", - method = HttpMethod.GET, + method = "GET", responseClass = APIGetCandidateClustersForAttachingL2NetworkReply.class ) public class APIGetCandidateClustersForAttachingL2NetworkMsg extends APIGetMessage { diff --git a/header/src/main/java/org/zstack/header/network/l2/APIGetCandidateL2NetworksForAttachingClusterMsg.java b/header/src/main/java/org/zstack/header/network/l2/APIGetCandidateL2NetworksForAttachingClusterMsg.java index 39a42ff317a..1adda1db757 100644 --- a/header/src/main/java/org/zstack/header/network/l2/APIGetCandidateL2NetworksForAttachingClusterMsg.java +++ b/header/src/main/java/org/zstack/header/network/l2/APIGetCandidateL2NetworksForAttachingClusterMsg.java @@ -8,7 +8,7 @@ @RestRequest( path = "/cluster/{clusterUuid}/l2-candidates", - method = HttpMethod.GET, + method = "GET", responseClass = APIGetCandidateL2NetworksForAttachingClusterReply.class ) public class APIGetCandidateL2NetworksForAttachingClusterMsg extends APIGetMessage { diff --git a/header/src/main/java/org/zstack/header/network/l2/APIGetL2NetworkTypesMsg.java b/header/src/main/java/org/zstack/header/network/l2/APIGetL2NetworkTypesMsg.java index 1c0f412e6d8..80f93e63859 100755 --- a/header/src/main/java/org/zstack/header/network/l2/APIGetL2NetworkTypesMsg.java +++ b/header/src/main/java/org/zstack/header/network/l2/APIGetL2NetworkTypesMsg.java @@ -30,7 +30,7 @@ */ @RestRequest( path = "/l2-networks/types", - method = HttpMethod.GET, + method = "GET", responseClass = APIGetL2NetworkTypesReply.class ) public class APIGetL2NetworkTypesMsg extends APISyncCallMessage { diff --git a/header/src/main/java/org/zstack/header/network/l2/APIGetVSwitchTypesMsg.java b/header/src/main/java/org/zstack/header/network/l2/APIGetVSwitchTypesMsg.java index 52cbf2557ec..889e7001eac 100644 --- a/header/src/main/java/org/zstack/header/network/l2/APIGetVSwitchTypesMsg.java +++ b/header/src/main/java/org/zstack/header/network/l2/APIGetVSwitchTypesMsg.java @@ -31,7 +31,7 @@ @RestRequest( path = "/l2-networks/vSwitchTypes", - method = HttpMethod.GET, + method = "GET", responseClass = APIGetVSwitchTypesReply.class ) public class APIGetVSwitchTypesMsg extends APISyncCallMessage { diff --git a/header/src/main/java/org/zstack/header/network/l2/APIQueryL2NetworkMsg.java b/header/src/main/java/org/zstack/header/network/l2/APIQueryL2NetworkMsg.java index 0bfde16424c..ae0d34af3d1 100755 --- a/header/src/main/java/org/zstack/header/network/l2/APIQueryL2NetworkMsg.java +++ b/header/src/main/java/org/zstack/header/network/l2/APIQueryL2NetworkMsg.java @@ -14,7 +14,7 @@ @RestRequest( path = "/l2-networks", optionalPaths = {"/l2-networks/{uuid}"}, - method = HttpMethod.GET, + method = "GET", responseClass = APIQueryL2NetworkReply.class ) public class APIQueryL2NetworkMsg extends APIQueryMessage { diff --git a/header/src/main/java/org/zstack/header/network/l2/APIQueryL2VlanNetworkMsg.java b/header/src/main/java/org/zstack/header/network/l2/APIQueryL2VlanNetworkMsg.java index 0c1829b6e77..9e3bc265132 100755 --- a/header/src/main/java/org/zstack/header/network/l2/APIQueryL2VlanNetworkMsg.java +++ b/header/src/main/java/org/zstack/header/network/l2/APIQueryL2VlanNetworkMsg.java @@ -13,7 +13,7 @@ @RestRequest( path = "/l2-networks/vlan", optionalPaths = {"/l2-networks/vlan/{uuid}"}, - method = HttpMethod.GET, + method = "GET", responseClass = APIQueryL2VlanNetworkReply.class ) public class APIQueryL2VlanNetworkMsg extends APIQueryMessage { diff --git a/header/src/main/java/org/zstack/header/network/l2/APIUpdateL2NetworkMsg.java b/header/src/main/java/org/zstack/header/network/l2/APIUpdateL2NetworkMsg.java index b27e63430d3..4b5a63ba2fd 100755 --- a/header/src/main/java/org/zstack/header/network/l2/APIUpdateL2NetworkMsg.java +++ b/header/src/main/java/org/zstack/header/network/l2/APIUpdateL2NetworkMsg.java @@ -12,7 +12,7 @@ */ @RestRequest( path = "/l2-networks/{uuid}/actions", - method = HttpMethod.PUT, + method = "PUT", responseClass = APIUpdateL2NetworkEvent.class, isAction = true ) diff --git a/header/src/main/java/org/zstack/header/network/l2/L2NetworkAO.java b/header/src/main/java/org/zstack/header/network/l2/L2NetworkAO.java index fd6fa59cd42..4d8f0c5557f 100755 --- a/header/src/main/java/org/zstack/header/network/l2/L2NetworkAO.java +++ b/header/src/main/java/org/zstack/header/network/l2/L2NetworkAO.java @@ -6,10 +6,10 @@ import org.zstack.header.vo.ResourceVO; import org.zstack.header.zone.ZoneEO; -import javax.persistence.Column; -import javax.persistence.Id; -import javax.persistence.MappedSuperclass; -import javax.persistence.PreUpdate; +import jakarta.persistence.Column; +import jakarta.persistence.Id; +import jakarta.persistence.MappedSuperclass; +import jakarta.persistence.PreUpdate; import java.sql.Timestamp; @MappedSuperclass diff --git a/header/src/main/java/org/zstack/header/network/l2/L2NetworkAO_.java b/header/src/main/java/org/zstack/header/network/l2/L2NetworkAO_.java index 1d6e4d237d3..d00ac0c1b81 100755 --- a/header/src/main/java/org/zstack/header/network/l2/L2NetworkAO_.java +++ b/header/src/main/java/org/zstack/header/network/l2/L2NetworkAO_.java @@ -2,8 +2,8 @@ import org.zstack.header.vo.ResourceVO_; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; @StaticMetamodel(L2NetworkAO.class) diff --git a/header/src/main/java/org/zstack/header/network/l2/L2NetworkClusterRefVO.java b/header/src/main/java/org/zstack/header/network/l2/L2NetworkClusterRefVO.java index 86317699719..a9325a7c2b3 100755 --- a/header/src/main/java/org/zstack/header/network/l2/L2NetworkClusterRefVO.java +++ b/header/src/main/java/org/zstack/header/network/l2/L2NetworkClusterRefVO.java @@ -10,7 +10,7 @@ import org.zstack.header.vo.SoftDeletionCascade; import org.zstack.header.vo.SoftDeletionCascades; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; @Entity diff --git a/header/src/main/java/org/zstack/header/network/l2/L2NetworkClusterRefVO_.java b/header/src/main/java/org/zstack/header/network/l2/L2NetworkClusterRefVO_.java index 01f5cd6965a..f4d4e7971ae 100755 --- a/header/src/main/java/org/zstack/header/network/l2/L2NetworkClusterRefVO_.java +++ b/header/src/main/java/org/zstack/header/network/l2/L2NetworkClusterRefVO_.java @@ -1,7 +1,7 @@ package org.zstack.header.network.l2; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; @StaticMetamodel(L2NetworkClusterRefVO.class) diff --git a/header/src/main/java/org/zstack/header/network/l2/L2NetworkEO.java b/header/src/main/java/org/zstack/header/network/l2/L2NetworkEO.java index 254e337fafb..e24e6707535 100755 --- a/header/src/main/java/org/zstack/header/network/l2/L2NetworkEO.java +++ b/header/src/main/java/org/zstack/header/network/l2/L2NetworkEO.java @@ -1,8 +1,8 @@ package org.zstack.header.network.l2; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.Table; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.Table; /** */ diff --git a/header/src/main/java/org/zstack/header/network/l2/L2NetworkHostRefVO.java b/header/src/main/java/org/zstack/header/network/l2/L2NetworkHostRefVO.java index 3d66cb4afaa..8a1255633db 100644 --- a/header/src/main/java/org/zstack/header/network/l2/L2NetworkHostRefVO.java +++ b/header/src/main/java/org/zstack/header/network/l2/L2NetworkHostRefVO.java @@ -12,7 +12,7 @@ import org.zstack.header.vo.SoftDeletionCascade; import org.zstack.header.vo.SoftDeletionCascades; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; @Entity diff --git a/header/src/main/java/org/zstack/header/network/l2/L2NetworkHostRefVO_.java b/header/src/main/java/org/zstack/header/network/l2/L2NetworkHostRefVO_.java index c979a475861..276c0e0dbf9 100644 --- a/header/src/main/java/org/zstack/header/network/l2/L2NetworkHostRefVO_.java +++ b/header/src/main/java/org/zstack/header/network/l2/L2NetworkHostRefVO_.java @@ -1,7 +1,7 @@ package org.zstack.header.network.l2; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; @StaticMetamodel(L2NetworkHostRefVO.class) 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..320890346d2 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 @@ -7,7 +7,7 @@ import org.zstack.header.search.TypeField; import org.zstack.header.zone.ZoneInventory; -import javax.persistence.JoinColumn; +import jakarta.persistence.JoinColumn; import java.io.Serializable; import java.sql.Timestamp; import java.util.ArrayList; 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..61993bf845e 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 @@ -5,7 +5,7 @@ import org.zstack.header.vo.EntityGraph; import org.zstack.header.zone.ZoneVO; -import javax.persistence.*; +import jakarta.persistence.*; import java.util.HashSet; import java.util.Set; 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 c64945f612f..83951155ac4 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,6 +1,6 @@ package org.zstack.header.network.l2; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.StaticMetamodel; @StaticMetamodel(L2NetworkVO.class) public class L2NetworkVO_ extends L2NetworkAO_ { diff --git a/header/src/main/java/org/zstack/header/network/l2/L2VlanNetworkVO.java b/header/src/main/java/org/zstack/header/network/l2/L2VlanNetworkVO.java index a0b06fe8d74..4dd3236937a 100755 --- a/header/src/main/java/org/zstack/header/network/l2/L2VlanNetworkVO.java +++ b/header/src/main/java/org/zstack/header/network/l2/L2VlanNetworkVO.java @@ -3,10 +3,10 @@ import org.zstack.header.tag.AutoDeleteTag; import org.zstack.header.vo.EO; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.PrimaryKeyJoinColumn; -import javax.persistence.Table; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.PrimaryKeyJoinColumn; +import jakarta.persistence.Table; @Entity @Table diff --git a/header/src/main/java/org/zstack/header/network/l2/L2VlanNetworkVO_.java b/header/src/main/java/org/zstack/header/network/l2/L2VlanNetworkVO_.java index cd8df1af0e9..21a447676cf 100755 --- a/header/src/main/java/org/zstack/header/network/l2/L2VlanNetworkVO_.java +++ b/header/src/main/java/org/zstack/header/network/l2/L2VlanNetworkVO_.java @@ -1,7 +1,7 @@ package org.zstack.header.network.l2; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; @StaticMetamodel(L2VlanNetworkVO.class) public class L2VlanNetworkVO_ extends L2NetworkVO_ { diff --git a/header/src/main/java/org/zstack/header/network/l3/APIAddDnsToL3NetworkMsg.java b/header/src/main/java/org/zstack/header/network/l3/APIAddDnsToL3NetworkMsg.java index 3d521bc07b7..4901d07006b 100755 --- a/header/src/main/java/org/zstack/header/network/l3/APIAddDnsToL3NetworkMsg.java +++ b/header/src/main/java/org/zstack/header/network/l3/APIAddDnsToL3NetworkMsg.java @@ -38,7 +38,7 @@ @Action(category = L3NetworkConstant.ACTION_CATEGORY) @RestRequest( path = "/l3-networks/{l3NetworkUuid}/dns", - method = HttpMethod.POST, + method = "POST", responseClass = APIAddDnsToL3NetworkEvent.class, parameterName = "params" ) diff --git a/header/src/main/java/org/zstack/header/network/l3/APIAddHostRouteToL3NetworkMsg.java b/header/src/main/java/org/zstack/header/network/l3/APIAddHostRouteToL3NetworkMsg.java index 5e3dd13ced3..c8911147455 100755 --- a/header/src/main/java/org/zstack/header/network/l3/APIAddHostRouteToL3NetworkMsg.java +++ b/header/src/main/java/org/zstack/header/network/l3/APIAddHostRouteToL3NetworkMsg.java @@ -10,7 +10,7 @@ @Action(category = L3NetworkConstant.ACTION_CATEGORY) @RestRequest( path = "/l3-networks/{l3NetworkUuid}/hostroute", - method = HttpMethod.POST, + method = "POST", responseClass = APIAddHostRouteToL3NetworkEvent.class, parameterName = "params" ) diff --git a/header/src/main/java/org/zstack/header/network/l3/APIAddIpRangeByNetworkCidrMsg.java b/header/src/main/java/org/zstack/header/network/l3/APIAddIpRangeByNetworkCidrMsg.java index 6e6493ce9ca..c6ee26d1dd0 100755 --- a/header/src/main/java/org/zstack/header/network/l3/APIAddIpRangeByNetworkCidrMsg.java +++ b/header/src/main/java/org/zstack/header/network/l3/APIAddIpRangeByNetworkCidrMsg.java @@ -13,7 +13,7 @@ @Action(category = L3NetworkConstant.ACTION_CATEGORY) @RestRequest( path = "/l3-networks/{l3NetworkUuid}/ip-ranges/by-cidr", - method = HttpMethod.POST, + method = "POST", parameterName = "params", responseClass = APIAddIpRangeByNetworkCidrEvent.class ) diff --git a/header/src/main/java/org/zstack/header/network/l3/APIAddIpRangeMsg.java b/header/src/main/java/org/zstack/header/network/l3/APIAddIpRangeMsg.java index 95c0ae89564..53edc208db7 100755 --- a/header/src/main/java/org/zstack/header/network/l3/APIAddIpRangeMsg.java +++ b/header/src/main/java/org/zstack/header/network/l3/APIAddIpRangeMsg.java @@ -52,7 +52,7 @@ @Action(category = L3NetworkConstant.ACTION_CATEGORY) @RestRequest( path = "/l3-networks/{l3NetworkUuid}/ip-ranges", - method = HttpMethod.POST, + method = "POST", responseClass = APIAddIpRangeEvent.class, parameterName = "params" ) diff --git a/header/src/main/java/org/zstack/header/network/l3/APIAddIpv6RangeByNetworkCidrMsg.java b/header/src/main/java/org/zstack/header/network/l3/APIAddIpv6RangeByNetworkCidrMsg.java index 3952a615e5e..f8d5d8f79db 100755 --- a/header/src/main/java/org/zstack/header/network/l3/APIAddIpv6RangeByNetworkCidrMsg.java +++ b/header/src/main/java/org/zstack/header/network/l3/APIAddIpv6RangeByNetworkCidrMsg.java @@ -16,7 +16,7 @@ @Action(category = L3NetworkConstant.ACTION_CATEGORY) @RestRequest( path = "/l3-networks/{l3NetworkUuid}/ipv6-ranges/by-cidr", - method = HttpMethod.POST, + method = "POST", parameterName = "params", responseClass = APIAddIpRangeByNetworkCidrEvent.class ) diff --git a/header/src/main/java/org/zstack/header/network/l3/APIAddIpv6RangeMsg.java b/header/src/main/java/org/zstack/header/network/l3/APIAddIpv6RangeMsg.java index b9e99fbd6d8..58a2f91d3b3 100755 --- a/header/src/main/java/org/zstack/header/network/l3/APIAddIpv6RangeMsg.java +++ b/header/src/main/java/org/zstack/header/network/l3/APIAddIpv6RangeMsg.java @@ -15,7 +15,7 @@ @Action(category = L3NetworkConstant.ACTION_CATEGORY) @RestRequest( path = "/l3-networks/{l3NetworkUuid}/ipv6-ranges", - method = HttpMethod.POST, + method = "POST", responseClass = APIAddIpRangeEvent.class, parameterName = "params" ) diff --git a/header/src/main/java/org/zstack/header/network/l3/APIAddReservedIpRangeMsg.java b/header/src/main/java/org/zstack/header/network/l3/APIAddReservedIpRangeMsg.java index 58a220528c6..5732b9b3a49 100644 --- a/header/src/main/java/org/zstack/header/network/l3/APIAddReservedIpRangeMsg.java +++ b/header/src/main/java/org/zstack/header/network/l3/APIAddReservedIpRangeMsg.java @@ -14,7 +14,7 @@ @Action(category = L3NetworkConstant.ACTION_CATEGORY) @RestRequest( path = "/l3-networks/{l3NetworkUuid}/reserved-ip-ranges", - method = HttpMethod.POST, + method = "POST", responseClass = APIAddReservedIpRangeEvent.class, parameterName = "params" ) diff --git a/header/src/main/java/org/zstack/header/network/l3/APIChangeL3NetworkStateMsg.java b/header/src/main/java/org/zstack/header/network/l3/APIChangeL3NetworkStateMsg.java index 98b56a518f8..0a68aa39a61 100755 --- a/header/src/main/java/org/zstack/header/network/l3/APIChangeL3NetworkStateMsg.java +++ b/header/src/main/java/org/zstack/header/network/l3/APIChangeL3NetworkStateMsg.java @@ -38,7 +38,7 @@ @Action(category = L3NetworkConstant.ACTION_CATEGORY) @RestRequest( path = "/l3-networks/{uuid}/actions", - method = HttpMethod.PUT, + method = "PUT", responseClass = APIChangeL3NetworkStateEvent.class, isAction = true ) diff --git a/header/src/main/java/org/zstack/header/network/l3/APICheckIpAvailabilityMsg.java b/header/src/main/java/org/zstack/header/network/l3/APICheckIpAvailabilityMsg.java index 8e62b9c857c..cebdf13379b 100755 --- a/header/src/main/java/org/zstack/header/network/l3/APICheckIpAvailabilityMsg.java +++ b/header/src/main/java/org/zstack/header/network/l3/APICheckIpAvailabilityMsg.java @@ -12,7 +12,7 @@ @Action(category = L3NetworkConstant.ACTION_CATEGORY, names = {"read"}) @RestRequest( path = "/l3-networks/{l3NetworkUuid}/ip/{ip}/availability", - method = HttpMethod.GET, + method = "GET", responseClass = APICheckIpAvailabilityReply.class ) public class APICheckIpAvailabilityMsg extends APISyncCallMessage implements L3NetworkMessage { diff --git a/header/src/main/java/org/zstack/header/network/l3/APICreateL3NetworkMsg.java b/header/src/main/java/org/zstack/header/network/l3/APICreateL3NetworkMsg.java index 4e5745a1b5b..940429251cd 100755 --- a/header/src/main/java/org/zstack/header/network/l3/APICreateL3NetworkMsg.java +++ b/header/src/main/java/org/zstack/header/network/l3/APICreateL3NetworkMsg.java @@ -47,7 +47,7 @@ @Action(category = L3NetworkConstant.ACTION_CATEGORY) @RestRequest( path = "/l3-networks", - method = HttpMethod.POST, + method = "POST", responseClass = APICreateL3NetworkEvent.class, parameterName = "params" ) 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..6c997ce88de 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 @@ -13,7 +13,7 @@ @Action(category = L3NetworkConstant.ACTION_CATEGORY) @RestRequest( path = "/l3-networks/{l3NetworkUuid}/ip-address", - method = HttpMethod.DELETE, + method = "DELETE", responseClass = APIDeleteIpAddressEvent.class ) public class APIDeleteIpAddressMsg extends APIDeleteMessage implements L3NetworkMessage { diff --git a/header/src/main/java/org/zstack/header/network/l3/APIDeleteIpRangeMsg.java b/header/src/main/java/org/zstack/header/network/l3/APIDeleteIpRangeMsg.java index b1048367833..da7d9f9baaa 100755 --- a/header/src/main/java/org/zstack/header/network/l3/APIDeleteIpRangeMsg.java +++ b/header/src/main/java/org/zstack/header/network/l3/APIDeleteIpRangeMsg.java @@ -40,7 +40,7 @@ @Action(category = L3NetworkConstant.ACTION_CATEGORY) @RestRequest( path = "/l3-networks/ip-ranges/{uuid}", - method = HttpMethod.DELETE, + method = "DELETE", responseClass = APIDeleteIpRangeEvent.class ) public class APIDeleteIpRangeMsg extends APIDeleteMessage implements L3NetworkMessage, IpRangeMessage { diff --git a/header/src/main/java/org/zstack/header/network/l3/APIDeleteL3NetworkMsg.java b/header/src/main/java/org/zstack/header/network/l3/APIDeleteL3NetworkMsg.java index 34ffc477509..2c6cee555a2 100755 --- a/header/src/main/java/org/zstack/header/network/l3/APIDeleteL3NetworkMsg.java +++ b/header/src/main/java/org/zstack/header/network/l3/APIDeleteL3NetworkMsg.java @@ -39,7 +39,7 @@ @Action(category = L3NetworkConstant.ACTION_CATEGORY) @RestRequest( path = "/l3-networks/{uuid}", - method = HttpMethod.DELETE, + method = "DELETE", responseClass = APIDeleteL3NetworkEvent.class ) public class APIDeleteL3NetworkMsg extends APIDeleteMessage implements L3NetworkMessage { diff --git a/header/src/main/java/org/zstack/header/network/l3/APIDeleteReservedIpRangeMsg.java b/header/src/main/java/org/zstack/header/network/l3/APIDeleteReservedIpRangeMsg.java index 7851156b421..0cebe85525a 100644 --- a/header/src/main/java/org/zstack/header/network/l3/APIDeleteReservedIpRangeMsg.java +++ b/header/src/main/java/org/zstack/header/network/l3/APIDeleteReservedIpRangeMsg.java @@ -10,7 +10,7 @@ @Action(category = L3NetworkConstant.ACTION_CATEGORY) @RestRequest( path = "/l3-networks/reserved-ip-ranges/{uuid}", - method = HttpMethod.DELETE, + method = "DELETE", responseClass = APIDeleteReservedIpRangeEvent.class ) public class APIDeleteReservedIpRangeMsg extends APIDeleteMessage implements L3NetworkMessage, IpRangeMessage { diff --git a/header/src/main/java/org/zstack/header/network/l3/APIGetFreeIpMsg.java b/header/src/main/java/org/zstack/header/network/l3/APIGetFreeIpMsg.java index 0e1d43edf9c..cda0a44e67c 100755 --- a/header/src/main/java/org/zstack/header/network/l3/APIGetFreeIpMsg.java +++ b/header/src/main/java/org/zstack/header/network/l3/APIGetFreeIpMsg.java @@ -19,7 +19,7 @@ "/l3-networks/ip-ranges/{ipRangeUuid}/ip/free", }, responseClass = APIGetFreeIpReply.class, - method = HttpMethod.GET + method = "GET" ) @SDK( actionsMapping = { diff --git a/header/src/main/java/org/zstack/header/network/l3/APIGetIpAddressCapacityMsg.java b/header/src/main/java/org/zstack/header/network/l3/APIGetIpAddressCapacityMsg.java index 2e9e95d4e3d..6a06e829d9f 100755 --- a/header/src/main/java/org/zstack/header/network/l3/APIGetIpAddressCapacityMsg.java +++ b/header/src/main/java/org/zstack/header/network/l3/APIGetIpAddressCapacityMsg.java @@ -15,7 +15,7 @@ @Action(category = L3NetworkConstant.ACTION_CATEGORY, names = {"read"}) @RestRequest( path = "/ip-capacity", - method = HttpMethod.GET, + method = "GET", responseClass = APIGetIpAddressCapacityReply.class ) public class APIGetIpAddressCapacityMsg extends APISyncCallMessage { diff --git a/header/src/main/java/org/zstack/header/network/l3/APIGetL3NetworkMtuMsg.java b/header/src/main/java/org/zstack/header/network/l3/APIGetL3NetworkMtuMsg.java index c360addaf01..919f09a9bee 100644 --- a/header/src/main/java/org/zstack/header/network/l3/APIGetL3NetworkMtuMsg.java +++ b/header/src/main/java/org/zstack/header/network/l3/APIGetL3NetworkMtuMsg.java @@ -13,7 +13,7 @@ @Action(category = L3NetworkConstant.ACTION_CATEGORY) @RestRequest( path = "/l3-networks/{l3NetworkUuid}/mtu", - method = HttpMethod.GET, + method = "GET", responseClass = APIGetL3NetworkMtuReply.class ) public class APIGetL3NetworkMtuMsg extends APISyncCallMessage implements L3NetworkMessage { diff --git a/header/src/main/java/org/zstack/header/network/l3/APIGetL3NetworkRouterInterfaceIpMsg.java b/header/src/main/java/org/zstack/header/network/l3/APIGetL3NetworkRouterInterfaceIpMsg.java index be8857b12fa..bfc75c8f326 100644 --- a/header/src/main/java/org/zstack/header/network/l3/APIGetL3NetworkRouterInterfaceIpMsg.java +++ b/header/src/main/java/org/zstack/header/network/l3/APIGetL3NetworkRouterInterfaceIpMsg.java @@ -9,7 +9,7 @@ @Action(category = L3NetworkConstant.ACTION_CATEGORY) @RestRequest( path = "/l3-networks/{l3NetworkUuid}/router-interface-ip", - method = HttpMethod.GET, + method = "GET", responseClass = APIGetL3NetworkRouterInterfaceIpReply.class ) public class APIGetL3NetworkRouterInterfaceIpMsg extends APISyncCallMessage implements L3NetworkMessage { diff --git a/header/src/main/java/org/zstack/header/network/l3/APIGetL3NetworkTypesMsg.java b/header/src/main/java/org/zstack/header/network/l3/APIGetL3NetworkTypesMsg.java index 6506dd58cde..16fb0a7f0b3 100755 --- a/header/src/main/java/org/zstack/header/network/l3/APIGetL3NetworkTypesMsg.java +++ b/header/src/main/java/org/zstack/header/network/l3/APIGetL3NetworkTypesMsg.java @@ -14,7 +14,7 @@ @Action(category = L3NetworkConstant.ACTION_CATEGORY, names = {"read"}) @RestRequest( path = "/l3-networks/types", - method = HttpMethod.GET, + method = "GET", responseClass = APIGetL3NetworkTypesReply.class ) public class APIGetL3NetworkTypesMsg extends APISyncCallMessage { diff --git a/header/src/main/java/org/zstack/header/network/l3/APIQueryAddressPoolMsg.java b/header/src/main/java/org/zstack/header/network/l3/APIQueryAddressPoolMsg.java index f6716db5d7e..1ad5b4e150a 100644 --- a/header/src/main/java/org/zstack/header/network/l3/APIQueryAddressPoolMsg.java +++ b/header/src/main/java/org/zstack/header/network/l3/APIQueryAddressPoolMsg.java @@ -15,7 +15,7 @@ @RestRequest( path = "/l3-networks/address-pools", optionalPaths = {"/l3-networks/address-pools/{uuid}"}, - method = HttpMethod.GET, + method = "GET", responseClass = APIQueryAddressPoolReply.class ) public class APIQueryAddressPoolMsg extends APIQueryMessage { diff --git a/header/src/main/java/org/zstack/header/network/l3/APIQueryIpAddressMsg.java b/header/src/main/java/org/zstack/header/network/l3/APIQueryIpAddressMsg.java index 15dd308fd17..7ee3be4f4e2 100755 --- a/header/src/main/java/org/zstack/header/network/l3/APIQueryIpAddressMsg.java +++ b/header/src/main/java/org/zstack/header/network/l3/APIQueryIpAddressMsg.java @@ -15,7 +15,7 @@ @RestRequest( path = "/l3-networks/ip-address", optionalPaths = {"/l3-networks/ip-address/{uuid}"}, - method = HttpMethod.GET, + method = "GET", responseClass = APIQueryIpAddressReply.class ) public class APIQueryIpAddressMsg extends APIQueryMessage { diff --git a/header/src/main/java/org/zstack/header/network/l3/APIQueryIpRangeMsg.java b/header/src/main/java/org/zstack/header/network/l3/APIQueryIpRangeMsg.java index 43bf181ec0f..64f6846d271 100755 --- a/header/src/main/java/org/zstack/header/network/l3/APIQueryIpRangeMsg.java +++ b/header/src/main/java/org/zstack/header/network/l3/APIQueryIpRangeMsg.java @@ -15,7 +15,7 @@ @RestRequest( path = "/l3-networks/ip-ranges", optionalPaths = {"/l3-networks/ip-ranges/{uuid}"}, - method = HttpMethod.GET, + method = "GET", responseClass = APIQueryIpRangeReply.class ) public class APIQueryIpRangeMsg extends APIQueryMessage { diff --git a/header/src/main/java/org/zstack/header/network/l3/APIQueryL3NetworkMsg.java b/header/src/main/java/org/zstack/header/network/l3/APIQueryL3NetworkMsg.java index 0d26d712a09..b3f85271ff3 100755 --- a/header/src/main/java/org/zstack/header/network/l3/APIQueryL3NetworkMsg.java +++ b/header/src/main/java/org/zstack/header/network/l3/APIQueryL3NetworkMsg.java @@ -15,7 +15,7 @@ @RestRequest( path = "/l3-networks", optionalPaths = {"/l3-networks/{uuid}"}, - method = HttpMethod.GET, + method = "GET", responseClass = APIQueryL3NetworkReply.class ) public class APIQueryL3NetworkMsg extends APIQueryMessage { diff --git a/header/src/main/java/org/zstack/header/network/l3/APIRemoveDnsFromL3NetworkMsg.java b/header/src/main/java/org/zstack/header/network/l3/APIRemoveDnsFromL3NetworkMsg.java index 23f4e16a2af..f8abb9b9de9 100755 --- a/header/src/main/java/org/zstack/header/network/l3/APIRemoveDnsFromL3NetworkMsg.java +++ b/header/src/main/java/org/zstack/header/network/l3/APIRemoveDnsFromL3NetworkMsg.java @@ -38,7 +38,7 @@ @Action(category = L3NetworkConstant.ACTION_CATEGORY) @RestRequest( path = "/l3-networks/{l3NetworkUuid}/dns/{dns}", - method = HttpMethod.DELETE, + method = "DELETE", responseClass = APIRemoveDnsFromL3NetworkEvent.class ) public class APIRemoveDnsFromL3NetworkMsg extends APIMessage implements L3NetworkMessage { diff --git a/header/src/main/java/org/zstack/header/network/l3/APIRemoveHostRouteFromL3NetworkMsg.java b/header/src/main/java/org/zstack/header/network/l3/APIRemoveHostRouteFromL3NetworkMsg.java index 45f2340c27d..bbaee415ce2 100755 --- a/header/src/main/java/org/zstack/header/network/l3/APIRemoveHostRouteFromL3NetworkMsg.java +++ b/header/src/main/java/org/zstack/header/network/l3/APIRemoveHostRouteFromL3NetworkMsg.java @@ -12,7 +12,7 @@ @Action(category = L3NetworkConstant.ACTION_CATEGORY) @RestRequest( path = "/l3-networks/{l3NetworkUuid}/hostroute", - method = HttpMethod.DELETE, + method = "DELETE", responseClass = APIRemoveHostRouteFromL3NetworkEvent.class ) public class APIRemoveHostRouteFromL3NetworkMsg extends APIMessage implements L3NetworkMessage { diff --git a/header/src/main/java/org/zstack/header/network/l3/APISetL3NetworkMtuMsg.java b/header/src/main/java/org/zstack/header/network/l3/APISetL3NetworkMtuMsg.java index 181fba14188..93a800f9f14 100644 --- a/header/src/main/java/org/zstack/header/network/l3/APISetL3NetworkMtuMsg.java +++ b/header/src/main/java/org/zstack/header/network/l3/APISetL3NetworkMtuMsg.java @@ -13,7 +13,7 @@ @Action(category = L3NetworkConstant.ACTION_CATEGORY) @RestRequest( path = "/l3-networks/{l3NetworkUuid}/mtu", - method = HttpMethod.POST, + method = "POST", responseClass = APISetL3NetworkMtuEvent.class, parameterName = "params" ) diff --git a/header/src/main/java/org/zstack/header/network/l3/APISetL3NetworkRouterInterfaceIpMsg.java b/header/src/main/java/org/zstack/header/network/l3/APISetL3NetworkRouterInterfaceIpMsg.java index 491c6433212..412561a947f 100644 --- a/header/src/main/java/org/zstack/header/network/l3/APISetL3NetworkRouterInterfaceIpMsg.java +++ b/header/src/main/java/org/zstack/header/network/l3/APISetL3NetworkRouterInterfaceIpMsg.java @@ -10,7 +10,7 @@ @Action(category = L3NetworkConstant.ACTION_CATEGORY) @RestRequest( path = "/l3-networks/{l3NetworkUuid}/router-interface-ip", - method = HttpMethod.POST, + method = "POST", responseClass = APISetL3NetworkRouterInterfaceIpEvent.class, parameterName = "params" ) diff --git a/header/src/main/java/org/zstack/header/network/l3/APIUpdateIpRangeMsg.java b/header/src/main/java/org/zstack/header/network/l3/APIUpdateIpRangeMsg.java index 677a17acebe..1887e764f49 100755 --- a/header/src/main/java/org/zstack/header/network/l3/APIUpdateIpRangeMsg.java +++ b/header/src/main/java/org/zstack/header/network/l3/APIUpdateIpRangeMsg.java @@ -15,7 +15,7 @@ @RestRequest( path = "/l3-networks/ip-ranges/{uuid}/actions", isAction = true, - method = HttpMethod.PUT, + method = "PUT", responseClass = APIUpdateIpRangeEvent.class ) public class APIUpdateIpRangeMsg extends APIMessage implements L3NetworkMessage, IpRangeMessage { diff --git a/header/src/main/java/org/zstack/header/network/l3/APIUpdateL3NetworkMsg.java b/header/src/main/java/org/zstack/header/network/l3/APIUpdateL3NetworkMsg.java index d5cce80e211..a489b58dd74 100755 --- a/header/src/main/java/org/zstack/header/network/l3/APIUpdateL3NetworkMsg.java +++ b/header/src/main/java/org/zstack/header/network/l3/APIUpdateL3NetworkMsg.java @@ -14,7 +14,7 @@ @RestRequest( path = "/l3-networks/{uuid}/actions", isAction = true, - method = HttpMethod.PUT, + method = "PUT", responseClass = APIUpdateL3NetworkEvent.class ) public class APIUpdateL3NetworkMsg extends APIMessage implements L3NetworkMessage { diff --git a/header/src/main/java/org/zstack/header/network/l3/AddressPoolVO.java b/header/src/main/java/org/zstack/header/network/l3/AddressPoolVO.java index 5a2d927ffed..57e5b17ef6d 100644 --- a/header/src/main/java/org/zstack/header/network/l3/AddressPoolVO.java +++ b/header/src/main/java/org/zstack/header/network/l3/AddressPoolVO.java @@ -3,9 +3,9 @@ import org.zstack.header.tag.AutoDeleteTag; import org.zstack.header.vo.EO; -import javax.persistence.Entity; -import javax.persistence.PrimaryKeyJoinColumn; -import javax.persistence.Table; +import jakarta.persistence.Entity; +import jakarta.persistence.PrimaryKeyJoinColumn; +import jakarta.persistence.Table; @Entity @Table diff --git a/header/src/main/java/org/zstack/header/network/l3/AddressPoolVO_.java b/header/src/main/java/org/zstack/header/network/l3/AddressPoolVO_.java index 65ff07992bb..23fb534af2f 100644 --- a/header/src/main/java/org/zstack/header/network/l3/AddressPoolVO_.java +++ b/header/src/main/java/org/zstack/header/network/l3/AddressPoolVO_.java @@ -1,6 +1,6 @@ package org.zstack.header.network.l3; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.StaticMetamodel; @StaticMetamodel(AddressPoolVO.class) public class AddressPoolVO_ extends IpRangeAO_ { diff --git a/header/src/main/java/org/zstack/header/network/l3/IpRangeAO.java b/header/src/main/java/org/zstack/header/network/l3/IpRangeAO.java index 9726638ea8c..a6246aec939 100755 --- a/header/src/main/java/org/zstack/header/network/l3/IpRangeAO.java +++ b/header/src/main/java/org/zstack/header/network/l3/IpRangeAO.java @@ -8,10 +8,10 @@ import org.zstack.utils.network.IPv6Constants; import org.zstack.utils.network.NetworkUtils; -import javax.persistence.Column; -import javax.persistence.Id; -import javax.persistence.MappedSuperclass; -import javax.persistence.PreUpdate; +import jakarta.persistence.Column; +import jakarta.persistence.Id; +import jakarta.persistence.MappedSuperclass; +import jakarta.persistence.PreUpdate; import java.sql.Timestamp; @MappedSuperclass diff --git a/header/src/main/java/org/zstack/header/network/l3/IpRangeAO_.java b/header/src/main/java/org/zstack/header/network/l3/IpRangeAO_.java index 0a168a4f89a..0385f79b66d 100755 --- a/header/src/main/java/org/zstack/header/network/l3/IpRangeAO_.java +++ b/header/src/main/java/org/zstack/header/network/l3/IpRangeAO_.java @@ -2,8 +2,8 @@ import org.zstack.header.vo.ResourceVO_; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; @StaticMetamodel(IpRangeAO.class) diff --git a/header/src/main/java/org/zstack/header/network/l3/IpRangeEO.java b/header/src/main/java/org/zstack/header/network/l3/IpRangeEO.java index d96ad2dcf1e..5dcc6d3ded6 100755 --- a/header/src/main/java/org/zstack/header/network/l3/IpRangeEO.java +++ b/header/src/main/java/org/zstack/header/network/l3/IpRangeEO.java @@ -1,8 +1,8 @@ package org.zstack.header.network.l3; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.Table; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.Table; /** */ diff --git a/header/src/main/java/org/zstack/header/network/l3/IpRangeVO.java b/header/src/main/java/org/zstack/header/network/l3/IpRangeVO.java index 06d04bb02cd..ad530928b86 100644 --- a/header/src/main/java/org/zstack/header/network/l3/IpRangeVO.java +++ b/header/src/main/java/org/zstack/header/network/l3/IpRangeVO.java @@ -6,9 +6,9 @@ import org.zstack.header.vo.EntityGraph; import org.zstack.utils.network.NetworkUtils; -import javax.persistence.Entity; -import javax.persistence.Table; -import javax.persistence.Transient; +import jakarta.persistence.Entity; +import jakarta.persistence.Table; +import jakarta.persistence.Transient; @Entity @Table diff --git a/header/src/main/java/org/zstack/header/network/l3/IpRangeVO_.java b/header/src/main/java/org/zstack/header/network/l3/IpRangeVO_.java index 1efd6928255..75d153c1380 100644 --- a/header/src/main/java/org/zstack/header/network/l3/IpRangeVO_.java +++ b/header/src/main/java/org/zstack/header/network/l3/IpRangeVO_.java @@ -1,6 +1,6 @@ package org.zstack.header.network.l3; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.StaticMetamodel; @StaticMetamodel(IpRangeVO.class) public class IpRangeVO_ extends IpRangeAO_ { diff --git a/header/src/main/java/org/zstack/header/network/l3/IpUseVO.java b/header/src/main/java/org/zstack/header/network/l3/IpUseVO.java index 94014510d9b..d9528ee89af 100755 --- a/header/src/main/java/org/zstack/header/network/l3/IpUseVO.java +++ b/header/src/main/java/org/zstack/header/network/l3/IpUseVO.java @@ -1,6 +1,6 @@ package org.zstack.header.network.l3; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; @Entity diff --git a/header/src/main/java/org/zstack/header/network/l3/IpUseVO_.java b/header/src/main/java/org/zstack/header/network/l3/IpUseVO_.java index bbfb28948ba..43fafd5b120 100755 --- a/header/src/main/java/org/zstack/header/network/l3/IpUseVO_.java +++ b/header/src/main/java/org/zstack/header/network/l3/IpUseVO_.java @@ -1,7 +1,7 @@ package org.zstack.header.network.l3; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; @StaticMetamodel(IpUseVO.class) diff --git a/header/src/main/java/org/zstack/header/network/l3/L3NetworkAO.java b/header/src/main/java/org/zstack/header/network/l3/L3NetworkAO.java index 52050b4ddd9..c234b8a1ddc 100755 --- a/header/src/main/java/org/zstack/header/network/l3/L3NetworkAO.java +++ b/header/src/main/java/org/zstack/header/network/l3/L3NetworkAO.java @@ -7,7 +7,7 @@ import org.zstack.header.vo.ResourceVO; import org.zstack.header.zone.ZoneEO; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; @MappedSuperclass diff --git a/header/src/main/java/org/zstack/header/network/l3/L3NetworkAO_.java b/header/src/main/java/org/zstack/header/network/l3/L3NetworkAO_.java index 8268dc4fe3a..1932851a0de 100755 --- a/header/src/main/java/org/zstack/header/network/l3/L3NetworkAO_.java +++ b/header/src/main/java/org/zstack/header/network/l3/L3NetworkAO_.java @@ -2,8 +2,8 @@ import org.zstack.header.vo.ResourceVO_; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; @StaticMetamodel(L3NetworkAO.class) diff --git a/header/src/main/java/org/zstack/header/network/l3/L3NetworkDnsVO.java b/header/src/main/java/org/zstack/header/network/l3/L3NetworkDnsVO.java index a263f368b4d..1e27264b6d7 100755 --- a/header/src/main/java/org/zstack/header/network/l3/L3NetworkDnsVO.java +++ b/header/src/main/java/org/zstack/header/network/l3/L3NetworkDnsVO.java @@ -4,7 +4,7 @@ import org.zstack.header.vo.ForeignKey; import org.zstack.header.vo.ForeignKey.ReferenceOption; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; @Entity diff --git a/header/src/main/java/org/zstack/header/network/l3/L3NetworkDnsVO_.java b/header/src/main/java/org/zstack/header/network/l3/L3NetworkDnsVO_.java index 7b31d5c858a..a85f5ebcd10 100755 --- a/header/src/main/java/org/zstack/header/network/l3/L3NetworkDnsVO_.java +++ b/header/src/main/java/org/zstack/header/network/l3/L3NetworkDnsVO_.java @@ -1,7 +1,7 @@ package org.zstack.header.network.l3; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; @StaticMetamodel(L3NetworkDnsVO.class) diff --git a/header/src/main/java/org/zstack/header/network/l3/L3NetworkEO.java b/header/src/main/java/org/zstack/header/network/l3/L3NetworkEO.java index bed9a8e11a4..e1dfb1120f2 100755 --- a/header/src/main/java/org/zstack/header/network/l3/L3NetworkEO.java +++ b/header/src/main/java/org/zstack/header/network/l3/L3NetworkEO.java @@ -1,8 +1,8 @@ package org.zstack.header.network.l3; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.Table; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.Table; /** */ diff --git a/header/src/main/java/org/zstack/header/network/l3/L3NetworkEO_.java b/header/src/main/java/org/zstack/header/network/l3/L3NetworkEO_.java index 90cdc889a4f..28d7599f42c 100755 --- a/header/src/main/java/org/zstack/header/network/l3/L3NetworkEO_.java +++ b/header/src/main/java/org/zstack/header/network/l3/L3NetworkEO_.java @@ -1,6 +1,6 @@ package org.zstack.header.network.l3; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.StaticMetamodel; @StaticMetamodel(L3NetworkEO.class) public class L3NetworkEO_ extends L3NetworkAO_ { diff --git a/header/src/main/java/org/zstack/header/network/l3/L3NetworkHostRouteVO.java b/header/src/main/java/org/zstack/header/network/l3/L3NetworkHostRouteVO.java index 186bba7487d..496d782e031 100755 --- a/header/src/main/java/org/zstack/header/network/l3/L3NetworkHostRouteVO.java +++ b/header/src/main/java/org/zstack/header/network/l3/L3NetworkHostRouteVO.java @@ -4,7 +4,7 @@ import org.zstack.header.vo.ForeignKey; import org.zstack.header.vo.ForeignKey.ReferenceOption; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; @Entity diff --git a/header/src/main/java/org/zstack/header/network/l3/L3NetworkHostRouteVO_.java b/header/src/main/java/org/zstack/header/network/l3/L3NetworkHostRouteVO_.java index cd5265670b8..816743a1ef3 100755 --- a/header/src/main/java/org/zstack/header/network/l3/L3NetworkHostRouteVO_.java +++ b/header/src/main/java/org/zstack/header/network/l3/L3NetworkHostRouteVO_.java @@ -1,7 +1,7 @@ package org.zstack.header.network.l3; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; @StaticMetamodel(L3NetworkHostRouteVO.class) 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..df5cf33974d 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 @@ -10,7 +10,7 @@ import org.zstack.header.zone.ZoneInventory; import org.zstack.utils.network.IPv6Constants; -import javax.persistence.JoinColumn; +import jakarta.persistence.JoinColumn; import java.io.Serializable; import java.sql.Timestamp; import java.util.ArrayList; diff --git a/header/src/main/java/org/zstack/header/network/l3/L3NetworkSequenceNumberVO.java b/header/src/main/java/org/zstack/header/network/l3/L3NetworkSequenceNumberVO.java index b388eebff63..91ca865b9f7 100644 --- a/header/src/main/java/org/zstack/header/network/l3/L3NetworkSequenceNumberVO.java +++ b/header/src/main/java/org/zstack/header/network/l3/L3NetworkSequenceNumberVO.java @@ -1,6 +1,6 @@ package org.zstack.header.network.l3; -import javax.persistence.*; +import jakarta.persistence.*; @Entity @Table 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..5e34b99bbcf 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 @@ -10,7 +10,7 @@ import org.zstack.header.vo.NoView; import org.zstack.header.zone.ZoneVO; -import javax.persistence.*; +import jakarta.persistence.*; import java.util.*; import java.util.stream.Collectors; 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 9ddb6a60e78..85d1e1b72f9 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 @@ -1,6 +1,6 @@ package org.zstack.header.network.l3; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.StaticMetamodel; @StaticMetamodel(L3NetworkVO.class) public class L3NetworkVO_ extends L3NetworkAO_ { diff --git a/header/src/main/java/org/zstack/header/network/l3/NormalIpRangeVO.java b/header/src/main/java/org/zstack/header/network/l3/NormalIpRangeVO.java index a4407466532..57d93ef5857 100644 --- a/header/src/main/java/org/zstack/header/network/l3/NormalIpRangeVO.java +++ b/header/src/main/java/org/zstack/header/network/l3/NormalIpRangeVO.java @@ -3,9 +3,9 @@ import org.zstack.header.tag.AutoDeleteTag; import org.zstack.header.vo.EO; -import javax.persistence.Entity; -import javax.persistence.PrimaryKeyJoinColumn; -import javax.persistence.Table; +import jakarta.persistence.Entity; +import jakarta.persistence.PrimaryKeyJoinColumn; +import jakarta.persistence.Table; @Entity @Table diff --git a/header/src/main/java/org/zstack/header/network/l3/NormalIpRangeVO_.java b/header/src/main/java/org/zstack/header/network/l3/NormalIpRangeVO_.java index a92d00e3ad3..2d9f357dad4 100644 --- a/header/src/main/java/org/zstack/header/network/l3/NormalIpRangeVO_.java +++ b/header/src/main/java/org/zstack/header/network/l3/NormalIpRangeVO_.java @@ -1,6 +1,6 @@ package org.zstack.header.network.l3; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.StaticMetamodel; @StaticMetamodel(NormalIpRangeVO.class) public class NormalIpRangeVO_ extends IpRangeVO_ { diff --git a/header/src/main/java/org/zstack/header/network/l3/ReservedIpRangeVO.java b/header/src/main/java/org/zstack/header/network/l3/ReservedIpRangeVO.java index 5d44d8ecae9..b917b62a003 100644 --- a/header/src/main/java/org/zstack/header/network/l3/ReservedIpRangeVO.java +++ b/header/src/main/java/org/zstack/header/network/l3/ReservedIpRangeVO.java @@ -8,7 +8,7 @@ import org.zstack.utils.network.IPv6Constants; import org.zstack.utils.network.NetworkUtils; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; @Entity diff --git a/header/src/main/java/org/zstack/header/network/l3/ReservedIpRangeVO_.java b/header/src/main/java/org/zstack/header/network/l3/ReservedIpRangeVO_.java index fd09ae4b023..195c432aab1 100644 --- a/header/src/main/java/org/zstack/header/network/l3/ReservedIpRangeVO_.java +++ b/header/src/main/java/org/zstack/header/network/l3/ReservedIpRangeVO_.java @@ -2,8 +2,8 @@ import org.zstack.header.vo.ResourceVO_; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; @StaticMetamodel(ReservedIpRangeVO.class) diff --git a/header/src/main/java/org/zstack/header/network/l3/UsedIpVO.java b/header/src/main/java/org/zstack/header/network/l3/UsedIpVO.java index c35346301ff..c44f6f7ceaf 100755 --- a/header/src/main/java/org/zstack/header/network/l3/UsedIpVO.java +++ b/header/src/main/java/org/zstack/header/network/l3/UsedIpVO.java @@ -6,7 +6,7 @@ import org.zstack.header.vo.ForeignKey.ReferenceOption; import org.zstack.header.vo.Index; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; @Entity diff --git a/header/src/main/java/org/zstack/header/network/l3/UsedIpVO_.java b/header/src/main/java/org/zstack/header/network/l3/UsedIpVO_.java index 4186a4a6d54..a429f9c5ae8 100755 --- a/header/src/main/java/org/zstack/header/network/l3/UsedIpVO_.java +++ b/header/src/main/java/org/zstack/header/network/l3/UsedIpVO_.java @@ -1,7 +1,7 @@ package org.zstack.header.network.l3; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; @StaticMetamodel(UsedIpVO.class) diff --git a/header/src/main/java/org/zstack/header/network/sdncontroller/SdnControllerHostRefVO.java b/header/src/main/java/org/zstack/header/network/sdncontroller/SdnControllerHostRefVO.java index 6d932d02d90..9976f8c3f1f 100644 --- a/header/src/main/java/org/zstack/header/network/sdncontroller/SdnControllerHostRefVO.java +++ b/header/src/main/java/org/zstack/header/network/sdncontroller/SdnControllerHostRefVO.java @@ -8,7 +8,7 @@ import org.zstack.header.vo.SoftDeletionCascade; import org.zstack.header.vo.SoftDeletionCascades; -import javax.persistence.*; +import jakarta.persistence.*; /** * Created by shixin.ruan on 09/30/2019. diff --git a/header/src/main/java/org/zstack/header/network/sdncontroller/SdnControllerHostRefVO_.java b/header/src/main/java/org/zstack/header/network/sdncontroller/SdnControllerHostRefVO_.java index c0348a6efdf..9b3f6d49f1a 100644 --- a/header/src/main/java/org/zstack/header/network/sdncontroller/SdnControllerHostRefVO_.java +++ b/header/src/main/java/org/zstack/header/network/sdncontroller/SdnControllerHostRefVO_.java @@ -1,7 +1,7 @@ package org.zstack.header.network.sdncontroller; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; @StaticMetamodel(SdnControllerHostRefVO.class) public class SdnControllerHostRefVO_ { diff --git a/header/src/main/java/org/zstack/header/network/sdncontroller/SdnControllerVO.java b/header/src/main/java/org/zstack/header/network/sdncontroller/SdnControllerVO.java index 8e1848d9225..d851944f0e0 100644 --- a/header/src/main/java/org/zstack/header/network/sdncontroller/SdnControllerVO.java +++ b/header/src/main/java/org/zstack/header/network/sdncontroller/SdnControllerVO.java @@ -7,7 +7,7 @@ import org.zstack.header.vo.ResourceVO; import org.zstack.header.vo.ToInventory; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; import java.util.HashSet; import java.util.Set; diff --git a/header/src/main/java/org/zstack/header/network/sdncontroller/SdnControllerVO_.java b/header/src/main/java/org/zstack/header/network/sdncontroller/SdnControllerVO_.java index 27eb3abfbcb..ecc6d432dd6 100644 --- a/header/src/main/java/org/zstack/header/network/sdncontroller/SdnControllerVO_.java +++ b/header/src/main/java/org/zstack/header/network/sdncontroller/SdnControllerVO_.java @@ -2,8 +2,8 @@ import org.zstack.header.vo.ResourceVO_; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; @StaticMetamodel(SdnControllerVO.class) 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..9d5297cf41d 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 @@ -51,7 +51,7 @@ @Action(category = L3NetworkConstant.ACTION_CATEGORY) @RestRequest( path = "/l3-networks/{l3NetworkUuid}/network-services", - method = HttpMethod.POST, + method = "POST", responseClass = APIAttachNetworkServiceToL3NetworkEvent.class, parameterName = "params" ) 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..7b2a4e329d3 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 @@ -20,7 +20,7 @@ @RestRequest( path = "/l3-networks/{l3NetworkUuid}/network-services", optionalPaths = "/l3-networks/{l3NetworkUuid}/network-services/{service}", - method = HttpMethod.DELETE, + method = "DELETE", responseClass = APIDetachNetworkServiceFromL3NetworkEvent.class ) public class APIDetachNetworkServiceFromL3NetworkMsg extends APIMessage implements L3NetworkMessage { diff --git a/header/src/main/java/org/zstack/header/network/service/APIGetNetworkServiceTypesMsg.java b/header/src/main/java/org/zstack/header/network/service/APIGetNetworkServiceTypesMsg.java index cf2eba8cd04..55ac63ca3d2 100755 --- a/header/src/main/java/org/zstack/header/network/service/APIGetNetworkServiceTypesMsg.java +++ b/header/src/main/java/org/zstack/header/network/service/APIGetNetworkServiceTypesMsg.java @@ -33,7 +33,7 @@ @Action(category = L3NetworkConstant.ACTION_CATEGORY, names = {"read"}) @RestRequest( path = "/network-services/types", - method = HttpMethod.GET, + method = "GET", responseClass = APIGetNetworkServiceTypesReply.class ) public class APIGetNetworkServiceTypesMsg extends APISyncCallMessage { diff --git a/header/src/main/java/org/zstack/header/network/service/APIQueryNetworkServiceL3NetworkRefMsg.java b/header/src/main/java/org/zstack/header/network/service/APIQueryNetworkServiceL3NetworkRefMsg.java index 0319b69517f..cbf9829a86a 100755 --- a/header/src/main/java/org/zstack/header/network/service/APIQueryNetworkServiceL3NetworkRefMsg.java +++ b/header/src/main/java/org/zstack/header/network/service/APIQueryNetworkServiceL3NetworkRefMsg.java @@ -15,7 +15,7 @@ @Action(category = L3NetworkConstant.ACTION_CATEGORY, names = {"read"}) @RestRequest( path = "/l3-networks/network-services/refs", - method = HttpMethod.GET, + method = "GET", responseClass = APIQueryNetworkServiceL3NetworkRefReply.class ) public class APIQueryNetworkServiceL3NetworkRefMsg extends APIQueryMessage { diff --git a/header/src/main/java/org/zstack/header/network/service/APIQueryNetworkServiceProviderMsg.java b/header/src/main/java/org/zstack/header/network/service/APIQueryNetworkServiceProviderMsg.java index 9ed9c547db5..f5f6e2ae341 100755 --- a/header/src/main/java/org/zstack/header/network/service/APIQueryNetworkServiceProviderMsg.java +++ b/header/src/main/java/org/zstack/header/network/service/APIQueryNetworkServiceProviderMsg.java @@ -15,7 +15,7 @@ @Action(category = L3NetworkConstant.ACTION_CATEGORY, names = {"read"}) @RestRequest( path = "/network-services/providers", - method = HttpMethod.GET, + method = "GET", responseClass = APIQueryNetworkServiceProviderReply.class ) public class APIQueryNetworkServiceProviderMsg extends APIQueryMessage { diff --git a/header/src/main/java/org/zstack/header/network/service/NetworkServiceL3NetworkRefVO.java b/header/src/main/java/org/zstack/header/network/service/NetworkServiceL3NetworkRefVO.java index 18b32b1283b..a21483b9d7b 100755 --- a/header/src/main/java/org/zstack/header/network/service/NetworkServiceL3NetworkRefVO.java +++ b/header/src/main/java/org/zstack/header/network/service/NetworkServiceL3NetworkRefVO.java @@ -10,7 +10,7 @@ import org.zstack.header.vo.SoftDeletionCascade; import org.zstack.header.vo.SoftDeletionCascades; -import javax.persistence.*; +import jakarta.persistence.*; @Entity @Table diff --git a/header/src/main/java/org/zstack/header/network/service/NetworkServiceL3NetworkRefVO_.java b/header/src/main/java/org/zstack/header/network/service/NetworkServiceL3NetworkRefVO_.java index 8c13b5ea7ef..e9ffe395409 100755 --- a/header/src/main/java/org/zstack/header/network/service/NetworkServiceL3NetworkRefVO_.java +++ b/header/src/main/java/org/zstack/header/network/service/NetworkServiceL3NetworkRefVO_.java @@ -1,7 +1,7 @@ package org.zstack.header.network.service; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; @StaticMetamodel(NetworkServiceL3NetworkRefVO.class) public class NetworkServiceL3NetworkRefVO_ { 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..462a406f06b 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 @@ -3,7 +3,7 @@ import org.zstack.header.query.Queryable; import org.zstack.header.search.Inventory; -import javax.persistence.JoinColumn; +import jakarta.persistence.JoinColumn; import java.sql.Timestamp; import java.util.*; diff --git a/header/src/main/java/org/zstack/header/network/service/NetworkServiceProviderL2NetworkRefVO.java b/header/src/main/java/org/zstack/header/network/service/NetworkServiceProviderL2NetworkRefVO.java index 146e4dc1322..00a59511084 100755 --- a/header/src/main/java/org/zstack/header/network/service/NetworkServiceProviderL2NetworkRefVO.java +++ b/header/src/main/java/org/zstack/header/network/service/NetworkServiceProviderL2NetworkRefVO.java @@ -8,7 +8,7 @@ import org.zstack.header.vo.SoftDeletionCascade; import org.zstack.header.vo.SoftDeletionCascades; -import javax.persistence.*; +import jakarta.persistence.*; @Entity @Table diff --git a/header/src/main/java/org/zstack/header/network/service/NetworkServiceProviderL2NetworkRefVO_.java b/header/src/main/java/org/zstack/header/network/service/NetworkServiceProviderL2NetworkRefVO_.java index ad820aa021f..f5a803bc2aa 100755 --- a/header/src/main/java/org/zstack/header/network/service/NetworkServiceProviderL2NetworkRefVO_.java +++ b/header/src/main/java/org/zstack/header/network/service/NetworkServiceProviderL2NetworkRefVO_.java @@ -1,7 +1,7 @@ package org.zstack.header.network.service; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; @StaticMetamodel(NetworkServiceProviderL2NetworkRefVO.class) public class NetworkServiceProviderL2NetworkRefVO_ { diff --git a/header/src/main/java/org/zstack/header/network/service/NetworkServiceProviderVO.java b/header/src/main/java/org/zstack/header/network/service/NetworkServiceProviderVO.java index 8bd5f373f62..3a5a161051f 100755 --- a/header/src/main/java/org/zstack/header/network/service/NetworkServiceProviderVO.java +++ b/header/src/main/java/org/zstack/header/network/service/NetworkServiceProviderVO.java @@ -3,7 +3,7 @@ import org.zstack.header.vo.EntityGraph; import org.zstack.header.vo.Index; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; import java.util.HashSet; import java.util.Set; diff --git a/header/src/main/java/org/zstack/header/network/service/NetworkServiceProviderVO_.java b/header/src/main/java/org/zstack/header/network/service/NetworkServiceProviderVO_.java index 2b82d9b9ad9..9e84a28a532 100755 --- a/header/src/main/java/org/zstack/header/network/service/NetworkServiceProviderVO_.java +++ b/header/src/main/java/org/zstack/header/network/service/NetworkServiceProviderVO_.java @@ -1,7 +1,7 @@ package org.zstack.header.network.service; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; @StaticMetamodel(NetworkServiceProviderVO.class) diff --git a/header/src/main/java/org/zstack/header/network/service/NetworkServiceTypeVO.java b/header/src/main/java/org/zstack/header/network/service/NetworkServiceTypeVO.java index a312f8a69b8..8c1acb4b447 100755 --- a/header/src/main/java/org/zstack/header/network/service/NetworkServiceTypeVO.java +++ b/header/src/main/java/org/zstack/header/network/service/NetworkServiceTypeVO.java @@ -4,7 +4,7 @@ import org.zstack.header.vo.ForeignKey; import org.zstack.header.vo.ForeignKey.ReferenceOption; -import javax.persistence.*; +import jakarta.persistence.*; @Entity @Table diff --git a/header/src/main/java/org/zstack/header/network/service/NetworkServiceTypeVO_.java b/header/src/main/java/org/zstack/header/network/service/NetworkServiceTypeVO_.java index 05c044b9275..d2e97dd68f2 100755 --- a/header/src/main/java/org/zstack/header/network/service/NetworkServiceTypeVO_.java +++ b/header/src/main/java/org/zstack/header/network/service/NetworkServiceTypeVO_.java @@ -1,7 +1,7 @@ package org.zstack.header.network.service; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; @StaticMetamodel(NetworkServiceTypeVO.class) public class NetworkServiceTypeVO_ { diff --git a/header/src/main/java/org/zstack/header/query/Queryable.java b/header/src/main/java/org/zstack/header/query/Queryable.java index b2d4fc78198..8c78bf34446 100755 --- a/header/src/main/java/org/zstack/header/query/Queryable.java +++ b/header/src/main/java/org/zstack/header/query/Queryable.java @@ -1,6 +1,6 @@ package org.zstack.header.query; -import javax.persistence.JoinColumn; +import jakarta.persistence.JoinColumn; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; diff --git a/header/src/main/java/org/zstack/header/rest/RESTFacade.java b/header/src/main/java/org/zstack/header/rest/RESTFacade.java index e9d3120f9d6..98434baa2c5 100755 --- a/header/src/main/java/org/zstack/header/rest/RESTFacade.java +++ b/header/src/main/java/org/zstack/header/rest/RESTFacade.java @@ -1,7 +1,12 @@ package org.zstack.header.rest; -import org.apache.http.conn.ssl.NoopHostnameVerifier; -import org.apache.http.impl.client.HttpClients; +import org.apache.hc.client5.http.impl.classic.HttpClients; +import org.apache.hc.client5.http.impl.io.PoolingHttpClientConnectionManagerBuilder; +import org.apache.hc.client5.http.io.HttpClientConnectionManager; +import org.apache.hc.client5.http.ssl.NoopHostnameVerifier; +import org.apache.hc.client5.http.ssl.SSLConnectionSocketFactoryBuilder; +import org.apache.hc.client5.http.config.RequestConfig; +import org.apache.hc.core5.util.Timeout; import org.springframework.http.HttpEntity; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpMethod; @@ -13,7 +18,7 @@ import org.zstack.header.core.Completion; import javax.net.ssl.SSLContext; -import javax.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletRequest; import java.nio.charset.StandardCharsets; import java.util.List; import java.util.Map; @@ -111,20 +116,30 @@ static void setMessageConverter(List> converters) { // timeout are in milliseconds static TimeoutRestTemplate createRestTemplate(int readTimeout, int connectTimeout) { - HttpComponentsClientHttpRequestFactory factory = new TimeoutHttpComponentsClientHttpRequestFactory(); - factory.setReadTimeout(readTimeout); - factory.setConnectTimeout(connectTimeout); - factory.setConnectionRequestTimeout(connectTimeout * 2); + RequestConfig requestConfig = RequestConfig.custom() + .setResponseTimeout(Timeout.ofMilliseconds(readTimeout)) + .setConnectionRequestTimeout(Timeout.ofMilliseconds(connectTimeout * 2)) + .build(); SSLContext sslContext = DefaultSSLVerifier.getSSLContext(DefaultSSLVerifier.trustAllCerts); + var httpClientBuilder = HttpClients.custom() + .setDefaultRequestConfig(requestConfig); + if (sslContext != null) { - factory.setHttpClient(HttpClients.custom() - .setSSLHostnameVerifier(new NoopHostnameVerifier()) - .setSSLContext(sslContext) - .build()); + HttpClientConnectionManager cm = PoolingHttpClientConnectionManagerBuilder.create() + .setSSLSocketFactory(SSLConnectionSocketFactoryBuilder.create() + .setSslContext(sslContext) + .setHostnameVerifier(NoopHostnameVerifier.INSTANCE) + .build()) + .build(); + httpClientBuilder.setConnectionManager(cm); } + HttpComponentsClientHttpRequestFactory factory = new TimeoutHttpComponentsClientHttpRequestFactory(); + factory.setHttpClient(httpClientBuilder.build()); + factory.setConnectTimeout(connectTimeout); + TimeoutRestTemplate template = new TimeoutRestTemplate(factory); setMessageConverter(template.getMessageConverters()); diff --git a/header/src/main/java/org/zstack/header/rest/RestAPIVO.java b/header/src/main/java/org/zstack/header/rest/RestAPIVO.java index 2edc83ebfdd..9d644182763 100755 --- a/header/src/main/java/org/zstack/header/rest/RestAPIVO.java +++ b/header/src/main/java/org/zstack/header/rest/RestAPIVO.java @@ -1,6 +1,6 @@ package org.zstack.header.rest; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; @Entity diff --git a/header/src/main/java/org/zstack/header/rest/RestAPIVO_.java b/header/src/main/java/org/zstack/header/rest/RestAPIVO_.java index aeb30ffa84a..73e40b3fbed 100755 --- a/header/src/main/java/org/zstack/header/rest/RestAPIVO_.java +++ b/header/src/main/java/org/zstack/header/rest/RestAPIVO_.java @@ -1,7 +1,7 @@ package org.zstack.header.rest; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; @StaticMetamodel(RestAPIVO.class) diff --git a/header/src/main/java/org/zstack/header/rest/RestRequest.java b/header/src/main/java/org/zstack/header/rest/RestRequest.java index e2e062e4624..7759e291670 100755 --- a/header/src/main/java/org/zstack/header/rest/RestRequest.java +++ b/header/src/main/java/org/zstack/header/rest/RestRequest.java @@ -1,7 +1,5 @@ package org.zstack.header.rest; -import org.springframework.http.HttpMethod; - import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; @@ -15,7 +13,7 @@ public @interface RestRequest { String path(); String[] optionalPaths() default {}; - HttpMethod method(); + String method(); boolean isAction() default false; String parameterName() default RESTConstant.DEFAULT_PARAMETER_NAME; String[] mappingFields() default {}; diff --git a/header/src/main/java/org/zstack/header/rest/TimeoutHttpComponentsClientHttpRequestFactory.java b/header/src/main/java/org/zstack/header/rest/TimeoutHttpComponentsClientHttpRequestFactory.java index bccf4520d5e..e4def0ecf4a 100644 --- a/header/src/main/java/org/zstack/header/rest/TimeoutHttpComponentsClientHttpRequestFactory.java +++ b/header/src/main/java/org/zstack/header/rest/TimeoutHttpComponentsClientHttpRequestFactory.java @@ -1,14 +1,16 @@ package org.zstack.header.rest; -import org.apache.http.client.config.RequestConfig; -import org.apache.http.protocol.HttpContext; +import org.apache.hc.client5.http.config.RequestConfig; +import org.apache.hc.core5.util.Timeout; import org.springframework.http.HttpMethod; import org.springframework.http.client.ClientHttpRequest; import org.springframework.http.client.HttpComponentsClientHttpRequestFactory; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; + import java.io.IOException; import java.lang.reflect.Field; +import java.lang.reflect.Method; import java.net.URI; /** @@ -17,7 +19,7 @@ public class TimeoutHttpComponentsClientHttpRequestFactory extends HttpComponentsClientHttpRequestFactory { private static final CLogger logger = Utils.getLogger(TimeoutHttpComponentsClientHttpRequestFactory.class); - private static final ThreadLocal timeoutConfig = new ThreadLocal(); + private static final ThreadLocal timeoutConfig = new ThreadLocal<>(); @Override public ClientHttpRequest createRequest(URI uri, HttpMethod httpMethod) throws IOException { @@ -31,20 +33,20 @@ public ClientHttpRequest createRequest(URI uri, HttpMethod httpMethod) throws IO timeoutConfig.remove(); try { - Field httpContextField = request.getClass().getDeclaredField("httpContext"); - httpContextField.setAccessible(true); - HttpContext httpContext = (HttpContext) httpContextField.get(request); - RequestConfig requestConfig = (RequestConfig) httpContext.getAttribute("http.request-config"); - - Field connectTimeoutField = requestConfig.getClass().getDeclaredField("connectTimeout"); - connectTimeoutField.setAccessible(true); - connectTimeoutField.set(requestConfig, config.connectTimeout); - Field socketTimeoutField = requestConfig.getClass().getDeclaredField("socketTimeout"); - socketTimeoutField.setAccessible(true); - socketTimeoutField.set(requestConfig, config.readTimeout); - + // HC5: set per-request config via reflection on the underlying HttpUriRequestBase + Field httpRequestField = request.getClass().getDeclaredField("httpRequest"); + httpRequestField.setAccessible(true); + Object httpRequest = httpRequestField.get(request); + + RequestConfig requestConfig = RequestConfig.custom() + .setResponseTimeout(Timeout.ofMilliseconds(config.readTimeout)) + .setConnectionRequestTimeout(Timeout.ofMilliseconds(config.connectTimeout)) + .build(); + + Method setConfigMethod = httpRequest.getClass().getMethod("setConfig", RequestConfig.class); + setConfigMethod.invoke(httpRequest, requestConfig); }catch (Throwable t){ - throw new IOException(t.getCause()); + logger.warn(String.format("failed to set per-request timeout config: %s", t.getMessage())); } return request; @@ -80,6 +82,3 @@ public TimeoutConfig(long connectTimeout, long readTimeout) { } } } - - - diff --git a/header/src/main/java/org/zstack/header/search/DeleteVO.java b/header/src/main/java/org/zstack/header/search/DeleteVO.java index 095316aecaa..74544572668 100755 --- a/header/src/main/java/org/zstack/header/search/DeleteVO.java +++ b/header/src/main/java/org/zstack/header/search/DeleteVO.java @@ -1,6 +1,6 @@ package org.zstack.header.search; -import javax.persistence.*; +import jakarta.persistence.*; import java.util.Date; @Entity diff --git a/header/src/main/java/org/zstack/header/search/DeleteVO_.java b/header/src/main/java/org/zstack/header/search/DeleteVO_.java index 9c4634420ed..1fa7294edcd 100755 --- a/header/src/main/java/org/zstack/header/search/DeleteVO_.java +++ b/header/src/main/java/org/zstack/header/search/DeleteVO_.java @@ -1,7 +1,7 @@ package org.zstack.header.search; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.util.Date; @StaticMetamodel(DeleteVO.class) diff --git a/header/src/main/java/org/zstack/header/search/InsertVO.java b/header/src/main/java/org/zstack/header/search/InsertVO.java index d748bd15d8a..fa841c2e5a5 100755 --- a/header/src/main/java/org/zstack/header/search/InsertVO.java +++ b/header/src/main/java/org/zstack/header/search/InsertVO.java @@ -1,6 +1,6 @@ package org.zstack.header.search; -import javax.persistence.*; +import jakarta.persistence.*; import java.util.Date; @Entity diff --git a/header/src/main/java/org/zstack/header/search/InsertVO_.java b/header/src/main/java/org/zstack/header/search/InsertVO_.java index 51daacedb00..d79c639a191 100755 --- a/header/src/main/java/org/zstack/header/search/InsertVO_.java +++ b/header/src/main/java/org/zstack/header/search/InsertVO_.java @@ -1,7 +1,7 @@ package org.zstack.header.search; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.util.Date; @StaticMetamodel(InsertVO.class) diff --git a/header/src/main/java/org/zstack/header/search/UpdateVO.java b/header/src/main/java/org/zstack/header/search/UpdateVO.java index 70224f42432..c8101f32091 100755 --- a/header/src/main/java/org/zstack/header/search/UpdateVO.java +++ b/header/src/main/java/org/zstack/header/search/UpdateVO.java @@ -1,6 +1,6 @@ package org.zstack.header.search; -import javax.persistence.*; +import jakarta.persistence.*; import java.util.Date; @Entity diff --git a/header/src/main/java/org/zstack/header/search/UpdateVO_.java b/header/src/main/java/org/zstack/header/search/UpdateVO_.java index 1df69e868f1..3dfe87e1b8b 100755 --- a/header/src/main/java/org/zstack/header/search/UpdateVO_.java +++ b/header/src/main/java/org/zstack/header/search/UpdateVO_.java @@ -1,7 +1,7 @@ package org.zstack.header.search; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.util.Date; @StaticMetamodel(UpdateVO.class) diff --git a/header/src/main/java/org/zstack/header/storage/addon/backup/APIAddExternalBackupStorageMsg.java b/header/src/main/java/org/zstack/header/storage/addon/backup/APIAddExternalBackupStorageMsg.java index 08f50f3c1d2..f6e20cb2c46 100755 --- a/header/src/main/java/org/zstack/header/storage/addon/backup/APIAddExternalBackupStorageMsg.java +++ b/header/src/main/java/org/zstack/header/storage/addon/backup/APIAddExternalBackupStorageMsg.java @@ -8,7 +8,7 @@ @RestRequest( path = "/backup-storage/addon", - method = HttpMethod.POST, + method = "POST", responseClass = APIAddExternalBackupStorageEvent.class, parameterName = "params" ) diff --git a/header/src/main/java/org/zstack/header/storage/addon/backup/ExternalBackupStorageVO.java b/header/src/main/java/org/zstack/header/storage/addon/backup/ExternalBackupStorageVO.java index f9b05d02c4d..0c1cc9cc6bd 100755 --- a/header/src/main/java/org/zstack/header/storage/addon/backup/ExternalBackupStorageVO.java +++ b/header/src/main/java/org/zstack/header/storage/addon/backup/ExternalBackupStorageVO.java @@ -2,7 +2,7 @@ import org.zstack.header.storage.backup.BackupStorageVO; -import javax.persistence.Column; +import jakarta.persistence.Column; /* @Entity diff --git a/header/src/main/java/org/zstack/header/storage/addon/backup/ExternalBackupStorageVO_.java b/header/src/main/java/org/zstack/header/storage/addon/backup/ExternalBackupStorageVO_.java index 369b571bf31..1d74e8663df 100755 --- a/header/src/main/java/org/zstack/header/storage/addon/backup/ExternalBackupStorageVO_.java +++ b/header/src/main/java/org/zstack/header/storage/addon/backup/ExternalBackupStorageVO_.java @@ -2,8 +2,8 @@ import org.zstack.header.storage.backup.BackupStorageVO_; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; @StaticMetamodel(ExternalBackupStorageVO.class) public class ExternalBackupStorageVO_ extends BackupStorageVO_ { diff --git a/header/src/main/java/org/zstack/header/storage/addon/primary/APIAddExternalPrimaryStorageMsg.java b/header/src/main/java/org/zstack/header/storage/addon/primary/APIAddExternalPrimaryStorageMsg.java index d791846f10d..23d94d4c61e 100644 --- a/header/src/main/java/org/zstack/header/storage/addon/primary/APIAddExternalPrimaryStorageMsg.java +++ b/header/src/main/java/org/zstack/header/storage/addon/primary/APIAddExternalPrimaryStorageMsg.java @@ -9,7 +9,7 @@ @RestRequest( path = "/primary-storage/addon", - method = HttpMethod.POST, + method = "POST", responseClass = APIAddPrimaryStorageEvent.class, parameterName = "params" ) diff --git a/header/src/main/java/org/zstack/header/storage/addon/primary/APIDiscoverExternalPrimaryStorageMsg.java b/header/src/main/java/org/zstack/header/storage/addon/primary/APIDiscoverExternalPrimaryStorageMsg.java index 62a894a2fff..79e885ccbd9 100644 --- a/header/src/main/java/org/zstack/header/storage/addon/primary/APIDiscoverExternalPrimaryStorageMsg.java +++ b/header/src/main/java/org/zstack/header/storage/addon/primary/APIDiscoverExternalPrimaryStorageMsg.java @@ -8,7 +8,7 @@ @RestRequest( path = "/primary-storage/addon/discover", - method = HttpMethod.POST, + method = "POST", responseClass = APIDiscoverExternalPrimaryStorageEvent.class, parameterName = "params" ) diff --git a/header/src/main/java/org/zstack/header/storage/addon/primary/APIUpdateExternalPrimaryStorageMsg.java b/header/src/main/java/org/zstack/header/storage/addon/primary/APIUpdateExternalPrimaryStorageMsg.java index 84a202d3879..177f9fd5217 100644 --- a/header/src/main/java/org/zstack/header/storage/addon/primary/APIUpdateExternalPrimaryStorageMsg.java +++ b/header/src/main/java/org/zstack/header/storage/addon/primary/APIUpdateExternalPrimaryStorageMsg.java @@ -9,7 +9,7 @@ @RestRequest( path = "/primary-storage/addon/{uuid}/actions", isAction = true, - method = HttpMethod.PUT, + method = "PUT", responseClass = APIUpdateExternalPrimaryStorageEvent.class ) public class APIUpdateExternalPrimaryStorageMsg extends APIUpdatePrimaryStorageMsg implements PrimaryStorageMessage { diff --git a/header/src/main/java/org/zstack/header/storage/addon/primary/ExternalPrimaryStorageHostRefVO.java b/header/src/main/java/org/zstack/header/storage/addon/primary/ExternalPrimaryStorageHostRefVO.java index 035f89b1ff2..154536b96eb 100644 --- a/header/src/main/java/org/zstack/header/storage/addon/primary/ExternalPrimaryStorageHostRefVO.java +++ b/header/src/main/java/org/zstack/header/storage/addon/primary/ExternalPrimaryStorageHostRefVO.java @@ -2,10 +2,10 @@ import org.zstack.header.storage.primary.PrimaryStorageHostRefVO; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.PrimaryKeyJoinColumn; -import javax.persistence.Table; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.PrimaryKeyJoinColumn; +import jakarta.persistence.Table; @Entity @Table diff --git a/header/src/main/java/org/zstack/header/storage/addon/primary/ExternalPrimaryStorageHostRefVO_.java b/header/src/main/java/org/zstack/header/storage/addon/primary/ExternalPrimaryStorageHostRefVO_.java index 0701135df99..bb632ba981a 100644 --- a/header/src/main/java/org/zstack/header/storage/addon/primary/ExternalPrimaryStorageHostRefVO_.java +++ b/header/src/main/java/org/zstack/header/storage/addon/primary/ExternalPrimaryStorageHostRefVO_.java @@ -2,8 +2,8 @@ import org.zstack.header.storage.primary.PrimaryStorageHostRefVO_; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; @StaticMetamodel(ExternalPrimaryStorageHostRefVO.class) public class ExternalPrimaryStorageHostRefVO_ extends PrimaryStorageHostRefVO_ { diff --git a/header/src/main/java/org/zstack/header/storage/addon/primary/ExternalPrimaryStorageSpaceInventory.java b/header/src/main/java/org/zstack/header/storage/addon/primary/ExternalPrimaryStorageSpaceInventory.java index c6236d14fae..ab683c4c99a 100644 --- a/header/src/main/java/org/zstack/header/storage/addon/primary/ExternalPrimaryStorageSpaceInventory.java +++ b/header/src/main/java/org/zstack/header/storage/addon/primary/ExternalPrimaryStorageSpaceInventory.java @@ -2,7 +2,7 @@ import org.zstack.header.search.Inventory; -import javax.persistence.*; +import jakarta.persistence.*; import java.io.Serializable; import java.sql.Timestamp; import java.util.Collection; diff --git a/header/src/main/java/org/zstack/header/storage/addon/primary/ExternalPrimaryStorageSpaceVO.java b/header/src/main/java/org/zstack/header/storage/addon/primary/ExternalPrimaryStorageSpaceVO.java index 59473955b8f..a1c7792ebfb 100644 --- a/header/src/main/java/org/zstack/header/storage/addon/primary/ExternalPrimaryStorageSpaceVO.java +++ b/header/src/main/java/org/zstack/header/storage/addon/primary/ExternalPrimaryStorageSpaceVO.java @@ -4,7 +4,7 @@ import org.zstack.header.vo.ForeignKey; import org.zstack.header.vo.ToInventory; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; @Entity diff --git a/header/src/main/java/org/zstack/header/storage/addon/primary/ExternalPrimaryStorageSpaceVO_.java b/header/src/main/java/org/zstack/header/storage/addon/primary/ExternalPrimaryStorageSpaceVO_.java index a09a94b389e..38d7d07f323 100644 --- a/header/src/main/java/org/zstack/header/storage/addon/primary/ExternalPrimaryStorageSpaceVO_.java +++ b/header/src/main/java/org/zstack/header/storage/addon/primary/ExternalPrimaryStorageSpaceVO_.java @@ -1,8 +1,8 @@ package org.zstack.header.storage.addon.primary; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; @StaticMetamodel(ExternalPrimaryStorageSpaceVO.class) public class ExternalPrimaryStorageSpaceVO_ { diff --git a/header/src/main/java/org/zstack/header/storage/addon/primary/ExternalPrimaryStorageVO.java b/header/src/main/java/org/zstack/header/storage/addon/primary/ExternalPrimaryStorageVO.java index 1977210226f..cb7d716f301 100644 --- a/header/src/main/java/org/zstack/header/storage/addon/primary/ExternalPrimaryStorageVO.java +++ b/header/src/main/java/org/zstack/header/storage/addon/primary/ExternalPrimaryStorageVO.java @@ -6,7 +6,7 @@ import org.zstack.header.vo.EO; import org.zstack.header.vo.ToInventory; -import javax.persistence.*; +import jakarta.persistence.*; import java.util.HashSet; import java.util.Set; diff --git a/header/src/main/java/org/zstack/header/storage/addon/primary/ExternalPrimaryStorageVO_.java b/header/src/main/java/org/zstack/header/storage/addon/primary/ExternalPrimaryStorageVO_.java index 52b1946405c..8a2680eeaa0 100644 --- a/header/src/main/java/org/zstack/header/storage/addon/primary/ExternalPrimaryStorageVO_.java +++ b/header/src/main/java/org/zstack/header/storage/addon/primary/ExternalPrimaryStorageVO_.java @@ -2,8 +2,8 @@ import org.zstack.header.storage.primary.PrimaryStorageVO_; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; @StaticMetamodel(ExternalPrimaryStorageVO.class) public class ExternalPrimaryStorageVO_ extends PrimaryStorageVO_ { diff --git a/header/src/main/java/org/zstack/header/storage/addon/primary/PrimaryStorageOutputProtocolRefVO.java b/header/src/main/java/org/zstack/header/storage/addon/primary/PrimaryStorageOutputProtocolRefVO.java index 9ff0c16e99e..8d4e9f77e59 100644 --- a/header/src/main/java/org/zstack/header/storage/addon/primary/PrimaryStorageOutputProtocolRefVO.java +++ b/header/src/main/java/org/zstack/header/storage/addon/primary/PrimaryStorageOutputProtocolRefVO.java @@ -2,10 +2,10 @@ import org.zstack.header.vo.EntityGraph; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.Id; -import javax.persistence.Table; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.Id; +import jakarta.persistence.Table; @Entity @Table diff --git a/header/src/main/java/org/zstack/header/storage/addon/primary/PrimaryStorageOutputProtocolRefVO_.java b/header/src/main/java/org/zstack/header/storage/addon/primary/PrimaryStorageOutputProtocolRefVO_.java index 86e3e706609..d72c4ee6f22 100644 --- a/header/src/main/java/org/zstack/header/storage/addon/primary/PrimaryStorageOutputProtocolRefVO_.java +++ b/header/src/main/java/org/zstack/header/storage/addon/primary/PrimaryStorageOutputProtocolRefVO_.java @@ -1,7 +1,7 @@ package org.zstack.header.storage.addon.primary; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; @StaticMetamodel(PrimaryStorageOutputProtocolRefVO.class) public class PrimaryStorageOutputProtocolRefVO_ { diff --git a/header/src/main/java/org/zstack/header/storage/backup/APIAttachBackupStorageToZoneMsg.java b/header/src/main/java/org/zstack/header/storage/backup/APIAttachBackupStorageToZoneMsg.java index 029c1da5706..0fc006b87d4 100755 --- a/header/src/main/java/org/zstack/header/storage/backup/APIAttachBackupStorageToZoneMsg.java +++ b/header/src/main/java/org/zstack/header/storage/backup/APIAttachBackupStorageToZoneMsg.java @@ -36,7 +36,7 @@ */ @RestRequest( path = "/zones/{zoneUuid}/backup-storage/{backupStorageUuid}", - method = HttpMethod.POST, + method = "POST", parameterName = "params", responseClass = APIAttachBackupStorageToZoneEvent.class ) diff --git a/header/src/main/java/org/zstack/header/storage/backup/APIChangeBackupStorageStateMsg.java b/header/src/main/java/org/zstack/header/storage/backup/APIChangeBackupStorageStateMsg.java index 3c270ab6197..62690d732c3 100755 --- a/header/src/main/java/org/zstack/header/storage/backup/APIChangeBackupStorageStateMsg.java +++ b/header/src/main/java/org/zstack/header/storage/backup/APIChangeBackupStorageStateMsg.java @@ -37,7 +37,7 @@ path = "/backup-storage/{uuid}/actions", isAction = true, responseClass = APIChangeBackupStorageStateEvent.class, - method = HttpMethod.PUT + method = "PUT" ) public class APIChangeBackupStorageStateMsg extends APIMessage implements BackupStorageMessage { /** diff --git a/header/src/main/java/org/zstack/header/storage/backup/APICleanUpTrashOnBackupStorageMsg.java b/header/src/main/java/org/zstack/header/storage/backup/APICleanUpTrashOnBackupStorageMsg.java index afa4b935cfa..6fdbd1059b1 100644 --- a/header/src/main/java/org/zstack/header/storage/backup/APICleanUpTrashOnBackupStorageMsg.java +++ b/header/src/main/java/org/zstack/header/storage/backup/APICleanUpTrashOnBackupStorageMsg.java @@ -15,7 +15,7 @@ path = "/backup-storage/{uuid}/trash/actions", isAction = true, responseClass = APICleanUpTrashOnBackupStorageEvent.class, - method = HttpMethod.PUT + method = "PUT" ) public class APICleanUpTrashOnBackupStorageMsg extends APIMessage implements BackupStorageMessage, APIBatchRequest { @APIParam(resourceType = BackupStorageVO.class, checkAccount = true) diff --git a/header/src/main/java/org/zstack/header/storage/backup/APIDeleteBackupStorageMsg.java b/header/src/main/java/org/zstack/header/storage/backup/APIDeleteBackupStorageMsg.java index 7af25d380e8..9ec22f97158 100755 --- a/header/src/main/java/org/zstack/header/storage/backup/APIDeleteBackupStorageMsg.java +++ b/header/src/main/java/org/zstack/header/storage/backup/APIDeleteBackupStorageMsg.java @@ -36,7 +36,7 @@ */ @RestRequest( path = "/backup-storage/{uuid}", - method = HttpMethod.DELETE, + method = "DELETE", responseClass = APIDeleteBackupStorageEvent.class ) public class APIDeleteBackupStorageMsg extends APIDeleteMessage implements BackupStorageMessage { diff --git a/header/src/main/java/org/zstack/header/storage/backup/APIDeleteExportedImageFromBackupStorageMsg.java b/header/src/main/java/org/zstack/header/storage/backup/APIDeleteExportedImageFromBackupStorageMsg.java index 5a072cc0316..f53f580b1e5 100755 --- a/header/src/main/java/org/zstack/header/storage/backup/APIDeleteExportedImageFromBackupStorageMsg.java +++ b/header/src/main/java/org/zstack/header/storage/backup/APIDeleteExportedImageFromBackupStorageMsg.java @@ -15,7 +15,7 @@ @Action(category = ImageConstant.ACTION_CATEGORY) @RestRequest( path = "/backup-storage/{backupStorageUuid}/exported-images/{imageUuid}", - method = HttpMethod.DELETE, + method = "DELETE", responseClass = APIDeleteExportedImageFromBackupStorageEvent.class ) public class APIDeleteExportedImageFromBackupStorageMsg extends APIMessage implements BackupStorageMessage { diff --git a/header/src/main/java/org/zstack/header/storage/backup/APIDetachBackupStorageFromZoneMsg.java b/header/src/main/java/org/zstack/header/storage/backup/APIDetachBackupStorageFromZoneMsg.java index 94f3fd1b139..a991a4e5644 100755 --- a/header/src/main/java/org/zstack/header/storage/backup/APIDetachBackupStorageFromZoneMsg.java +++ b/header/src/main/java/org/zstack/header/storage/backup/APIDetachBackupStorageFromZoneMsg.java @@ -36,7 +36,7 @@ */ @RestRequest( path = "/zones/{zoneUuid}/backup-storage/{backupStorageUuid}", - method = HttpMethod.DELETE, + method = "DELETE", responseClass = APIDetachBackupStorageFromZoneEvent.class ) public class APIDetachBackupStorageFromZoneMsg extends APIMessage implements BackupStorageMessage { diff --git a/header/src/main/java/org/zstack/header/storage/backup/APIExportImageFromBackupStorageMsg.java b/header/src/main/java/org/zstack/header/storage/backup/APIExportImageFromBackupStorageMsg.java index 98839d35162..4bd35fe55f7 100755 --- a/header/src/main/java/org/zstack/header/storage/backup/APIExportImageFromBackupStorageMsg.java +++ b/header/src/main/java/org/zstack/header/storage/backup/APIExportImageFromBackupStorageMsg.java @@ -17,7 +17,7 @@ @RestRequest( path = "/backup-storage/{backupStorageUuid}/actions", isAction = true, - method = HttpMethod.PUT, + method = "PUT", responseClass = APIExportImageFromBackupStorageEvent.class ) @DefaultTimeout(timeunit = TimeUnit.HOURS, value = 3) diff --git a/header/src/main/java/org/zstack/header/storage/backup/APIGetBackupStorageCapacityMsg.java b/header/src/main/java/org/zstack/header/storage/backup/APIGetBackupStorageCapacityMsg.java index 9321f487b9c..bc1b498c439 100755 --- a/header/src/main/java/org/zstack/header/storage/backup/APIGetBackupStorageCapacityMsg.java +++ b/header/src/main/java/org/zstack/header/storage/backup/APIGetBackupStorageCapacityMsg.java @@ -13,7 +13,7 @@ */ @RestRequest( path = "/backup-storage/capacities", - method = HttpMethod.GET, + method = "GET", responseClass = APIGetBackupStorageCapacityReply.class ) public class APIGetBackupStorageCapacityMsg extends APISyncCallMessage { diff --git a/header/src/main/java/org/zstack/header/storage/backup/APIGetBackupStorageTypesMsg.java b/header/src/main/java/org/zstack/header/storage/backup/APIGetBackupStorageTypesMsg.java index 3a2c9a6bd4a..db7d9011f20 100755 --- a/header/src/main/java/org/zstack/header/storage/backup/APIGetBackupStorageTypesMsg.java +++ b/header/src/main/java/org/zstack/header/storage/backup/APIGetBackupStorageTypesMsg.java @@ -29,7 +29,7 @@ */ @RestRequest( path = "/backup-storage/types", - method = HttpMethod.GET, + method = "GET", responseClass = APIGetBackupStorageTypesReply.class ) public class APIGetBackupStorageTypesMsg extends APISyncCallMessage { diff --git a/header/src/main/java/org/zstack/header/storage/backup/APIGetTrashOnBackupStorageMsg.java b/header/src/main/java/org/zstack/header/storage/backup/APIGetTrashOnBackupStorageMsg.java index ace05dd66d8..24b065b82dc 100644 --- a/header/src/main/java/org/zstack/header/storage/backup/APIGetTrashOnBackupStorageMsg.java +++ b/header/src/main/java/org/zstack/header/storage/backup/APIGetTrashOnBackupStorageMsg.java @@ -10,7 +10,7 @@ */ @RestRequest( path = "/backup-storage/trash", - method = HttpMethod.GET, + method = "GET", responseClass = APIGetTrashOnBackupStorageReply.class ) public class APIGetTrashOnBackupStorageMsg extends APISyncCallMessage implements BackupStorageMessage { diff --git a/header/src/main/java/org/zstack/header/storage/backup/APIQueryBackupStorageMsg.java b/header/src/main/java/org/zstack/header/storage/backup/APIQueryBackupStorageMsg.java index 83369559439..70c555fb4a6 100755 --- a/header/src/main/java/org/zstack/header/storage/backup/APIQueryBackupStorageMsg.java +++ b/header/src/main/java/org/zstack/header/storage/backup/APIQueryBackupStorageMsg.java @@ -14,7 +14,7 @@ @RestRequest( path = "/backup-storage", optionalPaths = {"/backup-storage/{uuid}"}, - method = HttpMethod.GET, + method = "GET", responseClass = APIQueryBackupStorageReply.class ) public class APIQueryBackupStorageMsg extends APIQueryMessage { diff --git a/header/src/main/java/org/zstack/header/storage/backup/APIReconnectBackupStorageMsg.java b/header/src/main/java/org/zstack/header/storage/backup/APIReconnectBackupStorageMsg.java index 9f1d92cab24..01ec6ab47b4 100755 --- a/header/src/main/java/org/zstack/header/storage/backup/APIReconnectBackupStorageMsg.java +++ b/header/src/main/java/org/zstack/header/storage/backup/APIReconnectBackupStorageMsg.java @@ -13,7 +13,7 @@ path = "/backup-storage/{uuid}/actions", isAction = true, responseClass = APIReconnectBackupStorageEvent.class, - method = HttpMethod.PUT + method = "PUT" ) public class APIReconnectBackupStorageMsg extends APIMessage implements BackupStorageMessage { @APIParam(resourceType = BackupStorageVO.class) diff --git a/header/src/main/java/org/zstack/header/storage/backup/APIUpdateBackupStorageMsg.java b/header/src/main/java/org/zstack/header/storage/backup/APIUpdateBackupStorageMsg.java index 40d6e490187..b6622fa2fc0 100755 --- a/header/src/main/java/org/zstack/header/storage/backup/APIUpdateBackupStorageMsg.java +++ b/header/src/main/java/org/zstack/header/storage/backup/APIUpdateBackupStorageMsg.java @@ -12,7 +12,7 @@ @RestRequest( path = "/backup-storage/{uuid}/actions", responseClass = APIUpdateBackupStorageEvent.class, - method = HttpMethod.PUT, + method = "PUT", isAction = true ) public class APIUpdateBackupStorageMsg extends APIMessage implements BackupStorageMessage { diff --git a/header/src/main/java/org/zstack/header/storage/backup/BackupStorageAO.java b/header/src/main/java/org/zstack/header/storage/backup/BackupStorageAO.java index 11c8d2829ef..adb419aed5c 100755 --- a/header/src/main/java/org/zstack/header/storage/backup/BackupStorageAO.java +++ b/header/src/main/java/org/zstack/header/storage/backup/BackupStorageAO.java @@ -3,7 +3,7 @@ import org.zstack.header.vo.Index; import org.zstack.header.vo.ResourceVO; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; @MappedSuperclass diff --git a/header/src/main/java/org/zstack/header/storage/backup/BackupStorageAO_.java b/header/src/main/java/org/zstack/header/storage/backup/BackupStorageAO_.java index da1074f502d..5b63aaa8c31 100755 --- a/header/src/main/java/org/zstack/header/storage/backup/BackupStorageAO_.java +++ b/header/src/main/java/org/zstack/header/storage/backup/BackupStorageAO_.java @@ -2,8 +2,8 @@ import org.zstack.header.vo.ResourceVO_; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; @StaticMetamodel(BackupStorageAO.class) diff --git a/header/src/main/java/org/zstack/header/storage/backup/BackupStorageEO.java b/header/src/main/java/org/zstack/header/storage/backup/BackupStorageEO.java index cb854b0e416..938d1ca6dbc 100755 --- a/header/src/main/java/org/zstack/header/storage/backup/BackupStorageEO.java +++ b/header/src/main/java/org/zstack/header/storage/backup/BackupStorageEO.java @@ -1,8 +1,8 @@ package org.zstack.header.storage.backup; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.Table; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.Table; /** */ 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..48345701c89 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 @@ -7,7 +7,7 @@ import org.zstack.header.search.TypeField; import org.zstack.header.storage.snapshot.VolumeSnapshotBackupStorageRefInventory; -import javax.persistence.JoinColumn; +import jakarta.persistence.JoinColumn; import java.io.Serializable; import java.sql.Timestamp; import java.util.ArrayList; diff --git a/header/src/main/java/org/zstack/header/storage/backup/BackupStorageVO.java b/header/src/main/java/org/zstack/header/storage/backup/BackupStorageVO.java index bdd12066e47..3a738037f52 100755 --- a/header/src/main/java/org/zstack/header/storage/backup/BackupStorageVO.java +++ b/header/src/main/java/org/zstack/header/storage/backup/BackupStorageVO.java @@ -6,7 +6,7 @@ import org.zstack.header.vo.EntityGraph; import org.zstack.header.vo.NoView; -import javax.persistence.*; +import jakarta.persistence.*; import java.util.HashSet; import java.util.Set; diff --git a/header/src/main/java/org/zstack/header/storage/backup/BackupStorageVO_.java b/header/src/main/java/org/zstack/header/storage/backup/BackupStorageVO_.java index b4eb0a55d4b..a6978d947c8 100755 --- a/header/src/main/java/org/zstack/header/storage/backup/BackupStorageVO_.java +++ b/header/src/main/java/org/zstack/header/storage/backup/BackupStorageVO_.java @@ -1,6 +1,6 @@ package org.zstack.header.storage.backup; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.StaticMetamodel; @StaticMetamodel(BackupStorageVO.class) public class BackupStorageVO_ extends BackupStorageAO_ { diff --git a/header/src/main/java/org/zstack/header/storage/backup/BackupStorageZoneRefVO.java b/header/src/main/java/org/zstack/header/storage/backup/BackupStorageZoneRefVO.java index 0fb7fdd1f4a..4737127228f 100755 --- a/header/src/main/java/org/zstack/header/storage/backup/BackupStorageZoneRefVO.java +++ b/header/src/main/java/org/zstack/header/storage/backup/BackupStorageZoneRefVO.java @@ -8,7 +8,7 @@ import org.zstack.header.zone.ZoneEO; import org.zstack.header.zone.ZoneVO; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; @Entity diff --git a/header/src/main/java/org/zstack/header/storage/backup/BackupStorageZoneRefVO_.java b/header/src/main/java/org/zstack/header/storage/backup/BackupStorageZoneRefVO_.java index 0ad2f28b543..2ead86bfcae 100755 --- a/header/src/main/java/org/zstack/header/storage/backup/BackupStorageZoneRefVO_.java +++ b/header/src/main/java/org/zstack/header/storage/backup/BackupStorageZoneRefVO_.java @@ -1,7 +1,7 @@ package org.zstack.header.storage.backup; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; @StaticMetamodel(BackupStorageZoneRefVO.class) public class BackupStorageZoneRefVO_ { diff --git a/header/src/main/java/org/zstack/header/storage/primary/APIAddStorageProtocolMsg.java b/header/src/main/java/org/zstack/header/storage/primary/APIAddStorageProtocolMsg.java index 5f885d338e1..4f145849056 100644 --- a/header/src/main/java/org/zstack/header/storage/primary/APIAddStorageProtocolMsg.java +++ b/header/src/main/java/org/zstack/header/storage/primary/APIAddStorageProtocolMsg.java @@ -9,7 +9,7 @@ @RestRequest( path = "/primary-storage/protocol", responseClass = APIAddStorageProtocolEvent.class, - method = HttpMethod.POST, + method = "POST", parameterName = "params" ) public class APIAddStorageProtocolMsg extends APIMessage implements PrimaryStorageMessage { diff --git a/header/src/main/java/org/zstack/header/storage/primary/APIAttachPrimaryStorageToClusterMsg.java b/header/src/main/java/org/zstack/header/storage/primary/APIAttachPrimaryStorageToClusterMsg.java index 05a32a3e5cc..bba5a8d85d5 100755 --- a/header/src/main/java/org/zstack/header/storage/primary/APIAttachPrimaryStorageToClusterMsg.java +++ b/header/src/main/java/org/zstack/header/storage/primary/APIAttachPrimaryStorageToClusterMsg.java @@ -35,7 +35,7 @@ */ @RestRequest( path = "/clusters/{clusterUuid}/primary-storage/{primaryStorageUuid}", - method = HttpMethod.POST, + method = "POST", parameterName = "params", responseClass = APIAttachPrimaryStorageToClusterEvent.class ) diff --git a/header/src/main/java/org/zstack/header/storage/primary/APIChangePrimaryStorageStateMsg.java b/header/src/main/java/org/zstack/header/storage/primary/APIChangePrimaryStorageStateMsg.java index 6648e8d6603..7af85895e65 100755 --- a/header/src/main/java/org/zstack/header/storage/primary/APIChangePrimaryStorageStateMsg.java +++ b/header/src/main/java/org/zstack/header/storage/primary/APIChangePrimaryStorageStateMsg.java @@ -36,7 +36,7 @@ path = "/primary-storage/{uuid}/actions", isAction = true, responseClass = APIChangePrimaryStorageStateEvent.class, - method = HttpMethod.PUT + method = "PUT" ) public class APIChangePrimaryStorageStateMsg extends APIMessage implements PrimaryStorageMessage { /** diff --git a/header/src/main/java/org/zstack/header/storage/primary/APICleanUpImageCacheOnPrimaryStorageMsg.java b/header/src/main/java/org/zstack/header/storage/primary/APICleanUpImageCacheOnPrimaryStorageMsg.java index 981f6ad1943..ef8b0adf694 100755 --- a/header/src/main/java/org/zstack/header/storage/primary/APICleanUpImageCacheOnPrimaryStorageMsg.java +++ b/header/src/main/java/org/zstack/header/storage/primary/APICleanUpImageCacheOnPrimaryStorageMsg.java @@ -11,7 +11,7 @@ @RestRequest( path = "/primary-storage/{uuid}/actions", isAction = true, - method = HttpMethod.PUT, + method = "PUT", responseClass = APICleanUpImageCacheOnPrimaryStorageEvent.class ) public class APICleanUpImageCacheOnPrimaryStorageMsg extends APIMessage implements PrimaryStorageMessage { diff --git a/header/src/main/java/org/zstack/header/storage/primary/APICleanUpStorageTrashOnPrimaryStorageMsg.java b/header/src/main/java/org/zstack/header/storage/primary/APICleanUpStorageTrashOnPrimaryStorageMsg.java index 4d2b219d76b..3e5e7e35445 100644 --- a/header/src/main/java/org/zstack/header/storage/primary/APICleanUpStorageTrashOnPrimaryStorageMsg.java +++ b/header/src/main/java/org/zstack/header/storage/primary/APICleanUpStorageTrashOnPrimaryStorageMsg.java @@ -9,7 +9,7 @@ path = "/primary-storage/{uuid}/storagetrash/actions", isAction = true, responseClass = APICleanUpStorageTrashOnPrimaryStorageEvent.class, - method = HttpMethod.PUT + method = "PUT" ) public class APICleanUpStorageTrashOnPrimaryStorageMsg extends APIMessage implements PrimaryStorageMessage { @APIParam(resourceType = PrimaryStorageVO.class, checkAccount = true) diff --git a/header/src/main/java/org/zstack/header/storage/primary/APICleanUpTrashOnPrimaryStorageMsg.java b/header/src/main/java/org/zstack/header/storage/primary/APICleanUpTrashOnPrimaryStorageMsg.java index bfe7a8bec73..444da9572f9 100644 --- a/header/src/main/java/org/zstack/header/storage/primary/APICleanUpTrashOnPrimaryStorageMsg.java +++ b/header/src/main/java/org/zstack/header/storage/primary/APICleanUpTrashOnPrimaryStorageMsg.java @@ -15,7 +15,7 @@ path = "/primary-storage/{uuid}/trash/actions", isAction = true, responseClass = APICleanUpTrashOnPrimaryStorageEvent.class, - method = HttpMethod.PUT + method = "PUT" ) public class APICleanUpTrashOnPrimaryStorageMsg extends APIMessage implements PrimaryStorageMessage, APIBatchRequest { @APIParam(resourceType = PrimaryStorageVO.class, checkAccount = true) diff --git a/header/src/main/java/org/zstack/header/storage/primary/APIDeletePrimaryStorageMsg.java b/header/src/main/java/org/zstack/header/storage/primary/APIDeletePrimaryStorageMsg.java index 1598c438001..cfeedeb544b 100755 --- a/header/src/main/java/org/zstack/header/storage/primary/APIDeletePrimaryStorageMsg.java +++ b/header/src/main/java/org/zstack/header/storage/primary/APIDeletePrimaryStorageMsg.java @@ -36,7 +36,7 @@ */ @RestRequest( path = "/primary-storage/{uuid}", - method = HttpMethod.DELETE, + method = "DELETE", responseClass = APIDeletePrimaryStorageEvent.class ) public class APIDeletePrimaryStorageMsg extends APIDeleteMessage implements PrimaryStorageMessage { diff --git a/header/src/main/java/org/zstack/header/storage/primary/APIDetachPrimaryStorageFromClusterMsg.java b/header/src/main/java/org/zstack/header/storage/primary/APIDetachPrimaryStorageFromClusterMsg.java index c37616d1101..1bccb0efd91 100755 --- a/header/src/main/java/org/zstack/header/storage/primary/APIDetachPrimaryStorageFromClusterMsg.java +++ b/header/src/main/java/org/zstack/header/storage/primary/APIDetachPrimaryStorageFromClusterMsg.java @@ -36,7 +36,7 @@ */ @RestRequest( path = "/clusters/{clusterUuid}/primary-storage/{primaryStorageUuid}", - method = HttpMethod.DELETE, + method = "DELETE", responseClass = APIDetachPrimaryStorageFromClusterEvent.class ) public class APIDetachPrimaryStorageFromClusterMsg extends APIMessage implements PrimaryStorageMessage { diff --git a/header/src/main/java/org/zstack/header/storage/primary/APIGetPrimaryStorageAllocatorStrategiesMsg.java b/header/src/main/java/org/zstack/header/storage/primary/APIGetPrimaryStorageAllocatorStrategiesMsg.java index b87cf8518f7..d83b5afae8e 100755 --- a/header/src/main/java/org/zstack/header/storage/primary/APIGetPrimaryStorageAllocatorStrategiesMsg.java +++ b/header/src/main/java/org/zstack/header/storage/primary/APIGetPrimaryStorageAllocatorStrategiesMsg.java @@ -29,7 +29,7 @@ */ @RestRequest( path = "/primary-storage/allocators/strategies", - method = HttpMethod.GET, + method = "GET", responseClass = APIGetPrimaryStorageAllocatorStrategiesReply.class ) public class APIGetPrimaryStorageAllocatorStrategiesMsg extends APISyncCallMessage { diff --git a/header/src/main/java/org/zstack/header/storage/primary/APIGetPrimaryStorageCapacityMsg.java b/header/src/main/java/org/zstack/header/storage/primary/APIGetPrimaryStorageCapacityMsg.java index 2511ce14287..319f0b767d7 100755 --- a/header/src/main/java/org/zstack/header/storage/primary/APIGetPrimaryStorageCapacityMsg.java +++ b/header/src/main/java/org/zstack/header/storage/primary/APIGetPrimaryStorageCapacityMsg.java @@ -14,7 +14,7 @@ */ @RestRequest( path = "/primary-storage/capacities", - method = HttpMethod.GET, + method = "GET", responseClass = APIGetPrimaryStorageCapacityReply.class ) public class APIGetPrimaryStorageCapacityMsg extends APISyncCallMessage { diff --git a/header/src/main/java/org/zstack/header/storage/primary/APIGetPrimaryStorageLicenseInfoMsg.java b/header/src/main/java/org/zstack/header/storage/primary/APIGetPrimaryStorageLicenseInfoMsg.java index e6745d4e861..43cf19e764b 100644 --- a/header/src/main/java/org/zstack/header/storage/primary/APIGetPrimaryStorageLicenseInfoMsg.java +++ b/header/src/main/java/org/zstack/header/storage/primary/APIGetPrimaryStorageLicenseInfoMsg.java @@ -7,7 +7,7 @@ @RestRequest( path = "/primary-storage/{uuid}/license", - method = HttpMethod.GET, + method = "GET", responseClass = APIGetPrimaryStorageLicenseInfoReply.class ) public class APIGetPrimaryStorageLicenseInfoMsg extends APISyncCallMessage { diff --git a/header/src/main/java/org/zstack/header/storage/primary/APIGetPrimaryStorageTypesMsg.java b/header/src/main/java/org/zstack/header/storage/primary/APIGetPrimaryStorageTypesMsg.java index a8a617792a2..22adbcf7310 100755 --- a/header/src/main/java/org/zstack/header/storage/primary/APIGetPrimaryStorageTypesMsg.java +++ b/header/src/main/java/org/zstack/header/storage/primary/APIGetPrimaryStorageTypesMsg.java @@ -29,7 +29,7 @@ */ @RestRequest( path = "/primary-storage/types", - method = HttpMethod.GET, + method = "GET", responseClass = APIGetPrimaryStorageTypesReply.class ) public class APIGetPrimaryStorageTypesMsg extends APISyncCallMessage { diff --git a/header/src/main/java/org/zstack/header/storage/primary/APIGetPrimaryStorageUsageReportMsg.java b/header/src/main/java/org/zstack/header/storage/primary/APIGetPrimaryStorageUsageReportMsg.java index e330ad9f53c..a7435c02ac3 100644 --- a/header/src/main/java/org/zstack/header/storage/primary/APIGetPrimaryStorageUsageReportMsg.java +++ b/header/src/main/java/org/zstack/header/storage/primary/APIGetPrimaryStorageUsageReportMsg.java @@ -9,7 +9,7 @@ @RestRequest( path = "/primary-storage/{primaryStorageUuid}/usage/report", - method = HttpMethod.GET, + method = "GET", responseClass = APIGetPrimaryStorageUsageReportReply.class ) public class APIGetPrimaryStorageUsageReportMsg extends APISyncCallMessage { diff --git a/header/src/main/java/org/zstack/header/storage/primary/APIGetTrashOnPrimaryStorageMsg.java b/header/src/main/java/org/zstack/header/storage/primary/APIGetTrashOnPrimaryStorageMsg.java index 5b8d58d3fd3..8d8426b5fbd 100644 --- a/header/src/main/java/org/zstack/header/storage/primary/APIGetTrashOnPrimaryStorageMsg.java +++ b/header/src/main/java/org/zstack/header/storage/primary/APIGetTrashOnPrimaryStorageMsg.java @@ -10,7 +10,7 @@ */ @RestRequest( path = "/primary-storage/trash", - method = HttpMethod.GET, + method = "GET", responseClass = APIGetTrashOnPrimaryStorageReply.class ) public class APIGetTrashOnPrimaryStorageMsg extends APISyncCallMessage implements PrimaryStorageMessage { diff --git a/header/src/main/java/org/zstack/header/storage/primary/APIQueryImageCacheMsg.java b/header/src/main/java/org/zstack/header/storage/primary/APIQueryImageCacheMsg.java index 98645d22fd9..7f9d1b1d0c0 100644 --- a/header/src/main/java/org/zstack/header/storage/primary/APIQueryImageCacheMsg.java +++ b/header/src/main/java/org/zstack/header/storage/primary/APIQueryImageCacheMsg.java @@ -14,7 +14,7 @@ @AutoQuery(replyClass = APIQueryImageCacheReply.class, inventoryClass = ImageCacheInventory.class) @RestRequest( path = "/primary-storage/imagecache", - method = HttpMethod.GET, + method = "GET", responseClass = APIQueryImageCacheReply.class ) public class APIQueryImageCacheMsg extends APIQueryMessage { diff --git a/header/src/main/java/org/zstack/header/storage/primary/APIQueryPrimaryStorageMsg.java b/header/src/main/java/org/zstack/header/storage/primary/APIQueryPrimaryStorageMsg.java index 37a3aa16c55..c4447278877 100755 --- a/header/src/main/java/org/zstack/header/storage/primary/APIQueryPrimaryStorageMsg.java +++ b/header/src/main/java/org/zstack/header/storage/primary/APIQueryPrimaryStorageMsg.java @@ -11,7 +11,7 @@ @AutoQuery(replyClass = APIQueryPrimaryStorageReply.class, inventoryClass = PrimaryStorageInventory.class) @RestRequest( path = "/primary-storage", - method = HttpMethod.GET, + method = "GET", responseClass = APIQueryPrimaryStorageReply.class ) public class APIQueryPrimaryStorageMsg extends APIQueryMessage { diff --git a/header/src/main/java/org/zstack/header/storage/primary/APIReconnectPrimaryStorageMsg.java b/header/src/main/java/org/zstack/header/storage/primary/APIReconnectPrimaryStorageMsg.java index 91ee7f35407..5a489ad4c16 100755 --- a/header/src/main/java/org/zstack/header/storage/primary/APIReconnectPrimaryStorageMsg.java +++ b/header/src/main/java/org/zstack/header/storage/primary/APIReconnectPrimaryStorageMsg.java @@ -12,7 +12,7 @@ @RestRequest( path = "/primary-storage/{uuid}/actions", responseClass = APIReconnectPrimaryStorageEvent.class, - method = HttpMethod.PUT, + method = "PUT", isAction = true ) public class APIReconnectPrimaryStorageMsg extends APIMessage implements PrimaryStorageMessage { diff --git a/header/src/main/java/org/zstack/header/storage/primary/APISyncPrimaryStorageCapacityMsg.java b/header/src/main/java/org/zstack/header/storage/primary/APISyncPrimaryStorageCapacityMsg.java index 8836ad428fd..4a223700490 100755 --- a/header/src/main/java/org/zstack/header/storage/primary/APISyncPrimaryStorageCapacityMsg.java +++ b/header/src/main/java/org/zstack/header/storage/primary/APISyncPrimaryStorageCapacityMsg.java @@ -11,7 +11,7 @@ @RestRequest( path = "/primary-storage/{primaryStorageUuid}/actions", responseClass = APISyncPrimaryStorageCapacityEvent.class, - method = HttpMethod.PUT, + method = "PUT", isAction = true ) public class APISyncPrimaryStorageCapacityMsg extends APIMessage implements PrimaryStorageMessage { diff --git a/header/src/main/java/org/zstack/header/storage/primary/APIUpdatePrimaryStorageMsg.java b/header/src/main/java/org/zstack/header/storage/primary/APIUpdatePrimaryStorageMsg.java index 76cc2027965..a40de6a305b 100755 --- a/header/src/main/java/org/zstack/header/storage/primary/APIUpdatePrimaryStorageMsg.java +++ b/header/src/main/java/org/zstack/header/storage/primary/APIUpdatePrimaryStorageMsg.java @@ -13,7 +13,7 @@ @RestRequest( path = "/primary-storage/{uuid}/actions", isAction = true, - method = HttpMethod.PUT, + method = "PUT", responseClass = APIUpdatePrimaryStorageEvent.class ) public class APIUpdatePrimaryStorageMsg extends APIMessage implements PrimaryStorageMessage { diff --git a/header/src/main/java/org/zstack/header/storage/primary/HistoricalUsageAO.java b/header/src/main/java/org/zstack/header/storage/primary/HistoricalUsageAO.java index 2cca133d90f..adafa5d17b1 100644 --- a/header/src/main/java/org/zstack/header/storage/primary/HistoricalUsageAO.java +++ b/header/src/main/java/org/zstack/header/storage/primary/HistoricalUsageAO.java @@ -2,7 +2,7 @@ import org.zstack.header.vo.Index; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; @MappedSuperclass diff --git a/header/src/main/java/org/zstack/header/storage/primary/HistoricalUsageAO_.java b/header/src/main/java/org/zstack/header/storage/primary/HistoricalUsageAO_.java index 9926390ceff..abbdc4acbaf 100644 --- a/header/src/main/java/org/zstack/header/storage/primary/HistoricalUsageAO_.java +++ b/header/src/main/java/org/zstack/header/storage/primary/HistoricalUsageAO_.java @@ -1,7 +1,7 @@ package org.zstack.header.storage.primary; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; @StaticMetamodel(HistoricalUsageAO.class) diff --git a/header/src/main/java/org/zstack/header/storage/primary/ImageCacheShadowVO.java b/header/src/main/java/org/zstack/header/storage/primary/ImageCacheShadowVO.java index b7e5eef07e3..0b810f1a4bd 100755 --- a/header/src/main/java/org/zstack/header/storage/primary/ImageCacheShadowVO.java +++ b/header/src/main/java/org/zstack/header/storage/primary/ImageCacheShadowVO.java @@ -4,7 +4,7 @@ import org.zstack.header.vo.ForeignKey; import org.zstack.header.vo.ForeignKey.ReferenceOption; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; @Entity diff --git a/header/src/main/java/org/zstack/header/storage/primary/ImageCacheShadowVO_.java b/header/src/main/java/org/zstack/header/storage/primary/ImageCacheShadowVO_.java index 4ba28aabf00..e32ab9d0f19 100755 --- a/header/src/main/java/org/zstack/header/storage/primary/ImageCacheShadowVO_.java +++ b/header/src/main/java/org/zstack/header/storage/primary/ImageCacheShadowVO_.java @@ -2,8 +2,8 @@ import org.zstack.header.image.ImageConstant.ImageMediaType; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; @StaticMetamodel(ImageCacheVO.class) diff --git a/header/src/main/java/org/zstack/header/storage/primary/ImageCacheVO.java b/header/src/main/java/org/zstack/header/storage/primary/ImageCacheVO.java index ad8b95d2356..156a90fb4ba 100755 --- a/header/src/main/java/org/zstack/header/storage/primary/ImageCacheVO.java +++ b/header/src/main/java/org/zstack/header/storage/primary/ImageCacheVO.java @@ -7,7 +7,7 @@ import org.zstack.header.vo.ShadowEntity; import org.zstack.header.vo.ToInventory; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; @Entity diff --git a/header/src/main/java/org/zstack/header/storage/primary/ImageCacheVO_.java b/header/src/main/java/org/zstack/header/storage/primary/ImageCacheVO_.java index 7bb980a8d5d..5ffe7c08fa1 100755 --- a/header/src/main/java/org/zstack/header/storage/primary/ImageCacheVO_.java +++ b/header/src/main/java/org/zstack/header/storage/primary/ImageCacheVO_.java @@ -2,8 +2,8 @@ import org.zstack.header.image.ImageConstant.ImageMediaType; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; @StaticMetamodel(ImageCacheVO.class) diff --git a/header/src/main/java/org/zstack/header/storage/primary/ImageCacheVolumeRefVO.java b/header/src/main/java/org/zstack/header/storage/primary/ImageCacheVolumeRefVO.java index 5156afdaed2..f43cedfdeba 100755 --- a/header/src/main/java/org/zstack/header/storage/primary/ImageCacheVolumeRefVO.java +++ b/header/src/main/java/org/zstack/header/storage/primary/ImageCacheVolumeRefVO.java @@ -7,7 +7,7 @@ import org.zstack.header.volume.VolumeEO; import org.zstack.header.volume.VolumeVO; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; /** diff --git a/header/src/main/java/org/zstack/header/storage/primary/ImageCacheVolumeRefVO_.java b/header/src/main/java/org/zstack/header/storage/primary/ImageCacheVolumeRefVO_.java index ff54c4bb1fc..3f17095661b 100755 --- a/header/src/main/java/org/zstack/header/storage/primary/ImageCacheVolumeRefVO_.java +++ b/header/src/main/java/org/zstack/header/storage/primary/ImageCacheVolumeRefVO_.java @@ -1,7 +1,7 @@ package org.zstack.header.storage.primary; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; /** * Created by frank on 8/5/2015. diff --git a/header/src/main/java/org/zstack/header/storage/primary/PrimaryStorageAO.java b/header/src/main/java/org/zstack/header/storage/primary/PrimaryStorageAO.java index 362fc9649b1..f80bbb3fbc1 100755 --- a/header/src/main/java/org/zstack/header/storage/primary/PrimaryStorageAO.java +++ b/header/src/main/java/org/zstack/header/storage/primary/PrimaryStorageAO.java @@ -5,7 +5,7 @@ import org.zstack.header.vo.ResourceVO; import org.zstack.header.zone.ZoneEO; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; @MappedSuperclass diff --git a/header/src/main/java/org/zstack/header/storage/primary/PrimaryStorageAO_.java b/header/src/main/java/org/zstack/header/storage/primary/PrimaryStorageAO_.java index 2f8c8f0f02f..bf697473351 100755 --- a/header/src/main/java/org/zstack/header/storage/primary/PrimaryStorageAO_.java +++ b/header/src/main/java/org/zstack/header/storage/primary/PrimaryStorageAO_.java @@ -2,8 +2,8 @@ import org.zstack.header.vo.ResourceVO_; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; @StaticMetamodel(PrimaryStorageAO.class) diff --git a/header/src/main/java/org/zstack/header/storage/primary/PrimaryStorageCapacityVO.java b/header/src/main/java/org/zstack/header/storage/primary/PrimaryStorageCapacityVO.java index 113d07dd420..4ebcd59da85 100755 --- a/header/src/main/java/org/zstack/header/storage/primary/PrimaryStorageCapacityVO.java +++ b/header/src/main/java/org/zstack/header/storage/primary/PrimaryStorageCapacityVO.java @@ -6,7 +6,7 @@ import org.zstack.header.vo.Index; import org.zstack.header.vo.ShadowEntity; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; /** diff --git a/header/src/main/java/org/zstack/header/storage/primary/PrimaryStorageCapacityVO_.java b/header/src/main/java/org/zstack/header/storage/primary/PrimaryStorageCapacityVO_.java index eed00a707a8..1bfcc0bf66a 100755 --- a/header/src/main/java/org/zstack/header/storage/primary/PrimaryStorageCapacityVO_.java +++ b/header/src/main/java/org/zstack/header/storage/primary/PrimaryStorageCapacityVO_.java @@ -1,7 +1,7 @@ package org.zstack.header.storage.primary; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; /** diff --git a/header/src/main/java/org/zstack/header/storage/primary/PrimaryStorageClusterRefVO.java b/header/src/main/java/org/zstack/header/storage/primary/PrimaryStorageClusterRefVO.java index 2a2b11a671a..9a4decf41f5 100755 --- a/header/src/main/java/org/zstack/header/storage/primary/PrimaryStorageClusterRefVO.java +++ b/header/src/main/java/org/zstack/header/storage/primary/PrimaryStorageClusterRefVO.java @@ -8,7 +8,7 @@ import org.zstack.header.vo.SoftDeletionCascade; import org.zstack.header.vo.SoftDeletionCascades; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; @Entity diff --git a/header/src/main/java/org/zstack/header/storage/primary/PrimaryStorageClusterRefVO_.java b/header/src/main/java/org/zstack/header/storage/primary/PrimaryStorageClusterRefVO_.java index 9e4b52916d0..8d2477b4d8a 100755 --- a/header/src/main/java/org/zstack/header/storage/primary/PrimaryStorageClusterRefVO_.java +++ b/header/src/main/java/org/zstack/header/storage/primary/PrimaryStorageClusterRefVO_.java @@ -1,7 +1,7 @@ package org.zstack.header.storage.primary; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; @StaticMetamodel(PrimaryStorageClusterRefVO.class) public class PrimaryStorageClusterRefVO_ { diff --git a/header/src/main/java/org/zstack/header/storage/primary/PrimaryStorageEO.java b/header/src/main/java/org/zstack/header/storage/primary/PrimaryStorageEO.java index 87d652f34e7..d57aa9b8cc0 100755 --- a/header/src/main/java/org/zstack/header/storage/primary/PrimaryStorageEO.java +++ b/header/src/main/java/org/zstack/header/storage/primary/PrimaryStorageEO.java @@ -1,8 +1,8 @@ package org.zstack.header.storage.primary; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.Table; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.Table; /** */ diff --git a/header/src/main/java/org/zstack/header/storage/primary/PrimaryStorageHistoricalUsageBaseVO.java b/header/src/main/java/org/zstack/header/storage/primary/PrimaryStorageHistoricalUsageBaseVO.java index 008740cf18c..35d4f8748a2 100644 --- a/header/src/main/java/org/zstack/header/storage/primary/PrimaryStorageHistoricalUsageBaseVO.java +++ b/header/src/main/java/org/zstack/header/storage/primary/PrimaryStorageHistoricalUsageBaseVO.java @@ -4,16 +4,13 @@ import org.zstack.header.vo.ForeignKey; import org.zstack.header.vo.Index; -import javax.persistence.Column; -import javax.persistence.MappedSuperclass; -import javax.persistence.Table; - +import jakarta.persistence.Column; +import jakarta.persistence.MappedSuperclass; @org.zstack.header.vo.EntityGraph( parents = { @EntityGraph.Neighbour(type = PrimaryStorageEO.class, myField = "primaryStorageUuid", targetField = "uuid") } ) -@Table @MappedSuperclass public class PrimaryStorageHistoricalUsageBaseVO extends HistoricalUsageAO { diff --git a/header/src/main/java/org/zstack/header/storage/primary/PrimaryStorageHistoricalUsageBaseVO_.java b/header/src/main/java/org/zstack/header/storage/primary/PrimaryStorageHistoricalUsageBaseVO_.java index c0a2a7b1bff..a58345539e8 100644 --- a/header/src/main/java/org/zstack/header/storage/primary/PrimaryStorageHistoricalUsageBaseVO_.java +++ b/header/src/main/java/org/zstack/header/storage/primary/PrimaryStorageHistoricalUsageBaseVO_.java @@ -1,7 +1,7 @@ package org.zstack.header.storage.primary; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; @StaticMetamodel(PrimaryStorageHistoricalUsageBaseVO.class) public class PrimaryStorageHistoricalUsageBaseVO_ extends HistoricalUsageAO_ { diff --git a/header/src/main/java/org/zstack/header/storage/primary/PrimaryStorageHistoricalUsageVO.java b/header/src/main/java/org/zstack/header/storage/primary/PrimaryStorageHistoricalUsageVO.java index fdefe606b18..bb750c477bb 100644 --- a/header/src/main/java/org/zstack/header/storage/primary/PrimaryStorageHistoricalUsageVO.java +++ b/header/src/main/java/org/zstack/header/storage/primary/PrimaryStorageHistoricalUsageVO.java @@ -3,8 +3,8 @@ import org.zstack.header.tag.AutoDeleteTag; import org.zstack.header.vo.BaseResource; -import javax.persistence.Entity; -import javax.persistence.Table; +import jakarta.persistence.Entity; +import jakarta.persistence.Table; @Entity @Table diff --git a/header/src/main/java/org/zstack/header/storage/primary/PrimaryStorageHistoricalUsageVO_.java b/header/src/main/java/org/zstack/header/storage/primary/PrimaryStorageHistoricalUsageVO_.java index 87444f76def..d7c6920cf93 100644 --- a/header/src/main/java/org/zstack/header/storage/primary/PrimaryStorageHistoricalUsageVO_.java +++ b/header/src/main/java/org/zstack/header/storage/primary/PrimaryStorageHistoricalUsageVO_.java @@ -1,6 +1,6 @@ package org.zstack.header.storage.primary; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.StaticMetamodel; @StaticMetamodel(PrimaryStorageHistoricalUsageVO.class) public class PrimaryStorageHistoricalUsageVO_ extends PrimaryStorageHistoricalUsageBaseVO_ { 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..b48c5c5ef0c 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 @@ -7,7 +7,7 @@ import org.zstack.header.vo.ForeignKey; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; /** 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 d013c471081..23de9775a8d 100644 --- a/header/src/main/java/org/zstack/header/storage/primary/PrimaryStorageHostRefVO_.java +++ b/header/src/main/java/org/zstack/header/storage/primary/PrimaryStorageHostRefVO_.java @@ -1,7 +1,7 @@ package org.zstack.header.storage.primary; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; /** 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..ecc1bff165e 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 @@ -9,7 +9,7 @@ import org.zstack.header.volume.VolumeInventory; import org.zstack.header.zone.ZoneInventory; -import javax.persistence.JoinColumn; +import jakarta.persistence.JoinColumn; import java.io.Serializable; import java.sql.Timestamp; import java.util.ArrayList; 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..0eda16e4e7f 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 @@ -4,7 +4,7 @@ import org.zstack.header.vo.EntityGraph; import org.zstack.header.zone.ZoneVO; -import javax.persistence.*; +import jakarta.persistence.*; import java.util.HashSet; import java.util.Set; 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 1c3e8821ce5..f990efa56ce 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,6 @@ package org.zstack.header.storage.primary; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.StaticMetamodel; @StaticMetamodel(PrimaryStorageVO.class) public class PrimaryStorageVO_ extends PrimaryStorageAO_ { diff --git a/header/src/main/java/org/zstack/header/storage/primary/StorageCapacityAO.java b/header/src/main/java/org/zstack/header/storage/primary/StorageCapacityAO.java index 990eb6af028..63390d8f05f 100644 --- a/header/src/main/java/org/zstack/header/storage/primary/StorageCapacityAO.java +++ b/header/src/main/java/org/zstack/header/storage/primary/StorageCapacityAO.java @@ -2,7 +2,7 @@ import org.zstack.header.vo.Index; -import javax.persistence.*; +import jakarta.persistence.*; @MappedSuperclass public abstract class StorageCapacityAO { diff --git a/header/src/main/java/org/zstack/header/storage/primary/StorageCapacityAO_.java b/header/src/main/java/org/zstack/header/storage/primary/StorageCapacityAO_.java index c44b2d15763..044970a97fb 100644 --- a/header/src/main/java/org/zstack/header/storage/primary/StorageCapacityAO_.java +++ b/header/src/main/java/org/zstack/header/storage/primary/StorageCapacityAO_.java @@ -3,8 +3,8 @@ import org.zstack.header.storage.snapshot.VolumeSnapshotTreeAO_; import org.zstack.header.storage.snapshot.VolumeSnapshotTreeEO; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; @StaticMetamodel(StorageCapacityAO.class) public class StorageCapacityAO_ { diff --git a/header/src/main/java/org/zstack/header/storage/snapshot/APIBatchDeleteVolumeSnapshotMsg.java b/header/src/main/java/org/zstack/header/storage/snapshot/APIBatchDeleteVolumeSnapshotMsg.java index 91215620c4c..eab3d539134 100755 --- a/header/src/main/java/org/zstack/header/storage/snapshot/APIBatchDeleteVolumeSnapshotMsg.java +++ b/header/src/main/java/org/zstack/header/storage/snapshot/APIBatchDeleteVolumeSnapshotMsg.java @@ -22,7 +22,7 @@ @Action(category = VolumeSnapshotConstant.ACTION_CATEGORY) @RestRequest( path = "/volume-snapshots/batch-delete", - method = HttpMethod.PUT, + method = "PUT", isAction = true, responseClass = APIBatchDeleteVolumeSnapshotEvent.class ) 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..ad8b3ad5827 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 @@ -39,7 +39,7 @@ @Action(category = VolumeSnapshotConstant.ACTION_CATEGORY) @RestRequest( path = "/volume-snapshots/{uuid}", - method = HttpMethod.DELETE, + method = "DELETE", responseClass = APIDeleteVolumeSnapshotEvent.class ) @DefaultTimeout(timeunit = TimeUnit.HOURS, value = 6) diff --git a/header/src/main/java/org/zstack/header/storage/snapshot/APIGetVolumeSnapshotSizeMsg.java b/header/src/main/java/org/zstack/header/storage/snapshot/APIGetVolumeSnapshotSizeMsg.java index 6e48aa8bb88..ed11ce83c83 100644 --- a/header/src/main/java/org/zstack/header/storage/snapshot/APIGetVolumeSnapshotSizeMsg.java +++ b/header/src/main/java/org/zstack/header/storage/snapshot/APIGetVolumeSnapshotSizeMsg.java @@ -13,7 +13,7 @@ @Action(category = VolumeSnapshotConstant.ACTION_CATEGORY) @RestRequest( path = "/volume-snapshots/{uuid}/actions", - method = HttpMethod.PUT, + method = "PUT", responseClass = APIGetVolumeSnapshotSizeEvent.class, isAction = true ) diff --git a/header/src/main/java/org/zstack/header/storage/snapshot/APIQueryVolumeSnapshotMsg.java b/header/src/main/java/org/zstack/header/storage/snapshot/APIQueryVolumeSnapshotMsg.java index 8b40e879202..8aca32a307c 100755 --- a/header/src/main/java/org/zstack/header/storage/snapshot/APIQueryVolumeSnapshotMsg.java +++ b/header/src/main/java/org/zstack/header/storage/snapshot/APIQueryVolumeSnapshotMsg.java @@ -16,7 +16,7 @@ @RestRequest( path = "/volume-snapshots", optionalPaths = {"/volume-snapshots/{uuid}"}, - method = HttpMethod.GET, + method = "GET", responseClass = APIQueryVolumeSnapshotReply.class ) public class APIQueryVolumeSnapshotMsg extends APIQueryMessage { diff --git a/header/src/main/java/org/zstack/header/storage/snapshot/APIQueryVolumeSnapshotTreeMsg.java b/header/src/main/java/org/zstack/header/storage/snapshot/APIQueryVolumeSnapshotTreeMsg.java index e1c138f3406..1db4ddf0589 100755 --- a/header/src/main/java/org/zstack/header/storage/snapshot/APIQueryVolumeSnapshotTreeMsg.java +++ b/header/src/main/java/org/zstack/header/storage/snapshot/APIQueryVolumeSnapshotTreeMsg.java @@ -17,7 +17,7 @@ path = "/volume-snapshots/trees", optionalPaths = {"/volume-snapshots/trees/{uuid}"}, responseClass = APIQueryVolumeSnapshotTreeReply.class, - method = HttpMethod.GET + method = "GET" ) public class APIQueryVolumeSnapshotTreeMsg extends APIQueryMessage { diff --git a/header/src/main/java/org/zstack/header/storage/snapshot/APIRevertVolumeFromSnapshotMsg.java b/header/src/main/java/org/zstack/header/storage/snapshot/APIRevertVolumeFromSnapshotMsg.java index d3cccb44093..91503ea0421 100755 --- a/header/src/main/java/org/zstack/header/storage/snapshot/APIRevertVolumeFromSnapshotMsg.java +++ b/header/src/main/java/org/zstack/header/storage/snapshot/APIRevertVolumeFromSnapshotMsg.java @@ -44,7 +44,7 @@ @RestRequest( path = "/volume-snapshots/{uuid}/actions", isAction = true, - method = HttpMethod.PUT, + method = "PUT", responseClass = APIRevertVolumeFromSnapshotEvent.class ) @DefaultTimeout(timeunit = TimeUnit.HOURS, value = 24) diff --git a/header/src/main/java/org/zstack/header/storage/snapshot/APIShrinkVolumeSnapshotMsg.java b/header/src/main/java/org/zstack/header/storage/snapshot/APIShrinkVolumeSnapshotMsg.java index 9e04d6172e7..d27e3d88e1a 100644 --- a/header/src/main/java/org/zstack/header/storage/snapshot/APIShrinkVolumeSnapshotMsg.java +++ b/header/src/main/java/org/zstack/header/storage/snapshot/APIShrinkVolumeSnapshotMsg.java @@ -17,7 +17,7 @@ @Action(category = VolumeSnapshotConstant.ACTION_CATEGORY) @RestRequest( path = "/volume-snapshots/shrink/{uuid}/actions", - method = HttpMethod.PUT, + method = "PUT", responseClass = APIShrinkVolumeSnapshotEvent.class, isAction = true ) diff --git a/header/src/main/java/org/zstack/header/storage/snapshot/APIUpdateVolumeSnapshotMsg.java b/header/src/main/java/org/zstack/header/storage/snapshot/APIUpdateVolumeSnapshotMsg.java index 05a82f0d81e..fc290640388 100755 --- a/header/src/main/java/org/zstack/header/storage/snapshot/APIUpdateVolumeSnapshotMsg.java +++ b/header/src/main/java/org/zstack/header/storage/snapshot/APIUpdateVolumeSnapshotMsg.java @@ -14,7 +14,7 @@ @Action(category = VolumeSnapshotConstant.ACTION_CATEGORY) @RestRequest( path = "/volume-snapshots/{uuid}/actions", - method = HttpMethod.PUT, + method = "PUT", isAction = true, responseClass = APIUpdateVolumeSnapshotEvent.class ) diff --git a/header/src/main/java/org/zstack/header/storage/snapshot/VolumeSnapshotAO.java b/header/src/main/java/org/zstack/header/storage/snapshot/VolumeSnapshotAO.java index 434cf362b81..49a2db4a24d 100755 --- a/header/src/main/java/org/zstack/header/storage/snapshot/VolumeSnapshotAO.java +++ b/header/src/main/java/org/zstack/header/storage/snapshot/VolumeSnapshotAO.java @@ -8,7 +8,7 @@ import org.zstack.header.vo.ShadowEntity; import org.zstack.header.volume.VolumeEO; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; /** diff --git a/header/src/main/java/org/zstack/header/storage/snapshot/VolumeSnapshotAO_.java b/header/src/main/java/org/zstack/header/storage/snapshot/VolumeSnapshotAO_.java index 20c2d132348..47a49d9433b 100755 --- a/header/src/main/java/org/zstack/header/storage/snapshot/VolumeSnapshotAO_.java +++ b/header/src/main/java/org/zstack/header/storage/snapshot/VolumeSnapshotAO_.java @@ -3,8 +3,8 @@ import org.zstack.header.vo.ResourceVO_; import org.zstack.header.volume.VolumeType; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; /** diff --git a/header/src/main/java/org/zstack/header/storage/snapshot/VolumeSnapshotBackupStorageRefVO.java b/header/src/main/java/org/zstack/header/storage/snapshot/VolumeSnapshotBackupStorageRefVO.java index 52626a22136..9afacf96955 100755 --- a/header/src/main/java/org/zstack/header/storage/snapshot/VolumeSnapshotBackupStorageRefVO.java +++ b/header/src/main/java/org/zstack/header/storage/snapshot/VolumeSnapshotBackupStorageRefVO.java @@ -5,7 +5,7 @@ import org.zstack.header.vo.ForeignKey; import org.zstack.header.vo.ForeignKey.ReferenceOption; -import javax.persistence.*; +import jakarta.persistence.*; import java.io.Serializable; /** diff --git a/header/src/main/java/org/zstack/header/storage/snapshot/VolumeSnapshotBackupStorageRefVO_.java b/header/src/main/java/org/zstack/header/storage/snapshot/VolumeSnapshotBackupStorageRefVO_.java index 8f1f9ecfee3..ff4a087c0cf 100755 --- a/header/src/main/java/org/zstack/header/storage/snapshot/VolumeSnapshotBackupStorageRefVO_.java +++ b/header/src/main/java/org/zstack/header/storage/snapshot/VolumeSnapshotBackupStorageRefVO_.java @@ -1,7 +1,7 @@ package org.zstack.header.storage.snapshot; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; /** */ diff --git a/header/src/main/java/org/zstack/header/storage/snapshot/VolumeSnapshotEO.java b/header/src/main/java/org/zstack/header/storage/snapshot/VolumeSnapshotEO.java index c42930c0402..8665981c139 100755 --- a/header/src/main/java/org/zstack/header/storage/snapshot/VolumeSnapshotEO.java +++ b/header/src/main/java/org/zstack/header/storage/snapshot/VolumeSnapshotEO.java @@ -1,8 +1,8 @@ package org.zstack.header.storage.snapshot; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.Table; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.Table; /** */ diff --git a/header/src/main/java/org/zstack/header/storage/snapshot/VolumeSnapshotEO_.java b/header/src/main/java/org/zstack/header/storage/snapshot/VolumeSnapshotEO_.java index a196cebdab2..aee316c4dbf 100755 --- a/header/src/main/java/org/zstack/header/storage/snapshot/VolumeSnapshotEO_.java +++ b/header/src/main/java/org/zstack/header/storage/snapshot/VolumeSnapshotEO_.java @@ -1,7 +1,7 @@ package org.zstack.header.storage.snapshot; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; /** */ 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..0b3350b3274 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 @@ -6,7 +6,7 @@ import org.zstack.header.storage.snapshot.group.VolumeSnapshotGroupRefInventory; import org.zstack.header.volume.VolumeInventory; -import javax.persistence.JoinColumn; +import jakarta.persistence.JoinColumn; import java.sql.Timestamp; import java.util.ArrayList; import java.util.Collection; diff --git a/header/src/main/java/org/zstack/header/storage/snapshot/VolumeSnapshotTreeAO.java b/header/src/main/java/org/zstack/header/storage/snapshot/VolumeSnapshotTreeAO.java index fbf7ce6d480..8dca26380b3 100755 --- a/header/src/main/java/org/zstack/header/storage/snapshot/VolumeSnapshotTreeAO.java +++ b/header/src/main/java/org/zstack/header/storage/snapshot/VolumeSnapshotTreeAO.java @@ -5,7 +5,7 @@ import org.zstack.header.vo.ResourceVO; import org.zstack.header.volume.VolumeEO; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; /** diff --git a/header/src/main/java/org/zstack/header/storage/snapshot/VolumeSnapshotTreeAO_.java b/header/src/main/java/org/zstack/header/storage/snapshot/VolumeSnapshotTreeAO_.java index 071a48c448c..c80a6c71074 100755 --- a/header/src/main/java/org/zstack/header/storage/snapshot/VolumeSnapshotTreeAO_.java +++ b/header/src/main/java/org/zstack/header/storage/snapshot/VolumeSnapshotTreeAO_.java @@ -2,8 +2,8 @@ import org.zstack.header.vo.ResourceVO_; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; /** diff --git a/header/src/main/java/org/zstack/header/storage/snapshot/VolumeSnapshotTreeEO.java b/header/src/main/java/org/zstack/header/storage/snapshot/VolumeSnapshotTreeEO.java index e009c124bce..d43afc7be74 100755 --- a/header/src/main/java/org/zstack/header/storage/snapshot/VolumeSnapshotTreeEO.java +++ b/header/src/main/java/org/zstack/header/storage/snapshot/VolumeSnapshotTreeEO.java @@ -1,8 +1,8 @@ package org.zstack.header.storage.snapshot; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.Table; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.Table; /** */ diff --git a/header/src/main/java/org/zstack/header/storage/snapshot/VolumeSnapshotTreeEO_.java b/header/src/main/java/org/zstack/header/storage/snapshot/VolumeSnapshotTreeEO_.java index fcc09059fa3..851bdc7d550 100755 --- a/header/src/main/java/org/zstack/header/storage/snapshot/VolumeSnapshotTreeEO_.java +++ b/header/src/main/java/org/zstack/header/storage/snapshot/VolumeSnapshotTreeEO_.java @@ -1,7 +1,7 @@ package org.zstack.header.storage.snapshot; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; /** */ diff --git a/header/src/main/java/org/zstack/header/storage/snapshot/VolumeSnapshotTreeVO.java b/header/src/main/java/org/zstack/header/storage/snapshot/VolumeSnapshotTreeVO.java index 4355e166131..5dfd384660c 100755 --- a/header/src/main/java/org/zstack/header/storage/snapshot/VolumeSnapshotTreeVO.java +++ b/header/src/main/java/org/zstack/header/storage/snapshot/VolumeSnapshotTreeVO.java @@ -5,7 +5,7 @@ import org.zstack.header.vo.EntityGraph; import org.zstack.header.volume.VolumeVO; -import javax.persistence.*; +import jakarta.persistence.*; /** */ diff --git a/header/src/main/java/org/zstack/header/storage/snapshot/VolumeSnapshotTreeVO_.java b/header/src/main/java/org/zstack/header/storage/snapshot/VolumeSnapshotTreeVO_.java index 17f6e7b5000..dd2bea20939 100755 --- a/header/src/main/java/org/zstack/header/storage/snapshot/VolumeSnapshotTreeVO_.java +++ b/header/src/main/java/org/zstack/header/storage/snapshot/VolumeSnapshotTreeVO_.java @@ -1,6 +1,6 @@ package org.zstack.header.storage.snapshot; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.StaticMetamodel; /** */ 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..24d313784b6 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 @@ -7,7 +7,7 @@ import org.zstack.header.vo.*; import org.zstack.header.volume.VolumeVO; -import javax.persistence.*; +import jakarta.persistence.*; import java.util.ArrayList; import java.util.List; 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 2d5abaf4f7f..26f0ff7a1db 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 @@ -3,7 +3,7 @@ /** */ -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.StaticMetamodel; @StaticMetamodel(VolumeSnapshotVO.class) public class VolumeSnapshotVO_ extends VolumeSnapshotAO_ { diff --git a/header/src/main/java/org/zstack/header/storage/snapshot/group/APICheckVolumeSnapshotGroupAvailabilityMsg.java b/header/src/main/java/org/zstack/header/storage/snapshot/group/APICheckVolumeSnapshotGroupAvailabilityMsg.java index 91b2aff52eb..709520fdf4b 100644 --- a/header/src/main/java/org/zstack/header/storage/snapshot/group/APICheckVolumeSnapshotGroupAvailabilityMsg.java +++ b/header/src/main/java/org/zstack/header/storage/snapshot/group/APICheckVolumeSnapshotGroupAvailabilityMsg.java @@ -16,7 +16,7 @@ @Action(category = VolumeSnapshotConstant.ACTION_CATEGORY, names = {"read"}) @RestRequest( path = "/volume-snapshots/groups/availabilities", - method = HttpMethod.GET, + method = "GET", responseClass = APICheckVolumeSnapshotGroupAvailabilityReply.class ) public class APICheckVolumeSnapshotGroupAvailabilityMsg extends APISyncCallMessage { diff --git a/header/src/main/java/org/zstack/header/storage/snapshot/group/APIDeleteVolumeSnapshotGroupMsg.java b/header/src/main/java/org/zstack/header/storage/snapshot/group/APIDeleteVolumeSnapshotGroupMsg.java index 42fe3df00a9..d7c84f04984 100644 --- a/header/src/main/java/org/zstack/header/storage/snapshot/group/APIDeleteVolumeSnapshotGroupMsg.java +++ b/header/src/main/java/org/zstack/header/storage/snapshot/group/APIDeleteVolumeSnapshotGroupMsg.java @@ -18,7 +18,7 @@ @Action(category = VolumeSnapshotConstant.ACTION_CATEGORY) @RestRequest( path = "/volume-snapshots/group/{uuid}", - method = HttpMethod.DELETE, + method = "DELETE", responseClass = APIDeleteVolumeSnapshotGroupEvent.class ) @DefaultTimeout(timeunit = TimeUnit.HOURS, value = 3) diff --git a/header/src/main/java/org/zstack/header/storage/snapshot/group/APIQueryVolumeSnapshotGroupMsg.java b/header/src/main/java/org/zstack/header/storage/snapshot/group/APIQueryVolumeSnapshotGroupMsg.java index 46616a23ef9..267d9b45f48 100644 --- a/header/src/main/java/org/zstack/header/storage/snapshot/group/APIQueryVolumeSnapshotGroupMsg.java +++ b/header/src/main/java/org/zstack/header/storage/snapshot/group/APIQueryVolumeSnapshotGroupMsg.java @@ -18,7 +18,7 @@ @RestRequest( path = "/volume-snapshots/group", optionalPaths = {"/volume-snapshots/group/{uuid}"}, - method = HttpMethod.GET, + method = "GET", responseClass = APIQueryVolumeSnapshotGroupReply.class ) public class APIQueryVolumeSnapshotGroupMsg extends APIQueryMessage { diff --git a/header/src/main/java/org/zstack/header/storage/snapshot/group/APIRevertVmFromSnapshotGroupMsg.java b/header/src/main/java/org/zstack/header/storage/snapshot/group/APIRevertVmFromSnapshotGroupMsg.java index b19b4a9584d..e4837cca6de 100644 --- a/header/src/main/java/org/zstack/header/storage/snapshot/group/APIRevertVmFromSnapshotGroupMsg.java +++ b/header/src/main/java/org/zstack/header/storage/snapshot/group/APIRevertVmFromSnapshotGroupMsg.java @@ -23,7 +23,7 @@ @RestRequest( path = "/volume-snapshots/group/{uuid}/actions", isAction = true, - method = HttpMethod.PUT, + method = "PUT", responseClass = APIRevertVmFromSnapshotGroupEvent.class ) diff --git a/header/src/main/java/org/zstack/header/storage/snapshot/group/APIUngroupVolumeSnapshotGroupMsg.java b/header/src/main/java/org/zstack/header/storage/snapshot/group/APIUngroupVolumeSnapshotGroupMsg.java index d2f4c9ba057..8274764d857 100644 --- a/header/src/main/java/org/zstack/header/storage/snapshot/group/APIUngroupVolumeSnapshotGroupMsg.java +++ b/header/src/main/java/org/zstack/header/storage/snapshot/group/APIUngroupVolumeSnapshotGroupMsg.java @@ -14,7 +14,7 @@ @Action(category = VolumeSnapshotConstant.ACTION_CATEGORY) @RestRequest( path = "/volume-snapshots/ungroup/{uuid}", - method = HttpMethod.DELETE, + method = "DELETE", responseClass = APIUngroupVolumeSnapshotGroupEvent.class ) public class APIUngroupVolumeSnapshotGroupMsg extends APIMessage implements VolumeSnapshotGroupMessage { diff --git a/header/src/main/java/org/zstack/header/storage/snapshot/group/APIUpdateVolumeSnapshotGroupMsg.java b/header/src/main/java/org/zstack/header/storage/snapshot/group/APIUpdateVolumeSnapshotGroupMsg.java index 60efde9dd1c..7ab43e20367 100644 --- a/header/src/main/java/org/zstack/header/storage/snapshot/group/APIUpdateVolumeSnapshotGroupMsg.java +++ b/header/src/main/java/org/zstack/header/storage/snapshot/group/APIUpdateVolumeSnapshotGroupMsg.java @@ -14,7 +14,7 @@ @Action(category = VolumeSnapshotConstant.ACTION_CATEGORY) @RestRequest( path = "/volume-snapshots/group/{uuid}/actions", - method = HttpMethod.PUT, + method = "PUT", isAction = true, responseClass = APIUpdateVolumeSnapshotGroupEvent.class ) 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..4f3fd590476 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 @@ -3,7 +3,7 @@ import org.zstack.header.query.*; import org.zstack.header.search.Inventory; -import javax.persistence.JoinColumn; +import jakarta.persistence.JoinColumn; import java.sql.Timestamp; import java.util.Collection; import java.util.List; diff --git a/header/src/main/java/org/zstack/header/storage/snapshot/group/VolumeSnapshotGroupRefVO.java b/header/src/main/java/org/zstack/header/storage/snapshot/group/VolumeSnapshotGroupRefVO.java index 46ca80c8baf..61a5f9284a9 100644 --- a/header/src/main/java/org/zstack/header/storage/snapshot/group/VolumeSnapshotGroupRefVO.java +++ b/header/src/main/java/org/zstack/header/storage/snapshot/group/VolumeSnapshotGroupRefVO.java @@ -4,7 +4,7 @@ import org.zstack.header.vo.EntityGraph; import org.zstack.header.vo.ForeignKey; -import javax.persistence.*; +import jakarta.persistence.*; import java.io.Serializable; import java.sql.Timestamp; diff --git a/header/src/main/java/org/zstack/header/storage/snapshot/group/VolumeSnapshotGroupRefVO_.java b/header/src/main/java/org/zstack/header/storage/snapshot/group/VolumeSnapshotGroupRefVO_.java index b37d4f2d505..07e5dfa6a26 100644 --- a/header/src/main/java/org/zstack/header/storage/snapshot/group/VolumeSnapshotGroupRefVO_.java +++ b/header/src/main/java/org/zstack/header/storage/snapshot/group/VolumeSnapshotGroupRefVO_.java @@ -1,8 +1,8 @@ package org.zstack.header.storage.snapshot.group; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; /** diff --git a/header/src/main/java/org/zstack/header/storage/snapshot/group/VolumeSnapshotGroupVO.java b/header/src/main/java/org/zstack/header/storage/snapshot/group/VolumeSnapshotGroupVO.java index 7bda5519272..0df9cb79b3b 100644 --- a/header/src/main/java/org/zstack/header/storage/snapshot/group/VolumeSnapshotGroupVO.java +++ b/header/src/main/java/org/zstack/header/storage/snapshot/group/VolumeSnapshotGroupVO.java @@ -6,7 +6,7 @@ import org.zstack.header.vo.NoView; import org.zstack.header.vo.ResourceVO; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; import java.util.HashSet; import java.util.Set; diff --git a/header/src/main/java/org/zstack/header/storage/snapshot/group/VolumeSnapshotGroupVO_.java b/header/src/main/java/org/zstack/header/storage/snapshot/group/VolumeSnapshotGroupVO_.java index a864b225af6..77cc59e6850 100644 --- a/header/src/main/java/org/zstack/header/storage/snapshot/group/VolumeSnapshotGroupVO_.java +++ b/header/src/main/java/org/zstack/header/storage/snapshot/group/VolumeSnapshotGroupVO_.java @@ -2,8 +2,8 @@ import org.zstack.header.vo.ResourceVO_; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; /** diff --git a/header/src/main/java/org/zstack/header/storage/snapshot/reference/VolumeSnapshotReferenceTreeVO.java b/header/src/main/java/org/zstack/header/storage/snapshot/reference/VolumeSnapshotReferenceTreeVO.java index 021a611446e..741c73394b5 100644 --- a/header/src/main/java/org/zstack/header/storage/snapshot/reference/VolumeSnapshotReferenceTreeVO.java +++ b/header/src/main/java/org/zstack/header/storage/snapshot/reference/VolumeSnapshotReferenceTreeVO.java @@ -3,7 +3,7 @@ import org.zstack.header.vo.ResourceVO; import org.zstack.header.vo.ToInventory; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; @Entity diff --git a/header/src/main/java/org/zstack/header/storage/snapshot/reference/VolumeSnapshotReferenceTreeVO_.java b/header/src/main/java/org/zstack/header/storage/snapshot/reference/VolumeSnapshotReferenceTreeVO_.java index 0020210791c..d4096ed1642 100644 --- a/header/src/main/java/org/zstack/header/storage/snapshot/reference/VolumeSnapshotReferenceTreeVO_.java +++ b/header/src/main/java/org/zstack/header/storage/snapshot/reference/VolumeSnapshotReferenceTreeVO_.java @@ -2,8 +2,8 @@ import org.zstack.header.vo.ResourceVO_; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; @StaticMetamodel(VolumeSnapshotReferenceTreeVO.class) diff --git a/header/src/main/java/org/zstack/header/storage/snapshot/reference/VolumeSnapshotReferenceVO.java b/header/src/main/java/org/zstack/header/storage/snapshot/reference/VolumeSnapshotReferenceVO.java index c646c440847..8a0658f7d77 100644 --- a/header/src/main/java/org/zstack/header/storage/snapshot/reference/VolumeSnapshotReferenceVO.java +++ b/header/src/main/java/org/zstack/header/storage/snapshot/reference/VolumeSnapshotReferenceVO.java @@ -8,7 +8,7 @@ import org.zstack.header.volume.VolumeEO; import org.zstack.header.volume.VolumeVO; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; diff --git a/header/src/main/java/org/zstack/header/storage/snapshot/reference/VolumeSnapshotReferenceVO_.java b/header/src/main/java/org/zstack/header/storage/snapshot/reference/VolumeSnapshotReferenceVO_.java index 35a2e878ec1..4d9c8936b02 100644 --- a/header/src/main/java/org/zstack/header/storage/snapshot/reference/VolumeSnapshotReferenceVO_.java +++ b/header/src/main/java/org/zstack/header/storage/snapshot/reference/VolumeSnapshotReferenceVO_.java @@ -3,8 +3,8 @@ import org.zstack.header.storage.snapshot.VolumeSnapshotBackupStorageRefVO; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; @StaticMetamodel(VolumeSnapshotReferenceVO.class) public class VolumeSnapshotReferenceVO_ { diff --git a/header/src/main/java/org/zstack/header/tag/APICreateSystemTagMsg.java b/header/src/main/java/org/zstack/header/tag/APICreateSystemTagMsg.java index 6af21bd7786..31c64c12e55 100755 --- a/header/src/main/java/org/zstack/header/tag/APICreateSystemTagMsg.java +++ b/header/src/main/java/org/zstack/header/tag/APICreateSystemTagMsg.java @@ -9,7 +9,7 @@ @Action(category = TagConstant.ACTION_CATEGORY) @RestRequest( path = "/system-tags", - method = HttpMethod.POST, + method = "POST", responseClass = APICreateSystemTagEvent.class, parameterName = "params" ) diff --git a/header/src/main/java/org/zstack/header/tag/APICreateSystemTagsMsg.java b/header/src/main/java/org/zstack/header/tag/APICreateSystemTagsMsg.java index edd7ea7992c..c473f5b9e2f 100644 --- a/header/src/main/java/org/zstack/header/tag/APICreateSystemTagsMsg.java +++ b/header/src/main/java/org/zstack/header/tag/APICreateSystemTagsMsg.java @@ -12,7 +12,7 @@ @Action(category = TagConstant.ACTION_CATEGORY) @RestRequest( path = "/system-tags/{resourceUuid}/tags", - method = HttpMethod.POST, + method = "POST", responseClass = APICreateSystemTagsEvent.class, parameterName = "params" ) diff --git a/header/src/main/java/org/zstack/header/tag/APICreateUserTagMsg.java b/header/src/main/java/org/zstack/header/tag/APICreateUserTagMsg.java index 3bcc5f944c8..90213f3e6df 100755 --- a/header/src/main/java/org/zstack/header/tag/APICreateUserTagMsg.java +++ b/header/src/main/java/org/zstack/header/tag/APICreateUserTagMsg.java @@ -9,7 +9,7 @@ @Action(category = TagConstant.ACTION_CATEGORY) @RestRequest( path = "/user-tags", - method = HttpMethod.POST, + method = "POST", responseClass = APICreateUserTagEvent.class, parameterName = "params" ) diff --git a/header/src/main/java/org/zstack/header/tag/APIDeleteTagMsg.java b/header/src/main/java/org/zstack/header/tag/APIDeleteTagMsg.java index dcb6ce00895..b0806cad32e 100755 --- a/header/src/main/java/org/zstack/header/tag/APIDeleteTagMsg.java +++ b/header/src/main/java/org/zstack/header/tag/APIDeleteTagMsg.java @@ -11,7 +11,7 @@ @Action(category = TagConstant.ACTION_CATEGORY) @RestRequest( path = "/tags/{uuid}", - method = HttpMethod.DELETE, + method = "DELETE", responseClass = APIDeleteTagEvent.class ) public class APIDeleteTagMsg extends APIDeleteMessage { diff --git a/header/src/main/java/org/zstack/header/tag/APIQuerySystemTagMsg.java b/header/src/main/java/org/zstack/header/tag/APIQuerySystemTagMsg.java index d9e92fd102c..667c10742fe 100755 --- a/header/src/main/java/org/zstack/header/tag/APIQuerySystemTagMsg.java +++ b/header/src/main/java/org/zstack/header/tag/APIQuerySystemTagMsg.java @@ -17,7 +17,7 @@ @RestRequest( path = "/system-tags", optionalPaths = {"/system-tags/{uuid}"}, - method = HttpMethod.GET, + method = "GET", responseClass = APIQuerySystemTagReply.class ) public class APIQuerySystemTagMsg extends APIQueryMessage { diff --git a/header/src/main/java/org/zstack/header/tag/APIQueryUserTagMsg.java b/header/src/main/java/org/zstack/header/tag/APIQueryUserTagMsg.java index f16778c6324..1a87b823c98 100755 --- a/header/src/main/java/org/zstack/header/tag/APIQueryUserTagMsg.java +++ b/header/src/main/java/org/zstack/header/tag/APIQueryUserTagMsg.java @@ -19,7 +19,7 @@ path = "/user-tags", optionalPaths = {"/user-tags/{uuid}"}, responseClass = APIQueryUserTagReply.class, - method = HttpMethod.GET + method = "GET" ) public class APIQueryUserTagMsg extends APIQueryMessage { diff --git a/header/src/main/java/org/zstack/header/tag/APIUpdateSystemTagMsg.java b/header/src/main/java/org/zstack/header/tag/APIUpdateSystemTagMsg.java index 1df452213cb..410fcfc8745 100755 --- a/header/src/main/java/org/zstack/header/tag/APIUpdateSystemTagMsg.java +++ b/header/src/main/java/org/zstack/header/tag/APIUpdateSystemTagMsg.java @@ -14,7 +14,7 @@ path = "/system-tags/{uuid}/actions", responseClass = APIUpdateSystemTagEvent.class, isAction = true, - method = HttpMethod.PUT + method = "PUT" ) public class APIUpdateSystemTagMsg extends APIMessage { @APIParam(resourceType = SystemTagVO.class, checkAccount = true, operationTarget = true) diff --git a/header/src/main/java/org/zstack/header/tag/SystemTagVO.java b/header/src/main/java/org/zstack/header/tag/SystemTagVO.java index 33dd9b9fa2d..5e812516114 100755 --- a/header/src/main/java/org/zstack/header/tag/SystemTagVO.java +++ b/header/src/main/java/org/zstack/header/tag/SystemTagVO.java @@ -3,9 +3,9 @@ import org.zstack.header.vo.BaseResource; import org.zstack.header.vo.ToInventory; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.Table; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.Table; /** */ diff --git a/header/src/main/java/org/zstack/header/tag/SystemTagVO_.java b/header/src/main/java/org/zstack/header/tag/SystemTagVO_.java index 63f59baa8e0..6e8fe886f78 100755 --- a/header/src/main/java/org/zstack/header/tag/SystemTagVO_.java +++ b/header/src/main/java/org/zstack/header/tag/SystemTagVO_.java @@ -3,8 +3,8 @@ /** */ -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; @StaticMetamodel(SystemTagVO.class) public class SystemTagVO_ extends TagAO_ { diff --git a/header/src/main/java/org/zstack/header/tag/TagAO.java b/header/src/main/java/org/zstack/header/tag/TagAO.java index 834a1ff5270..8d2279170a5 100755 --- a/header/src/main/java/org/zstack/header/tag/TagAO.java +++ b/header/src/main/java/org/zstack/header/tag/TagAO.java @@ -3,7 +3,7 @@ import org.zstack.header.vo.Index; import org.zstack.header.vo.ResourceVO; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; /** diff --git a/header/src/main/java/org/zstack/header/tag/TagAO_.java b/header/src/main/java/org/zstack/header/tag/TagAO_.java index ee16f4db314..12e2934fd99 100755 --- a/header/src/main/java/org/zstack/header/tag/TagAO_.java +++ b/header/src/main/java/org/zstack/header/tag/TagAO_.java @@ -3,8 +3,8 @@ /** */ -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; @StaticMetamodel(TagAO.class) diff --git a/header/src/main/java/org/zstack/header/tag/TagPatternVO.java b/header/src/main/java/org/zstack/header/tag/TagPatternVO.java index fe35482ffa6..1ace5006f90 100644 --- a/header/src/main/java/org/zstack/header/tag/TagPatternVO.java +++ b/header/src/main/java/org/zstack/header/tag/TagPatternVO.java @@ -4,7 +4,7 @@ import org.zstack.header.vo.BaseResource; import org.zstack.header.vo.ResourceVO; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; @Entity diff --git a/header/src/main/java/org/zstack/header/tag/TagPatternVO_.java b/header/src/main/java/org/zstack/header/tag/TagPatternVO_.java index 7cdc57eb5b4..01850daa2ab 100644 --- a/header/src/main/java/org/zstack/header/tag/TagPatternVO_.java +++ b/header/src/main/java/org/zstack/header/tag/TagPatternVO_.java @@ -2,8 +2,8 @@ import org.zstack.header.vo.ResourceVO_; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; @StaticMetamodel(TagPatternVO.class) 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..83685aefe2e 100755 --- a/header/src/main/java/org/zstack/header/tag/UserTagVO.java +++ b/header/src/main/java/org/zstack/header/tag/UserTagVO.java @@ -5,7 +5,7 @@ import org.zstack.header.vo.ForeignKey; import org.zstack.header.vo.Index; -import javax.persistence.*; +import jakarta.persistence.*; /** */ 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 c6da0910d45..54790f4a183 100755 --- a/header/src/main/java/org/zstack/header/tag/UserTagVO_.java +++ b/header/src/main/java/org/zstack/header/tag/UserTagVO_.java @@ -3,8 +3,8 @@ /** */ -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; @StaticMetamodel(UserTagVO.class) public class UserTagVO_ extends TagAO_ { diff --git a/header/src/main/java/org/zstack/header/vm/APIAttachIsoToVmInstanceMsg.java b/header/src/main/java/org/zstack/header/vm/APIAttachIsoToVmInstanceMsg.java index 023af7a491c..58c72d6fc44 100755 --- a/header/src/main/java/org/zstack/header/vm/APIAttachIsoToVmInstanceMsg.java +++ b/header/src/main/java/org/zstack/header/vm/APIAttachIsoToVmInstanceMsg.java @@ -15,7 +15,7 @@ @Action(category = VmInstanceConstant.ACTION_CATEGORY) @RestRequest( path = "/vm-instances/{vmInstanceUuid}/iso/{isoUuid}", - method = HttpMethod.POST, + method = "POST", responseClass = APIAttachIsoToVmInstanceEvent.class, parameterName = "null" ) diff --git a/header/src/main/java/org/zstack/header/vm/APIAttachL3NetworkToVmMsg.java b/header/src/main/java/org/zstack/header/vm/APIAttachL3NetworkToVmMsg.java index 639b3740f34..7cdfe969ddb 100755 --- a/header/src/main/java/org/zstack/header/vm/APIAttachL3NetworkToVmMsg.java +++ b/header/src/main/java/org/zstack/header/vm/APIAttachL3NetworkToVmMsg.java @@ -44,7 +44,7 @@ @RestRequest( path = "/vm-instances/{vmInstanceUuid}/l3-networks/{l3NetworkUuid}", parameterName = "params", - method = HttpMethod.POST, + method = "POST", responseClass = APIAttachL3NetworkToVmEvent.class ) public class APIAttachL3NetworkToVmMsg extends APIMessage implements VmInstanceMessage { diff --git a/header/src/main/java/org/zstack/header/vm/APIAttachL3NetworkToVmNicMsg.java b/header/src/main/java/org/zstack/header/vm/APIAttachL3NetworkToVmNicMsg.java index 14aef919da3..131d990e955 100755 --- a/header/src/main/java/org/zstack/header/vm/APIAttachL3NetworkToVmNicMsg.java +++ b/header/src/main/java/org/zstack/header/vm/APIAttachL3NetworkToVmNicMsg.java @@ -12,7 +12,7 @@ @RestRequest( path = "/nics/{vmNicUuid}/l3-networks/{l3NetworkUuid}", parameterName = "params", - method = HttpMethod.POST, + method = "POST", responseClass = APIAttachL3NetworkToVmNicEvent.class ) @Deprecated diff --git a/header/src/main/java/org/zstack/header/vm/APIAttachVmNicToVmMsg.java b/header/src/main/java/org/zstack/header/vm/APIAttachVmNicToVmMsg.java index 63b8b76c53e..d55837dcf4b 100644 --- a/header/src/main/java/org/zstack/header/vm/APIAttachVmNicToVmMsg.java +++ b/header/src/main/java/org/zstack/header/vm/APIAttachVmNicToVmMsg.java @@ -10,7 +10,7 @@ @Action(category = VmInstanceConstant.ACTION_CATEGORY) @RestRequest( path = "/vm-instances/{vmInstanceUuid}/nices/{vmNicUuid}", - method = HttpMethod.POST, + method = "POST", responseClass = APIAttachVmNicToVmEvent.class, parameterName = "params" ) diff --git a/header/src/main/java/org/zstack/header/vm/APIChangeInstanceOfferingMsg.java b/header/src/main/java/org/zstack/header/vm/APIChangeInstanceOfferingMsg.java index 31572a0ca4e..df2460c91b0 100755 --- a/header/src/main/java/org/zstack/header/vm/APIChangeInstanceOfferingMsg.java +++ b/header/src/main/java/org/zstack/header/vm/APIChangeInstanceOfferingMsg.java @@ -15,7 +15,7 @@ @RestRequest( path = "/vm-instances/{vmInstanceUuid}/actions", isAction = true, - method = HttpMethod.PUT, + method = "PUT", responseClass = APIChangeInstanceOfferingEvent.class ) public class APIChangeInstanceOfferingMsg extends APIMessage implements VmInstanceMessage { diff --git a/header/src/main/java/org/zstack/header/vm/APIChangeVmNicNetworkMsg.java b/header/src/main/java/org/zstack/header/vm/APIChangeVmNicNetworkMsg.java index c00ab47e904..8faca167ea1 100644 --- a/header/src/main/java/org/zstack/header/vm/APIChangeVmNicNetworkMsg.java +++ b/header/src/main/java/org/zstack/header/vm/APIChangeVmNicNetworkMsg.java @@ -15,7 +15,7 @@ @RestRequest( path = "/vm-instances/nics/{vmNicUuid}/l3-networks/{destL3NetworkUuid}", parameterName = "params", - method = HttpMethod.POST, + method = "POST", responseClass = APIChangeVmNicNetworkEvent.class ) public class APIChangeVmNicNetworkMsg extends APIMessage implements VmInstanceMessage{ diff --git a/header/src/main/java/org/zstack/header/vm/APIChangeVmNicStateMsg.java b/header/src/main/java/org/zstack/header/vm/APIChangeVmNicStateMsg.java index 9e8dfee3962..498fff46f56 100644 --- a/header/src/main/java/org/zstack/header/vm/APIChangeVmNicStateMsg.java +++ b/header/src/main/java/org/zstack/header/vm/APIChangeVmNicStateMsg.java @@ -20,7 +20,7 @@ @Action(category = VmInstanceConstant.ACTION_CATEGORY) @RestRequest( path = "/vm-instances/nics/{vmNicUuid}/actions", - method = HttpMethod.PUT, + method = "PUT", responseClass = APIChangeVmNicStateEvent.class, isAction = true ) 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..d84dc0b7c0c 100644 --- a/header/src/main/java/org/zstack/header/vm/APICreateVmInstanceFromVolumeMsg.java +++ b/header/src/main/java/org/zstack/header/vm/APICreateVmInstanceFromVolumeMsg.java @@ -25,7 +25,7 @@ @Action(category = VmInstanceConstant.ACTION_CATEGORY) @RestRequest( path = "/vm-instances/from/volume", - method = HttpMethod.POST, + method = "POST", responseClass = APICreateVmInstanceFromVolumeEvent.class, parameterName = "params" ) diff --git a/header/src/main/java/org/zstack/header/vm/APICreateVmInstanceFromVolumeSnapshotGroupMsg.java b/header/src/main/java/org/zstack/header/vm/APICreateVmInstanceFromVolumeSnapshotGroupMsg.java index 6c0155ca41b..3ed75d47016 100644 --- a/header/src/main/java/org/zstack/header/vm/APICreateVmInstanceFromVolumeSnapshotGroupMsg.java +++ b/header/src/main/java/org/zstack/header/vm/APICreateVmInstanceFromVolumeSnapshotGroupMsg.java @@ -29,7 +29,7 @@ @Action(category = VmInstanceConstant.ACTION_CATEGORY) @RestRequest( path = "/vm-instances/from/volume-snapshots/group/{volumeSnapshotGroupUuid}", - method = HttpMethod.POST, + method = "POST", responseClass = APICreateVmInstanceFromVolumeSnapshotGroupEvent.class, parameterName = "params" ) 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..efcda8c1291 100644 --- a/header/src/main/java/org/zstack/header/vm/APICreateVmInstanceFromVolumeSnapshotMsg.java +++ b/header/src/main/java/org/zstack/header/vm/APICreateVmInstanceFromVolumeSnapshotMsg.java @@ -25,7 +25,7 @@ @Action(category = VmInstanceConstant.ACTION_CATEGORY) @RestRequest( path = "/vm-instances/from/volume-snapshots/{volumeSnapshotUuid}", - method = HttpMethod.POST, + method = "POST", responseClass = APICreateVmInstanceFromVolumeSnapshotEvent.class, parameterName = "params" ) 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..26432ac61dd 100755 --- a/header/src/main/java/org/zstack/header/vm/APICreateVmInstanceMsg.java +++ b/header/src/main/java/org/zstack/header/vm/APICreateVmInstanceMsg.java @@ -77,7 +77,7 @@ @Action(category = VmInstanceConstant.ACTION_CATEGORY) @RestRequest( path = "/vm-instances", - method = HttpMethod.POST, + method = "POST", responseClass = APICreateVmInstanceEvent.class, parameterName = "params" ) diff --git a/header/src/main/java/org/zstack/header/vm/APICreateVmNicMsg.java b/header/src/main/java/org/zstack/header/vm/APICreateVmNicMsg.java index b3c015eee60..c94501ef4f7 100644 --- a/header/src/main/java/org/zstack/header/vm/APICreateVmNicMsg.java +++ b/header/src/main/java/org/zstack/header/vm/APICreateVmNicMsg.java @@ -16,7 +16,7 @@ @Action(category = VmInstanceConstant.ACTION_CATEGORY) @RestRequest( path = "/nics", - method = HttpMethod.POST, + method = "POST", responseClass = APICreateVmNicEvent.class, parameterName = "params" ) diff --git a/header/src/main/java/org/zstack/header/vm/APIDeleteVmBootModeMsg.java b/header/src/main/java/org/zstack/header/vm/APIDeleteVmBootModeMsg.java index 6c64ae56e30..d5ae6112761 100644 --- a/header/src/main/java/org/zstack/header/vm/APIDeleteVmBootModeMsg.java +++ b/header/src/main/java/org/zstack/header/vm/APIDeleteVmBootModeMsg.java @@ -9,7 +9,7 @@ @Action(category = VmInstanceConstant.ACTION_CATEGORY) @RestRequest( path = "/vm-instances/{uuid}/bootmode", - method = HttpMethod.DELETE, + method = "DELETE", responseClass = APIDeleteVmBootModeEvent.class ) public class APIDeleteVmBootModeMsg extends APIDeleteMessage implements VmInstanceMessage { diff --git a/header/src/main/java/org/zstack/header/vm/APIDeleteVmConsolePasswordMsg.java b/header/src/main/java/org/zstack/header/vm/APIDeleteVmConsolePasswordMsg.java index 6e75261177f..0786b935bf9 100755 --- a/header/src/main/java/org/zstack/header/vm/APIDeleteVmConsolePasswordMsg.java +++ b/header/src/main/java/org/zstack/header/vm/APIDeleteVmConsolePasswordMsg.java @@ -13,7 +13,7 @@ @Action(category = VmInstanceConstant.ACTION_CATEGORY) @RestRequest( path = "/vm-instances/{uuid}/console-password", - method = HttpMethod.DELETE, + method = "DELETE", responseClass = APIDeleteVmConsolePasswordEvent.class ) public class APIDeleteVmConsolePasswordMsg extends APIMessage implements VmInstanceMessage { diff --git a/header/src/main/java/org/zstack/header/vm/APIDeleteVmHostnameMsg.java b/header/src/main/java/org/zstack/header/vm/APIDeleteVmHostnameMsg.java index 0678d30b0d3..88e1e4fac66 100755 --- a/header/src/main/java/org/zstack/header/vm/APIDeleteVmHostnameMsg.java +++ b/header/src/main/java/org/zstack/header/vm/APIDeleteVmHostnameMsg.java @@ -14,7 +14,7 @@ @Action(category = VmInstanceConstant.ACTION_CATEGORY) @RestRequest( path = "/vm-instances/{uuid}/hostnames", - method = HttpMethod.DELETE, + method = "DELETE", responseClass = APIDeleteVmHostnameEvent.class ) public class APIDeleteVmHostnameMsg extends APIDeleteMessage implements VmInstanceMessage { diff --git a/header/src/main/java/org/zstack/header/vm/APIDeleteVmNicMsg.java b/header/src/main/java/org/zstack/header/vm/APIDeleteVmNicMsg.java index 06fd0c0990c..acc1b03ac2c 100644 --- a/header/src/main/java/org/zstack/header/vm/APIDeleteVmNicMsg.java +++ b/header/src/main/java/org/zstack/header/vm/APIDeleteVmNicMsg.java @@ -9,7 +9,7 @@ @Action(category = VmInstanceConstant.ACTION_CATEGORY) @RestRequest( path = "/nics/{uuid}", - method = HttpMethod.DELETE, + method = "DELETE", responseClass = APIDeleteVmNicEvent.class ) public class APIDeleteVmNicMsg extends APIDeleteMessage { diff --git a/header/src/main/java/org/zstack/header/vm/APIDeleteVmSshKeyMsg.java b/header/src/main/java/org/zstack/header/vm/APIDeleteVmSshKeyMsg.java index 16f197688ce..c390b6d2080 100755 --- a/header/src/main/java/org/zstack/header/vm/APIDeleteVmSshKeyMsg.java +++ b/header/src/main/java/org/zstack/header/vm/APIDeleteVmSshKeyMsg.java @@ -12,7 +12,7 @@ @Action(category = VmInstanceConstant.ACTION_CATEGORY) @RestRequest( path = "/vm-instances/{uuid}/ssh-keys", - method = HttpMethod.DELETE, + method = "DELETE", responseClass = APIDeleteVmSshKeyEvent.class ) public class APIDeleteVmSshKeyMsg extends APIMessage implements VmInstanceMessage { diff --git a/header/src/main/java/org/zstack/header/vm/APIDeleteVmStaticIpMsg.java b/header/src/main/java/org/zstack/header/vm/APIDeleteVmStaticIpMsg.java index f36a0fe3c89..5882e9dd2b4 100755 --- a/header/src/main/java/org/zstack/header/vm/APIDeleteVmStaticIpMsg.java +++ b/header/src/main/java/org/zstack/header/vm/APIDeleteVmStaticIpMsg.java @@ -14,7 +14,7 @@ @Action(category = VmInstanceConstant.ACTION_CATEGORY) @RestRequest( path = "/vm-instances/{vmInstanceUuid}/static-ips", - method = HttpMethod.DELETE, + method = "DELETE", responseClass = APIDeleteVmStaticIpEvent.class ) public class APIDeleteVmStaticIpMsg extends APIDeleteMessage implements VmInstanceMessage { diff --git a/header/src/main/java/org/zstack/header/vm/APIDestroyVmInstanceMsg.java b/header/src/main/java/org/zstack/header/vm/APIDestroyVmInstanceMsg.java index 48ddc924cce..cef890f25c1 100755 --- a/header/src/main/java/org/zstack/header/vm/APIDestroyVmInstanceMsg.java +++ b/header/src/main/java/org/zstack/header/vm/APIDestroyVmInstanceMsg.java @@ -38,7 +38,7 @@ @Action(category = VmInstanceConstant.ACTION_CATEGORY) @RestRequest( path = "/vm-instances/{uuid}", - method = HttpMethod.DELETE, + method = "DELETE", responseClass = APIDestroyVmInstanceEvent.class ) public class APIDestroyVmInstanceMsg extends APIDeleteMessage implements VmInstanceMessage { diff --git a/header/src/main/java/org/zstack/header/vm/APIDetachIsoFromVmInstanceMsg.java b/header/src/main/java/org/zstack/header/vm/APIDetachIsoFromVmInstanceMsg.java index 1e1b66e3146..44a14c4b446 100755 --- a/header/src/main/java/org/zstack/header/vm/APIDetachIsoFromVmInstanceMsg.java +++ b/header/src/main/java/org/zstack/header/vm/APIDetachIsoFromVmInstanceMsg.java @@ -15,7 +15,7 @@ @Action(category = VmInstanceConstant.ACTION_CATEGORY) @RestRequest( path = "/vm-instances/{vmInstanceUuid}/iso", - method = HttpMethod.DELETE, + method = "DELETE", responseClass = APIDetachIsoFromVmInstanceEvent.class ) public class APIDetachIsoFromVmInstanceMsg extends APIMessage implements VmInstanceMessage, APIAuditor { diff --git a/header/src/main/java/org/zstack/header/vm/APIDetachL3NetworkFromVmMsg.java b/header/src/main/java/org/zstack/header/vm/APIDetachL3NetworkFromVmMsg.java index 4c5bf1b72ec..c5cfafe3f80 100755 --- a/header/src/main/java/org/zstack/header/vm/APIDetachL3NetworkFromVmMsg.java +++ b/header/src/main/java/org/zstack/header/vm/APIDetachL3NetworkFromVmMsg.java @@ -20,7 +20,7 @@ @Action(category = VmInstanceConstant.ACTION_CATEGORY) @RestRequest( path = "/vm-instances/nics/{vmNicUuid}", - method = HttpMethod.DELETE, + method = "DELETE", responseClass = APIDetachL3NetworkFromVmEvent.class ) public class APIDetachL3NetworkFromVmMsg extends APIMessage implements VmInstanceMessage, APIMultiAuditor { diff --git a/header/src/main/java/org/zstack/header/vm/APIExpungeVmInstanceMsg.java b/header/src/main/java/org/zstack/header/vm/APIExpungeVmInstanceMsg.java index 92fad2b9d64..48707f18791 100755 --- a/header/src/main/java/org/zstack/header/vm/APIExpungeVmInstanceMsg.java +++ b/header/src/main/java/org/zstack/header/vm/APIExpungeVmInstanceMsg.java @@ -18,7 +18,7 @@ path = "/vm-instances/{uuid}/actions", isAction = true, responseClass = APIExpungeVmInstanceEvent.class, - method = HttpMethod.PUT + method = "PUT" ) @DefaultTimeout(timeunit = TimeUnit.HOURS, value = 3) public class APIExpungeVmInstanceMsg extends APIMessage implements VmInstanceMessage { diff --git a/header/src/main/java/org/zstack/header/vm/APIFlattenVmInstanceMsg.java b/header/src/main/java/org/zstack/header/vm/APIFlattenVmInstanceMsg.java index dade965a8a6..d46e7cd03f0 100644 --- a/header/src/main/java/org/zstack/header/vm/APIFlattenVmInstanceMsg.java +++ b/header/src/main/java/org/zstack/header/vm/APIFlattenVmInstanceMsg.java @@ -15,7 +15,7 @@ @Action(category = VmInstanceConstant.ACTION_CATEGORY) @DefaultTimeout(timeunit = TimeUnit.HOURS, value = 36) @RestRequest(path = "/vm-instances/{uuid}/actions", - method = HttpMethod.PUT, + method = "PUT", responseClass = APIFlattenVmInstanceEvent.class, isAction = true ) diff --git a/header/src/main/java/org/zstack/header/vm/APIFstrimVmMsg.java b/header/src/main/java/org/zstack/header/vm/APIFstrimVmMsg.java index 3e6e9e50960..e6aa67d3b05 100644 --- a/header/src/main/java/org/zstack/header/vm/APIFstrimVmMsg.java +++ b/header/src/main/java/org/zstack/header/vm/APIFstrimVmMsg.java @@ -11,7 +11,7 @@ @RestRequest( path = "/vm-instances/{uuid}/actions", responseClass = APIFstrimVmEvent.class, - method = HttpMethod.POST, + method = "POST", parameterName = "params" ) public class APIFstrimVmMsg extends APIMessage implements VmInstanceMessage { diff --git a/header/src/main/java/org/zstack/header/vm/APIGetCandidateIsoForAttachingVmMsg.java b/header/src/main/java/org/zstack/header/vm/APIGetCandidateIsoForAttachingVmMsg.java index 92080d83ffb..424c6703eec 100755 --- a/header/src/main/java/org/zstack/header/vm/APIGetCandidateIsoForAttachingVmMsg.java +++ b/header/src/main/java/org/zstack/header/vm/APIGetCandidateIsoForAttachingVmMsg.java @@ -12,7 +12,7 @@ @Action(category = VmInstanceConstant.ACTION_CATEGORY, names = {"read"}) @RestRequest( path = "/vm-instances/{vmInstanceUuid}/iso-candidates", - method = HttpMethod.GET, + method = "GET", responseClass = APIGetCandidateIsoForAttachingVmReply.class ) public class APIGetCandidateIsoForAttachingVmMsg extends APISyncCallMessage implements VmInstanceMessage { diff --git a/header/src/main/java/org/zstack/header/vm/APIGetCandidateL3NetworksForChangeVmNicNetworkMsg.java b/header/src/main/java/org/zstack/header/vm/APIGetCandidateL3NetworksForChangeVmNicNetworkMsg.java index d288453377a..ae39b31c662 100644 --- a/header/src/main/java/org/zstack/header/vm/APIGetCandidateL3NetworksForChangeVmNicNetworkMsg.java +++ b/header/src/main/java/org/zstack/header/vm/APIGetCandidateL3NetworksForChangeVmNicNetworkMsg.java @@ -10,7 +10,7 @@ @Action(category = VmInstanceConstant.ACTION_CATEGORY, names = {"read"}) @RestRequest( path = "/vm-instances/nics/{vmNicUuid}/l3-networks-candidates", - method = HttpMethod.GET, + method = "GET", responseClass = APIGetCandidateL3NetworksForChangeVmNicNetworkReply.class ) public class APIGetCandidateL3NetworksForChangeVmNicNetworkMsg extends APISyncCallMessage implements VmInstanceMessage { diff --git a/header/src/main/java/org/zstack/header/vm/APIGetCandidatePrimaryStoragesForCreatingVmMsg.java b/header/src/main/java/org/zstack/header/vm/APIGetCandidatePrimaryStoragesForCreatingVmMsg.java index 3ea3c9375c0..19bdd9b47b6 100644 --- a/header/src/main/java/org/zstack/header/vm/APIGetCandidatePrimaryStoragesForCreatingVmMsg.java +++ b/header/src/main/java/org/zstack/header/vm/APIGetCandidatePrimaryStoragesForCreatingVmMsg.java @@ -20,7 +20,7 @@ @Action(category = VmInstanceConstant.ACTION_CATEGORY, names = {"read"}) @RestRequest( path = "/vm-instances/candidate-storages", - method = HttpMethod.GET, + method = "GET", responseClass = APIGetCandidatePrimaryStoragesForCreatingVmReply.class ) diff --git a/header/src/main/java/org/zstack/header/vm/APIGetCandidateVmForAttachingIsoMsg.java b/header/src/main/java/org/zstack/header/vm/APIGetCandidateVmForAttachingIsoMsg.java index e81a465877b..824e4d09f4a 100755 --- a/header/src/main/java/org/zstack/header/vm/APIGetCandidateVmForAttachingIsoMsg.java +++ b/header/src/main/java/org/zstack/header/vm/APIGetCandidateVmForAttachingIsoMsg.java @@ -13,7 +13,7 @@ @Action(category = VmInstanceConstant.ACTION_CATEGORY, names = {"read"}) @RestRequest( path = "/images/iso/{isoUuid}/vm-candidates", - method = HttpMethod.GET, + method = "GET", responseClass = APIGetCandidateVmForAttachingIsoReply.class ) public class APIGetCandidateVmForAttachingIsoMsg extends APISyncCallMessage { diff --git a/header/src/main/java/org/zstack/header/vm/APIGetCandidateZonesClustersHostsForCreatingVmMsg.java b/header/src/main/java/org/zstack/header/vm/APIGetCandidateZonesClustersHostsForCreatingVmMsg.java index 0b35d5f7d77..98f862c08a5 100755 --- a/header/src/main/java/org/zstack/header/vm/APIGetCandidateZonesClustersHostsForCreatingVmMsg.java +++ b/header/src/main/java/org/zstack/header/vm/APIGetCandidateZonesClustersHostsForCreatingVmMsg.java @@ -20,7 +20,7 @@ @Action(category = VmInstanceConstant.ACTION_CATEGORY, names = {"read"}) @RestRequest( path = "/vm-instances/candidate-destinations", - method = HttpMethod.GET, + method = "GET", responseClass = APIGetCandidateZonesClustersHostsForCreatingVmReply.class ) public class APIGetCandidateZonesClustersHostsForCreatingVmMsg extends APISyncCallMessage { diff --git a/header/src/main/java/org/zstack/header/vm/APIGetInterdependentL3NetworksBackupStoragesMsg.java b/header/src/main/java/org/zstack/header/vm/APIGetInterdependentL3NetworksBackupStoragesMsg.java index 6ba5674650d..4d98e09bf05 100644 --- a/header/src/main/java/org/zstack/header/vm/APIGetInterdependentL3NetworksBackupStoragesMsg.java +++ b/header/src/main/java/org/zstack/header/vm/APIGetInterdependentL3NetworksBackupStoragesMsg.java @@ -17,7 +17,7 @@ @Action(category = VmInstanceConstant.ACTION_CATEGORY, names = {"read"}) @RestRequest( path = "/backupStorage-l3networks/dependencies", - method = HttpMethod.GET, + method = "GET", responseClass = APIGetInterdependentL3NetworksBackupStoragesReply.class ) public class APIGetInterdependentL3NetworksBackupStoragesMsg extends APISyncCallMessage { diff --git a/header/src/main/java/org/zstack/header/vm/APIGetInterdependentL3NetworksImagesMsg.java b/header/src/main/java/org/zstack/header/vm/APIGetInterdependentL3NetworksImagesMsg.java index f4879f61e66..abd0015afe1 100755 --- a/header/src/main/java/org/zstack/header/vm/APIGetInterdependentL3NetworksImagesMsg.java +++ b/header/src/main/java/org/zstack/header/vm/APIGetInterdependentL3NetworksImagesMsg.java @@ -17,7 +17,7 @@ @Action(category = VmInstanceConstant.ACTION_CATEGORY, names = {"read"}) @RestRequest( path = "/images-l3networks/dependencies", - method = HttpMethod.GET, + method = "GET", responseClass = APIGetInterdependentL3NetworkImageReply.class ) public class APIGetInterdependentL3NetworksImagesMsg extends APISyncCallMessage { diff --git a/header/src/main/java/org/zstack/header/vm/APIGetMemorySnapshotGroupReferenceMsg.java b/header/src/main/java/org/zstack/header/vm/APIGetMemorySnapshotGroupReferenceMsg.java index 2cbf1dfdbd3..75850df3dc1 100644 --- a/header/src/main/java/org/zstack/header/vm/APIGetMemorySnapshotGroupReferenceMsg.java +++ b/header/src/main/java/org/zstack/header/vm/APIGetMemorySnapshotGroupReferenceMsg.java @@ -15,7 +15,7 @@ @Action(category = VolumeSnapshotConstant.ACTION_CATEGORY, names = {"read"}) @RestRequest( path = "/memory-snapshots/group/reference", - method = HttpMethod.GET, + method = "GET", responseClass = APIGetMemorySnapshotGroupReferenceReply.class ) public class APIGetMemorySnapshotGroupReferenceMsg extends APISyncCallMessage { diff --git a/header/src/main/java/org/zstack/header/vm/APIGetSpiceCertificatesMsg.java b/header/src/main/java/org/zstack/header/vm/APIGetSpiceCertificatesMsg.java index 92029a6872a..de389b3d45c 100644 --- a/header/src/main/java/org/zstack/header/vm/APIGetSpiceCertificatesMsg.java +++ b/header/src/main/java/org/zstack/header/vm/APIGetSpiceCertificatesMsg.java @@ -8,7 +8,7 @@ @Action(category = VmInstanceConstant.ACTION_CATEGORY, names = {"read"}) @RestRequest( path = "/spice/certificates", - method = HttpMethod.GET, + method = "GET", responseClass = APIGetSpiceCertificatesReply.class ) public class APIGetSpiceCertificatesMsg extends APISyncCallMessage { diff --git a/header/src/main/java/org/zstack/header/vm/APIGetVmAttachableDataVolumeMsg.java b/header/src/main/java/org/zstack/header/vm/APIGetVmAttachableDataVolumeMsg.java index beb748fd538..ffc484fe022 100755 --- a/header/src/main/java/org/zstack/header/vm/APIGetVmAttachableDataVolumeMsg.java +++ b/header/src/main/java/org/zstack/header/vm/APIGetVmAttachableDataVolumeMsg.java @@ -11,7 +11,7 @@ @Action(category = VmInstanceConstant.ACTION_CATEGORY, names = {"read"}) @RestRequest( path = "/vm-instances/{vmInstanceUuid}/data-volume-candidates", - method = HttpMethod.GET, + method = "GET", responseClass = APIGetVmAttachableDataVolumeReply.class ) public class APIGetVmAttachableDataVolumeMsg extends APISyncCallMessage implements VmInstanceMessage { diff --git a/header/src/main/java/org/zstack/header/vm/APIGetVmAttachableL3NetworkMsg.java b/header/src/main/java/org/zstack/header/vm/APIGetVmAttachableL3NetworkMsg.java index 42b52037bc4..df737d9b916 100755 --- a/header/src/main/java/org/zstack/header/vm/APIGetVmAttachableL3NetworkMsg.java +++ b/header/src/main/java/org/zstack/header/vm/APIGetVmAttachableL3NetworkMsg.java @@ -12,7 +12,7 @@ @Action(category = VmInstanceConstant.ACTION_CATEGORY, names = {"read"}) @RestRequest( path = "/vm-instances/{vmInstanceUuid}/l3-networks-candidates", - method = HttpMethod.GET, + method = "GET", responseClass = APIGetVmAttachableL3NetworkReply.class ) public class APIGetVmAttachableL3NetworkMsg extends APISyncCallMessage implements VmInstanceMessage { diff --git a/header/src/main/java/org/zstack/header/vm/APIGetVmBootOrderMsg.java b/header/src/main/java/org/zstack/header/vm/APIGetVmBootOrderMsg.java index 049e5f20869..a20d46f77a3 100755 --- a/header/src/main/java/org/zstack/header/vm/APIGetVmBootOrderMsg.java +++ b/header/src/main/java/org/zstack/header/vm/APIGetVmBootOrderMsg.java @@ -12,7 +12,7 @@ @Action(category = VmInstanceConstant.ACTION_CATEGORY, names = {"read"}) @RestRequest( path = "/vm-instances/{uuid}/boot-orders", - method = HttpMethod.GET, + method = "GET", responseClass = APIGetVmBootOrderReply.class ) public class APIGetVmBootOrderMsg extends APISyncCallMessage implements VmInstanceMessage { diff --git a/header/src/main/java/org/zstack/header/vm/APIGetVmCapabilitiesMsg.java b/header/src/main/java/org/zstack/header/vm/APIGetVmCapabilitiesMsg.java index bc2dbfd8c1f..8dfdc1bf2a1 100755 --- a/header/src/main/java/org/zstack/header/vm/APIGetVmCapabilitiesMsg.java +++ b/header/src/main/java/org/zstack/header/vm/APIGetVmCapabilitiesMsg.java @@ -13,7 +13,7 @@ @RestRequest( path = "/vm-instances/{uuid}/capabilities", responseClass = APIGetVmCapabilitiesReply.class, - method = HttpMethod.GET + method = "GET" ) public class APIGetVmCapabilitiesMsg extends APISyncCallMessage implements VmInstanceMessage { @APIParam(resourceType = VmInstanceVO.class, checkAccount = true, operationTarget = true) diff --git a/header/src/main/java/org/zstack/header/vm/APIGetVmConsoleAddressMsg.java b/header/src/main/java/org/zstack/header/vm/APIGetVmConsoleAddressMsg.java index 3a572490150..80f42352f19 100755 --- a/header/src/main/java/org/zstack/header/vm/APIGetVmConsoleAddressMsg.java +++ b/header/src/main/java/org/zstack/header/vm/APIGetVmConsoleAddressMsg.java @@ -12,7 +12,7 @@ @Action(category = VmInstanceConstant.ACTION_CATEGORY) @RestRequest( path = "/vm-instances/{uuid}/console-addresses", - method = HttpMethod.GET, + method = "GET", responseClass = APIGetVmConsoleAddressReply.class ) public class APIGetVmConsoleAddressMsg extends APISyncCallMessage implements VmInstanceMessage { diff --git a/header/src/main/java/org/zstack/header/vm/APIGetVmConsolePasswordMsg.java b/header/src/main/java/org/zstack/header/vm/APIGetVmConsolePasswordMsg.java index 376778cbbc5..c636322ec32 100755 --- a/header/src/main/java/org/zstack/header/vm/APIGetVmConsolePasswordMsg.java +++ b/header/src/main/java/org/zstack/header/vm/APIGetVmConsolePasswordMsg.java @@ -12,7 +12,7 @@ @Action(category = VmInstanceConstant.ACTION_CATEGORY, names = {"read"}) @RestRequest( path = "/vm-instances/{uuid}/console-passwords", - method = HttpMethod.GET, + method = "GET", responseClass = APIGetVmConsolePasswordReply.class ) public class APIGetVmConsolePasswordMsg extends APISyncCallMessage implements VmInstanceMessage { diff --git a/header/src/main/java/org/zstack/header/vm/APIGetVmDeviceAddressMsg.java b/header/src/main/java/org/zstack/header/vm/APIGetVmDeviceAddressMsg.java index 81142a9183d..5c45515b5ee 100644 --- a/header/src/main/java/org/zstack/header/vm/APIGetVmDeviceAddressMsg.java +++ b/header/src/main/java/org/zstack/header/vm/APIGetVmDeviceAddressMsg.java @@ -16,7 +16,7 @@ @Action(category = VmInstanceConstant.ACTION_CATEGORY) @RestRequest( path = "/vm-instances/devices", - method = HttpMethod.GET, + method = "GET", responseClass = APIGetVmDeviceAddressReply.class ) public class APIGetVmDeviceAddressMsg extends APISyncCallMessage implements VmInstanceMessage { diff --git a/header/src/main/java/org/zstack/header/vm/APIGetVmHostnameMsg.java b/header/src/main/java/org/zstack/header/vm/APIGetVmHostnameMsg.java index 24c0ecfcb8a..e5f17614b00 100755 --- a/header/src/main/java/org/zstack/header/vm/APIGetVmHostnameMsg.java +++ b/header/src/main/java/org/zstack/header/vm/APIGetVmHostnameMsg.java @@ -12,7 +12,7 @@ @Action(category = VmInstanceConstant.ACTION_CATEGORY) @RestRequest( path = "/vm-instances/{uuid}/hostnames", - method = HttpMethod.GET, + method = "GET", responseClass = APIGetVmHostnameReply.class ) public class APIGetVmHostnameMsg extends APISyncCallMessage implements VmInstanceMessage { diff --git a/header/src/main/java/org/zstack/header/vm/APIGetVmMigrationCandidateHostsMsg.java b/header/src/main/java/org/zstack/header/vm/APIGetVmMigrationCandidateHostsMsg.java index 7fc07ba53da..67782eec02d 100755 --- a/header/src/main/java/org/zstack/header/vm/APIGetVmMigrationCandidateHostsMsg.java +++ b/header/src/main/java/org/zstack/header/vm/APIGetVmMigrationCandidateHostsMsg.java @@ -11,7 +11,7 @@ @Action(category = VmInstanceConstant.ACTION_CATEGORY, names = {"read"}) @RestRequest( path = "/vm-instances/{vmInstanceUuid}/migration-target-hosts", - method = HttpMethod.GET, + method = "GET", responseClass = APIGetVmMigrationCandidateHostsReply.class ) public class APIGetVmMigrationCandidateHostsMsg extends APISyncCallMessage implements VmInstanceMessage { diff --git a/header/src/main/java/org/zstack/header/vm/APIGetVmNicAttachedNetworkServiceMsg.java b/header/src/main/java/org/zstack/header/vm/APIGetVmNicAttachedNetworkServiceMsg.java index 629af6bed90..edc4454e6a6 100644 --- a/header/src/main/java/org/zstack/header/vm/APIGetVmNicAttachedNetworkServiceMsg.java +++ b/header/src/main/java/org/zstack/header/vm/APIGetVmNicAttachedNetworkServiceMsg.java @@ -9,7 +9,7 @@ @Action(category = VmInstanceConstant.ACTION_CATEGORY, names = {"read"}) @RestRequest( path = "/vm-instances/nics/{vmNicUuid}/attached-networkservices", - method = HttpMethod.GET, + method = "GET", responseClass = APIGetVmNicAttachedNetworkServiceReply.class ) public class APIGetVmNicAttachedNetworkServiceMsg extends APISyncCallMessage { diff --git a/header/src/main/java/org/zstack/header/vm/APIGetVmSshKeyMsg.java b/header/src/main/java/org/zstack/header/vm/APIGetVmSshKeyMsg.java index 098587bf823..6b2263b7927 100755 --- a/header/src/main/java/org/zstack/header/vm/APIGetVmSshKeyMsg.java +++ b/header/src/main/java/org/zstack/header/vm/APIGetVmSshKeyMsg.java @@ -12,7 +12,7 @@ @Action(category = VmInstanceConstant.ACTION_CATEGORY, names = {"read"}) @RestRequest( path = "/vm-instances/{uuid}/ssh-keys", - method = HttpMethod.GET, + method = "GET", responseClass = APIGetVmSshKeyReply.class ) public class APIGetVmSshKeyMsg extends APISyncCallMessage implements VmInstanceMessage { diff --git a/header/src/main/java/org/zstack/header/vm/APIGetVmStartingCandidateClustersHostsMsg.java b/header/src/main/java/org/zstack/header/vm/APIGetVmStartingCandidateClustersHostsMsg.java index 2294d914fbe..6633e2904d3 100755 --- a/header/src/main/java/org/zstack/header/vm/APIGetVmStartingCandidateClustersHostsMsg.java +++ b/header/src/main/java/org/zstack/header/vm/APIGetVmStartingCandidateClustersHostsMsg.java @@ -12,7 +12,7 @@ @Action(category = VmInstanceConstant.ACTION_CATEGORY, names = {"read"}) @RestRequest( path = "/vm-instances/{uuid}/starting-target-hosts", - method = HttpMethod.GET, + method = "GET", responseClass = APIGetVmStartingCandidateClustersHostsReply.class ) public class APIGetVmStartingCandidateClustersHostsMsg extends APISyncCallMessage implements VmInstanceMessage { diff --git a/header/src/main/java/org/zstack/header/vm/APIGetVmTaskMsg.java b/header/src/main/java/org/zstack/header/vm/APIGetVmTaskMsg.java index 482871149fb..43c89c555d9 100644 --- a/header/src/main/java/org/zstack/header/vm/APIGetVmTaskMsg.java +++ b/header/src/main/java/org/zstack/header/vm/APIGetVmTaskMsg.java @@ -14,7 +14,7 @@ @Action(category = VmInstanceConstant.ACTION_CATEGORY, adminOnly = true) @RestRequest( path = "/vm-instances/task-details", - method = HttpMethod.GET, + method = "GET", responseClass = APIGetChainTaskReply.class ) public class APIGetVmTaskMsg extends APIGetChainTaskMsg { diff --git a/header/src/main/java/org/zstack/header/vm/APIGetVmsCapabilitiesMsg.java b/header/src/main/java/org/zstack/header/vm/APIGetVmsCapabilitiesMsg.java index 417e69fc971..e2f93418b44 100644 --- a/header/src/main/java/org/zstack/header/vm/APIGetVmsCapabilitiesMsg.java +++ b/header/src/main/java/org/zstack/header/vm/APIGetVmsCapabilitiesMsg.java @@ -17,7 +17,7 @@ @RestRequest( path = "/vm-instances/capabilities", responseClass = APIGetVmsCapabilitiesReply.class, - method = HttpMethod.GET + method = "GET" ) public class APIGetVmsCapabilitiesMsg extends APISyncCallMessage { @APIParam(nonempty = true) diff --git a/header/src/main/java/org/zstack/header/vm/APIMigrateVmMsg.java b/header/src/main/java/org/zstack/header/vm/APIMigrateVmMsg.java index 763a5757476..8fbde596e0c 100755 --- a/header/src/main/java/org/zstack/header/vm/APIMigrateVmMsg.java +++ b/header/src/main/java/org/zstack/header/vm/APIMigrateVmMsg.java @@ -42,7 +42,7 @@ path = "/vm-instances/{vmInstanceUuid}/actions", isAction = true, responseClass = APIMigrateVmEvent.class, - method = HttpMethod.PUT + method = "PUT" ) @SkipVmTracer(replyClass = APIMigrateVmEvent.class) @DefaultTimeout(timeunit = TimeUnit.HOURS, value = 1) diff --git a/header/src/main/java/org/zstack/header/vm/APIPauseVmInstanceMsg.java b/header/src/main/java/org/zstack/header/vm/APIPauseVmInstanceMsg.java index 35283535771..309bbbbf4af 100755 --- a/header/src/main/java/org/zstack/header/vm/APIPauseVmInstanceMsg.java +++ b/header/src/main/java/org/zstack/header/vm/APIPauseVmInstanceMsg.java @@ -13,7 +13,7 @@ @RestRequest( path = "/vm-instances/{uuid}/actions", isAction = true, - method = HttpMethod.PUT, + method = "PUT", responseClass = APIPauseVmInstanceEvent.class ) @SkipVmTracer(replyClass = APIPauseVmInstanceEvent.class) diff --git a/header/src/main/java/org/zstack/header/vm/APIQueryVmInstanceMsg.java b/header/src/main/java/org/zstack/header/vm/APIQueryVmInstanceMsg.java index bf012eb17be..71769b2229f 100755 --- a/header/src/main/java/org/zstack/header/vm/APIQueryVmInstanceMsg.java +++ b/header/src/main/java/org/zstack/header/vm/APIQueryVmInstanceMsg.java @@ -16,7 +16,7 @@ path = "/vm-instances", optionalPaths = {"/vm-instances/{uuid}"}, responseClass = APIQueryVmInstanceReply.class, - method = HttpMethod.GET + method = "GET" ) public class APIQueryVmInstanceMsg extends APIQueryMessage { public static List __example__() { diff --git a/header/src/main/java/org/zstack/header/vm/APIQueryVmNicMsg.java b/header/src/main/java/org/zstack/header/vm/APIQueryVmNicMsg.java index 620c52e03d5..b12ad0bad33 100755 --- a/header/src/main/java/org/zstack/header/vm/APIQueryVmNicMsg.java +++ b/header/src/main/java/org/zstack/header/vm/APIQueryVmNicMsg.java @@ -15,7 +15,7 @@ @RestRequest( path = "/vm-instances/nics", optionalPaths = {"/vm-instances/nics/{uuid}"}, - method = HttpMethod.GET, + method = "GET", responseClass = APIQueryVmNicReply.class ) public class APIQueryVmNicMsg extends APIQueryMessage { diff --git a/header/src/main/java/org/zstack/header/vm/APIQueryVmPriorityConfigMsg.java b/header/src/main/java/org/zstack/header/vm/APIQueryVmPriorityConfigMsg.java index 0b942a3bfe8..f8da8e7b517 100644 --- a/header/src/main/java/org/zstack/header/vm/APIQueryVmPriorityConfigMsg.java +++ b/header/src/main/java/org/zstack/header/vm/APIQueryVmPriorityConfigMsg.java @@ -16,7 +16,7 @@ path = "/vm-priority-config", optionalPaths = {"/vm-priority-config/{uuid}"}, responseClass = APIQueryVmPriorityConfigReply.class, - method = HttpMethod.GET + method = "GET" ) public class APIQueryVmPriorityConfigMsg extends APIQueryMessage { public static List __example__() { diff --git a/header/src/main/java/org/zstack/header/vm/APIRebootVmInstanceMsg.java b/header/src/main/java/org/zstack/header/vm/APIRebootVmInstanceMsg.java index 2e2f2065782..7280c1674e9 100755 --- a/header/src/main/java/org/zstack/header/vm/APIRebootVmInstanceMsg.java +++ b/header/src/main/java/org/zstack/header/vm/APIRebootVmInstanceMsg.java @@ -35,7 +35,7 @@ @Action(category = VmInstanceConstant.ACTION_CATEGORY) @RestRequest( path = "/vm-instances/{uuid}/actions", - method = HttpMethod.PUT, + method = "PUT", isAction = true, responseClass = APIRebootVmInstanceEvent.class ) diff --git a/header/src/main/java/org/zstack/header/vm/APIRecoverVmInstanceMsg.java b/header/src/main/java/org/zstack/header/vm/APIRecoverVmInstanceMsg.java index db509939981..91b824d179a 100755 --- a/header/src/main/java/org/zstack/header/vm/APIRecoverVmInstanceMsg.java +++ b/header/src/main/java/org/zstack/header/vm/APIRecoverVmInstanceMsg.java @@ -14,7 +14,7 @@ @RestRequest( path = "/vm-instances/{uuid}/actions", isAction = true, - method = HttpMethod.PUT, + method = "PUT", responseClass = APIRecoverVmInstanceEvent.class ) public class APIRecoverVmInstanceMsg extends APIMessage implements VmInstanceMessage { diff --git a/header/src/main/java/org/zstack/header/vm/APIReimageVmInstanceMsg.java b/header/src/main/java/org/zstack/header/vm/APIReimageVmInstanceMsg.java index 8466ca984b1..0e65d565b31 100755 --- a/header/src/main/java/org/zstack/header/vm/APIReimageVmInstanceMsg.java +++ b/header/src/main/java/org/zstack/header/vm/APIReimageVmInstanceMsg.java @@ -13,7 +13,7 @@ @Action(category = VmInstanceConstant.ACTION_CATEGORY) @RestRequest( path = "/vm-instances/{vmInstanceUuid}/actions", - method = HttpMethod.PUT, + method = "PUT", isAction = true, responseClass = APIReimageVmInstanceEvent.class, category = "vmInstance" diff --git a/header/src/main/java/org/zstack/header/vm/APIResumeVmInstanceMsg.java b/header/src/main/java/org/zstack/header/vm/APIResumeVmInstanceMsg.java index db63b58d219..32ea82f4b74 100755 --- a/header/src/main/java/org/zstack/header/vm/APIResumeVmInstanceMsg.java +++ b/header/src/main/java/org/zstack/header/vm/APIResumeVmInstanceMsg.java @@ -14,7 +14,7 @@ @RestRequest( path = "/vm-instances/{uuid}/actions", isAction = true, - method = HttpMethod.PUT, + method = "PUT", responseClass = APIResumeVmInstanceEvent.class ) public class APIResumeVmInstanceMsg extends APIMessage implements VmInstanceMessage { diff --git a/header/src/main/java/org/zstack/header/vm/APISetVmBootModeMsg.java b/header/src/main/java/org/zstack/header/vm/APISetVmBootModeMsg.java index 244538d05c0..9f84e9d6102 100644 --- a/header/src/main/java/org/zstack/header/vm/APISetVmBootModeMsg.java +++ b/header/src/main/java/org/zstack/header/vm/APISetVmBootModeMsg.java @@ -9,7 +9,7 @@ @Action(category = VmInstanceConstant.ACTION_CATEGORY) @RestRequest( path = "/vm-instances/{uuid}/actions", - method = HttpMethod.PUT, + method = "PUT", isAction = true, responseClass = APISetVmBootModeEvent.class ) diff --git a/header/src/main/java/org/zstack/header/vm/APISetVmBootOrderMsg.java b/header/src/main/java/org/zstack/header/vm/APISetVmBootOrderMsg.java index cc9a5768b9c..59b887d54d4 100755 --- a/header/src/main/java/org/zstack/header/vm/APISetVmBootOrderMsg.java +++ b/header/src/main/java/org/zstack/header/vm/APISetVmBootOrderMsg.java @@ -18,7 +18,7 @@ @RestRequest( path = "/vm-instances/{uuid}/actions", isAction = true, - method = HttpMethod.PUT, + method = "PUT", responseClass = APISetVmBootOrderEvent.class ) public class APISetVmBootOrderMsg extends APIMessage implements VmInstanceMessage { diff --git a/header/src/main/java/org/zstack/header/vm/APISetVmBootVolumeMsg.java b/header/src/main/java/org/zstack/header/vm/APISetVmBootVolumeMsg.java index 189a2357e0a..3494fcfd4c2 100644 --- a/header/src/main/java/org/zstack/header/vm/APISetVmBootVolumeMsg.java +++ b/header/src/main/java/org/zstack/header/vm/APISetVmBootVolumeMsg.java @@ -15,7 +15,7 @@ @RestRequest( path = "/vm-instances/{vmInstanceUuid}/actions", isAction = true, - method = HttpMethod.PUT, + method = "PUT", responseClass = APISetVmBootVolumeEvent.class ) public class APISetVmBootVolumeMsg extends APIMessage implements VmInstanceMessage { diff --git a/header/src/main/java/org/zstack/header/vm/APISetVmClockTrackMsg.java b/header/src/main/java/org/zstack/header/vm/APISetVmClockTrackMsg.java index 216ab558e48..eee33cd8b7b 100644 --- a/header/src/main/java/org/zstack/header/vm/APISetVmClockTrackMsg.java +++ b/header/src/main/java/org/zstack/header/vm/APISetVmClockTrackMsg.java @@ -10,7 +10,7 @@ @RestRequest( path = "/vm-instances/{uuid}/actions", isAction = true, - method = HttpMethod.PUT, + method = "PUT", responseClass = APISetVmClockTrackEvent.class ) public class APISetVmClockTrackMsg extends APIMessage implements VmInstanceMessage { diff --git a/header/src/main/java/org/zstack/header/vm/APISetVmConsolePasswordMsg.java b/header/src/main/java/org/zstack/header/vm/APISetVmConsolePasswordMsg.java index add4b51e83e..14bd65cb6a7 100755 --- a/header/src/main/java/org/zstack/header/vm/APISetVmConsolePasswordMsg.java +++ b/header/src/main/java/org/zstack/header/vm/APISetVmConsolePasswordMsg.java @@ -17,7 +17,7 @@ @RestRequest( path = "/vm-instances/{uuid}/actions", isAction = true, - method = HttpMethod.PUT, + method = "PUT", responseClass = APISetVmConsolePasswordEvent.class ) public class APISetVmConsolePasswordMsg extends APIMessage implements VmInstanceMessage, Serializable { diff --git a/header/src/main/java/org/zstack/header/vm/APISetVmHostnameMsg.java b/header/src/main/java/org/zstack/header/vm/APISetVmHostnameMsg.java index a41e06f0727..f4904ff5943 100755 --- a/header/src/main/java/org/zstack/header/vm/APISetVmHostnameMsg.java +++ b/header/src/main/java/org/zstack/header/vm/APISetVmHostnameMsg.java @@ -13,7 +13,7 @@ @Action(category = VmInstanceConstant.ACTION_CATEGORY) @RestRequest( path = "/vm-instances/{uuid}/actions", - method = HttpMethod.PUT, + method = "PUT", isAction = true, responseClass = APISetVmHostnameEvent.class ) diff --git a/header/src/main/java/org/zstack/header/vm/APISetVmQxlMemoryMsg.java b/header/src/main/java/org/zstack/header/vm/APISetVmQxlMemoryMsg.java index fc0105188d6..b5df883e6fa 100644 --- a/header/src/main/java/org/zstack/header/vm/APISetVmQxlMemoryMsg.java +++ b/header/src/main/java/org/zstack/header/vm/APISetVmQxlMemoryMsg.java @@ -10,7 +10,7 @@ @RestRequest( path = "/vm-instances/{uuid}/actions", isAction = true, - method = HttpMethod.PUT, + method = "PUT", responseClass = APISetVmQxlMemoryEvent.class ) public class APISetVmQxlMemoryMsg extends APIMessage implements VmInstanceMessage { diff --git a/header/src/main/java/org/zstack/header/vm/APISetVmSoundTypeMsg.java b/header/src/main/java/org/zstack/header/vm/APISetVmSoundTypeMsg.java index fbf5c278d5b..09e68c52a18 100644 --- a/header/src/main/java/org/zstack/header/vm/APISetVmSoundTypeMsg.java +++ b/header/src/main/java/org/zstack/header/vm/APISetVmSoundTypeMsg.java @@ -10,7 +10,7 @@ @RestRequest( path = "/vm-instances/{uuid}/actions", isAction = true, - method = HttpMethod.PUT, + method = "PUT", responseClass = APISetVmSoundTypeEvent.class ) public class APISetVmSoundTypeMsg extends APIMessage implements VmInstanceMessage { diff --git a/header/src/main/java/org/zstack/header/vm/APISetVmSshKeyMsg.java b/header/src/main/java/org/zstack/header/vm/APISetVmSshKeyMsg.java index d85b62ed9dc..7f9b893ecd8 100755 --- a/header/src/main/java/org/zstack/header/vm/APISetVmSshKeyMsg.java +++ b/header/src/main/java/org/zstack/header/vm/APISetVmSshKeyMsg.java @@ -15,7 +15,7 @@ @RestRequest( path = "/vm-instances/{uuid}/actions", isAction = true, - method = HttpMethod.PUT, + method = "PUT", responseClass = APISetVmSshKeyEvent.class ) public class APISetVmSshKeyMsg extends APIMessage implements VmInstanceMessage { diff --git a/header/src/main/java/org/zstack/header/vm/APISetVmStaticIpMsg.java b/header/src/main/java/org/zstack/header/vm/APISetVmStaticIpMsg.java index a4e0d71b209..64cfa9a0974 100755 --- a/header/src/main/java/org/zstack/header/vm/APISetVmStaticIpMsg.java +++ b/header/src/main/java/org/zstack/header/vm/APISetVmStaticIpMsg.java @@ -14,7 +14,7 @@ @RestRequest( path = "/vm-instances/{vmInstanceUuid}/actions", isAction = true, - method = HttpMethod.PUT, + method = "PUT", responseClass = APISetVmStaticIpEvent.class ) public class APISetVmStaticIpMsg extends APIMessage implements VmInstanceMessage { diff --git a/header/src/main/java/org/zstack/header/vm/APIStartVmInstanceMsg.java b/header/src/main/java/org/zstack/header/vm/APIStartVmInstanceMsg.java index 36380c66bdc..67ce771c548 100755 --- a/header/src/main/java/org/zstack/header/vm/APIStartVmInstanceMsg.java +++ b/header/src/main/java/org/zstack/header/vm/APIStartVmInstanceMsg.java @@ -37,7 +37,7 @@ @Action(category = VmInstanceConstant.ACTION_CATEGORY) @RestRequest( path = "/vm-instances/{uuid}/actions", - method = HttpMethod.PUT, + method = "PUT", responseClass = APIStartVmInstanceEvent.class, isAction = true ) diff --git a/header/src/main/java/org/zstack/header/vm/APIStopVmInstanceMsg.java b/header/src/main/java/org/zstack/header/vm/APIStopVmInstanceMsg.java index cbce0d14311..6e908da81ed 100755 --- a/header/src/main/java/org/zstack/header/vm/APIStopVmInstanceMsg.java +++ b/header/src/main/java/org/zstack/header/vm/APIStopVmInstanceMsg.java @@ -35,7 +35,7 @@ @Action(category = VmInstanceConstant.ACTION_CATEGORY) @RestRequest( path = "/vm-instances/{uuid}/actions", - method = HttpMethod.PUT, + method = "PUT", responseClass = APIStopVmInstanceEvent.class, isAction = true ) diff --git a/header/src/main/java/org/zstack/header/vm/APITakeVmConsoleScreenshotMsg.java b/header/src/main/java/org/zstack/header/vm/APITakeVmConsoleScreenshotMsg.java index ec94cb74946..abd6f5d0ef4 100644 --- a/header/src/main/java/org/zstack/header/vm/APITakeVmConsoleScreenshotMsg.java +++ b/header/src/main/java/org/zstack/header/vm/APITakeVmConsoleScreenshotMsg.java @@ -14,7 +14,7 @@ @RestRequest( path = "/vm-instances/{uuid}/actions", isAction = true, - method = HttpMethod.PUT, + method = "PUT", responseClass = APITakeVmConsoleScreenshotEvent.class ) public class APITakeVmConsoleScreenshotMsg extends APIMessage implements VmInstanceMessage { diff --git a/header/src/main/java/org/zstack/header/vm/APIUpdateConsolePasswordMsg.java b/header/src/main/java/org/zstack/header/vm/APIUpdateConsolePasswordMsg.java index 1d5c31917a5..69535beb6cc 100644 --- a/header/src/main/java/org/zstack/header/vm/APIUpdateConsolePasswordMsg.java +++ b/header/src/main/java/org/zstack/header/vm/APIUpdateConsolePasswordMsg.java @@ -14,7 +14,7 @@ @RestRequest( path = "/vm-instances/{uuid}/actions", isAction = true, - method = HttpMethod.PUT, + method = "PUT", responseClass = APIUpdateConsolePasswordEvent.class ) public class APIUpdateConsolePasswordMsg extends APIMessage implements VmInstanceMessage { diff --git a/header/src/main/java/org/zstack/header/vm/APIUpdatePriorityConfigMsg.java b/header/src/main/java/org/zstack/header/vm/APIUpdatePriorityConfigMsg.java index 7eee0f228e5..b64d66d989e 100644 --- a/header/src/main/java/org/zstack/header/vm/APIUpdatePriorityConfigMsg.java +++ b/header/src/main/java/org/zstack/header/vm/APIUpdatePriorityConfigMsg.java @@ -13,7 +13,7 @@ @Action(category = VmInstanceConstant.ACTION_CATEGORY) @RestRequest( path = "/vm-priority-config/{uuid}/actions", - method = HttpMethod.PUT, + method = "PUT", isAction = true, responseClass = APIUpdatePriorityConfigEvent.class ) diff --git a/header/src/main/java/org/zstack/header/vm/APIUpdateVmInstanceMsg.java b/header/src/main/java/org/zstack/header/vm/APIUpdateVmInstanceMsg.java index abaed1be881..649d50830bb 100755 --- a/header/src/main/java/org/zstack/header/vm/APIUpdateVmInstanceMsg.java +++ b/header/src/main/java/org/zstack/header/vm/APIUpdateVmInstanceMsg.java @@ -14,7 +14,7 @@ @Action(category = VmInstanceConstant.ACTION_CATEGORY) @RestRequest( path = "/vm-instances/{uuid}/actions", - method = HttpMethod.PUT, + method = "PUT", isAction = true, responseClass = APIUpdateVmInstanceEvent.class ) diff --git a/header/src/main/java/org/zstack/header/vm/APIUpdateVmNicDriverMsg.java b/header/src/main/java/org/zstack/header/vm/APIUpdateVmNicDriverMsg.java index f2c83f5e098..9b854eafe42 100644 --- a/header/src/main/java/org/zstack/header/vm/APIUpdateVmNicDriverMsg.java +++ b/header/src/main/java/org/zstack/header/vm/APIUpdateVmNicDriverMsg.java @@ -13,7 +13,7 @@ @Action(category = VmInstanceConstant.ACTION_CATEGORY) @RestRequest( path = "/vm-instances/{vmInstanceUuid}/actions", - method = HttpMethod.PUT, + method = "PUT", isAction = true, responseClass = APIUpdateVmNicDriverEvent.class ) diff --git a/header/src/main/java/org/zstack/header/vm/APIUpdateVmPriorityMsg.java b/header/src/main/java/org/zstack/header/vm/APIUpdateVmPriorityMsg.java index adef00b22ab..c5601f582c4 100644 --- a/header/src/main/java/org/zstack/header/vm/APIUpdateVmPriorityMsg.java +++ b/header/src/main/java/org/zstack/header/vm/APIUpdateVmPriorityMsg.java @@ -9,7 +9,7 @@ @Action(category = VmInstanceConstant.ACTION_CATEGORY) @RestRequest( path = "/vm-instances/{uuid}/actions", - method = HttpMethod.PUT, + method = "PUT", isAction = true, responseClass = APIUpdateVmPriorityEvent.class ) diff --git a/header/src/main/java/org/zstack/header/vm/VmCrashHistoryVO.java b/header/src/main/java/org/zstack/header/vm/VmCrashHistoryVO.java index 7c2530a92a2..bb848e3d4cd 100644 --- a/header/src/main/java/org/zstack/header/vm/VmCrashHistoryVO.java +++ b/header/src/main/java/org/zstack/header/vm/VmCrashHistoryVO.java @@ -2,7 +2,7 @@ import org.zstack.header.vo.ToInventory; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; /** diff --git a/header/src/main/java/org/zstack/header/vm/VmCrashHistoryVO_.java b/header/src/main/java/org/zstack/header/vm/VmCrashHistoryVO_.java index 0933a086e4f..055fd1cd653 100644 --- a/header/src/main/java/org/zstack/header/vm/VmCrashHistoryVO_.java +++ b/header/src/main/java/org/zstack/header/vm/VmCrashHistoryVO_.java @@ -1,7 +1,7 @@ package org.zstack.header.vm; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; /** diff --git a/header/src/main/java/org/zstack/header/vm/VmInstanceAO.java b/header/src/main/java/org/zstack/header/vm/VmInstanceAO.java index 001dbe2298b..3877c016e4e 100755 --- a/header/src/main/java/org/zstack/header/vm/VmInstanceAO.java +++ b/header/src/main/java/org/zstack/header/vm/VmInstanceAO.java @@ -13,7 +13,7 @@ import org.zstack.header.volume.VolumeVO; import org.zstack.header.zone.ZoneEO; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; @MappedSuperclass diff --git a/header/src/main/java/org/zstack/header/vm/VmInstanceAO_.java b/header/src/main/java/org/zstack/header/vm/VmInstanceAO_.java index 90dee2c2ef6..592ff329825 100755 --- a/header/src/main/java/org/zstack/header/vm/VmInstanceAO_.java +++ b/header/src/main/java/org/zstack/header/vm/VmInstanceAO_.java @@ -2,8 +2,8 @@ import org.zstack.header.vo.ResourceVO_; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; @StaticMetamodel(VmInstanceAO.class) diff --git a/header/src/main/java/org/zstack/header/vm/VmInstanceEO.java b/header/src/main/java/org/zstack/header/vm/VmInstanceEO.java index cdd2f3b48af..8e9ff5ef4e9 100755 --- a/header/src/main/java/org/zstack/header/vm/VmInstanceEO.java +++ b/header/src/main/java/org/zstack/header/vm/VmInstanceEO.java @@ -1,8 +1,8 @@ package org.zstack.header.vm; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.Table; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.Table; /** */ diff --git a/header/src/main/java/org/zstack/header/vm/VmInstanceEO_.java b/header/src/main/java/org/zstack/header/vm/VmInstanceEO_.java index 402c354de71..4c7407eeb8c 100755 --- a/header/src/main/java/org/zstack/header/vm/VmInstanceEO_.java +++ b/header/src/main/java/org/zstack/header/vm/VmInstanceEO_.java @@ -1,6 +1,6 @@ package org.zstack.header.vm; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.StaticMetamodel; /** */ diff --git a/header/src/main/java/org/zstack/header/vm/VmInstanceNumaNodeVO.java b/header/src/main/java/org/zstack/header/vm/VmInstanceNumaNodeVO.java index 5a4acdb235a..3359b7a01fb 100644 --- a/header/src/main/java/org/zstack/header/vm/VmInstanceNumaNodeVO.java +++ b/header/src/main/java/org/zstack/header/vm/VmInstanceNumaNodeVO.java @@ -4,7 +4,7 @@ import org.zstack.header.vo.EntityGraph; import org.zstack.header.vo.ForeignKey; -import javax.persistence.*; +import jakarta.persistence.*; @Entity @Table diff --git a/header/src/main/java/org/zstack/header/vm/VmInstanceNumaNodeVO_.java b/header/src/main/java/org/zstack/header/vm/VmInstanceNumaNodeVO_.java index 4f238545a85..d22a280d9b5 100644 --- a/header/src/main/java/org/zstack/header/vm/VmInstanceNumaNodeVO_.java +++ b/header/src/main/java/org/zstack/header/vm/VmInstanceNumaNodeVO_.java @@ -1,7 +1,7 @@ package org.zstack.header.vm; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; @StaticMetamodel(VmInstanceNumaNodeVO.class) public class VmInstanceNumaNodeVO_ { diff --git a/header/src/main/java/org/zstack/header/vm/VmInstanceSequenceNumberVO.java b/header/src/main/java/org/zstack/header/vm/VmInstanceSequenceNumberVO.java index 1147a1cd79d..e1ec4d1c579 100755 --- a/header/src/main/java/org/zstack/header/vm/VmInstanceSequenceNumberVO.java +++ b/header/src/main/java/org/zstack/header/vm/VmInstanceSequenceNumberVO.java @@ -1,6 +1,6 @@ package org.zstack.header.vm; -import javax.persistence.*; +import jakarta.persistence.*; @Entity @Table 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..5ef019af863 100755 --- a/header/src/main/java/org/zstack/header/vm/VmInstanceVO.java +++ b/header/src/main/java/org/zstack/header/vm/VmInstanceVO.java @@ -11,7 +11,7 @@ import org.zstack.header.volume.*; import org.zstack.header.zone.ZoneVO; -import javax.persistence.*; +import jakarta.persistence.*; import java.util.HashSet; import java.util.List; import java.util.Optional; 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 01f97874853..6df56066915 100755 --- a/header/src/main/java/org/zstack/header/vm/VmInstanceVO_.java +++ b/header/src/main/java/org/zstack/header/vm/VmInstanceVO_.java @@ -1,6 +1,6 @@ package org.zstack.header.vm; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.StaticMetamodel; @StaticMetamodel(VmInstanceVO.class) public class VmInstanceVO_ extends VmInstanceAO_ { 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..23748f27b7b 100755 --- a/header/src/main/java/org/zstack/header/vm/VmNicVO.java +++ b/header/src/main/java/org/zstack/header/vm/VmNicVO.java @@ -10,7 +10,7 @@ import org.zstack.header.vo.ForeignKey.ReferenceOption; import org.zstack.header.vo.Index; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; import java.util.HashSet; import java.util.List; 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 96fb6f20c26..eb6d4f66d13 100755 --- a/header/src/main/java/org/zstack/header/vm/VmNicVO_.java +++ b/header/src/main/java/org/zstack/header/vm/VmNicVO_.java @@ -2,8 +2,8 @@ import org.zstack.header.vo.ResourceVO_; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; @StaticMetamodel(VmNicVO.class) diff --git a/header/src/main/java/org/zstack/header/vm/VmPriorityConfigVO.java b/header/src/main/java/org/zstack/header/vm/VmPriorityConfigVO.java index ce03d06fc32..f4de88a2918 100644 --- a/header/src/main/java/org/zstack/header/vm/VmPriorityConfigVO.java +++ b/header/src/main/java/org/zstack/header/vm/VmPriorityConfigVO.java @@ -3,7 +3,7 @@ import org.zstack.header.identity.OwnedByAccount; import org.zstack.header.vo.ResourceVO; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; /** diff --git a/header/src/main/java/org/zstack/header/vm/VmPriorityConfigVO_.java b/header/src/main/java/org/zstack/header/vm/VmPriorityConfigVO_.java index f8ab6aacd4f..d4dd32f0a67 100644 --- a/header/src/main/java/org/zstack/header/vm/VmPriorityConfigVO_.java +++ b/header/src/main/java/org/zstack/header/vm/VmPriorityConfigVO_.java @@ -2,8 +2,8 @@ import org.zstack.header.vo.ResourceVO_; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; @StaticMetamodel(VmPriorityConfigVO.class) diff --git a/header/src/main/java/org/zstack/header/vm/VmSchedHistoryVO.java b/header/src/main/java/org/zstack/header/vm/VmSchedHistoryVO.java index 4a0e9aca638..2dafd926eab 100644 --- a/header/src/main/java/org/zstack/header/vm/VmSchedHistoryVO.java +++ b/header/src/main/java/org/zstack/header/vm/VmSchedHistoryVO.java @@ -8,7 +8,7 @@ import org.zstack.header.zone.ZoneEO; import org.zstack.header.zone.ZoneInventory; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; @Entity diff --git a/header/src/main/java/org/zstack/header/vm/VmSchedHistoryVO_.java b/header/src/main/java/org/zstack/header/vm/VmSchedHistoryVO_.java index 6ac5b8662bb..71f11157d55 100644 --- a/header/src/main/java/org/zstack/header/vm/VmSchedHistoryVO_.java +++ b/header/src/main/java/org/zstack/header/vm/VmSchedHistoryVO_.java @@ -1,7 +1,7 @@ package org.zstack.header.vm; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; @StaticMetamodel(VmSchedHistoryVO.class) diff --git a/header/src/main/java/org/zstack/header/vm/cdrom/APICreateVmCdRomMsg.java b/header/src/main/java/org/zstack/header/vm/cdrom/APICreateVmCdRomMsg.java index 91e5c70387c..ff7bba24a02 100644 --- a/header/src/main/java/org/zstack/header/vm/cdrom/APICreateVmCdRomMsg.java +++ b/header/src/main/java/org/zstack/header/vm/cdrom/APICreateVmCdRomMsg.java @@ -21,7 +21,7 @@ @Action(category = VmInstanceConstant.ACTION_CATEGORY) @RestRequest( path = "/vm-instances/cdroms", - method = HttpMethod.POST, + method = "POST", responseClass = APICreateVmCdRomEvent.class, parameterName = "params" ) diff --git a/header/src/main/java/org/zstack/header/vm/cdrom/APIDeleteVmCdRomMsg.java b/header/src/main/java/org/zstack/header/vm/cdrom/APIDeleteVmCdRomMsg.java index 144113bffa6..cc3f01d246b 100644 --- a/header/src/main/java/org/zstack/header/vm/cdrom/APIDeleteVmCdRomMsg.java +++ b/header/src/main/java/org/zstack/header/vm/cdrom/APIDeleteVmCdRomMsg.java @@ -19,7 +19,7 @@ @Action(category = VmInstanceConstant.ACTION_CATEGORY) @RestRequest( path = "/vm-instances/cdroms/{uuid}", - method = HttpMethod.DELETE, + method = "DELETE", responseClass = APIDeleteVmCdRomEvent.class ) public class APIDeleteVmCdRomMsg extends APIDeleteMessage implements VmInstanceMessage, APIAuditor { diff --git a/header/src/main/java/org/zstack/header/vm/cdrom/APIQueryVmCdRomMsg.java b/header/src/main/java/org/zstack/header/vm/cdrom/APIQueryVmCdRomMsg.java index 94d5baecc28..b8e4ae5683e 100644 --- a/header/src/main/java/org/zstack/header/vm/cdrom/APIQueryVmCdRomMsg.java +++ b/header/src/main/java/org/zstack/header/vm/cdrom/APIQueryVmCdRomMsg.java @@ -18,7 +18,7 @@ path = "/vm-instances/cdroms", optionalPaths = {"/vm-instances/cdroms/{uuid}"}, responseClass = APIQueryVmCdRomReply.class, - method = HttpMethod.GET + method = "GET" ) public class APIQueryVmCdRomMsg extends APIQueryMessage { public static List __example__() { diff --git a/header/src/main/java/org/zstack/header/vm/cdrom/APISetVmInstanceDefaultCdRomMsg.java b/header/src/main/java/org/zstack/header/vm/cdrom/APISetVmInstanceDefaultCdRomMsg.java index 959fecb6833..35fedc2ae4e 100644 --- a/header/src/main/java/org/zstack/header/vm/cdrom/APISetVmInstanceDefaultCdRomMsg.java +++ b/header/src/main/java/org/zstack/header/vm/cdrom/APISetVmInstanceDefaultCdRomMsg.java @@ -17,7 +17,7 @@ @Action(category = VmInstanceConstant.ACTION_CATEGORY) @RestRequest( path = "/vm-instances/{vmInstanceUuid}/cdroms/{uuid}/actions", - method = HttpMethod.PUT, + method = "PUT", isAction = true, responseClass = APISetVmInstanceDefaultCdRomEvent.class ) diff --git a/header/src/main/java/org/zstack/header/vm/cdrom/APIUpdateVmCdRomMsg.java b/header/src/main/java/org/zstack/header/vm/cdrom/APIUpdateVmCdRomMsg.java index 9d129182a25..739697e317c 100644 --- a/header/src/main/java/org/zstack/header/vm/cdrom/APIUpdateVmCdRomMsg.java +++ b/header/src/main/java/org/zstack/header/vm/cdrom/APIUpdateVmCdRomMsg.java @@ -18,7 +18,7 @@ @Action(category = VmInstanceConstant.ACTION_CATEGORY) @RestRequest( path = "/vm-instances/cdroms/{uuid}/actions", - method = HttpMethod.PUT, + method = "PUT", isAction = true, responseClass = APIUpdateVmCdRomEvent.class ) 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..eea3f7c4761 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 @@ -9,7 +9,7 @@ import org.zstack.header.vo.ForeignKey; import org.zstack.header.vo.ForeignKey.ReferenceOption; import org.zstack.header.vo.Index; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; /** 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 585ac0f78dc..33c8df3e4d6 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 @@ -2,8 +2,8 @@ import org.zstack.header.vo.ResourceVO_; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; /** diff --git a/header/src/main/java/org/zstack/header/vm/devices/APIQueryVmInstanceDeviceAddressArchiveMsg.java b/header/src/main/java/org/zstack/header/vm/devices/APIQueryVmInstanceDeviceAddressArchiveMsg.java index 2e9a98a6cbe..b03185d0885 100644 --- a/header/src/main/java/org/zstack/header/vm/devices/APIQueryVmInstanceDeviceAddressArchiveMsg.java +++ b/header/src/main/java/org/zstack/header/vm/devices/APIQueryVmInstanceDeviceAddressArchiveMsg.java @@ -19,7 +19,7 @@ @RestRequest( path = "/vmInstance/device/address/archive", optionalPaths = {"/vmInstance/device/address/archive/{uuid}"}, - method = HttpMethod.GET, + method = "GET", responseClass = APIQueryVmInstanceDeviceAddressArchiveReply.class ) public class APIQueryVmInstanceDeviceAddressArchiveMsg extends APIQueryMessage { diff --git a/header/src/main/java/org/zstack/header/vm/devices/APIQueryVmInstanceDeviceAddressGroupMsg.java b/header/src/main/java/org/zstack/header/vm/devices/APIQueryVmInstanceDeviceAddressGroupMsg.java index b52499bb8d1..00198f87596 100644 --- a/header/src/main/java/org/zstack/header/vm/devices/APIQueryVmInstanceDeviceAddressGroupMsg.java +++ b/header/src/main/java/org/zstack/header/vm/devices/APIQueryVmInstanceDeviceAddressGroupMsg.java @@ -19,7 +19,7 @@ @RestRequest( path = "/vmInstance/device/address/group", optionalPaths = {"/vmInstance/device/address/group/{uuid}"}, - method = HttpMethod.GET, + method = "GET", responseClass = APIQueryVmInstanceDeviceAddressGroupReply.class ) public class APIQueryVmInstanceDeviceAddressGroupMsg extends APIQueryMessage { diff --git a/header/src/main/java/org/zstack/header/vm/devices/VmInstanceDeviceAddressArchiveVO.java b/header/src/main/java/org/zstack/header/vm/devices/VmInstanceDeviceAddressArchiveVO.java index 11961ebe0e4..fe7905ea4e4 100644 --- a/header/src/main/java/org/zstack/header/vm/devices/VmInstanceDeviceAddressArchiveVO.java +++ b/header/src/main/java/org/zstack/header/vm/devices/VmInstanceDeviceAddressArchiveVO.java @@ -2,7 +2,7 @@ import org.zstack.header.vo.ToInventory; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; @Entity diff --git a/header/src/main/java/org/zstack/header/vm/devices/VmInstanceDeviceAddressArchiveVO_.java b/header/src/main/java/org/zstack/header/vm/devices/VmInstanceDeviceAddressArchiveVO_.java index ae772636de9..5ee73d2d227 100644 --- a/header/src/main/java/org/zstack/header/vm/devices/VmInstanceDeviceAddressArchiveVO_.java +++ b/header/src/main/java/org/zstack/header/vm/devices/VmInstanceDeviceAddressArchiveVO_.java @@ -1,7 +1,7 @@ package org.zstack.header.vm.devices; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; @StaticMetamodel(VmInstanceDeviceAddressArchiveVO.class) public class VmInstanceDeviceAddressArchiveVO_ { diff --git a/header/src/main/java/org/zstack/header/vm/devices/VmInstanceDeviceAddressGroupInventory.java b/header/src/main/java/org/zstack/header/vm/devices/VmInstanceDeviceAddressGroupInventory.java index 3f0dd39cf93..c1cef81b097 100644 --- a/header/src/main/java/org/zstack/header/vm/devices/VmInstanceDeviceAddressGroupInventory.java +++ b/header/src/main/java/org/zstack/header/vm/devices/VmInstanceDeviceAddressGroupInventory.java @@ -5,7 +5,7 @@ import org.zstack.header.query.Queryable; import org.zstack.header.search.Inventory; -import javax.persistence.JoinColumn; +import jakarta.persistence.JoinColumn; import java.sql.Timestamp; import java.util.Collection; import java.util.List; diff --git a/header/src/main/java/org/zstack/header/vm/devices/VmInstanceDeviceAddressGroupVO.java b/header/src/main/java/org/zstack/header/vm/devices/VmInstanceDeviceAddressGroupVO.java index 9394f42d7a0..13ee031224a 100644 --- a/header/src/main/java/org/zstack/header/vm/devices/VmInstanceDeviceAddressGroupVO.java +++ b/header/src/main/java/org/zstack/header/vm/devices/VmInstanceDeviceAddressGroupVO.java @@ -2,7 +2,7 @@ import org.zstack.header.vo.ToInventory; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; import java.util.List; diff --git a/header/src/main/java/org/zstack/header/vm/devices/VmInstanceDeviceAddressGroupVO_.java b/header/src/main/java/org/zstack/header/vm/devices/VmInstanceDeviceAddressGroupVO_.java index 558474bcd82..2f1089aaeda 100644 --- a/header/src/main/java/org/zstack/header/vm/devices/VmInstanceDeviceAddressGroupVO_.java +++ b/header/src/main/java/org/zstack/header/vm/devices/VmInstanceDeviceAddressGroupVO_.java @@ -1,7 +1,7 @@ package org.zstack.header.vm.devices; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; @StaticMetamodel(VmInstanceDeviceAddressGroupVO.class) public class VmInstanceDeviceAddressGroupVO_ { diff --git a/header/src/main/java/org/zstack/header/vm/devices/VmInstanceDeviceAddressVO.java b/header/src/main/java/org/zstack/header/vm/devices/VmInstanceDeviceAddressVO.java index cc51d8afba9..7d2544eedb2 100644 --- a/header/src/main/java/org/zstack/header/vm/devices/VmInstanceDeviceAddressVO.java +++ b/header/src/main/java/org/zstack/header/vm/devices/VmInstanceDeviceAddressVO.java @@ -2,7 +2,7 @@ import org.zstack.header.vo.ToInventory; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; @Entity diff --git a/header/src/main/java/org/zstack/header/vm/devices/VmInstanceDeviceAddressVO_.java b/header/src/main/java/org/zstack/header/vm/devices/VmInstanceDeviceAddressVO_.java index afca8003d64..580413b6be7 100644 --- a/header/src/main/java/org/zstack/header/vm/devices/VmInstanceDeviceAddressVO_.java +++ b/header/src/main/java/org/zstack/header/vm/devices/VmInstanceDeviceAddressVO_.java @@ -1,7 +1,7 @@ package org.zstack.header.vm.devices; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; @StaticMetamodel(VmInstanceDeviceAddressVO.class) public class VmInstanceDeviceAddressVO_ { diff --git a/header/src/main/java/org/zstack/header/vo/APIGetResourceNamesMsg.java b/header/src/main/java/org/zstack/header/vo/APIGetResourceNamesMsg.java index 4405c93be3d..13f7e072161 100755 --- a/header/src/main/java/org/zstack/header/vo/APIGetResourceNamesMsg.java +++ b/header/src/main/java/org/zstack/header/vo/APIGetResourceNamesMsg.java @@ -16,7 +16,7 @@ */ @RestRequest( path = "/resources/names", - method = HttpMethod.GET, + method = "GET", responseClass = APIGetResourceNamesReply.class ) @Action(category = Constants.CATEGORY_RESOURCE, names = {"read"}) diff --git a/header/src/main/java/org/zstack/header/vo/ResourceVO.java b/header/src/main/java/org/zstack/header/vo/ResourceVO.java index 640b78155b8..8ef018a1689 100755 --- a/header/src/main/java/org/zstack/header/vo/ResourceVO.java +++ b/header/src/main/java/org/zstack/header/vo/ResourceVO.java @@ -3,7 +3,7 @@ import org.zstack.header.exception.CloudRuntimeException; import org.zstack.utils.FieldUtils; -import javax.persistence.*; +import jakarta.persistence.*; import java.lang.reflect.Field; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; diff --git a/header/src/main/java/org/zstack/header/vo/ResourceVO_.java b/header/src/main/java/org/zstack/header/vo/ResourceVO_.java index 1386aed61cc..06b98f1b213 100755 --- a/header/src/main/java/org/zstack/header/vo/ResourceVO_.java +++ b/header/src/main/java/org/zstack/header/vo/ResourceVO_.java @@ -4,8 +4,8 @@ * Created by xing5 on 2017/4/29. */ -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; @StaticMetamodel(ResourceVO.class) public class ResourceVO_ { diff --git a/header/src/main/java/org/zstack/header/vo/VoAspect.aj b/header/src/main/java/org/zstack/header/vo/VoAspect.aj index dfce058fd78..8879c9d5578 100755 --- a/header/src/main/java/org/zstack/header/vo/VoAspect.aj +++ b/header/src/main/java/org/zstack/header/vo/VoAspect.aj @@ -6,7 +6,7 @@ import org.zstack.utils.BeanUtils; import org.zstack.utils.FieldUtils; import org.zstack.header.vo.ToInventory; -import javax.persistence.Entity; +import jakarta.persistence.Entity; import java.lang.reflect.Field; import java.util.HashMap; import java.util.List; @@ -16,7 +16,7 @@ import java.util.UUID; import java.util.concurrent.ConcurrentHashMap; public aspect VoAspect { - pointcut completeVO(Object entity) : target(entity) && execution((@javax.persistence.Entity Object)+.new(..)); + pointcut completeVO(Object entity) : target(entity) && execution((@jakarta.persistence.Entity Object)+.new(..)); pointcut completeKeyValueEntity(Object entity) : target(entity) && execution(org.zstack.header.core.keyvalue.KeyValueEntity+.new(..)); private static Map objectUuidMap = new ConcurrentHashMap(); diff --git a/header/src/main/java/org/zstack/header/volume/APIAttachDataVolumeToHostMsg.java b/header/src/main/java/org/zstack/header/volume/APIAttachDataVolumeToHostMsg.java index 25385fc5daa..fff8c630cbb 100644 --- a/header/src/main/java/org/zstack/header/volume/APIAttachDataVolumeToHostMsg.java +++ b/header/src/main/java/org/zstack/header/volume/APIAttachDataVolumeToHostMsg.java @@ -10,7 +10,7 @@ @Action(category = VolumeConstant.ACTION_CATEGORY) @RestRequest( path = "/volumes/{volumeUuid}/hosts/{hostUuid}", - method = HttpMethod.POST, + method = "POST", responseClass = APIAttachDataVolumeToHostEvent.class, parameterName = "params" ) diff --git a/header/src/main/java/org/zstack/header/volume/APIAttachDataVolumeToVmMsg.java b/header/src/main/java/org/zstack/header/volume/APIAttachDataVolumeToVmMsg.java index 3cd89293889..43d6a736c1e 100755 --- a/header/src/main/java/org/zstack/header/volume/APIAttachDataVolumeToVmMsg.java +++ b/header/src/main/java/org/zstack/header/volume/APIAttachDataVolumeToVmMsg.java @@ -37,7 +37,7 @@ @Action(category = VolumeConstant.ACTION_CATEGORY) @RestRequest( path = "/volumes/{volumeUuid}/vm-instances/{vmInstanceUuid}", - method = HttpMethod.POST, + method = "POST", parameterName = "params", responseClass = APIAttachDataVolumeToVmEvent.class ) diff --git a/header/src/main/java/org/zstack/header/volume/APIBatchSyncVolumeSizeMsg.java b/header/src/main/java/org/zstack/header/volume/APIBatchSyncVolumeSizeMsg.java index caa933da7e1..ac4f9d684ca 100644 --- a/header/src/main/java/org/zstack/header/volume/APIBatchSyncVolumeSizeMsg.java +++ b/header/src/main/java/org/zstack/header/volume/APIBatchSyncVolumeSizeMsg.java @@ -10,7 +10,7 @@ @Action(category = VolumeConstant.ACTION_CATEGORY) @RestRequest( path = "/volumes/batch-sync-volumes", - method = HttpMethod.POST, + method = "POST", responseClass = APIBatchSyncVolumeSizeReply.class ) public class APIBatchSyncVolumeSizeMsg extends APISyncCallMessage { diff --git a/header/src/main/java/org/zstack/header/volume/APIChangeVolumeStateMsg.java b/header/src/main/java/org/zstack/header/volume/APIChangeVolumeStateMsg.java index f8785e662d4..179c77537f1 100755 --- a/header/src/main/java/org/zstack/header/volume/APIChangeVolumeStateMsg.java +++ b/header/src/main/java/org/zstack/header/volume/APIChangeVolumeStateMsg.java @@ -38,7 +38,7 @@ @RestRequest( path = "/volumes/{uuid}/actions", isAction = true, - method = HttpMethod.PUT, + method = "PUT", responseClass = APIChangeVolumeStateEvent.class ) public class APIChangeVolumeStateMsg extends APIMessage implements VolumeMessage { 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..01f9b4c9477 100755 --- a/header/src/main/java/org/zstack/header/volume/APICreateDataVolumeFromVolumeSnapshotMsg.java +++ b/header/src/main/java/org/zstack/header/volume/APICreateDataVolumeFromVolumeSnapshotMsg.java @@ -44,7 +44,7 @@ @RestRequest( path = "/volumes/data/from/volume-snapshots/{volumeSnapshotUuid}", responseClass = APICreateDataVolumeFromVolumeSnapshotEvent.class, - method = HttpMethod.POST, + method = "POST", parameterName = "params" ) @DefaultTimeout(timeunit = TimeUnit.HOURS, value = 3) 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..e53058c804f 100755 --- a/header/src/main/java/org/zstack/header/volume/APICreateDataVolumeFromVolumeTemplateMsg.java +++ b/header/src/main/java/org/zstack/header/volume/APICreateDataVolumeFromVolumeTemplateMsg.java @@ -19,7 +19,7 @@ @RestRequest( path = "/volumes/data/from/data-volume-templates/{imageUuid}", responseClass = APICreateDataVolumeFromVolumeTemplateEvent.class, - method = HttpMethod.POST, + method = "POST", parameterName = "params" ) @DefaultTimeout(timeunit = TimeUnit.HOURS, value = 72) 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..9d539abd7dc 100755 --- a/header/src/main/java/org/zstack/header/volume/APICreateDataVolumeMsg.java +++ b/header/src/main/java/org/zstack/header/volume/APICreateDataVolumeMsg.java @@ -43,7 +43,7 @@ @TagResourceType(VolumeVO.class) @RestRequest( path = "/volumes/data", - method = HttpMethod.POST, + method = "POST", parameterName = "params", responseClass = APICreateDataVolumeEvent.class ) 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..359608ed904 100644 --- a/header/src/main/java/org/zstack/header/volume/APICreateVolumeSnapshotGroupMsg.java +++ b/header/src/main/java/org/zstack/header/volume/APICreateVolumeSnapshotGroupMsg.java @@ -26,7 +26,7 @@ @Action(category = VolumeSnapshotConstant.ACTION_CATEGORY) @RestRequest( path = "/volume-snapshots/group", - method = HttpMethod.POST, + method = "POST", responseClass = APICreateVolumeSnapshotGroupEvent.class, parameterName = "params" ) 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..c077e48dace 100755 --- a/header/src/main/java/org/zstack/header/volume/APICreateVolumeSnapshotMsg.java +++ b/header/src/main/java/org/zstack/header/volume/APICreateVolumeSnapshotMsg.java @@ -43,7 +43,7 @@ @Action(category = VolumeSnapshotConstant.ACTION_CATEGORY) @RestRequest( path = "/volumes/{volumeUuid}/volume-snapshots", - method = HttpMethod.POST, + method = "POST", responseClass = APICreateVolumeSnapshotEvent.class, parameterName = "params" ) diff --git a/header/src/main/java/org/zstack/header/volume/APIDeleteDataVolumeMsg.java b/header/src/main/java/org/zstack/header/volume/APIDeleteDataVolumeMsg.java index 09a9acf0f93..3d1a192879d 100755 --- a/header/src/main/java/org/zstack/header/volume/APIDeleteDataVolumeMsg.java +++ b/header/src/main/java/org/zstack/header/volume/APIDeleteDataVolumeMsg.java @@ -37,7 +37,7 @@ @Action(category = VolumeConstant.ACTION_CATEGORY) @RestRequest( path = "/volumes/{uuid}", - method = HttpMethod.DELETE, + method = "DELETE", responseClass = APIDeleteDataVolumeEvent.class ) public class APIDeleteDataVolumeMsg extends APIDeleteMessage implements VolumeMessage { diff --git a/header/src/main/java/org/zstack/header/volume/APIDetachDataVolumeFromHostMsg.java b/header/src/main/java/org/zstack/header/volume/APIDetachDataVolumeFromHostMsg.java index 38ffef3dcee..349d24d3e6f 100644 --- a/header/src/main/java/org/zstack/header/volume/APIDetachDataVolumeFromHostMsg.java +++ b/header/src/main/java/org/zstack/header/volume/APIDetachDataVolumeFromHostMsg.java @@ -10,7 +10,7 @@ @Action(category = VolumeConstant.ACTION_CATEGORY) @RestRequest( path = "/volumes/{volumeUuid}/hosts", - method = HttpMethod.DELETE, + method = "DELETE", responseClass = APIDetachDataVolumeFromHostEvent.class ) public class APIDetachDataVolumeFromHostMsg extends APIMessage implements VolumeMessage { diff --git a/header/src/main/java/org/zstack/header/volume/APIDetachDataVolumeFromVmMsg.java b/header/src/main/java/org/zstack/header/volume/APIDetachDataVolumeFromVmMsg.java index 0ae3a69c522..5dd8708c7dd 100755 --- a/header/src/main/java/org/zstack/header/volume/APIDetachDataVolumeFromVmMsg.java +++ b/header/src/main/java/org/zstack/header/volume/APIDetachDataVolumeFromVmMsg.java @@ -35,7 +35,7 @@ @Action(category = VolumeConstant.ACTION_CATEGORY) @RestRequest( path = "/volumes/{uuid}/vm-instances", - method = HttpMethod.DELETE, + method = "DELETE", responseClass = APIDetachDataVolumeFromVmEvent.class ) public class APIDetachDataVolumeFromVmMsg extends APIMessage implements VolumeMessage { diff --git a/header/src/main/java/org/zstack/header/volume/APIExpungeDataVolumeMsg.java b/header/src/main/java/org/zstack/header/volume/APIExpungeDataVolumeMsg.java index b6cdab336f0..ef1c0a7e6ee 100755 --- a/header/src/main/java/org/zstack/header/volume/APIExpungeDataVolumeMsg.java +++ b/header/src/main/java/org/zstack/header/volume/APIExpungeDataVolumeMsg.java @@ -13,7 +13,7 @@ @RestRequest( path = "/volumes/{uuid}/actions", isAction = true, - method = HttpMethod.PUT, + method = "PUT", responseClass = APIExpungeDataVolumeEvent.class ) public class APIExpungeDataVolumeMsg extends APIMessage implements VolumeMessage { diff --git a/header/src/main/java/org/zstack/header/volume/APIFlattenVolumeMsg.java b/header/src/main/java/org/zstack/header/volume/APIFlattenVolumeMsg.java index 0f167cdc55c..f755bd89e9f 100644 --- a/header/src/main/java/org/zstack/header/volume/APIFlattenVolumeMsg.java +++ b/header/src/main/java/org/zstack/header/volume/APIFlattenVolumeMsg.java @@ -16,7 +16,7 @@ @RestRequest( path = "/volumes/{uuid}/actions", isAction = true, - method = HttpMethod.PUT, + method = "PUT", responseClass = APIFlattenVolumeEvent.class ) public class APIFlattenVolumeMsg extends APIMessage implements VolumeMessage, APIAuditor { diff --git a/header/src/main/java/org/zstack/header/volume/APIGetDataVolumeAttachableVmMsg.java b/header/src/main/java/org/zstack/header/volume/APIGetDataVolumeAttachableVmMsg.java index aed507b516c..330c5001f01 100755 --- a/header/src/main/java/org/zstack/header/volume/APIGetDataVolumeAttachableVmMsg.java +++ b/header/src/main/java/org/zstack/header/volume/APIGetDataVolumeAttachableVmMsg.java @@ -11,7 +11,7 @@ @Action(category = VolumeConstant.ACTION_CATEGORY, names = {"read"}) @RestRequest( path = "/volumes/{volumeUuid}/candidate-vm-instances", - method = HttpMethod.GET, + method = "GET", responseClass = APIGetDataVolumeAttachableVmReply.class ) public class APIGetDataVolumeAttachableVmMsg extends APISyncCallMessage implements VolumeMessage { diff --git a/header/src/main/java/org/zstack/header/volume/APIGetVolumeCapabilitiesMsg.java b/header/src/main/java/org/zstack/header/volume/APIGetVolumeCapabilitiesMsg.java index 335edd02064..92414a74a72 100755 --- a/header/src/main/java/org/zstack/header/volume/APIGetVolumeCapabilitiesMsg.java +++ b/header/src/main/java/org/zstack/header/volume/APIGetVolumeCapabilitiesMsg.java @@ -12,7 +12,7 @@ @Action(category = VolumeConstant.ACTION_CATEGORY, names = {"read"}) @RestRequest( path = "/volumes/{uuid}/capabilities", - method = HttpMethod.GET, + method = "GET", responseClass = APIGetVolumeCapabilitiesReply.class ) public class APIGetVolumeCapabilitiesMsg extends APISyncCallMessage implements VolumeMessage { diff --git a/header/src/main/java/org/zstack/header/volume/APIGetVolumeFormatMsg.java b/header/src/main/java/org/zstack/header/volume/APIGetVolumeFormatMsg.java index 83ee388b2ec..f631f989ffd 100755 --- a/header/src/main/java/org/zstack/header/volume/APIGetVolumeFormatMsg.java +++ b/header/src/main/java/org/zstack/header/volume/APIGetVolumeFormatMsg.java @@ -10,7 +10,7 @@ @Action(category = VolumeConstant.ACTION_CATEGORY, names = {"read"}) @RestRequest( path = "/volumes/formats", - method = HttpMethod.GET, + method = "GET", responseClass = APIGetVolumeFormatReply.class ) public class APIGetVolumeFormatMsg extends APISyncCallMessage { diff --git a/header/src/main/java/org/zstack/header/volume/APIQueryVolumeMsg.java b/header/src/main/java/org/zstack/header/volume/APIQueryVolumeMsg.java index 25fc5844d2e..82b5ef7ba1d 100755 --- a/header/src/main/java/org/zstack/header/volume/APIQueryVolumeMsg.java +++ b/header/src/main/java/org/zstack/header/volume/APIQueryVolumeMsg.java @@ -16,7 +16,7 @@ path = "/volumes", optionalPaths = {"/volumes/{uuid}"}, responseClass = APIQueryVolumeReply.class, - method = HttpMethod.GET + method = "GET" ) public class APIQueryVolumeMsg extends APIQueryMessage { diff --git a/header/src/main/java/org/zstack/header/volume/APIRecoverDataVolumeMsg.java b/header/src/main/java/org/zstack/header/volume/APIRecoverDataVolumeMsg.java index ba2ed33584f..932facd9bc2 100755 --- a/header/src/main/java/org/zstack/header/volume/APIRecoverDataVolumeMsg.java +++ b/header/src/main/java/org/zstack/header/volume/APIRecoverDataVolumeMsg.java @@ -13,7 +13,7 @@ @RestRequest( path = "/volumes/{uuid}/actions", isAction = true, - method = HttpMethod.PUT, + method = "PUT", responseClass = APIRecoverDataVolumeEvent.class ) public class APIRecoverDataVolumeMsg extends APIMessage implements VolumeMessage { diff --git a/header/src/main/java/org/zstack/header/volume/APISyncVolumeSizeMsg.java b/header/src/main/java/org/zstack/header/volume/APISyncVolumeSizeMsg.java index 0f8e6f4bc3a..d8f503b41f6 100755 --- a/header/src/main/java/org/zstack/header/volume/APISyncVolumeSizeMsg.java +++ b/header/src/main/java/org/zstack/header/volume/APISyncVolumeSizeMsg.java @@ -12,7 +12,7 @@ @Action(category = VolumeConstant.ACTION_CATEGORY) @RestRequest( path = "/volumes/{uuid}/actions", - method = HttpMethod.PUT, + method = "PUT", responseClass = APISyncVolumeSizeEvent.class, isAction = true ) diff --git a/header/src/main/java/org/zstack/header/volume/APIUndoSnapshotCreationMsg.java b/header/src/main/java/org/zstack/header/volume/APIUndoSnapshotCreationMsg.java index 5e64ecb9ec0..9e9e61bf7a0 100644 --- a/header/src/main/java/org/zstack/header/volume/APIUndoSnapshotCreationMsg.java +++ b/header/src/main/java/org/zstack/header/volume/APIUndoSnapshotCreationMsg.java @@ -15,7 +15,7 @@ @RestRequest( path = "/volumes/{uuid}/actions", isAction = true, - method = HttpMethod.PUT, + method = "PUT", responseClass = APIUndoSnapshotCreationEvent.class ) public class APIUndoSnapshotCreationMsg extends APIMessage implements VolumeMessage { diff --git a/header/src/main/java/org/zstack/header/volume/APIUpdateVolumeMsg.java b/header/src/main/java/org/zstack/header/volume/APIUpdateVolumeMsg.java index 4b3f42aac9a..e1a30cfd13c 100755 --- a/header/src/main/java/org/zstack/header/volume/APIUpdateVolumeMsg.java +++ b/header/src/main/java/org/zstack/header/volume/APIUpdateVolumeMsg.java @@ -12,7 +12,7 @@ @Action(category = VolumeConstant.ACTION_CATEGORY) @RestRequest( path = "/volumes/{uuid}/actions", - method = HttpMethod.PUT, + method = "PUT", responseClass = APIUpdateVolumeEvent.class, isAction = true ) diff --git a/header/src/main/java/org/zstack/header/volume/VolumeAO.java b/header/src/main/java/org/zstack/header/volume/VolumeAO.java index 3ddcdbccad3..8100acaba92 100755 --- a/header/src/main/java/org/zstack/header/volume/VolumeAO.java +++ b/header/src/main/java/org/zstack/header/volume/VolumeAO.java @@ -8,7 +8,7 @@ import org.zstack.header.vo.ResourceVO; import org.zstack.header.vo.ShadowEntity; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; import java.text.SimpleDateFormat; diff --git a/header/src/main/java/org/zstack/header/volume/VolumeAO_.java b/header/src/main/java/org/zstack/header/volume/VolumeAO_.java index 729d50eefbf..426f323bf4e 100755 --- a/header/src/main/java/org/zstack/header/volume/VolumeAO_.java +++ b/header/src/main/java/org/zstack/header/volume/VolumeAO_.java @@ -2,8 +2,8 @@ import org.zstack.header.vo.ResourceVO_; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; diff --git a/header/src/main/java/org/zstack/header/volume/VolumeEO.java b/header/src/main/java/org/zstack/header/volume/VolumeEO.java index 2c04dfb13eb..522b97f1ee7 100755 --- a/header/src/main/java/org/zstack/header/volume/VolumeEO.java +++ b/header/src/main/java/org/zstack/header/volume/VolumeEO.java @@ -1,8 +1,8 @@ package org.zstack.header.volume; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.Table; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.Table; /** */ diff --git a/header/src/main/java/org/zstack/header/volume/VolumeHostRefVO.java b/header/src/main/java/org/zstack/header/volume/VolumeHostRefVO.java index 47ac182cf20..58af02882f2 100644 --- a/header/src/main/java/org/zstack/header/volume/VolumeHostRefVO.java +++ b/header/src/main/java/org/zstack/header/volume/VolumeHostRefVO.java @@ -5,7 +5,7 @@ import org.zstack.header.vo.EntityGraph; import org.zstack.header.vo.ForeignKey; -import javax.persistence.*; +import jakarta.persistence.*; import java.io.Serializable; import java.sql.Timestamp; diff --git a/header/src/main/java/org/zstack/header/volume/VolumeHostRefVO_.java b/header/src/main/java/org/zstack/header/volume/VolumeHostRefVO_.java index 17b3f482fc8..b14102d4094 100644 --- a/header/src/main/java/org/zstack/header/volume/VolumeHostRefVO_.java +++ b/header/src/main/java/org/zstack/header/volume/VolumeHostRefVO_.java @@ -1,7 +1,7 @@ package org.zstack.header.volume; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; @StaticMetamodel(VolumeHostRefVO.class) diff --git a/header/src/main/java/org/zstack/header/volume/VolumeVO.java b/header/src/main/java/org/zstack/header/volume/VolumeVO.java index 1a07146e6b2..be5a0dd33b5 100755 --- a/header/src/main/java/org/zstack/header/volume/VolumeVO.java +++ b/header/src/main/java/org/zstack/header/volume/VolumeVO.java @@ -11,9 +11,9 @@ import org.zstack.header.vo.EntityGraph; import org.zstack.header.vo.ToInventory; -import javax.persistence.Entity; -import javax.persistence.Table; -import javax.persistence.Transient; +import jakarta.persistence.Entity; +import jakarta.persistence.Table; +import jakarta.persistence.Transient; import java.util.List; @Entity diff --git a/header/src/main/java/org/zstack/header/volume/VolumeVO_.java b/header/src/main/java/org/zstack/header/volume/VolumeVO_.java index d8fcc39f948..31da0f05251 100755 --- a/header/src/main/java/org/zstack/header/volume/VolumeVO_.java +++ b/header/src/main/java/org/zstack/header/volume/VolumeVO_.java @@ -1,6 +1,6 @@ package org.zstack.header.volume; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.StaticMetamodel; @StaticMetamodel(VolumeVO.class) diff --git a/header/src/main/java/org/zstack/header/volume/block/BlockVolumeVO.java b/header/src/main/java/org/zstack/header/volume/block/BlockVolumeVO.java index a308a00843f..65274b24695 100644 --- a/header/src/main/java/org/zstack/header/volume/block/BlockVolumeVO.java +++ b/header/src/main/java/org/zstack/header/volume/block/BlockVolumeVO.java @@ -4,10 +4,10 @@ import org.zstack.header.volume.VolumeType; import org.zstack.header.volume.VolumeVO; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.PrimaryKeyJoinColumn; -import javax.persistence.Table; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.PrimaryKeyJoinColumn; +import jakarta.persistence.Table; /** * @author shenjin diff --git a/header/src/main/java/org/zstack/header/volume/block/BlockVolumeVO_.java b/header/src/main/java/org/zstack/header/volume/block/BlockVolumeVO_.java index 7045974299e..0a2758f9566 100644 --- a/header/src/main/java/org/zstack/header/volume/block/BlockVolumeVO_.java +++ b/header/src/main/java/org/zstack/header/volume/block/BlockVolumeVO_.java @@ -2,8 +2,8 @@ import org.zstack.header.volume.VolumeVO_; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; /** * @author shenjin diff --git a/header/src/main/java/org/zstack/header/zone/APIChangeZoneStateMsg.java b/header/src/main/java/org/zstack/header/zone/APIChangeZoneStateMsg.java index 76a8335fca7..d725b436196 100755 --- a/header/src/main/java/org/zstack/header/zone/APIChangeZoneStateMsg.java +++ b/header/src/main/java/org/zstack/header/zone/APIChangeZoneStateMsg.java @@ -44,7 +44,7 @@ path = "/zones/{uuid}/actions", isAction = true, responseClass = APIChangeZoneStateEvent.class, - method = HttpMethod.PUT + method = "PUT" ) public class APIChangeZoneStateMsg extends APIMessage implements ZoneMessage { /** diff --git a/header/src/main/java/org/zstack/header/zone/APICreateZoneMsg.java b/header/src/main/java/org/zstack/header/zone/APICreateZoneMsg.java index aa0edd62b81..6f8dbf8f436 100755 --- a/header/src/main/java/org/zstack/header/zone/APICreateZoneMsg.java +++ b/header/src/main/java/org/zstack/header/zone/APICreateZoneMsg.java @@ -38,7 +38,7 @@ */ @RestRequest( path = "/zones", - method = HttpMethod.POST, + method = "POST", parameterName = "params", responseClass = APICreateZoneEvent.class ) diff --git a/header/src/main/java/org/zstack/header/zone/APIDeleteZoneMsg.java b/header/src/main/java/org/zstack/header/zone/APIDeleteZoneMsg.java index 8c5e2306c87..d78e440b25d 100755 --- a/header/src/main/java/org/zstack/header/zone/APIDeleteZoneMsg.java +++ b/header/src/main/java/org/zstack/header/zone/APIDeleteZoneMsg.java @@ -36,7 +36,7 @@ */ @RestRequest( path = "/zones/{uuid}", - method = HttpMethod.DELETE, + method = "DELETE", responseClass = APIDeleteZoneEvent.class ) public class APIDeleteZoneMsg extends APIDeleteMessage implements ZoneMessage { diff --git a/header/src/main/java/org/zstack/header/zone/APIGetZoneMsg.java b/header/src/main/java/org/zstack/header/zone/APIGetZoneMsg.java index 4a77556960c..ee0edd97641 100755 --- a/header/src/main/java/org/zstack/header/zone/APIGetZoneMsg.java +++ b/header/src/main/java/org/zstack/header/zone/APIGetZoneMsg.java @@ -8,7 +8,7 @@ @Action(category = ZoneConstant.ACTION_CATEGORY, names = {"read"}) @RestRequest( path = "/zones/{uuid}/info", - method = HttpMethod.GET, + method = "GET", responseClass = APIGetZoneReply.class ) public class APIGetZoneMsg extends APISyncCallMessage { diff --git a/header/src/main/java/org/zstack/header/zone/APIQueryZoneMsg.java b/header/src/main/java/org/zstack/header/zone/APIQueryZoneMsg.java index 06f59edc8ae..994d4020b7f 100755 --- a/header/src/main/java/org/zstack/header/zone/APIQueryZoneMsg.java +++ b/header/src/main/java/org/zstack/header/zone/APIQueryZoneMsg.java @@ -15,7 +15,7 @@ path = "/zones", optionalPaths = {"/zones/{uuid}"}, responseClass = APIQueryZoneReply.class, - method = HttpMethod.GET + method = "GET" ) @Action(category = "zone", names = {"read"}) public class APIQueryZoneMsg extends APIQueryMessage { diff --git a/header/src/main/java/org/zstack/header/zone/APIUpdateZoneMsg.java b/header/src/main/java/org/zstack/header/zone/APIUpdateZoneMsg.java index 385e3a3e120..df9248e8cbc 100755 --- a/header/src/main/java/org/zstack/header/zone/APIUpdateZoneMsg.java +++ b/header/src/main/java/org/zstack/header/zone/APIUpdateZoneMsg.java @@ -13,7 +13,7 @@ path = "/zones/{uuid}/actions", isAction = true, responseClass = APIUpdateZoneEvent.class, - method = HttpMethod.PUT + method = "PUT" ) public class APIUpdateZoneMsg extends APIMessage implements ZoneMessage { @APIParam(maxLength = 255, required = false, validRegexValues = "^(?! )[\\u4e00-\\u9fa5a-zA-Z0-9\\-_.():+\" ]*(? - 4.0.0 - - zstack - org.zstack + + 4.0.0 + + zstack + org.zstack 5.5.0 - .. - - identity - - - org.zstack - header - ${project.version} - - - org.zstack - core - ${project.version} - - - org.zstack - utils - ${project.version} - - - org.zstack - search - ${project.version} - - - - - - - org.apache.maven.plugins - maven-compiler-plugin - ${project.compiler.version} - - groovy-eclipse-compiler - ${project.java.version} - ${project.java.version} - lines,vars,source - true - - - - org.codehaus.groovy - groovy-eclipse-compiler - ${groovy.eclipse.compiler} - - - org.codehaus.groovy - groovy-eclipse-batch - ${groovy.eclipse.batch} - - - - - - org.codehaus.mojo - aspectj-maven-plugin - ${aspectj.plugin.version} - - - - compile - test-compile - - - - - ${project.java.version} - ${project.java.version} - ${project.java.version} - true - - - org.springframework - spring-aspects - - - org.zstack - core - - - org.zstack - header - - - - - - - + .. + + identity + + + org.zstack + header + ${project.version} + + + org.zstack + core + ${project.version} + + + org.zstack + utils + ${project.version} + + + org.zstack + search + ${project.version} + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + ${project.compiler.version} + + ${project.java.version} + ${project.java.version} + lines,vars,source + true + + + + + org.codehaus.gmavenplus + gmavenplus-plugin + 3.0.2 + + + + ${project.basedir}/src/main/java + + **/*.groovy + + + + + + + groovy-stubs + generateStubsremoveStubs + + + groovy-compile + compile + + + + + org.apache.groovy + groovy + ${groovy.version} + + + + + dev.aspectj + aspectj-maven-plugin + ${aspectj.plugin.version} + + + org.aspectj + aspectjtools + ${aspectj.version} + + + + + + compile + test-compile + + + + + ${project.java.version} + ${project.java.version} + ${project.java.version} + true + + + org.springframework + spring-aspects + + + org.zstack + core + + + org.zstack + header + + + + + + + diff --git a/identity/src/main/java/org/zstack/identity/Account.java b/identity/src/main/java/org/zstack/identity/Account.java index 285d03f5122..b1ed1173c86 100755 --- a/identity/src/main/java/org/zstack/identity/Account.java +++ b/identity/src/main/java/org/zstack/identity/Account.java @@ -9,7 +9,7 @@ import org.zstack.header.message.Message; import org.zstack.utils.DebugUtils; -import javax.persistence.Tuple; +import jakarta.persistence.Tuple; import java.util.HashMap; import java.util.List; import java.util.Map; diff --git a/identity/src/main/java/org/zstack/identity/AccountAPIRequestChecker.java b/identity/src/main/java/org/zstack/identity/AccountAPIRequestChecker.java index 5266998a6ef..7635f6fdaea 100755 --- a/identity/src/main/java/org/zstack/identity/AccountAPIRequestChecker.java +++ b/identity/src/main/java/org/zstack/identity/AccountAPIRequestChecker.java @@ -14,7 +14,7 @@ import org.zstack.header.identity.rbac.RBACEntity; import static org.zstack.core.Platform.*; -import javax.persistence.Tuple; +import jakarta.persistence.Tuple; import java.lang.reflect.Field; import java.util.*; import static org.zstack.utils.clouderrorcode.CloudOperationsErrorCode.*; diff --git a/identity/src/main/java/org/zstack/identity/AccountBase.java b/identity/src/main/java/org/zstack/identity/AccountBase.java index 20f072628c4..1d7db3fd1e6 100755 --- a/identity/src/main/java/org/zstack/identity/AccountBase.java +++ b/identity/src/main/java/org/zstack/identity/AccountBase.java @@ -46,8 +46,8 @@ import org.zstack.utils.gson.JSONObjectUtil; import org.zstack.utils.logging.CLogger; -import javax.persistence.Query; -import javax.persistence.Tuple; +import jakarta.persistence.Query; +import jakarta.persistence.Tuple; import java.util.ArrayList; import java.util.HashMap; import java.util.List; diff --git a/identity/src/main/java/org/zstack/identity/AccountCascadeExtension.java b/identity/src/main/java/org/zstack/identity/AccountCascadeExtension.java index 1ba5e6f109f..e36668b9c9d 100755 --- a/identity/src/main/java/org/zstack/identity/AccountCascadeExtension.java +++ b/identity/src/main/java/org/zstack/identity/AccountCascadeExtension.java @@ -17,7 +17,7 @@ import org.zstack.utils.CollectionUtils; import org.zstack.utils.function.Function; -import javax.persistence.Query; +import jakarta.persistence.Query; import java.util.Arrays; import java.util.List; diff --git a/identity/src/main/java/org/zstack/identity/AccountManagerImpl.java b/identity/src/main/java/org/zstack/identity/AccountManagerImpl.java index e11ee611ffe..44619f377d4 100755 --- a/identity/src/main/java/org/zstack/identity/AccountManagerImpl.java +++ b/identity/src/main/java/org/zstack/identity/AccountManagerImpl.java @@ -47,9 +47,9 @@ import org.zstack.utils.gson.JSONObjectUtil; import org.zstack.utils.logging.CLogger; -import javax.persistence.Query; -import javax.persistence.Tuple; -import javax.persistence.TypedQuery; +import jakarta.persistence.Query; +import jakarta.persistence.Tuple; +import jakarta.persistence.TypedQuery; import java.lang.reflect.Field; import java.sql.Timestamp; import java.util.*; diff --git a/identity/src/main/java/org/zstack/identity/AccountSubQueryExtension.java b/identity/src/main/java/org/zstack/identity/AccountSubQueryExtension.java index ca18c745849..c51a3a470ba 100755 --- a/identity/src/main/java/org/zstack/identity/AccountSubQueryExtension.java +++ b/identity/src/main/java/org/zstack/identity/AccountSubQueryExtension.java @@ -9,7 +9,7 @@ import org.zstack.query.QueryUtils; import org.zstack.utils.FieldUtils; -import javax.persistence.Id; +import jakarta.persistence.Id; import java.lang.reflect.Field; import java.util.HashMap; import java.util.Map; @@ -37,7 +37,7 @@ public String makeSubquery(APIQueryMessage msg, Class inventoryClass) { String resourceType = acntMgr.getBaseResourceType(entityClass).getSimpleName(); return String.format("(%s.%s in (select accountresourcerefvo.resourceUuid from AccountResourceRefVO accountresourcerefvo where accountresourcerefvo.ownerAccountUuid = '%s'" + " and accountresourcerefvo.resourceType = '%s') or %s.%s in (select sharedresourcevo.resourceUuid from SharedResourceVO sharedresourcevo where" + - " (sharedresourcevo.receiverAccountUuid = '%s' or sharedresourcevo.toPublic = 1) and sharedresourcevo.resourceType = '%s'))", + " (sharedresourcevo.receiverAccountUuid = '%s' or sharedresourcevo.toPublic = true) and sharedresourcevo.resourceType = '%s'))", inventoryClass.getSimpleName().toLowerCase(), priKey, msg.getSession().getAccountUuid(), resourceType, inventoryClass.getSimpleName().toLowerCase(), priKey, msg.getSession().getAccountUuid(), resourceType); } diff --git a/identity/src/main/java/org/zstack/identity/IdentityZQLExtension.java b/identity/src/main/java/org/zstack/identity/IdentityZQLExtension.java index 96ee3869018..318ec5dffe0 100755 --- a/identity/src/main/java/org/zstack/identity/IdentityZQLExtension.java +++ b/identity/src/main/java/org/zstack/identity/IdentityZQLExtension.java @@ -85,7 +85,7 @@ protected String getAccountResourceSql(String inventoryName, String primaryKey, return String.format("(%s.%s IN (SELECT accountresourcerefvo.resourceUuid FROM AccountResourceRefVO accountresourcerefvo WHERE" + " accountresourcerefvo.ownerAccountUuid in (%s) OR (accountresourcerefvo.resourceUuid" + " IN (SELECT sharedresourcevo.resourceUuid FROM SharedResourceVO sharedresourcevo WHERE" + - " sharedresourcevo.receiverAccountUuid in (%s) OR sharedresourcevo.toPublic = 1))))", + " sharedresourcevo.receiverAccountUuid in (%s) OR sharedresourcevo.toPublic = true))))", inventoryName, primaryKey, accountStr, accountStr); } } diff --git a/identity/src/main/java/org/zstack/identity/QuotaUtil.java b/identity/src/main/java/org/zstack/identity/QuotaUtil.java index d7b29015624..b5d82e2d527 100644 --- a/identity/src/main/java/org/zstack/identity/QuotaUtil.java +++ b/identity/src/main/java/org/zstack/identity/QuotaUtil.java @@ -25,7 +25,7 @@ import org.zstack.utils.gson.JSONObjectUtil; import org.zstack.utils.logging.CLogger; -import javax.persistence.Tuple; +import jakarta.persistence.Tuple; import java.util.HashMap; import java.util.List; import java.util.Map; diff --git a/identity/src/main/java/org/zstack/identity/Session.java b/identity/src/main/java/org/zstack/identity/Session.java index 0f48c5d639a..cc56a254b1c 100755 --- a/identity/src/main/java/org/zstack/identity/Session.java +++ b/identity/src/main/java/org/zstack/identity/Session.java @@ -18,8 +18,8 @@ import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; -import javax.persistence.Query; -import javax.persistence.TypedQuery; +import jakarta.persistence.Query; +import jakarta.persistence.TypedQuery; import java.sql.Timestamp; import java.util.HashMap; import java.util.List; diff --git a/identity/src/main/java/org/zstack/identity/rbac/CheckIfAccountCanAccessResource.java b/identity/src/main/java/org/zstack/identity/rbac/CheckIfAccountCanAccessResource.java index d2001cb7bf0..09a8d96aa32 100755 --- a/identity/src/main/java/org/zstack/identity/rbac/CheckIfAccountCanAccessResource.java +++ b/identity/src/main/java/org/zstack/identity/rbac/CheckIfAccountCanAccessResource.java @@ -19,7 +19,7 @@ protected List scripts() { String text = "select ref.resourceUuid from AccountResourceRefVO ref where" + " ref.ownerAccountUuid = :accountUuid" + " or ref.resourceUuid in" + - " (select sh.resourceUuid from SharedResourceVO sh where sh.receiverAccountUuid = :accountUuid or sh.toPublic = 1)" + + " (select sh.resourceUuid from SharedResourceVO sh where sh.receiverAccountUuid = :accountUuid or sh.toPublic = true)" + " and ref.resourceUuid in (:uuids)"; List auuids = sql(text, String.class) diff --git a/identity/src/main/java/org/zstack/identity/rbac/OperationTargetAPIRequestChecker.java b/identity/src/main/java/org/zstack/identity/rbac/OperationTargetAPIRequestChecker.java index 943cf9df470..595829a8b21 100755 --- a/identity/src/main/java/org/zstack/identity/rbac/OperationTargetAPIRequestChecker.java +++ b/identity/src/main/java/org/zstack/identity/rbac/OperationTargetAPIRequestChecker.java @@ -13,7 +13,7 @@ import org.zstack.header.tag.SystemTagVO_; import org.zstack.identity.APIRequestChecker; -import javax.persistence.Tuple; +import jakarta.persistence.Tuple; import java.util.*; import java.util.stream.Collectors; diff --git a/image/pom.xml b/image/pom.xml index 63bdc6a064f..8e6b2de5869 100755 --- a/image/pom.xml +++ b/image/pom.xml @@ -1,115 +1,141 @@ - - 4.0.0 - - zstack - org.zstack + + 4.0.0 + + zstack + org.zstack 5.5.0 - .. - - image - - - - org.zstack - core - ${project.version} - - - org.zstack - utils - ${project.version} - - - org.zstack - search - ${project.version} - - - org.zstack - identity - ${project.version} - - - org.zstack - header - ${project.version} - - - org.zstack - tag - ${project.version} - - - org.zstack - compute - ${project.version} - - - org.zstack - longjob - ${project.version} - - - - - - - org.apache.maven.plugins - maven-compiler-plugin - ${project.compiler.version} - - groovy-eclipse-compiler - ${project.java.version} - ${project.java.version} - lines,vars,source - true - - - - org.codehaus.groovy - groovy-eclipse-compiler - ${groovy.eclipse.compiler} - - - org.codehaus.groovy - groovy-eclipse-batch - ${groovy.eclipse.batch} - - - - - org.codehaus.mojo - aspectj-maven-plugin - ${aspectj.plugin.version} - - - - compile - test-compile - - - - - ${project.java.version} - ${project.java.version} - ${project.java.version} - true - - - org.springframework - spring-aspects - - - org.zstack - core - - - org.zstack - header - - - - - - - + .. + + image + + + + org.zstack + core + ${project.version} + + + org.zstack + utils + ${project.version} + + + org.zstack + search + ${project.version} + + + org.zstack + identity + ${project.version} + + + org.zstack + header + ${project.version} + + + org.zstack + tag + ${project.version} + + + org.zstack + compute + ${project.version} + + + org.zstack + longjob + ${project.version} + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + ${project.compiler.version} + + ${project.java.version} + ${project.java.version} + lines,vars,source + true + + + + org.codehaus.gmavenplus + gmavenplus-plugin + 3.0.2 + + + + ${project.basedir}/src/main/java + + **/*.groovy + + + + + + + groovy-stubs + generateStubsremoveStubs + + + groovy-compile + compile + + + + + org.apache.groovy + groovy + ${groovy.version} + + + + + dev.aspectj + aspectj-maven-plugin + ${aspectj.plugin.version} + + + org.aspectj + aspectjtools + ${aspectj.version} + + + + + + compile + test-compile + + + + + ${project.java.version} + ${project.java.version} + ${project.java.version} + true + + + org.springframework + spring-aspects + + + org.zstack + core + + + org.zstack + header + + + + + + + diff --git a/image/src/main/java/org/zstack/image/ImageCascadeExtension.java b/image/src/main/java/org/zstack/image/ImageCascadeExtension.java index aa675fa6be3..b235f10eed8 100755 --- a/image/src/main/java/org/zstack/image/ImageCascadeExtension.java +++ b/image/src/main/java/org/zstack/image/ImageCascadeExtension.java @@ -21,8 +21,8 @@ import org.zstack.utils.function.Function; import org.zstack.utils.logging.CLogger; -import javax.persistence.Tuple; -import javax.persistence.TypedQuery; +import jakarta.persistence.Tuple; +import jakarta.persistence.TypedQuery; import java.util.*; import java.util.concurrent.Callable; diff --git a/image/src/main/java/org/zstack/image/ImageManagerImpl.java b/image/src/main/java/org/zstack/image/ImageManagerImpl.java index 08e8b92a552..783399296fa 100755 --- a/image/src/main/java/org/zstack/image/ImageManagerImpl.java +++ b/image/src/main/java/org/zstack/image/ImageManagerImpl.java @@ -73,9 +73,8 @@ import org.zstack.utils.network.NetworkUtils; import org.zstack.zql.ZQL; -import javax.persistence.Tuple; -import javax.persistence.TypedQuery; -import javax.xml.ws.ResponseWrapper; +import jakarta.persistence.Tuple; +import jakarta.persistence.TypedQuery; import java.net.URI; import java.net.URISyntaxException; import java.sql.Timestamp; diff --git a/image/src/main/java/org/zstack/image/ImageQuotaUtil.java b/image/src/main/java/org/zstack/image/ImageQuotaUtil.java index df45e2f1a39..a3a32ebb6bc 100644 --- a/image/src/main/java/org/zstack/image/ImageQuotaUtil.java +++ b/image/src/main/java/org/zstack/image/ImageQuotaUtil.java @@ -18,7 +18,7 @@ import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; -import javax.persistence.TypedQuery; +import jakarta.persistence.TypedQuery; import java.util.List; /** diff --git a/image/src/main/java/org/zstack/image/ImageUpgradeExtension.java b/image/src/main/java/org/zstack/image/ImageUpgradeExtension.java index 6483e312a18..0fc9772f119 100755 --- a/image/src/main/java/org/zstack/image/ImageUpgradeExtension.java +++ b/image/src/main/java/org/zstack/image/ImageUpgradeExtension.java @@ -23,8 +23,8 @@ import org.zstack.utils.function.Function; import org.zstack.utils.logging.CLogger; -import javax.persistence.Tuple; -import javax.persistence.TypedQuery; +import jakarta.persistence.Tuple; +import jakarta.persistence.TypedQuery; import java.io.File; import java.util.HashMap; import java.util.List; diff --git a/longjob/pom.xml b/longjob/pom.xml index 3006e2f90a4..f850ca9fc01 100755 --- a/longjob/pom.xml +++ b/longjob/pom.xml @@ -1,110 +1,136 @@ - - 4.0.0 - - zstack - org.zstack + + 4.0.0 + + zstack + org.zstack 5.5.0 - .. - - longjob - - - - org.zstack - core - ${project.version} - - - org.zstack - utils - ${project.version} - - - org.zstack - search - ${project.version} - - - org.zstack - identity - ${project.version} - - - org.zstack - header - ${project.version} - - - org.zstack - tag - ${project.version} - - - org.zstack - portal - ${project.version} - - - - - - - org.apache.maven.plugins - maven-compiler-plugin - ${project.compiler.version} - - groovy-eclipse-compiler - ${project.java.version} - ${project.java.version} - lines,vars,source - true - - - - org.codehaus.groovy - groovy-eclipse-compiler - ${groovy.eclipse.compiler} - - - org.codehaus.groovy - groovy-eclipse-batch - ${groovy.eclipse.batch} - - - - - org.codehaus.mojo - aspectj-maven-plugin - ${aspectj.plugin.version} - - - - compile - test-compile - - - - - ${project.java.version} - ${project.java.version} - ${project.java.version} - true - - - org.springframework - spring-aspects - - - org.zstack - core - - - org.zstack - header - - - - - - - + .. + + longjob + + + + org.zstack + core + ${project.version} + + + org.zstack + utils + ${project.version} + + + org.zstack + search + ${project.version} + + + org.zstack + identity + ${project.version} + + + org.zstack + header + ${project.version} + + + org.zstack + tag + ${project.version} + + + org.zstack + portal + ${project.version} + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + ${project.compiler.version} + + ${project.java.version} + ${project.java.version} + lines,vars,source + true + + + + org.codehaus.gmavenplus + gmavenplus-plugin + 3.0.2 + + + + ${project.basedir}/src/main/java + + **/*.groovy + + + + + + + groovy-stubs + generateStubsremoveStubs + + + groovy-compile + compile + + + + + org.apache.groovy + groovy + ${groovy.version} + + + + + dev.aspectj + aspectj-maven-plugin + ${aspectj.plugin.version} + + + org.aspectj + aspectjtools + ${aspectj.version} + + + + + + compile + test-compile + + + + + ${project.java.version} + ${project.java.version} + ${project.java.version} + true + + + org.springframework + spring-aspects + + + org.zstack + core + + + org.zstack + header + + + + + + + diff --git a/longjob/src/main/java/org/zstack/longjob/LongJobApiInterceptor.java b/longjob/src/main/java/org/zstack/longjob/LongJobApiInterceptor.java index 390ba623844..f33df361d1b 100755 --- a/longjob/src/main/java/org/zstack/longjob/LongJobApiInterceptor.java +++ b/longjob/src/main/java/org/zstack/longjob/LongJobApiInterceptor.java @@ -22,7 +22,7 @@ import org.zstack.utils.gson.JSONObjectUtil; import org.zstack.utils.logging.CLogger; -import javax.persistence.Tuple; +import jakarta.persistence.Tuple; import java.util.Optional; import java.util.Set; import java.util.TreeMap; diff --git a/longjob/src/main/java/org/zstack/longjob/LongJobManagerImpl.java b/longjob/src/main/java/org/zstack/longjob/LongJobManagerImpl.java index 975b0e711db..b0ab4ce15d1 100755 --- a/longjob/src/main/java/org/zstack/longjob/LongJobManagerImpl.java +++ b/longjob/src/main/java/org/zstack/longjob/LongJobManagerImpl.java @@ -44,7 +44,7 @@ import org.zstack.utils.gson.JSONObjectUtil; import org.zstack.utils.logging.CLogger; -import javax.persistence.Tuple; +import jakarta.persistence.Tuple; import java.sql.SQLNonTransientConnectionException; import java.sql.Timestamp; import java.time.LocalDateTime; diff --git a/longjob/src/main/java/org/zstack/longjob/LongJobUtils.java b/longjob/src/main/java/org/zstack/longjob/LongJobUtils.java index 2d6d2fabc8e..d856fbb9f6a 100644 --- a/longjob/src/main/java/org/zstack/longjob/LongJobUtils.java +++ b/longjob/src/main/java/org/zstack/longjob/LongJobUtils.java @@ -19,7 +19,7 @@ import org.zstack.utils.gson.JSONObjectUtil; import org.zstack.utils.logging.CLogger; -import javax.persistence.Tuple; +import jakarta.persistence.Tuple; import java.util.Arrays; import java.util.List; import java.util.function.Consumer; diff --git a/network/pom.xml b/network/pom.xml index d51e13e2245..e5b1b1a2903 100755 --- a/network/pom.xml +++ b/network/pom.xml @@ -1,109 +1,135 @@ - - 4.0.0 - - zstack - org.zstack + + 4.0.0 + + zstack + org.zstack 5.5.0 - .. - - network - - - org.zstack - core - ${project.version} - - - org.zstack - utils - ${project.version} - - - org.zstack - search - ${project.version} - - - org.zstack - identity - ${project.version} - - - org.zstack - header - ${project.version} - - - org.zstack - tag - ${project.version} - - - org.zstack - resourceconfig - ${project.version} - - - - - - - org.apache.maven.plugins - maven-compiler-plugin - ${project.compiler.version} - - groovy-eclipse-compiler - ${project.java.version} - ${project.java.version} - lines,vars,source - true - - - - org.codehaus.groovy - groovy-eclipse-compiler - ${groovy.eclipse.compiler} - - - org.codehaus.groovy - groovy-eclipse-batch - ${groovy.eclipse.batch} - - - - - org.codehaus.mojo - aspectj-maven-plugin - ${aspectj.plugin.version} - - - - compile - test-compile - - - - - ${project.java.version} - ${project.java.version} - ${project.java.version} - true - - - org.springframework - spring-aspects - - - org.zstack - core - - - org.zstack - header - - - - - - - + .. + + network + + + org.zstack + core + ${project.version} + + + org.zstack + utils + ${project.version} + + + org.zstack + search + ${project.version} + + + org.zstack + identity + ${project.version} + + + org.zstack + header + ${project.version} + + + org.zstack + tag + ${project.version} + + + org.zstack + resourceconfig + ${project.version} + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + ${project.compiler.version} + + ${project.java.version} + ${project.java.version} + lines,vars,source + true + + + + org.codehaus.gmavenplus + gmavenplus-plugin + 3.0.2 + + + + ${project.basedir}/src/main/java + + **/*.groovy + + + + + + + groovy-stubs + generateStubsremoveStubs + + + groovy-compile + compile + + + + + org.apache.groovy + groovy + ${groovy.version} + + + + + dev.aspectj + aspectj-maven-plugin + ${aspectj.plugin.version} + + + org.aspectj + aspectjtools + ${aspectj.version} + + + + + + compile + test-compile + + + + + ${project.java.version} + ${project.java.version} + ${project.java.version} + true + + + org.springframework + spring-aspects + + + org.zstack + core + + + org.zstack + header + + + + + + + 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..09f200de568 100755 --- a/network/src/main/java/org/zstack/network/l2/L2NetworkCascadeExtension.java +++ b/network/src/main/java/org/zstack/network/l2/L2NetworkCascadeExtension.java @@ -26,7 +26,7 @@ import org.zstack.utils.function.Function; import org.zstack.utils.logging.CLogger; -import javax.persistence.TypedQuery; +import jakarta.persistence.TypedQuery; import java.util.ArrayList; import java.util.Arrays; import java.util.List; 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..8e612da95ac 100755 --- a/network/src/main/java/org/zstack/network/l2/L2NoVlanNetwork.java +++ b/network/src/main/java/org/zstack/network/l2/L2NoVlanNetwork.java @@ -43,7 +43,7 @@ import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; -import javax.transaction.Transactional; +import jakarta.transaction.Transactional; import java.util.*; import java.util.concurrent.ConcurrentHashMap; import java.util.stream.Collectors; 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..82f42290773 100644 --- a/network/src/main/java/org/zstack/network/l2/SdnControllerCascadeExtension.java +++ b/network/src/main/java/org/zstack/network/l2/SdnControllerCascadeExtension.java @@ -24,7 +24,7 @@ import org.zstack.utils.function.Function; import org.zstack.utils.logging.CLogger; -import javax.persistence.TypedQuery; +import jakarta.persistence.TypedQuery; import java.util.ArrayList; import java.util.List; import java.util.concurrent.Callable; 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..6a5cd819652 100644 --- a/network/src/main/java/org/zstack/network/l3/IpRangeHelper.java +++ b/network/src/main/java/org/zstack/network/l3/IpRangeHelper.java @@ -2,8 +2,8 @@ import org.zstack.core.Platform; import org.zstack.header.exception.CloudRuntimeException; -import javax.persistence.Tuple; -import javax.persistence.TupleElement; +import jakarta.persistence.Tuple; +import jakarta.persistence.TupleElement; import org.apache.commons.net.util.SubnetUtils; import org.zstack.core.db.Q; 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..b4024c54086 100755 --- a/network/src/main/java/org/zstack/network/l3/L3BasicNetwork.java +++ b/network/src/main/java/org/zstack/network/l3/L3BasicNetwork.java @@ -59,7 +59,7 @@ import org.zstack.utils.network.NetworkUtils; import org.zstack.utils.stopwatch.StopWatch; -import javax.persistence.Tuple; +import jakarta.persistence.Tuple; import java.math.BigInteger; import java.util.*; import java.util.stream.Collectors; 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..0f5df9fd4b1 100755 --- a/network/src/main/java/org/zstack/network/l3/L3NetworkCascadeExtension.java +++ b/network/src/main/java/org/zstack/network/l3/L3NetworkCascadeExtension.java @@ -22,7 +22,7 @@ import org.zstack.utils.function.Function; import org.zstack.utils.logging.CLogger; -import javax.persistence.TypedQuery; +import jakarta.persistence.TypedQuery; import java.util.ArrayList; import java.util.Arrays; import java.util.List; 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..d1890b7bcfa 100755 --- a/network/src/main/java/org/zstack/network/l3/L3NetworkManagerImpl.java +++ b/network/src/main/java/org/zstack/network/l3/L3NetworkManagerImpl.java @@ -60,9 +60,9 @@ import org.zstack.utils.network.IPv6NetworkUtils; import org.zstack.utils.network.NetworkUtils; -import javax.persistence.PersistenceException; -import javax.persistence.Tuple; -import javax.persistence.TypedQuery; +import jakarta.persistence.PersistenceException; +import jakarta.persistence.Tuple; +import jakarta.persistence.TypedQuery; import java.math.BigInteger; import java.util.*; import java.util.concurrent.Callable; diff --git a/network/src/main/java/org/zstack/network/service/NetworkProviderFinder.java b/network/src/main/java/org/zstack/network/service/NetworkProviderFinder.java index 42f2eceec99..f09902b444a 100755 --- a/network/src/main/java/org/zstack/network/service/NetworkProviderFinder.java +++ b/network/src/main/java/org/zstack/network/service/NetworkProviderFinder.java @@ -6,7 +6,7 @@ import org.springframework.transaction.annotation.Transactional; import org.zstack.core.db.DatabaseFacade; -import javax.persistence.TypedQuery; +import jakarta.persistence.TypedQuery; import java.util.List; /** diff --git a/network/src/main/java/org/zstack/network/service/NetworkServiceFilter.java b/network/src/main/java/org/zstack/network/service/NetworkServiceFilter.java index f6cafadc20a..80bc60b6bd0 100755 --- a/network/src/main/java/org/zstack/network/service/NetworkServiceFilter.java +++ b/network/src/main/java/org/zstack/network/service/NetworkServiceFilter.java @@ -6,7 +6,7 @@ import org.springframework.transaction.annotation.Transactional; import org.zstack.core.db.DatabaseFacade; -import javax.persistence.TypedQuery; +import jakarta.persistence.TypedQuery; import java.util.Collection; import java.util.List; diff --git a/plugin/acl/pom.xml b/plugin/acl/pom.xml index 9653ec4e982..b0cbb7829b9 100644 --- a/plugin/acl/pom.xml +++ b/plugin/acl/pom.xml @@ -25,29 +25,55 @@ maven-compiler-plugin ${project.compiler.version} - groovy-eclipse-compiler ${project.java.version} ${project.java.version} lines,vars,source true - - - org.codehaus.groovy - groovy-eclipse-compiler - ${groovy.eclipse.compiler} - - - org.codehaus.groovy - groovy-eclipse-batch - ${groovy.eclipse.batch} - - - org.codehaus.mojo + org.codehaus.gmavenplus + gmavenplus-plugin + 3.0.2 + + + + ${project.basedir}/src/main/java + + **/*.groovy + + + + + + + groovy-stubs + generateStubsremoveStubs + + + groovy-compile + compile + + + + + org.apache.groovy + groovy + ${groovy.version} + + + + + dev.aspectj aspectj-maven-plugin ${aspectj.plugin.version} + + + org.aspectj + aspectjtools + ${aspectj.version} + + diff --git a/plugin/acl/src/main/java/org/zstack/acl/AccessControlListCascadeExtension.java b/plugin/acl/src/main/java/org/zstack/acl/AccessControlListCascadeExtension.java index c28bf0a9495..dbc70c9df51 100644 --- a/plugin/acl/src/main/java/org/zstack/acl/AccessControlListCascadeExtension.java +++ b/plugin/acl/src/main/java/org/zstack/acl/AccessControlListCascadeExtension.java @@ -21,7 +21,7 @@ import org.zstack.utils.function.Function; import org.zstack.utils.logging.CLogger; -import javax.persistence.TypedQuery; +import jakarta.persistence.TypedQuery; import java.util.Arrays; import java.util.List; import java.util.concurrent.Callable; diff --git a/plugin/acl/src/main/java/org/zstack/header/acl/APIAddAccessControlListEntryMsg.java b/plugin/acl/src/main/java/org/zstack/header/acl/APIAddAccessControlListEntryMsg.java index 41e80f2838d..c75e3606a29 100644 --- a/plugin/acl/src/main/java/org/zstack/header/acl/APIAddAccessControlListEntryMsg.java +++ b/plugin/acl/src/main/java/org/zstack/header/acl/APIAddAccessControlListEntryMsg.java @@ -16,7 +16,7 @@ @Action(category = AccessControlListConstants.ACTION_CATEGORY) @RestRequest( path = "/access-control-lists/{aclUuid}/ipentries", - method = HttpMethod.POST, + method = "POST", responseClass = APIAddAccessControlListEntryEvent.class, parameterName = "params" ) diff --git a/plugin/acl/src/main/java/org/zstack/header/acl/APIAddAccessControlListRedirectRuleMsg.java b/plugin/acl/src/main/java/org/zstack/header/acl/APIAddAccessControlListRedirectRuleMsg.java index 829361a29eb..fd59f77857a 100644 --- a/plugin/acl/src/main/java/org/zstack/header/acl/APIAddAccessControlListRedirectRuleMsg.java +++ b/plugin/acl/src/main/java/org/zstack/header/acl/APIAddAccessControlListRedirectRuleMsg.java @@ -17,7 +17,7 @@ @Action(category = AccessControlListConstants.ACTION_CATEGORY) @RestRequest( path = "/access-control-lists/{aclUuid}/redirectRules", - method = HttpMethod.POST, + method = "POST", responseClass = APIAddAccessControlListEntryEvent.class, parameterName = "params" ) diff --git a/plugin/acl/src/main/java/org/zstack/header/acl/APIChangeAccessControlListRedirectRuleMsg.java b/plugin/acl/src/main/java/org/zstack/header/acl/APIChangeAccessControlListRedirectRuleMsg.java index eab75961dfd..481bad3a65d 100644 --- a/plugin/acl/src/main/java/org/zstack/header/acl/APIChangeAccessControlListRedirectRuleMsg.java +++ b/plugin/acl/src/main/java/org/zstack/header/acl/APIChangeAccessControlListRedirectRuleMsg.java @@ -11,7 +11,7 @@ @Action(category = AccessControlListConstants.ACTION_CATEGORY) @RestRequest( path = "/access-control-lists/redirectRules/{uuid}/actions", - method = HttpMethod.PUT, + method = "PUT", responseClass = APIChangeAccessControlListRedirectRuleEvent.class, isAction = true ) diff --git a/plugin/acl/src/main/java/org/zstack/header/acl/APICreateAccessControlListMsg.java b/plugin/acl/src/main/java/org/zstack/header/acl/APICreateAccessControlListMsg.java index 8bc59144cb4..f05a386c923 100644 --- a/plugin/acl/src/main/java/org/zstack/header/acl/APICreateAccessControlListMsg.java +++ b/plugin/acl/src/main/java/org/zstack/header/acl/APICreateAccessControlListMsg.java @@ -18,7 +18,7 @@ @Action(category = AccessControlListConstants.ACTION_CATEGORY) @RestRequest( path = "/access-control-lists", - method = HttpMethod.POST, + method = "POST", responseClass = APICreateAccessControlListEvent.class, parameterName = "params" ) diff --git a/plugin/acl/src/main/java/org/zstack/header/acl/APIDeleteAccessControlListMsg.java b/plugin/acl/src/main/java/org/zstack/header/acl/APIDeleteAccessControlListMsg.java index 12900bbf83e..6e3da3cd8eb 100644 --- a/plugin/acl/src/main/java/org/zstack/header/acl/APIDeleteAccessControlListMsg.java +++ b/plugin/acl/src/main/java/org/zstack/header/acl/APIDeleteAccessControlListMsg.java @@ -13,7 +13,7 @@ @Action(category = AccessControlListConstants.ACTION_CATEGORY) @RestRequest( path = "/access-control-lists/{uuid}", - method = HttpMethod.DELETE, + method = "DELETE", responseClass = APIDeleteAccessControlListEvent.class ) public class APIDeleteAccessControlListMsg extends APIDeleteMessage { diff --git a/plugin/acl/src/main/java/org/zstack/header/acl/APIQueryAccessControlListMsg.java b/plugin/acl/src/main/java/org/zstack/header/acl/APIQueryAccessControlListMsg.java index cca5ac7650c..d996f66afe5 100644 --- a/plugin/acl/src/main/java/org/zstack/header/acl/APIQueryAccessControlListMsg.java +++ b/plugin/acl/src/main/java/org/zstack/header/acl/APIQueryAccessControlListMsg.java @@ -19,7 +19,7 @@ @RestRequest( path = "/access-control-lists", optionalPaths = {"/access-control-lists/{uuid}"}, - method = HttpMethod.GET, + method = "GET", responseClass = APIQueryAccessControlListReply.class ) public class APIQueryAccessControlListMsg extends APIQueryMessage { diff --git a/plugin/acl/src/main/java/org/zstack/header/acl/APIRemoveAccessControlListEntryMsg.java b/plugin/acl/src/main/java/org/zstack/header/acl/APIRemoveAccessControlListEntryMsg.java index bb315f018e8..ed6402afe47 100644 --- a/plugin/acl/src/main/java/org/zstack/header/acl/APIRemoveAccessControlListEntryMsg.java +++ b/plugin/acl/src/main/java/org/zstack/header/acl/APIRemoveAccessControlListEntryMsg.java @@ -16,7 +16,7 @@ @Action(category = AccessControlListConstants.ACTION_CATEGORY) @RestRequest( path = "/access-control-lists/{aclUuid}/ipentries/{uuid}", - method = HttpMethod.DELETE, + method = "DELETE", responseClass = APIRemoveAccessControlListEntryEvent.class ) public class APIRemoveAccessControlListEntryMsg extends APIDeleteMessage implements APIAuditor{ diff --git a/plugin/acl/src/main/java/org/zstack/header/acl/APIUpdateAccessControlListMsg.java b/plugin/acl/src/main/java/org/zstack/header/acl/APIUpdateAccessControlListMsg.java index 5525b72adf4..4f81511147b 100644 --- a/plugin/acl/src/main/java/org/zstack/header/acl/APIUpdateAccessControlListMsg.java +++ b/plugin/acl/src/main/java/org/zstack/header/acl/APIUpdateAccessControlListMsg.java @@ -15,7 +15,7 @@ @Action(category = AccessControlListConstants.ACTION_CATEGORY) @RestRequest( path = "/access-control-lists/{uuid}/actions", - method = HttpMethod.PUT, + method = "PUT", responseClass = APIUpdateAccessControlListEvent.class, isAction = true ) diff --git a/plugin/acl/src/main/java/org/zstack/header/acl/AccessControlListEntryVO.java b/plugin/acl/src/main/java/org/zstack/header/acl/AccessControlListEntryVO.java index 8a8b0978010..e6b459b79fe 100644 --- a/plugin/acl/src/main/java/org/zstack/header/acl/AccessControlListEntryVO.java +++ b/plugin/acl/src/main/java/org/zstack/header/acl/AccessControlListEntryVO.java @@ -7,7 +7,7 @@ import org.zstack.header.vo.Index; import org.zstack.header.vo.ToInventory; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; /** diff --git a/plugin/acl/src/main/java/org/zstack/header/acl/AccessControlListEntryVO_.java b/plugin/acl/src/main/java/org/zstack/header/acl/AccessControlListEntryVO_.java index 59312f19f84..6991b9d5074 100644 --- a/plugin/acl/src/main/java/org/zstack/header/acl/AccessControlListEntryVO_.java +++ b/plugin/acl/src/main/java/org/zstack/header/acl/AccessControlListEntryVO_.java @@ -2,8 +2,8 @@ import org.apache.commons.net.ntp.TimeStamp; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; /** * @author: zhanyong.miao 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..49d0009b37a 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 @@ -4,7 +4,7 @@ import org.zstack.header.vo.*; import org.zstack.header.vo.EntityGraph; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; import java.util.HashSet; import java.util.Set; 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 21e940bd43c..08637d90f2e 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 @@ -3,8 +3,8 @@ import org.apache.commons.net.ntp.TimeStamp; import org.zstack.header.vo.ResourceVO_; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; /** * @author: zhanyong.miao diff --git a/plugin/applianceVm/pom.xml b/plugin/applianceVm/pom.xml index 72613eb9881..f53d82fcbcc 100755 --- a/plugin/applianceVm/pom.xml +++ b/plugin/applianceVm/pom.xml @@ -36,29 +36,55 @@ maven-compiler-plugin ${project.compiler.version} - groovy-eclipse-compiler ${project.java.version} ${project.java.version} lines,vars,source true - - - org.codehaus.groovy - groovy-eclipse-compiler - ${groovy.eclipse.compiler} - - - org.codehaus.groovy - groovy-eclipse-batch - ${groovy.eclipse.batch} - - - org.codehaus.mojo + org.codehaus.gmavenplus + gmavenplus-plugin + 3.0.2 + + + + ${project.basedir}/src/main/java + + **/*.groovy + + + + + + + groovy-stubs + generateStubsremoveStubs + + + groovy-compile + compile + + + + + org.apache.groovy + groovy + ${groovy.version} + + + + + dev.aspectj aspectj-maven-plugin ${aspectj.plugin.version} + + + org.aspectj + aspectjtools + ${aspectj.version} + + diff --git a/plugin/applianceVm/src/main/java/org/zstack/appliancevm/APIQueryApplianceVmMsg.java b/plugin/applianceVm/src/main/java/org/zstack/appliancevm/APIQueryApplianceVmMsg.java index 9a21bcae536..818c02b8b3a 100755 --- a/plugin/applianceVm/src/main/java/org/zstack/appliancevm/APIQueryApplianceVmMsg.java +++ b/plugin/applianceVm/src/main/java/org/zstack/appliancevm/APIQueryApplianceVmMsg.java @@ -15,7 +15,7 @@ @RestRequest( path = "/vm-instances/appliances", optionalPaths = {"/vm-instances/appliances/{uuid}"}, - method = HttpMethod.GET, + method = "GET", responseClass = APIQueryApplianceVmReply.class ) public class APIQueryApplianceVmMsg extends APIQueryMessage { 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..550dde53c73 100755 --- a/plugin/applianceVm/src/main/java/org/zstack/appliancevm/ApplianceVmCascadeExtension.java +++ b/plugin/applianceVm/src/main/java/org/zstack/appliancevm/ApplianceVmCascadeExtension.java @@ -53,7 +53,7 @@ import org.zstack.utils.logging.CLogger; import org.zstack.utils.network.IPv6Constants; -import javax.persistence.TypedQuery; +import jakarta.persistence.TypedQuery; import java.util.*; import java.util.concurrent.Callable; import java.util.concurrent.TimeUnit; 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..ab75dfa0a1c 100755 --- a/plugin/applianceVm/src/main/java/org/zstack/appliancevm/ApplianceVmFacadeImpl.java +++ b/plugin/applianceVm/src/main/java/org/zstack/appliancevm/ApplianceVmFacadeImpl.java @@ -47,7 +47,7 @@ import org.zstack.utils.function.Function; import org.zstack.utils.logging.CLogger; -import javax.persistence.Query; +import jakarta.persistence.Query; import java.util.*; import java.util.stream.Collectors; diff --git a/plugin/applianceVm/src/main/java/org/zstack/appliancevm/ApplianceVmFirewallRuleVO.java b/plugin/applianceVm/src/main/java/org/zstack/appliancevm/ApplianceVmFirewallRuleVO.java index b296f2150c8..bb9946cec94 100755 --- a/plugin/applianceVm/src/main/java/org/zstack/appliancevm/ApplianceVmFirewallRuleVO.java +++ b/plugin/applianceVm/src/main/java/org/zstack/appliancevm/ApplianceVmFirewallRuleVO.java @@ -9,7 +9,7 @@ import org.zstack.utils.CollectionUtils; import org.zstack.utils.function.Function; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; import java.util.Collection; diff --git a/plugin/applianceVm/src/main/java/org/zstack/appliancevm/ApplianceVmFirewallRuleVO_.java b/plugin/applianceVm/src/main/java/org/zstack/appliancevm/ApplianceVmFirewallRuleVO_.java index 5b63a63e956..e99315097bc 100755 --- a/plugin/applianceVm/src/main/java/org/zstack/appliancevm/ApplianceVmFirewallRuleVO_.java +++ b/plugin/applianceVm/src/main/java/org/zstack/appliancevm/ApplianceVmFirewallRuleVO_.java @@ -2,8 +2,8 @@ import org.zstack.header.vm.VmInstanceAO; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; /** diff --git a/plugin/applianceVm/src/main/java/org/zstack/appliancevm/ApplianceVmVO.java b/plugin/applianceVm/src/main/java/org/zstack/appliancevm/ApplianceVmVO.java index e2191afadd9..8f89d69e85d 100755 --- a/plugin/applianceVm/src/main/java/org/zstack/appliancevm/ApplianceVmVO.java +++ b/plugin/applianceVm/src/main/java/org/zstack/appliancevm/ApplianceVmVO.java @@ -8,7 +8,7 @@ import org.zstack.header.vo.ForeignKey; import org.zstack.header.vo.ForeignKey.ReferenceOption; -import javax.persistence.*; +import jakarta.persistence.*; /** * Created with IntelliJ IDEA. diff --git a/plugin/applianceVm/src/main/java/org/zstack/appliancevm/ApplianceVmVO_.java b/plugin/applianceVm/src/main/java/org/zstack/appliancevm/ApplianceVmVO_.java index 7e6185dfad3..453d46e0f6b 100755 --- a/plugin/applianceVm/src/main/java/org/zstack/appliancevm/ApplianceVmVO_.java +++ b/plugin/applianceVm/src/main/java/org/zstack/appliancevm/ApplianceVmVO_.java @@ -2,8 +2,8 @@ import org.zstack.header.vm.VmInstanceVO_; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; /** * Created with IntelliJ IDEA. diff --git a/plugin/cbd/pom.xml b/plugin/cbd/pom.xml index 119a099cab4..0ef37006044 100644 --- a/plugin/cbd/pom.xml +++ b/plugin/cbd/pom.xml @@ -36,29 +36,55 @@ maven-compiler-plugin ${project.compiler.version} - groovy-eclipse-compiler ${project.java.version} ${project.java.version} lines,vars,source true - - - org.codehaus.groovy - groovy-eclipse-compiler - ${groovy.eclipse.compiler} - - - org.codehaus.groovy - groovy-eclipse-batch - ${groovy.eclipse.batch} - - - org.codehaus.mojo + org.codehaus.gmavenplus + gmavenplus-plugin + 3.0.2 + + + + ${project.basedir}/src/main/java + + **/*.groovy + + + + + + + groovy-stubs + generateStubsremoveStubs + + + groovy-compile + compile + + + + + org.apache.groovy + groovy + ${groovy.version} + + + + + dev.aspectj aspectj-maven-plugin ${aspectj.plugin.version} + + + org.aspectj + aspectjtools + ${aspectj.version} + + diff --git a/plugin/ceph/pom.xml b/plugin/ceph/pom.xml index 6370dc22be9..c2fa675d0f1 100755 --- a/plugin/ceph/pom.xml +++ b/plugin/ceph/pom.xml @@ -35,29 +35,55 @@ maven-compiler-plugin ${project.compiler.version} - groovy-eclipse-compiler ${project.java.version} ${project.java.version} lines,vars,source true - - - org.codehaus.groovy - groovy-eclipse-compiler - ${groovy.eclipse.compiler} - - - org.codehaus.groovy - groovy-eclipse-batch - ${groovy.eclipse.batch} - - - org.codehaus.mojo + org.codehaus.gmavenplus + gmavenplus-plugin + 3.0.2 + + + + ${project.basedir}/src/main/java + + **/*.groovy + + + + + + + groovy-stubs + generateStubsremoveStubs + + + groovy-compile + compile + + + + + org.apache.groovy + groovy + ${groovy.version} + + + + + dev.aspectj aspectj-maven-plugin ${aspectj.plugin.version} + + + org.aspectj + aspectjtools + ${aspectj.version} + + diff --git a/plugin/ceph/src/main/java/org/zstack/storage/ceph/CephCapacityUpdater.java b/plugin/ceph/src/main/java/org/zstack/storage/ceph/CephCapacityUpdater.java index d6cc6777d61..2bfa4e69ae4 100755 --- a/plugin/ceph/src/main/java/org/zstack/storage/ceph/CephCapacityUpdater.java +++ b/plugin/ceph/src/main/java/org/zstack/storage/ceph/CephCapacityUpdater.java @@ -7,7 +7,7 @@ import org.zstack.core.componentloader.PluginRegistry; import org.zstack.core.db.DatabaseFacade; import org.zstack.core.db.GLock; -import javax.persistence.LockModeType; +import jakarta.persistence.LockModeType; import java.util.List; /** diff --git a/plugin/ceph/src/main/java/org/zstack/storage/ceph/CephCapacityVO.java b/plugin/ceph/src/main/java/org/zstack/storage/ceph/CephCapacityVO.java index 59549cdef04..a5743da0f18 100755 --- a/plugin/ceph/src/main/java/org/zstack/storage/ceph/CephCapacityVO.java +++ b/plugin/ceph/src/main/java/org/zstack/storage/ceph/CephCapacityVO.java @@ -1,6 +1,6 @@ package org.zstack.storage.ceph; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; /** diff --git a/plugin/ceph/src/main/java/org/zstack/storage/ceph/CephCapacityVO_.java b/plugin/ceph/src/main/java/org/zstack/storage/ceph/CephCapacityVO_.java index 202e6a060a4..52d95ac4287 100644 --- a/plugin/ceph/src/main/java/org/zstack/storage/ceph/CephCapacityVO_.java +++ b/plugin/ceph/src/main/java/org/zstack/storage/ceph/CephCapacityVO_.java @@ -1,7 +1,7 @@ package org.zstack.storage.ceph; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; /** diff --git a/plugin/ceph/src/main/java/org/zstack/storage/ceph/CephMonAO.java b/plugin/ceph/src/main/java/org/zstack/storage/ceph/CephMonAO.java index fe1f41b8303..43dc8c206db 100755 --- a/plugin/ceph/src/main/java/org/zstack/storage/ceph/CephMonAO.java +++ b/plugin/ceph/src/main/java/org/zstack/storage/ceph/CephMonAO.java @@ -4,7 +4,7 @@ import org.zstack.header.core.encrypt.EncryptColumn; import org.zstack.header.vo.ResourceVO; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; /** diff --git a/plugin/ceph/src/main/java/org/zstack/storage/ceph/CephMonAO_.java b/plugin/ceph/src/main/java/org/zstack/storage/ceph/CephMonAO_.java index 60f7b345855..9798ea03bf6 100755 --- a/plugin/ceph/src/main/java/org/zstack/storage/ceph/CephMonAO_.java +++ b/plugin/ceph/src/main/java/org/zstack/storage/ceph/CephMonAO_.java @@ -2,8 +2,8 @@ import org.zstack.header.vo.ResourceVO_; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; /** diff --git a/plugin/ceph/src/main/java/org/zstack/storage/ceph/backup/APIAddCephBackupStorageMsg.java b/plugin/ceph/src/main/java/org/zstack/storage/ceph/backup/APIAddCephBackupStorageMsg.java index e7e2795e657..cad47ecdcd5 100755 --- a/plugin/ceph/src/main/java/org/zstack/storage/ceph/backup/APIAddCephBackupStorageMsg.java +++ b/plugin/ceph/src/main/java/org/zstack/storage/ceph/backup/APIAddCephBackupStorageMsg.java @@ -25,7 +25,7 @@ }) @RestRequest( path = "/backup-storage/ceph", - method = HttpMethod.POST, + method = "POST", parameterName = "params", responseClass = APIAddBackupStorageEvent.class ) diff --git a/plugin/ceph/src/main/java/org/zstack/storage/ceph/backup/APIAddMonToCephBackupStorageMsg.java b/plugin/ceph/src/main/java/org/zstack/storage/ceph/backup/APIAddMonToCephBackupStorageMsg.java index 556bc277028..b4b269df760 100755 --- a/plugin/ceph/src/main/java/org/zstack/storage/ceph/backup/APIAddMonToCephBackupStorageMsg.java +++ b/plugin/ceph/src/main/java/org/zstack/storage/ceph/backup/APIAddMonToCephBackupStorageMsg.java @@ -17,7 +17,7 @@ */ @RestRequest( path = "/backup-storage/ceph/{uuid}/mons", - method = HttpMethod.POST, + method = "POST", parameterName = "params", responseClass = APIAddMonToCephBackupStorageEvent.class ) diff --git a/plugin/ceph/src/main/java/org/zstack/storage/ceph/backup/APIQueryCephBackupStorageMsg.java b/plugin/ceph/src/main/java/org/zstack/storage/ceph/backup/APIQueryCephBackupStorageMsg.java index 5b50f8f3141..92c3b6b9845 100755 --- a/plugin/ceph/src/main/java/org/zstack/storage/ceph/backup/APIQueryCephBackupStorageMsg.java +++ b/plugin/ceph/src/main/java/org/zstack/storage/ceph/backup/APIQueryCephBackupStorageMsg.java @@ -19,7 +19,7 @@ @RestRequest( path = "/backup-storage/ceph", optionalPaths = {"/backup-storage/ceph/{uuid}"}, - method = HttpMethod.GET, + method = "GET", responseClass = APIQueryBackupStorageReply.class ) public class APIQueryCephBackupStorageMsg extends APIQueryMessage { diff --git a/plugin/ceph/src/main/java/org/zstack/storage/ceph/backup/APIRemoveMonFromCephBackupStorageMsg.java b/plugin/ceph/src/main/java/org/zstack/storage/ceph/backup/APIRemoveMonFromCephBackupStorageMsg.java index fd45ed139a0..4ea3a01dbf8 100755 --- a/plugin/ceph/src/main/java/org/zstack/storage/ceph/backup/APIRemoveMonFromCephBackupStorageMsg.java +++ b/plugin/ceph/src/main/java/org/zstack/storage/ceph/backup/APIRemoveMonFromCephBackupStorageMsg.java @@ -16,7 +16,7 @@ */ @RestRequest( path = "/backup-storage/ceph/{uuid}/mons", - method = HttpMethod.DELETE, + method = "DELETE", responseClass = APIRemoveMonFromCephBackupStorageEvent.class ) public class APIRemoveMonFromCephBackupStorageMsg extends APIMessage implements BackupStorageMessage { diff --git a/plugin/ceph/src/main/java/org/zstack/storage/ceph/backup/APIUpdateCephBackupStorageMonMsg.java b/plugin/ceph/src/main/java/org/zstack/storage/ceph/backup/APIUpdateCephBackupStorageMonMsg.java index d29ad15dcbc..9b5d371e830 100755 --- a/plugin/ceph/src/main/java/org/zstack/storage/ceph/backup/APIUpdateCephBackupStorageMonMsg.java +++ b/plugin/ceph/src/main/java/org/zstack/storage/ceph/backup/APIUpdateCephBackupStorageMonMsg.java @@ -15,7 +15,7 @@ */ @RestRequest( path = "/backup-storage/ceph/mons/{monUuid}/actions", - method = HttpMethod.PUT, + method = "PUT", isAction = true, responseClass = APIUpdateCephBackupStorageMonEvent.class ) 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..6600b74d69e 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 @@ -50,8 +50,8 @@ import org.zstack.utils.gson.JSONObjectUtil; import org.zstack.utils.logging.CLogger; -import javax.persistence.Tuple; -import javax.persistence.TypedQuery; +import jakarta.persistence.Tuple; +import jakarta.persistence.TypedQuery; import java.io.Serializable; import java.net.URISyntaxException; import java.util.*; 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..93269a2837e 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 @@ -12,9 +12,9 @@ import org.zstack.storage.ceph.*; import org.zstack.tag.SystemTagCreator; -import javax.persistence.LockModeType; -import javax.persistence.NoResultException; -import javax.persistence.TypedQuery; +import jakarta.persistence.LockModeType; +import jakarta.persistence.NoResultException; +import jakarta.persistence.TypedQuery; import java.util.List; /** diff --git a/plugin/ceph/src/main/java/org/zstack/storage/ceph/backup/CephBackupStorageInventory.java b/plugin/ceph/src/main/java/org/zstack/storage/ceph/backup/CephBackupStorageInventory.java index 9f73e33f0ed..04a3aa8ee75 100755 --- a/plugin/ceph/src/main/java/org/zstack/storage/ceph/backup/CephBackupStorageInventory.java +++ b/plugin/ceph/src/main/java/org/zstack/storage/ceph/backup/CephBackupStorageInventory.java @@ -7,7 +7,7 @@ import org.zstack.header.storage.backup.BackupStorageInventory; import org.zstack.storage.ceph.CephConstants; -import javax.persistence.Column; +import jakarta.persistence.Column; import java.util.ArrayList; import java.util.Collection; import java.util.List; 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..716b83d7096 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 @@ -31,7 +31,7 @@ import org.zstack.utils.gson.JSONObjectUtil; import org.zstack.utils.logging.CLogger; -import javax.persistence.TypedQuery; +import jakarta.persistence.TypedQuery; import java.util.*; import java.util.stream.Collectors; diff --git a/plugin/ceph/src/main/java/org/zstack/storage/ceph/backup/CephBackupStorageMonVO.java b/plugin/ceph/src/main/java/org/zstack/storage/ceph/backup/CephBackupStorageMonVO.java index 5011a9b2403..21bca7a3da8 100755 --- a/plugin/ceph/src/main/java/org/zstack/storage/ceph/backup/CephBackupStorageMonVO.java +++ b/plugin/ceph/src/main/java/org/zstack/storage/ceph/backup/CephBackupStorageMonVO.java @@ -8,7 +8,7 @@ import org.zstack.header.vo.SoftDeletionCascades; import org.zstack.storage.ceph.CephMonAO; -import javax.persistence.*; +import jakarta.persistence.*; /** * Created by frank on 7/27/2015. diff --git a/plugin/ceph/src/main/java/org/zstack/storage/ceph/backup/CephBackupStorageMonVO_.java b/plugin/ceph/src/main/java/org/zstack/storage/ceph/backup/CephBackupStorageMonVO_.java index 25a6fce82c6..6766704ae7e 100755 --- a/plugin/ceph/src/main/java/org/zstack/storage/ceph/backup/CephBackupStorageMonVO_.java +++ b/plugin/ceph/src/main/java/org/zstack/storage/ceph/backup/CephBackupStorageMonVO_.java @@ -2,8 +2,8 @@ import org.zstack.storage.ceph.CephMonAO_; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; /** * Created by frank on 7/29/2015. diff --git a/plugin/ceph/src/main/java/org/zstack/storage/ceph/backup/CephBackupStorageVO.java b/plugin/ceph/src/main/java/org/zstack/storage/ceph/backup/CephBackupStorageVO.java index dc5b0c1cf7c..d1496a3c0dc 100755 --- a/plugin/ceph/src/main/java/org/zstack/storage/ceph/backup/CephBackupStorageVO.java +++ b/plugin/ceph/src/main/java/org/zstack/storage/ceph/backup/CephBackupStorageVO.java @@ -6,7 +6,7 @@ import org.zstack.header.vo.EO; import org.zstack.header.vo.NoView; -import javax.persistence.*; +import jakarta.persistence.*; import java.util.HashSet; import java.util.Set; diff --git a/plugin/ceph/src/main/java/org/zstack/storage/ceph/backup/CephBackupStorageVO_.java b/plugin/ceph/src/main/java/org/zstack/storage/ceph/backup/CephBackupStorageVO_.java index e106cb186ab..094d9ab163f 100755 --- a/plugin/ceph/src/main/java/org/zstack/storage/ceph/backup/CephBackupStorageVO_.java +++ b/plugin/ceph/src/main/java/org/zstack/storage/ceph/backup/CephBackupStorageVO_.java @@ -1,8 +1,8 @@ package org.zstack.storage.ceph.backup; import org.zstack.header.storage.backup.BackupStorageVO_; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; /** * Created by frank on 7/29/2015. 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..a27601c3cfd 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 @@ -22,7 +22,7 @@ @TagResourceType(PrimaryStorageVO.class) @RestRequest( path = "/primary-storage/ceph", - method = HttpMethod.POST, + method = "POST", responseClass = APIAddPrimaryStorageEvent.class, parameterName = "params" ) diff --git a/plugin/ceph/src/main/java/org/zstack/storage/ceph/primary/APIAddCephPrimaryStoragePoolMsg.java b/plugin/ceph/src/main/java/org/zstack/storage/ceph/primary/APIAddCephPrimaryStoragePoolMsg.java index 458a3060d51..4eed5830121 100755 --- a/plugin/ceph/src/main/java/org/zstack/storage/ceph/primary/APIAddCephPrimaryStoragePoolMsg.java +++ b/plugin/ceph/src/main/java/org/zstack/storage/ceph/primary/APIAddCephPrimaryStoragePoolMsg.java @@ -15,7 +15,7 @@ */ @RestRequest( path = "/primary-storage/ceph/{primaryStorageUuid}/pools", - method = HttpMethod.POST, + method = "POST", parameterName = "params", responseClass = APIAddCephPrimaryStoragePoolEvent.class ) diff --git a/plugin/ceph/src/main/java/org/zstack/storage/ceph/primary/APIAddMonToCephPrimaryStorageMsg.java b/plugin/ceph/src/main/java/org/zstack/storage/ceph/primary/APIAddMonToCephPrimaryStorageMsg.java index 3d91a19e274..ebd8b56d8d5 100755 --- a/plugin/ceph/src/main/java/org/zstack/storage/ceph/primary/APIAddMonToCephPrimaryStorageMsg.java +++ b/plugin/ceph/src/main/java/org/zstack/storage/ceph/primary/APIAddMonToCephPrimaryStorageMsg.java @@ -17,7 +17,7 @@ */ @RestRequest( path = "/primary-storage/ceph/{uuid}/mons", - method = HttpMethod.POST, + method = "POST", responseClass = APIAddMonToCephPrimaryStorageEvent.class, parameterName = "params" ) diff --git a/plugin/ceph/src/main/java/org/zstack/storage/ceph/primary/APIDeleteCephPrimaryStoragePoolMsg.java b/plugin/ceph/src/main/java/org/zstack/storage/ceph/primary/APIDeleteCephPrimaryStoragePoolMsg.java index 7a56364cede..660f7517619 100755 --- a/plugin/ceph/src/main/java/org/zstack/storage/ceph/primary/APIDeleteCephPrimaryStoragePoolMsg.java +++ b/plugin/ceph/src/main/java/org/zstack/storage/ceph/primary/APIDeleteCephPrimaryStoragePoolMsg.java @@ -15,7 +15,7 @@ */ @RestRequest( path = "/primary-storage/ceph/pools/{uuid}", - method = HttpMethod.DELETE, + method = "DELETE", responseClass = APIDeleteCephPrimaryStoragePoolEvent.class ) public class APIDeleteCephPrimaryStoragePoolMsg extends APIMessage implements PrimaryStorageMessage, APIAuditor { diff --git a/plugin/ceph/src/main/java/org/zstack/storage/ceph/primary/APIQueryCephOsdGroupMsg.java b/plugin/ceph/src/main/java/org/zstack/storage/ceph/primary/APIQueryCephOsdGroupMsg.java index c4d995c7ebd..4dde2555ac9 100644 --- a/plugin/ceph/src/main/java/org/zstack/storage/ceph/primary/APIQueryCephOsdGroupMsg.java +++ b/plugin/ceph/src/main/java/org/zstack/storage/ceph/primary/APIQueryCephOsdGroupMsg.java @@ -11,7 +11,7 @@ @RestRequest( path = "/primary-storage/ceph/osdgroups", optionalPaths = {"/primary-storage/ceph/osdgroups/{uuid}"}, - method = HttpMethod.GET, + method = "GET", responseClass = APIQueryCephOsdGroupReply.class ) @AutoQuery(replyClass = APIQueryCephOsdGroupReply.class, inventoryClass = CephOsdGroupInventory.class) diff --git a/plugin/ceph/src/main/java/org/zstack/storage/ceph/primary/APIQueryCephPrimaryStorageMsg.java b/plugin/ceph/src/main/java/org/zstack/storage/ceph/primary/APIQueryCephPrimaryStorageMsg.java index 92095b60416..3996a638d0d 100755 --- a/plugin/ceph/src/main/java/org/zstack/storage/ceph/primary/APIQueryCephPrimaryStorageMsg.java +++ b/plugin/ceph/src/main/java/org/zstack/storage/ceph/primary/APIQueryCephPrimaryStorageMsg.java @@ -16,7 +16,7 @@ @RestRequest( path = "/primary-storage/ceph", optionalPaths = {"/primary-storage/ceph/{uuid}"}, - method = HttpMethod.GET, + method = "GET", responseClass = APIQueryPrimaryStorageReply.class ) public class APIQueryCephPrimaryStorageMsg extends APIQueryMessage { diff --git a/plugin/ceph/src/main/java/org/zstack/storage/ceph/primary/APIQueryCephPrimaryStoragePoolMsg.java b/plugin/ceph/src/main/java/org/zstack/storage/ceph/primary/APIQueryCephPrimaryStoragePoolMsg.java index 3e03560f89d..9a157594829 100755 --- a/plugin/ceph/src/main/java/org/zstack/storage/ceph/primary/APIQueryCephPrimaryStoragePoolMsg.java +++ b/plugin/ceph/src/main/java/org/zstack/storage/ceph/primary/APIQueryCephPrimaryStoragePoolMsg.java @@ -15,7 +15,7 @@ @RestRequest( path = "/primary-storage/ceph/pools", optionalPaths = {"/primary-storage/ceph/pools/{uuid}"}, - method = HttpMethod.GET, + method = "GET", responseClass = APIQueryCephPrimaryStoragePoolReply.class ) @AutoQuery(replyClass = APIQueryCephPrimaryStoragePoolReply.class, inventoryClass = CephPrimaryStoragePoolInventory.class) diff --git a/plugin/ceph/src/main/java/org/zstack/storage/ceph/primary/APIRemoveMonFromCephPrimaryStorageMsg.java b/plugin/ceph/src/main/java/org/zstack/storage/ceph/primary/APIRemoveMonFromCephPrimaryStorageMsg.java index ec8cccc3d03..14eaa42dd32 100755 --- a/plugin/ceph/src/main/java/org/zstack/storage/ceph/primary/APIRemoveMonFromCephPrimaryStorageMsg.java +++ b/plugin/ceph/src/main/java/org/zstack/storage/ceph/primary/APIRemoveMonFromCephPrimaryStorageMsg.java @@ -16,7 +16,7 @@ */ @RestRequest( path = "/primary-storage/ceph/{uuid}/mons", - method = HttpMethod.DELETE, + method = "DELETE", responseClass = APIRemoveMonFromCephPrimaryStorageEvent.class ) public class APIRemoveMonFromCephPrimaryStorageMsg extends APIMessage implements PrimaryStorageMessage { diff --git a/plugin/ceph/src/main/java/org/zstack/storage/ceph/primary/APIUpdateCephPrimaryStorageMonMsg.java b/plugin/ceph/src/main/java/org/zstack/storage/ceph/primary/APIUpdateCephPrimaryStorageMonMsg.java index e77b5fe8fca..368372208be 100755 --- a/plugin/ceph/src/main/java/org/zstack/storage/ceph/primary/APIUpdateCephPrimaryStorageMonMsg.java +++ b/plugin/ceph/src/main/java/org/zstack/storage/ceph/primary/APIUpdateCephPrimaryStorageMonMsg.java @@ -16,7 +16,7 @@ @RestRequest( path = "/primary-storage/ceph/mons/{monUuid}/actions", isAction = true, - method = HttpMethod.PUT, + method = "PUT", responseClass = APIUpdateCephPrimaryStorageMonEvent.class ) public class APIUpdateCephPrimaryStorageMonMsg extends APIMessage implements PrimaryStorageMessage, Serializable { diff --git a/plugin/ceph/src/main/java/org/zstack/storage/ceph/primary/APIUpdateCephPrimaryStoragePoolMsg.java b/plugin/ceph/src/main/java/org/zstack/storage/ceph/primary/APIUpdateCephPrimaryStoragePoolMsg.java index 133baa5aee5..a3ff836f92e 100755 --- a/plugin/ceph/src/main/java/org/zstack/storage/ceph/primary/APIUpdateCephPrimaryStoragePoolMsg.java +++ b/plugin/ceph/src/main/java/org/zstack/storage/ceph/primary/APIUpdateCephPrimaryStoragePoolMsg.java @@ -14,7 +14,7 @@ @RestRequest( path = "/primary-storage/ceph/pools/{uuid}/actions", isAction = true, - method = HttpMethod.PUT, + method = "PUT", responseClass = APIUpdateCephPrimaryStoragePoolEvent.class ) public class APIUpdateCephPrimaryStoragePoolMsg extends APIMessage implements PrimaryStorageMessage { diff --git a/plugin/ceph/src/main/java/org/zstack/storage/ceph/primary/CephImageCacheCleaner.java b/plugin/ceph/src/main/java/org/zstack/storage/ceph/primary/CephImageCacheCleaner.java index 81cec9a040c..da79bc413d9 100755 --- a/plugin/ceph/src/main/java/org/zstack/storage/ceph/primary/CephImageCacheCleaner.java +++ b/plugin/ceph/src/main/java/org/zstack/storage/ceph/primary/CephImageCacheCleaner.java @@ -12,7 +12,7 @@ import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; -import javax.persistence.TypedQuery; +import jakarta.persistence.TypedQuery; import java.util.List; /** 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..bbaf50db495 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 @@ -29,7 +29,7 @@ import org.zstack.utils.CollectionUtils; import org.zstack.utils.function.Function; -import javax.persistence.TypedQuery; +import jakarta.persistence.TypedQuery; import java.util.List; import java.util.Map; diff --git a/plugin/ceph/src/main/java/org/zstack/storage/ceph/primary/CephOsdGroupHistoricalUsageVO.java b/plugin/ceph/src/main/java/org/zstack/storage/ceph/primary/CephOsdGroupHistoricalUsageVO.java index a83dfcdef4a..c5bdd229742 100644 --- a/plugin/ceph/src/main/java/org/zstack/storage/ceph/primary/CephOsdGroupHistoricalUsageVO.java +++ b/plugin/ceph/src/main/java/org/zstack/storage/ceph/primary/CephOsdGroupHistoricalUsageVO.java @@ -4,9 +4,9 @@ import org.zstack.header.tag.AutoDeleteTag; import org.zstack.header.vo.BaseResource; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.Table; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.Table; @Entity @Table diff --git a/plugin/ceph/src/main/java/org/zstack/storage/ceph/primary/CephOsdGroupHistoricalUsageVO_.java b/plugin/ceph/src/main/java/org/zstack/storage/ceph/primary/CephOsdGroupHistoricalUsageVO_.java index 1358ce25951..3f10a1c93fa 100644 --- a/plugin/ceph/src/main/java/org/zstack/storage/ceph/primary/CephOsdGroupHistoricalUsageVO_.java +++ b/plugin/ceph/src/main/java/org/zstack/storage/ceph/primary/CephOsdGroupHistoricalUsageVO_.java @@ -2,8 +2,8 @@ import org.zstack.header.storage.primary.PrimaryStorageHistoricalUsageBaseVO_; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; @StaticMetamodel(CephOsdGroupHistoricalUsageVO.class) public class CephOsdGroupHistoricalUsageVO_ extends PrimaryStorageHistoricalUsageBaseVO_ { 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..640bcc8d553 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 @@ -7,7 +7,7 @@ import org.zstack.header.vo.ForeignKey; import org.zstack.header.vo.Index; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; import java.util.HashSet; import java.util.Set; 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 b41ab601ae2..4be9ddccef8 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 @@ -2,8 +2,8 @@ import org.zstack.header.storage.primary.StorageCapacityAO_; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; @StaticMetamodel(CephOsdGroupVO.class) 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..dbe44da461e 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 @@ -68,8 +68,8 @@ import org.zstack.utils.function.Function; import org.zstack.utils.logging.CLogger; -import javax.persistence.Tuple; -import javax.persistence.TypedQuery; +import jakarta.persistence.Tuple; +import jakarta.persistence.TypedQuery; import java.util.*; import java.util.concurrent.Callable; import java.util.concurrent.Future; diff --git a/plugin/ceph/src/main/java/org/zstack/storage/ceph/primary/CephPrimaryStorageMonVO.java b/plugin/ceph/src/main/java/org/zstack/storage/ceph/primary/CephPrimaryStorageMonVO.java index 501c1c82743..70df36baa5d 100755 --- a/plugin/ceph/src/main/java/org/zstack/storage/ceph/primary/CephPrimaryStorageMonVO.java +++ b/plugin/ceph/src/main/java/org/zstack/storage/ceph/primary/CephPrimaryStorageMonVO.java @@ -8,7 +8,7 @@ import org.zstack.header.vo.SoftDeletionCascades; import org.zstack.storage.ceph.CephMonAO; -import javax.persistence.*; +import jakarta.persistence.*; /** * Created by frank on 7/28/2015. diff --git a/plugin/ceph/src/main/java/org/zstack/storage/ceph/primary/CephPrimaryStorageMonVO_.java b/plugin/ceph/src/main/java/org/zstack/storage/ceph/primary/CephPrimaryStorageMonVO_.java index 6a358068f7d..ea839572937 100755 --- a/plugin/ceph/src/main/java/org/zstack/storage/ceph/primary/CephPrimaryStorageMonVO_.java +++ b/plugin/ceph/src/main/java/org/zstack/storage/ceph/primary/CephPrimaryStorageMonVO_.java @@ -6,8 +6,8 @@ import org.zstack.storage.ceph.CephMonAO_; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; @StaticMetamodel(CephPrimaryStorageMonVO.class) public class CephPrimaryStorageMonVO_ extends CephMonAO_ { diff --git a/plugin/ceph/src/main/java/org/zstack/storage/ceph/primary/CephPrimaryStoragePoolInventory.java b/plugin/ceph/src/main/java/org/zstack/storage/ceph/primary/CephPrimaryStoragePoolInventory.java index 0c483662402..fdb3fc3bb17 100755 --- a/plugin/ceph/src/main/java/org/zstack/storage/ceph/primary/CephPrimaryStoragePoolInventory.java +++ b/plugin/ceph/src/main/java/org/zstack/storage/ceph/primary/CephPrimaryStoragePoolInventory.java @@ -2,7 +2,7 @@ import org.zstack.header.search.Inventory; -import javax.persistence.Column; +import jakarta.persistence.Column; import java.sql.Timestamp; import java.util.ArrayList; import java.util.Collection; 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..5f21ad03236 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 @@ -6,7 +6,7 @@ import org.zstack.header.vo.*; import org.zstack.header.vo.ForeignKey; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; /** 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 a162554e255..1e6cbfa5fa2 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 @@ -2,8 +2,8 @@ import org.zstack.header.vo.ResourceVO_; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; /** diff --git a/plugin/ceph/src/main/java/org/zstack/storage/ceph/primary/CephPrimaryStorageVO.java b/plugin/ceph/src/main/java/org/zstack/storage/ceph/primary/CephPrimaryStorageVO.java index eb1e687e53c..c72c444473b 100755 --- a/plugin/ceph/src/main/java/org/zstack/storage/ceph/primary/CephPrimaryStorageVO.java +++ b/plugin/ceph/src/main/java/org/zstack/storage/ceph/primary/CephPrimaryStorageVO.java @@ -7,7 +7,7 @@ import org.zstack.header.vo.EO; import org.zstack.header.vo.NoView; -import javax.persistence.*; +import jakarta.persistence.*; import java.util.HashSet; import java.util.Set; diff --git a/plugin/ceph/src/main/java/org/zstack/storage/ceph/primary/CephPrimaryStorageVO_.java b/plugin/ceph/src/main/java/org/zstack/storage/ceph/primary/CephPrimaryStorageVO_.java index b186b6bcf8c..48b6ba3c440 100755 --- a/plugin/ceph/src/main/java/org/zstack/storage/ceph/primary/CephPrimaryStorageVO_.java +++ b/plugin/ceph/src/main/java/org/zstack/storage/ceph/primary/CephPrimaryStorageVO_.java @@ -2,8 +2,8 @@ import org.zstack.header.storage.primary.PrimaryStorageVO_; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; /** * Created by frank on 7/29/2015. diff --git a/plugin/ceph/src/main/java/org/zstack/storage/ceph/primary/capacity/CephOsdGroupCapacityHelper.java b/plugin/ceph/src/main/java/org/zstack/storage/ceph/primary/capacity/CephOsdGroupCapacityHelper.java index e39514e4ad7..a58809ceffa 100644 --- a/plugin/ceph/src/main/java/org/zstack/storage/ceph/primary/capacity/CephOsdGroupCapacityHelper.java +++ b/plugin/ceph/src/main/java/org/zstack/storage/ceph/primary/capacity/CephOsdGroupCapacityHelper.java @@ -29,7 +29,7 @@ import org.zstack.utils.logging.CLogger; import org.zstack.utils.stopwatch.StopWatch; -import javax.transaction.Transactional; +import jakarta.transaction.Transactional; import java.util.Comparator; import java.util.HashMap; import java.util.List; diff --git a/plugin/directory/pom.xml b/plugin/directory/pom.xml index ae7c46506f2..1d1c1c1b1fb 100644 --- a/plugin/directory/pom.xml +++ b/plugin/directory/pom.xml @@ -18,29 +18,55 @@ maven-compiler-plugin ${project.compiler.version} - groovy-eclipse-compiler ${project.java.version} ${project.java.version} lines,vars,source true - - - org.codehaus.groovy - groovy-eclipse-compiler - ${groovy.eclipse.compiler} - - - org.codehaus.groovy - groovy-eclipse-batch - ${groovy.eclipse.batch} - - - org.codehaus.mojo + org.codehaus.gmavenplus + gmavenplus-plugin + 3.0.2 + + + + ${project.basedir}/src/main/java + + **/*.groovy + + + + + + + groovy-stubs + generateStubsremoveStubs + + + groovy-compile + compile + + + + + org.apache.groovy + groovy + ${groovy.version} + + + + + dev.aspectj aspectj-maven-plugin ${aspectj.plugin.version} + + + org.aspectj + aspectjtools + ${aspectj.version} + + diff --git a/plugin/directory/src/main/java/org/zstack/directory/APIAddResourcesToDirectoryMsg.java b/plugin/directory/src/main/java/org/zstack/directory/APIAddResourcesToDirectoryMsg.java index 0c8728555b1..5dfa26321ca 100644 --- a/plugin/directory/src/main/java/org/zstack/directory/APIAddResourcesToDirectoryMsg.java +++ b/plugin/directory/src/main/java/org/zstack/directory/APIAddResourcesToDirectoryMsg.java @@ -17,7 +17,7 @@ */ @RestRequest( path = "/add/resources/directory", - method = HttpMethod.POST, + method = "POST", responseClass = APIAddResourcesToDirectoryEvent.class, parameterName = "params" ) diff --git a/plugin/directory/src/main/java/org/zstack/directory/APICreateDirectoryMsg.java b/plugin/directory/src/main/java/org/zstack/directory/APICreateDirectoryMsg.java index fc2dfefddf0..4a171355629 100644 --- a/plugin/directory/src/main/java/org/zstack/directory/APICreateDirectoryMsg.java +++ b/plugin/directory/src/main/java/org/zstack/directory/APICreateDirectoryMsg.java @@ -12,7 +12,7 @@ */ @RestRequest( path = "/create/directory", - method = HttpMethod.POST, + method = "POST", responseClass = APICreateDirectoryEvent.class, parameterName = "params" ) diff --git a/plugin/directory/src/main/java/org/zstack/directory/APIDeleteDirectoryMsg.java b/plugin/directory/src/main/java/org/zstack/directory/APIDeleteDirectoryMsg.java index ba650511b47..65e79791051 100644 --- a/plugin/directory/src/main/java/org/zstack/directory/APIDeleteDirectoryMsg.java +++ b/plugin/directory/src/main/java/org/zstack/directory/APIDeleteDirectoryMsg.java @@ -11,7 +11,7 @@ */ @RestRequest( path = "/delete/directory", - method = HttpMethod.DELETE, + method = "DELETE", responseClass = APIDeleteDirectoryEvent.class ) public class APIDeleteDirectoryMsg extends APIDeleteMessage implements DirectoryMessage, OperateDirectoryMessage { diff --git a/plugin/directory/src/main/java/org/zstack/directory/APIMoveDirectoryMsg.java b/plugin/directory/src/main/java/org/zstack/directory/APIMoveDirectoryMsg.java index c850db04ec5..3db889bb7a3 100644 --- a/plugin/directory/src/main/java/org/zstack/directory/APIMoveDirectoryMsg.java +++ b/plugin/directory/src/main/java/org/zstack/directory/APIMoveDirectoryMsg.java @@ -12,7 +12,7 @@ */ @RestRequest( path = "/move/directory", - method = HttpMethod.PUT, + method = "PUT", isAction = true, responseClass = APIMoveDirectoryEvent.class ) diff --git a/plugin/directory/src/main/java/org/zstack/directory/APIMoveResourcesToDirectoryMsg.java b/plugin/directory/src/main/java/org/zstack/directory/APIMoveResourcesToDirectoryMsg.java index 20ccb1ad421..4e91ea3d65b 100644 --- a/plugin/directory/src/main/java/org/zstack/directory/APIMoveResourcesToDirectoryMsg.java +++ b/plugin/directory/src/main/java/org/zstack/directory/APIMoveResourcesToDirectoryMsg.java @@ -16,7 +16,7 @@ */ @RestRequest( path = "/move/resources/directory", - method = HttpMethod.PUT, + method = "PUT", isAction = true, responseClass = APIMoveResourcesToDirectoryEvent.class ) diff --git a/plugin/directory/src/main/java/org/zstack/directory/APIQueryDirectoryMsg.java b/plugin/directory/src/main/java/org/zstack/directory/APIQueryDirectoryMsg.java index 98eb042d0e2..163f3a8100d 100644 --- a/plugin/directory/src/main/java/org/zstack/directory/APIQueryDirectoryMsg.java +++ b/plugin/directory/src/main/java/org/zstack/directory/APIQueryDirectoryMsg.java @@ -17,7 +17,7 @@ @RestRequest( path = "/directories", optionalPaths = {"/directories/{uuid}"}, - method = HttpMethod.GET, + method = "GET", responseClass = APIQueryDirectoryReply.class ) public class APIQueryDirectoryMsg extends APIQueryMessage { diff --git a/plugin/directory/src/main/java/org/zstack/directory/APIRemoveResourcesFromDirectoryMsg.java b/plugin/directory/src/main/java/org/zstack/directory/APIRemoveResourcesFromDirectoryMsg.java index 4adf9ac55a2..92ef726a71e 100644 --- a/plugin/directory/src/main/java/org/zstack/directory/APIRemoveResourcesFromDirectoryMsg.java +++ b/plugin/directory/src/main/java/org/zstack/directory/APIRemoveResourcesFromDirectoryMsg.java @@ -16,7 +16,7 @@ */ @RestRequest( path = "/remove/resources/directory", - method = HttpMethod.DELETE, + method = "DELETE", responseClass = APIRemoveResourcesFromDirectoryEvent.class ) public class APIRemoveResourcesFromDirectoryMsg extends APIMessage implements DirectoryMessage{ diff --git a/plugin/directory/src/main/java/org/zstack/directory/APIUpdateDirectoryMsg.java b/plugin/directory/src/main/java/org/zstack/directory/APIUpdateDirectoryMsg.java index 40ef5220240..6546009e9f2 100644 --- a/plugin/directory/src/main/java/org/zstack/directory/APIUpdateDirectoryMsg.java +++ b/plugin/directory/src/main/java/org/zstack/directory/APIUpdateDirectoryMsg.java @@ -11,7 +11,7 @@ */ @RestRequest( path = "/update/directory", - method = HttpMethod.PUT, + method = "PUT", isAction = true, responseClass = APIUpdateDirectoryEvent.class ) diff --git a/plugin/directory/src/main/java/org/zstack/directory/DirectoryVO.java b/plugin/directory/src/main/java/org/zstack/directory/DirectoryVO.java index 4958161029a..dac39cb56ef 100644 --- a/plugin/directory/src/main/java/org/zstack/directory/DirectoryVO.java +++ b/plugin/directory/src/main/java/org/zstack/directory/DirectoryVO.java @@ -6,7 +6,7 @@ import org.zstack.header.vo.ToInventory; import org.zstack.header.zone.ZoneVO; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; /** diff --git a/plugin/directory/src/main/java/org/zstack/directory/DirectoryVO_.java b/plugin/directory/src/main/java/org/zstack/directory/DirectoryVO_.java index 3e631187744..2b92071da91 100644 --- a/plugin/directory/src/main/java/org/zstack/directory/DirectoryVO_.java +++ b/plugin/directory/src/main/java/org/zstack/directory/DirectoryVO_.java @@ -2,8 +2,8 @@ import org.zstack.header.vo.ResourceVO_; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; /** 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..aacb34a8d2a 100644 --- a/plugin/directory/src/main/java/org/zstack/directory/ResourceDirectoryRefVO.java +++ b/plugin/directory/src/main/java/org/zstack/directory/ResourceDirectoryRefVO.java @@ -4,7 +4,7 @@ import org.zstack.header.vo.*; import org.zstack.header.vo.ForeignKey; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; /** 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 19cd708ce61..657486a5df6 100644 --- a/plugin/directory/src/main/java/org/zstack/directory/ResourceDirectoryRefVO_.java +++ b/plugin/directory/src/main/java/org/zstack/directory/ResourceDirectoryRefVO_.java @@ -3,8 +3,8 @@ -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; /** diff --git a/plugin/eip/pom.xml b/plugin/eip/pom.xml index 3102f1b8735..6ad61b6e2eb 100755 --- a/plugin/eip/pom.xml +++ b/plugin/eip/pom.xml @@ -36,29 +36,55 @@ maven-compiler-plugin ${project.compiler.version} - groovy-eclipse-compiler ${project.java.version} ${project.java.version} lines,vars,source true - - - org.codehaus.groovy - groovy-eclipse-compiler - ${groovy.eclipse.compiler} - - - org.codehaus.groovy - groovy-eclipse-batch - ${groovy.eclipse.batch} - - - org.codehaus.mojo + org.codehaus.gmavenplus + gmavenplus-plugin + 3.0.2 + + + + ${project.basedir}/src/main/java + + **/*.groovy + + + + + + + groovy-stubs + generateStubsremoveStubs + + + groovy-compile + compile + + + + + org.apache.groovy + groovy + ${groovy.version} + + + + + dev.aspectj aspectj-maven-plugin ${aspectj.plugin.version} + + + org.aspectj + aspectjtools + ${aspectj.version} + + diff --git a/plugin/eip/src/main/java/org/zstack/network/service/eip/APIAttachEipMsg.java b/plugin/eip/src/main/java/org/zstack/network/service/eip/APIAttachEipMsg.java index bd71fd51dd6..ae6c63c1e0b 100755 --- a/plugin/eip/src/main/java/org/zstack/network/service/eip/APIAttachEipMsg.java +++ b/plugin/eip/src/main/java/org/zstack/network/service/eip/APIAttachEipMsg.java @@ -12,7 +12,7 @@ import org.zstack.header.vm.VmNicVO; import org.zstack.header.vm.VmNicVO_; -import javax.persistence.Tuple; +import jakarta.persistence.Tuple; /** * @api @@ -56,7 +56,7 @@ @Action(category = EipConstant.ACTION_CATEGORY) @RestRequest( path = "/eips/{eipUuid}/vm-instances/nics/{vmNicUuid}", - method = HttpMethod.POST, + method = "POST", parameterName = "params", responseClass = APIAttachEipEvent.class ) diff --git a/plugin/eip/src/main/java/org/zstack/network/service/eip/APIChangeEipStateMsg.java b/plugin/eip/src/main/java/org/zstack/network/service/eip/APIChangeEipStateMsg.java index 481375eb759..bcd68421ad4 100755 --- a/plugin/eip/src/main/java/org/zstack/network/service/eip/APIChangeEipStateMsg.java +++ b/plugin/eip/src/main/java/org/zstack/network/service/eip/APIChangeEipStateMsg.java @@ -11,7 +11,7 @@ @Action(category = EipConstant.ACTION_CATEGORY) @RestRequest( path = "/eips/{uuid}/actions", - method = HttpMethod.PUT, + method = "PUT", responseClass = APIChangeEipStateEvent.class, isAction = true ) diff --git a/plugin/eip/src/main/java/org/zstack/network/service/eip/APICreateEipMsg.java b/plugin/eip/src/main/java/org/zstack/network/service/eip/APICreateEipMsg.java index 97f2062adda..af15f19ce8e 100755 --- a/plugin/eip/src/main/java/org/zstack/network/service/eip/APICreateEipMsg.java +++ b/plugin/eip/src/main/java/org/zstack/network/service/eip/APICreateEipMsg.java @@ -59,7 +59,7 @@ @Action(category = EipConstant.ACTION_CATEGORY) @RestRequest( path = "/eips", - method = HttpMethod.POST, + method = "POST", responseClass = APICreateEipEvent.class, parameterName = "params" ) diff --git a/plugin/eip/src/main/java/org/zstack/network/service/eip/APIDeleteEipMsg.java b/plugin/eip/src/main/java/org/zstack/network/service/eip/APIDeleteEipMsg.java index e07462884f9..85da95fa0c6 100755 --- a/plugin/eip/src/main/java/org/zstack/network/service/eip/APIDeleteEipMsg.java +++ b/plugin/eip/src/main/java/org/zstack/network/service/eip/APIDeleteEipMsg.java @@ -49,7 +49,7 @@ @Action(category = EipConstant.ACTION_CATEGORY) @RestRequest( path = "/eips/{uuid}", - method = HttpMethod.DELETE, + method = "DELETE", responseClass = APIDeleteEipEvent.class ) public class APIDeleteEipMsg extends APIDeleteMessage implements EipMessage { diff --git a/plugin/eip/src/main/java/org/zstack/network/service/eip/APIDetachEipMsg.java b/plugin/eip/src/main/java/org/zstack/network/service/eip/APIDetachEipMsg.java index af1f4da9a79..b330e5e43b0 100755 --- a/plugin/eip/src/main/java/org/zstack/network/service/eip/APIDetachEipMsg.java +++ b/plugin/eip/src/main/java/org/zstack/network/service/eip/APIDetachEipMsg.java @@ -13,7 +13,7 @@ import org.zstack.header.vm.VmInstanceVO; import org.zstack.header.vm.VmNicVO; -import javax.persistence.Tuple; +import jakarta.persistence.Tuple; import java.util.ArrayList; import java.util.List; @@ -56,7 +56,7 @@ @Action(category = EipConstant.ACTION_CATEGORY) @RestRequest( path = "/eips/{uuid}/vm-instances/nics", - method = HttpMethod.DELETE, + method = "DELETE", responseClass = APIDetachEipEvent.class ) public class APIDetachEipMsg extends APIMessage implements EipMessage, APIMultiAuditor { diff --git a/plugin/eip/src/main/java/org/zstack/network/service/eip/APIGetEipAttachableVmNicsMsg.java b/plugin/eip/src/main/java/org/zstack/network/service/eip/APIGetEipAttachableVmNicsMsg.java index e3963217014..256a901a684 100755 --- a/plugin/eip/src/main/java/org/zstack/network/service/eip/APIGetEipAttachableVmNicsMsg.java +++ b/plugin/eip/src/main/java/org/zstack/network/service/eip/APIGetEipAttachableVmNicsMsg.java @@ -12,7 +12,7 @@ @Action(category = EipConstant.ACTION_CATEGORY, names = {"read"}) @RestRequest( path = "/eips/{eipUuid}/vm-instances/candidate-nics", - method = HttpMethod.GET, + method = "GET", responseClass = APIGetEipAttachableVmNicsReply.class ) public class APIGetEipAttachableVmNicsMsg extends APIGetMessage { 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..27e8dc0f3b7 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 @@ -10,7 +10,7 @@ @Action(category = VmInstanceConstant.ACTION_CATEGORY, names = {"read"}) @RestRequest( path = "/vm-instances/nics/{vmNicUuid}/candidate-eips", - method = HttpMethod.GET, + method = "GET", responseClass = APIGetVmNicAttachableEipsReply.class ) public class APIGetVmNicAttachableEipsMsg extends APIGetMessage { diff --git a/plugin/eip/src/main/java/org/zstack/network/service/eip/APIQueryEipMsg.java b/plugin/eip/src/main/java/org/zstack/network/service/eip/APIQueryEipMsg.java index 2880043f3c3..7bb617565c1 100755 --- a/plugin/eip/src/main/java/org/zstack/network/service/eip/APIQueryEipMsg.java +++ b/plugin/eip/src/main/java/org/zstack/network/service/eip/APIQueryEipMsg.java @@ -17,7 +17,7 @@ @RestRequest( path = "/eips", optionalPaths = {"/eips/{uuid}"}, - method = HttpMethod.GET, + method = "GET", responseClass = APIQueryEipReply.class ) public class APIQueryEipMsg extends APIQueryMessage { diff --git a/plugin/eip/src/main/java/org/zstack/network/service/eip/APIUpdateEipMsg.java b/plugin/eip/src/main/java/org/zstack/network/service/eip/APIUpdateEipMsg.java index c5aaac44ea8..0a1addcab32 100755 --- a/plugin/eip/src/main/java/org/zstack/network/service/eip/APIUpdateEipMsg.java +++ b/plugin/eip/src/main/java/org/zstack/network/service/eip/APIUpdateEipMsg.java @@ -14,7 +14,7 @@ @RestRequest( path = "/eips/{uuid}/actions", isAction = true, - method = HttpMethod.PUT, + method = "PUT", responseClass = APIUpdateEipEvent.class ) public class APIUpdateEipMsg extends APIMessage implements EipMessage { diff --git a/plugin/eip/src/main/java/org/zstack/network/service/eip/EipApiInterceptor.java b/plugin/eip/src/main/java/org/zstack/network/service/eip/EipApiInterceptor.java index 85e9a357a06..4e521c96e1d 100755 --- a/plugin/eip/src/main/java/org/zstack/network/service/eip/EipApiInterceptor.java +++ b/plugin/eip/src/main/java/org/zstack/network/service/eip/EipApiInterceptor.java @@ -34,8 +34,8 @@ import org.zstack.utils.network.IPv6NetworkUtils; import org.zstack.utils.network.NetworkUtils; -import javax.persistence.Tuple; -import javax.persistence.TypedQuery; +import jakarta.persistence.Tuple; +import jakarta.persistence.TypedQuery; import java.util.List; import java.util.concurrent.Callable; 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..56bda78eaf3 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 @@ -28,8 +28,8 @@ import org.zstack.utils.function.FunctionNoArg; import org.zstack.utils.logging.CLogger; -import javax.persistence.Query; -import javax.persistence.TypedQuery; +import jakarta.persistence.Query; +import jakarta.persistence.TypedQuery; import java.util.*; import java.util.stream.Collectors; 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..f4f4961140a 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 @@ -45,9 +45,9 @@ import org.zstack.utils.network.IPv6NetworkUtils; import org.zstack.utils.network.NetworkUtils; -import javax.persistence.Query; -import javax.persistence.Tuple; -import javax.persistence.TypedQuery; +import jakarta.persistence.Query; +import jakarta.persistence.Tuple; +import jakarta.persistence.TypedQuery; import java.util.*; import java.util.stream.Collectors; diff --git a/plugin/eip/src/main/java/org/zstack/network/service/eip/EipVO.java b/plugin/eip/src/main/java/org/zstack/network/service/eip/EipVO.java index aee42ed756e..f2bebc6b087 100755 --- a/plugin/eip/src/main/java/org/zstack/network/service/eip/EipVO.java +++ b/plugin/eip/src/main/java/org/zstack/network/service/eip/EipVO.java @@ -10,7 +10,7 @@ import org.zstack.header.vo.ResourceVO; import org.zstack.network.service.vip.VipVO; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; /** diff --git a/plugin/eip/src/main/java/org/zstack/network/service/eip/EipVO_.java b/plugin/eip/src/main/java/org/zstack/network/service/eip/EipVO_.java index 6b570601957..cb1bde1495f 100755 --- a/plugin/eip/src/main/java/org/zstack/network/service/eip/EipVO_.java +++ b/plugin/eip/src/main/java/org/zstack/network/service/eip/EipVO_.java @@ -2,8 +2,8 @@ import org.zstack.header.vo.ResourceVO_; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; /** diff --git a/plugin/expon/pom.xml b/plugin/expon/pom.xml index 316de64b651..fc761a0613c 100644 --- a/plugin/expon/pom.xml +++ b/plugin/expon/pom.xml @@ -18,9 +18,9 @@ ${project.version} - javax.servlet - javax.servlet-api - 3.1.0 + jakarta.servlet + jakarta.servlet-api + com.squareup.okhttp3 @@ -51,29 +51,55 @@ maven-compiler-plugin ${project.compiler.version} - groovy-eclipse-compiler ${project.java.version} ${project.java.version} lines,vars,source true - - - org.codehaus.groovy - groovy-eclipse-compiler - ${groovy.eclipse.compiler} - - - org.codehaus.groovy - groovy-eclipse-batch - ${groovy.eclipse.batch} - - - org.codehaus.mojo + org.codehaus.gmavenplus + gmavenplus-plugin + 3.0.2 + + + + ${project.basedir}/src/main/java + + **/*.groovy + + + + + + + groovy-stubs + generateStubsremoveStubs + + + groovy-compile + compile + + + + + org.apache.groovy + groovy + ${groovy.version} + + + + + dev.aspectj aspectj-maven-plugin ${aspectj.plugin.version} + + + org.aspectj + aspectjtools + ${aspectj.version} + + diff --git a/plugin/expon/src/main/java/org/zstack/expon/sdk/ExponClient.java b/plugin/expon/src/main/java/org/zstack/expon/sdk/ExponClient.java index 53d087cceac..8414166aa94 100644 --- a/plugin/expon/src/main/java/org/zstack/expon/sdk/ExponClient.java +++ b/plugin/expon/src/main/java/org/zstack/expon/sdk/ExponClient.java @@ -183,7 +183,7 @@ ApiResult doCall() { return res; } - boolean async = !restInfo.sync() && restInfo.method() != HttpMethod.GET; + boolean async = !restInfo.sync() && !"GET".equals(restInfo.method()); Map rsp = res.getResult(LinkedHashMap.class); Object taskId = rsp.getOrDefault("task_id", null); if (async && taskId != null) { @@ -305,9 +305,9 @@ private void fillNonQueryApiRequestBuilder(Request.Builder reqBuilder) throws Ex } } - if (restInfo.method().equals(HttpMethod.GET)) { + if (restInfo.method().equals("GET")) { reqBuilder.url(builder.build()).get(); - } else if (restInfo.method().equals(HttpMethod.DELETE) && !restInfo.hasBody()) { + } else if (restInfo.method().equals("DELETE") && !restInfo.hasBody()) { params.forEach((k, v) -> builder.addQueryParameter(k, v.toString())); reqBuilder.url(builder.build()).delete(); } else { diff --git a/plugin/expon/src/main/java/org/zstack/expon/sdk/ExponRestRequest.java b/plugin/expon/src/main/java/org/zstack/expon/sdk/ExponRestRequest.java index 36d038ca483..ba8b8c88d01 100644 --- a/plugin/expon/src/main/java/org/zstack/expon/sdk/ExponRestRequest.java +++ b/plugin/expon/src/main/java/org/zstack/expon/sdk/ExponRestRequest.java @@ -1,6 +1,6 @@ package org.zstack.expon.sdk; -import org.springframework.http.HttpMethod; + import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; @@ -8,7 +8,7 @@ @Retention(RetentionPolicy.RUNTIME) public @interface ExponRestRequest { String path(); - HttpMethod method(); + String method(); Class responseClass(); String version() default "v2"; boolean sync() default true; diff --git a/plugin/expon/src/main/java/org/zstack/expon/sdk/GetTaskStatusRequest.java b/plugin/expon/src/main/java/org/zstack/expon/sdk/GetTaskStatusRequest.java index 6960102f858..defc333bddd 100644 --- a/plugin/expon/src/main/java/org/zstack/expon/sdk/GetTaskStatusRequest.java +++ b/plugin/expon/src/main/java/org/zstack/expon/sdk/GetTaskStatusRequest.java @@ -8,7 +8,7 @@ @ExponRestRequest( path = "/tasks/{id}", - method = HttpMethod.GET, + method = "GET", responseClass = GetTaskStatusResponse.class, version = "v1", sync = false diff --git a/plugin/expon/src/main/java/org/zstack/expon/sdk/LoginExponRequest.java b/plugin/expon/src/main/java/org/zstack/expon/sdk/LoginExponRequest.java index 27871774fdf..07bec235009 100644 --- a/plugin/expon/src/main/java/org/zstack/expon/sdk/LoginExponRequest.java +++ b/plugin/expon/src/main/java/org/zstack/expon/sdk/LoginExponRequest.java @@ -9,7 +9,7 @@ @ExponRestRequest( path = "/login", - method = HttpMethod.POST, + method = "POST", responseClass = LoginExponResponse.class, version = "v1", sync = false diff --git a/plugin/expon/src/main/java/org/zstack/expon/sdk/LogoutExponRequest.java b/plugin/expon/src/main/java/org/zstack/expon/sdk/LogoutExponRequest.java index a763f394ec8..dd7e5a2e65e 100644 --- a/plugin/expon/src/main/java/org/zstack/expon/sdk/LogoutExponRequest.java +++ b/plugin/expon/src/main/java/org/zstack/expon/sdk/LogoutExponRequest.java @@ -7,7 +7,7 @@ @ExponRestRequest( path = "/v2/logout", - method = HttpMethod.POST, + method = "POST", responseClass = LogoutExponResponse.class, version = "v1", sync = false diff --git a/plugin/expon/src/main/java/org/zstack/expon/sdk/cluster/QueryTianshuClusterRequest.java b/plugin/expon/src/main/java/org/zstack/expon/sdk/cluster/QueryTianshuClusterRequest.java index de808f404ac..03078ec540b 100644 --- a/plugin/expon/src/main/java/org/zstack/expon/sdk/cluster/QueryTianshuClusterRequest.java +++ b/plugin/expon/src/main/java/org/zstack/expon/sdk/cluster/QueryTianshuClusterRequest.java @@ -9,7 +9,7 @@ @ExponRestRequest( path = "/tianshu", - method = HttpMethod.GET, + method = "GET", responseClass = QueryTianshuClusterResponse.class, sync = false ) diff --git a/plugin/expon/src/main/java/org/zstack/expon/sdk/config/SetTrashExpireTimeRequest.java b/plugin/expon/src/main/java/org/zstack/expon/sdk/config/SetTrashExpireTimeRequest.java index 734518db728..a37d6b68eda 100644 --- a/plugin/expon/src/main/java/org/zstack/expon/sdk/config/SetTrashExpireTimeRequest.java +++ b/plugin/expon/src/main/java/org/zstack/expon/sdk/config/SetTrashExpireTimeRequest.java @@ -11,7 +11,7 @@ @ExponRestRequest( path = "/sys_config/trash_recycle", - method = HttpMethod.PUT, + method = "PUT", responseClass = SetTrashExpireTimeResponse.class, sync = false, version = "v1" diff --git a/plugin/expon/src/main/java/org/zstack/expon/sdk/iscsi/AddIscsiClientGroupToIscsiTargetRequest.java b/plugin/expon/src/main/java/org/zstack/expon/sdk/iscsi/AddIscsiClientGroupToIscsiTargetRequest.java index 69bc2f553a7..12c9c6b5496 100644 --- a/plugin/expon/src/main/java/org/zstack/expon/sdk/iscsi/AddIscsiClientGroupToIscsiTargetRequest.java +++ b/plugin/expon/src/main/java/org/zstack/expon/sdk/iscsi/AddIscsiClientGroupToIscsiTargetRequest.java @@ -12,7 +12,7 @@ @ExponRestRequest( path = "/block/iscsi/gateways/{id}/add_clients", - method = HttpMethod.PUT, + method = "PUT", responseClass = AddIscsiClientGroupToIscsiTargetResponse.class ) public class AddIscsiClientGroupToIscsiTargetRequest extends ExponRequest { diff --git a/plugin/expon/src/main/java/org/zstack/expon/sdk/iscsi/BindIscsiTargetToUssRequest.java b/plugin/expon/src/main/java/org/zstack/expon/sdk/iscsi/BindIscsiTargetToUssRequest.java index ef8a602cb1c..2ddea1c7f3e 100644 --- a/plugin/expon/src/main/java/org/zstack/expon/sdk/iscsi/BindIscsiTargetToUssRequest.java +++ b/plugin/expon/src/main/java/org/zstack/expon/sdk/iscsi/BindIscsiTargetToUssRequest.java @@ -11,7 +11,7 @@ @ExponRestRequest( path = "/block/iscsi/gateways/{id}/add_nodes", - method = HttpMethod.PUT, + method = "PUT", responseClass = BindIscsiTargetToUssResponse.class ) public class BindIscsiTargetToUssRequest extends ExponRequest { diff --git a/plugin/expon/src/main/java/org/zstack/expon/sdk/iscsi/ChangeIscsiClientGroupRequest.java b/plugin/expon/src/main/java/org/zstack/expon/sdk/iscsi/ChangeIscsiClientGroupRequest.java index 23eb5d6ca39..70b31d75b83 100644 --- a/plugin/expon/src/main/java/org/zstack/expon/sdk/iscsi/ChangeIscsiClientGroupRequest.java +++ b/plugin/expon/src/main/java/org/zstack/expon/sdk/iscsi/ChangeIscsiClientGroupRequest.java @@ -11,7 +11,7 @@ @ExponRestRequest( path = "/block/iscsi/clients/{id}/hosts", - method = HttpMethod.PUT, + method = "PUT", responseClass = ChangeIscsiClientGroupResponse.class ) public class ChangeIscsiClientGroupRequest extends ExponRequest { diff --git a/plugin/expon/src/main/java/org/zstack/expon/sdk/iscsi/ChangeSnapshotInIscsiClientGroupRequest.java b/plugin/expon/src/main/java/org/zstack/expon/sdk/iscsi/ChangeSnapshotInIscsiClientGroupRequest.java index 3f60230582b..255f5689d73 100644 --- a/plugin/expon/src/main/java/org/zstack/expon/sdk/iscsi/ChangeSnapshotInIscsiClientGroupRequest.java +++ b/plugin/expon/src/main/java/org/zstack/expon/sdk/iscsi/ChangeSnapshotInIscsiClientGroupRequest.java @@ -12,7 +12,7 @@ @ExponRestRequest( path = "/block/iscsi/clients/{id}/snapshots", - method = HttpMethod.PUT, + method = "PUT", responseClass = ChangeSnapshotInIscsiClientGroupResponse.class ) public class ChangeSnapshotInIscsiClientGroupRequest extends ExponRequest { diff --git a/plugin/expon/src/main/java/org/zstack/expon/sdk/iscsi/ChangeVolumeInIscsiClientGroupRequest.java b/plugin/expon/src/main/java/org/zstack/expon/sdk/iscsi/ChangeVolumeInIscsiClientGroupRequest.java index d4e6cfeed4c..c85ec16d426 100644 --- a/plugin/expon/src/main/java/org/zstack/expon/sdk/iscsi/ChangeVolumeInIscsiClientGroupRequest.java +++ b/plugin/expon/src/main/java/org/zstack/expon/sdk/iscsi/ChangeVolumeInIscsiClientGroupRequest.java @@ -12,7 +12,7 @@ @ExponRestRequest( path = "/block/iscsi/clients/{id}/luns", - method = HttpMethod.PUT, + method = "PUT", responseClass = ChangeVolumeInIscsiClientGroupResponse.class ) public class ChangeVolumeInIscsiClientGroupRequest extends ExponRequest { diff --git a/plugin/expon/src/main/java/org/zstack/expon/sdk/iscsi/CreateIscsiClientGroupRequest.java b/plugin/expon/src/main/java/org/zstack/expon/sdk/iscsi/CreateIscsiClientGroupRequest.java index e51a9491911..6e6ee0716fe 100644 --- a/plugin/expon/src/main/java/org/zstack/expon/sdk/iscsi/CreateIscsiClientGroupRequest.java +++ b/plugin/expon/src/main/java/org/zstack/expon/sdk/iscsi/CreateIscsiClientGroupRequest.java @@ -11,7 +11,7 @@ @ExponRestRequest( path = "/block/iscsi/clients", - method = HttpMethod.POST, + method = "POST", responseClass = CreateIscsiClientGroupResponse.class ) public class CreateIscsiClientGroupRequest extends ExponRequest { diff --git a/plugin/expon/src/main/java/org/zstack/expon/sdk/iscsi/CreateIscsiTargetRequest.java b/plugin/expon/src/main/java/org/zstack/expon/sdk/iscsi/CreateIscsiTargetRequest.java index a81a57c1425..d1b4cdd2e78 100644 --- a/plugin/expon/src/main/java/org/zstack/expon/sdk/iscsi/CreateIscsiTargetRequest.java +++ b/plugin/expon/src/main/java/org/zstack/expon/sdk/iscsi/CreateIscsiTargetRequest.java @@ -11,7 +11,7 @@ @ExponRestRequest( path = "/block/iscsi/gateways", - method = HttpMethod.POST, + method = "POST", responseClass = CreateIscsiClientGroupResponse.class ) public class CreateIscsiTargetRequest extends ExponRequest { diff --git a/plugin/expon/src/main/java/org/zstack/expon/sdk/iscsi/DeleteIscsiClientGroupRequest.java b/plugin/expon/src/main/java/org/zstack/expon/sdk/iscsi/DeleteIscsiClientGroupRequest.java index fe5e6cb2ba1..075c00505fd 100644 --- a/plugin/expon/src/main/java/org/zstack/expon/sdk/iscsi/DeleteIscsiClientGroupRequest.java +++ b/plugin/expon/src/main/java/org/zstack/expon/sdk/iscsi/DeleteIscsiClientGroupRequest.java @@ -10,7 +10,7 @@ @ExponRestRequest( path = "/block/iscsi/clients/{id}", - method = HttpMethod.DELETE, + method = "DELETE", responseClass = CreateIscsiClientGroupResponse.class, sync = false ) diff --git a/plugin/expon/src/main/java/org/zstack/expon/sdk/iscsi/DeleteIscsiTargetRequest.java b/plugin/expon/src/main/java/org/zstack/expon/sdk/iscsi/DeleteIscsiTargetRequest.java index c6996724d24..712b912eaae 100644 --- a/plugin/expon/src/main/java/org/zstack/expon/sdk/iscsi/DeleteIscsiTargetRequest.java +++ b/plugin/expon/src/main/java/org/zstack/expon/sdk/iscsi/DeleteIscsiTargetRequest.java @@ -10,7 +10,7 @@ @ExponRestRequest( path = "/block/iscsi/gateways/{id}", - method = HttpMethod.DELETE, + method = "DELETE", responseClass = DeleteIscsiTargetResponse.class ) public class DeleteIscsiTargetRequest extends ExponRequest { diff --git a/plugin/expon/src/main/java/org/zstack/expon/sdk/iscsi/GetIscsiClientGroupAttachedTargetRequest.java b/plugin/expon/src/main/java/org/zstack/expon/sdk/iscsi/GetIscsiClientGroupAttachedTargetRequest.java index 2370f718f1f..066b94dea11 100644 --- a/plugin/expon/src/main/java/org/zstack/expon/sdk/iscsi/GetIscsiClientGroupAttachedTargetRequest.java +++ b/plugin/expon/src/main/java/org/zstack/expon/sdk/iscsi/GetIscsiClientGroupAttachedTargetRequest.java @@ -10,7 +10,7 @@ @ExponRestRequest( path = "/block/iscsi/clients/{id}/gateways", - method = HttpMethod.GET, + method = "GET", responseClass = GetIscsiClientGroupAttachedTargetResponse.class, sync = false ) diff --git a/plugin/expon/src/main/java/org/zstack/expon/sdk/iscsi/GetIscsiClientGroupRequest.java b/plugin/expon/src/main/java/org/zstack/expon/sdk/iscsi/GetIscsiClientGroupRequest.java index 5f4c873c4df..25ff11b4130 100644 --- a/plugin/expon/src/main/java/org/zstack/expon/sdk/iscsi/GetIscsiClientGroupRequest.java +++ b/plugin/expon/src/main/java/org/zstack/expon/sdk/iscsi/GetIscsiClientGroupRequest.java @@ -10,7 +10,7 @@ @ExponRestRequest( path = "/block/iscsi/clients/{id}", - method = HttpMethod.GET, + method = "GET", responseClass = GetIscsiClientGroupResponse.class, sync = false ) diff --git a/plugin/expon/src/main/java/org/zstack/expon/sdk/iscsi/GetIscsiTargetBoundUssRequest.java b/plugin/expon/src/main/java/org/zstack/expon/sdk/iscsi/GetIscsiTargetBoundUssRequest.java index 5c92fa24b93..ba605080ae4 100644 --- a/plugin/expon/src/main/java/org/zstack/expon/sdk/iscsi/GetIscsiTargetBoundUssRequest.java +++ b/plugin/expon/src/main/java/org/zstack/expon/sdk/iscsi/GetIscsiTargetBoundUssRequest.java @@ -10,7 +10,7 @@ @ExponRestRequest( path = "/block/iscsi/gateways/{id}/nodes", - method = HttpMethod.GET, + method = "GET", responseClass = GetIscsiTargetBoundUssResponse.class, sync = false ) diff --git a/plugin/expon/src/main/java/org/zstack/expon/sdk/iscsi/GetIscsiTargetRequest.java b/plugin/expon/src/main/java/org/zstack/expon/sdk/iscsi/GetIscsiTargetRequest.java index 6b10eae11c7..8ac30b76891 100644 --- a/plugin/expon/src/main/java/org/zstack/expon/sdk/iscsi/GetIscsiTargetRequest.java +++ b/plugin/expon/src/main/java/org/zstack/expon/sdk/iscsi/GetIscsiTargetRequest.java @@ -10,7 +10,7 @@ @ExponRestRequest( path = "/block/iscsi/gateways/{id}", - method = HttpMethod.GET, + method = "GET", responseClass = GetIscsiTargetResponse.class, sync = false ) diff --git a/plugin/expon/src/main/java/org/zstack/expon/sdk/iscsi/GetIscsiTargetServerRequest.java b/plugin/expon/src/main/java/org/zstack/expon/sdk/iscsi/GetIscsiTargetServerRequest.java index d71655411ac..a9cc8d26a01 100644 --- a/plugin/expon/src/main/java/org/zstack/expon/sdk/iscsi/GetIscsiTargetServerRequest.java +++ b/plugin/expon/src/main/java/org/zstack/expon/sdk/iscsi/GetIscsiTargetServerRequest.java @@ -10,7 +10,7 @@ @ExponRestRequest( path = "/block/iscsi/gateways/{tianshuId}/server", - method = HttpMethod.GET, + method = "GET", responseClass = QueryIscsiClientGroupResponse.class, sync = false ) diff --git a/plugin/expon/src/main/java/org/zstack/expon/sdk/iscsi/GetSnapshotsInIscsiClientGroupRequest.java b/plugin/expon/src/main/java/org/zstack/expon/sdk/iscsi/GetSnapshotsInIscsiClientGroupRequest.java index 0955e67d411..b05a7455dbd 100644 --- a/plugin/expon/src/main/java/org/zstack/expon/sdk/iscsi/GetSnapshotsInIscsiClientGroupRequest.java +++ b/plugin/expon/src/main/java/org/zstack/expon/sdk/iscsi/GetSnapshotsInIscsiClientGroupRequest.java @@ -10,7 +10,7 @@ @ExponRestRequest( path = "/block/iscsi/clients/{id}/snapshots", - method = HttpMethod.GET, + method = "GET", responseClass = GetSnapshotsInIscsiClientGroupResponse.class ) public class GetSnapshotsInIscsiClientGroupRequest extends ExponQueryRequest { diff --git a/plugin/expon/src/main/java/org/zstack/expon/sdk/iscsi/GetVolumeBoundIscsiClientGroupRequest.java b/plugin/expon/src/main/java/org/zstack/expon/sdk/iscsi/GetVolumeBoundIscsiClientGroupRequest.java index dd64f15c2d7..4f95bd863bf 100644 --- a/plugin/expon/src/main/java/org/zstack/expon/sdk/iscsi/GetVolumeBoundIscsiClientGroupRequest.java +++ b/plugin/expon/src/main/java/org/zstack/expon/sdk/iscsi/GetVolumeBoundIscsiClientGroupRequest.java @@ -11,7 +11,7 @@ @ExponRestRequest( path = "/block/volumes/{volumeId}/clients", - method = HttpMethod.GET, + method = "GET", responseClass = GetVolumeBoundIscsiClientGroupResponse.class, sync = false ) diff --git a/plugin/expon/src/main/java/org/zstack/expon/sdk/iscsi/GetVolumesInIscsiClientGroupRequest.java b/plugin/expon/src/main/java/org/zstack/expon/sdk/iscsi/GetVolumesInIscsiClientGroupRequest.java index e0920ceb486..61ded6b3c79 100644 --- a/plugin/expon/src/main/java/org/zstack/expon/sdk/iscsi/GetVolumesInIscsiClientGroupRequest.java +++ b/plugin/expon/src/main/java/org/zstack/expon/sdk/iscsi/GetVolumesInIscsiClientGroupRequest.java @@ -11,7 +11,7 @@ @ExponRestRequest( path = "/block/iscsi/clients/{id}/luns", - method = HttpMethod.GET, + method = "GET", responseClass = GetVolumesInIscsiClientGroupResponse.class ) public class GetVolumesInIscsiClientGroupRequest extends ExponRequest { diff --git a/plugin/expon/src/main/java/org/zstack/expon/sdk/iscsi/QueryIscsiClientGroupRequest.java b/plugin/expon/src/main/java/org/zstack/expon/sdk/iscsi/QueryIscsiClientGroupRequest.java index 1714d4d670f..83ce9f90cce 100644 --- a/plugin/expon/src/main/java/org/zstack/expon/sdk/iscsi/QueryIscsiClientGroupRequest.java +++ b/plugin/expon/src/main/java/org/zstack/expon/sdk/iscsi/QueryIscsiClientGroupRequest.java @@ -9,7 +9,7 @@ @ExponRestRequest( path = "/block/iscsi/clients", - method = HttpMethod.GET, + method = "GET", responseClass = QueryIscsiClientGroupResponse.class, sync = false ) diff --git a/plugin/expon/src/main/java/org/zstack/expon/sdk/iscsi/QueryIscsiTargetRequest.java b/plugin/expon/src/main/java/org/zstack/expon/sdk/iscsi/QueryIscsiTargetRequest.java index 0ee21453c64..9799fdb31e6 100644 --- a/plugin/expon/src/main/java/org/zstack/expon/sdk/iscsi/QueryIscsiTargetRequest.java +++ b/plugin/expon/src/main/java/org/zstack/expon/sdk/iscsi/QueryIscsiTargetRequest.java @@ -8,7 +8,7 @@ import java.util.Map; @ExponRestRequest( path = "/block/iscsi/gateways", - method = HttpMethod.GET, + method = "GET", responseClass = QueryIscsiTargetResponse.class, sync = true ) diff --git a/plugin/expon/src/main/java/org/zstack/expon/sdk/iscsi/RemoveIscsiClientGroupFromIscsiTargetRequest.java b/plugin/expon/src/main/java/org/zstack/expon/sdk/iscsi/RemoveIscsiClientGroupFromIscsiTargetRequest.java index f4ce8bf60a2..391219a193c 100644 --- a/plugin/expon/src/main/java/org/zstack/expon/sdk/iscsi/RemoveIscsiClientGroupFromIscsiTargetRequest.java +++ b/plugin/expon/src/main/java/org/zstack/expon/sdk/iscsi/RemoveIscsiClientGroupFromIscsiTargetRequest.java @@ -12,7 +12,7 @@ @ExponRestRequest( path = "/block/iscsi/gateways/{id}/remove_clients", - method = HttpMethod.PUT, + method = "PUT", responseClass = RemoveIscsiClientGroupFromIscsiTargetResponse.class ) public class RemoveIscsiClientGroupFromIscsiTargetRequest extends ExponRequest { diff --git a/plugin/expon/src/main/java/org/zstack/expon/sdk/iscsi/UnbindIscsiTargetFromUssRequest.java b/plugin/expon/src/main/java/org/zstack/expon/sdk/iscsi/UnbindIscsiTargetFromUssRequest.java index 23e677c472f..b2c398ec3a7 100644 --- a/plugin/expon/src/main/java/org/zstack/expon/sdk/iscsi/UnbindIscsiTargetFromUssRequest.java +++ b/plugin/expon/src/main/java/org/zstack/expon/sdk/iscsi/UnbindIscsiTargetFromUssRequest.java @@ -11,7 +11,7 @@ @ExponRestRequest( path = "/block/iscsi/gateways/{id}/remove_nodes", - method = HttpMethod.PUT, + method = "PUT", responseClass = UnbindIscsiTargetFromUssResponse.class ) public class UnbindIscsiTargetFromUssRequest extends ExponRequest { diff --git a/plugin/expon/src/main/java/org/zstack/expon/sdk/nvmf/AddNvmeClientGroupToNvmfTargetRequest.java b/plugin/expon/src/main/java/org/zstack/expon/sdk/nvmf/AddNvmeClientGroupToNvmfTargetRequest.java index b230d0ea019..da4975360f4 100644 --- a/plugin/expon/src/main/java/org/zstack/expon/sdk/nvmf/AddNvmeClientGroupToNvmfTargetRequest.java +++ b/plugin/expon/src/main/java/org/zstack/expon/sdk/nvmf/AddNvmeClientGroupToNvmfTargetRequest.java @@ -12,7 +12,7 @@ @ExponRestRequest( path = "/block/nvmf/{gatewayId}/add_clients", - method = HttpMethod.PUT, + method = "PUT", responseClass = AddNvmeClientGroupToNvmfTargetResponse.class ) public class AddNvmeClientGroupToNvmfTargetRequest extends ExponRequest { diff --git a/plugin/expon/src/main/java/org/zstack/expon/sdk/nvmf/BindNvmfTargetToUssRequest.java b/plugin/expon/src/main/java/org/zstack/expon/sdk/nvmf/BindNvmfTargetToUssRequest.java index 01e95231f79..8b7dc6214d5 100644 --- a/plugin/expon/src/main/java/org/zstack/expon/sdk/nvmf/BindNvmfTargetToUssRequest.java +++ b/plugin/expon/src/main/java/org/zstack/expon/sdk/nvmf/BindNvmfTargetToUssRequest.java @@ -11,7 +11,7 @@ @ExponRestRequest( path = "/block/nvmf/bind_uss", - method = HttpMethod.PUT, + method = "PUT", responseClass = BindNvmfTargetToUssResponse.class ) public class BindNvmfTargetToUssRequest extends ExponRequest { diff --git a/plugin/expon/src/main/java/org/zstack/expon/sdk/nvmf/ChangeNvmeClientGroupRequest.java b/plugin/expon/src/main/java/org/zstack/expon/sdk/nvmf/ChangeNvmeClientGroupRequest.java index dd092c4c8f8..c5164550677 100644 --- a/plugin/expon/src/main/java/org/zstack/expon/sdk/nvmf/ChangeNvmeClientGroupRequest.java +++ b/plugin/expon/src/main/java/org/zstack/expon/sdk/nvmf/ChangeNvmeClientGroupRequest.java @@ -11,7 +11,7 @@ @ExponRestRequest( path = "/block/nvmf_client/{clientId}/hosts", - method = HttpMethod.PUT, + method = "PUT", responseClass = ChangeNvmeClientGroupResponse.class ) public class ChangeNvmeClientGroupRequest extends ExponRequest { diff --git a/plugin/expon/src/main/java/org/zstack/expon/sdk/nvmf/ChangeVolumeInNvmfClientGroupRequest.java b/plugin/expon/src/main/java/org/zstack/expon/sdk/nvmf/ChangeVolumeInNvmfClientGroupRequest.java index aa2c1de865f..5ebeb45bc11 100644 --- a/plugin/expon/src/main/java/org/zstack/expon/sdk/nvmf/ChangeVolumeInNvmfClientGroupRequest.java +++ b/plugin/expon/src/main/java/org/zstack/expon/sdk/nvmf/ChangeVolumeInNvmfClientGroupRequest.java @@ -12,7 +12,7 @@ @ExponRestRequest( path = "/block/nvmf_client/{clientId}/luns", - method = HttpMethod.PUT, + method = "PUT", responseClass = ChangeVolumeInNvmfClientGroupResponse.class ) public class ChangeVolumeInNvmfClientGroupRequest extends ExponRequest { diff --git a/plugin/expon/src/main/java/org/zstack/expon/sdk/nvmf/CreateNvmfClientGroupRequest.java b/plugin/expon/src/main/java/org/zstack/expon/sdk/nvmf/CreateNvmfClientGroupRequest.java index efe4f301f06..39dc460ae15 100644 --- a/plugin/expon/src/main/java/org/zstack/expon/sdk/nvmf/CreateNvmfClientGroupRequest.java +++ b/plugin/expon/src/main/java/org/zstack/expon/sdk/nvmf/CreateNvmfClientGroupRequest.java @@ -11,7 +11,7 @@ @ExponRestRequest( path = "/block/nvmf_client", - method = HttpMethod.POST, + method = "POST", responseClass = CreateNvmfClientGroupResponse.class ) public class CreateNvmfClientGroupRequest extends ExponRequest { diff --git a/plugin/expon/src/main/java/org/zstack/expon/sdk/nvmf/CreateNvmfTargetRequest.java b/plugin/expon/src/main/java/org/zstack/expon/sdk/nvmf/CreateNvmfTargetRequest.java index c22691ddf31..fb450e4e790 100644 --- a/plugin/expon/src/main/java/org/zstack/expon/sdk/nvmf/CreateNvmfTargetRequest.java +++ b/plugin/expon/src/main/java/org/zstack/expon/sdk/nvmf/CreateNvmfTargetRequest.java @@ -10,7 +10,7 @@ @ExponRestRequest( path = "/block/nvmf", - method = HttpMethod.POST, + method = "POST", responseClass = CreateNvmfTargetResponse.class ) public class CreateNvmfTargetRequest extends ExponRequest { diff --git a/plugin/expon/src/main/java/org/zstack/expon/sdk/nvmf/DeleteNvmfClientGroupRequest.java b/plugin/expon/src/main/java/org/zstack/expon/sdk/nvmf/DeleteNvmfClientGroupRequest.java index 65b599e812c..fbe79e4a136 100644 --- a/plugin/expon/src/main/java/org/zstack/expon/sdk/nvmf/DeleteNvmfClientGroupRequest.java +++ b/plugin/expon/src/main/java/org/zstack/expon/sdk/nvmf/DeleteNvmfClientGroupRequest.java @@ -10,7 +10,7 @@ @ExponRestRequest( path = "/block/nvmf_client/{clientId}", - method = HttpMethod.DELETE, + method = "DELETE", responseClass = CreateNvmfClientGroupResponse.class ) public class DeleteNvmfClientGroupRequest extends ExponRequest { diff --git a/plugin/expon/src/main/java/org/zstack/expon/sdk/nvmf/DeleteNvmfTargetRequest.java b/plugin/expon/src/main/java/org/zstack/expon/sdk/nvmf/DeleteNvmfTargetRequest.java index 9edb1d1715e..47c4c8d4d74 100644 --- a/plugin/expon/src/main/java/org/zstack/expon/sdk/nvmf/DeleteNvmfTargetRequest.java +++ b/plugin/expon/src/main/java/org/zstack/expon/sdk/nvmf/DeleteNvmfTargetRequest.java @@ -10,7 +10,7 @@ @ExponRestRequest( path = "/block/nvmf/{nvmfId}", - method = HttpMethod.DELETE, + method = "DELETE", responseClass = CreateNvmfTargetResponse.class ) public class DeleteNvmfTargetRequest extends ExponRequest { diff --git a/plugin/expon/src/main/java/org/zstack/expon/sdk/nvmf/GetNvmfTargetBoundUssRequest.java b/plugin/expon/src/main/java/org/zstack/expon/sdk/nvmf/GetNvmfTargetBoundUssRequest.java index 7dd6a025001..df1ab8b678b 100644 --- a/plugin/expon/src/main/java/org/zstack/expon/sdk/nvmf/GetNvmfTargetBoundUssRequest.java +++ b/plugin/expon/src/main/java/org/zstack/expon/sdk/nvmf/GetNvmfTargetBoundUssRequest.java @@ -11,7 +11,7 @@ @ExponRestRequest( path = "/block/nvmf/{nvmfId}/nvmf_binded_uss", - method = HttpMethod.GET, + method = "GET", responseClass = GetVolumeResponse.class, sync = false ) diff --git a/plugin/expon/src/main/java/org/zstack/expon/sdk/nvmf/QueryNvmfClientGroupRequest.java b/plugin/expon/src/main/java/org/zstack/expon/sdk/nvmf/QueryNvmfClientGroupRequest.java index 842fc743110..a2e09bc7077 100644 --- a/plugin/expon/src/main/java/org/zstack/expon/sdk/nvmf/QueryNvmfClientGroupRequest.java +++ b/plugin/expon/src/main/java/org/zstack/expon/sdk/nvmf/QueryNvmfClientGroupRequest.java @@ -9,7 +9,7 @@ @ExponRestRequest( path = "/block/nvmf_client/", - method = HttpMethod.GET, + method = "GET", responseClass = QueryNvmfClientGroupResponse.class, sync = true ) diff --git a/plugin/expon/src/main/java/org/zstack/expon/sdk/nvmf/QueryNvmfTargetRequest.java b/plugin/expon/src/main/java/org/zstack/expon/sdk/nvmf/QueryNvmfTargetRequest.java index 96372e0dd22..8c0645d24b8 100644 --- a/plugin/expon/src/main/java/org/zstack/expon/sdk/nvmf/QueryNvmfTargetRequest.java +++ b/plugin/expon/src/main/java/org/zstack/expon/sdk/nvmf/QueryNvmfTargetRequest.java @@ -8,7 +8,7 @@ import java.util.Map; @ExponRestRequest( path = "/block/nvmf", - method = HttpMethod.GET, + method = "GET", responseClass = QueryNvmfTargetResponse.class, sync = true ) diff --git a/plugin/expon/src/main/java/org/zstack/expon/sdk/nvmf/RemoveNvmeClientGroupFromNvmfTargetRequest.java b/plugin/expon/src/main/java/org/zstack/expon/sdk/nvmf/RemoveNvmeClientGroupFromNvmfTargetRequest.java index 7247f0a2ce9..794c6d2cf2b 100644 --- a/plugin/expon/src/main/java/org/zstack/expon/sdk/nvmf/RemoveNvmeClientGroupFromNvmfTargetRequest.java +++ b/plugin/expon/src/main/java/org/zstack/expon/sdk/nvmf/RemoveNvmeClientGroupFromNvmfTargetRequest.java @@ -12,7 +12,7 @@ @ExponRestRequest( path = "/block/nvmf/{gatewayId}/remove_clients", - method = HttpMethod.PUT, + method = "PUT", responseClass = RemoveNvmeClientGroupFromNvmfTargetResponse.class ) public class RemoveNvmeClientGroupFromNvmfTargetRequest extends ExponRequest { diff --git a/plugin/expon/src/main/java/org/zstack/expon/sdk/nvmf/UnbindNvmfTargetFromUssRequest.java b/plugin/expon/src/main/java/org/zstack/expon/sdk/nvmf/UnbindNvmfTargetFromUssRequest.java index 50071b8296c..bac46af3e5d 100644 --- a/plugin/expon/src/main/java/org/zstack/expon/sdk/nvmf/UnbindNvmfTargetFromUssRequest.java +++ b/plugin/expon/src/main/java/org/zstack/expon/sdk/nvmf/UnbindNvmfTargetFromUssRequest.java @@ -11,7 +11,7 @@ @ExponRestRequest( path = "/block/nvmf/unbind_uss", - method = HttpMethod.PUT, + method = "PUT", responseClass = UnbindNvmfTargetFromUssResponse.class ) public class UnbindNvmfTargetFromUssRequest extends ExponRequest { diff --git a/plugin/expon/src/main/java/org/zstack/expon/sdk/pool/ClearFailureDomainBlacklistRequest.java b/plugin/expon/src/main/java/org/zstack/expon/sdk/pool/ClearFailureDomainBlacklistRequest.java index b02c1faba9c..98b856940f9 100644 --- a/plugin/expon/src/main/java/org/zstack/expon/sdk/pool/ClearFailureDomainBlacklistRequest.java +++ b/plugin/expon/src/main/java/org/zstack/expon/sdk/pool/ClearFailureDomainBlacklistRequest.java @@ -12,7 +12,7 @@ @ExponRestRequest( path = "/failure_domain/black_list/clean", responseClass = ClearFailureDomainBlacklistResponse.class, - method = HttpMethod.PUT, + method = "PUT", sync = false ) public class ClearFailureDomainBlacklistRequest extends ExponRequest { diff --git a/plugin/expon/src/main/java/org/zstack/expon/sdk/pool/GetFailureDomainBlacklistRequest.java b/plugin/expon/src/main/java/org/zstack/expon/sdk/pool/GetFailureDomainBlacklistRequest.java index f59eb280873..7c3b8e08521 100644 --- a/plugin/expon/src/main/java/org/zstack/expon/sdk/pool/GetFailureDomainBlacklistRequest.java +++ b/plugin/expon/src/main/java/org/zstack/expon/sdk/pool/GetFailureDomainBlacklistRequest.java @@ -11,7 +11,7 @@ @ExponRestRequest( path = "/failure_domain/black_list/{id}", - method = HttpMethod.GET, + method = "GET", responseClass = GetFailureDomainBlacklistResponse.class, sync = false ) diff --git a/plugin/expon/src/main/java/org/zstack/expon/sdk/pool/GetFailureDomainRequest.java b/plugin/expon/src/main/java/org/zstack/expon/sdk/pool/GetFailureDomainRequest.java index bc499afe305..efda0cf87b0 100644 --- a/plugin/expon/src/main/java/org/zstack/expon/sdk/pool/GetFailureDomainRequest.java +++ b/plugin/expon/src/main/java/org/zstack/expon/sdk/pool/GetFailureDomainRequest.java @@ -10,7 +10,7 @@ @ExponRestRequest( path = "/failure_domain/{id}", - method = HttpMethod.GET, + method = "GET", responseClass = GetFailureDomainResponse.class, sync = false ) diff --git a/plugin/expon/src/main/java/org/zstack/expon/sdk/pool/QueryFailureDomainRequest.java b/plugin/expon/src/main/java/org/zstack/expon/sdk/pool/QueryFailureDomainRequest.java index cca3ee31040..607a843cd26 100644 --- a/plugin/expon/src/main/java/org/zstack/expon/sdk/pool/QueryFailureDomainRequest.java +++ b/plugin/expon/src/main/java/org/zstack/expon/sdk/pool/QueryFailureDomainRequest.java @@ -12,7 +12,7 @@ @ExponRestRequest( path = "/failure_domain", - method = HttpMethod.GET, + method = "GET", responseClass = QueryFailureDomainResponse.class, sync = true ) diff --git a/plugin/expon/src/main/java/org/zstack/expon/sdk/uss/QueryUssGatewayRequest.java b/plugin/expon/src/main/java/org/zstack/expon/sdk/uss/QueryUssGatewayRequest.java index 9c8a54f408b..630817602a1 100644 --- a/plugin/expon/src/main/java/org/zstack/expon/sdk/uss/QueryUssGatewayRequest.java +++ b/plugin/expon/src/main/java/org/zstack/expon/sdk/uss/QueryUssGatewayRequest.java @@ -10,7 +10,7 @@ @ExponRestRequest( path = "/wds/uss", - method = HttpMethod.GET, + method = "GET", responseClass = QueryUssGatewayResponse.class ) @ExponQuery(replyClass = QueryUssGatewayResponse.class, inventoryClass = UssGatewayModule.class) diff --git a/plugin/expon/src/main/java/org/zstack/expon/sdk/vhost/AddVhostControllerToUssRequest.java b/plugin/expon/src/main/java/org/zstack/expon/sdk/vhost/AddVhostControllerToUssRequest.java index ef6a2aa3c52..bc7f530d833 100644 --- a/plugin/expon/src/main/java/org/zstack/expon/sdk/vhost/AddVhostControllerToUssRequest.java +++ b/plugin/expon/src/main/java/org/zstack/expon/sdk/vhost/AddVhostControllerToUssRequest.java @@ -10,7 +10,7 @@ @ExponRestRequest( path = "/block/vhost/bind_uss", - method = HttpMethod.PUT, + method = "PUT", responseClass = AddVhostControllerToUssResponse.class ) public class AddVhostControllerToUssRequest extends ExponRequest { diff --git a/plugin/expon/src/main/java/org/zstack/expon/sdk/vhost/CreateVhostControllerRequest.java b/plugin/expon/src/main/java/org/zstack/expon/sdk/vhost/CreateVhostControllerRequest.java index b286189006b..a00ee4fdba8 100644 --- a/plugin/expon/src/main/java/org/zstack/expon/sdk/vhost/CreateVhostControllerRequest.java +++ b/plugin/expon/src/main/java/org/zstack/expon/sdk/vhost/CreateVhostControllerRequest.java @@ -10,7 +10,7 @@ @ExponRestRequest( path = "/block/vhost", - method = HttpMethod.POST, + method = "POST", responseClass = CreateVhostControllerResponse.class ) public class CreateVhostControllerRequest extends ExponRequest { diff --git a/plugin/expon/src/main/java/org/zstack/expon/sdk/vhost/DeleteVhostControllerRequest.java b/plugin/expon/src/main/java/org/zstack/expon/sdk/vhost/DeleteVhostControllerRequest.java index 6768ab9b93d..de31f9873dd 100644 --- a/plugin/expon/src/main/java/org/zstack/expon/sdk/vhost/DeleteVhostControllerRequest.java +++ b/plugin/expon/src/main/java/org/zstack/expon/sdk/vhost/DeleteVhostControllerRequest.java @@ -11,7 +11,7 @@ @ExponRestRequest( path = "/block/vhost/{id}", - method = HttpMethod.DELETE, + method = "DELETE", responseClass = DeleteVhostControllerResponse.class ) public class DeleteVhostControllerRequest extends ExponRequest { diff --git a/plugin/expon/src/main/java/org/zstack/expon/sdk/vhost/GetVhostControllerBoundUssRequest.java b/plugin/expon/src/main/java/org/zstack/expon/sdk/vhost/GetVhostControllerBoundUssRequest.java index 1593e902409..5ad5ba79f94 100644 --- a/plugin/expon/src/main/java/org/zstack/expon/sdk/vhost/GetVhostControllerBoundUssRequest.java +++ b/plugin/expon/src/main/java/org/zstack/expon/sdk/vhost/GetVhostControllerBoundUssRequest.java @@ -11,7 +11,7 @@ @ExponRestRequest( path = "/block/vhost/{vhostId}/vhost_binded_uss", - method = HttpMethod.GET, + method = "GET", responseClass = GetVhostControllerBoundUssResponse.class ) public class GetVhostControllerBoundUssRequest extends ExponRequest { diff --git a/plugin/expon/src/main/java/org/zstack/expon/sdk/vhost/QueryVhostControllerRequest.java b/plugin/expon/src/main/java/org/zstack/expon/sdk/vhost/QueryVhostControllerRequest.java index 65a5ca57d47..a022ce2bf38 100644 --- a/plugin/expon/src/main/java/org/zstack/expon/sdk/vhost/QueryVhostControllerRequest.java +++ b/plugin/expon/src/main/java/org/zstack/expon/sdk/vhost/QueryVhostControllerRequest.java @@ -11,7 +11,7 @@ @ExponRestRequest( path = "/block/vhost", - method = HttpMethod.GET, + method = "GET", responseClass = QueryVhostControllerResponse.class, sync = true ) diff --git a/plugin/expon/src/main/java/org/zstack/expon/sdk/vhost/RemoveVhostControllerFromUssRequest.java b/plugin/expon/src/main/java/org/zstack/expon/sdk/vhost/RemoveVhostControllerFromUssRequest.java index d3035b27078..958a6bc153c 100644 --- a/plugin/expon/src/main/java/org/zstack/expon/sdk/vhost/RemoveVhostControllerFromUssRequest.java +++ b/plugin/expon/src/main/java/org/zstack/expon/sdk/vhost/RemoveVhostControllerFromUssRequest.java @@ -10,7 +10,7 @@ @ExponRestRequest( path = "/block/vhost/unbind_uss", - method = HttpMethod.PUT, + method = "PUT", responseClass = RemoveVhostControllerFromUssResponse.class ) public class RemoveVhostControllerFromUssRequest extends ExponRequest { diff --git a/plugin/expon/src/main/java/org/zstack/expon/sdk/volume/AddVolumePathToBlacklistRequest.java b/plugin/expon/src/main/java/org/zstack/expon/sdk/volume/AddVolumePathToBlacklistRequest.java index a8e06a4ebd0..c70af0319a3 100644 --- a/plugin/expon/src/main/java/org/zstack/expon/sdk/volume/AddVolumePathToBlacklistRequest.java +++ b/plugin/expon/src/main/java/org/zstack/expon/sdk/volume/AddVolumePathToBlacklistRequest.java @@ -10,7 +10,7 @@ @ExponRestRequest( path = "/failure_domain/black_list", - method = HttpMethod.PUT, + method = "PUT", responseClass = AddVolumePathToBlacklistResponse.class, sync = false ) diff --git a/plugin/expon/src/main/java/org/zstack/expon/sdk/volume/CloneVolumeRequest.java b/plugin/expon/src/main/java/org/zstack/expon/sdk/volume/CloneVolumeRequest.java index af0558be5fe..255f09e8dfb 100644 --- a/plugin/expon/src/main/java/org/zstack/expon/sdk/volume/CloneVolumeRequest.java +++ b/plugin/expon/src/main/java/org/zstack/expon/sdk/volume/CloneVolumeRequest.java @@ -10,7 +10,7 @@ @ExponRestRequest( path = "/block/snaps/{snapshotId}/clone", - method = HttpMethod.POST, + method = "POST", responseClass = CloneVolumeResponse.class, sync = true ) diff --git a/plugin/expon/src/main/java/org/zstack/expon/sdk/volume/CopyVolumeSnapshotRequest.java b/plugin/expon/src/main/java/org/zstack/expon/sdk/volume/CopyVolumeSnapshotRequest.java index 614caf90e61..b19cfa78bec 100644 --- a/plugin/expon/src/main/java/org/zstack/expon/sdk/volume/CopyVolumeSnapshotRequest.java +++ b/plugin/expon/src/main/java/org/zstack/expon/sdk/volume/CopyVolumeSnapshotRequest.java @@ -10,7 +10,7 @@ @ExponRestRequest( path = "/sync/block/snaps/{snapshotId}/copy_clone", - method = HttpMethod.PUT, + method = "PUT", responseClass = CopyVolumeSnapshotResponse.class, sync = false // for async request ) diff --git a/plugin/expon/src/main/java/org/zstack/expon/sdk/volume/CreateVolumeRequest.java b/plugin/expon/src/main/java/org/zstack/expon/sdk/volume/CreateVolumeRequest.java index 5ea8f64d4a4..e7c6f510159 100644 --- a/plugin/expon/src/main/java/org/zstack/expon/sdk/volume/CreateVolumeRequest.java +++ b/plugin/expon/src/main/java/org/zstack/expon/sdk/volume/CreateVolumeRequest.java @@ -10,7 +10,7 @@ @ExponRestRequest( path = "/block/volumes", - method = HttpMethod.POST, + method = "POST", responseClass = CreateVolumeResponse.class, sync = true ) diff --git a/plugin/expon/src/main/java/org/zstack/expon/sdk/volume/CreateVolumeSnapshotRequest.java b/plugin/expon/src/main/java/org/zstack/expon/sdk/volume/CreateVolumeSnapshotRequest.java index 8363021a335..44e60aee55d 100644 --- a/plugin/expon/src/main/java/org/zstack/expon/sdk/volume/CreateVolumeSnapshotRequest.java +++ b/plugin/expon/src/main/java/org/zstack/expon/sdk/volume/CreateVolumeSnapshotRequest.java @@ -10,7 +10,7 @@ @ExponRestRequest( path = "/block/snaps", - method = HttpMethod.POST, + method = "POST", responseClass = CreateVolumeSnapshotResponse.class, sync = true ) diff --git a/plugin/expon/src/main/java/org/zstack/expon/sdk/volume/DeleteVolumeRequest.java b/plugin/expon/src/main/java/org/zstack/expon/sdk/volume/DeleteVolumeRequest.java index 42694cacfa5..ce6a69475c4 100644 --- a/plugin/expon/src/main/java/org/zstack/expon/sdk/volume/DeleteVolumeRequest.java +++ b/plugin/expon/src/main/java/org/zstack/expon/sdk/volume/DeleteVolumeRequest.java @@ -11,7 +11,7 @@ @ExponRestRequest( path = "/block/volumes/{volId}", responseClass = DeleteVolumeResponse.class, - method = HttpMethod.DELETE, + method = "DELETE", sync = true ) public class DeleteVolumeRequest extends ExponRequest { diff --git a/plugin/expon/src/main/java/org/zstack/expon/sdk/volume/DeleteVolumeSnapshotRequest.java b/plugin/expon/src/main/java/org/zstack/expon/sdk/volume/DeleteVolumeSnapshotRequest.java index a260f97a864..f159c737510 100644 --- a/plugin/expon/src/main/java/org/zstack/expon/sdk/volume/DeleteVolumeSnapshotRequest.java +++ b/plugin/expon/src/main/java/org/zstack/expon/sdk/volume/DeleteVolumeSnapshotRequest.java @@ -10,7 +10,7 @@ @ExponRestRequest( path = "/block/snaps/{snapshotId}", - method = HttpMethod.DELETE, + method = "DELETE", responseClass = DeleteVolumeSnapshotResponse.class, sync = true ) diff --git a/plugin/expon/src/main/java/org/zstack/expon/sdk/volume/ExpandVolumeRequest.java b/plugin/expon/src/main/java/org/zstack/expon/sdk/volume/ExpandVolumeRequest.java index accb7226a45..ccfc98cb6da 100644 --- a/plugin/expon/src/main/java/org/zstack/expon/sdk/volume/ExpandVolumeRequest.java +++ b/plugin/expon/src/main/java/org/zstack/expon/sdk/volume/ExpandVolumeRequest.java @@ -10,7 +10,7 @@ @ExponRestRequest( path = "/block/volumes/{id}/expand", - method = HttpMethod.PUT, + method = "PUT", responseClass = ExpandVolumeResponse.class, sync = true ) diff --git a/plugin/expon/src/main/java/org/zstack/expon/sdk/volume/GetVolumeBoundPathRequest.java b/plugin/expon/src/main/java/org/zstack/expon/sdk/volume/GetVolumeBoundPathRequest.java index 175b88e8d2e..22f790ea9ad 100644 --- a/plugin/expon/src/main/java/org/zstack/expon/sdk/volume/GetVolumeBoundPathRequest.java +++ b/plugin/expon/src/main/java/org/zstack/expon/sdk/volume/GetVolumeBoundPathRequest.java @@ -9,7 +9,7 @@ import java.util.Map; @ExponRestRequest( path = "/block/volumes/{volId}/bind_status", - method = HttpMethod.GET, + method = "GET", responseClass = GetVolumeBoundPathResponse.class ) public class GetVolumeBoundPathRequest extends ExponRequest { diff --git a/plugin/expon/src/main/java/org/zstack/expon/sdk/volume/GetVolumeLunDetailRequest.java b/plugin/expon/src/main/java/org/zstack/expon/sdk/volume/GetVolumeLunDetailRequest.java index 5e58659f7f7..d8e1ba85e15 100644 --- a/plugin/expon/src/main/java/org/zstack/expon/sdk/volume/GetVolumeLunDetailRequest.java +++ b/plugin/expon/src/main/java/org/zstack/expon/sdk/volume/GetVolumeLunDetailRequest.java @@ -10,7 +10,7 @@ @ExponRestRequest( path = "/block/volumes/{volId}/lun_detail", - method = HttpMethod.GET, + method = "GET", responseClass = GetVolumeLunDetailResponse.class ) public class GetVolumeLunDetailRequest extends ExponRequest { diff --git a/plugin/expon/src/main/java/org/zstack/expon/sdk/volume/GetVolumeRequest.java b/plugin/expon/src/main/java/org/zstack/expon/sdk/volume/GetVolumeRequest.java index 033a50eafd1..ae558d21c94 100644 --- a/plugin/expon/src/main/java/org/zstack/expon/sdk/volume/GetVolumeRequest.java +++ b/plugin/expon/src/main/java/org/zstack/expon/sdk/volume/GetVolumeRequest.java @@ -10,7 +10,7 @@ @ExponRestRequest( path = "/block/volumes/{volId}", - method = HttpMethod.GET, + method = "GET", responseClass = GetVolumeResponse.class, sync = false ) diff --git a/plugin/expon/src/main/java/org/zstack/expon/sdk/volume/GetVolumeSnapshotRequest.java b/plugin/expon/src/main/java/org/zstack/expon/sdk/volume/GetVolumeSnapshotRequest.java index f448f59d311..4b3d9d598bc 100644 --- a/plugin/expon/src/main/java/org/zstack/expon/sdk/volume/GetVolumeSnapshotRequest.java +++ b/plugin/expon/src/main/java/org/zstack/expon/sdk/volume/GetVolumeSnapshotRequest.java @@ -12,7 +12,7 @@ @ExponRestRequest( path = "/block/snaps/{id}", - method = HttpMethod.GET, + method = "GET", responseClass = GetVolumeSnapshotResponse.class, sync = true ) diff --git a/plugin/expon/src/main/java/org/zstack/expon/sdk/volume/GetVolumeTaskProgressRequest.java b/plugin/expon/src/main/java/org/zstack/expon/sdk/volume/GetVolumeTaskProgressRequest.java index 38aaa23b7f0..4f1712ae26c 100644 --- a/plugin/expon/src/main/java/org/zstack/expon/sdk/volume/GetVolumeTaskProgressRequest.java +++ b/plugin/expon/src/main/java/org/zstack/expon/sdk/volume/GetVolumeTaskProgressRequest.java @@ -11,7 +11,7 @@ @ExponRestRequest( path = "/block/volumes/tasks/{taskId}", - method = HttpMethod.GET, + method = "GET", responseClass = GetVolumeTaskProgressResponse.class, sync = true ) diff --git a/plugin/expon/src/main/java/org/zstack/expon/sdk/volume/QueryVolumeRequest.java b/plugin/expon/src/main/java/org/zstack/expon/sdk/volume/QueryVolumeRequest.java index a758e224432..50870ad5f72 100644 --- a/plugin/expon/src/main/java/org/zstack/expon/sdk/volume/QueryVolumeRequest.java +++ b/plugin/expon/src/main/java/org/zstack/expon/sdk/volume/QueryVolumeRequest.java @@ -10,7 +10,7 @@ @ExponRestRequest( path = "/block/volumes", - method = HttpMethod.GET, + method = "GET", responseClass = QueryVolumeResponse.class, sync = true ) diff --git a/plugin/expon/src/main/java/org/zstack/expon/sdk/volume/QueryVolumeSnapshotRequest.java b/plugin/expon/src/main/java/org/zstack/expon/sdk/volume/QueryVolumeSnapshotRequest.java index 84a28fc9d8d..d40a58db73b 100644 --- a/plugin/expon/src/main/java/org/zstack/expon/sdk/volume/QueryVolumeSnapshotRequest.java +++ b/plugin/expon/src/main/java/org/zstack/expon/sdk/volume/QueryVolumeSnapshotRequest.java @@ -10,7 +10,7 @@ @ExponRestRequest( path = "/block/snaps", - method = HttpMethod.GET, + method = "GET", responseClass = QueryVolumeSnapshotResponse.class, sync = true ) diff --git a/plugin/expon/src/main/java/org/zstack/expon/sdk/volume/RecoveryVolumeSnapshotRequest.java b/plugin/expon/src/main/java/org/zstack/expon/sdk/volume/RecoveryVolumeSnapshotRequest.java index 613d4cc1eb7..cd95688ca80 100644 --- a/plugin/expon/src/main/java/org/zstack/expon/sdk/volume/RecoveryVolumeSnapshotRequest.java +++ b/plugin/expon/src/main/java/org/zstack/expon/sdk/volume/RecoveryVolumeSnapshotRequest.java @@ -10,7 +10,7 @@ @ExponRestRequest( path = "/block/volumes/{volumeId}/recovery", - method = HttpMethod.PUT, + method = "PUT", responseClass = RecoveryVolumeSnapshotResponse.class, sync = true ) diff --git a/plugin/expon/src/main/java/org/zstack/expon/sdk/volume/RemoveVolumePathFromBlacklistRequest.java b/plugin/expon/src/main/java/org/zstack/expon/sdk/volume/RemoveVolumePathFromBlacklistRequest.java index fb9728a2d7d..8fbd2daf615 100644 --- a/plugin/expon/src/main/java/org/zstack/expon/sdk/volume/RemoveVolumePathFromBlacklistRequest.java +++ b/plugin/expon/src/main/java/org/zstack/expon/sdk/volume/RemoveVolumePathFromBlacklistRequest.java @@ -10,7 +10,7 @@ @ExponRestRequest( path = "/failure_domain/black_list", - method = HttpMethod.DELETE, + method = "DELETE", responseClass = RemoveVolumePathFromBlacklistResponse.class, hasBody = true, sync = false diff --git a/plugin/expon/src/main/java/org/zstack/expon/sdk/volume/SetVolumeQosRequest.java b/plugin/expon/src/main/java/org/zstack/expon/sdk/volume/SetVolumeQosRequest.java index c9372e246da..fa0a37204ef 100644 --- a/plugin/expon/src/main/java/org/zstack/expon/sdk/volume/SetVolumeQosRequest.java +++ b/plugin/expon/src/main/java/org/zstack/expon/sdk/volume/SetVolumeQosRequest.java @@ -10,7 +10,7 @@ @ExponRestRequest( path = "/block/volumes/{volId}/qos", - method = HttpMethod.PUT, + method = "PUT", responseClass = SetVolumeQosResponse.class ) public class SetVolumeQosRequest extends ExponRequest { diff --git a/plugin/expon/src/main/java/org/zstack/expon/sdk/volume/UpdateVolumeRequest.java b/plugin/expon/src/main/java/org/zstack/expon/sdk/volume/UpdateVolumeRequest.java index a9b7128d75e..cd2bd90eea5 100644 --- a/plugin/expon/src/main/java/org/zstack/expon/sdk/volume/UpdateVolumeRequest.java +++ b/plugin/expon/src/main/java/org/zstack/expon/sdk/volume/UpdateVolumeRequest.java @@ -10,7 +10,7 @@ @ExponRestRequest( path = "/block/volumes/{id}/name", - method = HttpMethod.PUT, + method = "PUT", responseClass = UpdateVolumeResponse.class, sync = false ) diff --git a/plugin/expon/src/main/java/org/zstack/expon/sdk/volume/UpdateVolumeSnapshotRequest.java b/plugin/expon/src/main/java/org/zstack/expon/sdk/volume/UpdateVolumeSnapshotRequest.java index 2935942d609..e499c3fe327 100644 --- a/plugin/expon/src/main/java/org/zstack/expon/sdk/volume/UpdateVolumeSnapshotRequest.java +++ b/plugin/expon/src/main/java/org/zstack/expon/sdk/volume/UpdateVolumeSnapshotRequest.java @@ -10,7 +10,7 @@ @ExponRestRequest( path = "/block/snaps/{id}", - method = HttpMethod.PUT, + method = "PUT", responseClass = UpdateVolumeSnapshotResponse.class, sync = false ) diff --git a/plugin/externalStorage/pom.xml b/plugin/externalStorage/pom.xml index cd633512dd1..cf8472f3a44 100644 --- a/plugin/externalStorage/pom.xml +++ b/plugin/externalStorage/pom.xml @@ -29,29 +29,55 @@ maven-compiler-plugin ${project.compiler.version} - groovy-eclipse-compiler ${project.java.version} ${project.java.version} lines,vars,source true - - - org.codehaus.groovy - groovy-eclipse-compiler - ${groovy.eclipse.compiler} - - - org.codehaus.groovy - groovy-eclipse-batch - ${groovy.eclipse.batch} - - - org.codehaus.mojo + org.codehaus.gmavenplus + gmavenplus-plugin + 3.0.2 + + + + ${project.basedir}/src/main/java + + **/*.groovy + + + + + + + groovy-stubs + generateStubsremoveStubs + + + groovy-compile + compile + + + + + org.apache.groovy + groovy + ${groovy.version} + + + + + dev.aspectj aspectj-maven-plugin ${aspectj.plugin.version} + + + org.aspectj + aspectjtools + ${aspectj.version} + + diff --git a/plugin/flatNetworkProvider/pom.xml b/plugin/flatNetworkProvider/pom.xml index 788c095401b..d96de871b67 100755 --- a/plugin/flatNetworkProvider/pom.xml +++ b/plugin/flatNetworkProvider/pom.xml @@ -40,29 +40,55 @@ maven-compiler-plugin ${project.compiler.version} - groovy-eclipse-compiler ${project.java.version} ${project.java.version} lines,vars,source true - - - org.codehaus.groovy - groovy-eclipse-compiler - ${groovy.eclipse.compiler} - - - org.codehaus.groovy - groovy-eclipse-batch - ${groovy.eclipse.batch} - - - org.codehaus.mojo + org.codehaus.gmavenplus + gmavenplus-plugin + 3.0.2 + + + + ${project.basedir}/src/main/java + + **/*.groovy + + + + + + + groovy-stubs + generateStubsremoveStubs + + + groovy-compile + compile + + + + + org.apache.groovy + groovy + ${groovy.version} + + + + + dev.aspectj aspectj-maven-plugin ${aspectj.plugin.version} + + + org.aspectj + aspectjtools + ${aspectj.version} + + diff --git a/plugin/flatNetworkProvider/src/main/java/org/zstack/network/service/flat/APIChangeL3NetworkDhcpIpAddressMsg.java b/plugin/flatNetworkProvider/src/main/java/org/zstack/network/service/flat/APIChangeL3NetworkDhcpIpAddressMsg.java index 5161c3c4fbf..cfbed80b1a9 100644 --- a/plugin/flatNetworkProvider/src/main/java/org/zstack/network/service/flat/APIChangeL3NetworkDhcpIpAddressMsg.java +++ b/plugin/flatNetworkProvider/src/main/java/org/zstack/network/service/flat/APIChangeL3NetworkDhcpIpAddressMsg.java @@ -12,7 +12,7 @@ @Action(category = L3NetworkConstant.ACTION_CATEGORY) @RestRequest( path = "/l3-networks/{l3NetworkUuid}/dhcp-ip", - method = HttpMethod.PUT, + method = "PUT", isAction = true, responseClass = APIChangeL3NetworkDhcpIpAddressEvent.class ) diff --git a/plugin/flatNetworkProvider/src/main/java/org/zstack/network/service/flat/APIGetL3NetworkDhcpIpAddressMsg.java b/plugin/flatNetworkProvider/src/main/java/org/zstack/network/service/flat/APIGetL3NetworkDhcpIpAddressMsg.java index c173c1a07d7..b44d3d9cd68 100755 --- a/plugin/flatNetworkProvider/src/main/java/org/zstack/network/service/flat/APIGetL3NetworkDhcpIpAddressMsg.java +++ b/plugin/flatNetworkProvider/src/main/java/org/zstack/network/service/flat/APIGetL3NetworkDhcpIpAddressMsg.java @@ -17,7 +17,7 @@ @Action(category = L3NetworkConstant.ACTION_CATEGORY) @RestRequest( path = "/l3-networks/{l3NetworkUuid}/dhcp-ip", - method = HttpMethod.GET, + method = "GET", responseClass = APIGetL3NetworkDhcpIpAddressReply.class ) public class APIGetL3NetworkDhcpIpAddressMsg extends APISyncCallMessage implements L3NetworkMessage { diff --git a/plugin/flatNetworkProvider/src/main/java/org/zstack/network/service/flat/APIGetL3NetworkIpStatisticMsg.java b/plugin/flatNetworkProvider/src/main/java/org/zstack/network/service/flat/APIGetL3NetworkIpStatisticMsg.java index dcc807a3521..47c735d2b60 100644 --- a/plugin/flatNetworkProvider/src/main/java/org/zstack/network/service/flat/APIGetL3NetworkIpStatisticMsg.java +++ b/plugin/flatNetworkProvider/src/main/java/org/zstack/network/service/flat/APIGetL3NetworkIpStatisticMsg.java @@ -17,7 +17,7 @@ @Action(category = L3NetworkConstant.ACTION_CATEGORY) @RestRequest( path = "/l3-networks/{l3NetworkUuid}/ip-statistic", - method = HttpMethod.GET, + method = "GET", responseClass = APIGetL3NetworkIpStatisticReply.class ) public class APIGetL3NetworkIpStatisticMsg extends APISyncCallMessage implements L3NetworkMessage { diff --git a/plugin/flatNetworkProvider/src/main/java/org/zstack/network/service/flat/BridgeNameFinder.java b/plugin/flatNetworkProvider/src/main/java/org/zstack/network/service/flat/BridgeNameFinder.java index f69242e5c26..84cc2b05760 100755 --- a/plugin/flatNetworkProvider/src/main/java/org/zstack/network/service/flat/BridgeNameFinder.java +++ b/plugin/flatNetworkProvider/src/main/java/org/zstack/network/service/flat/BridgeNameFinder.java @@ -11,8 +11,8 @@ import org.zstack.kvm.KVMSystemTags; import org.zstack.utils.TagUtils; -import javax.persistence.Tuple; -import javax.persistence.TypedQuery; +import jakarta.persistence.Tuple; +import jakarta.persistence.TypedQuery; import java.util.Collection; import java.util.HashMap; import java.util.List; 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..115059b7f6c 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 @@ -71,9 +71,9 @@ import org.zstack.utils.network.IPv6NetworkUtils; import org.zstack.utils.network.NetworkUtils; -import javax.persistence.Query; -import javax.persistence.Tuple; -import javax.persistence.TypedQuery; +import jakarta.persistence.Query; +import jakarta.persistence.Tuple; +import jakarta.persistence.TypedQuery; import java.math.BigInteger; import java.sql.Timestamp; import java.util.*; diff --git a/plugin/flatNetworkProvider/src/main/java/org/zstack/network/service/flat/FlatDhcpUpgradeExtension.java b/plugin/flatNetworkProvider/src/main/java/org/zstack/network/service/flat/FlatDhcpUpgradeExtension.java index 2bd0ce08dc0..ded0ab1c08e 100755 --- a/plugin/flatNetworkProvider/src/main/java/org/zstack/network/service/flat/FlatDhcpUpgradeExtension.java +++ b/plugin/flatNetworkProvider/src/main/java/org/zstack/network/service/flat/FlatDhcpUpgradeExtension.java @@ -24,8 +24,8 @@ import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; -import javax.persistence.Tuple; -import javax.persistence.TypedQuery; +import jakarta.persistence.Tuple; +import jakarta.persistence.TypedQuery; import java.util.ArrayList; import java.util.List; import java.util.Map; 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..81adfa0537a 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 @@ -28,7 +28,7 @@ import org.zstack.utils.function.Function; import org.zstack.utils.logging.CLogger; -import javax.persistence.TypedQuery; +import jakarta.persistence.TypedQuery; import java.util.*; import java.util.concurrent.Callable; 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..c9bf53073af 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 @@ -53,8 +53,8 @@ import org.zstack.utils.network.IPv6NetworkUtils; import org.zstack.utils.network.NetworkUtils; -import javax.persistence.Tuple; -import javax.persistence.TypedQuery; +import jakarta.persistence.Tuple; +import jakarta.persistence.TypedQuery; import java.util.*; import java.util.stream.Collectors; 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..8becf5a837e 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 @@ -48,8 +48,8 @@ import org.zstack.utils.logging.CLogger; import org.zstack.utils.network.IPv6Constants; -import javax.persistence.Tuple; -import javax.persistence.TypedQuery; +import jakarta.persistence.Tuple; +import jakarta.persistence.TypedQuery; import java.util.*; import java.util.concurrent.Callable; import java.util.concurrent.TimeUnit; diff --git a/plugin/flatNetworkProvider/src/main/java/org/zstack/network/service/flat/VmNicFinder.java b/plugin/flatNetworkProvider/src/main/java/org/zstack/network/service/flat/VmNicFinder.java index 35a2b62eb93..0290b4137a7 100644 --- a/plugin/flatNetworkProvider/src/main/java/org/zstack/network/service/flat/VmNicFinder.java +++ b/plugin/flatNetworkProvider/src/main/java/org/zstack/network/service/flat/VmNicFinder.java @@ -9,8 +9,8 @@ import org.zstack.header.vm.VmInstanceState; import org.zstack.header.vm.VmNicVO; -import javax.persistence.Tuple; -import javax.persistence.TypedQuery; +import jakarta.persistence.Tuple; +import jakarta.persistence.TypedQuery; import java.util.HashMap; import java.util.List; import java.util.Map; diff --git a/plugin/hostNetworkInterface/pom.xml b/plugin/hostNetworkInterface/pom.xml index 9519574c0fe..f18ad4b486f 100644 --- a/plugin/hostNetworkInterface/pom.xml +++ b/plugin/hostNetworkInterface/pom.xml @@ -33,8 +33,8 @@ ${project.version} - org.hibernate.javax.persistence - hibernate-jpa-2.1-api + jakarta.persistence + jakarta.persistence-api org.zstack @@ -50,29 +50,55 @@ maven-compiler-plugin ${project.compiler.version} - groovy-eclipse-compiler ${project.java.version} ${project.java.version} lines,vars,source true - - - org.codehaus.groovy - groovy-eclipse-compiler - ${groovy.eclipse.compiler} - - - org.codehaus.groovy - groovy-eclipse-batch - ${groovy.eclipse.batch} - - - org.codehaus.mojo + org.codehaus.gmavenplus + gmavenplus-plugin + 3.0.2 + + + + ${project.basedir}/src/main/java + + **/*.groovy + + + + + + + groovy-stubs + generateStubsremoveStubs + + + groovy-compile + compile + + + + + org.apache.groovy + groovy + ${groovy.version} + + + + + dev.aspectj aspectj-maven-plugin ${aspectj.plugin.version} + + + org.aspectj + aspectjtools + ${aspectj.version} + + diff --git a/plugin/hostNetworkInterface/src/main/java/org/zstack/network/hostNetworkInterface/APIQueryPhysicalSwitchMsg.java b/plugin/hostNetworkInterface/src/main/java/org/zstack/network/hostNetworkInterface/APIQueryPhysicalSwitchMsg.java index a5dc969af22..fd3267dc100 100644 --- a/plugin/hostNetworkInterface/src/main/java/org/zstack/network/hostNetworkInterface/APIQueryPhysicalSwitchMsg.java +++ b/plugin/hostNetworkInterface/src/main/java/org/zstack/network/hostNetworkInterface/APIQueryPhysicalSwitchMsg.java @@ -22,7 +22,7 @@ @RestRequest( path = "/topo/physical-switches", optionalPaths = {"/topo/physical-switches/{uuid}"}, - method = HttpMethod.GET, + method = "GET", responseClass = APIQueryPhysicalSwitchReply.class ) public class APIQueryPhysicalSwitchMsg extends APIQueryMessage { diff --git a/plugin/hostNetworkInterface/src/main/java/org/zstack/network/hostNetworkInterface/HostNetworkBondingInventory.java b/plugin/hostNetworkInterface/src/main/java/org/zstack/network/hostNetworkInterface/HostNetworkBondingInventory.java index a92752e7e70..6823304b841 100644 --- a/plugin/hostNetworkInterface/src/main/java/org/zstack/network/hostNetworkInterface/HostNetworkBondingInventory.java +++ b/plugin/hostNetworkInterface/src/main/java/org/zstack/network/hostNetworkInterface/HostNetworkBondingInventory.java @@ -4,7 +4,7 @@ import org.zstack.header.query.Queryable; import org.zstack.header.search.Inventory; -import javax.persistence.JoinColumn; +import jakarta.persistence.JoinColumn; import java.io.Serializable; import java.sql.Timestamp; import java.util.Arrays; 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..3463dc830ef 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 @@ -6,7 +6,7 @@ import org.zstack.header.vo.Index; import org.zstack.header.vo.*; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; import java.util.HashSet; import java.util.Set; 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 1bf9c5ad76a..520c09a2347 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 @@ -2,8 +2,8 @@ import org.zstack.header.vo.ResourceVO_; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; 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..34d9dd10cac 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 @@ -6,7 +6,7 @@ import org.zstack.header.vo.Index; import org.zstack.header.vo.*; -import javax.persistence.*; +import jakarta.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 d9980b06cdb..4436c48f373 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 @@ -2,8 +2,8 @@ import org.zstack.header.vo.ResourceVO_; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; /** diff --git a/plugin/hostNetworkInterface/src/main/java/org/zstack/network/hostNetworkInterface/PhysicalSwitchPortVO.java b/plugin/hostNetworkInterface/src/main/java/org/zstack/network/hostNetworkInterface/PhysicalSwitchPortVO.java index 9480d946f2b..5a5d0640197 100644 --- a/plugin/hostNetworkInterface/src/main/java/org/zstack/network/hostNetworkInterface/PhysicalSwitchPortVO.java +++ b/plugin/hostNetworkInterface/src/main/java/org/zstack/network/hostNetworkInterface/PhysicalSwitchPortVO.java @@ -6,7 +6,7 @@ import org.zstack.header.vo.ResourceVO; import org.zstack.header.vo.ToInventory; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; /** diff --git a/plugin/hostNetworkInterface/src/main/java/org/zstack/network/hostNetworkInterface/PhysicalSwitchPortVO_.java b/plugin/hostNetworkInterface/src/main/java/org/zstack/network/hostNetworkInterface/PhysicalSwitchPortVO_.java index 76d963b73e4..376967ec7a7 100644 --- a/plugin/hostNetworkInterface/src/main/java/org/zstack/network/hostNetworkInterface/PhysicalSwitchPortVO_.java +++ b/plugin/hostNetworkInterface/src/main/java/org/zstack/network/hostNetworkInterface/PhysicalSwitchPortVO_.java @@ -2,8 +2,8 @@ import org.zstack.header.vo.ResourceVO_; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; /** diff --git a/plugin/hostNetworkInterface/src/main/java/org/zstack/network/hostNetworkInterface/PhysicalSwitchVO.java b/plugin/hostNetworkInterface/src/main/java/org/zstack/network/hostNetworkInterface/PhysicalSwitchVO.java index 8c8cb7bbce8..85982472dea 100644 --- a/plugin/hostNetworkInterface/src/main/java/org/zstack/network/hostNetworkInterface/PhysicalSwitchVO.java +++ b/plugin/hostNetworkInterface/src/main/java/org/zstack/network/hostNetworkInterface/PhysicalSwitchVO.java @@ -7,7 +7,7 @@ import org.zstack.header.vo.ResourceVO; import org.zstack.header.vo.ToInventory; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; import java.util.HashSet; import java.util.Set; diff --git a/plugin/hostNetworkInterface/src/main/java/org/zstack/network/hostNetworkInterface/PhysicalSwitchVO_.java b/plugin/hostNetworkInterface/src/main/java/org/zstack/network/hostNetworkInterface/PhysicalSwitchVO_.java index ac2f1c68b4d..1564578b64f 100644 --- a/plugin/hostNetworkInterface/src/main/java/org/zstack/network/hostNetworkInterface/PhysicalSwitchVO_.java +++ b/plugin/hostNetworkInterface/src/main/java/org/zstack/network/hostNetworkInterface/PhysicalSwitchVO_.java @@ -2,8 +2,8 @@ import org.zstack.header.vo.ResourceVO_; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; /** diff --git a/plugin/hostNetworkInterface/src/main/java/org/zstack/network/hostNetworkInterface/lldp/api/APIChangeHostNetworkInterfaceLldpModeMsg.java b/plugin/hostNetworkInterface/src/main/java/org/zstack/network/hostNetworkInterface/lldp/api/APIChangeHostNetworkInterfaceLldpModeMsg.java index fce7824092d..06c3f9133d2 100644 --- a/plugin/hostNetworkInterface/src/main/java/org/zstack/network/hostNetworkInterface/lldp/api/APIChangeHostNetworkInterfaceLldpModeMsg.java +++ b/plugin/hostNetworkInterface/src/main/java/org/zstack/network/hostNetworkInterface/lldp/api/APIChangeHostNetworkInterfaceLldpModeMsg.java @@ -16,7 +16,7 @@ @Action(category = LldpConstant.ACTION_CATEGORY) @RestRequest( path = "/hostNetworkInterface/lldp/actions", - method = HttpMethod.PUT, + method = "PUT", responseClass = APIChangeHostNetworkInterfaceLldpModeEvent.class, isAction = true ) diff --git a/plugin/hostNetworkInterface/src/main/java/org/zstack/network/hostNetworkInterface/lldp/api/APIGetHostNetworkInterfaceLldpMsg.java b/plugin/hostNetworkInterface/src/main/java/org/zstack/network/hostNetworkInterface/lldp/api/APIGetHostNetworkInterfaceLldpMsg.java index 58799e167c1..5c030ce7f36 100644 --- a/plugin/hostNetworkInterface/src/main/java/org/zstack/network/hostNetworkInterface/lldp/api/APIGetHostNetworkInterfaceLldpMsg.java +++ b/plugin/hostNetworkInterface/src/main/java/org/zstack/network/hostNetworkInterface/lldp/api/APIGetHostNetworkInterfaceLldpMsg.java @@ -11,7 +11,7 @@ @Action(category = LldpConstant.ACTION_CATEGORY) @RestRequest( path = "/hostNetworkInterface/lldp/{interfaceUuid}/info", - method = HttpMethod.GET, + method = "GET", responseClass = APIGetHostNetworkInterfaceLldpReply.class ) public class APIGetHostNetworkInterfaceLldpMsg extends APISyncCallMessage { diff --git a/plugin/hostNetworkInterface/src/main/java/org/zstack/network/hostNetworkInterface/lldp/api/APIQueryHostNetworkInterfaceLldpMsg.java b/plugin/hostNetworkInterface/src/main/java/org/zstack/network/hostNetworkInterface/lldp/api/APIQueryHostNetworkInterfaceLldpMsg.java index 959b7154f97..bc3edfefc3c 100644 --- a/plugin/hostNetworkInterface/src/main/java/org/zstack/network/hostNetworkInterface/lldp/api/APIQueryHostNetworkInterfaceLldpMsg.java +++ b/plugin/hostNetworkInterface/src/main/java/org/zstack/network/hostNetworkInterface/lldp/api/APIQueryHostNetworkInterfaceLldpMsg.java @@ -17,7 +17,7 @@ @RestRequest( path = "/hostNetworkInterface/lldp/all", optionalPaths = {"/hostNetworkInterface/lldp/{interfaceUuid}"}, - method = HttpMethod.GET, + method = "GET", responseClass = APIQueryHostNetworkInterfaceLldpReply.class ) public class APIQueryHostNetworkInterfaceLldpMsg extends APIQueryMessage { 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..0a62bd656fe 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 @@ -4,7 +4,7 @@ import org.zstack.header.query.*; import org.zstack.header.search.Inventory; -import javax.persistence.JoinColumn; +import jakarta.persistence.JoinColumn; import java.io.Serializable; import java.sql.Timestamp; import java.util.Collection; 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..28c2fe4b3fe 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 @@ -5,7 +5,7 @@ import org.zstack.header.vo.Index; import org.zstack.header.vo.*; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; @Entity 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 46036735b4a..e3d9e5b836d 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 @@ -1,8 +1,8 @@ package org.zstack.network.hostNetworkInterface.lldp.entity; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; @StaticMetamodel(HostNetworkInterfaceLldpRefVO.class) 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..18890ea9d8c 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 @@ -6,7 +6,7 @@ import org.zstack.header.vo.Index; import org.zstack.network.hostNetworkInterface.HostNetworkInterfaceVO; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; @Entity 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 128b6224bec..553a4649436 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,8 +2,8 @@ import org.zstack.header.vo.ResourceVO_; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; @StaticMetamodel(HostNetworkInterfaceLldpVO.class) diff --git a/plugin/iscsi/pom.xml b/plugin/iscsi/pom.xml index 46dd095fe15..1e80931fbe5 100644 --- a/plugin/iscsi/pom.xml +++ b/plugin/iscsi/pom.xml @@ -35,29 +35,55 @@ maven-compiler-plugin ${project.compiler.version} - groovy-eclipse-compiler ${project.java.version} ${project.java.version} lines,vars,source true - - - org.codehaus.groovy - groovy-eclipse-compiler - ${groovy.eclipse.compiler} - - - org.codehaus.groovy - groovy-eclipse-batch - ${groovy.eclipse.batch} - - - org.codehaus.mojo + org.codehaus.gmavenplus + gmavenplus-plugin + 3.0.2 + + + + ${project.basedir}/src/main/java + + **/*.groovy + + + + + + + groovy-stubs + generateStubsremoveStubs + + + groovy-compile + compile + + + + + org.apache.groovy + groovy + ${groovy.version} + + + + + dev.aspectj aspectj-maven-plugin ${aspectj.plugin.version} + + + org.aspectj + aspectjtools + ${aspectj.version} + + diff --git a/plugin/kvm/pom.xml b/plugin/kvm/pom.xml index 73e4c81afe3..d959e6c409d 100755 --- a/plugin/kvm/pom.xml +++ b/plugin/kvm/pom.xml @@ -1,100 +1,126 @@ - - 4.0.0 - - plugin - org.zstack + + 4.0.0 + + plugin + org.zstack 5.5.0 - .. - - kvm - - - org.zstack - compute - ${project.version} - - - org.zstack - securityGroup - ${project.version} - - - org.zstack - console - ${project.version} - - - org.zstack - resourceconfig - ${project.version} - - - org.apache.maven - maven-artifact - 3.0.5 - - - - - - - org.apache.maven.plugins - maven-compiler-plugin - ${project.compiler.version} - - groovy-eclipse-compiler - ${project.java.version} - ${project.java.version} - lines,vars,source - true - - - - org.codehaus.groovy - groovy-eclipse-compiler - ${groovy.eclipse.compiler} - - - org.codehaus.groovy - groovy-eclipse-batch - ${groovy.eclipse.batch} - - - - - org.codehaus.mojo - aspectj-maven-plugin - ${aspectj.plugin.version} - - - - compile - test-compile - - - - - ${project.java.version} - ${project.java.version} - ${project.java.version} - true - - - org.springframework - spring-aspects - - - org.zstack - core - - - org.zstack - header - - - - - - - + .. + + kvm + + + org.zstack + compute + ${project.version} + + + org.zstack + securityGroup + ${project.version} + + + org.zstack + console + ${project.version} + + + org.zstack + resourceconfig + ${project.version} + + + org.apache.maven + maven-artifact + 3.0.5 + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + ${project.compiler.version} + + ${project.java.version} + ${project.java.version} + lines,vars,source + true + + + + org.codehaus.gmavenplus + gmavenplus-plugin + 3.0.2 + + + + ${project.basedir}/src/main/java + + **/*.groovy + + + + + + + groovy-stubs + generateStubsremoveStubs + + + groovy-compile + compile + + + + + org.apache.groovy + groovy + ${groovy.version} + + + + + dev.aspectj + aspectj-maven-plugin + ${aspectj.plugin.version} + + + org.aspectj + aspectjtools + ${aspectj.version} + + + + + + compile + test-compile + + + + + ${project.java.version} + ${project.java.version} + ${project.java.version} + true + + + org.springframework + spring-aspects + + + org.zstack + core + + + org.zstack + header + + + + + + + diff --git a/plugin/kvm/src/main/java/org/zstack/kvm/APIAddKVMHostMsg.java b/plugin/kvm/src/main/java/org/zstack/kvm/APIAddKVMHostMsg.java index c41b987e323..e11e356a97b 100755 --- a/plugin/kvm/src/main/java/org/zstack/kvm/APIAddKVMHostMsg.java +++ b/plugin/kvm/src/main/java/org/zstack/kvm/APIAddKVMHostMsg.java @@ -63,7 +63,7 @@ @TagResourceType(HostVO.class) @RestRequest( path = "/hosts/kvm", - method = HttpMethod.POST, + method = "POST", parameterName = "params", responseClass = APIAddHostEvent.class ) diff --git a/plugin/kvm/src/main/java/org/zstack/kvm/APIKvmRunShellMsg.java b/plugin/kvm/src/main/java/org/zstack/kvm/APIKvmRunShellMsg.java index 97a48f0fac4..197f7c0f1d5 100755 --- a/plugin/kvm/src/main/java/org/zstack/kvm/APIKvmRunShellMsg.java +++ b/plugin/kvm/src/main/java/org/zstack/kvm/APIKvmRunShellMsg.java @@ -17,7 +17,7 @@ @RestRequest( path = "/hosts/kvm/actions", isAction = true, - method = HttpMethod.PUT, + method = "PUT", responseClass = APIKvmRunShellEvent.class ) public class APIKvmRunShellMsg extends APIMessage { diff --git a/plugin/kvm/src/main/java/org/zstack/kvm/APIUpdateKVMHostMsg.java b/plugin/kvm/src/main/java/org/zstack/kvm/APIUpdateKVMHostMsg.java index 27f33df1597..edaefaf0c00 100755 --- a/plugin/kvm/src/main/java/org/zstack/kvm/APIUpdateKVMHostMsg.java +++ b/plugin/kvm/src/main/java/org/zstack/kvm/APIUpdateKVMHostMsg.java @@ -12,7 +12,7 @@ */ @RestRequest( path = "/hosts/kvm/{uuid}/actions", - method = HttpMethod.PUT, + method = "PUT", responseClass = APIUpdateHostEvent.class, isAction = true ) 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..03dfa25fdb3 100644 --- a/plugin/kvm/src/main/java/org/zstack/kvm/AbstractKVMConnectExtensionForL2Network.java +++ b/plugin/kvm/src/main/java/org/zstack/kvm/AbstractKVMConnectExtensionForL2Network.java @@ -25,7 +25,7 @@ import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; -import javax.persistence.TypedQuery; +import jakarta.persistence.TypedQuery; import java.util.*; import java.util.stream.Collectors; diff --git a/plugin/kvm/src/main/java/org/zstack/kvm/KVMHost.java b/plugin/kvm/src/main/java/org/zstack/kvm/KVMHost.java index a245757517d..b5444777a74 100755 --- a/plugin/kvm/src/main/java/org/zstack/kvm/KVMHost.java +++ b/plugin/kvm/src/main/java/org/zstack/kvm/KVMHost.java @@ -59,6 +59,10 @@ import org.zstack.header.errorcode.SysErrors; import org.zstack.header.exception.CloudRuntimeException; import org.zstack.header.host.*; +import org.zstack.header.host.CommitVolumeSnapshotOnHypervisorMsg; +import org.zstack.header.host.CommitVolumeSnapshotOnHypervisorReply; +import org.zstack.header.host.PullVolumeSnapshotOnHypervisorMsg; +import org.zstack.header.host.PullVolumeSnapshotOnHypervisorReply; import org.zstack.header.host.MigrateVmOnHypervisorMsg.StorageMigrationPolicy; import org.zstack.header.image.*; import org.zstack.header.message.APIMessage; @@ -104,7 +108,7 @@ import org.zstack.utils.ssh.SshShell; import org.zstack.utils.tester.ZTester; -import javax.persistence.TypedQuery; +import jakarta.persistence.TypedQuery; import java.io.IOException; import java.util.*; import java.util.concurrent.TimeUnit; 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..2e9eb8560a6 100644 --- a/plugin/kvm/src/main/java/org/zstack/kvm/KVMHostConnectionReestablishExtensionForL2Network.java +++ b/plugin/kvm/src/main/java/org/zstack/kvm/KVMHostConnectionReestablishExtensionForL2Network.java @@ -21,7 +21,7 @@ import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; -import javax.persistence.TypedQuery; +import jakarta.persistence.TypedQuery; import java.util.*; 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..cd3c39201f9 100755 --- a/plugin/kvm/src/main/java/org/zstack/kvm/KVMHostFactory.java +++ b/plugin/kvm/src/main/java/org/zstack/kvm/KVMHostFactory.java @@ -84,7 +84,7 @@ import org.zstack.utils.gson.JSONObjectUtil; import org.zstack.utils.logging.CLogger; -import javax.persistence.Tuple; +import jakarta.persistence.Tuple; import java.io.IOException; import java.net.InetSocketAddress; import java.net.SocketAddress; diff --git a/plugin/kvm/src/main/java/org/zstack/kvm/KVMHostVO.java b/plugin/kvm/src/main/java/org/zstack/kvm/KVMHostVO.java index 9d3b7166766..9a662aacff9 100755 --- a/plugin/kvm/src/main/java/org/zstack/kvm/KVMHostVO.java +++ b/plugin/kvm/src/main/java/org/zstack/kvm/KVMHostVO.java @@ -6,7 +6,7 @@ import org.zstack.header.host.HostVO; import org.zstack.header.vo.EO; -import javax.persistence.*; +import jakarta.persistence.*; @Entity @Table diff --git a/plugin/kvm/src/main/java/org/zstack/kvm/KVMHostVO_.java b/plugin/kvm/src/main/java/org/zstack/kvm/KVMHostVO_.java index 4101e992bb3..c03f7a23306 100755 --- a/plugin/kvm/src/main/java/org/zstack/kvm/KVMHostVO_.java +++ b/plugin/kvm/src/main/java/org/zstack/kvm/KVMHostVO_.java @@ -2,8 +2,8 @@ import org.zstack.header.host.HostVO_; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; /** */ diff --git a/plugin/kvm/src/main/java/org/zstack/kvm/KVMReconnectHostTask.java b/plugin/kvm/src/main/java/org/zstack/kvm/KVMReconnectHostTask.java index 9a66d7f0127..1f9b9dcb184 100755 --- a/plugin/kvm/src/main/java/org/zstack/kvm/KVMReconnectHostTask.java +++ b/plugin/kvm/src/main/java/org/zstack/kvm/KVMReconnectHostTask.java @@ -8,7 +8,7 @@ import org.zstack.header.host.HostErrors; import org.zstack.utils.network.NetworkUtils; -import javax.persistence.Tuple; +import jakarta.persistence.Tuple; import java.util.concurrent.TimeUnit; public class KVMReconnectHostTask extends HostReconnectTask { 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..47e78e47a65 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 @@ -13,7 +13,7 @@ import org.zstack.kvm.hypervisor.datatype.HypervisorVersionState; import org.zstack.utils.data.Pair; -import javax.persistence.Tuple; +import jakarta.persistence.Tuple; import java.util.*; 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..cac9e88ab7c 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 @@ -23,7 +23,7 @@ import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; -import javax.persistence.Tuple; +import jakarta.persistence.Tuple; import java.util.*; import java.util.function.Function; import java.util.stream.Collectors; diff --git a/plugin/kvm/src/main/java/org/zstack/kvm/hypervisor/datatype/HostOsCategoryVO.java b/plugin/kvm/src/main/java/org/zstack/kvm/hypervisor/datatype/HostOsCategoryVO.java index e971d96c037..3002ede4bae 100644 --- a/plugin/kvm/src/main/java/org/zstack/kvm/hypervisor/datatype/HostOsCategoryVO.java +++ b/plugin/kvm/src/main/java/org/zstack/kvm/hypervisor/datatype/HostOsCategoryVO.java @@ -4,7 +4,7 @@ import org.zstack.header.vo.Index; import org.zstack.header.vo.ToInventory; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; import java.util.List; diff --git a/plugin/kvm/src/main/java/org/zstack/kvm/hypervisor/datatype/HostOsCategoryVO_.java b/plugin/kvm/src/main/java/org/zstack/kvm/hypervisor/datatype/HostOsCategoryVO_.java index 4faedea8b93..f301210ca5f 100644 --- a/plugin/kvm/src/main/java/org/zstack/kvm/hypervisor/datatype/HostOsCategoryVO_.java +++ b/plugin/kvm/src/main/java/org/zstack/kvm/hypervisor/datatype/HostOsCategoryVO_.java @@ -1,7 +1,7 @@ package org.zstack.kvm.hypervisor.datatype; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; @StaticMetamodel(HostOsCategoryVO.class) diff --git a/plugin/kvm/src/main/java/org/zstack/kvm/hypervisor/datatype/KvmHostHypervisorMetadataVO.java b/plugin/kvm/src/main/java/org/zstack/kvm/hypervisor/datatype/KvmHostHypervisorMetadataVO.java index 87563f55ea8..1f8a546471b 100644 --- a/plugin/kvm/src/main/java/org/zstack/kvm/hypervisor/datatype/KvmHostHypervisorMetadataVO.java +++ b/plugin/kvm/src/main/java/org/zstack/kvm/hypervisor/datatype/KvmHostHypervisorMetadataVO.java @@ -3,7 +3,7 @@ import org.zstack.header.vo.Index; import org.zstack.header.vo.ToInventory; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; @Entity diff --git a/plugin/kvm/src/main/java/org/zstack/kvm/hypervisor/datatype/KvmHostHypervisorMetadataVO_.java b/plugin/kvm/src/main/java/org/zstack/kvm/hypervisor/datatype/KvmHostHypervisorMetadataVO_.java index c93baedf8ed..2324722d2ba 100644 --- a/plugin/kvm/src/main/java/org/zstack/kvm/hypervisor/datatype/KvmHostHypervisorMetadataVO_.java +++ b/plugin/kvm/src/main/java/org/zstack/kvm/hypervisor/datatype/KvmHostHypervisorMetadataVO_.java @@ -1,7 +1,7 @@ package org.zstack.kvm.hypervisor.datatype; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; /** 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..b0fc738f5c2 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 @@ -5,7 +5,7 @@ import org.zstack.header.vo.Index; import org.zstack.kvm.KVMConstant; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; @Entity 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 a4547d7be15..363f19d577c 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,7 +1,7 @@ package org.zstack.kvm.hypervisor.datatype; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; /** diff --git a/plugin/kvm/src/main/java/org/zstack/kvm/hypervisor/message/APIQueryHostOsCategoryMsg.java b/plugin/kvm/src/main/java/org/zstack/kvm/hypervisor/message/APIQueryHostOsCategoryMsg.java index faffc2ce0c2..c54399d7496 100644 --- a/plugin/kvm/src/main/java/org/zstack/kvm/hypervisor/message/APIQueryHostOsCategoryMsg.java +++ b/plugin/kvm/src/main/java/org/zstack/kvm/hypervisor/message/APIQueryHostOsCategoryMsg.java @@ -16,7 +16,7 @@ @RestRequest( path = "/hosts/os/category", responseClass = APIQueryHostOsCategoryReply.class, - method = HttpMethod.GET + method = "GET" ) @Action(category = HostConstant.ACTION_CATEGORY, names = {"read"}) public class APIQueryHostOsCategoryMsg extends APIQueryMessage { diff --git a/plugin/kvm/src/main/java/org/zstack/kvm/hypervisor/message/APIQueryKvmHypervisorInfoMsg.java b/plugin/kvm/src/main/java/org/zstack/kvm/hypervisor/message/APIQueryKvmHypervisorInfoMsg.java index 1e5b8b51eaf..9640099684f 100644 --- a/plugin/kvm/src/main/java/org/zstack/kvm/hypervisor/message/APIQueryKvmHypervisorInfoMsg.java +++ b/plugin/kvm/src/main/java/org/zstack/kvm/hypervisor/message/APIQueryKvmHypervisorInfoMsg.java @@ -19,7 +19,7 @@ @RestRequest( path = "/hosts/kvm/hypervisor/info", responseClass = APIQueryKvmHypervisorInfoReply.class, - method = HttpMethod.GET + method = "GET" ) @Action(category = HostConstant.ACTION_CATEGORY, names = {"read"}) public class APIQueryKvmHypervisorInfoMsg extends APIQueryMessage { 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..8a6dc77a330 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 @@ -9,7 +9,7 @@ @RestRequest( path = "/vm-instances/xml-hook-script", - method = HttpMethod.POST, + method = "POST", responseClass = APICreateVmUserDefinedXmlHookScriptEvent.class, parameterName = "params" ) diff --git a/plugin/kvm/src/main/java/org/zstack/kvm/xmlhook/APIExpungeVmUserDefinedXmlHookScriptMsg.java b/plugin/kvm/src/main/java/org/zstack/kvm/xmlhook/APIExpungeVmUserDefinedXmlHookScriptMsg.java index 228b314fa0a..b267a1981a1 100644 --- a/plugin/kvm/src/main/java/org/zstack/kvm/xmlhook/APIExpungeVmUserDefinedXmlHookScriptMsg.java +++ b/plugin/kvm/src/main/java/org/zstack/kvm/xmlhook/APIExpungeVmUserDefinedXmlHookScriptMsg.java @@ -7,7 +7,7 @@ @RestRequest( path = "/vm-instances/xml-hook-script/{uuid}", - method = HttpMethod.DELETE, + method = "DELETE", responseClass = APIExpungeVmUserDefinedXmlHookScriptEvent.class ) public class APIExpungeVmUserDefinedXmlHookScriptMsg extends APIMessage implements XmlHookMessage { diff --git a/plugin/kvm/src/main/java/org/zstack/kvm/xmlhook/APIQueryVmUserDefinedXmlHookScriptMsg.java b/plugin/kvm/src/main/java/org/zstack/kvm/xmlhook/APIQueryVmUserDefinedXmlHookScriptMsg.java index 676d9b98fae..c0c80b593ed 100644 --- a/plugin/kvm/src/main/java/org/zstack/kvm/xmlhook/APIQueryVmUserDefinedXmlHookScriptMsg.java +++ b/plugin/kvm/src/main/java/org/zstack/kvm/xmlhook/APIQueryVmUserDefinedXmlHookScriptMsg.java @@ -14,7 +14,7 @@ path = "/vm-instances/xml-hook-script", optionalPaths = {"/vm-instances/xml-hook-script/{uuid}"}, responseClass = APIQueryVmUserDefinedXmlHookScriptReply.class, - method = HttpMethod.GET + method = "GET" ) public class APIQueryVmUserDefinedXmlHookScriptMsg extends APIQueryMessage { public static List __example__() { diff --git a/plugin/kvm/src/main/java/org/zstack/kvm/xmlhook/APIUpdateVmUserDefinedXmlHookScriptMsg.java b/plugin/kvm/src/main/java/org/zstack/kvm/xmlhook/APIUpdateVmUserDefinedXmlHookScriptMsg.java index f8c59826f75..c8cdbfb48f0 100644 --- a/plugin/kvm/src/main/java/org/zstack/kvm/xmlhook/APIUpdateVmUserDefinedXmlHookScriptMsg.java +++ b/plugin/kvm/src/main/java/org/zstack/kvm/xmlhook/APIUpdateVmUserDefinedXmlHookScriptMsg.java @@ -12,7 +12,7 @@ @RestRequest( path = "/vm-instances/xml-hook-script", - method = HttpMethod.PUT, + method = "PUT", isAction = true, responseClass = APIUpdateVmUserDefinedXmlHookScriptEvent.class ) diff --git a/plugin/kvm/src/main/java/org/zstack/kvm/xmlhook/XmlHookVO.java b/plugin/kvm/src/main/java/org/zstack/kvm/xmlhook/XmlHookVO.java index 2db57fa5d08..6b1018c55c3 100644 --- a/plugin/kvm/src/main/java/org/zstack/kvm/xmlhook/XmlHookVO.java +++ b/plugin/kvm/src/main/java/org/zstack/kvm/xmlhook/XmlHookVO.java @@ -3,7 +3,7 @@ import org.zstack.header.vo.ResourceVO; import org.zstack.header.vo.ToInventory; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; @Entity diff --git a/plugin/kvm/src/main/java/org/zstack/kvm/xmlhook/XmlHookVO_.java b/plugin/kvm/src/main/java/org/zstack/kvm/xmlhook/XmlHookVO_.java index 7bef850b175..2e6c9ea0f43 100644 --- a/plugin/kvm/src/main/java/org/zstack/kvm/xmlhook/XmlHookVO_.java +++ b/plugin/kvm/src/main/java/org/zstack/kvm/xmlhook/XmlHookVO_.java @@ -2,8 +2,8 @@ import org.zstack.header.vo.ResourceVO_; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; @StaticMetamodel(XmlHookVO.class) 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..bb88e833e0c 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 @@ -4,7 +4,7 @@ import org.zstack.header.vo.*; import org.zstack.header.vo.ForeignKey; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; @Entity 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 9eb400f04ce..30479ba9bdd 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,7 @@ package org.zstack.kvm.xmlhook; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; @StaticMetamodel(XmlHookVmInstanceRefVO.class) diff --git a/plugin/ldap/pom.xml b/plugin/ldap/pom.xml index dd2b61b30f1..48f60875974 100755 --- a/plugin/ldap/pom.xml +++ b/plugin/ldap/pom.xml @@ -18,29 +18,55 @@ maven-compiler-plugin ${project.compiler.version} - groovy-eclipse-compiler ${project.java.version} ${project.java.version} lines,vars,source true - - - org.codehaus.groovy - groovy-eclipse-compiler - ${groovy.eclipse.compiler} - - - org.codehaus.groovy - groovy-eclipse-batch - ${groovy.eclipse.batch} - - - org.codehaus.mojo + org.codehaus.gmavenplus + gmavenplus-plugin + 3.0.2 + + + + ${project.basedir}/src/main/java + + **/*.groovy + + + + + + + groovy-stubs + generateStubsremoveStubs + + + groovy-compile + compile + + + + + org.apache.groovy + groovy + ${groovy.version} + + + + + dev.aspectj aspectj-maven-plugin ${aspectj.plugin.version} + + + org.aspectj + aspectjtools + ${aspectj.version} + + diff --git a/plugin/ldap/src/main/java/org/zstack/ldap/APIAddLdapServerMsg.java b/plugin/ldap/src/main/java/org/zstack/ldap/APIAddLdapServerMsg.java index 25dea6bd0fb..5f0cc389dac 100755 --- a/plugin/ldap/src/main/java/org/zstack/ldap/APIAddLdapServerMsg.java +++ b/plugin/ldap/src/main/java/org/zstack/ldap/APIAddLdapServerMsg.java @@ -11,7 +11,7 @@ @RestRequest( path = "/ldap/servers", - method = HttpMethod.POST, + method = "POST", responseClass = APIAddLdapServerEvent.class, parameterName = "params" ) diff --git a/plugin/ldap/src/main/java/org/zstack/ldap/APICleanInvalidLdapBindingMsg.java b/plugin/ldap/src/main/java/org/zstack/ldap/APICleanInvalidLdapBindingMsg.java index 3c8ed275142..34778e72c21 100755 --- a/plugin/ldap/src/main/java/org/zstack/ldap/APICleanInvalidLdapBindingMsg.java +++ b/plugin/ldap/src/main/java/org/zstack/ldap/APICleanInvalidLdapBindingMsg.java @@ -9,7 +9,7 @@ */ @RestRequest( path = "/ldap/bindings/actions", - method = HttpMethod.PUT, + method = "PUT", isAction = true, responseClass = APICleanInvalidLdapBindingEvent.class ) diff --git a/plugin/ldap/src/main/java/org/zstack/ldap/APICreateLdapBindingMsg.java b/plugin/ldap/src/main/java/org/zstack/ldap/APICreateLdapBindingMsg.java index 98f4a691f07..8d4633fdf71 100755 --- a/plugin/ldap/src/main/java/org/zstack/ldap/APICreateLdapBindingMsg.java +++ b/plugin/ldap/src/main/java/org/zstack/ldap/APICreateLdapBindingMsg.java @@ -8,7 +8,7 @@ @RestRequest( path = "/ldap/bindings", - method = HttpMethod.POST, + method = "POST", parameterName = "params", responseClass = APICreateLdapBindingEvent.class ) diff --git a/plugin/ldap/src/main/java/org/zstack/ldap/APIDeleteLdapBindingMsg.java b/plugin/ldap/src/main/java/org/zstack/ldap/APIDeleteLdapBindingMsg.java index 6001a89f40b..50f9f86f3e2 100755 --- a/plugin/ldap/src/main/java/org/zstack/ldap/APIDeleteLdapBindingMsg.java +++ b/plugin/ldap/src/main/java/org/zstack/ldap/APIDeleteLdapBindingMsg.java @@ -7,7 +7,7 @@ @RestRequest( path = "/ldap/bindings/{uuid}", - method = HttpMethod.DELETE, + method = "DELETE", responseClass = APIDeleteLdapBindingEvent.class ) public class APIDeleteLdapBindingMsg extends APIMessage { diff --git a/plugin/ldap/src/main/java/org/zstack/ldap/APIDeleteLdapServerMsg.java b/plugin/ldap/src/main/java/org/zstack/ldap/APIDeleteLdapServerMsg.java index fa0fa0ec1d1..ac0564ebb1a 100755 --- a/plugin/ldap/src/main/java/org/zstack/ldap/APIDeleteLdapServerMsg.java +++ b/plugin/ldap/src/main/java/org/zstack/ldap/APIDeleteLdapServerMsg.java @@ -8,7 +8,7 @@ @RestRequest( path = "/ldap/servers/{uuid}", - method = HttpMethod.DELETE, + method = "DELETE", responseClass = APIDeleteLdapServerEvent.class ) public class APIDeleteLdapServerMsg extends APIDeleteMessage { diff --git a/plugin/ldap/src/main/java/org/zstack/ldap/APIGetCandidateLdapEntryForBindingMsg.java b/plugin/ldap/src/main/java/org/zstack/ldap/APIGetCandidateLdapEntryForBindingMsg.java index 469935c83ee..e95ba11a54d 100644 --- a/plugin/ldap/src/main/java/org/zstack/ldap/APIGetCandidateLdapEntryForBindingMsg.java +++ b/plugin/ldap/src/main/java/org/zstack/ldap/APIGetCandidateLdapEntryForBindingMsg.java @@ -10,7 +10,7 @@ */ @RestRequest( path = "/ldap/entries/candidates", - method = HttpMethod.GET, + method = "GET", responseClass = APIGetLdapEntryReply.class ) public class APIGetCandidateLdapEntryForBindingMsg extends APISyncCallMessage { diff --git a/plugin/ldap/src/main/java/org/zstack/ldap/APIGetLdapEntryMsg.java b/plugin/ldap/src/main/java/org/zstack/ldap/APIGetLdapEntryMsg.java index 2d21c66bc1f..524e346bf3f 100644 --- a/plugin/ldap/src/main/java/org/zstack/ldap/APIGetLdapEntryMsg.java +++ b/plugin/ldap/src/main/java/org/zstack/ldap/APIGetLdapEntryMsg.java @@ -10,7 +10,7 @@ */ @RestRequest( path = "/ldap/entry", - method = HttpMethod.GET, + method = "GET", responseClass = APIGetLdapEntryReply.class ) public class APIGetLdapEntryMsg extends APISyncCallMessage { diff --git a/plugin/ldap/src/main/java/org/zstack/ldap/APILogInByLdapMsg.java b/plugin/ldap/src/main/java/org/zstack/ldap/APILogInByLdapMsg.java index cc88b1dbfdd..2d57afe435d 100755 --- a/plugin/ldap/src/main/java/org/zstack/ldap/APILogInByLdapMsg.java +++ b/plugin/ldap/src/main/java/org/zstack/ldap/APILogInByLdapMsg.java @@ -19,7 +19,7 @@ @SuppressCredentialCheck @RestRequest( path = "/ldap/login", - method = HttpMethod.PUT, + method = "PUT", isAction = true, responseClass = APILogInByLdapReply.class ) diff --git a/plugin/ldap/src/main/java/org/zstack/ldap/APIQueryLdapBindingMsg.java b/plugin/ldap/src/main/java/org/zstack/ldap/APIQueryLdapBindingMsg.java index cbaed78de01..67c53d83308 100755 --- a/plugin/ldap/src/main/java/org/zstack/ldap/APIQueryLdapBindingMsg.java +++ b/plugin/ldap/src/main/java/org/zstack/ldap/APIQueryLdapBindingMsg.java @@ -13,7 +13,7 @@ @RestRequest( path = "/ldap/bindings", optionalPaths = {"/ldap/bindings/{uuid}"}, - method = HttpMethod.GET, + method = "GET", responseClass = APIQueryLdapBindingReply.class ) public class APIQueryLdapBindingMsg extends APIQueryMessage { diff --git a/plugin/ldap/src/main/java/org/zstack/ldap/APIQueryLdapServerMsg.java b/plugin/ldap/src/main/java/org/zstack/ldap/APIQueryLdapServerMsg.java index f9dabd57c91..ad655a9134b 100755 --- a/plugin/ldap/src/main/java/org/zstack/ldap/APIQueryLdapServerMsg.java +++ b/plugin/ldap/src/main/java/org/zstack/ldap/APIQueryLdapServerMsg.java @@ -13,7 +13,7 @@ @RestRequest( path = "/ldap/servers", optionalPaths = {"/ldap/servers/{uuid}"}, - method = HttpMethod.GET, + method = "GET", responseClass = APIQueryLdapServerReply.class ) public class APIQueryLdapServerMsg extends APIQueryMessage { diff --git a/plugin/ldap/src/main/java/org/zstack/ldap/APIUpdateLdapServerMsg.java b/plugin/ldap/src/main/java/org/zstack/ldap/APIUpdateLdapServerMsg.java index ee077bad746..0961451ef0d 100755 --- a/plugin/ldap/src/main/java/org/zstack/ldap/APIUpdateLdapServerMsg.java +++ b/plugin/ldap/src/main/java/org/zstack/ldap/APIUpdateLdapServerMsg.java @@ -8,7 +8,7 @@ @RestRequest( path = "/ldap/servers/{ldapServerUuid}", - method = HttpMethod.PUT, + method = "PUT", responseClass = APIUpdateLdapServerEvent.class, isAction = true ) diff --git a/plugin/ldap/src/main/java/org/zstack/ldap/LdapAccountRefVO.java b/plugin/ldap/src/main/java/org/zstack/ldap/LdapAccountRefVO.java index c3cf0ab031a..4dd3cdaec8c 100755 --- a/plugin/ldap/src/main/java/org/zstack/ldap/LdapAccountRefVO.java +++ b/plugin/ldap/src/main/java/org/zstack/ldap/LdapAccountRefVO.java @@ -5,10 +5,10 @@ import org.zstack.header.vo.ForeignKey; import org.zstack.header.vo.Index; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.Id; -import javax.persistence.Table; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.Id; +import jakarta.persistence.Table; import java.sql.Timestamp; /** diff --git a/plugin/ldap/src/main/java/org/zstack/ldap/LdapAccountRefVO_.java b/plugin/ldap/src/main/java/org/zstack/ldap/LdapAccountRefVO_.java index 42db5bef560..482650a90fb 100755 --- a/plugin/ldap/src/main/java/org/zstack/ldap/LdapAccountRefVO_.java +++ b/plugin/ldap/src/main/java/org/zstack/ldap/LdapAccountRefVO_.java @@ -1,7 +1,7 @@ package org.zstack.ldap; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; /** 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..77954c02dfc 100755 --- a/plugin/ldap/src/main/java/org/zstack/ldap/LdapManagerImpl.java +++ b/plugin/ldap/src/main/java/org/zstack/ldap/LdapManagerImpl.java @@ -41,8 +41,8 @@ import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; -import javax.persistence.PersistenceException; -import javax.persistence.Query; +import jakarta.persistence.PersistenceException; +import jakarta.persistence.Query; import java.sql.Timestamp; import java.util.*; diff --git a/plugin/ldap/src/main/java/org/zstack/ldap/LdapServerVO.java b/plugin/ldap/src/main/java/org/zstack/ldap/LdapServerVO.java index fc4810cb047..c123819a7cb 100755 --- a/plugin/ldap/src/main/java/org/zstack/ldap/LdapServerVO.java +++ b/plugin/ldap/src/main/java/org/zstack/ldap/LdapServerVO.java @@ -4,7 +4,7 @@ import org.zstack.header.vo.Index; import org.zstack.header.vo.ResourceVO; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; /** diff --git a/plugin/ldap/src/main/java/org/zstack/ldap/LdapServerVO_.java b/plugin/ldap/src/main/java/org/zstack/ldap/LdapServerVO_.java index 6eaf3b8f86f..b15f6189349 100755 --- a/plugin/ldap/src/main/java/org/zstack/ldap/LdapServerVO_.java +++ b/plugin/ldap/src/main/java/org/zstack/ldap/LdapServerVO_.java @@ -2,8 +2,8 @@ import org.zstack.header.vo.ResourceVO_; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; /** diff --git a/plugin/loadBalancer/pom.xml b/plugin/loadBalancer/pom.xml index c16119dec18..dde49f7d3d1 100755 --- a/plugin/loadBalancer/pom.xml +++ b/plugin/loadBalancer/pom.xml @@ -41,29 +41,55 @@ maven-compiler-plugin ${project.compiler.version} - groovy-eclipse-compiler ${project.java.version} ${project.java.version} lines,vars,source true - - - org.codehaus.groovy - groovy-eclipse-compiler - ${groovy.eclipse.compiler} - - - org.codehaus.groovy - groovy-eclipse-batch - ${groovy.eclipse.batch} - - - org.codehaus.mojo + org.codehaus.gmavenplus + gmavenplus-plugin + 3.0.2 + + + + ${project.basedir}/src/main/java + + **/*.groovy + + + + + + + groovy-stubs + generateStubsremoveStubs + + + groovy-compile + compile + + + + + org.apache.groovy + groovy + ${groovy.version} + + + + + dev.aspectj aspectj-maven-plugin ${aspectj.plugin.version} + + + org.aspectj + aspectjtools + ${aspectj.version} + + diff --git a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIAddAccessControlListToLoadBalancerMsg.java b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIAddAccessControlListToLoadBalancerMsg.java index 176b30bc7bb..fdf2ae44579 100644 --- a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIAddAccessControlListToLoadBalancerMsg.java +++ b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIAddAccessControlListToLoadBalancerMsg.java @@ -20,7 +20,7 @@ @Action(category = LoadBalancerConstants.ACTION_CATEGORY) @RestRequest( path = "/load-balancers/listeners/{listenerUuid}/access-control-lists", - method = HttpMethod.POST, + method = "POST", parameterName = "params", responseClass = APIAddAccessControlListToLoadBalancerEvent.class ) diff --git a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIAddBackendServerToServerGroupMsg.java b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIAddBackendServerToServerGroupMsg.java index e3eb62dbdd2..2b1e40ff298 100644 --- a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIAddBackendServerToServerGroupMsg.java +++ b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIAddBackendServerToServerGroupMsg.java @@ -18,7 +18,7 @@ @Action(category = LoadBalancerConstants.ACTION_CATEGORY) @RestRequest( path = "/load-balancers/servergroups/{serverGroupUuid}/backendservers", - method = HttpMethod.POST, + method = "POST", parameterName = "params", responseClass = APIAddBackendServerToServerGroupEvent.class ) diff --git a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIAddCertificateToLoadBalancerListenerMsg.java b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIAddCertificateToLoadBalancerListenerMsg.java index 486077205a6..05856aba10d 100755 --- a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIAddCertificateToLoadBalancerListenerMsg.java +++ b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIAddCertificateToLoadBalancerListenerMsg.java @@ -15,7 +15,7 @@ @Action(category = LoadBalancerConstants.ACTION_CATEGORY) @RestRequest( path = "/load-balancers/listeners/{listenerUuid}/certificate", - method = HttpMethod.POST, + method = "POST", parameterName = "params", responseClass = APIAddCertificateToLoadBalancerListenerEvent.class ) diff --git a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIAddServerGroupToLoadBalancerListenerMsg.java b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIAddServerGroupToLoadBalancerListenerMsg.java index 7e6d7229fb1..a8febfe88e5 100644 --- a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIAddServerGroupToLoadBalancerListenerMsg.java +++ b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIAddServerGroupToLoadBalancerListenerMsg.java @@ -12,7 +12,7 @@ @Action(category = LoadBalancerConstants.ACTION_CATEGORY) @RestRequest( path = "/load-balancers/listeners/{listenerUuid}/servergroups", - method = HttpMethod.POST, + method = "POST", parameterName = "params", responseClass = APIAddServerGroupToLoadBalancerListenerEvent.class ) diff --git a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIAddVmNicToLoadBalancerMsg.java b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIAddVmNicToLoadBalancerMsg.java index b6cc9a0c6e1..ae6171e2b2f 100755 --- a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIAddVmNicToLoadBalancerMsg.java +++ b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIAddVmNicToLoadBalancerMsg.java @@ -13,7 +13,7 @@ import org.zstack.header.vm.VmNicVO; import org.zstack.header.vm.VmNicVO_; -import javax.persistence.Tuple; +import jakarta.persistence.Tuple; import java.util.Arrays; import java.util.List; @@ -23,7 +23,7 @@ @Action(category = LoadBalancerConstants.ACTION_CATEGORY) @RestRequest( path = "/load-balancers/listeners/{listenerUuid}/vm-instances/nics", - method = HttpMethod.POST, + method = "POST", parameterName = "params", responseClass = APIAddVmNicToLoadBalancerEvent.class ) diff --git a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIAttachVipToLoadBalancerMsg.java b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIAttachVipToLoadBalancerMsg.java index 11d839f2417..5ada3e5b7d2 100644 --- a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIAttachVipToLoadBalancerMsg.java +++ b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIAttachVipToLoadBalancerMsg.java @@ -10,7 +10,7 @@ @RestRequest( path = "/load-balancers/{loadBalancerUuid}/vip/{vipUuid}", - method = HttpMethod.POST, + method = "POST", parameterName = "params", responseClass = APIAttachVipToLoadBalancerEvent.class ) diff --git a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIChangeAccessControlListServerGroupMsg.java b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIChangeAccessControlListServerGroupMsg.java index ea31807a225..b13a127b776 100644 --- a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIChangeAccessControlListServerGroupMsg.java +++ b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIChangeAccessControlListServerGroupMsg.java @@ -16,7 +16,7 @@ @Action(category = LoadBalancerConstants.ACTION_CATEGORY) @RestRequest( path = "/load-balancers/listener/acl/{aclUuid}/servergroup/actions", - method = HttpMethod.PUT, + method = "PUT", responseClass = APIChangeAccessControlListServerGroupEvent.class, isAction = true ) diff --git a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIChangeLoadBalancerBackendServerMsg.java b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIChangeLoadBalancerBackendServerMsg.java index 8fa89316d92..1d3b0a48342 100644 --- a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIChangeLoadBalancerBackendServerMsg.java +++ b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIChangeLoadBalancerBackendServerMsg.java @@ -17,7 +17,7 @@ @Action(category = LoadBalancerConstants.ACTION_CATEGORY) @RestRequest( path = "/load-balancers/servergroups/{serverGroupUuid}/backendserver/actions", - method = HttpMethod.PUT, + method = "PUT", responseClass = APIChangeLoadBalancerBackendServerEvent.class, isAction = true ) diff --git a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIChangeLoadBalancerListenerMsg.java b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIChangeLoadBalancerListenerMsg.java index 8228f15ae1a..8a17a97a2ca 100644 --- a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIChangeLoadBalancerListenerMsg.java +++ b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIChangeLoadBalancerListenerMsg.java @@ -15,7 +15,7 @@ @Action(category = LoadBalancerConstants.ACTION_CATEGORY) @RestRequest( path = "/load-balancers/listeners/{uuid}/actions", - method = HttpMethod.PUT, + method = "PUT", responseClass = APIChangeLoadBalancerListenerEvent.class, isAction = true ) diff --git a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APICreateCertificateMsg.java b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APICreateCertificateMsg.java index be0f84da270..60f7c69f57b 100755 --- a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APICreateCertificateMsg.java +++ b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APICreateCertificateMsg.java @@ -17,7 +17,7 @@ @Action(category = LoadBalancerConstants.ACTION_CATEGORY) @RestRequest( path = "/certificates", - method = HttpMethod.POST, + method = "POST", responseClass = APICreateCertificateEvent.class, parameterName = "params" ) diff --git a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APICreateLoadBalancerListenerMsg.java b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APICreateLoadBalancerListenerMsg.java index 0b123054386..b3e7ffc0ec4 100755 --- a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APICreateLoadBalancerListenerMsg.java +++ b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APICreateLoadBalancerListenerMsg.java @@ -20,7 +20,7 @@ @Action(category = LoadBalancerConstants.ACTION_CATEGORY) @RestRequest( path = "/load-balancers/{loadBalancerUuid}/listeners", - method = HttpMethod.POST, + method = "POST", responseClass = APICreateLoadBalancerListenerEvent.class, parameterName = "params" ) diff --git a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APICreateLoadBalancerMsg.java b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APICreateLoadBalancerMsg.java index e8311340436..453fed5e913 100755 --- a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APICreateLoadBalancerMsg.java +++ b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APICreateLoadBalancerMsg.java @@ -25,7 +25,7 @@ @Action(category = LoadBalancerConstants.ACTION_CATEGORY) @RestRequest( path = "/load-balancers", - method = HttpMethod.POST, + method = "POST", responseClass = APICreateLoadBalancerEvent.class, parameterName = "params" ) diff --git a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APICreateLoadBalancerServerGroupMsg.java b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APICreateLoadBalancerServerGroupMsg.java index a1eb07d1f96..3cac0b663df 100644 --- a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APICreateLoadBalancerServerGroupMsg.java +++ b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APICreateLoadBalancerServerGroupMsg.java @@ -14,7 +14,7 @@ @Action(category = LoadBalancerConstants.ACTION_CATEGORY) @RestRequest( path = "/load-balancers/{loadBalancerUuid}/servergroups", - method = HttpMethod.POST, + method = "POST", responseClass = APICreateLoadBalancerServerGroupEvent.class, parameterName = "params" ) diff --git a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIDeleteCertificateMsg.java b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIDeleteCertificateMsg.java index 6ff034e043b..3ec5650f7a7 100755 --- a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIDeleteCertificateMsg.java +++ b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIDeleteCertificateMsg.java @@ -14,7 +14,7 @@ @Action(category = LoadBalancerConstants.ACTION_CATEGORY) @RestRequest( path = "/certificates/{uuid}", - method = HttpMethod.DELETE, + method = "DELETE", responseClass = APIDeleteCertificateEvent.class ) public class APIDeleteCertificateMsg extends APIDeleteMessage { diff --git a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIDeleteLoadBalancerListenerMsg.java b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIDeleteLoadBalancerListenerMsg.java index 999055a53e9..a27d14b8238 100755 --- a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIDeleteLoadBalancerListenerMsg.java +++ b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIDeleteLoadBalancerListenerMsg.java @@ -15,7 +15,7 @@ @Action(category = LoadBalancerConstants.ACTION_CATEGORY) @RestRequest( path = "/load-balancers/listeners/{uuid}", - method = HttpMethod.DELETE, + method = "DELETE", responseClass = APIDeleteLoadBalancerListenerEvent.class ) public class APIDeleteLoadBalancerListenerMsg extends APIMessage implements LoadBalancerMessage, APIAuditor { diff --git a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIDeleteLoadBalancerMsg.java b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIDeleteLoadBalancerMsg.java index f4e4bc17434..c3efe64fed9 100755 --- a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIDeleteLoadBalancerMsg.java +++ b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIDeleteLoadBalancerMsg.java @@ -14,7 +14,7 @@ @Action(category = LoadBalancerConstants.ACTION_CATEGORY) @RestRequest( path = "/load-balancers/{uuid}", - method = HttpMethod.DELETE, + method = "DELETE", responseClass = APIDeleteLoadBalancerEvent.class ) public class APIDeleteLoadBalancerMsg extends APIDeleteMessage implements LoadBalancerMessage { diff --git a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIDeleteLoadBalancerServerGroupMsg.java b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIDeleteLoadBalancerServerGroupMsg.java index b9965820b04..75fe6049db0 100644 --- a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIDeleteLoadBalancerServerGroupMsg.java +++ b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIDeleteLoadBalancerServerGroupMsg.java @@ -13,7 +13,7 @@ @Action(category = LoadBalancerConstants.ACTION_CATEGORY) @RestRequest( path = "/load-balancers/servergroups/{uuid}", - method = HttpMethod.DELETE, + method = "DELETE", responseClass = APIDeleteLoadBalancerServerGroupEvent.class ) public class APIDeleteLoadBalancerServerGroupMsg extends APIMessage implements LoadBalancerMessage, APIAuditor{ diff --git a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIGetCandidateL3NetworksForLoadBalancerMsg.java b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIGetCandidateL3NetworksForLoadBalancerMsg.java index 4ca6d66bbe5..928cad7fc29 100644 --- a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIGetCandidateL3NetworksForLoadBalancerMsg.java +++ b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIGetCandidateL3NetworksForLoadBalancerMsg.java @@ -14,7 +14,7 @@ @Action(category = LoadBalancerConstants.ACTION_CATEGORY, names = {"read"}) @RestRequest( path = "/load-balancers/listeners/{listenerUuid}/networks/candidates", - method = HttpMethod.GET, + method = "GET", responseClass = APIGetCandidateL3NetworksForLoadBalancerReply.class ) public class APIGetCandidateL3NetworksForLoadBalancerMsg extends APIGetMessage implements LoadBalancerMessage { diff --git a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIGetCandidateL3NetworksForServerGroupMsg.java b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIGetCandidateL3NetworksForServerGroupMsg.java index 2af3b46d2fd..8a8c9ddbb9a 100644 --- a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIGetCandidateL3NetworksForServerGroupMsg.java +++ b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIGetCandidateL3NetworksForServerGroupMsg.java @@ -13,7 +13,7 @@ @Action(category = LoadBalancerConstants.ACTION_CATEGORY, names = {"read"}) @RestRequest( path = "/load-balancers/servergroups/candidate-l3network", - method = HttpMethod.GET, + method = "GET", responseClass = APIGetCandidateL3NetworksForServerGroupReply.class ) public class APIGetCandidateL3NetworksForServerGroupMsg extends APIGetMessage implements LoadBalancerMessage { diff --git a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIGetCandidateVmNicsForLoadBalancerMsg.java b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIGetCandidateVmNicsForLoadBalancerMsg.java index c9729c8a062..9280f5ae26e 100755 --- a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIGetCandidateVmNicsForLoadBalancerMsg.java +++ b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIGetCandidateVmNicsForLoadBalancerMsg.java @@ -13,7 +13,7 @@ @Action(category = LoadBalancerConstants.ACTION_CATEGORY, names = {"read"}) @RestRequest( path = "/load-balancers/listeners/{listenerUuid}/vm-instances/candidate-nics", - method = HttpMethod.GET, + method = "GET", responseClass = APIGetCandidateVmNicsForLoadBalancerReply.class ) public class APIGetCandidateVmNicsForLoadBalancerMsg extends APISyncCallMessage implements LoadBalancerMessage { diff --git a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIGetCandidateVmNicsForLoadBalancerServerGroupMsg.java b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIGetCandidateVmNicsForLoadBalancerServerGroupMsg.java index 1f45c4d9feb..af930de33cc 100644 --- a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIGetCandidateVmNicsForLoadBalancerServerGroupMsg.java +++ b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIGetCandidateVmNicsForLoadBalancerServerGroupMsg.java @@ -13,7 +13,7 @@ @Action(category = LoadBalancerConstants.ACTION_CATEGORY, names = {"read"}) @RestRequest( path = "/load-balancers/servergroups/candidate-nics", - method = HttpMethod.GET, + method = "GET", responseClass = APIGetCandidateVmNicsForLoadBalancerServerGroupReply.class ) public class APIGetCandidateVmNicsForLoadBalancerServerGroupMsg extends APISyncCallMessage implements LoadBalancerMessage { diff --git a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIGetLoadBalancerListenerACLEntriesMsg.java b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIGetLoadBalancerListenerACLEntriesMsg.java index 18c635c62c7..6b0c05f4409 100644 --- a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIGetLoadBalancerListenerACLEntriesMsg.java +++ b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIGetLoadBalancerListenerACLEntriesMsg.java @@ -10,7 +10,7 @@ @RestRequest( path = "/load-balancers/listeners/access-control-lists/entries", - method = HttpMethod.GET, + method = "GET", responseClass = APIGetLoadBalancerListenerACLEntriesReply.class ) public class APIGetLoadBalancerListenerACLEntriesMsg extends APISyncCallMessage { diff --git a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIQueryCertificateMsg.java b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIQueryCertificateMsg.java index b73b576f460..d3a7ce6df3f 100755 --- a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIQueryCertificateMsg.java +++ b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIQueryCertificateMsg.java @@ -18,7 +18,7 @@ @RestRequest( path = "/certificates", optionalPaths = {"/certificates/{uuid}"}, - method = HttpMethod.GET, + method = "GET", responseClass = APIQueryCertificateReply.class ) public class APIQueryCertificateMsg extends APIQueryMessage { diff --git a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIQueryLoadBalancerListenerMsg.java b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIQueryLoadBalancerListenerMsg.java index 5df66d25284..3d4de5d58b0 100755 --- a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIQueryLoadBalancerListenerMsg.java +++ b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIQueryLoadBalancerListenerMsg.java @@ -18,7 +18,7 @@ @RestRequest( path = "/load-balancers/listeners", optionalPaths = { "/load-balancers/listeners/{uuid}"}, - method = HttpMethod.GET, + method = "GET", responseClass = APIQueryLoadBalancerListenerReply.class ) public class APIQueryLoadBalancerListenerMsg extends APIQueryMessage { diff --git a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIQueryLoadBalancerMsg.java b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIQueryLoadBalancerMsg.java index c40fe1faee9..9996142d83b 100755 --- a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIQueryLoadBalancerMsg.java +++ b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIQueryLoadBalancerMsg.java @@ -18,7 +18,7 @@ @RestRequest( path = "/load-balancers", optionalPaths = {"/load-balancers/{uuid}"}, - method = HttpMethod.GET, + method = "GET", responseClass = APIQueryLoadBalancerReply.class ) public class APIQueryLoadBalancerMsg extends APIQueryMessage { diff --git a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIQueryLoadBalancerServerGroupMsg.java b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIQueryLoadBalancerServerGroupMsg.java index 3898e619d6c..8999637efc7 100644 --- a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIQueryLoadBalancerServerGroupMsg.java +++ b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIQueryLoadBalancerServerGroupMsg.java @@ -14,7 +14,7 @@ @RestRequest( path = "/load-balancers/servergroups", optionalPaths = {"/load-balancers/servergroups/{uuid}"}, - method = HttpMethod.GET, + method = "GET", responseClass = APIQueryLoadBalancerServerGroupReply.class ) public class APIQueryLoadBalancerServerGroupMsg extends APIQueryMessage{ diff --git a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIRefreshLoadBalancerMsg.java b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIRefreshLoadBalancerMsg.java index 7c64e334535..ec903fb054e 100755 --- a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIRefreshLoadBalancerMsg.java +++ b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIRefreshLoadBalancerMsg.java @@ -13,7 +13,7 @@ @Action(category = LoadBalancerConstants.ACTION_CATEGORY) @RestRequest( path = "/load-balancers/{uuid}/actions", - method = HttpMethod.PUT, + method = "PUT", responseClass = APIRefreshLoadBalancerEvent.class, isAction = true ) diff --git a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIRemoveAccessControlListFromLoadBalancerMsg.java b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIRemoveAccessControlListFromLoadBalancerMsg.java index 083bce3577f..1f63fc7cedf 100644 --- a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIRemoveAccessControlListFromLoadBalancerMsg.java +++ b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIRemoveAccessControlListFromLoadBalancerMsg.java @@ -20,7 +20,7 @@ @Action(category = LoadBalancerConstants.ACTION_CATEGORY) @RestRequest( path = "/load-balancers/listeners/{listenerUuid}/access-control-lists", - method = HttpMethod.DELETE, + method = "DELETE", responseClass = APIRemoveAccessControlListFromLoadBalancerEvent.class ) public class APIRemoveAccessControlListFromLoadBalancerMsg extends APIMessage implements LoadBalancerMessage, APIAuditor { diff --git a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIRemoveBackendServerFromServerGroupMsg.java b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIRemoveBackendServerFromServerGroupMsg.java index 15a90c7e74b..9ce88a65d3a 100644 --- a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIRemoveBackendServerFromServerGroupMsg.java +++ b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIRemoveBackendServerFromServerGroupMsg.java @@ -16,7 +16,7 @@ @RestRequest( path = "/load-balancers/servergroups/{serverGroupUuid}/backendservers/actions", isAction = true, - method = HttpMethod.PUT, + method = "PUT", responseClass = APIRemoveBackendServerFromServerGroupEvent.class ) public class APIRemoveBackendServerFromServerGroupMsg extends APIMessage implements LoadBalancerMessage, APIAuditor { diff --git a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIRemoveCertificateFromLoadBalancerListenerMsg.java b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIRemoveCertificateFromLoadBalancerListenerMsg.java index 4920c3ee2e0..6ba2344634f 100755 --- a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIRemoveCertificateFromLoadBalancerListenerMsg.java +++ b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIRemoveCertificateFromLoadBalancerListenerMsg.java @@ -15,7 +15,7 @@ @Action(category = LoadBalancerConstants.ACTION_CATEGORY) @RestRequest( path = "/load-balancers/listeners/{listenerUuid}/certificate", - method = HttpMethod.DELETE, + method = "DELETE", responseClass = APIRemoveCertificateFromLoadBalancerListenerEvent.class ) public class APIRemoveCertificateFromLoadBalancerListenerMsg extends APIMessage implements LoadBalancerMessage, APIAuditor { diff --git a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIRemoveServerGroupFromLoadBalancerListenerMsg.java b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIRemoveServerGroupFromLoadBalancerListenerMsg.java index 49b7a15ab7b..cc03e437fe4 100644 --- a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIRemoveServerGroupFromLoadBalancerListenerMsg.java +++ b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIRemoveServerGroupFromLoadBalancerListenerMsg.java @@ -12,7 +12,7 @@ @Action(category = LoadBalancerConstants.ACTION_CATEGORY) @RestRequest( path = "/load-balancers/listeners/{listenerUuid}/servergroups", - method = HttpMethod.DELETE, + method = "DELETE", responseClass = APIRemoveServerGroupFromLoadBalancerListenerEvent.class ) public class APIRemoveServerGroupFromLoadBalancerListenerMsg extends APIMessage implements LoadBalancerMessage, APIAuditor { diff --git a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIRemoveVmNicFromLoadBalancerMsg.java b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIRemoveVmNicFromLoadBalancerMsg.java index 77aa17f2d59..a9ca6143190 100755 --- a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIRemoveVmNicFromLoadBalancerMsg.java +++ b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIRemoveVmNicFromLoadBalancerMsg.java @@ -22,7 +22,7 @@ @Action(category = LoadBalancerConstants.ACTION_CATEGORY) @RestRequest( path = "/load-balancers/listeners/{listenerUuid}/vm-instances/nics", - method = HttpMethod.DELETE, + method = "DELETE", responseClass = APIRemoveVmNicFromLoadBalancerEvent.class ) public class APIRemoveVmNicFromLoadBalancerMsg extends APIMessage implements LoadBalancerMessage, APIAuditor { diff --git a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIUpdateCertificateMsg.java b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIUpdateCertificateMsg.java index 163ff0b0905..e9c36b43287 100644 --- a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIUpdateCertificateMsg.java +++ b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIUpdateCertificateMsg.java @@ -14,7 +14,7 @@ @Action(category = LoadBalancerConstants.ACTION_CATEGORY) @RestRequest( path = "/certificates/{uuid}/actions", - method = HttpMethod.PUT, + method = "PUT", responseClass = APIUpdateCertificateEvent.class, isAction = true ) diff --git a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIUpdateLoadBalancerListenerMsg.java b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIUpdateLoadBalancerListenerMsg.java index 7189e72c3d4..d186157d394 100644 --- a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIUpdateLoadBalancerListenerMsg.java +++ b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIUpdateLoadBalancerListenerMsg.java @@ -14,7 +14,7 @@ @Action(category = LoadBalancerConstants.ACTION_CATEGORY) @RestRequest( path = "/load-balancers/listeners/{uuid}", - method = HttpMethod.PUT, + method = "PUT", responseClass = APIUpdateLoadBalancerListenerEvent.class, isAction = true ) diff --git a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIUpdateLoadBalancerMsg.java b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIUpdateLoadBalancerMsg.java index bf3f3e8aec7..63a82dad8be 100644 --- a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIUpdateLoadBalancerMsg.java +++ b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIUpdateLoadBalancerMsg.java @@ -14,7 +14,7 @@ @Action(category = LoadBalancerConstants.ACTION_CATEGORY) @RestRequest( path = "/load-balancers/{uuid}/actions", - method = HttpMethod.PUT, + method = "PUT", responseClass = APIUpdateLoadBalancerEvent.class, isAction = true //parameterName = "updateLoadBalancer" diff --git a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIUpdateLoadBalancerServerGroupMsg.java b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIUpdateLoadBalancerServerGroupMsg.java index 1ca783b7b42..ef1418cc54f 100644 --- a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIUpdateLoadBalancerServerGroupMsg.java +++ b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/APIUpdateLoadBalancerServerGroupMsg.java @@ -10,7 +10,7 @@ @Action(category = LoadBalancerConstants.ACTION_CATEGORY) @RestRequest( path = "/load-balancers/servergroups/{uuid}/actions", - method = HttpMethod.PUT, + method = "PUT", responseClass = APIUpdateLoadBalancerServerGroupEvent.class, isAction = true ) diff --git a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/CertificateVO.java b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/CertificateVO.java index f5ba18580ff..53f06c5991d 100755 --- a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/CertificateVO.java +++ b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/CertificateVO.java @@ -6,7 +6,7 @@ import org.zstack.header.vo.NoView; import org.zstack.header.vo.ResourceVO; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; import java.util.HashSet; import java.util.Set; diff --git a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/CertificateVO_.java b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/CertificateVO_.java index 0455c773ec4..0e8cef4918e 100755 --- a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/CertificateVO_.java +++ b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/CertificateVO_.java @@ -2,8 +2,8 @@ import org.zstack.header.vo.ResourceVO_; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; /** diff --git a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/LoadBalancerApiInterceptor.java b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/LoadBalancerApiInterceptor.java index 0d9946d5320..e41b429e2cc 100755 --- a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/LoadBalancerApiInterceptor.java +++ b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/LoadBalancerApiInterceptor.java @@ -48,7 +48,7 @@ import org.zstack.utils.network.IPv6NetworkUtils; import org.zstack.utils.network.NetworkUtils; -import javax.persistence.TypedQuery; +import jakarta.persistence.TypedQuery; import java.util.*; import java.util.stream.Collectors; 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..6b9a4fe6063 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 @@ -57,7 +57,7 @@ import org.zstack.utils.network.IPv6NetworkUtils; import org.zstack.utils.network.NetworkUtils; -import javax.persistence.TypedQuery; +import jakarta.persistence.TypedQuery; import java.util.*; import java.util.stream.Collectors; 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..98eedb359c0 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 @@ -31,7 +31,7 @@ import org.zstack.utils.function.Function; import org.zstack.utils.logging.CLogger; -import javax.persistence.TypedQuery; +import jakarta.persistence.TypedQuery; import java.util.*; import java.util.concurrent.Callable; import java.util.stream.Collectors; 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..d158af19730 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 @@ -37,8 +37,8 @@ import org.zstack.utils.function.Function; import org.zstack.utils.logging.CLogger; -import javax.persistence.Tuple; -import javax.persistence.TypedQuery; +import jakarta.persistence.Tuple; +import jakarta.persistence.TypedQuery; import java.util.*; import java.util.Map.Entry; import java.util.stream.Collectors; diff --git a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/LoadBalancerListenerACLRefVO.java b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/LoadBalancerListenerACLRefVO.java index 21bb65ab2a0..cc548d4b766 100644 --- a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/LoadBalancerListenerACLRefVO.java +++ b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/LoadBalancerListenerACLRefVO.java @@ -6,7 +6,7 @@ import org.zstack.header.vo.ToInventory; import org.zstack.header.acl.AccessControlListVO; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; /** diff --git a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/LoadBalancerListenerACLRefVO_.java b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/LoadBalancerListenerACLRefVO_.java index 5d4f9391cbe..db82de8dbcd 100644 --- a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/LoadBalancerListenerACLRefVO_.java +++ b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/LoadBalancerListenerACLRefVO_.java @@ -1,7 +1,7 @@ package org.zstack.network.service.lb; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; /** diff --git a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/LoadBalancerListenerCertificateRefVO.java b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/LoadBalancerListenerCertificateRefVO.java index d484fb0e8a3..6d4c230841a 100755 --- a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/LoadBalancerListenerCertificateRefVO.java +++ b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/LoadBalancerListenerCertificateRefVO.java @@ -4,7 +4,7 @@ import org.zstack.header.vo.ForeignKey; import org.zstack.header.vo.ForeignKey.ReferenceOption; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; /** diff --git a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/LoadBalancerListenerCertificateRefVO_.java b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/LoadBalancerListenerCertificateRefVO_.java index fd0daefbace..cff4754f30d 100755 --- a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/LoadBalancerListenerCertificateRefVO_.java +++ b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/LoadBalancerListenerCertificateRefVO_.java @@ -1,7 +1,7 @@ package org.zstack.network.service.lb; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; /** diff --git a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/LoadBalancerListenerServerGroupRefVO.java b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/LoadBalancerListenerServerGroupRefVO.java index 9e460aac229..681eb525eca 100644 --- a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/LoadBalancerListenerServerGroupRefVO.java +++ b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/LoadBalancerListenerServerGroupRefVO.java @@ -3,7 +3,7 @@ import org.zstack.header.vo.EntityGraph; import org.zstack.header.vo.ForeignKey; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; @Entity diff --git a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/LoadBalancerListenerServerGroupRefVO_.java b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/LoadBalancerListenerServerGroupRefVO_.java index 2611412cc03..917cfed879d 100644 --- a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/LoadBalancerListenerServerGroupRefVO_.java +++ b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/LoadBalancerListenerServerGroupRefVO_.java @@ -1,8 +1,8 @@ package org.zstack.network.service.lb; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; @StaticMetamodel(LoadBalancerListenerServerGroupRefVO.class) diff --git a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/LoadBalancerListenerVO.java b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/LoadBalancerListenerVO.java index eb153fd6577..12f219f3603 100755 --- a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/LoadBalancerListenerVO.java +++ b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/LoadBalancerListenerVO.java @@ -9,7 +9,7 @@ import org.zstack.header.vo.NoView; import org.zstack.header.vo.ResourceVO; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; import java.util.ArrayList; import java.util.HashSet; diff --git a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/LoadBalancerListenerVO_.java b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/LoadBalancerListenerVO_.java index 4051b03137b..c9347b4564b 100755 --- a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/LoadBalancerListenerVO_.java +++ b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/LoadBalancerListenerVO_.java @@ -2,8 +2,8 @@ import org.zstack.header.vo.ResourceVO_; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; /** diff --git a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/LoadBalancerListenerVmNicRefVO.java b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/LoadBalancerListenerVmNicRefVO.java index d5e5e350447..fe97dcf5860 100755 --- a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/LoadBalancerListenerVmNicRefVO.java +++ b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/LoadBalancerListenerVmNicRefVO.java @@ -5,7 +5,7 @@ import org.zstack.header.vo.ForeignKey; import org.zstack.header.vo.ForeignKey.ReferenceOption; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; /** diff --git a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/LoadBalancerListenerVmNicRefVO_.java b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/LoadBalancerListenerVmNicRefVO_.java index 6c89b1598a9..5bafeab592c 100755 --- a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/LoadBalancerListenerVmNicRefVO_.java +++ b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/LoadBalancerListenerVmNicRefVO_.java @@ -1,7 +1,7 @@ package org.zstack.network.service.lb; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; /** 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..87017394899 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 @@ -56,7 +56,7 @@ import org.zstack.utils.logging.CLogger; import org.zstack.utils.network.IPv6Constants; -import javax.persistence.Tuple; +import jakarta.persistence.Tuple; import java.util.*; import java.util.stream.Collectors; 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..944e9dc1dc1 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 @@ -10,7 +10,7 @@ import org.zstack.header.vm.VmNicVO_; import org.zstack.header.vo.NoView; -import javax.persistence.*; +import jakarta.persistence.*; import java.io.Serializable; import java.sql.Timestamp; import java.util.*; diff --git a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/LoadBalancerServerGroupServerIpVO.java b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/LoadBalancerServerGroupServerIpVO.java index 5f4c4a61210..722f8538569 100644 --- a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/LoadBalancerServerGroupServerIpVO.java +++ b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/LoadBalancerServerGroupServerIpVO.java @@ -4,7 +4,7 @@ import org.zstack.header.vo.EntityGraph; import org.zstack.header.vo.ForeignKey; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; @Entity diff --git a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/LoadBalancerServerGroupServerIpVO_.java b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/LoadBalancerServerGroupServerIpVO_.java index ad30cd554c4..03e7b114988 100644 --- a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/LoadBalancerServerGroupServerIpVO_.java +++ b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/LoadBalancerServerGroupServerIpVO_.java @@ -2,8 +2,8 @@ import org.zstack.header.vo.ResourceVO_; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; diff --git a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/LoadBalancerServerGroupVO.java b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/LoadBalancerServerGroupVO.java index 773b729b50b..0fa959196e5 100644 --- a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/LoadBalancerServerGroupVO.java +++ b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/LoadBalancerServerGroupVO.java @@ -10,7 +10,7 @@ import org.zstack.header.vo.NoView; import org.zstack.header.vo.ResourceVO; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; import java.util.ArrayList; diff --git a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/LoadBalancerServerGroupVO_.java b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/LoadBalancerServerGroupVO_.java index 84bfd5c852b..20bf477161a 100644 --- a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/LoadBalancerServerGroupVO_.java +++ b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/LoadBalancerServerGroupVO_.java @@ -3,8 +3,8 @@ import org.zstack.header.vo.ResourceVO_; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; @StaticMetamodel(LoadBalancerServerGroupVO.class) diff --git a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/LoadBalancerServerGroupVmNicRefVO.java b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/LoadBalancerServerGroupVmNicRefVO.java index b6a38607a14..15ce5fc7b6a 100644 --- a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/LoadBalancerServerGroupVmNicRefVO.java +++ b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/LoadBalancerServerGroupVmNicRefVO.java @@ -4,7 +4,7 @@ import org.zstack.header.vo.EntityGraph; import org.zstack.header.vo.ForeignKey; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; diff --git a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/LoadBalancerServerGroupVmNicRefVO_.java b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/LoadBalancerServerGroupVmNicRefVO_.java index 2b8d32637e8..62d92e0b7db 100644 --- a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/LoadBalancerServerGroupVmNicRefVO_.java +++ b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/LoadBalancerServerGroupVmNicRefVO_.java @@ -1,7 +1,7 @@ package org.zstack.network.service.lb; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; @StaticMetamodel(LoadBalancerServerGroupVmNicRefVO.class) diff --git a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/LoadBalancerVO.java b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/LoadBalancerVO.java index a1d97012179..38845357cc5 100755 --- a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/LoadBalancerVO.java +++ b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/LoadBalancerVO.java @@ -10,7 +10,7 @@ import org.zstack.header.vo.ResourceVO; import org.zstack.network.service.vip.VipVO; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; import java.util.ArrayList; import java.util.HashSet; diff --git a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/LoadBalancerVO_.java b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/LoadBalancerVO_.java index 0317775bc98..1dc7f97f684 100755 --- a/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/LoadBalancerVO_.java +++ b/plugin/loadBalancer/src/main/java/org/zstack/network/service/lb/LoadBalancerVO_.java @@ -2,8 +2,8 @@ import org.zstack.header.vo.ResourceVO_; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; /** diff --git a/plugin/localstorage/pom.xml b/plugin/localstorage/pom.xml index 24bb83bd960..4bcb99e0e27 100755 --- a/plugin/localstorage/pom.xml +++ b/plugin/localstorage/pom.xml @@ -35,29 +35,55 @@ maven-compiler-plugin ${project.compiler.version} - groovy-eclipse-compiler ${project.java.version} ${project.java.version} lines,vars,source true - - - org.codehaus.groovy - groovy-eclipse-compiler - ${groovy.eclipse.compiler} - - - org.codehaus.groovy - groovy-eclipse-batch - ${groovy.eclipse.batch} - - - org.codehaus.mojo + org.codehaus.gmavenplus + gmavenplus-plugin + 3.0.2 + + + + ${project.basedir}/src/main/java + + **/*.groovy + + + + + + + groovy-stubs + generateStubsremoveStubs + + + groovy-compile + compile + + + + + org.apache.groovy + groovy + ${groovy.version} + + + + + dev.aspectj aspectj-maven-plugin ${aspectj.plugin.version} + + + org.aspectj + aspectjtools + ${aspectj.version} + + diff --git a/plugin/localstorage/src/main/java/org/zstack/storage/primary/local/APIAddLocalPrimaryStorageMsg.java b/plugin/localstorage/src/main/java/org/zstack/storage/primary/local/APIAddLocalPrimaryStorageMsg.java index e5b9522fe3f..5d0eaa7406a 100755 --- a/plugin/localstorage/src/main/java/org/zstack/storage/primary/local/APIAddLocalPrimaryStorageMsg.java +++ b/plugin/localstorage/src/main/java/org/zstack/storage/primary/local/APIAddLocalPrimaryStorageMsg.java @@ -13,7 +13,7 @@ @TagResourceType(PrimaryStorageVO.class) @RestRequest( path = "/primary-storage/local-storage", - method = HttpMethod.POST, + method = "POST", responseClass = APIAddPrimaryStorageEvent.class, parameterName = "params" ) diff --git a/plugin/localstorage/src/main/java/org/zstack/storage/primary/local/APIGetLocalStorageHostDiskCapacityMsg.java b/plugin/localstorage/src/main/java/org/zstack/storage/primary/local/APIGetLocalStorageHostDiskCapacityMsg.java index 385a0e22647..92d03cbf381 100755 --- a/plugin/localstorage/src/main/java/org/zstack/storage/primary/local/APIGetLocalStorageHostDiskCapacityMsg.java +++ b/plugin/localstorage/src/main/java/org/zstack/storage/primary/local/APIGetLocalStorageHostDiskCapacityMsg.java @@ -13,7 +13,7 @@ */ @RestRequest( path = "/primary-storage/local-storage/{primaryStorageUuid}/capacities", - method = HttpMethod.GET, + method = "GET", responseClass = APIGetLocalStorageHostDiskCapacityReply.class ) public class APIGetLocalStorageHostDiskCapacityMsg extends APISyncCallMessage implements PrimaryStorageMessage { diff --git a/plugin/localstorage/src/main/java/org/zstack/storage/primary/local/APILocalStorageGetVolumeMigratableHostsMsg.java b/plugin/localstorage/src/main/java/org/zstack/storage/primary/local/APILocalStorageGetVolumeMigratableHostsMsg.java index 50184bb5d82..85c98a6f89f 100755 --- a/plugin/localstorage/src/main/java/org/zstack/storage/primary/local/APILocalStorageGetVolumeMigratableHostsMsg.java +++ b/plugin/localstorage/src/main/java/org/zstack/storage/primary/local/APILocalStorageGetVolumeMigratableHostsMsg.java @@ -16,7 +16,7 @@ @Action(category = VolumeConstant.ACTION_CATEGORY, names = {"read"}) @RestRequest( path = "/volumes/{volumeUuid}/migration-target-hosts", - method = HttpMethod.GET, + method = "GET", responseClass = APILocalStorageGetVolumeMigratableReply.class ) public class APILocalStorageGetVolumeMigratableHostsMsg extends APISyncCallMessage implements PrimaryStorageMessage { diff --git a/plugin/localstorage/src/main/java/org/zstack/storage/primary/local/APILocalStorageMigrateVolumeMsg.java b/plugin/localstorage/src/main/java/org/zstack/storage/primary/local/APILocalStorageMigrateVolumeMsg.java index 868d90fe237..3fa697ab2bc 100755 --- a/plugin/localstorage/src/main/java/org/zstack/storage/primary/local/APILocalStorageMigrateVolumeMsg.java +++ b/plugin/localstorage/src/main/java/org/zstack/storage/primary/local/APILocalStorageMigrateVolumeMsg.java @@ -23,7 +23,7 @@ @Action(category = VolumeConstant.ACTION_CATEGORY) @RestRequest( path = "/primary-storage/local-storage/volumes/{volumeUuid}/actions", - method = HttpMethod.PUT, + method = "PUT", responseClass = APILocalStorageMigrateVolumeEvent.class, isAction = true ) diff --git a/plugin/localstorage/src/main/java/org/zstack/storage/primary/local/APIQueryLocalStorageResourceRefMsg.java b/plugin/localstorage/src/main/java/org/zstack/storage/primary/local/APIQueryLocalStorageResourceRefMsg.java index bbe30a2d6c5..fa354065579 100755 --- a/plugin/localstorage/src/main/java/org/zstack/storage/primary/local/APIQueryLocalStorageResourceRefMsg.java +++ b/plugin/localstorage/src/main/java/org/zstack/storage/primary/local/APIQueryLocalStorageResourceRefMsg.java @@ -14,7 +14,7 @@ @AutoQuery(replyClass = APIQueryLocalStorageResourceRefReply.class, inventoryClass = LocalStorageResourceRefInventory.class) @RestRequest( path = "/primary-storage/local-storage/resource-refs", - method = HttpMethod.GET, + method = "GET", responseClass = APIQueryLocalStorageResourceRefReply.class ) public class APIQueryLocalStorageResourceRefMsg extends APIQueryMessage { 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..b6f399e746f 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 @@ -22,8 +22,8 @@ import org.zstack.header.vm.VmInstanceSpec; import org.zstack.header.volume.VolumeInventory; -import javax.persistence.Tuple; -import javax.persistence.TypedQuery; +import jakarta.persistence.Tuple; +import jakarta.persistence.TypedQuery; import java.util.List; import java.util.Map; diff --git a/plugin/localstorage/src/main/java/org/zstack/storage/primary/local/LocalStorageAllocatorFactory.java b/plugin/localstorage/src/main/java/org/zstack/storage/primary/local/LocalStorageAllocatorFactory.java index b72673df10a..2ce0badb1fc 100755 --- a/plugin/localstorage/src/main/java/org/zstack/storage/primary/local/LocalStorageAllocatorFactory.java +++ b/plugin/localstorage/src/main/java/org/zstack/storage/primary/local/LocalStorageAllocatorFactory.java @@ -36,7 +36,7 @@ import org.zstack.utils.function.Function; import org.zstack.utils.logging.CLogger; -import javax.persistence.TypedQuery; +import jakarta.persistence.TypedQuery; import java.net.URI; import java.net.URISyntaxException; import java.util.*; 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..a8ffdec53b8 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 @@ -25,7 +25,7 @@ import org.zstack.storage.primary.PrimaryStoragePhysicalCapacityManager; import org.zstack.utils.CollectionDSL; -import javax.persistence.Tuple; +import jakarta.persistence.Tuple; import java.util.ArrayList; import java.util.List; import java.util.Objects; 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..0c9cd1efc2d 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 @@ -56,9 +56,9 @@ import org.zstack.utils.gson.JSONObjectUtil; import org.zstack.utils.logging.CLogger; -import javax.persistence.LockModeType; -import javax.persistence.Tuple; -import javax.persistence.TypedQuery; +import jakarta.persistence.LockModeType; +import jakarta.persistence.Tuple; +import jakarta.persistence.TypedQuery; import java.util.*; import java.util.concurrent.Callable; import java.util.stream.Collectors; diff --git a/plugin/localstorage/src/main/java/org/zstack/storage/primary/local/LocalStorageCapacityRecalculator.java b/plugin/localstorage/src/main/java/org/zstack/storage/primary/local/LocalStorageCapacityRecalculator.java index ba3b80a2f42..63a58d2c8a6 100755 --- a/plugin/localstorage/src/main/java/org/zstack/storage/primary/local/LocalStorageCapacityRecalculator.java +++ b/plugin/localstorage/src/main/java/org/zstack/storage/primary/local/LocalStorageCapacityRecalculator.java @@ -14,9 +14,9 @@ import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; -import javax.persistence.LockModeType; -import javax.persistence.Tuple; -import javax.persistence.TypedQuery; +import jakarta.persistence.LockModeType; +import jakarta.persistence.Tuple; +import jakarta.persistence.TypedQuery; import java.util.HashMap; import java.util.List; import java.util.Map; 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..35881f3d35c 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 @@ -38,7 +38,7 @@ import org.zstack.utils.function.Function; import org.zstack.utils.logging.CLogger; -import javax.persistence.TypedQuery; +import jakarta.persistence.TypedQuery; import java.util.*; import static org.zstack.core.Platform.argerr; 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..8649030951e 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 @@ -57,8 +57,8 @@ import org.zstack.utils.function.Function; import org.zstack.utils.logging.CLogger; -import javax.persistence.Tuple; -import javax.persistence.TypedQuery; +import jakarta.persistence.Tuple; +import jakarta.persistence.TypedQuery; import java.util.*; import java.util.concurrent.Callable; import java.util.concurrent.TimeUnit; diff --git a/plugin/localstorage/src/main/java/org/zstack/storage/primary/local/LocalStorageHostHistoricalUsageVO.java b/plugin/localstorage/src/main/java/org/zstack/storage/primary/local/LocalStorageHostHistoricalUsageVO.java index 8bb429b4df4..08ee3f7e2bf 100644 --- a/plugin/localstorage/src/main/java/org/zstack/storage/primary/local/LocalStorageHostHistoricalUsageVO.java +++ b/plugin/localstorage/src/main/java/org/zstack/storage/primary/local/LocalStorageHostHistoricalUsageVO.java @@ -4,9 +4,9 @@ import org.zstack.header.tag.AutoDeleteTag; import org.zstack.header.vo.BaseResource; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.Table; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.Table; @Entity @Table diff --git a/plugin/localstorage/src/main/java/org/zstack/storage/primary/local/LocalStorageHostHistoricalUsageVO_.java b/plugin/localstorage/src/main/java/org/zstack/storage/primary/local/LocalStorageHostHistoricalUsageVO_.java index 98b62bc30c5..f71afcccb99 100644 --- a/plugin/localstorage/src/main/java/org/zstack/storage/primary/local/LocalStorageHostHistoricalUsageVO_.java +++ b/plugin/localstorage/src/main/java/org/zstack/storage/primary/local/LocalStorageHostHistoricalUsageVO_.java @@ -2,8 +2,8 @@ import org.zstack.header.storage.primary.PrimaryStorageHistoricalUsageBaseVO_; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; @StaticMetamodel(LocalStorageHostHistoricalUsageVO.class) public class LocalStorageHostHistoricalUsageVO_ extends PrimaryStorageHistoricalUsageBaseVO_ { diff --git a/plugin/localstorage/src/main/java/org/zstack/storage/primary/local/LocalStorageHostRefVO.java b/plugin/localstorage/src/main/java/org/zstack/storage/primary/local/LocalStorageHostRefVO.java index 7f6cab8800e..fcd3afea502 100755 --- a/plugin/localstorage/src/main/java/org/zstack/storage/primary/local/LocalStorageHostRefVO.java +++ b/plugin/localstorage/src/main/java/org/zstack/storage/primary/local/LocalStorageHostRefVO.java @@ -7,7 +7,7 @@ import org.zstack.header.vo.ForeignKey.ReferenceOption; import org.zstack.header.vo.Index; -import javax.persistence.*; +import jakarta.persistence.*; import java.io.Serializable; import java.sql.Timestamp; diff --git a/plugin/localstorage/src/main/java/org/zstack/storage/primary/local/LocalStorageHostRefVO_.java b/plugin/localstorage/src/main/java/org/zstack/storage/primary/local/LocalStorageHostRefVO_.java index 7ab47c4b8e3..f21525ac2f4 100755 --- a/plugin/localstorage/src/main/java/org/zstack/storage/primary/local/LocalStorageHostRefVO_.java +++ b/plugin/localstorage/src/main/java/org/zstack/storage/primary/local/LocalStorageHostRefVO_.java @@ -2,8 +2,8 @@ import org.zstack.header.storage.primary.StorageCapacityAO_; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; /** 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..df09f639916 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 @@ -33,7 +33,7 @@ import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; -import javax.persistence.TypedQuery; +import jakarta.persistence.TypedQuery; import java.util.ArrayList; import java.util.HashMap; import java.util.List; 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 3b78ffab51b..8f2be68e731 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 @@ -64,7 +64,7 @@ import org.zstack.utils.logging.CLogger; import org.zstack.utils.path.PathUtil; -import javax.persistence.Tuple; +import jakarta.persistence.Tuple; import java.io.File; import java.util.*; import java.util.stream.Collectors; 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..c4dc65b308d 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 @@ -30,7 +30,7 @@ import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; -import javax.persistence.TypedQuery; +import jakarta.persistence.TypedQuery; import java.util.Iterator; import java.util.List; import java.util.Map; 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..88fb83dce07 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 @@ -51,7 +51,7 @@ import org.zstack.utils.function.Function; import org.zstack.utils.logging.CLogger; -import javax.persistence.TypedQuery; +import jakarta.persistence.TypedQuery; import java.io.Serializable; import java.util.*; import java.util.concurrent.Callable; 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..8b6d03d5b41 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 @@ -20,7 +20,7 @@ import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; -import javax.persistence.TypedQuery; +import jakarta.persistence.TypedQuery; import java.util.*; import java.util.stream.Collectors; diff --git a/plugin/localstorage/src/main/java/org/zstack/storage/primary/local/LocalStorageResourceRefVO.java b/plugin/localstorage/src/main/java/org/zstack/storage/primary/local/LocalStorageResourceRefVO.java index 7058e7b8f9b..976b62c9c8e 100755 --- a/plugin/localstorage/src/main/java/org/zstack/storage/primary/local/LocalStorageResourceRefVO.java +++ b/plugin/localstorage/src/main/java/org/zstack/storage/primary/local/LocalStorageResourceRefVO.java @@ -9,7 +9,7 @@ import org.zstack.header.vo.SoftDeletionCascades; import org.zstack.header.volume.VolumeVO; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; /** diff --git a/plugin/localstorage/src/main/java/org/zstack/storage/primary/local/LocalStorageResourceRefVO_.java b/plugin/localstorage/src/main/java/org/zstack/storage/primary/local/LocalStorageResourceRefVO_.java index 3c367d3a5d4..ea0a8e34840 100755 --- a/plugin/localstorage/src/main/java/org/zstack/storage/primary/local/LocalStorageResourceRefVO_.java +++ b/plugin/localstorage/src/main/java/org/zstack/storage/primary/local/LocalStorageResourceRefVO_.java @@ -1,7 +1,7 @@ package org.zstack.storage.primary.local; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; /** 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..941abfcdf62 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 @@ -22,8 +22,8 @@ import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; -import javax.persistence.LockModeType; -import javax.persistence.TypedQuery; +import jakarta.persistence.LockModeType; +import jakarta.persistence.TypedQuery; import java.util.List; import static org.zstack.core.Platform.operr; diff --git a/plugin/loginPlugin/pom.xml b/plugin/loginPlugin/pom.xml index 7b58aa30f8a..1ae14423dec 100644 --- a/plugin/loginPlugin/pom.xml +++ b/plugin/loginPlugin/pom.xml @@ -38,29 +38,55 @@ maven-compiler-plugin ${project.compiler.version} - groovy-eclipse-compiler ${project.java.version} ${project.java.version} lines,vars,source true - - - org.codehaus.groovy - groovy-eclipse-compiler - ${groovy.eclipse.compiler} - - - org.codehaus.groovy - groovy-eclipse-batch - ${groovy.eclipse.batch} - - - org.codehaus.mojo + org.codehaus.gmavenplus + gmavenplus-plugin + 3.0.2 + + + + ${project.basedir}/src/main/java + + **/*.groovy + + + + + + + groovy-stubs + generateStubsremoveStubs + + + groovy-compile + compile + + + + + org.apache.groovy + groovy + ${groovy.version} + + + + + dev.aspectj aspectj-maven-plugin ${aspectj.plugin.version} + + + org.aspectj + aspectjtools + ${aspectj.version} + + diff --git a/plugin/mediator/pom.xml b/plugin/mediator/pom.xml index ea2e6d03ebf..2778899e268 100755 --- a/plugin/mediator/pom.xml +++ b/plugin/mediator/pom.xml @@ -46,29 +46,55 @@ maven-compiler-plugin ${project.compiler.version} - groovy-eclipse-compiler ${project.java.version} ${project.java.version} lines,vars,source true - - - org.codehaus.groovy - groovy-eclipse-compiler - ${groovy.eclipse.compiler} - - - org.codehaus.groovy - groovy-eclipse-batch - ${groovy.eclipse.batch} - - - org.codehaus.mojo + org.codehaus.gmavenplus + gmavenplus-plugin + 3.0.2 + + + + ${project.basedir}/src/main/java + + **/*.groovy + + + + + + + groovy-stubs + generateStubsremoveStubs + + + groovy-compile + compile + + + + + org.apache.groovy + groovy + ${groovy.version} + + + + + dev.aspectj aspectj-maven-plugin ${aspectj.plugin.version} + + + org.aspectj + aspectjtools + ${aspectj.version} + + 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..028089169b7 100755 --- a/plugin/mediator/src/main/java/org/zstack/mediator/ApiValidator.java +++ b/plugin/mediator/src/main/java/org/zstack/mediator/ApiValidator.java @@ -34,7 +34,7 @@ import org.zstack.utils.network.IPv6NetworkUtils; import org.zstack.utils.network.NetworkUtils; -import javax.persistence.TypedQuery; +import jakarta.persistence.TypedQuery; import java.util.ArrayList; import java.util.Iterator; import java.util.List; diff --git a/plugin/mediator/src/main/java/org/zstack/mediator/EipPortForwardingAttachableMarshaler.java b/plugin/mediator/src/main/java/org/zstack/mediator/EipPortForwardingAttachableMarshaler.java index d65a93bf1de..fcf0882f385 100755 --- a/plugin/mediator/src/main/java/org/zstack/mediator/EipPortForwardingAttachableMarshaler.java +++ b/plugin/mediator/src/main/java/org/zstack/mediator/EipPortForwardingAttachableMarshaler.java @@ -10,7 +10,7 @@ import org.zstack.network.service.eip.APIGetEipAttachableVmNicsReply; import org.zstack.network.service.portforwarding.APIGetPortForwardingAttachableVmNicsReply; -import javax.persistence.TypedQuery; +import jakarta.persistence.TypedQuery; import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; diff --git a/plugin/nfsPrimaryStorage/pom.xml b/plugin/nfsPrimaryStorage/pom.xml index 36bb5f3fcc5..bb5f17952f9 100755 --- a/plugin/nfsPrimaryStorage/pom.xml +++ b/plugin/nfsPrimaryStorage/pom.xml @@ -1,90 +1,116 @@ - - 4.0.0 - - plugin - org.zstack + + 4.0.0 + + plugin + org.zstack 5.5.0 - .. - - nfsPrimaryStorage - - - org.zstack - kvm - ${project.version} - - - org.zstack - sftpBackupStorage - ${project.version} - - - org.zstack - storage - ${project.version} - - - - - - - org.apache.maven.plugins - maven-compiler-plugin - ${project.compiler.version} - - groovy-eclipse-compiler - ${project.java.version} - ${project.java.version} - lines,vars,source - true - - - - org.codehaus.groovy - groovy-eclipse-compiler - ${groovy.eclipse.compiler} - - - org.codehaus.groovy - groovy-eclipse-batch - ${groovy.eclipse.batch} - - - - - org.codehaus.mojo - aspectj-maven-plugin - ${aspectj.plugin.version} - - - - compile - test-compile - - - - - ${project.java.version} - ${project.java.version} - ${project.java.version} - true - - - org.springframework - spring-aspects - - - org.zstack - core - - - org.zstack - header - - - - - - - + .. + + nfsPrimaryStorage + + + org.zstack + kvm + ${project.version} + + + org.zstack + sftpBackupStorage + ${project.version} + + + org.zstack + storage + ${project.version} + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + ${project.compiler.version} + + ${project.java.version} + ${project.java.version} + lines,vars,source + true + + + + org.codehaus.gmavenplus + gmavenplus-plugin + 3.0.2 + + + + ${project.basedir}/src/main/java + + **/*.groovy + + + + + + + groovy-stubs + generateStubsremoveStubs + + + groovy-compile + compile + + + + + org.apache.groovy + groovy + ${groovy.version} + + + + + dev.aspectj + aspectj-maven-plugin + ${aspectj.plugin.version} + + + org.aspectj + aspectjtools + ${aspectj.version} + + + + + + compile + test-compile + + + + + ${project.java.version} + ${project.java.version} + ${project.java.version} + true + + + org.springframework + spring-aspects + + + org.zstack + core + + + org.zstack + header + + + + + + + diff --git a/plugin/nfsPrimaryStorage/src/main/java/org/zstack/storage/primary/nfs/APIAddNfsPrimaryStorageMsg.java b/plugin/nfsPrimaryStorage/src/main/java/org/zstack/storage/primary/nfs/APIAddNfsPrimaryStorageMsg.java index 2352874c4ab..f9adec93197 100755 --- a/plugin/nfsPrimaryStorage/src/main/java/org/zstack/storage/primary/nfs/APIAddNfsPrimaryStorageMsg.java +++ b/plugin/nfsPrimaryStorage/src/main/java/org/zstack/storage/primary/nfs/APIAddNfsPrimaryStorageMsg.java @@ -55,7 +55,7 @@ @TagResourceType(PrimaryStorageVO.class) @RestRequest( path = "/primary-storage/nfs", - method = HttpMethod.POST, + method = "POST", responseClass = APIAddPrimaryStorageEvent.class, parameterName = "params" ) diff --git a/plugin/nfsPrimaryStorage/src/main/java/org/zstack/storage/primary/nfs/NfsApiParamChecker.java b/plugin/nfsPrimaryStorage/src/main/java/org/zstack/storage/primary/nfs/NfsApiParamChecker.java index 00f43fcf595..164cc4ef3fe 100755 --- a/plugin/nfsPrimaryStorage/src/main/java/org/zstack/storage/primary/nfs/NfsApiParamChecker.java +++ b/plugin/nfsPrimaryStorage/src/main/java/org/zstack/storage/primary/nfs/NfsApiParamChecker.java @@ -21,8 +21,8 @@ import org.zstack.utils.DebugUtils; import org.zstack.utils.network.NetworkUtils; -import javax.persistence.Tuple; -import javax.persistence.TypedQuery; +import jakarta.persistence.Tuple; +import jakarta.persistence.TypedQuery; import java.util.List; import java.util.stream.Collectors; 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..b12fdaaddf9 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 @@ -58,8 +58,8 @@ import org.zstack.utils.function.Function; import org.zstack.utils.logging.CLogger; -import javax.persistence.Tuple; -import javax.persistence.TypedQuery; +import jakarta.persistence.Tuple; +import jakarta.persistence.TypedQuery; import java.io.File; import java.util.*; import java.util.concurrent.TimeUnit; diff --git a/plugin/nfsPrimaryStorage/src/main/java/org/zstack/storage/primary/nfs/NfsPrimaryStorageApiInterceptor.java b/plugin/nfsPrimaryStorage/src/main/java/org/zstack/storage/primary/nfs/NfsPrimaryStorageApiInterceptor.java index d957d1c3b16..8977cc96e8c 100755 --- a/plugin/nfsPrimaryStorage/src/main/java/org/zstack/storage/primary/nfs/NfsPrimaryStorageApiInterceptor.java +++ b/plugin/nfsPrimaryStorage/src/main/java/org/zstack/storage/primary/nfs/NfsPrimaryStorageApiInterceptor.java @@ -14,7 +14,7 @@ import org.zstack.storage.primary.PrimaryStorageSystemTags; import org.zstack.utils.network.NetworkUtils; -import javax.persistence.Tuple; +import jakarta.persistence.Tuple; import java.util.List; import static org.zstack.core.Platform.argerr; 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..143d160a3bd 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 @@ -54,7 +54,7 @@ import org.zstack.utils.path.PathUtil; import static org.zstack.core.Platform.*; -import javax.persistence.TypedQuery; +import jakarta.persistence.TypedQuery; import java.util.*; import java.util.concurrent.Callable; 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..6fc5c1fb047 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 @@ -56,9 +56,9 @@ import org.zstack.utils.gson.JSONObjectUtil; import org.zstack.utils.logging.CLogger; -import javax.persistence.Query; -import javax.persistence.Tuple; -import javax.persistence.TypedQuery; +import jakarta.persistence.Query; +import jakarta.persistence.Tuple; +import jakarta.persistence.TypedQuery; import java.io.File; import java.util.*; import java.util.Map.Entry; diff --git a/plugin/pom.xml b/plugin/pom.xml index 22f39138fc7..ee01264774b 100755 --- a/plugin/pom.xml +++ b/plugin/pom.xml @@ -1,113 +1,120 @@ - - 4.0.0 - - zstack - org.zstack + + 4.0.0 + + zstack + org.zstack 5.5.0 - .. - - plugin - pom - - nfsPrimaryStorage - kvm - sftpBackupStorage - virtualRouterProvider - securityGroup - portForwarding - applianceVm - vip - eip - mediator - localstorage - ceph - loadBalancer - flatNetworkProvider - sharedMountPointPrimaryStorage - ldap - vxlan - acl - sdnController - sugonSdnController - directory - sshKeyPair - hostNetworkInterface - vhost - expon - externalStorage - zbs - cbd - xinfini - - - - org.zstack - header - ${project.version} - - - org.zstack - core - ${project.version} - - - org.zstack - utils - ${project.version} - - - org.zstack - search - ${project.version} - - - org.zstack - identity - ${project.version} - - - org.zstack - tag - ${project.version} - - - - - - - org.codehaus.mojo - aspectj-maven-plugin - ${aspectj.plugin.version} - - - - compile - test-compile - - - - - ${project.java.version} - ${project.java.version} - ${project.java.version} - true - - - org.springframework - spring-aspects - - - org.zstack - core - - - org.zstack - header - - - - - - - + .. + + plugin + pom + + nfsPrimaryStorage + kvm + sftpBackupStorage + virtualRouterProvider + securityGroup + portForwarding + applianceVm + vip + eip + mediator + localstorage + ceph + loadBalancer + flatNetworkProvider + sharedMountPointPrimaryStorage + ldap + vxlan + acl + sdnController + sugonSdnController + directory + sshKeyPair + hostNetworkInterface + vhost + expon + externalStorage + zbs + cbd + xinfini + + + + org.zstack + header + ${project.version} + + + org.zstack + core + ${project.version} + + + org.zstack + utils + ${project.version} + + + org.zstack + search + ${project.version} + + + org.zstack + identity + ${project.version} + + + org.zstack + tag + ${project.version} + + + + + + + dev.aspectj + aspectj-maven-plugin + ${aspectj.plugin.version} + + + org.aspectj + aspectjtools + ${aspectj.version} + + + + + + compile + test-compile + + + + + ${project.java.version} + ${project.java.version} + ${project.java.version} + true + + + org.springframework + spring-aspects + + + org.zstack + core + + + org.zstack + header + + + + + + + diff --git a/plugin/portForwarding/pom.xml b/plugin/portForwarding/pom.xml index 114f0dfd147..ce65f1f02b8 100755 --- a/plugin/portForwarding/pom.xml +++ b/plugin/portForwarding/pom.xml @@ -33,29 +33,55 @@ maven-compiler-plugin ${project.compiler.version} - groovy-eclipse-compiler ${project.java.version} ${project.java.version} lines,vars,source true - - - org.codehaus.groovy - groovy-eclipse-compiler - ${groovy.eclipse.compiler} - - - org.codehaus.groovy - groovy-eclipse-batch - ${groovy.eclipse.batch} - - - org.codehaus.mojo + org.codehaus.gmavenplus + gmavenplus-plugin + 3.0.2 + + + + ${project.basedir}/src/main/java + + **/*.groovy + + + + + + + groovy-stubs + generateStubsremoveStubs + + + groovy-compile + compile + + + + + org.apache.groovy + groovy + ${groovy.version} + + + + + dev.aspectj aspectj-maven-plugin ${aspectj.plugin.version} + + + org.aspectj + aspectjtools + ${aspectj.version} + + diff --git a/plugin/portForwarding/src/main/java/org/zstack/network/service/portforwarding/APIAttachPortForwardingRuleMsg.java b/plugin/portForwarding/src/main/java/org/zstack/network/service/portforwarding/APIAttachPortForwardingRuleMsg.java index 5091d4c6c61..aac4b00443b 100755 --- a/plugin/portForwarding/src/main/java/org/zstack/network/service/portforwarding/APIAttachPortForwardingRuleMsg.java +++ b/plugin/portForwarding/src/main/java/org/zstack/network/service/portforwarding/APIAttachPortForwardingRuleMsg.java @@ -11,7 +11,7 @@ import org.zstack.header.vm.VmNicVO; import org.zstack.header.vm.VmNicVO_; -import javax.persistence.Tuple; +import jakarta.persistence.Tuple; /** * @api @@ -54,7 +54,7 @@ @Action(category = PortForwardingConstant.ACTION_CATEGORY) @RestRequest( path = "/port-forwarding/{ruleUuid}/vm-instances/nics/{vmNicUuid}", - method = HttpMethod.POST, + method = "POST", parameterName = "params", responseClass = APIAttachPortForwardingRuleEvent.class ) diff --git a/plugin/portForwarding/src/main/java/org/zstack/network/service/portforwarding/APIChangePortForwardingRuleStateMsg.java b/plugin/portForwarding/src/main/java/org/zstack/network/service/portforwarding/APIChangePortForwardingRuleStateMsg.java index 0a50a40853f..b1d2da2eb42 100755 --- a/plugin/portForwarding/src/main/java/org/zstack/network/service/portforwarding/APIChangePortForwardingRuleStateMsg.java +++ b/plugin/portForwarding/src/main/java/org/zstack/network/service/portforwarding/APIChangePortForwardingRuleStateMsg.java @@ -12,7 +12,7 @@ @Action(category = PortForwardingConstant.ACTION_CATEGORY) @RestRequest( path = "/port-forwarding/{uuid}/actions", - method = HttpMethod.PUT, + method = "PUT", isAction = true, responseClass = APIChangePortForwardingRuleStateEvent.class ) diff --git a/plugin/portForwarding/src/main/java/org/zstack/network/service/portforwarding/APICreatePortForwardingRuleMsg.java b/plugin/portForwarding/src/main/java/org/zstack/network/service/portforwarding/APICreatePortForwardingRuleMsg.java index 12da8bec8dc..b7fb94ca07a 100755 --- a/plugin/portForwarding/src/main/java/org/zstack/network/service/portforwarding/APICreatePortForwardingRuleMsg.java +++ b/plugin/portForwarding/src/main/java/org/zstack/network/service/portforwarding/APICreatePortForwardingRuleMsg.java @@ -66,7 +66,7 @@ @Action(category = PortForwardingConstant.ACTION_CATEGORY) @RestRequest( path = "/port-forwarding", - method = HttpMethod.POST, + method = "POST", responseClass = APICreatePortForwardingRuleEvent.class, parameterName = "params" ) diff --git a/plugin/portForwarding/src/main/java/org/zstack/network/service/portforwarding/APIDeletePortForwardingRuleMsg.java b/plugin/portForwarding/src/main/java/org/zstack/network/service/portforwarding/APIDeletePortForwardingRuleMsg.java index 87074ae4089..883a241220d 100755 --- a/plugin/portForwarding/src/main/java/org/zstack/network/service/portforwarding/APIDeletePortForwardingRuleMsg.java +++ b/plugin/portForwarding/src/main/java/org/zstack/network/service/portforwarding/APIDeletePortForwardingRuleMsg.java @@ -51,7 +51,7 @@ @Action(category = PortForwardingConstant.ACTION_CATEGORY) @RestRequest( path = "/port-forwarding/{uuid}", - method = HttpMethod.DELETE, + method = "DELETE", responseClass = APIDeletePortForwardingRuleEvent.class ) public class APIDeletePortForwardingRuleMsg extends APIDeleteMessage { diff --git a/plugin/portForwarding/src/main/java/org/zstack/network/service/portforwarding/APIDetachPortForwardingRuleMsg.java b/plugin/portForwarding/src/main/java/org/zstack/network/service/portforwarding/APIDetachPortForwardingRuleMsg.java index ac71e97ca8b..5ed38bae3b9 100755 --- a/plugin/portForwarding/src/main/java/org/zstack/network/service/portforwarding/APIDetachPortForwardingRuleMsg.java +++ b/plugin/portForwarding/src/main/java/org/zstack/network/service/portforwarding/APIDetachPortForwardingRuleMsg.java @@ -12,7 +12,7 @@ import org.zstack.header.vm.VmInstanceVO; import org.zstack.header.vm.VmNicVO; -import javax.persistence.Tuple; +import jakarta.persistence.Tuple; /** * @api @@ -52,7 +52,7 @@ @Action(category = PortForwardingConstant.ACTION_CATEGORY) @RestRequest( path = "/port-forwarding/{uuid}/vm-instances/nics", - method = HttpMethod.DELETE, + method = "DELETE", responseClass = APIDetachPortForwardingRuleEvent.class ) public class APIDetachPortForwardingRuleMsg extends APIMessage implements APIAuditor { diff --git a/plugin/portForwarding/src/main/java/org/zstack/network/service/portforwarding/APIGetPortForwardingAttachableVmNicsMsg.java b/plugin/portForwarding/src/main/java/org/zstack/network/service/portforwarding/APIGetPortForwardingAttachableVmNicsMsg.java index 40c558e5299..c1d0475039d 100755 --- a/plugin/portForwarding/src/main/java/org/zstack/network/service/portforwarding/APIGetPortForwardingAttachableVmNicsMsg.java +++ b/plugin/portForwarding/src/main/java/org/zstack/network/service/portforwarding/APIGetPortForwardingAttachableVmNicsMsg.java @@ -11,7 +11,7 @@ @Action(category = PortForwardingConstant.ACTION_CATEGORY) @RestRequest( path = "/port-forwarding/{ruleUuid}/vm-instances/candidate-nics", - method = HttpMethod.GET, + method = "GET", responseClass = APIGetPortForwardingAttachableVmNicsReply.class ) public class APIGetPortForwardingAttachableVmNicsMsg extends APISyncCallMessage { diff --git a/plugin/portForwarding/src/main/java/org/zstack/network/service/portforwarding/APIQueryPortForwardingRuleMsg.java b/plugin/portForwarding/src/main/java/org/zstack/network/service/portforwarding/APIQueryPortForwardingRuleMsg.java index b263619cca7..b451c68da11 100755 --- a/plugin/portForwarding/src/main/java/org/zstack/network/service/portforwarding/APIQueryPortForwardingRuleMsg.java +++ b/plugin/portForwarding/src/main/java/org/zstack/network/service/portforwarding/APIQueryPortForwardingRuleMsg.java @@ -14,7 +14,7 @@ @Action(category = PortForwardingConstant.ACTION_CATEGORY, names = {"read"}) @RestRequest( path = "/port-forwarding", - method = HttpMethod.GET, + method = "GET", optionalPaths = {"/port-forwarding/{uuid}"}, responseClass = APIQueryPortForwardingRuleReply.class ) diff --git a/plugin/portForwarding/src/main/java/org/zstack/network/service/portforwarding/APIUpdatePortForwardingRuleMsg.java b/plugin/portForwarding/src/main/java/org/zstack/network/service/portforwarding/APIUpdatePortForwardingRuleMsg.java index 3d9f2dda290..4fd2576ad92 100755 --- a/plugin/portForwarding/src/main/java/org/zstack/network/service/portforwarding/APIUpdatePortForwardingRuleMsg.java +++ b/plugin/portForwarding/src/main/java/org/zstack/network/service/portforwarding/APIUpdatePortForwardingRuleMsg.java @@ -13,7 +13,7 @@ @Action(category = PortForwardingConstant.ACTION_CATEGORY) @RestRequest( path = "/port-forwarding/{uuid}/actions", - method = HttpMethod.PUT, + method = "PUT", responseClass = APIUpdatePortForwardingRuleEvent.class, isAction = true ) 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..f70b861aac7 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 @@ -24,8 +24,8 @@ import org.zstack.utils.network.IPv6Constants; import org.zstack.utils.network.NetworkUtils; -import javax.persistence.Tuple; -import javax.persistence.TypedQuery; +import jakarta.persistence.Tuple; +import jakarta.persistence.TypedQuery; import java.util.ArrayList; import java.util.List; import java.util.concurrent.Callable; 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..ce58c102d8b 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 @@ -48,8 +48,8 @@ import org.zstack.utils.network.IPv6Constants; import org.zstack.utils.network.IPv6NetworkUtils; -import javax.persistence.Tuple; -import javax.persistence.TypedQuery; +import jakarta.persistence.Tuple; +import jakarta.persistence.TypedQuery; import java.util.*; import java.util.stream.Collectors; diff --git a/plugin/portForwarding/src/main/java/org/zstack/network/service/portforwarding/PortForwardingRuleVO.java b/plugin/portForwarding/src/main/java/org/zstack/network/service/portforwarding/PortForwardingRuleVO.java index 8c6be5d4679..824ef16d770 100755 --- a/plugin/portForwarding/src/main/java/org/zstack/network/service/portforwarding/PortForwardingRuleVO.java +++ b/plugin/portForwarding/src/main/java/org/zstack/network/service/portforwarding/PortForwardingRuleVO.java @@ -10,7 +10,7 @@ import org.zstack.header.vo.ResourceVO; import org.zstack.network.service.vip.VipVO; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; @Entity diff --git a/plugin/portForwarding/src/main/java/org/zstack/network/service/portforwarding/PortForwardingRuleVO_.java b/plugin/portForwarding/src/main/java/org/zstack/network/service/portforwarding/PortForwardingRuleVO_.java index 2e26f5c3ea1..9177f7d56de 100755 --- a/plugin/portForwarding/src/main/java/org/zstack/network/service/portforwarding/PortForwardingRuleVO_.java +++ b/plugin/portForwarding/src/main/java/org/zstack/network/service/portforwarding/PortForwardingRuleVO_.java @@ -2,8 +2,8 @@ import org.zstack.header.vo.ResourceVO_; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; @StaticMetamodel(PortForwardingRuleVO.class) diff --git a/plugin/sdnController/pom.xml b/plugin/sdnController/pom.xml index 68773594b02..77742c130f4 100644 --- a/plugin/sdnController/pom.xml +++ b/plugin/sdnController/pom.xml @@ -56,29 +56,55 @@ maven-compiler-plugin ${project.compiler.version} - groovy-eclipse-compiler ${project.java.version} ${project.java.version} lines,vars,source true - - - org.codehaus.groovy - groovy-eclipse-compiler - ${groovy.eclipse.compiler} - - - org.codehaus.groovy - groovy-eclipse-batch - ${groovy.eclipse.batch} - - - org.codehaus.mojo + org.codehaus.gmavenplus + gmavenplus-plugin + 3.0.2 + + + + ${project.basedir}/src/main/java + + **/*.groovy + + + + + + + groovy-stubs + generateStubsremoveStubs + + + groovy-compile + compile + + + + + org.apache.groovy + groovy + ${groovy.version} + + + + + dev.aspectj aspectj-maven-plugin ${aspectj.plugin.version} + + + org.aspectj + aspectjtools + ${aspectj.version} + + 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..2e08c7db3fe 100644 --- a/plugin/sdnController/src/main/java/org/zstack/sdnController/SdnControllerBase.java +++ b/plugin/sdnController/src/main/java/org/zstack/sdnController/SdnControllerBase.java @@ -43,7 +43,7 @@ import org.zstack.utils.gson.JSONObjectUtil; import org.zstack.utils.logging.CLogger; -import javax.persistence.Tuple; +import jakarta.persistence.Tuple; import java.lang.reflect.Type; import java.util.*; import java.util.stream.Collectors; diff --git a/plugin/sdnController/src/main/java/org/zstack/sdnController/SdnControllerL2.java b/plugin/sdnController/src/main/java/org/zstack/sdnController/SdnControllerL2.java index 502efb5f21f..c3325c87614 100644 --- a/plugin/sdnController/src/main/java/org/zstack/sdnController/SdnControllerL2.java +++ b/plugin/sdnController/src/main/java/org/zstack/sdnController/SdnControllerL2.java @@ -13,7 +13,7 @@ import org.zstack.sdnController.header.SdnVlanRange; import org.zstack.sdnController.header.SdnVniRange; -import javax.persistence.Tuple; +import jakarta.persistence.Tuple; import java.util.ArrayList; import java.util.List; diff --git a/plugin/sdnController/src/main/java/org/zstack/sdnController/hardwareVxlan/KVMConnectExtensionForHardwareVxlanNetwork.java b/plugin/sdnController/src/main/java/org/zstack/sdnController/hardwareVxlan/KVMConnectExtensionForHardwareVxlanNetwork.java index 2c90803b403..edfc6db1b0b 100644 --- a/plugin/sdnController/src/main/java/org/zstack/sdnController/hardwareVxlan/KVMConnectExtensionForHardwareVxlanNetwork.java +++ b/plugin/sdnController/src/main/java/org/zstack/sdnController/hardwareVxlan/KVMConnectExtensionForHardwareVxlanNetwork.java @@ -22,7 +22,7 @@ import org.zstack.network.l2.vxlan.vxlanNetwork.VxlanNetworkVO; import org.zstack.header.network.sdncontroller.SdnControllerConstant; -import javax.persistence.TypedQuery; +import jakarta.persistence.TypedQuery; import java.util.ArrayList; import java.util.Iterator; import java.util.List; 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..567623961b7 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 @@ -14,7 +14,7 @@ @Action(category = SdnControllerConstant.ACTION_CATEGORY) @RestRequest( path = "/sdn-controllers", - method = HttpMethod.POST, + method = "POST", responseClass = APIAddSdnControllerEvent.class, parameterName = "params" ) diff --git a/plugin/sdnController/src/main/java/org/zstack/sdnController/header/APIChangeSdnControllerMsg.java b/plugin/sdnController/src/main/java/org/zstack/sdnController/header/APIChangeSdnControllerMsg.java index cd57adda7d9..d22bf993b22 100644 --- a/plugin/sdnController/src/main/java/org/zstack/sdnController/header/APIChangeSdnControllerMsg.java +++ b/plugin/sdnController/src/main/java/org/zstack/sdnController/header/APIChangeSdnControllerMsg.java @@ -20,7 +20,7 @@ @Action(category = SdnControllerConstant.ACTION_CATEGORY) @RestRequest( path = "/sdn-controllers/{uuid}/actions", - method = HttpMethod.PUT, + method = "PUT", responseClass = APIChangeSdnControllerEvent.class, isAction = true ) diff --git a/plugin/sdnController/src/main/java/org/zstack/sdnController/header/APICreateL2HardwareVxlanNetworkMsg.java b/plugin/sdnController/src/main/java/org/zstack/sdnController/header/APICreateL2HardwareVxlanNetworkMsg.java index 55f71c8f8e5..b260f6b6e77 100644 --- a/plugin/sdnController/src/main/java/org/zstack/sdnController/header/APICreateL2HardwareVxlanNetworkMsg.java +++ b/plugin/sdnController/src/main/java/org/zstack/sdnController/header/APICreateL2HardwareVxlanNetworkMsg.java @@ -21,7 +21,7 @@ }) @RestRequest( path = "/l2-networks/hardware-vxlan", - method = HttpMethod.POST, + method = "POST", responseClass = APICreateL2HardwareVxlanNetworkEvent.class, parameterName = "params" ) diff --git a/plugin/sdnController/src/main/java/org/zstack/sdnController/header/APICreateL2HardwareVxlanNetworkPoolMsg.java b/plugin/sdnController/src/main/java/org/zstack/sdnController/header/APICreateL2HardwareVxlanNetworkPoolMsg.java index 17a9a7b3ea9..0c89bad3de1 100644 --- a/plugin/sdnController/src/main/java/org/zstack/sdnController/header/APICreateL2HardwareVxlanNetworkPoolMsg.java +++ b/plugin/sdnController/src/main/java/org/zstack/sdnController/header/APICreateL2HardwareVxlanNetworkPoolMsg.java @@ -9,7 +9,7 @@ @RestRequest( path = "/l2-networks/hardware-vxlan-pool", - method = HttpMethod.POST, + method = "POST", responseClass = APICreateL2HardwareVxlanNetworkPoolEvent.class, parameterName = "params" ) diff --git a/plugin/sdnController/src/main/java/org/zstack/sdnController/header/APIPullSdnControllerTenantMsg.java b/plugin/sdnController/src/main/java/org/zstack/sdnController/header/APIPullSdnControllerTenantMsg.java index c2dbc23c40c..f9f7902f2da 100644 --- a/plugin/sdnController/src/main/java/org/zstack/sdnController/header/APIPullSdnControllerTenantMsg.java +++ b/plugin/sdnController/src/main/java/org/zstack/sdnController/header/APIPullSdnControllerTenantMsg.java @@ -15,7 +15,7 @@ @RestRequest( path = "/sdn-controllers/{uuid}/tenant/actions", - method = HttpMethod.PUT, + method = "PUT", responseClass = APIPullSdnControllerTenantEvent.class, isAction = true ) diff --git a/plugin/sdnController/src/main/java/org/zstack/sdnController/header/APIQuerySdnControllerMsg.java b/plugin/sdnController/src/main/java/org/zstack/sdnController/header/APIQuerySdnControllerMsg.java index bd092b0194b..399c733558a 100644 --- a/plugin/sdnController/src/main/java/org/zstack/sdnController/header/APIQuerySdnControllerMsg.java +++ b/plugin/sdnController/src/main/java/org/zstack/sdnController/header/APIQuerySdnControllerMsg.java @@ -23,7 +23,7 @@ @RestRequest( path = "/sdn-controllers", optionalPaths = {"/sdn-controllers/{uuid}"}, - method = HttpMethod.GET, + method = "GET", responseClass = APIQuerySdnControllerReply.class ) public class APIQuerySdnControllerMsg extends APIQueryMessage { diff --git a/plugin/sdnController/src/main/java/org/zstack/sdnController/header/APIReconnectSdnControllerMsg.java b/plugin/sdnController/src/main/java/org/zstack/sdnController/header/APIReconnectSdnControllerMsg.java index 0ecdf5c9615..b8fe592f230 100644 --- a/plugin/sdnController/src/main/java/org/zstack/sdnController/header/APIReconnectSdnControllerMsg.java +++ b/plugin/sdnController/src/main/java/org/zstack/sdnController/header/APIReconnectSdnControllerMsg.java @@ -14,7 +14,7 @@ */ @RestRequest( path = "/sdn-controllers/{sdnControllerUuid}/actions", - method = HttpMethod.PUT, + method = "PUT", responseClass = APIReconnectSdnControllerEvent.class, isAction = true ) diff --git a/plugin/sdnController/src/main/java/org/zstack/sdnController/header/APIRemoveSdnControllerMsg.java b/plugin/sdnController/src/main/java/org/zstack/sdnController/header/APIRemoveSdnControllerMsg.java index 78c805b44d0..39f308c7ae4 100644 --- a/plugin/sdnController/src/main/java/org/zstack/sdnController/header/APIRemoveSdnControllerMsg.java +++ b/plugin/sdnController/src/main/java/org/zstack/sdnController/header/APIRemoveSdnControllerMsg.java @@ -12,7 +12,7 @@ @Action(category = SdnControllerConstant.ACTION_CATEGORY) @RestRequest( path = "/sdn-controllers/{uuid}", - method = HttpMethod.DELETE, + method = "DELETE", responseClass = APIRemoveSdnControllerEvent.class ) public class APIRemoveSdnControllerMsg extends APIDeleteMessage implements SdnControllerMessage { diff --git a/plugin/sdnController/src/main/java/org/zstack/sdnController/header/APISdnControllerAddHostMsg.java b/plugin/sdnController/src/main/java/org/zstack/sdnController/header/APISdnControllerAddHostMsg.java index a4d8b601cdd..15efd959427 100644 --- a/plugin/sdnController/src/main/java/org/zstack/sdnController/header/APISdnControllerAddHostMsg.java +++ b/plugin/sdnController/src/main/java/org/zstack/sdnController/header/APISdnControllerAddHostMsg.java @@ -16,7 +16,7 @@ @Action(category = SdnControllerConstant.ACTION_CATEGORY) @RestRequest( path = "/sdn-controllers/{sdnControllerUuid}/hosts/{hostUuid}", - method = HttpMethod.POST, + method = "POST", responseClass = APISdnControllerAddHostEvent.class, parameterName = "null" ) diff --git a/plugin/sdnController/src/main/java/org/zstack/sdnController/header/APISdnControllerChangeHostMsg.java b/plugin/sdnController/src/main/java/org/zstack/sdnController/header/APISdnControllerChangeHostMsg.java index 2dd5780b76c..a2ebc624f16 100644 --- a/plugin/sdnController/src/main/java/org/zstack/sdnController/header/APISdnControllerChangeHostMsg.java +++ b/plugin/sdnController/src/main/java/org/zstack/sdnController/header/APISdnControllerChangeHostMsg.java @@ -16,7 +16,7 @@ @Action(category = SdnControllerConstant.ACTION_CATEGORY) @RestRequest( path = "/sdn-controllers/{sdnControllerUuid}/hosts/{hostUuid}/actions", - method = HttpMethod.PUT, + method = "PUT", responseClass = APISdnControllerChangeHostEvent.class, isAction = true ) diff --git a/plugin/sdnController/src/main/java/org/zstack/sdnController/header/APISdnControllerRemoveHostMsg.java b/plugin/sdnController/src/main/java/org/zstack/sdnController/header/APISdnControllerRemoveHostMsg.java index 6606c033c09..baedd12fe83 100644 --- a/plugin/sdnController/src/main/java/org/zstack/sdnController/header/APISdnControllerRemoveHostMsg.java +++ b/plugin/sdnController/src/main/java/org/zstack/sdnController/header/APISdnControllerRemoveHostMsg.java @@ -14,7 +14,7 @@ @Action(category = SdnControllerConstant.ACTION_CATEGORY) @RestRequest( path = "/sdn-controllers/{sdnControllerUuid}/hosts/{hostUuid}", - method = HttpMethod.DELETE, + method = "DELETE", responseClass = APISdnControllerRemoveHostEvent.class ) public class APISdnControllerRemoveHostMsg extends APIMessage implements SdnControllerMessage { diff --git a/plugin/sdnController/src/main/java/org/zstack/sdnController/header/APIUpdateSdnControllerMsg.java b/plugin/sdnController/src/main/java/org/zstack/sdnController/header/APIUpdateSdnControllerMsg.java index 7ec4d9f4029..eeae21c94e6 100644 --- a/plugin/sdnController/src/main/java/org/zstack/sdnController/header/APIUpdateSdnControllerMsg.java +++ b/plugin/sdnController/src/main/java/org/zstack/sdnController/header/APIUpdateSdnControllerMsg.java @@ -14,7 +14,7 @@ */ @RestRequest( path = "/sdn-controllers/{uuid}/actions", - method = HttpMethod.PUT, + method = "PUT", responseClass = APIUpdateSdnControllerEvent.class, isAction = true ) diff --git a/plugin/sdnController/src/main/java/org/zstack/sdnController/header/H3cSdnControllerTenantVO.java b/plugin/sdnController/src/main/java/org/zstack/sdnController/header/H3cSdnControllerTenantVO.java index 3d50629bede..4ccbd533429 100644 --- a/plugin/sdnController/src/main/java/org/zstack/sdnController/header/H3cSdnControllerTenantVO.java +++ b/plugin/sdnController/src/main/java/org/zstack/sdnController/header/H3cSdnControllerTenantVO.java @@ -4,7 +4,7 @@ import org.zstack.header.vo.EntityGraph; import org.zstack.header.vo.ForeignKey; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; /** diff --git a/plugin/sdnController/src/main/java/org/zstack/sdnController/header/H3cSdnControllerTenantVO_.java b/plugin/sdnController/src/main/java/org/zstack/sdnController/header/H3cSdnControllerTenantVO_.java index e93073735b1..85c1b8ba370 100644 --- a/plugin/sdnController/src/main/java/org/zstack/sdnController/header/H3cSdnControllerTenantVO_.java +++ b/plugin/sdnController/src/main/java/org/zstack/sdnController/header/H3cSdnControllerTenantVO_.java @@ -1,7 +1,7 @@ package org.zstack.sdnController.header; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; /** diff --git a/plugin/sdnController/src/main/java/org/zstack/sdnController/header/H3cSdnSubnetIpRangeRefVO.java b/plugin/sdnController/src/main/java/org/zstack/sdnController/header/H3cSdnSubnetIpRangeRefVO.java index 4d7ef95fcfd..a30af711dd8 100644 --- a/plugin/sdnController/src/main/java/org/zstack/sdnController/header/H3cSdnSubnetIpRangeRefVO.java +++ b/plugin/sdnController/src/main/java/org/zstack/sdnController/header/H3cSdnSubnetIpRangeRefVO.java @@ -6,7 +6,7 @@ import org.zstack.header.vo.ForeignKey; import org.zstack.header.vo.ForeignKey.ReferenceOption; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; /** diff --git a/plugin/sdnController/src/main/java/org/zstack/sdnController/header/H3cSdnSubnetIpRangeRefVO_.java b/plugin/sdnController/src/main/java/org/zstack/sdnController/header/H3cSdnSubnetIpRangeRefVO_.java index a74ac66cee7..40b2454e4d1 100644 --- a/plugin/sdnController/src/main/java/org/zstack/sdnController/header/H3cSdnSubnetIpRangeRefVO_.java +++ b/plugin/sdnController/src/main/java/org/zstack/sdnController/header/H3cSdnSubnetIpRangeRefVO_.java @@ -1,7 +1,7 @@ package org.zstack.sdnController.header; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; /** diff --git a/plugin/sdnController/src/main/java/org/zstack/sdnController/header/HardwareL2VxlanNetworkPoolVO.java b/plugin/sdnController/src/main/java/org/zstack/sdnController/header/HardwareL2VxlanNetworkPoolVO.java index 20374e4b6e3..4cad52d03d3 100644 --- a/plugin/sdnController/src/main/java/org/zstack/sdnController/header/HardwareL2VxlanNetworkPoolVO.java +++ b/plugin/sdnController/src/main/java/org/zstack/sdnController/header/HardwareL2VxlanNetworkPoolVO.java @@ -8,7 +8,7 @@ import org.zstack.header.vo.ForeignKey; import org.zstack.network.l2.vxlan.vxlanNetworkPool.VxlanNetworkPoolVO; -import javax.persistence.*; +import jakarta.persistence.*; /** * Created by shixin.ruan on 09/30/2019. diff --git a/plugin/sdnController/src/main/java/org/zstack/sdnController/header/HardwareL2VxlanNetworkPoolVO_.java b/plugin/sdnController/src/main/java/org/zstack/sdnController/header/HardwareL2VxlanNetworkPoolVO_.java index d0363da0cef..c89c73df8f2 100644 --- a/plugin/sdnController/src/main/java/org/zstack/sdnController/header/HardwareL2VxlanNetworkPoolVO_.java +++ b/plugin/sdnController/src/main/java/org/zstack/sdnController/header/HardwareL2VxlanNetworkPoolVO_.java @@ -2,8 +2,8 @@ import org.zstack.header.network.l2.L2NetworkVO_; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; /** * Created by shixin.ruan on 09/20/2019. diff --git a/plugin/sdnController/src/main/java/org/zstack/sdnController/header/HardwareL2VxlanNetworkVO.java b/plugin/sdnController/src/main/java/org/zstack/sdnController/header/HardwareL2VxlanNetworkVO.java index 1f3e6b3d377..5232e681391 100644 --- a/plugin/sdnController/src/main/java/org/zstack/sdnController/header/HardwareL2VxlanNetworkVO.java +++ b/plugin/sdnController/src/main/java/org/zstack/sdnController/header/HardwareL2VxlanNetworkVO.java @@ -6,10 +6,10 @@ import org.zstack.header.vo.EO; import org.zstack.network.l2.vxlan.vxlanNetwork.VxlanNetworkVO; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.PrimaryKeyJoinColumn; -import javax.persistence.Table; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.PrimaryKeyJoinColumn; +import jakarta.persistence.Table; /** * Created by shixin.ruan on 07/09/2027. diff --git a/plugin/sdnController/src/main/java/org/zstack/sdnController/header/HardwareL2VxlanNetworkVO_.java b/plugin/sdnController/src/main/java/org/zstack/sdnController/header/HardwareL2VxlanNetworkVO_.java index 1098f3a5e28..8349e03ef06 100644 --- a/plugin/sdnController/src/main/java/org/zstack/sdnController/header/HardwareL2VxlanNetworkVO_.java +++ b/plugin/sdnController/src/main/java/org/zstack/sdnController/header/HardwareL2VxlanNetworkVO_.java @@ -3,8 +3,8 @@ import org.zstack.header.network.l2.L2NetworkVO_; import org.zstack.network.l2.vxlan.vxlanNetwork.VxlanNetworkVO_; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; /** * Created by shixin.ruan on 09/20/2019. diff --git a/plugin/sdnController/src/main/java/org/zstack/sdnController/header/VxlanClusterMappingVO.java b/plugin/sdnController/src/main/java/org/zstack/sdnController/header/VxlanClusterMappingVO.java index 492ee462a1f..7a066dc2315 100644 --- a/plugin/sdnController/src/main/java/org/zstack/sdnController/header/VxlanClusterMappingVO.java +++ b/plugin/sdnController/src/main/java/org/zstack/sdnController/header/VxlanClusterMappingVO.java @@ -5,7 +5,7 @@ import org.zstack.header.vo.ForeignKey; import org.zstack.network.l2.vxlan.vxlanNetwork.VxlanNetworkVO; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; @Entity diff --git a/plugin/sdnController/src/main/java/org/zstack/sdnController/header/VxlanClusterMappingVO_.java b/plugin/sdnController/src/main/java/org/zstack/sdnController/header/VxlanClusterMappingVO_.java index 49cde305d86..f78b0a6edfa 100644 --- a/plugin/sdnController/src/main/java/org/zstack/sdnController/header/VxlanClusterMappingVO_.java +++ b/plugin/sdnController/src/main/java/org/zstack/sdnController/header/VxlanClusterMappingVO_.java @@ -1,7 +1,7 @@ package org.zstack.sdnController.header; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; @StaticMetamodel(VxlanClusterMappingVO.class) diff --git a/plugin/sdnController/src/main/java/org/zstack/sdnController/header/VxlanHostMappingVO.java b/plugin/sdnController/src/main/java/org/zstack/sdnController/header/VxlanHostMappingVO.java index 17cd07dce49..3f763bff5b5 100644 --- a/plugin/sdnController/src/main/java/org/zstack/sdnController/header/VxlanHostMappingVO.java +++ b/plugin/sdnController/src/main/java/org/zstack/sdnController/header/VxlanHostMappingVO.java @@ -5,7 +5,7 @@ import org.zstack.header.vo.ForeignKey; import org.zstack.network.l2.vxlan.vxlanNetwork.VxlanNetworkVO; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; @Entity diff --git a/plugin/sdnController/src/main/java/org/zstack/sdnController/header/VxlanHostMappingVO_.java b/plugin/sdnController/src/main/java/org/zstack/sdnController/header/VxlanHostMappingVO_.java index 511b0e53871..c2e0223d5ab 100644 --- a/plugin/sdnController/src/main/java/org/zstack/sdnController/header/VxlanHostMappingVO_.java +++ b/plugin/sdnController/src/main/java/org/zstack/sdnController/header/VxlanHostMappingVO_.java @@ -1,7 +1,7 @@ package org.zstack.sdnController.header; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; @StaticMetamodel(VxlanHostMappingVO.class) diff --git a/plugin/securityGroup/pom.xml b/plugin/securityGroup/pom.xml index 35211774744..819ed09fac0 100755 --- a/plugin/securityGroup/pom.xml +++ b/plugin/securityGroup/pom.xml @@ -1,84 +1,110 @@ - - 4.0.0 - - org.zstack - plugin + + 4.0.0 + + org.zstack + plugin 5.5.0 - - securityGroup - - - org.zstack - compute - ${project.version} - - - org.zstack - network - ${project.version} - - - - - - - org.apache.maven.plugins - maven-compiler-plugin - ${project.compiler.version} - - groovy-eclipse-compiler - ${project.java.version} - ${project.java.version} - lines,vars,source - true - - - - org.codehaus.groovy - groovy-eclipse-compiler - ${groovy.eclipse.compiler} - - - org.codehaus.groovy - groovy-eclipse-batch - ${groovy.eclipse.batch} - - - - - org.codehaus.mojo - aspectj-maven-plugin - ${aspectj.plugin.version} - - - - compile - test-compile - - - - - ${project.java.version} - ${project.java.version} - ${project.java.version} - true - - - org.springframework - spring-aspects - - - org.zstack - core - - - org.zstack - header - - - - - - - + + securityGroup + + + org.zstack + compute + ${project.version} + + + org.zstack + network + ${project.version} + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + ${project.compiler.version} + + ${project.java.version} + ${project.java.version} + lines,vars,source + true + + + + org.codehaus.gmavenplus + gmavenplus-plugin + 3.0.2 + + + + ${project.basedir}/src/main/java + + **/*.groovy + + + + + + + groovy-stubs + generateStubsremoveStubs + + + groovy-compile + compile + + + + + org.apache.groovy + groovy + ${groovy.version} + + + + + dev.aspectj + aspectj-maven-plugin + ${aspectj.plugin.version} + + + org.aspectj + aspectjtools + ${aspectj.version} + + + + + + compile + test-compile + + + + + ${project.java.version} + ${project.java.version} + ${project.java.version} + true + + + org.springframework + spring-aspects + + + org.zstack + core + + + org.zstack + header + + + + + + + diff --git a/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/APIAddSecurityGroupRuleMsg.java b/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/APIAddSecurityGroupRuleMsg.java index 62adf4db78e..c678d323313 100755 --- a/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/APIAddSecurityGroupRuleMsg.java +++ b/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/APIAddSecurityGroupRuleMsg.java @@ -101,7 +101,7 @@ @Action(category = SecurityGroupConstant.ACTION_CATEGORY) @RestRequest( path = "/security-groups/{securityGroupUuid}/rules", - method = HttpMethod.POST, + method = "POST", responseClass = APIAddSecurityGroupRuleEvent.class, parameterName = "params" ) diff --git a/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/APIAddVmNicToSecurityGroupMsg.java b/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/APIAddVmNicToSecurityGroupMsg.java index 355af8c7ae4..bea91a27bcd 100755 --- a/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/APIAddVmNicToSecurityGroupMsg.java +++ b/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/APIAddVmNicToSecurityGroupMsg.java @@ -58,7 +58,7 @@ @Action(category = SecurityGroupConstant.ACTION_CATEGORY) @RestRequest( path = "/security-groups/{securityGroupUuid}/vm-instances/nics", - method = HttpMethod.POST, + method = "POST", responseClass = APIAddVmNicToSecurityGroupEvent.class, parameterName = "params" ) diff --git a/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/APIAttachSecurityGroupToL3NetworkMsg.java b/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/APIAttachSecurityGroupToL3NetworkMsg.java index 68738112440..51bd5219baf 100755 --- a/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/APIAttachSecurityGroupToL3NetworkMsg.java +++ b/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/APIAttachSecurityGroupToL3NetworkMsg.java @@ -49,7 +49,7 @@ @Action(category = SecurityGroupConstant.ACTION_CATEGORY) @RestRequest( path = "/security-groups/{securityGroupUuid}/l3-networks/{l3NetworkUuid}", - method = HttpMethod.POST, + method = "POST", parameterName = "params", responseClass = APIAttachSecurityGroupToL3NetworkEvent.class ) diff --git a/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/APIChangeSecurityGroupRuleMsg.java b/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/APIChangeSecurityGroupRuleMsg.java index c28d184a718..302de50e4fa 100644 --- a/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/APIChangeSecurityGroupRuleMsg.java +++ b/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/APIChangeSecurityGroupRuleMsg.java @@ -10,7 +10,7 @@ @Action(category = SecurityGroupConstant.ACTION_CATEGORY) @RestRequest( path = "/security-groups/rules/{uuid}/actions", - method = HttpMethod.PUT, + method = "PUT", responseClass = APIChangeSecurityGroupRuleEvent.class, isAction = true ) diff --git a/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/APIChangeSecurityGroupRuleStateMsg.java b/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/APIChangeSecurityGroupRuleStateMsg.java index 46cedd4bf9c..84b2dcf10f4 100644 --- a/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/APIChangeSecurityGroupRuleStateMsg.java +++ b/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/APIChangeSecurityGroupRuleStateMsg.java @@ -13,7 +13,7 @@ @Action(category = SecurityGroupConstant.ACTION_CATEGORY) @RestRequest( path = "/security-groups/{securityGroupUuid}/rules/state/actions", - method = HttpMethod.PUT, + method = "PUT", responseClass = APIChangeSecurityGroupRuleStateEvent.class, isAction = true ) diff --git a/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/APIChangeSecurityGroupStateMsg.java b/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/APIChangeSecurityGroupStateMsg.java index f0f8713146a..3a288b83548 100755 --- a/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/APIChangeSecurityGroupStateMsg.java +++ b/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/APIChangeSecurityGroupStateMsg.java @@ -50,7 +50,7 @@ @Action(category = SecurityGroupConstant.ACTION_CATEGORY) @RestRequest( path = "/security-groups/{uuid}/actions", - method = HttpMethod.PUT, + method = "PUT", responseClass = APIChangeSecurityGroupStateEvent.class, isAction = true ) diff --git a/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/APIChangeVmNicSecurityPolicyMsg.java b/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/APIChangeVmNicSecurityPolicyMsg.java index cead3379b3c..22bbd212e5f 100644 --- a/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/APIChangeVmNicSecurityPolicyMsg.java +++ b/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/APIChangeVmNicSecurityPolicyMsg.java @@ -10,7 +10,7 @@ @Action(category = SecurityGroupConstant.ACTION_CATEGORY) @RestRequest( path = "/security-groups/nics/{vmNicUuid}/security-policy/actions", - method = HttpMethod.PUT, + method = "PUT", responseClass = APIChangeVmNicSecurityPolicyEvent.class, isAction = true ) diff --git a/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/APICreateSecurityGroupMsg.java b/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/APICreateSecurityGroupMsg.java index aec49c60391..b6ca4a139f7 100755 --- a/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/APICreateSecurityGroupMsg.java +++ b/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/APICreateSecurityGroupMsg.java @@ -51,7 +51,7 @@ @Action(category = SecurityGroupConstant.ACTION_CATEGORY) @RestRequest( path = "/security-groups", - method = HttpMethod.POST, + method = "POST", responseClass = APICreateSecurityGroupEvent.class, parameterName = "params" ) diff --git a/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/APIDeleteSecurityGroupMsg.java b/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/APIDeleteSecurityGroupMsg.java index 010755a2763..638cd2fe4d1 100755 --- a/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/APIDeleteSecurityGroupMsg.java +++ b/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/APIDeleteSecurityGroupMsg.java @@ -49,7 +49,7 @@ @Action(category = SecurityGroupConstant.ACTION_CATEGORY) @RestRequest( path = "/security-groups/{uuid}", - method = HttpMethod.DELETE, + method = "DELETE", responseClass = APIDeleteSecurityGroupEvent.class ) public class APIDeleteSecurityGroupMsg extends APIDeleteMessage implements SecurityGroupMessage { diff --git a/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/APIDeleteSecurityGroupRuleMsg.java b/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/APIDeleteSecurityGroupRuleMsg.java index a388e07979b..d5082e8f008 100755 --- a/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/APIDeleteSecurityGroupRuleMsg.java +++ b/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/APIDeleteSecurityGroupRuleMsg.java @@ -57,7 +57,7 @@ @Action(category = SecurityGroupConstant.ACTION_CATEGORY) @RestRequest( path = "/security-groups/rules", - method = HttpMethod.DELETE, + method = "DELETE", responseClass = APIDeleteSecurityGroupRuleEvent.class ) public class APIDeleteSecurityGroupRuleMsg extends APIMessage implements APIAuditor { diff --git a/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/APIDeleteVmNicFromSecurityGroupMsg.java b/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/APIDeleteVmNicFromSecurityGroupMsg.java index f4a84ac118d..bbab5ff9d30 100755 --- a/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/APIDeleteVmNicFromSecurityGroupMsg.java +++ b/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/APIDeleteVmNicFromSecurityGroupMsg.java @@ -55,7 +55,7 @@ @Action(category = SecurityGroupConstant.ACTION_CATEGORY) @RestRequest( path = "/security-groups/{securityGroupUuid}/vm-instances/nics", - method = HttpMethod.DELETE, + method = "DELETE", responseClass = APIDeleteVmNicFromSecurityGroupEvent.class ) public class APIDeleteVmNicFromSecurityGroupMsg extends APIMessage { diff --git a/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/APIDetachSecurityGroupFromL3NetworkMsg.java b/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/APIDetachSecurityGroupFromL3NetworkMsg.java index 3a56b38aa00..bd6d8c16964 100755 --- a/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/APIDetachSecurityGroupFromL3NetworkMsg.java +++ b/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/APIDetachSecurityGroupFromL3NetworkMsg.java @@ -42,7 +42,7 @@ @Action(category = SecurityGroupConstant.ACTION_CATEGORY) @RestRequest( path = "/security-groups/{securityGroupUuid}/l3-networks/{l3NetworkUuid}", - method = HttpMethod.DELETE, + method = "DELETE", responseClass = APIDetachSecurityGroupFromL3NetworkEvent.class ) public class APIDetachSecurityGroupFromL3NetworkMsg extends APIMessage implements SecurityGroupMessage { diff --git a/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/APIGetCandidateVmNicForSecurityGroupMsg.java b/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/APIGetCandidateVmNicForSecurityGroupMsg.java index 48f4352a2b2..4bd7519da7b 100755 --- a/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/APIGetCandidateVmNicForSecurityGroupMsg.java +++ b/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/APIGetCandidateVmNicForSecurityGroupMsg.java @@ -11,7 +11,7 @@ @Action(category = SecurityGroupConstant.ACTION_CATEGORY, names = {"read"}) @RestRequest( path = "/security-groups/{securityGroupUuid}/vm-instances/candidate-nics", - method = HttpMethod.GET, + method = "GET", responseClass = APIGetCandidateVmNicForSecurityGroupReply.class ) public class APIGetCandidateVmNicForSecurityGroupMsg extends APISyncCallMessage { diff --git a/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/APIQuerySecurityGroupMsg.java b/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/APIQuerySecurityGroupMsg.java index 62d996e31dc..014eaffec0e 100755 --- a/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/APIQuerySecurityGroupMsg.java +++ b/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/APIQuerySecurityGroupMsg.java @@ -15,7 +15,7 @@ @RestRequest( path = "/security-groups", optionalPaths = {"/security-groups/{uuid}"}, - method = HttpMethod.GET, + method = "GET", responseClass = APIQuerySecurityGroupReply.class ) public class APIQuerySecurityGroupMsg extends APIQueryMessage { diff --git a/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/APIQuerySecurityGroupRuleMsg.java b/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/APIQuerySecurityGroupRuleMsg.java index 84618a790ac..7e409f655ac 100755 --- a/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/APIQuerySecurityGroupRuleMsg.java +++ b/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/APIQuerySecurityGroupRuleMsg.java @@ -17,7 +17,7 @@ @RestRequest( path = "/security-groups/rules", optionalPaths = {"/security-groups/rules/{uuid}"}, - method = HttpMethod.GET, + method = "GET", responseClass = APIQuerySecurityGroupRuleReply.class ) public class APIQuerySecurityGroupRuleMsg extends APIQueryMessage { diff --git a/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/APIQueryVmNicInSecurityGroupMsg.java b/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/APIQueryVmNicInSecurityGroupMsg.java index e19dfafa80a..98f3b09f48a 100755 --- a/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/APIQueryVmNicInSecurityGroupMsg.java +++ b/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/APIQueryVmNicInSecurityGroupMsg.java @@ -14,7 +14,7 @@ @AutoQuery(replyClass = APIQueryVmNicInSecurityGroupReply.class, inventoryClass = VmNicSecurityGroupRefInventory.class) @RestRequest( path = "/security-groups/vm-instances/nics", - method = HttpMethod.GET, + method = "GET", responseClass = APIQueryVmNicInSecurityGroupReply.class ) public class APIQueryVmNicInSecurityGroupMsg extends APIQueryMessage { diff --git a/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/APIQueryVmNicSecurityPolicyMsg.java b/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/APIQueryVmNicSecurityPolicyMsg.java index c3a88c17790..7c2497f9d8b 100644 --- a/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/APIQueryVmNicSecurityPolicyMsg.java +++ b/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/APIQueryVmNicSecurityPolicyMsg.java @@ -15,7 +15,7 @@ @RestRequest( path = "/security-groups/nics/security-policy", optionalPaths = {"/security-groups/nics/{uuid}/security-policy"}, - method = HttpMethod.GET, + method = "GET", responseClass = APIQueryVmNicSecurityPolicyReply.class ) diff --git a/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/APISetVmNicSecurityGroupMsg.java b/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/APISetVmNicSecurityGroupMsg.java index b5f5cf368ed..28442603ac4 100644 --- a/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/APISetVmNicSecurityGroupMsg.java +++ b/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/APISetVmNicSecurityGroupMsg.java @@ -13,7 +13,7 @@ @Action(category = SecurityGroupConstant.ACTION_CATEGORY) @RestRequest( path = "/security-groups/nics/{vmNicUuid}/actions", - method = HttpMethod.PUT, + method = "PUT", responseClass = APISetVmNicSecurityGroupEvent.class, isAction = true ) diff --git a/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/APIUpdateSecurityGroupMsg.java b/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/APIUpdateSecurityGroupMsg.java index 95eed780733..a005a8ae275 100755 --- a/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/APIUpdateSecurityGroupMsg.java +++ b/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/APIUpdateSecurityGroupMsg.java @@ -13,7 +13,7 @@ @Action(category = SecurityGroupConstant.ACTION_CATEGORY) @RestRequest( path = "/security-groups/{uuid}/actions", - method = HttpMethod.PUT, + method = "PUT", isAction = true, responseClass = APIUpdateSecurityGroupEvent.class ) diff --git a/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/APIUpdateSecurityGroupRulePriorityMsg.java b/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/APIUpdateSecurityGroupRulePriorityMsg.java index adacd9e695e..ab8c81418cf 100644 --- a/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/APIUpdateSecurityGroupRulePriorityMsg.java +++ b/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/APIUpdateSecurityGroupRulePriorityMsg.java @@ -12,7 +12,7 @@ @Action(category = SecurityGroupConstant.ACTION_CATEGORY) @RestRequest( path = "/security-groups/{securityGroupUuid}/rules/priority/actions", - method = HttpMethod.PUT, + method = "PUT", responseClass = APIUpdateSecurityGroupRulePriorityEvent.class, isAction = true ) diff --git a/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/APIValidateSecurityGroupRuleMsg.java b/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/APIValidateSecurityGroupRuleMsg.java index 3d15432ecb4..6aec06b295a 100644 --- a/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/APIValidateSecurityGroupRuleMsg.java +++ b/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/APIValidateSecurityGroupRuleMsg.java @@ -9,7 +9,7 @@ @Action(category = SecurityGroupConstant.ACTION_CATEGORY, names = {"read"}) @RestRequest( path = "/security-groups/{securityGroupUuid}/rules/validation", - method = HttpMethod.GET, + method = "GET", responseClass = APIValidateSecurityGroupRuleReply.class ) public class APIValidateSecurityGroupRuleMsg extends APISyncCallMessage { diff --git a/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/SecurityGroupApiInterceptor.java b/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/SecurityGroupApiInterceptor.java index 135ad3886aa..45d6a7f84ed 100755 --- a/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/SecurityGroupApiInterceptor.java +++ b/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/SecurityGroupApiInterceptor.java @@ -35,7 +35,7 @@ import org.apache.commons.lang.StringUtils; -import javax.persistence.TypedQuery; +import jakarta.persistence.TypedQuery; import java.util.ArrayList; import java.util.Arrays; diff --git a/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/SecurityGroupFailureHostVO.java b/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/SecurityGroupFailureHostVO.java index 26ef222c493..6c6c2a07504 100755 --- a/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/SecurityGroupFailureHostVO.java +++ b/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/SecurityGroupFailureHostVO.java @@ -5,7 +5,7 @@ import org.zstack.header.vo.ForeignKey; import org.zstack.header.vo.ForeignKey.ReferenceOption; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; @Entity diff --git a/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/SecurityGroupFailureHostVO_.java b/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/SecurityGroupFailureHostVO_.java index 0bc6ed8b396..a2798cfa53d 100755 --- a/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/SecurityGroupFailureHostVO_.java +++ b/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/SecurityGroupFailureHostVO_.java @@ -1,7 +1,7 @@ package org.zstack.network.securitygroup; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; @StaticMetamodel(SecurityGroupFailureHostVO.class) 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..605cec57b3c 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 @@ -5,8 +5,8 @@ import org.zstack.header.rest.APINoSee; import org.zstack.header.search.Inventory; -import javax.persistence.Column; -import javax.persistence.JoinColumn; +import jakarta.persistence.Column; +import jakarta.persistence.JoinColumn; import java.sql.Timestamp; import java.util.*; /** diff --git a/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/SecurityGroupL3NetworkRefVO.java b/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/SecurityGroupL3NetworkRefVO.java index ea05539320b..f331005ba69 100755 --- a/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/SecurityGroupL3NetworkRefVO.java +++ b/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/SecurityGroupL3NetworkRefVO.java @@ -8,7 +8,7 @@ import org.zstack.header.vo.SoftDeletionCascade; import org.zstack.header.vo.SoftDeletionCascades; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; @Entity diff --git a/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/SecurityGroupL3NetworkRefVO_.java b/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/SecurityGroupL3NetworkRefVO_.java index b1b5d269b83..2bf645278f2 100755 --- a/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/SecurityGroupL3NetworkRefVO_.java +++ b/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/SecurityGroupL3NetworkRefVO_.java @@ -1,7 +1,7 @@ package org.zstack.network.securitygroup; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; @StaticMetamodel(SecurityGroupL3NetworkRefVO.class) 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..5bb51591761 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 @@ -80,10 +80,10 @@ import org.zstack.utils.logging.CLogger; import org.zstack.utils.network.IPv6Constants; -import javax.persistence.LockModeType; -import javax.persistence.Query; -import javax.persistence.Tuple; -import javax.persistence.TypedQuery; +import jakarta.persistence.LockModeType; +import jakarta.persistence.Query; +import jakarta.persistence.Tuple; +import jakarta.persistence.TypedQuery; import java.util.*; import java.util.concurrent.Future; import java.util.concurrent.TimeUnit; 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..c6e28d157b1 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 @@ -29,7 +29,7 @@ import java.util.*; import java.util.stream.Collectors; -import javax.persistence.Query; +import jakarta.persistence.Query; import static org.zstack.core.Platform.operr; import static org.zstack.utils.clouderrorcode.CloudOperationsErrorCode.*; diff --git a/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/SecurityGroupRuleVO.java b/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/SecurityGroupRuleVO.java index 911f5d310a4..ff346979ce5 100755 --- a/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/SecurityGroupRuleVO.java +++ b/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/SecurityGroupRuleVO.java @@ -6,7 +6,7 @@ import org.zstack.header.vo.ForeignKey.ReferenceOption; import org.zstack.header.vo.ResourceVO; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; @Entity diff --git a/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/SecurityGroupRuleVO_.java b/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/SecurityGroupRuleVO_.java index 3f011bb5e16..28ef881d596 100755 --- a/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/SecurityGroupRuleVO_.java +++ b/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/SecurityGroupRuleVO_.java @@ -2,8 +2,8 @@ import org.zstack.header.vo.ResourceVO_; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; @StaticMetamodel(SecurityGroupRuleVO.class) diff --git a/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/SecurityGroupSequenceNumberVO.java b/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/SecurityGroupSequenceNumberVO.java index e630ab4d4d9..fc4cfa8b8ef 100755 --- a/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/SecurityGroupSequenceNumberVO.java +++ b/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/SecurityGroupSequenceNumberVO.java @@ -1,6 +1,6 @@ package org.zstack.network.securitygroup; -import javax.persistence.*; +import jakarta.persistence.*; @Entity @Table diff --git a/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/SecurityGroupVO.java b/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/SecurityGroupVO.java index cb5fa5fcbc1..8fca01262ea 100755 --- a/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/SecurityGroupVO.java +++ b/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/SecurityGroupVO.java @@ -5,7 +5,7 @@ import org.zstack.header.vo.Index; import org.zstack.header.vo.ResourceVO; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; import java.util.HashSet; import java.util.Set; diff --git a/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/SecurityGroupVO_.java b/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/SecurityGroupVO_.java index 18072ff7279..f28356b4795 100755 --- a/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/SecurityGroupVO_.java +++ b/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/SecurityGroupVO_.java @@ -2,8 +2,8 @@ import org.zstack.header.vo.ResourceVO_; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; @StaticMetamodel(SecurityGroupVO.class) diff --git a/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/VmNicSecurityGroupRefVO.java b/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/VmNicSecurityGroupRefVO.java index 00524b125e5..fa1fbadb9f2 100755 --- a/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/VmNicSecurityGroupRefVO.java +++ b/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/VmNicSecurityGroupRefVO.java @@ -7,7 +7,7 @@ import org.zstack.header.vo.ForeignKey; import org.zstack.header.vo.ForeignKey.ReferenceOption; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; @Entity @Table diff --git a/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/VmNicSecurityGroupRefVO_.java b/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/VmNicSecurityGroupRefVO_.java index 3d6d225b0a0..b127aaf2d60 100755 --- a/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/VmNicSecurityGroupRefVO_.java +++ b/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/VmNicSecurityGroupRefVO_.java @@ -1,7 +1,7 @@ package org.zstack.network.securitygroup; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; @StaticMetamodel(VmNicSecurityGroupRefVO.class) diff --git a/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/VmNicSecurityPolicyVO.java b/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/VmNicSecurityPolicyVO.java index e787ed24cbb..dd69f8baacd 100644 --- a/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/VmNicSecurityPolicyVO.java +++ b/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/VmNicSecurityPolicyVO.java @@ -4,7 +4,7 @@ import org.zstack.header.vo.ForeignKey; import org.zstack.header.vo.ForeignKey.ReferenceOption; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; diff --git a/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/VmNicSecurityPolicyVO_.java b/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/VmNicSecurityPolicyVO_.java index 0ce25618cc8..0918c1efb31 100644 --- a/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/VmNicSecurityPolicyVO_.java +++ b/plugin/securityGroup/src/main/java/org/zstack/network/securitygroup/VmNicSecurityPolicyVO_.java @@ -1,7 +1,7 @@ package org.zstack.network.securitygroup; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; @StaticMetamodel(VmNicSecurityPolicyVO.class) diff --git a/plugin/sftpBackupStorage/pom.xml b/plugin/sftpBackupStorage/pom.xml index fb467ba83b9..0a7bf7e8c94 100755 --- a/plugin/sftpBackupStorage/pom.xml +++ b/plugin/sftpBackupStorage/pom.xml @@ -1,80 +1,106 @@ - - 4.0.0 - - plugin - org.zstack + + 4.0.0 + + plugin + org.zstack 5.5.0 - .. - - sftpBackupStorage - - - org.zstack - storage - ${project.version} - - - - - - - org.apache.maven.plugins - maven-compiler-plugin - ${project.compiler.version} - - groovy-eclipse-compiler - ${project.java.version} - ${project.java.version} - lines,vars,source - true - - - - org.codehaus.groovy - groovy-eclipse-compiler - ${groovy.eclipse.compiler} - - - org.codehaus.groovy - groovy-eclipse-batch - ${groovy.eclipse.batch} - - - - - org.codehaus.mojo - aspectj-maven-plugin - ${aspectj.plugin.version} - - - - compile - test-compile - - - - - ${project.java.version} - ${project.java.version} - ${project.java.version} - true - - - org.springframework - spring-aspects - - - org.zstack - core - - - org.zstack - header - - - - - - - + .. + + sftpBackupStorage + + + org.zstack + storage + ${project.version} + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + ${project.compiler.version} + + ${project.java.version} + ${project.java.version} + lines,vars,source + true + + + + org.codehaus.gmavenplus + gmavenplus-plugin + 3.0.2 + + + + ${project.basedir}/src/main/java + + **/*.groovy + + + + + + + groovy-stubs + generateStubsremoveStubs + + + groovy-compile + compile + + + + + org.apache.groovy + groovy + ${groovy.version} + + + + + dev.aspectj + aspectj-maven-plugin + ${aspectj.plugin.version} + + + org.aspectj + aspectjtools + ${aspectj.version} + + + + + + compile + test-compile + + + + + ${project.java.version} + ${project.java.version} + ${project.java.version} + true + + + org.springframework + spring-aspects + + + org.zstack + core + + + org.zstack + header + + + + + + + diff --git a/plugin/sftpBackupStorage/src/main/java/org/zstack/storage/backup/sftp/APIAddSftpBackupStorageMsg.java b/plugin/sftpBackupStorage/src/main/java/org/zstack/storage/backup/sftp/APIAddSftpBackupStorageMsg.java index 80f94f1fcd2..9a1a39cd3b9 100755 --- a/plugin/sftpBackupStorage/src/main/java/org/zstack/storage/backup/sftp/APIAddSftpBackupStorageMsg.java +++ b/plugin/sftpBackupStorage/src/main/java/org/zstack/storage/backup/sftp/APIAddSftpBackupStorageMsg.java @@ -57,7 +57,7 @@ @RestRequest( path = "/backup-storage/sftp", - method = HttpMethod.POST, + method = "POST", responseClass = APIAddSftpBackupStorageEvent.class, parameterName = "params" ) diff --git a/plugin/sftpBackupStorage/src/main/java/org/zstack/storage/backup/sftp/APIQuerySftpBackupStorageMsg.java b/plugin/sftpBackupStorage/src/main/java/org/zstack/storage/backup/sftp/APIQuerySftpBackupStorageMsg.java index f95049a4074..96f11c8fc36 100755 --- a/plugin/sftpBackupStorage/src/main/java/org/zstack/storage/backup/sftp/APIQuerySftpBackupStorageMsg.java +++ b/plugin/sftpBackupStorage/src/main/java/org/zstack/storage/backup/sftp/APIQuerySftpBackupStorageMsg.java @@ -16,7 +16,7 @@ @RestRequest( path = "/backup-storage/sftp", optionalPaths = {"/backup-storage/sftp/{uuid}"}, - method = HttpMethod.GET, + method = "GET", responseClass = APIQuerySftpBackupStorageReply.class ) public class APIQuerySftpBackupStorageMsg extends APIQueryMessage { diff --git a/plugin/sftpBackupStorage/src/main/java/org/zstack/storage/backup/sftp/APIReconnectSftpBackupStorageMsg.java b/plugin/sftpBackupStorage/src/main/java/org/zstack/storage/backup/sftp/APIReconnectSftpBackupStorageMsg.java index d8acf71130e..97e4ae65a0f 100755 --- a/plugin/sftpBackupStorage/src/main/java/org/zstack/storage/backup/sftp/APIReconnectSftpBackupStorageMsg.java +++ b/plugin/sftpBackupStorage/src/main/java/org/zstack/storage/backup/sftp/APIReconnectSftpBackupStorageMsg.java @@ -11,7 +11,7 @@ path = "/backup-storage/sftp/{uuid}/actions", isAction = true, responseClass = APIReconnectSftpBackupStorageEvent.class, - method = HttpMethod.PUT + method = "PUT" ) public class APIReconnectSftpBackupStorageMsg extends APIMessage implements BackupStorageMessage { @APIParam(resourceType = SftpBackupStorageVO.class) diff --git a/plugin/sftpBackupStorage/src/main/java/org/zstack/storage/backup/sftp/APIUpdateSftpBackupStorageMsg.java b/plugin/sftpBackupStorage/src/main/java/org/zstack/storage/backup/sftp/APIUpdateSftpBackupStorageMsg.java index 882a2a25a17..94f426f12c1 100755 --- a/plugin/sftpBackupStorage/src/main/java/org/zstack/storage/backup/sftp/APIUpdateSftpBackupStorageMsg.java +++ b/plugin/sftpBackupStorage/src/main/java/org/zstack/storage/backup/sftp/APIUpdateSftpBackupStorageMsg.java @@ -13,7 +13,7 @@ @RestRequest( path = "/backup-storage/sftp/{uuid}/actions", responseClass = APIUpdateBackupStorageEvent.class, - method = HttpMethod.PUT, + method = "PUT", isAction = true ) public class APIUpdateSftpBackupStorageMsg extends APIUpdateBackupStorageMsg { 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..a9474f50aca 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 @@ -35,7 +35,7 @@ import org.zstack.utils.ssh.Ssh; import org.zstack.utils.ssh.SshException; -import javax.persistence.Query; +import jakarta.persistence.Query; import java.net.URI; import java.net.URISyntaxException; import java.util.List; 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..905261e1d55 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 @@ -35,7 +35,7 @@ import org.zstack.utils.gson.JSONObjectUtil; import org.zstack.utils.logging.CLogger; -import javax.persistence.TypedQuery; +import jakarta.persistence.TypedQuery; import java.util.*; import java.util.stream.Collectors; diff --git a/plugin/sftpBackupStorage/src/main/java/org/zstack/storage/backup/sftp/SftpBackupStorageVO.java b/plugin/sftpBackupStorage/src/main/java/org/zstack/storage/backup/sftp/SftpBackupStorageVO.java index ce164f34a39..95c88d2c496 100755 --- a/plugin/sftpBackupStorage/src/main/java/org/zstack/storage/backup/sftp/SftpBackupStorageVO.java +++ b/plugin/sftpBackupStorage/src/main/java/org/zstack/storage/backup/sftp/SftpBackupStorageVO.java @@ -6,11 +6,11 @@ import org.zstack.header.tag.AutoDeleteTag; import org.zstack.header.vo.EO; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.PrimaryKeyJoinColumn; -import javax.persistence.Table; -import javax.persistence.Convert; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.PrimaryKeyJoinColumn; +import jakarta.persistence.Table; +import jakarta.persistence.Convert; @Entity @Table diff --git a/plugin/sftpBackupStorage/src/main/java/org/zstack/storage/backup/sftp/SftpBackupStorageVO_.java b/plugin/sftpBackupStorage/src/main/java/org/zstack/storage/backup/sftp/SftpBackupStorageVO_.java index 6f8765a69fb..5bb600adaf8 100755 --- a/plugin/sftpBackupStorage/src/main/java/org/zstack/storage/backup/sftp/SftpBackupStorageVO_.java +++ b/plugin/sftpBackupStorage/src/main/java/org/zstack/storage/backup/sftp/SftpBackupStorageVO_.java @@ -2,8 +2,8 @@ import org.zstack.header.storage.backup.BackupStorageVO_; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; @StaticMetamodel(SftpBackupStorageVO.class) public class SftpBackupStorageVO_ extends BackupStorageVO_ { diff --git a/plugin/sharedMountPointPrimaryStorage/pom.xml b/plugin/sharedMountPointPrimaryStorage/pom.xml index 1f5fcef5d50..5d6254ac696 100755 --- a/plugin/sharedMountPointPrimaryStorage/pom.xml +++ b/plugin/sharedMountPointPrimaryStorage/pom.xml @@ -36,29 +36,55 @@ maven-compiler-plugin ${project.compiler.version} - groovy-eclipse-compiler ${project.java.version} ${project.java.version} lines,vars,source true - - - org.codehaus.groovy - groovy-eclipse-compiler - ${groovy.eclipse.compiler} - - - org.codehaus.groovy - groovy-eclipse-batch - ${groovy.eclipse.batch} - - - org.codehaus.mojo + org.codehaus.gmavenplus + gmavenplus-plugin + 3.0.2 + + + + ${project.basedir}/src/main/java + + **/*.groovy + + + + + + + groovy-stubs + generateStubsremoveStubs + + + groovy-compile + compile + + + + + org.apache.groovy + groovy + ${groovy.version} + + + + + dev.aspectj aspectj-maven-plugin ${aspectj.plugin.version} + + + org.aspectj + aspectjtools + ${aspectj.version} + + diff --git a/plugin/sharedMountPointPrimaryStorage/src/main/java/org/zstack/storage/primary/smp/APIAddSharedMountPointPrimaryStorageMsg.java b/plugin/sharedMountPointPrimaryStorage/src/main/java/org/zstack/storage/primary/smp/APIAddSharedMountPointPrimaryStorageMsg.java index 832d167aac6..62aa5627367 100755 --- a/plugin/sharedMountPointPrimaryStorage/src/main/java/org/zstack/storage/primary/smp/APIAddSharedMountPointPrimaryStorageMsg.java +++ b/plugin/sharedMountPointPrimaryStorage/src/main/java/org/zstack/storage/primary/smp/APIAddSharedMountPointPrimaryStorageMsg.java @@ -13,7 +13,7 @@ @TagResourceType(PrimaryStorageVO.class) @RestRequest( path = "/primary-storage/smp", - method = HttpMethod.POST, + method = "POST", responseClass = APIAddPrimaryStorageEvent.class, parameterName = "params" ) diff --git a/plugin/sharedMountPointPrimaryStorage/src/main/java/org/zstack/storage/primary/smp/KvmAgentCommandDispatcher.java b/plugin/sharedMountPointPrimaryStorage/src/main/java/org/zstack/storage/primary/smp/KvmAgentCommandDispatcher.java index ec6274c6b1c..6a258200fdf 100644 --- a/plugin/sharedMountPointPrimaryStorage/src/main/java/org/zstack/storage/primary/smp/KvmAgentCommandDispatcher.java +++ b/plugin/sharedMountPointPrimaryStorage/src/main/java/org/zstack/storage/primary/smp/KvmAgentCommandDispatcher.java @@ -30,7 +30,7 @@ import static org.zstack.core.Platform.operr; -import javax.persistence.TypedQuery; +import jakarta.persistence.TypedQuery; import java.util.ArrayList; import java.util.Collections; import java.util.Iterator; 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..7abc7d7d75a 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 @@ -58,7 +58,7 @@ import org.zstack.utils.logging.CLogger; import org.zstack.utils.path.PathUtil; -import javax.persistence.Tuple; +import jakarta.persistence.Tuple; import java.io.File; import java.util.*; import java.util.stream.Collectors; 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..e8ea75c84f7 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 @@ -46,7 +46,7 @@ import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; -import javax.persistence.TypedQuery; +import jakarta.persistence.TypedQuery; import java.io.File; import java.util.*; import java.util.concurrent.Callable; 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..71277f4f6c4 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 @@ -32,7 +32,7 @@ import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; -import javax.persistence.TypedQuery; +import jakarta.persistence.TypedQuery; import java.util.Collections; import java.util.List; import java.util.Map; diff --git a/plugin/sshKeyPair/pom.xml b/plugin/sshKeyPair/pom.xml index f73868c7fec..f7d9517c9a3 100644 --- a/plugin/sshKeyPair/pom.xml +++ b/plugin/sshKeyPair/pom.xml @@ -25,23 +25,12 @@ maven-compiler-plugin ${project.compiler.version} - groovy-eclipse-compiler ${project.java.version} ${project.java.version} lines,vars,source true - - org.codehaus.groovy - groovy-eclipse-compiler - ${groovy.eclipse.compiler} - - - org.codehaus.groovy - groovy-eclipse-batch - ${groovy.eclipse.batch} - com.jcraft jsch @@ -51,9 +40,48 @@ - org.codehaus.mojo + org.codehaus.gmavenplus + gmavenplus-plugin + 3.0.2 + + + + ${project.basedir}/src/main/java + + **/*.groovy + + + + + + + groovy-stubs + generateStubsremoveStubs + + + groovy-compile + compile + + + + + org.apache.groovy + groovy + ${groovy.version} + + + + + dev.aspectj aspectj-maven-plugin ${aspectj.plugin.version} + + + org.aspectj + aspectjtools + ${aspectj.version} + + diff --git a/plugin/sshKeyPair/src/main/java/org/zstack/header/sshkeypair/APIAttachSshKeyPairToVmInstanceMsg.java b/plugin/sshKeyPair/src/main/java/org/zstack/header/sshkeypair/APIAttachSshKeyPairToVmInstanceMsg.java index 535689b1325..5e2fa82a2ee 100644 --- a/plugin/sshKeyPair/src/main/java/org/zstack/header/sshkeypair/APIAttachSshKeyPairToVmInstanceMsg.java +++ b/plugin/sshKeyPair/src/main/java/org/zstack/header/sshkeypair/APIAttachSshKeyPairToVmInstanceMsg.java @@ -8,7 +8,7 @@ @RestRequest( path = "/ssh-key-pair/{sshKeyPairUuid}/vm-instance/{vmInstanceUuid}", - method = HttpMethod.POST, + method = "POST", responseClass = APIAttachSshKeyPairToVmInstanceEvent.class, parameterName = "params" ) diff --git a/plugin/sshKeyPair/src/main/java/org/zstack/header/sshkeypair/APICreateSshKeyPairMsg.java b/plugin/sshKeyPair/src/main/java/org/zstack/header/sshkeypair/APICreateSshKeyPairMsg.java index 0f3b67ecc49..57886bb0cd1 100644 --- a/plugin/sshKeyPair/src/main/java/org/zstack/header/sshkeypair/APICreateSshKeyPairMsg.java +++ b/plugin/sshKeyPair/src/main/java/org/zstack/header/sshkeypair/APICreateSshKeyPairMsg.java @@ -11,7 +11,7 @@ @TagResourceType(VolumeVO.class) @RestRequest( path = "/ssh-key-pair", - method = HttpMethod.POST, + method = "POST", responseClass = APICreateSshKeyPairEvent.class, parameterName = "params" ) diff --git a/plugin/sshKeyPair/src/main/java/org/zstack/header/sshkeypair/APIDeleteSshKeyPairMsg.java b/plugin/sshKeyPair/src/main/java/org/zstack/header/sshkeypair/APIDeleteSshKeyPairMsg.java index 5c4e544ad7d..9234b53bbb9 100644 --- a/plugin/sshKeyPair/src/main/java/org/zstack/header/sshkeypair/APIDeleteSshKeyPairMsg.java +++ b/plugin/sshKeyPair/src/main/java/org/zstack/header/sshkeypair/APIDeleteSshKeyPairMsg.java @@ -9,7 +9,7 @@ @RestRequest( path = "/ssh-key-pair/{uuid}", - method = HttpMethod.DELETE, + method = "DELETE", responseClass = APIDeleteSshKeyPairEvent.class ) public class APIDeleteSshKeyPairMsg extends APIMessage implements SshKeyPairMessage, APIAuditor { diff --git a/plugin/sshKeyPair/src/main/java/org/zstack/header/sshkeypair/APIDetachSshKeyPairFromVmInstanceMsg.java b/plugin/sshKeyPair/src/main/java/org/zstack/header/sshkeypair/APIDetachSshKeyPairFromVmInstanceMsg.java index b45f13183cf..10c8f78c50e 100644 --- a/plugin/sshKeyPair/src/main/java/org/zstack/header/sshkeypair/APIDetachSshKeyPairFromVmInstanceMsg.java +++ b/plugin/sshKeyPair/src/main/java/org/zstack/header/sshkeypair/APIDetachSshKeyPairFromVmInstanceMsg.java @@ -8,7 +8,7 @@ @RestRequest( path = "/ssh-key-pair/{sshKeyPairUuid}/vm-instance/{vmInstanceUuid}", - method = HttpMethod.DELETE, + method = "DELETE", responseClass = APIDetachSshKeyPairFromVmInstanceEvent.class ) public class APIDetachSshKeyPairFromVmInstanceMsg extends APIMessage implements SshKeyPairMessage { 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..14fa7c4db94 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 @@ -10,7 +10,7 @@ @TagResourceType(VolumeVO.class) @RestRequest( path = "/ssh-key-pair/generate", - method = HttpMethod.POST, + method = "POST", responseClass = APIGenerateSshKeyPairReply.class, parameterName = "params" ) diff --git a/plugin/sshKeyPair/src/main/java/org/zstack/header/sshkeypair/APIQuerySshKeyPairMsg.java b/plugin/sshKeyPair/src/main/java/org/zstack/header/sshkeypair/APIQuerySshKeyPairMsg.java index fafb3949bfd..6f09d4cbd94 100644 --- a/plugin/sshKeyPair/src/main/java/org/zstack/header/sshkeypair/APIQuerySshKeyPairMsg.java +++ b/plugin/sshKeyPair/src/main/java/org/zstack/header/sshkeypair/APIQuerySshKeyPairMsg.java @@ -13,7 +13,7 @@ path = "/ssh-key-pair", optionalPaths = {"/ssh-key-pair/{uuid}"}, responseClass = APIQuerySshKeyPairReply.class, - method = HttpMethod.GET + method = "GET" ) public class APIQuerySshKeyPairMsg extends APIQueryMessage { public static List __example__() { diff --git a/plugin/sshKeyPair/src/main/java/org/zstack/header/sshkeypair/APIUpdateSshKeyPairMsg.java b/plugin/sshKeyPair/src/main/java/org/zstack/header/sshkeypair/APIUpdateSshKeyPairMsg.java index a5c9c4607bb..485ddf238e4 100644 --- a/plugin/sshKeyPair/src/main/java/org/zstack/header/sshkeypair/APIUpdateSshKeyPairMsg.java +++ b/plugin/sshKeyPair/src/main/java/org/zstack/header/sshkeypair/APIUpdateSshKeyPairMsg.java @@ -10,7 +10,7 @@ @RestRequest( path = "/ssh-key-pair/{uuid}/actions", - method = HttpMethod.PUT, + method = "PUT", responseClass = APIUpdateSshKeyPairEvent.class, isAction = true ) 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..f51823c8307 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 @@ -3,7 +3,7 @@ import org.zstack.header.vo.*; import org.zstack.header.vo.ForeignKey; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; @Entity 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 80a7b50d26c..2f0e8757dff 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,7 +1,7 @@ package org.zstack.header.sshkeypair; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; @StaticMetamodel(SshKeyPairVO.class) diff --git a/plugin/sshKeyPair/src/main/java/org/zstack/header/sshkeypair/SshKeyPairVO.java b/plugin/sshKeyPair/src/main/java/org/zstack/header/sshkeypair/SshKeyPairVO.java index 191a027dd0b..f25fa014a2e 100644 --- a/plugin/sshKeyPair/src/main/java/org/zstack/header/sshkeypair/SshKeyPairVO.java +++ b/plugin/sshKeyPair/src/main/java/org/zstack/header/sshkeypair/SshKeyPairVO.java @@ -6,7 +6,7 @@ import org.zstack.header.vo.ToInventory; import org.zstack.header.zone.ZoneVO; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; @Entity diff --git a/plugin/sshKeyPair/src/main/java/org/zstack/header/sshkeypair/SshKeyPairVO_.java b/plugin/sshKeyPair/src/main/java/org/zstack/header/sshkeypair/SshKeyPairVO_.java index ab248745069..40bc89b2007 100644 --- a/plugin/sshKeyPair/src/main/java/org/zstack/header/sshkeypair/SshKeyPairVO_.java +++ b/plugin/sshKeyPair/src/main/java/org/zstack/header/sshkeypair/SshKeyPairVO_.java @@ -3,8 +3,8 @@ import org.zstack.directory.DirectoryVO; import org.zstack.header.vo.ResourceVO_; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; @StaticMetamodel(SshKeyPairVO.class) 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..2e42caaf6cd 100644 --- a/plugin/sshKeyPair/src/main/java/org/zstack/sshkeypair/SshKeyPairUpgradeExtension.java +++ b/plugin/sshKeyPair/src/main/java/org/zstack/sshkeypair/SshKeyPairUpgradeExtension.java @@ -12,7 +12,7 @@ import org.zstack.header.sshkeypair.*; import org.zstack.header.vm.VmInstanceVO; -import javax.persistence.Tuple; +import jakarta.persistence.Tuple; import java.sql.Timestamp; import java.util.*; diff --git a/plugin/sugonSdnController/pom.xml b/plugin/sugonSdnController/pom.xml index f9e83fa4468..12c4bfe27c3 100644 --- a/plugin/sugonSdnController/pom.xml +++ b/plugin/sugonSdnController/pom.xml @@ -51,29 +51,55 @@ maven-compiler-plugin ${project.compiler.version} - groovy-eclipse-compiler ${project.java.version} ${project.java.version} lines,vars,source true - - - org.codehaus.groovy - groovy-eclipse-compiler - ${groovy.eclipse.compiler} - - - org.codehaus.groovy - groovy-eclipse-batch - ${groovy.eclipse.batch} - - - org.codehaus.mojo + org.codehaus.gmavenplus + gmavenplus-plugin + 3.0.2 + + + + ${project.basedir}/src/main/java + + **/*.groovy + + + + + + + groovy-stubs + generateStubsremoveStubs + + + groovy-compile + compile + + + + + org.apache.groovy + groovy + ${groovy.version} + + + + + dev.aspectj aspectj-maven-plugin ${aspectj.plugin.version} + + + org.aspectj + aspectjtools + ${aspectj.version} + + diff --git a/plugin/sugonSdnController/src/main/java/org/zstack/sugonSdnController/controller/api/TfHttpClient.java b/plugin/sugonSdnController/src/main/java/org/zstack/sugonSdnController/controller/api/TfHttpClient.java index 00ae9db4429..25dce94f5be 100644 --- a/plugin/sugonSdnController/src/main/java/org/zstack/sugonSdnController/controller/api/TfHttpClient.java +++ b/plugin/sugonSdnController/src/main/java/org/zstack/sugonSdnController/controller/api/TfHttpClient.java @@ -315,7 +315,7 @@ public synchronized Status create(ApiObjectBase obj) { if (response == null) { return Status.failure("No response from API server."); } - HttpStatus status = response.getStatusCode(); + HttpStatus status = HttpStatus.valueOf(response.getStatusCode().value()); if (status != HttpStatus.OK && status != HttpStatus.CREATED && status != HttpStatus.ACCEPTED ) { @@ -358,7 +358,7 @@ public synchronized Status update(ApiObjectBase obj) { return Status.failure("No response from API server."); } - HttpStatus status = response.getStatusCode(); + HttpStatus status = HttpStatus.valueOf(response.getStatusCode().value()); if (status != HttpStatus.OK && status != HttpStatus.ACCEPTED ) { String reason = response.getBody(); @@ -383,7 +383,7 @@ public synchronized Status delete(Class cls, String uui return Status.failure("No response from API server."); } - HttpStatus status = response.getStatusCode(); + HttpStatus status = HttpStatus.valueOf(response.getStatusCode().value()); if (status != HttpStatus.OK && status != HttpStatus.NO_CONTENT && status != HttpStatus.ACCEPTED ) { diff --git a/plugin/sugonSdnController/src/main/java/org/zstack/sugonSdnController/header/APICreateL2TfNetworkMsg.java b/plugin/sugonSdnController/src/main/java/org/zstack/sugonSdnController/header/APICreateL2TfNetworkMsg.java index 85a9c2b08f6..ce6a8b1d27f 100644 --- a/plugin/sugonSdnController/src/main/java/org/zstack/sugonSdnController/header/APICreateL2TfNetworkMsg.java +++ b/plugin/sugonSdnController/src/main/java/org/zstack/sugonSdnController/header/APICreateL2TfNetworkMsg.java @@ -16,7 +16,7 @@ }) @RestRequest( path = "/l2-networks/tf", - method = HttpMethod.POST, + method = "POST", responseClass = APICreateL2NetworkEvent.class, parameterName = "params" ) 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..070ebef6fbd 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 @@ -37,8 +37,8 @@ import org.zstack.utils.logging.CLogger; import org.zstack.utils.network.IPv6Constants; -import javax.persistence.Tuple; -import javax.persistence.TypedQuery; +import jakarta.persistence.Tuple; +import jakarta.persistence.TypedQuery; import java.util.*; import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; diff --git a/plugin/vhost/pom.xml b/plugin/vhost/pom.xml index 2c3ae284b8c..75363df7f96 100644 --- a/plugin/vhost/pom.xml +++ b/plugin/vhost/pom.xml @@ -31,29 +31,55 @@ maven-compiler-plugin ${project.compiler.version} - groovy-eclipse-compiler ${project.java.version} ${project.java.version} lines,vars,source true - - - org.codehaus.groovy - groovy-eclipse-compiler - ${groovy.eclipse.compiler} - - - org.codehaus.groovy - groovy-eclipse-batch - ${groovy.eclipse.batch} - - - org.codehaus.mojo + org.codehaus.gmavenplus + gmavenplus-plugin + 3.0.2 + + + + ${project.basedir}/src/main/java + + **/*.groovy + + + + + + + groovy-stubs + generateStubsremoveStubs + + + groovy-compile + compile + + + + + org.apache.groovy + groovy + ${groovy.version} + + + + + dev.aspectj aspectj-maven-plugin ${aspectj.plugin.version} + + + org.aspectj + aspectjtools + ${aspectj.version} + + 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..1ccf1c7313f 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 @@ -1,6 +1,6 @@ package org.zstack.vhost.kvm; -import javax.persistence.TypedQuery; +import jakarta.persistence.TypedQuery; import org.springframework.beans.factory.annotation.Autowired; import org.zstack.compute.vm.VmGlobalConfig; import org.zstack.core.componentloader.PluginRegistry; diff --git a/plugin/vip/pom.xml b/plugin/vip/pom.xml index 828acd6c537..fba185589cb 100755 --- a/plugin/vip/pom.xml +++ b/plugin/vip/pom.xml @@ -18,29 +18,55 @@ maven-compiler-plugin ${project.compiler.version} - groovy-eclipse-compiler ${project.java.version} ${project.java.version} lines,vars,source true - - - org.codehaus.groovy - groovy-eclipse-compiler - ${groovy.eclipse.compiler} - - - org.codehaus.groovy - groovy-eclipse-batch - ${groovy.eclipse.batch} - - - org.codehaus.mojo + org.codehaus.gmavenplus + gmavenplus-plugin + 3.0.2 + + + + ${project.basedir}/src/main/java + + **/*.groovy + + + + + + + groovy-stubs + generateStubsremoveStubs + + + groovy-compile + compile + + + + + org.apache.groovy + groovy + ${groovy.version} + + + + + dev.aspectj aspectj-maven-plugin ${aspectj.plugin.version} + + + org.aspectj + aspectjtools + ${aspectj.version} + + diff --git a/plugin/vip/src/main/java/org/zstack/network/service/vip/APIChangeVipStateMsg.java b/plugin/vip/src/main/java/org/zstack/network/service/vip/APIChangeVipStateMsg.java index 1b1c487ae06..307e7df1cc4 100755 --- a/plugin/vip/src/main/java/org/zstack/network/service/vip/APIChangeVipStateMsg.java +++ b/plugin/vip/src/main/java/org/zstack/network/service/vip/APIChangeVipStateMsg.java @@ -12,7 +12,7 @@ @Action(category = VipConstant.ACTION_CATEGORY) @RestRequest( path = "/vips/{uuid}/actions", - method = HttpMethod.PUT, + method = "PUT", responseClass = APIChangeVipStateEvent.class, isAction = true ) 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..1fd2f8d3319 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 @@ -10,7 +10,7 @@ @RestRequest( path = "/vips/{vipUuid}/check-port-availability", - method = HttpMethod.GET, + method = "GET", responseClass = APICheckVipPortAvailabilityReply.class ) public class APICheckVipPortAvailabilityMsg extends APIGetMessage { 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..71595ab4905 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 @@ -53,7 +53,7 @@ @Action(category = VipConstant.ACTION_CATEGORY) @RestRequest( path = "/vips", - method = HttpMethod.POST, + method = "POST", responseClass = APICreateVipEvent.class, parameterName = "params" ) diff --git a/plugin/vip/src/main/java/org/zstack/network/service/vip/APIDeleteVipMsg.java b/plugin/vip/src/main/java/org/zstack/network/service/vip/APIDeleteVipMsg.java index 26d1035c33e..abf7f82bb27 100755 --- a/plugin/vip/src/main/java/org/zstack/network/service/vip/APIDeleteVipMsg.java +++ b/plugin/vip/src/main/java/org/zstack/network/service/vip/APIDeleteVipMsg.java @@ -39,7 +39,7 @@ @Action(category = VipConstant.ACTION_CATEGORY) @RestRequest( path = "/vips/{uuid}", - method = HttpMethod.DELETE, + method = "DELETE", responseClass = APIDeleteVipEvent.class ) public class APIDeleteVipMsg extends APIDeleteMessage implements L3NetworkMessage, VipMessage { 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..b4f4cf0d8db 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 @@ -10,7 +10,7 @@ @RestRequest( path = "/vips/{vipUuid}/get-port-availability", - method = HttpMethod.GET, + method = "GET", responseClass = APIGetVipAvailablePortReply.class ) public class APIGetVipAvailablePortMsg extends APIGetMessage { diff --git a/plugin/vip/src/main/java/org/zstack/network/service/vip/APIQueryVipMsg.java b/plugin/vip/src/main/java/org/zstack/network/service/vip/APIQueryVipMsg.java index 2222eebca66..db532527de7 100755 --- a/plugin/vip/src/main/java/org/zstack/network/service/vip/APIQueryVipMsg.java +++ b/plugin/vip/src/main/java/org/zstack/network/service/vip/APIQueryVipMsg.java @@ -21,7 +21,7 @@ @RestRequest( path = "/vips", optionalPaths = {"/vips/{uuid}"}, - method = HttpMethod.GET, + method = "GET", responseClass = APIQueryVipReply.class ) public class APIQueryVipMsg extends APIQueryMessage { diff --git a/plugin/vip/src/main/java/org/zstack/network/service/vip/APIUpdateVipMsg.java b/plugin/vip/src/main/java/org/zstack/network/service/vip/APIUpdateVipMsg.java index 273feb4dca0..7feb2817612 100755 --- a/plugin/vip/src/main/java/org/zstack/network/service/vip/APIUpdateVipMsg.java +++ b/plugin/vip/src/main/java/org/zstack/network/service/vip/APIUpdateVipMsg.java @@ -13,7 +13,7 @@ @Action(category = VipConstant.ACTION_CATEGORY) @RestRequest( path = "/vips/{uuid}/actions", - method = HttpMethod.PUT, + method = "PUT", responseClass = APIUpdateVipEvent.class, isAction = true ) 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..836e78cf5ea 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 @@ -21,7 +21,7 @@ import org.zstack.utils.function.Function; import org.zstack.utils.logging.CLogger; -import javax.persistence.TypedQuery; +import jakarta.persistence.TypedQuery; import java.util.Arrays; import java.util.List; import java.util.concurrent.Callable; 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..bcf089576af 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 @@ -9,7 +9,7 @@ import org.zstack.utils.network.IPv6Constants; import org.zstack.utils.network.NetworkUtils; -import javax.persistence.Column; +import jakarta.persistence.Column; import java.io.Serializable; import java.sql.Timestamp; import java.util.*; diff --git a/plugin/vip/src/main/java/org/zstack/network/service/vip/VipNetworkServicesRefVO.java b/plugin/vip/src/main/java/org/zstack/network/service/vip/VipNetworkServicesRefVO.java index b4a2b1af818..52b1ddc0d19 100644 --- a/plugin/vip/src/main/java/org/zstack/network/service/vip/VipNetworkServicesRefVO.java +++ b/plugin/vip/src/main/java/org/zstack/network/service/vip/VipNetworkServicesRefVO.java @@ -4,7 +4,7 @@ import org.zstack.header.vo.ForeignKey; import org.zstack.header.vo.ForeignKey.ReferenceOption; -import javax.persistence.*; +import jakarta.persistence.*; import java.io.Serializable; import java.sql.Timestamp; diff --git a/plugin/vip/src/main/java/org/zstack/network/service/vip/VipNetworkServicesRefVO_.java b/plugin/vip/src/main/java/org/zstack/network/service/vip/VipNetworkServicesRefVO_.java index f3b15533084..93135881423 100644 --- a/plugin/vip/src/main/java/org/zstack/network/service/vip/VipNetworkServicesRefVO_.java +++ b/plugin/vip/src/main/java/org/zstack/network/service/vip/VipNetworkServicesRefVO_.java @@ -5,8 +5,8 @@ * @date: 2019-05-06 **/ -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; @StaticMetamodel(VipNetworkServicesRefVO.class) diff --git a/plugin/vip/src/main/java/org/zstack/network/service/vip/VipPeerL3NetworkRefVO.java b/plugin/vip/src/main/java/org/zstack/network/service/vip/VipPeerL3NetworkRefVO.java index 0dd174e0ec1..0c810fc809b 100755 --- a/plugin/vip/src/main/java/org/zstack/network/service/vip/VipPeerL3NetworkRefVO.java +++ b/plugin/vip/src/main/java/org/zstack/network/service/vip/VipPeerL3NetworkRefVO.java @@ -6,7 +6,7 @@ import org.zstack.header.vo.SoftDeletionCascade; import org.zstack.header.vo.SoftDeletionCascades; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; /** diff --git a/plugin/vip/src/main/java/org/zstack/network/service/vip/VipPeerL3NetworkRefVO_.java b/plugin/vip/src/main/java/org/zstack/network/service/vip/VipPeerL3NetworkRefVO_.java index 307ae8a3059..4b4b24a7af4 100644 --- a/plugin/vip/src/main/java/org/zstack/network/service/vip/VipPeerL3NetworkRefVO_.java +++ b/plugin/vip/src/main/java/org/zstack/network/service/vip/VipPeerL3NetworkRefVO_.java @@ -1,7 +1,7 @@ package org.zstack.network.service.vip; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; /** 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..deccc57f02b 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 @@ -11,7 +11,7 @@ import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; import java.util.HashSet; import java.util.Set; 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 d2bccf228fc..7d04e0c4f86 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,8 @@ import org.zstack.header.vo.ResourceVO_; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; @StaticMetamodel(VipVO.class) diff --git a/plugin/virtualRouterProvider/pom.xml b/plugin/virtualRouterProvider/pom.xml index c50ab0511cb..d5e0c016765 100755 --- a/plugin/virtualRouterProvider/pom.xml +++ b/plugin/virtualRouterProvider/pom.xml @@ -1,125 +1,151 @@ - - 4.0.0 - - org.zstack - plugin + + 4.0.0 + + org.zstack + plugin 5.5.0 - - virtualRouterProvider - - - - - org.apache.maven.plugins - maven-compiler-plugin - ${project.compiler.version} - - groovy-eclipse-compiler - ${project.java.version} - ${project.java.version} - lines,vars,source - true - - - - org.codehaus.groovy - groovy-eclipse-compiler - ${groovy.eclipse.compiler} - - - org.codehaus.groovy - groovy-eclipse-batch - ${groovy.eclipse.batch} - - - - - org.codehaus.mojo - aspectj-maven-plugin - ${aspectj.plugin.version} - - - - compile - test-compile - - - - - ${project.java.version} - ${project.java.version} - ${project.java.version} - true - - - org.springframework - spring-aspects - - - org.zstack - core - - - org.zstack - header - - - - - - - - - - org.zstack - network - ${project.version} - - - org.zstack - image - ${project.version} - - - org.zstack - vip - ${project.version} - - - org.zstack - configuration - ${project.version} - - - org.zstack - compute - ${project.version} - - - org.zstack - kvm - ${project.version} - - - org.zstack - portForwarding - ${project.version} - - - org.zstack - eip - ${project.version} - - - org.zstack - applianceVm - ${project.version} - - - org.zstack - loadBalancer - ${project.version} - - - + + virtualRouterProvider + + + + + org.apache.maven.plugins + maven-compiler-plugin + ${project.compiler.version} + + ${project.java.version} + ${project.java.version} + lines,vars,source + true + + + + org.codehaus.gmavenplus + gmavenplus-plugin + 3.0.2 + + + + ${project.basedir}/src/main/java + + **/*.groovy + + + + + + + groovy-stubs + generateStubsremoveStubs + + + groovy-compile + compile + + + + + org.apache.groovy + groovy + ${groovy.version} + + + + + dev.aspectj + aspectj-maven-plugin + ${aspectj.plugin.version} + + + org.aspectj + aspectjtools + ${aspectj.version} + + + + + + compile + test-compile + + + + + ${project.java.version} + ${project.java.version} + ${project.java.version} + true + + + org.springframework + spring-aspects + + + org.zstack + core + + + org.zstack + header + + + + + + + + + + org.zstack + network + ${project.version} + + + org.zstack + image + ${project.version} + + + org.zstack + vip + ${project.version} + + + org.zstack + configuration + ${project.version} + + + org.zstack + compute + ${project.version} + + + org.zstack + kvm + ${project.version} + + + org.zstack + portForwarding + ${project.version} + + + org.zstack + eip + ${project.version} + + + org.zstack + applianceVm + ${project.version} + + + org.zstack + loadBalancer + ${project.version} + + + diff --git a/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/APICreateVirtualRouterOfferingMsg.java b/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/APICreateVirtualRouterOfferingMsg.java index ff5a53941ec..6a9627eb5f0 100755 --- a/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/APICreateVirtualRouterOfferingMsg.java +++ b/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/APICreateVirtualRouterOfferingMsg.java @@ -19,7 +19,7 @@ path = "/instance-offerings/virtual-routers", responseClass = APICreateInstanceOfferingEvent.class, parameterName = "params", - method = HttpMethod.POST + method = "POST" ) public class APICreateVirtualRouterOfferingMsg extends APICreateInstanceOfferingMsg { @APIParam(resourceType = ZoneVO.class) diff --git a/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/APICreateVirtualRouterVmMsg.java b/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/APICreateVirtualRouterVmMsg.java index 0768569cf17..c9e29c0fd6f 100755 --- a/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/APICreateVirtualRouterVmMsg.java +++ b/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/APICreateVirtualRouterVmMsg.java @@ -16,7 +16,7 @@ /* @RestRequest( path = "/vm-instances/appliances/virtual-routers", - method = HttpMethod.POST, + method = "POST", responseClass = APICreateVmInstanceEvent.class, parameterName = "params" ) diff --git a/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/APIGetAttachablePublicL3ForVRouterMsg.java b/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/APIGetAttachablePublicL3ForVRouterMsg.java index 850c8aef8ec..fc62f057883 100644 --- a/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/APIGetAttachablePublicL3ForVRouterMsg.java +++ b/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/APIGetAttachablePublicL3ForVRouterMsg.java @@ -11,7 +11,7 @@ @Action(category = VirtualRouterConstant.ACTION_CATEGORY, names = {"read"}) @RestRequest( path = "/vm-instances/appliances/virtual-routers/{vmInstanceUuid}/attachable-public-l3s", - method = HttpMethod.GET, + method = "GET", responseClass = APIGetAttachablePublicL3ForVRouterReply.class ) public class APIGetAttachablePublicL3ForVRouterMsg extends APISyncCallMessage implements VmInstanceMessage { diff --git a/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/APIGetVipUsedPortsMsg.java b/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/APIGetVipUsedPortsMsg.java index 7139132dc67..9cadd8e5c27 100755 --- a/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/APIGetVipUsedPortsMsg.java +++ b/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/APIGetVipUsedPortsMsg.java @@ -12,7 +12,7 @@ @Action(category = VirtualRouterConstant.ACTION_CATEGORY, names = {"read"}) @RestRequest( path = "/vips/{uuid}/usedports", - method = HttpMethod.GET, + method = "GET", responseClass = APIGetVipUsedPortsReply.class ) public class APIGetVipUsedPortsMsg extends APISyncCallMessage { diff --git a/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/APIProvisionVirtualRouterConfigMsg.java b/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/APIProvisionVirtualRouterConfigMsg.java index f04bd029bff..e0daa6af509 100644 --- a/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/APIProvisionVirtualRouterConfigMsg.java +++ b/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/APIProvisionVirtualRouterConfigMsg.java @@ -12,7 +12,7 @@ @Action(category = VirtualRouterConstant.ACTION_CATEGORY) @RestRequest( path = "/vm-instances/appliances/virtual-routers/{vmInstanceUuid}/provision", - method = HttpMethod.PUT, + method = "PUT", responseClass = APIProvisionVirtualRouterConfigEvent.class, isAction = true ) diff --git a/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/APIQueryVirtualRouterOfferingMsg.java b/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/APIQueryVirtualRouterOfferingMsg.java index 0df6fdbbaef..6a6933dd69d 100755 --- a/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/APIQueryVirtualRouterOfferingMsg.java +++ b/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/APIQueryVirtualRouterOfferingMsg.java @@ -17,7 +17,7 @@ path = "/instance-offerings/virtual-routers", optionalPaths = {"/instance-offerings/virtual-routers/{uuid}"}, responseClass = APIQueryVirtualRouterOfferingReply.class, - method = HttpMethod.GET + method = "GET" ) public class APIQueryVirtualRouterOfferingMsg extends APIQueryMessage { diff --git a/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/APIQueryVirtualRouterVmMsg.java b/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/APIQueryVirtualRouterVmMsg.java index 39397e761d0..58d3764894c 100755 --- a/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/APIQueryVirtualRouterVmMsg.java +++ b/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/APIQueryVirtualRouterVmMsg.java @@ -18,7 +18,7 @@ @RestRequest( path = "/vm-instances/appliances/virtual-routers", optionalPaths = {"/vm-instances/appliances/virtual-routers/{uuid}"}, - method = HttpMethod.GET, + method = "GET", responseClass = APIQueryApplianceVmReply.class ) public class APIQueryVirtualRouterVmMsg extends APIQueryApplianceVmMsg { diff --git a/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/APIReconnectVirtualRouterMsg.java b/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/APIReconnectVirtualRouterMsg.java index ac1ff76faab..835444c0b63 100755 --- a/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/APIReconnectVirtualRouterMsg.java +++ b/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/APIReconnectVirtualRouterMsg.java @@ -14,7 +14,7 @@ @Action(category = VirtualRouterConstant.ACTION_CATEGORY) @RestRequest( path = "/vm-instances/appliances/virtual-routers/{vmInstanceUuid}/actions", - method = HttpMethod.PUT, + method = "PUT", responseClass = APIReconnectVirtualRouterEvent.class, isAction = true ) diff --git a/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/APIUpdateVirtualRouterMsg.java b/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/APIUpdateVirtualRouterMsg.java index 2c20e01e2b1..c27998927f1 100644 --- a/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/APIUpdateVirtualRouterMsg.java +++ b/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/APIUpdateVirtualRouterMsg.java @@ -17,7 +17,7 @@ @Action(category = VirtualRouterConstant.ACTION_CATEGORY) @RestRequest( path = "/vm-instances/appliances/virtual-routers/{vmInstanceUuid}/actions", - method = HttpMethod.PUT, + method = "PUT", isAction = true, responseClass = APIUpdateVirtualRouterEvent.class ) diff --git a/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/APIUpdateVirtualRouterOfferingMsg.java b/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/APIUpdateVirtualRouterOfferingMsg.java index b0ffc342a9e..f9026661378 100755 --- a/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/APIUpdateVirtualRouterOfferingMsg.java +++ b/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/APIUpdateVirtualRouterOfferingMsg.java @@ -15,7 +15,7 @@ @RestRequest( path = "/instance-offerings/virtual-routers/{uuid}/actions", responseClass = APIUpdateInstanceOfferingEvent.class, - method = HttpMethod.PUT, + method = "PUT", isAction = true ) public class APIUpdateVirtualRouterOfferingMsg extends APIUpdateInstanceOfferingMsg { 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..acdd7278974 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 @@ -38,7 +38,7 @@ import org.zstack.utils.network.IPv6NetworkUtils; import org.zstack.utils.network.NetworkUtils; -import javax.persistence.Tuple; +import jakarta.persistence.Tuple; import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; diff --git a/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/VirtualRouterBootstrapIsoVO.java b/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/VirtualRouterBootstrapIsoVO.java index 540849d3384..d6d68402ebe 100755 --- a/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/VirtualRouterBootstrapIsoVO.java +++ b/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/VirtualRouterBootstrapIsoVO.java @@ -4,7 +4,7 @@ import org.zstack.header.vo.ForeignKey; import org.zstack.header.vo.ForeignKey.ReferenceOption; -import javax.persistence.*; +import jakarta.persistence.*; @Entity @Table diff --git a/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/VirtualRouterBootstrapIsoVO_.java b/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/VirtualRouterBootstrapIsoVO_.java index 94f43336a5a..ea45501827c 100755 --- a/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/VirtualRouterBootstrapIsoVO_.java +++ b/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/VirtualRouterBootstrapIsoVO_.java @@ -1,7 +1,7 @@ package org.zstack.network.service.virtualrouter; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; @StaticMetamodel(VirtualRouterBootstrapIsoVO.class) public class VirtualRouterBootstrapIsoVO_ { 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..8cc4851e4f1 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 @@ -83,7 +83,7 @@ import org.zstack.utils.network.IPv6NetworkUtils; import org.zstack.utils.network.NetworkUtils; -import javax.persistence.TypedQuery; +import jakarta.persistence.TypedQuery; import java.util.*; import java.util.concurrent.Callable; import java.util.concurrent.ConcurrentHashMap; @@ -163,7 +163,7 @@ public class VirtualRouterManagerImpl extends AbstractService implements Virtual private TagManager tagMgr; @Autowired private NetworkServiceManager nwServiceMgr; - @Autowired + @Autowired(required = false) private VyosVersionManager vyosVersionManager; @Autowired private LbConfigProxy lbProxy; @@ -2261,6 +2261,10 @@ private void handle(CheckVirtualRouterVmVersionMsg cmsg) { return; } + if (vyosVersionManager == null) { + return; + } + vyosVersionManager.vyosRouterVersionCheck(inv.getUuid(), new ReturnValueCompletion(cmsg) { @Override public void success(VyosVersionCheckResult returnValue) { diff --git a/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/VirtualRouterMetadataVO.java b/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/VirtualRouterMetadataVO.java index 8383d0c3916..21f20dc0c26 100644 --- a/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/VirtualRouterMetadataVO.java +++ b/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/VirtualRouterMetadataVO.java @@ -7,10 +7,10 @@ import org.zstack.header.vo.SoftDeletionCascade; import org.zstack.header.vo.SoftDeletionCascades; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.Id; -import javax.persistence.Table; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.Id; +import jakarta.persistence.Table; @Entity @Table diff --git a/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/VirtualRouterMetadataVO_.java b/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/VirtualRouterMetadataVO_.java index 776989d731c..b10272eb752 100644 --- a/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/VirtualRouterMetadataVO_.java +++ b/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/VirtualRouterMetadataVO_.java @@ -1,7 +1,7 @@ package org.zstack.network.service.virtualrouter; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; @StaticMetamodel(VirtualRouterMetadataVO.class) public class VirtualRouterMetadataVO_ { diff --git a/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/VirtualRouterOfferingCascadeExtension.java b/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/VirtualRouterOfferingCascadeExtension.java index a6853f45b0f..5083c9d1290 100755 --- a/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/VirtualRouterOfferingCascadeExtension.java +++ b/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/VirtualRouterOfferingCascadeExtension.java @@ -21,7 +21,7 @@ import org.zstack.utils.CollectionUtils; import org.zstack.utils.function.Function; -import javax.persistence.Query; +import jakarta.persistence.Query; import java.util.Arrays; import java.util.List; diff --git a/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/VirtualRouterOfferingVO.java b/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/VirtualRouterOfferingVO.java index b0f3dbc44c1..5878057cda9 100755 --- a/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/VirtualRouterOfferingVO.java +++ b/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/VirtualRouterOfferingVO.java @@ -10,9 +10,9 @@ import org.zstack.header.vo.ForeignKey.ReferenceOption; import org.zstack.header.zone.ZoneEO; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.Table; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.Table; @Entity @Table diff --git a/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/VirtualRouterOfferingVO_.java b/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/VirtualRouterOfferingVO_.java index f44235938d2..f8a3bea8e5f 100755 --- a/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/VirtualRouterOfferingVO_.java +++ b/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/VirtualRouterOfferingVO_.java @@ -2,8 +2,8 @@ import org.zstack.header.configuration.InstanceOfferingVO_; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; @StaticMetamodel(VirtualRouterOfferingVO.class) public class VirtualRouterOfferingVO_ extends InstanceOfferingVO_ { diff --git a/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/VirtualRouterSoftwareVersionVO.java b/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/VirtualRouterSoftwareVersionVO.java index 44bd2127d27..44a8c7f85e4 100644 --- a/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/VirtualRouterSoftwareVersionVO.java +++ b/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/VirtualRouterSoftwareVersionVO.java @@ -6,10 +6,10 @@ import org.zstack.header.vo.SoftDeletionCascade; import org.zstack.header.vo.SoftDeletionCascades; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.Id; -import javax.persistence.Table; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.Id; +import jakarta.persistence.Table; @Entity @Table diff --git a/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/VirtualRouterSoftwareVersionVO_.java b/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/VirtualRouterSoftwareVersionVO_.java index c2a6986b8b0..47220ce7654 100644 --- a/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/VirtualRouterSoftwareVersionVO_.java +++ b/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/VirtualRouterSoftwareVersionVO_.java @@ -1,7 +1,7 @@ package org.zstack.network.service.virtualrouter; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; @StaticMetamodel(VirtualRouterSoftwareVersionVO.class) public class VirtualRouterSoftwareVersionVO_ { 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..60da722003c 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 @@ -17,7 +17,7 @@ import org.zstack.utils.CollectionUtils; import org.zstack.utils.function.Function; -import javax.persistence.JoinColumn; +import jakarta.persistence.JoinColumn; import java.util.ArrayList; import java.util.Collection; import java.util.List; diff --git a/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/VirtualRouterVmVO.java b/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/VirtualRouterVmVO.java index c1e5a40a9e7..ad32dc18ff1 100755 --- a/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/VirtualRouterVmVO.java +++ b/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/VirtualRouterVmVO.java @@ -10,7 +10,7 @@ import org.zstack.header.vo.NoView; import org.zstack.network.service.virtualrouter.vip.VirtualRouterVipVO; -import javax.persistence.*; +import jakarta.persistence.*; import java.util.ArrayList; import java.util.HashSet; import java.util.List; diff --git a/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/VirtualRouterVmVO_.java b/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/VirtualRouterVmVO_.java index 84d572c7455..463a193ba4e 100755 --- a/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/VirtualRouterVmVO_.java +++ b/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/VirtualRouterVmVO_.java @@ -2,8 +2,8 @@ import org.zstack.appliancevm.ApplianceVmVO_; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; /** */ 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..522a5259258 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 @@ -34,7 +34,7 @@ import org.zstack.utils.gson.JSONObjectUtil; import org.zstack.utils.logging.CLogger; -import javax.persistence.TypedQuery; +import jakarta.persistence.TypedQuery; import java.util.ArrayList; import java.util.Arrays; import java.util.Iterator; 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..a5f85bf9468 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 @@ -35,8 +35,8 @@ import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; -import javax.persistence.Tuple; -import javax.persistence.TypedQuery; +import jakarta.persistence.Tuple; +import jakarta.persistence.TypedQuery; import java.util.*; import static org.zstack.core.Platform.operr; 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..24e2800757f 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 @@ -26,7 +26,7 @@ import static org.zstack.core.Platform.operr; import java.util.*; -import javax.persistence.Tuple; +import jakarta.persistence.Tuple; import static org.zstack.utils.clouderrorcode.CloudOperationsErrorCode.*; /** 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..f3cc2eac8bb 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 @@ -37,7 +37,7 @@ import org.zstack.utils.logging.CLogger; import org.zstack.utils.network.IPv6NetworkUtils; -import javax.persistence.Tuple; +import jakarta.persistence.Tuple; import java.util.*; import java.util.stream.Collectors; diff --git a/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/eip/VirtualRouterEipRefVO.java b/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/eip/VirtualRouterEipRefVO.java index 6b613c6f3fe..de79c1dc570 100755 --- a/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/eip/VirtualRouterEipRefVO.java +++ b/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/eip/VirtualRouterEipRefVO.java @@ -11,10 +11,10 @@ import org.zstack.network.service.virtualrouter.VirtualRouter; import org.zstack.network.service.virtualrouter.VirtualRouterVmVO; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.Id; -import javax.persistence.Table; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.Id; +import jakarta.persistence.Table; /** */ diff --git a/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/eip/VirtualRouterEipRefVO_.java b/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/eip/VirtualRouterEipRefVO_.java index 0099136802d..67dbe52a601 100755 --- a/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/eip/VirtualRouterEipRefVO_.java +++ b/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/eip/VirtualRouterEipRefVO_.java @@ -1,7 +1,7 @@ package org.zstack.network.service.virtualrouter.eip; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; /** */ 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..873713e3f5d 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 @@ -32,8 +32,8 @@ import org.zstack.utils.logging.CLogger; import org.zstack.utils.network.IPv6NetworkUtils; -import javax.persistence.Tuple; -import javax.persistence.TypedQuery; +import jakarta.persistence.Tuple; +import jakarta.persistence.TypedQuery; import java.util.*; import java.util.concurrent.Callable; import java.util.stream.Collectors; 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..e95a6e8a7af 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 @@ -11,14 +11,14 @@ import org.zstack.network.service.lb.*; import org.zstack.network.service.virtualrouter.vyos.VyosConstants; -import javax.persistence.TypedQuery; +import jakarta.persistence.TypedQuery; import java.util.List; @Configurable(preConstruction = true, autowire = Autowire.BY_TYPE) public class SharedLoadBalancerFactory implements LoadBalancerFactory { @Autowired DatabaseFacade dbf; - @Autowired + @Autowired(required = false) LoadBalancerManager lbMgr; @Override @@ -57,6 +57,10 @@ public LoadBalancerBackend getLoadBalancerBackend(LoadBalancerVO vo) { return null; } + if (lbMgr == null) { + return null; + } + return lbMgr.getBackend(vo.getProviderType()); } @@ -85,6 +89,10 @@ public String getProviderTypeByVmNicUuid(String nicUuid) { @Override public List getAttachableVmNicsForServerGroup(LoadBalancerVO lbVO, LoadBalancerServerGroupVO groupVO, int ipVersion) { + if (lbMgr == null) { + return new java.util.ArrayList<>(); + } + String providerType = VyosConstants.VYOS_ROUTER_PROVIDER_TYPE; if (lbVO.getProviderType() != null) { providerType = lbVO.getProviderType(); 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..5c2de2d705f 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 @@ -97,7 +97,7 @@ public class VirtualRouterLoadBalancerBackend extends AbstractVirtualRouterBacke private LbConfigProxy proxy; @Autowired private VirtualRouterHaBackend haBackend; - @Autowired + @Autowired(required = false) private LoadBalancerManager lbMgr; @Autowired private VipConfigProxy vipProxy; diff --git a/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/lb/VirtualRouterLoadBalancerRefVO.java b/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/lb/VirtualRouterLoadBalancerRefVO.java index 1d465d6a428..c87392f565b 100755 --- a/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/lb/VirtualRouterLoadBalancerRefVO.java +++ b/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/lb/VirtualRouterLoadBalancerRefVO.java @@ -8,7 +8,7 @@ import org.zstack.network.service.vip.VipVO; import org.zstack.network.service.virtualrouter.VirtualRouterVmVO; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; /** diff --git a/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/lb/VirtualRouterLoadBalancerRefVO_.java b/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/lb/VirtualRouterLoadBalancerRefVO_.java index 77520e229e9..e1f35ac7ad0 100755 --- a/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/lb/VirtualRouterLoadBalancerRefVO_.java +++ b/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/lb/VirtualRouterLoadBalancerRefVO_.java @@ -1,7 +1,7 @@ package org.zstack.network.service.virtualrouter.lb; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; /** 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..9b65ce144ec 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 @@ -31,7 +31,7 @@ import org.zstack.utils.function.Function; import org.zstack.utils.function.ListFunction; -import javax.persistence.TypedQuery; +import jakarta.persistence.TypedQuery; import java.util.*; import java.util.concurrent.Callable; import java.util.stream.Collectors; diff --git a/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/portforwarding/VirtualRouterPortForwardingBackend.java b/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/portforwarding/VirtualRouterPortForwardingBackend.java index 55e4484d00d..d79aec86a89 100755 --- a/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/portforwarding/VirtualRouterPortForwardingBackend.java +++ b/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/portforwarding/VirtualRouterPortForwardingBackend.java @@ -36,8 +36,8 @@ import org.zstack.utils.gson.JSONObjectUtil; import org.zstack.utils.logging.CLogger; -import javax.persistence.Tuple; -import javax.persistence.TypedQuery; +import jakarta.persistence.Tuple; +import jakarta.persistence.TypedQuery; import java.util.*; import java.util.stream.Collectors; diff --git a/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/portforwarding/VirtualRouterPortForwardingRuleRefVO.java b/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/portforwarding/VirtualRouterPortForwardingRuleRefVO.java index 69ab4d93c3c..81dbf4f5cbb 100755 --- a/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/portforwarding/VirtualRouterPortForwardingRuleRefVO.java +++ b/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/portforwarding/VirtualRouterPortForwardingRuleRefVO.java @@ -11,10 +11,10 @@ import org.zstack.network.service.vip.VipVO; import org.zstack.network.service.virtualrouter.VirtualRouterVmVO; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.Id; -import javax.persistence.Table; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.Id; +import jakarta.persistence.Table; @Entity @Table diff --git a/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/portforwarding/VirtualRouterPortForwardingRuleRefVO_.java b/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/portforwarding/VirtualRouterPortForwardingRuleRefVO_.java index 0ccb928515e..89bd872d16d 100755 --- a/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/portforwarding/VirtualRouterPortForwardingRuleRefVO_.java +++ b/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/portforwarding/VirtualRouterPortForwardingRuleRefVO_.java @@ -1,7 +1,7 @@ package org.zstack.network.service.virtualrouter.portforwarding; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; @StaticMetamodel(VirtualRouterPortForwardingRuleRefVO.class) public class VirtualRouterPortForwardingRuleRefVO_ { diff --git a/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/portforwarding/VirtualRouterSyncPortForwardingRulesOnStartFlow.java b/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/portforwarding/VirtualRouterSyncPortForwardingRulesOnStartFlow.java index 9ae269fae94..0be389ac5cc 100755 --- a/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/portforwarding/VirtualRouterSyncPortForwardingRulesOnStartFlow.java +++ b/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/portforwarding/VirtualRouterSyncPortForwardingRulesOnStartFlow.java @@ -27,8 +27,8 @@ import static org.zstack.core.Platform.operr; -import javax.persistence.Tuple; -import javax.persistence.TypedQuery; +import jakarta.persistence.Tuple; +import jakarta.persistence.TypedQuery; import java.util.*; import java.util.stream.Collectors; import static org.zstack.utils.clouderrorcode.CloudOperationsErrorCode.*; diff --git a/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/vip/VirtualRouterSyncVipForNewCreateFlow.java b/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/vip/VirtualRouterSyncVipForNewCreateFlow.java index 713f33ff4d1..d3c6c64aa68 100755 --- a/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/vip/VirtualRouterSyncVipForNewCreateFlow.java +++ b/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/vip/VirtualRouterSyncVipForNewCreateFlow.java @@ -22,7 +22,7 @@ import org.zstack.network.service.virtualrouter.VirtualRouterVmInventory; import org.zstack.network.service.virtualrouter.VirtualRouterManager; -import javax.persistence.TypedQuery; +import jakarta.persistence.TypedQuery; import java.util.ArrayList; import java.util.List; import java.util.Map; diff --git a/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/vip/VirtualRouterVipVO.java b/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/vip/VirtualRouterVipVO.java index c97ade5bd28..b6b2e7b2454 100755 --- a/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/vip/VirtualRouterVipVO.java +++ b/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/vip/VirtualRouterVipVO.java @@ -10,7 +10,7 @@ import org.zstack.network.service.vip.VipVO; import org.zstack.network.service.virtualrouter.VirtualRouterVmVO; -import javax.persistence.*; +import jakarta.persistence.*; @Entity @Table diff --git a/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/vip/VirtualRouterVipVO_.java b/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/vip/VirtualRouterVipVO_.java index 89a6a505e91..cd790eb102a 100755 --- a/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/vip/VirtualRouterVipVO_.java +++ b/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/vip/VirtualRouterVipVO_.java @@ -1,7 +1,7 @@ package org.zstack.network.service.virtualrouter.vip; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; @StaticMetamodel(VirtualRouterVipVO.class) public class VirtualRouterVipVO_ { diff --git a/plugin/vxlan/pom.xml b/plugin/vxlan/pom.xml index 31668f4bdcf..653acd70ca1 100755 --- a/plugin/vxlan/pom.xml +++ b/plugin/vxlan/pom.xml @@ -51,29 +51,55 @@ maven-compiler-plugin ${project.compiler.version} - groovy-eclipse-compiler ${project.java.version} ${project.java.version} lines,vars,source true - - - org.codehaus.groovy - groovy-eclipse-compiler - ${groovy.eclipse.compiler} - - - org.codehaus.groovy - groovy-eclipse-batch - ${groovy.eclipse.batch} - - - org.codehaus.mojo + org.codehaus.gmavenplus + gmavenplus-plugin + 3.0.2 + + + + ${project.basedir}/src/main/java + + **/*.groovy + + + + + + + groovy-stubs + generateStubsremoveStubs + + + groovy-compile + compile + + + + + org.apache.groovy + groovy + ${groovy.version} + + + + + dev.aspectj aspectj-maven-plugin ${aspectj.plugin.version} + + + org.aspectj + aspectjtools + ${aspectj.version} + + diff --git a/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vtep/APICreateVxlanVtepMsg.java b/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vtep/APICreateVxlanVtepMsg.java index af91af29da6..c59ea53d88d 100644 --- a/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vtep/APICreateVxlanVtepMsg.java +++ b/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vtep/APICreateVxlanVtepMsg.java @@ -16,7 +16,7 @@ @Action(category = VxlanNetworkPoolConstant.ACTION_CATEGORY) @RestRequest( path = "/l2-networks/vxlan/vteps", - method = HttpMethod.POST, + method = "POST", responseClass = APICreateVxlanVtepEvent.class, parameterName = "params" ) diff --git a/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vtep/APIQueryVtepMsg.java b/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vtep/APIQueryVtepMsg.java index 24426a14f77..dd3a89db5a8 100644 --- a/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vtep/APIQueryVtepMsg.java +++ b/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vtep/APIQueryVtepMsg.java @@ -16,7 +16,7 @@ @RestRequest( path = "/l2-networks/vteps", optionalPaths = {"/l2-networks/vteps/{uuid}"}, - method = HttpMethod.GET, + method = "GET", responseClass = APIQueryVtepReply.class ) public class APIQueryVtepMsg extends APIQueryMessage { diff --git a/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vtep/RemoteVtepInventory.java b/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vtep/RemoteVtepInventory.java index 0f3bf367a32..c6674bc8a9d 100644 --- a/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vtep/RemoteVtepInventory.java +++ b/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vtep/RemoteVtepInventory.java @@ -8,7 +8,7 @@ import org.zstack.network.l2.vxlan.vxlanNetworkPool.L2VxlanNetworkPoolInventory; import org.zstack.network.l2.vxlan.vxlanNetworkPool.VxlanNetworkPoolVO; -import javax.persistence.JoinColumn; +import jakarta.persistence.JoinColumn; import java.sql.Timestamp; import java.util.ArrayList; import java.util.Collection; diff --git a/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vtep/RemoteVtepVO.java b/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vtep/RemoteVtepVO.java index 5acc55e58cd..bd8c7834349 100755 --- a/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vtep/RemoteVtepVO.java +++ b/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vtep/RemoteVtepVO.java @@ -12,10 +12,10 @@ import org.zstack.header.vo.ResourceVO; import org.zstack.network.l2.vxlan.vxlanNetworkPool.VxlanNetworkPoolVO; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.Id; -import javax.persistence.Table; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.Id; +import jakarta.persistence.Table; import java.sql.Timestamp; @Entity diff --git a/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vtep/RemoteVtepVO_.java b/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vtep/RemoteVtepVO_.java index 3261af35560..bfb280faea6 100755 --- a/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vtep/RemoteVtepVO_.java +++ b/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vtep/RemoteVtepVO_.java @@ -2,8 +2,8 @@ import org.zstack.header.vo.ResourceVO_; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; @StaticMetamodel(RemoteVtepVO.class) diff --git a/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vtep/VtepInventory.java b/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vtep/VtepInventory.java index f6676cfdb67..3a0febd28e1 100644 --- a/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vtep/VtepInventory.java +++ b/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vtep/VtepInventory.java @@ -8,7 +8,7 @@ import org.zstack.network.l2.vxlan.vxlanNetworkPool.L2VxlanNetworkPoolInventory; import org.zstack.network.l2.vxlan.vxlanNetworkPool.VxlanNetworkPoolVO; -import javax.persistence.JoinColumn; +import jakarta.persistence.JoinColumn; import java.sql.Timestamp; import java.util.ArrayList; import java.util.Collection; diff --git a/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vtep/VtepVO.java b/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vtep/VtepVO.java index 82e17e75253..66d563ed477 100755 --- a/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vtep/VtepVO.java +++ b/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vtep/VtepVO.java @@ -12,10 +12,10 @@ import org.zstack.header.vo.ResourceVO; import org.zstack.network.l2.vxlan.vxlanNetworkPool.VxlanNetworkPoolVO; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.Id; -import javax.persistence.Table; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.Id; +import jakarta.persistence.Table; import java.sql.Timestamp; /** diff --git a/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vtep/VtepVO_.java b/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vtep/VtepVO_.java index 899f3f797dd..b3d761cbafc 100755 --- a/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vtep/VtepVO_.java +++ b/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vtep/VtepVO_.java @@ -2,8 +2,8 @@ import org.zstack.header.vo.ResourceVO_; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; /** diff --git a/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetwork/APICreateL2VxlanNetworkMsg.java b/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetwork/APICreateL2VxlanNetworkMsg.java index 42f74a658f7..3cecd1acbc0 100644 --- a/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetwork/APICreateL2VxlanNetworkMsg.java +++ b/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetwork/APICreateL2VxlanNetworkMsg.java @@ -18,7 +18,7 @@ }) @RestRequest( path = "/l2-networks/vxlan", - method = HttpMethod.POST, + method = "POST", responseClass = APICreateL2VxlanNetworkEvent.class, parameterName = "params" ) diff --git a/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetwork/APIDeleteVxlanL2Network.java b/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetwork/APIDeleteVxlanL2Network.java index 70cb8240802..1bebe5e6239 100644 --- a/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetwork/APIDeleteVxlanL2Network.java +++ b/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetwork/APIDeleteVxlanL2Network.java @@ -9,7 +9,7 @@ @RestRequest( path = "/l2-networks/vxlan/{uuid}", - method = HttpMethod.DELETE, + method = "DELETE", responseClass = APIDeleteL2NetworkEvent.class ) @NoSDK diff --git a/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetwork/APIQueryL2VxlanNetworkMsg.java b/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetwork/APIQueryL2VxlanNetworkMsg.java index b616eb28e35..9e3e491fbcb 100644 --- a/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetwork/APIQueryL2VxlanNetworkMsg.java +++ b/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetwork/APIQueryL2VxlanNetworkMsg.java @@ -20,7 +20,7 @@ @RestRequest( path = "/l2-networks/vxlan", optionalPaths = {"/l2-networks/vxlan/{uuid}"}, - method = HttpMethod.GET, + method = "GET", responseClass = APIQueryL2VxlanNetworkReply.class ) public class APIQueryL2VxlanNetworkMsg extends APIQueryMessage { diff --git a/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetwork/L2VxlanNetworkInventory.java b/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetwork/L2VxlanNetworkInventory.java index 7d63aab3e5b..d27027a250a 100644 --- a/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetwork/L2VxlanNetworkInventory.java +++ b/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetwork/L2VxlanNetworkInventory.java @@ -11,7 +11,7 @@ import org.zstack.network.l2.vxlan.vxlanNetworkPool.L2VxlanNetworkPoolInventory; import org.zstack.network.l2.vxlan.vxlanNetworkPool.VxlanNetworkPoolVO; -import javax.persistence.JoinColumn; +import jakarta.persistence.JoinColumn; import java.util.ArrayList; import java.util.Collection; import java.util.List; diff --git a/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetwork/VxlanNetwork.java b/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetwork/VxlanNetwork.java index 0be8bb9aefa..08a0e5bd5b7 100755 --- a/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetwork/VxlanNetwork.java +++ b/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetwork/VxlanNetwork.java @@ -32,7 +32,7 @@ import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; -import javax.transaction.Transactional; +import jakarta.transaction.Transactional; import java.util.*; import java.util.concurrent.ConcurrentHashMap; import java.util.stream.Collectors; diff --git a/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetwork/VxlanNetworkVO.java b/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetwork/VxlanNetworkVO.java index 3dfaaa075fa..dba4c4e2ea6 100755 --- a/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetwork/VxlanNetworkVO.java +++ b/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetwork/VxlanNetworkVO.java @@ -7,7 +7,7 @@ import org.zstack.header.vo.ForeignKey; import org.zstack.network.l2.vxlan.vxlanNetworkPool.VxlanNetworkPoolVO; -import javax.persistence.*; +import jakarta.persistence.*; /** * Created by weiwang on 02/03/2017. diff --git a/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetwork/VxlanNetworkVO_.java b/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetwork/VxlanNetworkVO_.java index eafcbc52382..bea020068fd 100644 --- a/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetwork/VxlanNetworkVO_.java +++ b/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetwork/VxlanNetworkVO_.java @@ -2,8 +2,8 @@ import org.zstack.header.network.l2.L2NetworkVO_; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; /** * Created by weiwang on 02/03/2017. diff --git a/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetworkPool/APICreateL2VxlanNetworkPoolMsg.java b/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetworkPool/APICreateL2VxlanNetworkPoolMsg.java index 9ccac6077d0..264773fe667 100644 --- a/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetworkPool/APICreateL2VxlanNetworkPoolMsg.java +++ b/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetworkPool/APICreateL2VxlanNetworkPoolMsg.java @@ -12,7 +12,7 @@ }) @RestRequest( path = "/l2-networks/vxlan-pool", - method = HttpMethod.POST, + method = "POST", responseClass = APICreateL2VxlanNetworkPoolEvent.class, parameterName = "params" ) diff --git a/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetworkPool/APICreateVniRangeMsg.java b/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetworkPool/APICreateVniRangeMsg.java index aa65f2105a4..600db8c15c6 100755 --- a/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetworkPool/APICreateVniRangeMsg.java +++ b/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetworkPool/APICreateVniRangeMsg.java @@ -15,7 +15,7 @@ */ @RestRequest( path = "/l2-networks/vxlan-pool/{l2NetworkUuid}/vni-ranges", - method = HttpMethod.POST, + method = "POST", responseClass = APICreateVniRangeEvent.class, parameterName = "params" ) diff --git a/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetworkPool/APICreateVxlanPoolRemoteVtepMsg.java b/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetworkPool/APICreateVxlanPoolRemoteVtepMsg.java index 56343f9f2c7..c7ac2ee0362 100644 --- a/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetworkPool/APICreateVxlanPoolRemoteVtepMsg.java +++ b/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetworkPool/APICreateVxlanPoolRemoteVtepMsg.java @@ -15,7 +15,7 @@ @RestRequest( path = "/l2-networks/{l2NetworkUuid}/clusters/{clusterUuid}/remote-vtep-ip", - method = HttpMethod.POST, + method = "POST", responseClass = APICreateVxlanPoolRemoteVtepEvent.class, parameterName = "params" ) diff --git a/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetworkPool/APIDeleteVniRangeMsg.java b/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetworkPool/APIDeleteVniRangeMsg.java index e4064cda215..acf8cd01e25 100755 --- a/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetworkPool/APIDeleteVniRangeMsg.java +++ b/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetworkPool/APIDeleteVniRangeMsg.java @@ -17,7 +17,7 @@ */ @RestRequest( path = "/l2-networks/vxlan-pool/vni-ranges/{uuid}", - method = HttpMethod.DELETE, + method = "DELETE", responseClass = APIDeleteVniRangeEvent.class ) public class APIDeleteVniRangeMsg extends APIDeleteMessage implements L2NetworkMessage, APIAuditor { diff --git a/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetworkPool/APIDeleteVxlanPoolRemoteVtepMsg.java b/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetworkPool/APIDeleteVxlanPoolRemoteVtepMsg.java index 23a8c6320dd..49559f271e9 100644 --- a/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetworkPool/APIDeleteVxlanPoolRemoteVtepMsg.java +++ b/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetworkPool/APIDeleteVxlanPoolRemoteVtepMsg.java @@ -15,7 +15,7 @@ @RestRequest( path = "/l2-networks/{l2NetworkUuid}/clusters/{clusterUuid}/delete/remote-vtep-ip", - method = HttpMethod.DELETE, + method = "DELETE", responseClass = APIDeleteVxlanPoolRemoteVtepEvent.class ) public class APIDeleteVxlanPoolRemoteVtepMsg extends APIDeleteMessage implements L2NetworkMessage { diff --git a/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetworkPool/APIQueryL2VxlanNetworkPoolMsg.java b/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetworkPool/APIQueryL2VxlanNetworkPoolMsg.java index 18bff8eafc5..53abc45d8be 100644 --- a/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetworkPool/APIQueryL2VxlanNetworkPoolMsg.java +++ b/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetworkPool/APIQueryL2VxlanNetworkPoolMsg.java @@ -19,7 +19,7 @@ @RestRequest( path = "/l2-networks/vxlan-pool", optionalPaths = {"/l2-networks/vxlan-pool/{uuid}"}, - method = HttpMethod.GET, + method = "GET", responseClass = APIQueryL2VxlanNetworkPoolReply.class ) public class APIQueryL2VxlanNetworkPoolMsg extends APIQueryMessage { diff --git a/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetworkPool/APIQueryVniRangeMsg.java b/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetworkPool/APIQueryVniRangeMsg.java index b80b94fb9cc..b43dca36e87 100644 --- a/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetworkPool/APIQueryVniRangeMsg.java +++ b/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetworkPool/APIQueryVniRangeMsg.java @@ -18,7 +18,7 @@ @RestRequest( path = "/l2-networks/vxlan-pool/vni-range", optionalPaths = {"/l2-networks/vxlan-pool/vni-range/{uuid}"}, - method = HttpMethod.GET, + method = "GET", responseClass = APIQueryVniRangeReply.class ) public class APIQueryVniRangeMsg extends APIQueryMessage { diff --git a/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetworkPool/APIUpdateVniRangeMsg.java b/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetworkPool/APIUpdateVniRangeMsg.java index 49d632e97a8..7dc30e10f80 100644 --- a/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetworkPool/APIUpdateVniRangeMsg.java +++ b/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetworkPool/APIUpdateVniRangeMsg.java @@ -16,7 +16,7 @@ */ @RestRequest( path = "/l2-networks/vxlan-pool/vni-ranges/{uuid}", - method = HttpMethod.PUT, + method = "PUT", responseClass = APIUpdateVniRangeEvent.class, isAction = true ) 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..4517e9f078a 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 @@ -28,7 +28,7 @@ import org.zstack.kvm.KVMHostConnectedContext; import org.zstack.network.l2.vxlan.vtep.PopulateVtepPeersMsg; -import javax.persistence.TypedQuery; +import jakarta.persistence.TypedQuery; import java.util.ArrayList; import java.util.Iterator; import java.util.List; 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..3588d060287 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 @@ -19,7 +19,7 @@ import org.zstack.network.l2.vxlan.vxlanNetwork.VxlanNetworkVO; import org.zstack.network.l2.vxlan.vxlanNetwork.VxlanNetworkVO_; -import javax.persistence.JoinColumn; +import jakarta.persistence.JoinColumn; import java.util.*; import java.util.regex.Pattern; diff --git a/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetworkPool/VniRangeInventory.java b/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetworkPool/VniRangeInventory.java index bde6c6f5581..81a6ac82f86 100644 --- a/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetworkPool/VniRangeInventory.java +++ b/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetworkPool/VniRangeInventory.java @@ -7,7 +7,7 @@ import org.zstack.header.search.Inventory; import org.zstack.network.l2.vxlan.vxlanNetwork.VxlanNetworkVO; -import javax.persistence.JoinColumn; +import jakarta.persistence.JoinColumn; import java.sql.Timestamp; import java.util.ArrayList; import java.util.Collection; diff --git a/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetworkPool/VniRangeVO.java b/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetworkPool/VniRangeVO.java index 62eda40d628..ab12a490195 100755 --- a/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetworkPool/VniRangeVO.java +++ b/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetworkPool/VniRangeVO.java @@ -6,7 +6,7 @@ import org.zstack.header.vo.ForeignKey; import org.zstack.header.vo.ResourceVO; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; /** diff --git a/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetworkPool/VniRangeVO_.java b/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetworkPool/VniRangeVO_.java index ade02e420c0..ba32418e8fc 100755 --- a/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetworkPool/VniRangeVO_.java +++ b/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetworkPool/VniRangeVO_.java @@ -3,8 +3,8 @@ import org.zstack.header.vo.ResourceVO_; import org.zstack.network.l2.vxlan.vtep.VtepVO; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; /** diff --git a/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetworkPool/VxlanNetworkPoolVO.java b/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetworkPool/VxlanNetworkPoolVO.java index 8f71b885a69..2884ebe7b6d 100755 --- a/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetworkPool/VxlanNetworkPoolVO.java +++ b/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetworkPool/VxlanNetworkPoolVO.java @@ -9,7 +9,7 @@ import org.zstack.network.l2.vxlan.vtep.RemoteVtepVO; import org.zstack.network.l2.vxlan.vxlanNetwork.VxlanNetworkVO; -import javax.persistence.*; +import jakarta.persistence.*; import java.util.HashSet; import java.util.Set; diff --git a/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetworkPool/VxlanNetworkPoolVO_.java b/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetworkPool/VxlanNetworkPoolVO_.java index c8463e3db1b..6ad81b5e4c4 100644 --- a/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetworkPool/VxlanNetworkPoolVO_.java +++ b/plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetworkPool/VxlanNetworkPoolVO_.java @@ -2,7 +2,7 @@ import org.zstack.header.network.l2.L2NetworkVO_; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.StaticMetamodel; /** * Created by weiwang on 02/03/2017. diff --git a/plugin/xinfini/pom.xml b/plugin/xinfini/pom.xml index 89c1f6c5a7d..f86f39785a5 100644 --- a/plugin/xinfini/pom.xml +++ b/plugin/xinfini/pom.xml @@ -18,9 +18,9 @@ ${project.version} - javax.servlet - javax.servlet-api - 3.1.0 + jakarta.servlet + jakarta.servlet-api + com.squareup.okhttp3 @@ -51,29 +51,55 @@ maven-compiler-plugin ${project.compiler.version} - groovy-eclipse-compiler ${project.java.version} ${project.java.version} lines,vars,source true - - - org.codehaus.groovy - groovy-eclipse-compiler - ${groovy.eclipse.compiler} - - - org.codehaus.groovy - groovy-eclipse-batch - ${groovy.eclipse.batch} - - - org.codehaus.mojo + org.codehaus.gmavenplus + gmavenplus-plugin + 3.0.2 + + + + ${project.basedir}/src/main/java + + **/*.groovy + + + + + + + groovy-stubs + generateStubsremoveStubs + + + groovy-compile + compile + + + + + org.apache.groovy + groovy + ${groovy.version} + + + + + dev.aspectj aspectj-maven-plugin ${aspectj.plugin.version} + + + org.aspectj + aspectjtools + ${aspectj.version} + + diff --git a/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/XInfiniClient.java b/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/XInfiniClient.java index 3f15165b18f..8ac39dc48a1 100644 --- a/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/XInfiniClient.java +++ b/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/XInfiniClient.java @@ -298,9 +298,9 @@ private void fillNonQueryApiRequestBuilder(Request.Builder reqBuilder, XInfiniCo } } - if (restInfo.method().equals(HttpMethod.GET)) { + if (restInfo.method().equals("GET")) { reqBuilder.url(builder.build()).get(); - } else if (restInfo.method().equals(HttpMethod.DELETE) && !restInfo.hasBody()) { + } else if (restInfo.method().equals("DELETE") && !restInfo.hasBody()) { params.forEach((k, v) -> builder.addQueryParameter(k, v.toString())); reqBuilder.url(builder.build()).delete(); } else if (!queryableParams.isEmpty()) { diff --git a/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/XInfiniRestRequest.java b/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/XInfiniRestRequest.java index 576f3c019a6..1e337b8f9e0 100644 --- a/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/XInfiniRestRequest.java +++ b/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/XInfiniRestRequest.java @@ -1,6 +1,6 @@ package org.zstack.xinfini.sdk; -import org.springframework.http.HttpMethod; + import org.zstack.xinfini.XInfiniApiCategory; import java.lang.annotation.Retention; @@ -9,7 +9,7 @@ @Retention(RetentionPolicy.RUNTIME) public @interface XInfiniRestRequest { String path(); - HttpMethod method(); + String method(); Class responseClass(); XInfiniApiCategory category(); String version() default "v1"; diff --git a/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/cluster/QueryClusterRequest.java b/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/cluster/QueryClusterRequest.java index b884d6b21b9..79ce53def42 100644 --- a/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/cluster/QueryClusterRequest.java +++ b/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/cluster/QueryClusterRequest.java @@ -14,7 +14,7 @@ */ @XInfiniRestRequest( path = "/cluster", - method = HttpMethod.GET, + method = "GET", responseClass = QueryClusterResponse.class, category = XInfiniApiCategory.SDDC ) diff --git a/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/iscsi/AddVolumeClientGroupMappingRequest.java b/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/iscsi/AddVolumeClientGroupMappingRequest.java index 876796a3f59..c423181cf9e 100644 --- a/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/iscsi/AddVolumeClientGroupMappingRequest.java +++ b/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/iscsi/AddVolumeClientGroupMappingRequest.java @@ -16,7 +16,7 @@ */ @XInfiniRestRequest( path = "/bs-volumes/{id}/:add-client-group-mappings", - method = HttpMethod.POST, + method = "POST", responseClass = AddVolumeClientGroupMappingResponse.class, category = XInfiniApiCategory.AFA ) diff --git a/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/iscsi/CreateIscsiClientGroupRequest.java b/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/iscsi/CreateIscsiClientGroupRequest.java index 35c37bf449f..4cb57ee89e7 100644 --- a/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/iscsi/CreateIscsiClientGroupRequest.java +++ b/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/iscsi/CreateIscsiClientGroupRequest.java @@ -17,7 +17,7 @@ */ @XInfiniRestRequest( path = "/iscsi-client-groups", - method = HttpMethod.POST, + method = "POST", responseClass = CreateIscsiClientGroupResponse.class, category = XInfiniApiCategory.AFA ) diff --git a/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/iscsi/CreateIscsiClientRequest.java b/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/iscsi/CreateIscsiClientRequest.java index 2ca03b16806..5c50d3ad431 100644 --- a/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/iscsi/CreateIscsiClientRequest.java +++ b/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/iscsi/CreateIscsiClientRequest.java @@ -15,7 +15,7 @@ */ @XInfiniRestRequest( path = "/iscsi-clients", - method = HttpMethod.POST, + method = "POST", responseClass = CreateIscsiClientResponse.class, category = XInfiniApiCategory.AFA ) diff --git a/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/iscsi/DeleteIscsiClientRequest.java b/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/iscsi/DeleteIscsiClientRequest.java index efab1974ea8..70ab5d494f1 100644 --- a/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/iscsi/DeleteIscsiClientRequest.java +++ b/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/iscsi/DeleteIscsiClientRequest.java @@ -15,7 +15,7 @@ */ @XInfiniRestRequest( path = "/iscsi-clients/{id}", - method = HttpMethod.DELETE, + method = "DELETE", responseClass = DeleteIscsiClientResponse.class, category = XInfiniApiCategory.AFA ) diff --git a/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/iscsi/DeleteVolumeClientGroupMappingRequest.java b/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/iscsi/DeleteVolumeClientGroupMappingRequest.java index 095b531b185..8aaca8eb763 100644 --- a/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/iscsi/DeleteVolumeClientGroupMappingRequest.java +++ b/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/iscsi/DeleteVolumeClientGroupMappingRequest.java @@ -15,7 +15,7 @@ */ @XInfiniRestRequest( path = "/bs-volume-client-group-mappings/{id}", - method = HttpMethod.DELETE, + method = "DELETE", responseClass = DeleteVolumeClientGroupMappingResponse.class, category = XInfiniApiCategory.AFA ) diff --git a/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/iscsi/GetIscsiClientGroupRequest.java b/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/iscsi/GetIscsiClientGroupRequest.java index a04cc18a1a6..ec73d21db90 100644 --- a/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/iscsi/GetIscsiClientGroupRequest.java +++ b/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/iscsi/GetIscsiClientGroupRequest.java @@ -15,7 +15,7 @@ */ @XInfiniRestRequest( path = "/iscsi-client-groups/{id}", - method = HttpMethod.GET, + method = "GET", responseClass = GetIscsiClientResponse.class, category = XInfiniApiCategory.AFA ) diff --git a/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/iscsi/GetIscsiClientRequest.java b/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/iscsi/GetIscsiClientRequest.java index 0711e114009..cc0c69a608c 100644 --- a/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/iscsi/GetIscsiClientRequest.java +++ b/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/iscsi/GetIscsiClientRequest.java @@ -15,7 +15,7 @@ */ @XInfiniRestRequest( path = "/iscsi-clients/{id}", - method = HttpMethod.GET, + method = "GET", responseClass = GetIscsiClientResponse.class, category = XInfiniApiCategory.AFA ) diff --git a/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/iscsi/GetVolumeClientGroupMappingRequest.java b/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/iscsi/GetVolumeClientGroupMappingRequest.java index 1ac1f70d2ba..ccb3133b214 100644 --- a/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/iscsi/GetVolumeClientGroupMappingRequest.java +++ b/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/iscsi/GetVolumeClientGroupMappingRequest.java @@ -15,7 +15,7 @@ */ @XInfiniRestRequest( path = "/bs-volume-client-group-mappings/{id}", - method = HttpMethod.GET, + method = "GET", responseClass = GetVolumeClientGroupMappingResponse.class, category = XInfiniApiCategory.AFA ) diff --git a/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/iscsi/QueryIscsiClientGroupRequest.java b/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/iscsi/QueryIscsiClientGroupRequest.java index c3ec46456da..e09ba20f053 100644 --- a/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/iscsi/QueryIscsiClientGroupRequest.java +++ b/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/iscsi/QueryIscsiClientGroupRequest.java @@ -14,7 +14,7 @@ */ @XInfiniRestRequest( path = "/iscsi-client-groups", - method = HttpMethod.GET, + method = "GET", responseClass = QueryIscsiClientGroupResponse.class, category = XInfiniApiCategory.AFA ) diff --git a/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/iscsi/QueryIscsiClientRequest.java b/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/iscsi/QueryIscsiClientRequest.java index 95067e64ddb..e4da82f0ca4 100644 --- a/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/iscsi/QueryIscsiClientRequest.java +++ b/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/iscsi/QueryIscsiClientRequest.java @@ -14,7 +14,7 @@ */ @XInfiniRestRequest( path = "/iscsi-clients", - method = HttpMethod.GET, + method = "GET", responseClass = QueryIscsiGatewayResponse.class, category = XInfiniApiCategory.AFA ) diff --git a/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/iscsi/QueryIscsiGatewayClientGroupMappingRequest.java b/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/iscsi/QueryIscsiGatewayClientGroupMappingRequest.java index 2dd96cbdc1e..59c539419b8 100644 --- a/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/iscsi/QueryIscsiGatewayClientGroupMappingRequest.java +++ b/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/iscsi/QueryIscsiGatewayClientGroupMappingRequest.java @@ -14,7 +14,7 @@ */ @XInfiniRestRequest( path = "/iscsi-gateway-client-group-mappings", - method = HttpMethod.GET, + method = "GET", responseClass = QueryIscsiGatewayClientGroupMappingResponse.class, category = XInfiniApiCategory.AFA ) diff --git a/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/iscsi/QueryIscsiGatewayRequest.java b/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/iscsi/QueryIscsiGatewayRequest.java index 7a766af9efd..843684275e5 100644 --- a/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/iscsi/QueryIscsiGatewayRequest.java +++ b/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/iscsi/QueryIscsiGatewayRequest.java @@ -14,7 +14,7 @@ */ @XInfiniRestRequest( path = "/iscsi-gateways", - method = HttpMethod.GET, + method = "GET", responseClass = QueryIscsiGatewayResponse.class, category = XInfiniApiCategory.AFA ) diff --git a/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/iscsi/QueryVolumeClientGroupMappingRequest.java b/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/iscsi/QueryVolumeClientGroupMappingRequest.java index 79278fe05b1..5041a3db735 100644 --- a/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/iscsi/QueryVolumeClientGroupMappingRequest.java +++ b/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/iscsi/QueryVolumeClientGroupMappingRequest.java @@ -14,7 +14,7 @@ */ @XInfiniRestRequest( path = "/bs-volume-client-group-mappings", - method = HttpMethod.GET, + method = "GET", responseClass = QueryVolumeClientGroupMappingResponse.class, category = XInfiniApiCategory.AFA ) diff --git a/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/iscsi/QueryVolumeClientMappingRequest.java b/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/iscsi/QueryVolumeClientMappingRequest.java index 30d18570ce6..c4a20babee5 100644 --- a/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/iscsi/QueryVolumeClientMappingRequest.java +++ b/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/iscsi/QueryVolumeClientMappingRequest.java @@ -14,7 +14,7 @@ */ @XInfiniRestRequest( path = "/bs-volume-client-mappings", - method = HttpMethod.GET, + method = "GET", responseClass = QueryVolumeClientMappingResponse.class, category = XInfiniApiCategory.AFA ) diff --git a/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/metric/QueryMetricRequest.java b/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/metric/QueryMetricRequest.java index 9c20ba2f71b..4d45d31c8f3 100644 --- a/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/metric/QueryMetricRequest.java +++ b/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/metric/QueryMetricRequest.java @@ -14,7 +14,7 @@ */ @XInfiniRestRequest( path = "/samples/query", - method = HttpMethod.GET, + method = "GET", responseClass = QueryMetricResponse.class, category = XInfiniApiCategory.SDDC ) diff --git a/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/node/GetNodeRequest.java b/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/node/GetNodeRequest.java index 2d6355f4757..ee46c1fc95f 100644 --- a/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/node/GetNodeRequest.java +++ b/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/node/GetNodeRequest.java @@ -15,7 +15,7 @@ */ @XInfiniRestRequest( path = "/nodes/{id}", - method = HttpMethod.GET, + method = "GET", responseClass = GetNodeResponse.class, category = XInfiniApiCategory.AFA ) diff --git a/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/node/QueryNodeRequest.java b/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/node/QueryNodeRequest.java index 0ecbeea5b42..f73c2f9a3ea 100644 --- a/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/node/QueryNodeRequest.java +++ b/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/node/QueryNodeRequest.java @@ -14,7 +14,7 @@ */ @XInfiniRestRequest( path = "/nodes", - method = HttpMethod.GET, + method = "GET", responseClass = QueryNodeResponse.class, category = XInfiniApiCategory.AFA ) diff --git a/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/pool/GetBsPolicyRequest.java b/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/pool/GetBsPolicyRequest.java index 15984171435..03300cdc349 100644 --- a/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/pool/GetBsPolicyRequest.java +++ b/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/pool/GetBsPolicyRequest.java @@ -15,7 +15,7 @@ */ @XInfiniRestRequest( path = "/bs-policies/{id}", - method = HttpMethod.GET, + method = "GET", responseClass = GetBsPolicyResponse.class, category = XInfiniApiCategory.AFA ) diff --git a/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/pool/GetPoolRequest.java b/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/pool/GetPoolRequest.java index 0790ba0dcc5..6c87714b40d 100644 --- a/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/pool/GetPoolRequest.java +++ b/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/pool/GetPoolRequest.java @@ -15,7 +15,7 @@ */ @XInfiniRestRequest( path = "/pools/{id}", - method = HttpMethod.GET, + method = "GET", responseClass = GetPoolResponse.class, category = XInfiniApiCategory.AFA ) diff --git a/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/pool/QueryPoolRequest.java b/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/pool/QueryPoolRequest.java index 21946279a46..7fe3d51a088 100644 --- a/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/pool/QueryPoolRequest.java +++ b/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/pool/QueryPoolRequest.java @@ -14,7 +14,7 @@ */ @XInfiniRestRequest( path = "/pools", - method = HttpMethod.GET, + method = "GET", responseClass = QueryPoolResponse.class, category = XInfiniApiCategory.AFA ) diff --git a/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/vhost/CreateBdcBdevRequest.java b/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/vhost/CreateBdcBdevRequest.java index 520cb9f15df..e7dee009e45 100644 --- a/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/vhost/CreateBdcBdevRequest.java +++ b/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/vhost/CreateBdcBdevRequest.java @@ -15,7 +15,7 @@ */ @XInfiniRestRequest( path = "/bdc-bdevs", - method = HttpMethod.POST, + method = "POST", responseClass = CreateBdcBdevResponse.class, category = XInfiniApiCategory.AFA ) diff --git a/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/vhost/DeleteBdcBdevRequest.java b/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/vhost/DeleteBdcBdevRequest.java index 25cdf79ee7d..259ca829c89 100644 --- a/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/vhost/DeleteBdcBdevRequest.java +++ b/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/vhost/DeleteBdcBdevRequest.java @@ -16,7 +16,7 @@ */ @XInfiniRestRequest( path = "/bdc-bdevs/{id}", - method = HttpMethod.DELETE, + method = "DELETE", responseClass = DeleteVolumeResponse.class, category = XInfiniApiCategory.AFA ) diff --git a/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/vhost/GetBdcBdevRequest.java b/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/vhost/GetBdcBdevRequest.java index 4b2c855f997..bf12b0b57da 100644 --- a/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/vhost/GetBdcBdevRequest.java +++ b/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/vhost/GetBdcBdevRequest.java @@ -15,7 +15,7 @@ */ @XInfiniRestRequest( path = "/bdc-bdevs/{id}", - method = HttpMethod.GET, + method = "GET", responseClass = GetBdcResponse.class, category = XInfiniApiCategory.AFA ) diff --git a/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/vhost/GetBdcRequest.java b/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/vhost/GetBdcRequest.java index 510f1d5bfeb..1aabbe7877b 100644 --- a/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/vhost/GetBdcRequest.java +++ b/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/vhost/GetBdcRequest.java @@ -15,7 +15,7 @@ */ @XInfiniRestRequest( path = "/bdcs/{id}", - method = HttpMethod.GET, + method = "GET", responseClass = GetBdcResponse.class, category = XInfiniApiCategory.AFA ) diff --git a/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/vhost/QueryBdcBdevRequest.java b/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/vhost/QueryBdcBdevRequest.java index 6ffaabd2927..c734da82ec6 100644 --- a/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/vhost/QueryBdcBdevRequest.java +++ b/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/vhost/QueryBdcBdevRequest.java @@ -14,7 +14,7 @@ */ @XInfiniRestRequest( path = "/bdc-bdevs", - method = HttpMethod.GET, + method = "GET", responseClass = QueryBdcBdevResponse.class, category = XInfiniApiCategory.AFA ) diff --git a/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/vhost/QueryBdcRequest.java b/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/vhost/QueryBdcRequest.java index c89d81ba27a..7348686ee57 100644 --- a/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/vhost/QueryBdcRequest.java +++ b/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/vhost/QueryBdcRequest.java @@ -14,7 +14,7 @@ */ @XInfiniRestRequest( path = "/bdcs", - method = HttpMethod.GET, + method = "GET", responseClass = QueryBdcResponse.class, category = XInfiniApiCategory.AFA ) diff --git a/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/volume/CloneVolumeRequest.java b/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/volume/CloneVolumeRequest.java index a31fc3dfe61..a0c3048ba33 100644 --- a/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/volume/CloneVolumeRequest.java +++ b/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/volume/CloneVolumeRequest.java @@ -16,7 +16,7 @@ */ @XInfiniRestRequest( path = "/bs-volumes/:clone", - method = HttpMethod.POST, + method = "POST", responseClass = CloneVolumeResponse.class, category = XInfiniApiCategory.AFA ) diff --git a/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/volume/CreateVolumeRequest.java b/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/volume/CreateVolumeRequest.java index fe1918e71eb..bf7f862a0ea 100644 --- a/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/volume/CreateVolumeRequest.java +++ b/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/volume/CreateVolumeRequest.java @@ -16,7 +16,7 @@ */ @XInfiniRestRequest( path = "/bs-volumes", - method = HttpMethod.POST, + method = "POST", responseClass = CreateVolumeResponse.class, category = XInfiniApiCategory.AFA ) diff --git a/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/volume/CreateVolumeSnapshotRequest.java b/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/volume/CreateVolumeSnapshotRequest.java index dad9890f5c2..1847e7d0176 100644 --- a/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/volume/CreateVolumeSnapshotRequest.java +++ b/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/volume/CreateVolumeSnapshotRequest.java @@ -16,7 +16,7 @@ */ @XInfiniRestRequest( path = "/bs-snaps", - method = HttpMethod.POST, + method = "POST", responseClass = CreateVolumeSnapshotResponse.class, category = XInfiniApiCategory.AFA ) diff --git a/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/volume/DeleteVolumeRequest.java b/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/volume/DeleteVolumeRequest.java index af1bba96649..f8aeaec6338 100644 --- a/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/volume/DeleteVolumeRequest.java +++ b/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/volume/DeleteVolumeRequest.java @@ -16,7 +16,7 @@ */ @XInfiniRestRequest( path = "/bs-volumes/{id}", - method = HttpMethod.DELETE, + method = "DELETE", responseClass = DeleteVolumeResponse.class, category = XInfiniApiCategory.AFA ) diff --git a/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/volume/DeleteVolumeSnapshotRequest.java b/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/volume/DeleteVolumeSnapshotRequest.java index e5a8eeb9a92..97c65f2773a 100644 --- a/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/volume/DeleteVolumeSnapshotRequest.java +++ b/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/volume/DeleteVolumeSnapshotRequest.java @@ -16,7 +16,7 @@ */ @XInfiniRestRequest( path = "/bs-snaps/{id}", - method = HttpMethod.DELETE, + method = "DELETE", responseClass = DeleteVolumeResponse.class, category = XInfiniApiCategory.AFA ) diff --git a/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/volume/FlattenVolumeRequest.java b/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/volume/FlattenVolumeRequest.java index 267a8fd70da..475c51decb4 100644 --- a/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/volume/FlattenVolumeRequest.java +++ b/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/volume/FlattenVolumeRequest.java @@ -16,7 +16,7 @@ */ @XInfiniRestRequest( path = "/bs-volumes/{id}/:flatten", - method = HttpMethod.POST, + method = "POST", responseClass = FlattenVolumeResponse.class, category = XInfiniApiCategory.AFA ) diff --git a/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/volume/GetVolumeRequest.java b/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/volume/GetVolumeRequest.java index 26f220665f1..ca7e77b7d2f 100644 --- a/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/volume/GetVolumeRequest.java +++ b/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/volume/GetVolumeRequest.java @@ -15,7 +15,7 @@ */ @XInfiniRestRequest( path = "/bs-volumes/{id}", - method = HttpMethod.GET, + method = "GET", responseClass = GetVolumeResponse.class, category = XInfiniApiCategory.AFA ) diff --git a/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/volume/GetVolumeSnapshotRequest.java b/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/volume/GetVolumeSnapshotRequest.java index 22aaa13f44b..51ced521859 100644 --- a/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/volume/GetVolumeSnapshotRequest.java +++ b/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/volume/GetVolumeSnapshotRequest.java @@ -15,7 +15,7 @@ */ @XInfiniRestRequest( path = "/bs-snaps/{id}", - method = HttpMethod.GET, + method = "GET", responseClass = GetVolumeSnapshotResponse.class, category = XInfiniApiCategory.AFA ) diff --git a/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/volume/QueryVolumeRequest.java b/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/volume/QueryVolumeRequest.java index 0afa9aaa82b..4bf78e50e75 100644 --- a/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/volume/QueryVolumeRequest.java +++ b/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/volume/QueryVolumeRequest.java @@ -14,7 +14,7 @@ */ @XInfiniRestRequest( path = "/bs-volumes", - method = HttpMethod.GET, + method = "GET", responseClass = QueryVolumeResponse.class, category = XInfiniApiCategory.AFA ) diff --git a/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/volume/QueryVolumeSnapshotRequest.java b/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/volume/QueryVolumeSnapshotRequest.java index bb24ea8dfc4..11639b0f05a 100644 --- a/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/volume/QueryVolumeSnapshotRequest.java +++ b/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/volume/QueryVolumeSnapshotRequest.java @@ -14,7 +14,7 @@ */ @XInfiniRestRequest( path = "/bs-snaps", - method = HttpMethod.GET, + method = "GET", responseClass = QueryVolumeSnapshotResponse.class, category = XInfiniApiCategory.AFA ) diff --git a/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/volume/RollbackSnapshotRequest.java b/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/volume/RollbackSnapshotRequest.java index 0403ba39cfd..5f3682d3965 100644 --- a/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/volume/RollbackSnapshotRequest.java +++ b/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/volume/RollbackSnapshotRequest.java @@ -16,7 +16,7 @@ */ @XInfiniRestRequest( path = "/bs-volumes/{id}/:rollback", - method = HttpMethod.POST, + method = "POST", responseClass = RollbackSnapshotResponse.class, category = XInfiniApiCategory.AFA ) diff --git a/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/volume/UpdateVolumeRequest.java b/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/volume/UpdateVolumeRequest.java index e3fc1c51d9e..ebb5fd991fa 100644 --- a/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/volume/UpdateVolumeRequest.java +++ b/plugin/xinfini/src/main/java/org/zstack/xinfini/sdk/volume/UpdateVolumeRequest.java @@ -15,7 +15,7 @@ */ @XInfiniRestRequest( path = "/bs-volumes/{id}", - method = HttpMethod.PATCH, + method = "PATCH", responseClass = UpdateVolumeResponse.class, category = XInfiniApiCategory.AFA ) diff --git a/plugin/zbs/pom.xml b/plugin/zbs/pom.xml index 15bae057d4c..07262fada23 100644 --- a/plugin/zbs/pom.xml +++ b/plugin/zbs/pom.xml @@ -30,29 +30,55 @@ maven-compiler-plugin ${project.compiler.version} - groovy-eclipse-compiler ${project.java.version} ${project.java.version} lines,vars,source true - - - org.codehaus.groovy - groovy-eclipse-compiler - ${groovy.eclipse.compiler} - - - org.codehaus.groovy - groovy-eclipse-batch - ${groovy.eclipse.batch} - - - org.codehaus.mojo + org.codehaus.gmavenplus + gmavenplus-plugin + 3.0.2 + + + + ${project.basedir}/src/main/java + + **/*.groovy + + + + + + + groovy-stubs + generateStubsremoveStubs + + + groovy-compile + compile + + + + + org.apache.groovy + groovy + ${groovy.version} + + + + + dev.aspectj aspectj-maven-plugin ${aspectj.plugin.version} + + + org.aspectj + aspectjtools + ${aspectj.version} + + diff --git a/pom.xml b/pom.xml index 5173ad0aef2..33df7e6ed37 100755 --- a/pom.xml +++ b/pom.xml @@ -8,16 +8,16 @@ UTF-8 - 3.6.1 - 1.8 - 5.2.25.RELEASE - 5.7.13 - 5.3.26.Final - 1.8.9 - 1.10 - 2.9.2-01 - 2.4.3-01 - 5.10.12.Final + 3.13.0 + 21 + 6.1.14 + 6.2.7 + 6.4.10.Final + 1.9.22.1 + 1.14 + 4.0.28 + + none 4.0.0 @@ -131,48 +131,20 @@ 2.18.0 - org.codehaus.groovy + org.apache.groovy groovy-all - 2.4.21 - - - org.hibernate.javax.persistence - hibernate-jpa-2.1-api - 1.0.0.Final - - - org.hibernate - hibernate-entitymanager - ${hibernate.version} - - - org.hibernate - hibernate-search-orm - ${hibernate.search.version} - - - org.hibernate - hibernate-search-serialization-avro - ${hibernate.search.version} - - - org.hibernate - hibernate-search-backend-jgroups - ${hibernate.search.version} + ${groovy.version} + pom - org.infinispan - infinispan-directory-provider - 10.1.8.Final - - - org.hibernate - hibernate-search-engine - - + org.apache.groovy + groovy + ${groovy.version} + + - org.hibernate + org.hibernate.orm hibernate-core ${hibernate.version} @@ -267,9 +239,9 @@ 4.1.4 - javax.servlet - javax.servlet-api - 3.1.0 + jakarta.servlet + jakarta.servlet-api + 6.0.0 provided @@ -292,11 +264,6 @@ sshj 0.30.0 - - com.mchange - c3p0 - 0.9.5.4 - com.google.guava guava @@ -309,19 +276,18 @@ --> org.bouncycastle - bcprov-jdk15on - 1.67 + bcprov-jdk18on + 1.78.1 org.bouncycastle - bcmail-jdk15on - 1.67 + bcjmail-jdk18on + 1.78.1 - org.bouncycastle - bcpkix-jdk15on - 1.66 + bcpkix-jdk18on + 1.78.1 @@ -346,9 +312,9 @@ 4.0.3 - com.sun.mail - javax.mail - 1.6.2 + org.eclipse.angus + angus-mail + 2.0.3 @@ -595,6 +561,36 @@ opentelemetry-semconv-incubating 1.32.0-alpha + + jakarta.persistence + jakarta.persistence-api + 3.1.0 + + + com.zaxxer + HikariCP + 5.1.0 + + + jakarta.xml.bind + jakarta.xml.bind-api + 4.0.2 + + + org.apache.httpcomponents.client5 + httpclient5 + 5.3.1 + + + jakarta.annotation + jakarta.annotation-api + 2.1.1 + + + org.glassfish.jaxb + jaxb-runtime + 4.0.5 + diff --git a/portal/pom.xml b/portal/pom.xml index e174dfe5f45..7f5d19ca7fd 100755 --- a/portal/pom.xml +++ b/portal/pom.xml @@ -35,9 +35,9 @@ - javax.servlet - javax.servlet-api - 3.1.0 + jakarta.servlet + jakarta.servlet-api + provided @@ -49,29 +49,55 @@ maven-compiler-plugin ${project.compiler.version} - groovy-eclipse-compiler ${project.java.version} ${project.java.version} lines,vars,source true - - - org.codehaus.groovy - groovy-eclipse-compiler - ${groovy.eclipse.compiler} - - - org.codehaus.groovy - groovy-eclipse-batch - ${groovy.eclipse.batch} - - - org.codehaus.mojo + org.codehaus.gmavenplus + gmavenplus-plugin + 3.0.2 + + + + ${project.basedir}/src/main/java + + **/*.groovy + + + + + + + groovy-stubs + generateStubsremoveStubs + + + groovy-compile + compile + + + + + org.apache.groovy + groovy + ${groovy.version} + + + + + dev.aspectj aspectj-maven-plugin ${aspectj.plugin.version} + + + org.aspectj + aspectjtools + ${aspectj.version} + + diff --git a/portal/src/main/java/org/zstack/portal/apimediator/ApiMessageProcessorImpl.java b/portal/src/main/java/org/zstack/portal/apimediator/ApiMessageProcessorImpl.java index 20d7df9a1c2..4c0ee00db52 100755 --- a/portal/src/main/java/org/zstack/portal/apimediator/ApiMessageProcessorImpl.java +++ b/portal/src/main/java/org/zstack/portal/apimediator/ApiMessageProcessorImpl.java @@ -23,9 +23,9 @@ import org.zstack.utils.logging.CLogger; import org.zstack.utils.path.PathUtil; -import javax.xml.bind.JAXBContext; -import javax.xml.bind.JAXBException; -import javax.xml.bind.Unmarshaller; +import jakarta.xml.bind.JAXBContext; +import jakarta.xml.bind.JAXBException; +import jakarta.xml.bind.Unmarshaller; import java.io.File; import java.lang.reflect.Field; import java.util.*; diff --git a/portal/src/main/java/org/zstack/portal/apimediator/PortApiValidator.java b/portal/src/main/java/org/zstack/portal/apimediator/PortApiValidator.java index cd0ae744c99..69de8dd8564 100755 --- a/portal/src/main/java/org/zstack/portal/apimediator/PortApiValidator.java +++ b/portal/src/main/java/org/zstack/portal/apimediator/PortApiValidator.java @@ -17,7 +17,7 @@ import org.zstack.header.rest.RestRequest; import org.zstack.utils.DebugUtils; -import javax.persistence.TypedQuery; +import jakarta.persistence.TypedQuery; import java.lang.reflect.Field; import java.util.ArrayList; import java.util.Collection; diff --git a/portal/src/main/java/org/zstack/portal/apimediator/schema/ObjectFactory.java b/portal/src/main/java/org/zstack/portal/apimediator/schema/ObjectFactory.java index 75886ce2c13..bbd8e5fe95a 100755 --- a/portal/src/main/java/org/zstack/portal/apimediator/schema/ObjectFactory.java +++ b/portal/src/main/java/org/zstack/portal/apimediator/schema/ObjectFactory.java @@ -8,7 +8,7 @@ package org.zstack.portal.apimediator.schema; -import javax.xml.bind.annotation.XmlRegistry; +import jakarta.xml.bind.annotation.XmlRegistry; /** diff --git a/portal/src/main/java/org/zstack/portal/apimediator/schema/Service.java b/portal/src/main/java/org/zstack/portal/apimediator/schema/Service.java index 4f439bb22e2..12624a569a4 100755 --- a/portal/src/main/java/org/zstack/portal/apimediator/schema/Service.java +++ b/portal/src/main/java/org/zstack/portal/apimediator/schema/Service.java @@ -8,7 +8,7 @@ package org.zstack.portal.apimediator.schema; -import javax.xml.bind.annotation.*; +import jakarta.xml.bind.annotation.*; import java.util.ArrayList; import java.util.List; diff --git a/portal/src/main/java/org/zstack/portal/apimediator/schema/package-info.java b/portal/src/main/java/org/zstack/portal/apimediator/schema/package-info.java index d56c13faded..cd84f0e7b6c 100755 --- a/portal/src/main/java/org/zstack/portal/apimediator/schema/package-info.java +++ b/portal/src/main/java/org/zstack/portal/apimediator/schema/package-info.java @@ -5,10 +5,10 @@ // Generated on: 2013.11.23 at 02:21:36 PM PST // -@javax.xml.bind.annotation.XmlSchema(namespace = "http://zstack.org/schema/zstack", elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED) +@jakarta.xml.bind.annotation.XmlSchema(namespace = "http://zstack.org/schema/zstack", elementFormDefault = jakarta.xml.bind.annotation.XmlNsForm.QUALIFIED) @XmlJavaTypeAdapter(value=StringTrimAdapter.class,type=String.class) package org.zstack.portal.apimediator.schema; import org.zstack.utils.jaxb.StringTrimAdapter; -import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; \ No newline at end of file +import jakarta.xml.bind.annotation.adapters.XmlJavaTypeAdapter; \ No newline at end of file diff --git a/portal/src/main/java/org/zstack/portal/managementnode/BootstrapContextLoaderListener.java b/portal/src/main/java/org/zstack/portal/managementnode/BootstrapContextLoaderListener.java index 2351b82da2e..3658a9c320a 100644 --- a/portal/src/main/java/org/zstack/portal/managementnode/BootstrapContextLoaderListener.java +++ b/portal/src/main/java/org/zstack/portal/managementnode/BootstrapContextLoaderListener.java @@ -5,7 +5,7 @@ import org.springframework.web.context.ContextLoaderListener; import org.zstack.core.CoreGlobalProperty; -import javax.servlet.ServletContext; +import jakarta.servlet.ServletContext; public class BootstrapContextLoaderListener extends ContextLoaderListener { private static ApplicationContext parent; diff --git a/portal/src/main/java/org/zstack/portal/managementnode/BootstrapWebListener.java b/portal/src/main/java/org/zstack/portal/managementnode/BootstrapWebListener.java index 7e4579566bd..40abfaf7a25 100755 --- a/portal/src/main/java/org/zstack/portal/managementnode/BootstrapWebListener.java +++ b/portal/src/main/java/org/zstack/portal/managementnode/BootstrapWebListener.java @@ -3,8 +3,8 @@ import org.zstack.core.Platform; import org.zstack.utils.BootErrorLog; -import javax.servlet.ServletContextEvent; -import javax.servlet.ServletContextListener; +import jakarta.servlet.ServletContextEvent; +import jakarta.servlet.ServletContextListener; /** */ diff --git a/portal/src/main/java/org/zstack/portal/managementnode/ComponentLoaderWebListener.java b/portal/src/main/java/org/zstack/portal/managementnode/ComponentLoaderWebListener.java index fff9d027b7c..367aef2dcea 100755 --- a/portal/src/main/java/org/zstack/portal/managementnode/ComponentLoaderWebListener.java +++ b/portal/src/main/java/org/zstack/portal/managementnode/ComponentLoaderWebListener.java @@ -10,8 +10,8 @@ import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; -import javax.servlet.ServletContextEvent; -import javax.servlet.ServletContextListener; +import jakarta.servlet.ServletContextEvent; +import jakarta.servlet.ServletContextListener; import static org.zstack.utils.ExceptionDSL.throwableSafe; diff --git a/portal/src/main/java/org/zstack/portal/managementnode/DebugSignalHandler.java b/portal/src/main/java/org/zstack/portal/managementnode/DebugSignalHandler.java index 17cf7a36ab6..284e3ded53f 100644 --- a/portal/src/main/java/org/zstack/portal/managementnode/DebugSignalHandler.java +++ b/portal/src/main/java/org/zstack/portal/managementnode/DebugSignalHandler.java @@ -1,22 +1,49 @@ package org.zstack.portal.managementnode; -import sun.misc.Signal; -import sun.misc.SignalHandler; +import java.lang.reflect.InvocationHandler; +import java.lang.reflect.Method; +import java.lang.reflect.Proxy; -public class DebugSignalHandler implements SignalHandler { - private ManagementNodeManagerImpl impl; +/** + * Handles Unix signals (e.g., SIGUSR2) via reflection to avoid + * compile-time dependency on sun.misc.Signal (internal JDK API). + * The sun.misc.Signal API is provided by jdk.unsupported module + * and remains the only way to handle custom Unix signals in Java. + */ +public class DebugSignalHandler { + private final ManagementNodeManagerImpl impl; public static void listenTo(String name, ManagementNodeManagerImpl impl) { - Signal signal = new Signal(name); - Signal.handle(signal, new DebugSignalHandler(impl)); + try { + Class signalClass = Class.forName("sun.misc.Signal"); + Class handlerClass = Class.forName("sun.misc.SignalHandler"); + + Object signal = signalClass.getConstructor(String.class).newInstance(name); + + DebugSignalHandler handler = new DebugSignalHandler(impl); + Object proxy = Proxy.newProxyInstance( + handlerClass.getClassLoader(), + new Class[]{handlerClass}, + (p, method, args) -> { + if ("handle".equals(method.getName())) { + handler.handle(args[0]); + } + return null; + } + ); + + Method handleMethod = signalClass.getMethod("handle", signalClass, handlerClass); + handleMethod.invoke(null, signal, proxy); + } catch (Exception e) { + // Signal handling not available on this JVM — silently skip + } } private DebugSignalHandler(ManagementNodeManagerImpl impl) { this.impl = impl; } - @Override - public void handle(Signal signal) { + private void handle(Object signal) { if (signal.toString().trim().equals("SIGUSR2")) { impl.setSigUsr2(); } diff --git a/resourceconfig/pom.xml b/resourceconfig/pom.xml index f28c3c820db..b9e84a2abf4 100644 --- a/resourceconfig/pom.xml +++ b/resourceconfig/pom.xml @@ -46,29 +46,55 @@ maven-compiler-plugin ${project.compiler.version} - groovy-eclipse-compiler ${project.java.version} ${project.java.version} lines,vars,source true - - - org.codehaus.groovy - groovy-eclipse-compiler - ${groovy.eclipse.compiler} - - - org.codehaus.groovy - groovy-eclipse-batch - ${groovy.eclipse.batch} - - - org.codehaus.mojo + org.codehaus.gmavenplus + gmavenplus-plugin + 3.0.2 + + + + ${project.basedir}/src/main/java + + **/*.groovy + + + + + + + groovy-stubs + generateStubsremoveStubs + + + groovy-compile + compile + + + + + org.apache.groovy + groovy + ${groovy.version} + + + + + dev.aspectj aspectj-maven-plugin ${aspectj.plugin.version} + + + org.aspectj + aspectjtools + ${aspectj.version} + + diff --git a/resourceconfig/src/main/java/org/zstack/resourceconfig/APIDeleteResourceConfigMsg.java b/resourceconfig/src/main/java/org/zstack/resourceconfig/APIDeleteResourceConfigMsg.java index fbf61cf124f..2f0e91bc773 100644 --- a/resourceconfig/src/main/java/org/zstack/resourceconfig/APIDeleteResourceConfigMsg.java +++ b/resourceconfig/src/main/java/org/zstack/resourceconfig/APIDeleteResourceConfigMsg.java @@ -8,7 +8,7 @@ import org.zstack.header.vo.ResourceVO; @RestRequest(path = "/resource-configurations/{category}/{name}/{resourceUuid}", - method = HttpMethod.DELETE, + method = "DELETE", responseClass = APIDeleteResourceConfigEvent.class) public class APIDeleteResourceConfigMsg extends APIDeleteMessage implements ResourceConfigMessage { @APIParam diff --git a/resourceconfig/src/main/java/org/zstack/resourceconfig/APIGetResourceBindableConfigMsg.java b/resourceconfig/src/main/java/org/zstack/resourceconfig/APIGetResourceBindableConfigMsg.java index dd8d92b7bb5..be6d8a48218 100644 --- a/resourceconfig/src/main/java/org/zstack/resourceconfig/APIGetResourceBindableConfigMsg.java +++ b/resourceconfig/src/main/java/org/zstack/resourceconfig/APIGetResourceBindableConfigMsg.java @@ -10,7 +10,7 @@ */ @RestRequest(path = "/resource-configurations/bindable", optionalPaths = {"/resource-configurations/bindable/{category}"}, - method = HttpMethod.GET, responseClass = APIGetResourceBindableConfigReply.class) + method = "GET", responseClass = APIGetResourceBindableConfigReply.class) public class APIGetResourceBindableConfigMsg extends APISyncCallMessage { @APIParam(required = false) private String category; diff --git a/resourceconfig/src/main/java/org/zstack/resourceconfig/APIGetResourceConfigMsg.java b/resourceconfig/src/main/java/org/zstack/resourceconfig/APIGetResourceConfigMsg.java index 509dd2ea171..98f2037085e 100644 --- a/resourceconfig/src/main/java/org/zstack/resourceconfig/APIGetResourceConfigMsg.java +++ b/resourceconfig/src/main/java/org/zstack/resourceconfig/APIGetResourceConfigMsg.java @@ -12,7 +12,7 @@ */ @RestRequest(path = "/resource-configurations/{resourceUuid}/{category}/{name}", - method = HttpMethod.GET, responseClass = APIGetResourceConfigReply.class) + method = "GET", responseClass = APIGetResourceConfigReply.class) public class APIGetResourceConfigMsg extends APISyncCallMessage implements ResourceConfigMessage { @APIParam private String category; diff --git a/resourceconfig/src/main/java/org/zstack/resourceconfig/APIGetResourceConfigsMsg.java b/resourceconfig/src/main/java/org/zstack/resourceconfig/APIGetResourceConfigsMsg.java index 8bc85581076..21b066dc04e 100644 --- a/resourceconfig/src/main/java/org/zstack/resourceconfig/APIGetResourceConfigsMsg.java +++ b/resourceconfig/src/main/java/org/zstack/resourceconfig/APIGetResourceConfigsMsg.java @@ -11,7 +11,7 @@ import java.util.List; @RestRequest(path = "/resource-configurations/{resourceUuid}/{category}", - method = HttpMethod.GET, responseClass = APIGetResourceConfigsReply.class) + method = "GET", responseClass = APIGetResourceConfigsReply.class) public class APIGetResourceConfigsMsg extends APISyncCallMessage implements ResourceConfigMessage { @APIParam private String category; diff --git a/resourceconfig/src/main/java/org/zstack/resourceconfig/APIQueryResourceConfigMsg.java b/resourceconfig/src/main/java/org/zstack/resourceconfig/APIQueryResourceConfigMsg.java index a5c8f646015..9e7f87c491d 100644 --- a/resourceconfig/src/main/java/org/zstack/resourceconfig/APIQueryResourceConfigMsg.java +++ b/resourceconfig/src/main/java/org/zstack/resourceconfig/APIQueryResourceConfigMsg.java @@ -8,7 +8,7 @@ import java.util.Collections; import java.util.List; -@RestRequest(path = "/resource-configurations", method = HttpMethod.GET, responseClass = APIQueryResourceConfigReply.class) +@RestRequest(path = "/resource-configurations", method = "GET", responseClass = APIQueryResourceConfigReply.class) @AutoQuery(replyClass = APIQueryResourceConfigReply.class, inventoryClass = ResourceConfigInventory.class) public class APIQueryResourceConfigMsg extends APIQueryMessage { public static List __example__() { diff --git a/resourceconfig/src/main/java/org/zstack/resourceconfig/APIUpdateResourceConfigMsg.java b/resourceconfig/src/main/java/org/zstack/resourceconfig/APIUpdateResourceConfigMsg.java index 6b502c5e18d..8a91c0741e4 100644 --- a/resourceconfig/src/main/java/org/zstack/resourceconfig/APIUpdateResourceConfigMsg.java +++ b/resourceconfig/src/main/java/org/zstack/resourceconfig/APIUpdateResourceConfigMsg.java @@ -9,7 +9,7 @@ import org.zstack.header.vo.ResourceVO; @RestRequest(path = "/resource-configurations/{category}/{name}/{resourceUuid}/actions", - method = HttpMethod.PUT, + method = "PUT", isAction = true, responseClass = APIUpdateResourceConfigEvent.class, morphTransform = Constants.MORPH_TRANSFORM_IAM2) diff --git a/resourceconfig/src/main/java/org/zstack/resourceconfig/APIUpdateResourceConfigsMsg.java b/resourceconfig/src/main/java/org/zstack/resourceconfig/APIUpdateResourceConfigsMsg.java index e2f629cd01f..a89247ab452 100644 --- a/resourceconfig/src/main/java/org/zstack/resourceconfig/APIUpdateResourceConfigsMsg.java +++ b/resourceconfig/src/main/java/org/zstack/resourceconfig/APIUpdateResourceConfigsMsg.java @@ -12,7 +12,7 @@ @RestRequest( path = "/resource-configurations/{resourceUuid}/resource-configs/actions", - method = HttpMethod.POST, + method = "POST", parameterName = "params", responseClass = APIUpdateResourceConfigsEvent.class ) diff --git a/resourceconfig/src/main/java/org/zstack/resourceconfig/ResourceConfig.java b/resourceconfig/src/main/java/org/zstack/resourceconfig/ResourceConfig.java index 276ca6bd35d..6a1a4349609 100644 --- a/resourceconfig/src/main/java/org/zstack/resourceconfig/ResourceConfig.java +++ b/resourceconfig/src/main/java/org/zstack/resourceconfig/ResourceConfig.java @@ -16,7 +16,7 @@ import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; -import javax.persistence.Tuple; +import jakarta.persistence.Tuple; import java.util.*; import java.util.stream.Collectors; diff --git a/resourceconfig/src/main/java/org/zstack/resourceconfig/ResourceConfigVO.java b/resourceconfig/src/main/java/org/zstack/resourceconfig/ResourceConfigVO.java index b194d497aa5..1e165c3eaa0 100644 --- a/resourceconfig/src/main/java/org/zstack/resourceconfig/ResourceConfigVO.java +++ b/resourceconfig/src/main/java/org/zstack/resourceconfig/ResourceConfigVO.java @@ -4,7 +4,7 @@ import org.zstack.header.vo.ResourceVO; import org.zstack.header.vo.ToInventory; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; @Entity diff --git a/resourceconfig/src/main/java/org/zstack/resourceconfig/ResourceConfigVO_.java b/resourceconfig/src/main/java/org/zstack/resourceconfig/ResourceConfigVO_.java index 0062633f808..54da03cccf4 100644 --- a/resourceconfig/src/main/java/org/zstack/resourceconfig/ResourceConfigVO_.java +++ b/resourceconfig/src/main/java/org/zstack/resourceconfig/ResourceConfigVO_.java @@ -1,7 +1,7 @@ package org.zstack.resourceconfig; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; @StaticMetamodel(ResourceConfigVO.class) diff --git a/rest/pom.xml b/rest/pom.xml index 5f346305937..9fc854af481 100755 --- a/rest/pom.xml +++ b/rest/pom.xml @@ -42,9 +42,9 @@ opentelemetry-context - javax.servlet - javax.servlet-api - 3.1.0 + jakarta.servlet + jakarta.servlet-api + provided @@ -79,29 +79,55 @@ maven-compiler-plugin ${project.compiler.version} - groovy-eclipse-compiler ${project.java.version} ${project.java.version} lines,vars,source true - - - org.codehaus.groovy - groovy-eclipse-compiler - ${groovy.eclipse.compiler} - - - org.codehaus.groovy - groovy-eclipse-batch - ${groovy.eclipse.batch} - - - org.codehaus.mojo + org.codehaus.gmavenplus + gmavenplus-plugin + 3.0.2 + + + + ${project.basedir}/src/main/java + + **/*.groovy + + + + + + + groovy-stubs + generateStubsremoveStubs + + + groovy-compile + compile + + + + + org.apache.groovy + groovy + ${groovy.version} + + + + + dev.aspectj aspectj-maven-plugin ${aspectj.plugin.version} + + + org.aspectj + aspectjtools + ${aspectj.version} + + diff --git a/rest/src/main/java/org/zstack/rest/AsyncRestVO.java b/rest/src/main/java/org/zstack/rest/AsyncRestVO.java index cd1384ab271..d5b36e06fb2 100755 --- a/rest/src/main/java/org/zstack/rest/AsyncRestVO.java +++ b/rest/src/main/java/org/zstack/rest/AsyncRestVO.java @@ -3,7 +3,7 @@ import org.zstack.header.vo.BaseResource; import org.zstack.header.vo.Index; -import javax.persistence.*; +import jakarta.persistence.*; import java.sql.Timestamp; /** diff --git a/rest/src/main/java/org/zstack/rest/AsyncRestVO_.java b/rest/src/main/java/org/zstack/rest/AsyncRestVO_.java index 53086cd92f2..9ac965952eb 100755 --- a/rest/src/main/java/org/zstack/rest/AsyncRestVO_.java +++ b/rest/src/main/java/org/zstack/rest/AsyncRestVO_.java @@ -1,7 +1,7 @@ package org.zstack.rest; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.sql.Timestamp; /** diff --git a/rest/src/main/java/org/zstack/rest/MysqlAsyncRestStore.java b/rest/src/main/java/org/zstack/rest/MysqlAsyncRestStore.java index b6c343edb53..2e32e5a0bff 100755 --- a/rest/src/main/java/org/zstack/rest/MysqlAsyncRestStore.java +++ b/rest/src/main/java/org/zstack/rest/MysqlAsyncRestStore.java @@ -18,7 +18,7 @@ import org.zstack.utils.gson.JSONObjectUtil; import org.zstack.utils.logging.CLogger; -import javax.persistence.Query; +import jakarta.persistence.Query; import java.sql.Timestamp; import java.util.Collections; import java.util.Map; diff --git a/rest/src/main/java/org/zstack/rest/RestServer.java b/rest/src/main/java/org/zstack/rest/RestServer.java index 339396d3c41..ff59e7a39f6 100755 --- a/rest/src/main/java/org/zstack/rest/RestServer.java +++ b/rest/src/main/java/org/zstack/rest/RestServer.java @@ -87,9 +87,9 @@ import javax.net.ssl.SSLSocketFactory; import javax.net.ssl.X509TrustManager; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import javax.servlet.http.HttpSession; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; +import jakarta.servlet.http.HttpSession; import java.io.File; import java.io.IOException; import java.lang.annotation.Annotation; @@ -523,7 +523,7 @@ public String toString() { actionName = StringUtils.uncapitalize(actionName); } - if (!at.isAction() && requestAnnotation.parameterName().isEmpty() && requestAnnotation.method() == HttpMethod.PUT) { + if (!at.isAction() && requestAnnotation.parameterName().isEmpty() && "PUT".equals(requestAnnotation.method())) { throw new CloudRuntimeException(String.format("Invalid @RestRequest of %s, either isAction must be set to true or" + " parameterName is set to a non-empty string", apiClass.getName())); } @@ -533,7 +533,7 @@ public String toString() { for (Field f : fs) { allApiClassFields.put(f.getName(), f); - if (requestAnnotation.method() == HttpMethod.GET) { + if ("GET".equals(requestAnnotation.method())) { if (APIQueryMessage.class.isAssignableFrom(apiClass)) { // query messages are specially handled continue; @@ -940,7 +940,7 @@ private void handleNonUniqueApi(Collection apis, HttpEntity entity, String parameterName = null; if ("POST".equals(req.getMethod())) { // create API - Optional o = apis.stream().filter(a -> a.requestAnnotation.method().name().equals("POST")).findAny(); + Optional o = apis.stream().filter(a -> "POST".equals(a.requestAnnotation.method())).findAny(); if (!o.isPresent()) { throw new RestException(HttpStatus.INTERNAL_SERVER_ERROR.value(), String.format("No creational API found" + " for the path[%s]", req.getRequestURI())); @@ -960,7 +960,7 @@ private void handleNonUniqueApi(Collection apis, HttpEntity entity, parameterName = api.actionName; } else if ("GET".equals(req.getMethod())) { // query API - Optional o = apis.stream().filter(a -> a.requestAnnotation.method().name().equals("GET")).findAny(); + Optional o = apis.stream().filter(a -> "GET".equals(a.requestAnnotation.method())).findAny(); if (!o.isPresent()) { throw new RestException(HttpStatus.INTERNAL_SERVER_ERROR.value(), String.format("No query API found" + " for the path[%s]", req.getRequestURI())); @@ -969,7 +969,7 @@ private void handleNonUniqueApi(Collection apis, HttpEntity entity, api = o.get(); } else if ("DELETE".equals(req.getMethod())) { // DELETE API - Optional o = apis.stream().filter(a -> a.requestAnnotation.method().name().equals("DELETE")).findAny(); + Optional o = apis.stream().filter(a -> "DELETE".equals(a.requestAnnotation.method())).findAny(); if (!o.isPresent()) { throw new RestException(HttpStatus.INTERNAL_SERVER_ERROR.value(), String.format("No delete API found" + " for the path[%s]", req.getRequestURI())); @@ -1528,11 +1528,11 @@ private String normalizePath(String p) { private void collectRestRequestErrConfigApi(List errorApiList, Class apiClass, RestRequest apiRestRequest){ if (apiRestRequest.isAction() && !RESTConstant.DEFAULT_PARAMETER_NAME.equals(apiRestRequest.parameterName())) { errorApiList.add(String.format("[%s] RestRequest config error, Setting parameterName is not allowed when isAction set true", apiClass.getName())); - } else if (apiRestRequest.isAction() && HttpMethod.PUT != apiRestRequest.method()) { + } else if (apiRestRequest.isAction() && !"PUT".equals(apiRestRequest.method())) { errorApiList.add(String.format("[%s] RestRequest config error, method can only be set to HttpMethod.PUT when isAction set true", apiClass.getName())); - }else if (!RESTConstant.DEFAULT_PARAMETER_NAME.equals(apiRestRequest.parameterName()) && (HttpMethod.PUT == apiRestRequest.method() || HttpMethod.DELETE == apiRestRequest.method())){ + }else if (!RESTConstant.DEFAULT_PARAMETER_NAME.equals(apiRestRequest.parameterName()) && ("PUT".equals(apiRestRequest.method()) || "DELETE".equals(apiRestRequest.method()))){ errorApiList.add(String.format("[%s] RestRequest config error, method is not allowed to set to HttpMethod.PUT(HttpMethod.DELETE) when parameterName set a value", apiClass.getName())); - }else if(HttpMethod.GET == apiRestRequest.method() && !RESTConstant.DEFAULT_PARAMETER_NAME.equals(apiRestRequest.parameterName())){ + }else if("GET".equals(apiRestRequest.method()) && !RESTConstant.DEFAULT_PARAMETER_NAME.equals(apiRestRequest.parameterName())){ errorApiList.add(String.format("[%s] RestRequest config error, Setting parameterName is not allowed when method set HttpMethod.GET", apiClass.getName())); } } diff --git a/rest/src/main/java/org/zstack/rest/RestServerController.java b/rest/src/main/java/org/zstack/rest/RestServerController.java index 23886686cda..5fa8d22f06a 100755 --- a/rest/src/main/java/org/zstack/rest/RestServerController.java +++ b/rest/src/main/java/org/zstack/rest/RestServerController.java @@ -5,8 +5,8 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; import java.io.IOException; import java.lang.reflect.InvocationTargetException; diff --git a/rest/src/main/java/org/zstack/rest/RestServletRequestInterceptor.java b/rest/src/main/java/org/zstack/rest/RestServletRequestInterceptor.java index d6ffacc44da..b188ecf1fc4 100755 --- a/rest/src/main/java/org/zstack/rest/RestServletRequestInterceptor.java +++ b/rest/src/main/java/org/zstack/rest/RestServletRequestInterceptor.java @@ -1,6 +1,6 @@ package org.zstack.rest; -import javax.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletRequest; /** * Created by xing5 on 2017/9/15. diff --git a/rest/src/main/resources/scripts/RestDocumentationGenerator.groovy b/rest/src/main/resources/scripts/RestDocumentationGenerator.groovy index c11a35e40a7..6170aec125b 100755 --- a/rest/src/main/resources/scripts/RestDocumentationGenerator.groovy +++ b/rest/src/main/resources/scripts/RestDocumentationGenerator.groovy @@ -38,9 +38,9 @@ import org.zstack.utils.path.PathUtil import org.zstack.utils.string.ErrorCodeElaboration import org.zstack.utils.string.StringSimilarity -import javax.xml.bind.JAXBContext -import javax.xml.bind.JAXBException -import javax.xml.bind.Unmarshaller +import jakarta.xml.bind.JAXBContext +import jakarta.xml.bind.JAXBException +import jakarta.xml.bind.Unmarshaller import java.lang.reflect.Field import java.lang.reflect.InvocationTargetException import java.lang.reflect.Method diff --git a/sdk/pom.xml b/sdk/pom.xml index 988b8f7d7c0..83247252953 100755 --- a/sdk/pom.xml +++ b/sdk/pom.xml @@ -25,9 +25,9 @@ commons-beanutils - javax.servlet - javax.servlet-api - 3.1.0 + jakarta.servlet + jakarta.servlet-api + provided diff --git a/sdk/src/main/java/org/zstack/sdk/ZSClient.java b/sdk/src/main/java/org/zstack/sdk/ZSClient.java index 650369b19ac..e690befd3fc 100755 --- a/sdk/src/main/java/org/zstack/sdk/ZSClient.java +++ b/sdk/src/main/java/org/zstack/sdk/ZSClient.java @@ -13,8 +13,8 @@ import javax.crypto.Mac; import javax.crypto.spec.SecretKeySpec; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; import java.io.BufferedReader; import java.io.IOException; import java.lang.reflect.Type; diff --git a/search/pom.xml b/search/pom.xml index a2735c3e583..9e8231dd5e9 100755 --- a/search/pom.xml +++ b/search/pom.xml @@ -26,7 +26,7 @@ - org.hibernate + org.hibernate.orm hibernate-core @@ -37,10 +37,17 @@ org.kohsuke groovy-sandbox 1.19 + + + org.codehaus.groovy + groovy + + - org.codehaus.groovy + org.apache.groovy groovy-all + pom org.antlr @@ -55,11 +62,36 @@ antlr4-maven-plugin - javax.servlet - javax.servlet-api - 3.1.0 + jakarta.servlet + jakarta.servlet-api + provided + + jakarta.annotation + jakarta.annotation-api + + + org.apache.commons + commons-lang3 + 3.14.0 + + + com.google.code.gson + gson + + + org.json + json + + + org.apache.httpcomponents + httpclient + + + org.springframework + spring-aspects + @@ -139,30 +171,56 @@ maven-compiler-plugin ${project.compiler.version} - groovy-eclipse-compiler ${project.java.version} ${project.java.version} lines,vars,source true - - - org.codehaus.groovy - groovy-eclipse-compiler - 2.9.2-01 - - - org.codehaus.groovy - groovy-eclipse-batch - 2.4.3-01 - - - org.codehaus.mojo + org.codehaus.gmavenplus + gmavenplus-plugin + 3.0.2 + + + + ${project.basedir}/src/main/java + + **/*.groovy + + + + + + + groovy-stubs + generateStubsremoveStubs + + + groovy-compile + compile + + + + + org.apache.groovy + groovy + ${groovy.version} + + + + + dev.aspectj aspectj-maven-plugin ${aspectj.plugin.version} + + + org.aspectj + aspectjtools + ${aspectj.version} + + diff --git a/search/src/main/java/org/zstack/query/APIBatchQueryMsg.java b/search/src/main/java/org/zstack/query/APIBatchQueryMsg.java index f5da2baec69..bd3e68b6c63 100755 --- a/search/src/main/java/org/zstack/query/APIBatchQueryMsg.java +++ b/search/src/main/java/org/zstack/query/APIBatchQueryMsg.java @@ -6,7 +6,7 @@ import org.zstack.header.rest.RestRequest; import org.zstack.header.search.SearchConstant; -@RestRequest(path = "/batch-queries", method = HttpMethod.GET, responseClass = APIBatchQueryReply.class) +@RestRequest(path = "/batch-queries", method = "GET", responseClass = APIBatchQueryReply.class) @Action(category = SearchConstant.ACTION_CATEGORY, names = {"read"}) @Deprecated public class APIBatchQueryMsg extends APISyncCallMessage { diff --git a/search/src/main/java/org/zstack/query/APIZQLQueryMsg.java b/search/src/main/java/org/zstack/query/APIZQLQueryMsg.java index 7c153eaa25a..308f5b87a69 100755 --- a/search/src/main/java/org/zstack/query/APIZQLQueryMsg.java +++ b/search/src/main/java/org/zstack/query/APIZQLQueryMsg.java @@ -4,7 +4,7 @@ import org.zstack.header.message.APISyncCallMessage; import org.zstack.header.rest.RestRequest; -@RestRequest(path = "/zql", method = HttpMethod.GET, responseClass = APIZQLQueryReply.class) +@RestRequest(path = "/zql", method = "GET", responseClass = APIZQLQueryReply.class) public class APIZQLQueryMsg extends APISyncCallMessage { private String zql; diff --git a/search/src/main/java/org/zstack/query/BatchQuery.groovy b/search/src/main/java/org/zstack/query/BatchQuery.groovy index f4f9cafb7dd..21dbe22ecf5 100755 --- a/search/src/main/java/org/zstack/query/BatchQuery.groovy +++ b/search/src/main/java/org/zstack/query/BatchQuery.groovy @@ -2,7 +2,7 @@ package org.zstack.query import static org.zstack.utils.clouderrorcode.CloudOperationsErrorCode.*; -import org.apache.commons.lang.StringUtils +import org.apache.commons.lang3.StringUtils import org.codehaus.groovy.control.CompilerConfiguration import org.codehaus.groovy.reflection.ClassInfo import org.codehaus.groovy.reflection.GroovyClassValue diff --git a/search/src/main/java/org/zstack/query/MysqlQueryBuilderImpl3.java b/search/src/main/java/org/zstack/query/MysqlQueryBuilderImpl3.java index c7bd4f445a9..555d60d201f 100755 --- a/search/src/main/java/org/zstack/query/MysqlQueryBuilderImpl3.java +++ b/search/src/main/java/org/zstack/query/MysqlQueryBuilderImpl3.java @@ -1,6 +1,6 @@ package org.zstack.query; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.objenesis.Objenesis; import org.objenesis.ObjenesisStd; import org.objenesis.instantiator.ObjectInstantiator; @@ -29,8 +29,8 @@ import static org.zstack.core.Platform.argerr; -import javax.persistence.*; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.*; +import jakarta.persistence.metamodel.StaticMetamodel; import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; @@ -1052,7 +1052,7 @@ List query() { Query q = msg.isFieldQuery() ? dbf.getEntityManager().createQuery(jpql, Tuple.class) : dbf.getEntityManager().createQuery(jpql); if (logger.isTraceEnabled()) { - org.hibernate.Query hq = q.unwrap(org.hibernate.Query.class); + org.hibernate.query.Query hq = q.unwrap(org.hibernate.query.Query.class); logger.trace(hq.getQueryString()); } setQueryValue(q, root); @@ -1077,7 +1077,7 @@ long count() { String jpql = build(true); Query q = dbf.getEntityManager().createQuery(jpql); if (logger.isTraceEnabled()) { - org.hibernate.Query hq = q.unwrap(org.hibernate.Query.class); + org.hibernate.query.Query hq = q.unwrap(org.hibernate.query.Query.class); logger.trace(hq.getQueryString()); } setQueryValue(q, root); diff --git a/search/src/main/java/org/zstack/query/MysqlQueryElement.java b/search/src/main/java/org/zstack/query/MysqlQueryElement.java index 35fc52e70a8..022d6f573ab 100755 --- a/search/src/main/java/org/zstack/query/MysqlQueryElement.java +++ b/search/src/main/java/org/zstack/query/MysqlQueryElement.java @@ -2,10 +2,10 @@ import org.zstack.header.search.Inventory; -import javax.persistence.criteria.CriteriaBuilder; -import javax.persistence.criteria.CriteriaQuery; -import javax.persistence.criteria.Predicate; -import javax.persistence.criteria.Root; +import jakarta.persistence.criteria.CriteriaBuilder; +import jakarta.persistence.criteria.CriteriaQuery; +import jakarta.persistence.criteria.Predicate; +import jakarta.persistence.criteria.Root; import java.util.List; public class MysqlQueryElement { diff --git a/search/src/main/java/org/zstack/query/QueryFacadeImpl.java b/search/src/main/java/org/zstack/query/QueryFacadeImpl.java index 6dafe940fca..dcda6fb2f66 100755 --- a/search/src/main/java/org/zstack/query/QueryFacadeImpl.java +++ b/search/src/main/java/org/zstack/query/QueryFacadeImpl.java @@ -1,7 +1,7 @@ package org.zstack.query; import com.google.common.collect.Lists; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.zstack.core.CoreGlobalProperty; import org.zstack.core.cloudbus.CloudBus; diff --git a/search/src/main/java/org/zstack/query/QueryUtils.java b/search/src/main/java/org/zstack/query/QueryUtils.java index 084a4e735f2..6c5415298fb 100755 --- a/search/src/main/java/org/zstack/query/QueryUtils.java +++ b/search/src/main/java/org/zstack/query/QueryUtils.java @@ -3,7 +3,7 @@ import org.zstack.header.search.Inventory; import org.zstack.utils.FieldUtils; -import javax.persistence.Id; +import jakarta.persistence.Id; import java.lang.reflect.Field; import java.util.HashMap; import java.util.Map; diff --git a/search/src/main/java/org/zstack/query/QueryableFieldsPythonWriter.java b/search/src/main/java/org/zstack/query/QueryableFieldsPythonWriter.java index 17e2b441501..eb922089f6c 100755 --- a/search/src/main/java/org/zstack/query/QueryableFieldsPythonWriter.java +++ b/search/src/main/java/org/zstack/query/QueryableFieldsPythonWriter.java @@ -1,7 +1,7 @@ package org.zstack.query; import org.apache.commons.io.FileUtils; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.zstack.header.exception.CloudRuntimeException; import org.zstack.utils.path.PathUtil; diff --git a/search/src/main/java/org/zstack/search/APIRefreshSearchIndexesMsg.java b/search/src/main/java/org/zstack/search/APIRefreshSearchIndexesMsg.java index 10064236fa8..d38e2a640d0 100644 --- a/search/src/main/java/org/zstack/search/APIRefreshSearchIndexesMsg.java +++ b/search/src/main/java/org/zstack/search/APIRefreshSearchIndexesMsg.java @@ -9,7 +9,7 @@ * @ Date : Created in 19:23 2020/10/29 */ @RestRequest(path = "/search/indexes/refresh", - method = HttpMethod.GET, + method = "GET", responseClass = APIRefreshSearchIndexesReply.class ) public class APIRefreshSearchIndexesMsg extends APISyncCallMessage { diff --git a/search/src/main/java/org/zstack/search/CustomSearchMappingFactory.java b/search/src/main/java/org/zstack/search/CustomSearchMappingFactory.java index 195b6a061b2..43817e6ee86 100644 --- a/search/src/main/java/org/zstack/search/CustomSearchMappingFactory.java +++ b/search/src/main/java/org/zstack/search/CustomSearchMappingFactory.java @@ -1,94 +1,12 @@ package org.zstack.search; -import org.apache.lucene.analysis.util.TokenFilterFactory; -import org.apache.lucene.analysis.util.TokenizerFactory; -import org.hibernate.search.annotations.Factory; -import org.hibernate.search.cfg.*; -import org.zstack.header.exception.CloudRuntimeException; -import org.zstack.header.search.SearchConstant; -import org.zstack.search.schema.AnalyzerDefType; -import org.zstack.search.schema.FilterType; -import org.zstack.search.schema.IndexType; -import org.zstack.search.schema.Indexes; -import org.zstack.utils.path.PathUtil; - -import javax.xml.bind.JAXBContext; -import javax.xml.bind.JAXBException; -import javax.xml.bind.Unmarshaller; -import java.io.File; -import java.lang.annotation.ElementType; -import java.util.List; - /** - * @ Author : yh.w - * @ Date : Created in 14:48 2020/11/19 + * Hibernate Search 5 removed — incompatible with Jakarta namespace. + * This class was the programmatic mapping factory for Hibernate Search 5. + * Stubbed out until upgrade to Hibernate Search 7.x. */ public class CustomSearchMappingFactory { public CustomSearchMappingFactory() { } - - private String defaultAnalyzerName; - - @Factory - public SearchMapping getSearchMapping() { - SearchMapping mapping = new SearchMapping(); - try { - JAXBContext context = JAXBContext.newInstance("org.zstack.search.schema"); - File cfg = PathUtil.findFileOnClassPath(SearchConstant.INDEX_CONFIG_PATH, true); - Unmarshaller unmarshaller = context.createUnmarshaller(); - Indexes schema = (Indexes) unmarshaller.unmarshal(cfg); - List indexes = schema.getIndex(); - List analyzerDefs = schema.getAnalyzerDef(); - defaultAnalyzerName = schema.getDefaultAnalyzerName(); - - for (AnalyzerDefType analyzerDefType : analyzerDefs) { - constructAnalyzerDef(mapping, analyzerDefType); - } - - for (IndexType index : indexes) { - Class entityClass = Class.forName(index.getName()); - if (index.isBaseClass()) { - constructBaseIndex(mapping, entityClass, index.getProp()); - } else { - constructIndex(mapping, entityClass, index.getProp()); - } - } - } catch (JAXBException e) { - throw new CloudRuntimeException(e); - } catch (ClassNotFoundException e) { - throw new CloudRuntimeException(String.format("build search mapping failed, %s", e)); - } - - return mapping; - } - - private void constructAnalyzerDef(SearchMapping mapping, AnalyzerDefType analyzerDefType) throws ClassNotFoundException { - AnalyzerDefMapping analyzerDefMapping = mapping.analyzerDef(analyzerDefType.getName(), - (Class) Class.forName(analyzerDefType.getAnalyzer().getFactory())); - for (FilterType type : analyzerDefType.getFilter()) { - TokenFilterDefMapping filterDefMapping = analyzerDefMapping.filter((Class) Class.forName(type.getFactory())); - for (FilterType.Param param : type.getParam()) { - filterDefMapping.param(param.getName(), param.getValue()); - } - } - } - - private void constructBaseIndex(SearchMapping mapping, Class entity, List props) { - EntityMapping entityMapping = mapping.entity(entity); - for (IndexType.Prop prop : props) { - entityMapping.property(prop.getName(), ElementType.METHOD) - .field() - .analyzer(prop.getAnalyzer() == null? defaultAnalyzerName : prop.getAnalyzer()); - } - } - - private void constructIndex(SearchMapping mapping, Class entity, List props) { - IndexedMapping indexedMapping = mapping.entity(entity).indexed(); - for (IndexType.Prop prop : props) { - indexedMapping.property(prop.getName(), ElementType.METHOD) - .field() - .analyzer(prop.getAnalyzer() == null? defaultAnalyzerName : prop.getAnalyzer()); - } - } } diff --git a/search/src/main/java/org/zstack/search/InventoryIndexManagerImpl.java b/search/src/main/java/org/zstack/search/InventoryIndexManagerImpl.java index edf6f7135f8..8207affc6ef 100755 --- a/search/src/main/java/org/zstack/search/InventoryIndexManagerImpl.java +++ b/search/src/main/java/org/zstack/search/InventoryIndexManagerImpl.java @@ -37,7 +37,7 @@ import org.zstack.utils.function.Function; import org.zstack.utils.logging.CLogger; -import javax.persistence.*; +import jakarta.persistence.*; import java.io.IOException; import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; diff --git a/search/src/main/java/org/zstack/search/SearchFacade.java b/search/src/main/java/org/zstack/search/SearchFacade.java index cc47f0aca87..255ccbcd5ea 100644 --- a/search/src/main/java/org/zstack/search/SearchFacade.java +++ b/search/src/main/java/org/zstack/search/SearchFacade.java @@ -1,8 +1,9 @@ package org.zstack.search; -import org.hibernate.search.jpa.FullTextEntityManager; - +/** + * Search facade interface. + * Hibernate Search 5 removed — incompatible with Jakarta namespace. + * Full-text search is disabled until upgrade to Hibernate Search 7.x. + */ public interface SearchFacade { - - FullTextEntityManager getFullTextEntityManager(); } diff --git a/search/src/main/java/org/zstack/search/SearchFacadeImpl.java b/search/src/main/java/org/zstack/search/SearchFacadeImpl.java index 8e5d32257ae..5369b9b8b7a 100644 --- a/search/src/main/java/org/zstack/search/SearchFacadeImpl.java +++ b/search/src/main/java/org/zstack/search/SearchFacadeImpl.java @@ -1,15 +1,8 @@ package org.zstack.search; -import org.hibernate.search.batchindexing.MassIndexerProgressMonitor; -import org.hibernate.search.jpa.FullTextEntityManager; -import org.hibernate.search.jpa.Search; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.transaction.annotation.Transactional; -import org.zstack.core.Platform; import org.zstack.core.cloudbus.CloudBus; import org.zstack.core.db.DatabaseFacade; -import org.zstack.core.search.SearchGlobalProperty; -import org.zstack.core.thread.SyncTask; import org.zstack.core.thread.ThreadFacade; import org.zstack.header.AbstractService; import org.zstack.header.message.APIMessage; @@ -17,11 +10,11 @@ import org.zstack.header.search.SearchConstant; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; -import org.zstack.utils.stopwatch.StopWatch; /** - * @ Author : yh.w - * @ Date : Created in 17:20 2020/11/20 + * Hibernate Search 5 removed — incompatible with Jakarta namespace. + * Full-text search is disabled until upgrade to Hibernate Search 7.x. + * This stub keeps the service registered so the bus can route messages. */ public class SearchFacadeImpl extends AbstractService implements SearchFacade { private static CLogger logger = Utils.getLogger(SearchFacadeImpl.class); @@ -55,113 +48,9 @@ private void handleApiMessage(APIMessage msg) { } private void handle(APIRefreshSearchIndexesMsg msg) { - thdf.syncSubmit(new SyncTask() { - @Override - public Void call() throws Exception { - APIRefreshSearchIndexesReply reply = new APIRefreshSearchIndexesReply(); - refreshSearchIndexes(); - bus.reply(msg, reply); - return null; - } - - @Override - public String getName() { - return getSyncSignature(); - } - - @Override - public String getSyncSignature() { - return "refresh-search-indexs"; - } - - @Override - public int getSyncLevel() { - return 5; - } - }); - } - - @Transactional(readOnly = true) - private void createSearchIndexes() { - try { - if (!Platform.isVIPNode()) { - logger.info("current managementNode is not vip node, skip refresh search indexes"); - return; - } - - if (!SearchGlobalProperty.SearchAutoRegister) { - logger.info("search module has been disabled, skip refresh search indexes"); - return; - } - - StopWatch watch = Utils.getStopWatch(); - watch.start(); - logger.info("start refresh search indexes"); - FullTextEntityManager textEntityManager = getFullTextEntityManager(); - //required typesToIndexInParallel * (threadsToLoadObjects + 1) jdbc connections - textEntityManager.createIndexer() - //.typesToIndexInParallel(2), default 1 - .batchSizeToLoadObjects(SearchGlobalProperty.massIndexerBatchSizeToLoadObjects) - .threadsToLoadObjects(SearchGlobalProperty.massIndexerThreadsToLoadObjects) - .progressMonitor(new MassIndexerProgressMonitor() { - @Override - public void documentsBuilt(int number) { - - } - - @Override - public void entitiesLoaded(int size) { - - } - - @Override - public void addToTotalCount(long count) { - logger.debug(String.format("indexing is going to fetch %d primary keys", count)); - } - - @Override - public void indexingCompleted() { - logger.debug("indexing completed"); - } - - @Override - public void documentsAdded(long increment) { - - } - }) - .idFetchSize(150) - .startAndWait(); - watch.stop(); - logger.info(String.format("refresh search indexes success, cost %d ms", watch.getLapse())); - } catch (Throwable e) { - logger.warn("a unhandled exception happened", e); - Thread.currentThread().interrupt(); - } - } - - private void refreshSearchIndexes() { - thdf.syncSubmit(new SyncTask() { - @Override - public String getName() { - return "refresh-search-indexes"; - } - - @Override - public Void call() throws Exception { - createSearchIndexes(); - return null; - } - - @Override - public String getSyncSignature() { - return "refresh-search-indexex"; - } - - @Override - public int getSyncLevel() { - return 1; - } - }); + APIRefreshSearchIndexesReply reply = new APIRefreshSearchIndexesReply(); + logger.warn("Hibernate Search is disabled (pending upgrade to 7.x). Ignoring refresh request."); + bus.reply(msg, reply); } @Override @@ -171,7 +60,7 @@ public String getId() { @Override public boolean start() { - refreshSearchIndexes(); + logger.info("SearchFacade started (Hibernate Search disabled — pending 7.x upgrade)"); return true; } @@ -179,9 +68,4 @@ public boolean start() { public boolean stop() { return true; } - - @Override - public FullTextEntityManager getFullTextEntityManager() { - return Search.getFullTextEntityManager(dbf.getEntityManager()); - } } diff --git a/search/src/main/java/org/zstack/search/schema/AnalyzerDefType.java b/search/src/main/java/org/zstack/search/schema/AnalyzerDefType.java index c4f84fbf579..94b5cfec4c3 100644 --- a/search/src/main/java/org/zstack/search/schema/AnalyzerDefType.java +++ b/search/src/main/java/org/zstack/search/schema/AnalyzerDefType.java @@ -3,12 +3,12 @@ import java.util.ArrayList; import java.util.List; -import javax.annotation.Generated; -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 jakarta.annotation.Generated; +import jakarta.xml.bind.annotation.XmlAccessType; +import jakarta.xml.bind.annotation.XmlAccessorType; +import jakarta.xml.bind.annotation.XmlAttribute; +import jakarta.xml.bind.annotation.XmlElement; +import jakarta.xml.bind.annotation.XmlType; /** diff --git a/search/src/main/java/org/zstack/search/schema/FilterType.java b/search/src/main/java/org/zstack/search/schema/FilterType.java index dc1259bf92b..b99f4024670 100644 --- a/search/src/main/java/org/zstack/search/schema/FilterType.java +++ b/search/src/main/java/org/zstack/search/schema/FilterType.java @@ -3,11 +3,11 @@ import java.util.ArrayList; import java.util.List; -import javax.annotation.Generated; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlAttribute; -import javax.xml.bind.annotation.XmlType; +import jakarta.annotation.Generated; +import jakarta.xml.bind.annotation.XmlAccessType; +import jakarta.xml.bind.annotation.XmlAccessorType; +import jakarta.xml.bind.annotation.XmlAttribute; +import jakarta.xml.bind.annotation.XmlType; /** diff --git a/search/src/main/java/org/zstack/search/schema/IndexType.java b/search/src/main/java/org/zstack/search/schema/IndexType.java index 82e8cef28a0..3e6b5907c0f 100644 --- a/search/src/main/java/org/zstack/search/schema/IndexType.java +++ b/search/src/main/java/org/zstack/search/schema/IndexType.java @@ -3,11 +3,11 @@ import java.util.ArrayList; import java.util.List; -import javax.annotation.Generated; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlAttribute; -import javax.xml.bind.annotation.XmlType; +import jakarta.annotation.Generated; +import jakarta.xml.bind.annotation.XmlAccessType; +import jakarta.xml.bind.annotation.XmlAccessorType; +import jakarta.xml.bind.annotation.XmlAttribute; +import jakarta.xml.bind.annotation.XmlType; /** diff --git a/search/src/main/java/org/zstack/search/schema/Indexes.java b/search/src/main/java/org/zstack/search/schema/Indexes.java index ec75cfa46f4..70782d9ac75 100644 --- a/search/src/main/java/org/zstack/search/schema/Indexes.java +++ b/search/src/main/java/org/zstack/search/schema/Indexes.java @@ -3,12 +3,12 @@ import java.util.ArrayList; import java.util.List; -import javax.annotation.Generated; -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 jakarta.annotation.Generated; +import jakarta.xml.bind.annotation.XmlAccessType; +import jakarta.xml.bind.annotation.XmlAccessorType; +import jakarta.xml.bind.annotation.XmlElement; +import jakarta.xml.bind.annotation.XmlRootElement; +import jakarta.xml.bind.annotation.XmlType; /** diff --git a/search/src/main/java/org/zstack/search/schema/ObjectFactory.java b/search/src/main/java/org/zstack/search/schema/ObjectFactory.java index c9732cdec04..c974dce5683 100644 --- a/search/src/main/java/org/zstack/search/schema/ObjectFactory.java +++ b/search/src/main/java/org/zstack/search/schema/ObjectFactory.java @@ -1,7 +1,7 @@ package org.zstack.search.schema; -import javax.xml.bind.annotation.XmlRegistry; +import jakarta.xml.bind.annotation.XmlRegistry; /** diff --git a/search/src/main/java/org/zstack/search/schema/package-info.java b/search/src/main/java/org/zstack/search/schema/package-info.java index b6906066d8e..b8f67e81084 100644 --- a/search/src/main/java/org/zstack/search/schema/package-info.java +++ b/search/src/main/java/org/zstack/search/schema/package-info.java @@ -1,2 +1,2 @@ -@javax.xml.bind.annotation.XmlSchema(namespace = "http://zstack.org/schema/zstack", elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED) +@jakarta.xml.bind.annotation.XmlSchema(namespace = "http://zstack.org/schema/zstack", elementFormDefault = jakarta.xml.bind.annotation.XmlNsForm.QUALIFIED) package org.zstack.search.schema; diff --git a/search/src/main/java/org/zstack/zql/ZQL.java b/search/src/main/java/org/zstack/zql/ZQL.java index 53a2aa7b2ff..8775a595a73 100755 --- a/search/src/main/java/org/zstack/zql/ZQL.java +++ b/search/src/main/java/org/zstack/zql/ZQL.java @@ -3,7 +3,7 @@ import com.google.common.collect.Sets; import org.antlr.v4.runtime.*; import org.antlr.v4.runtime.misc.ParseCancellationException; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowire; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Configurable; @@ -45,7 +45,7 @@ import org.zstack.zql.ast.visitors.result.ReturnWithResult; import org.zstack.zql.ast.visitors.result.SearchResult; -import javax.persistence.Query; +import jakarta.persistence.Query; import java.lang.reflect.Field; import java.util.*; import java.util.concurrent.ConcurrentHashMap; @@ -413,7 +413,7 @@ protected void scripts() { searchResult.getSearchs() .parallelStream() .forEach(v -> { - List result = v.getQuery().getResultList(); + List result = ((jakarta.persistence.Query) v.getQuery()).getResultList(); Set searchResults = Sets.newConcurrentHashSet(); for (Object o : result) { Object[] rarray = (Object[]) o; diff --git a/search/src/main/java/org/zstack/zql/antlr4/ZQLBaseListener.java b/search/src/main/java/org/zstack/zql/antlr4/ZQLBaseListener.java index 452b0b070e4..9f36c2fd09e 100644 --- a/search/src/main/java/org/zstack/zql/antlr4/ZQLBaseListener.java +++ b/search/src/main/java/org/zstack/zql/antlr4/ZQLBaseListener.java @@ -1,4 +1,4 @@ -// Generated from ZQL.g4 by ANTLR 4.7 +// Generated from /home/test/modernize/search/src/main/antlr4/ZQL.g4 by ANTLR 4.13.0 package org.zstack.zql.antlr4; @@ -12,6 +12,7 @@ * which can be extended to create a listener which only needs to handle a subset * of the available methods. */ +@SuppressWarnings("CheckReturnValue") public class ZQLBaseListener implements ZQLListener { /** * {@inheritDoc} @@ -421,18 +422,6 @@ public class ZQLBaseListener implements ZQLListener { *

The default implementation does nothing.

*/ @Override public void exitWithMultiFields(ZQLParser.WithMultiFieldsContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterWithMultiTableFields(ZQLParser.WithMultiTableFieldsContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitWithMultiTableFields(ZQLParser.WithMultiTableFieldsContext ctx) { } /** * {@inheritDoc} * diff --git a/search/src/main/java/org/zstack/zql/antlr4/ZQLBaseVisitor.java b/search/src/main/java/org/zstack/zql/antlr4/ZQLBaseVisitor.java index a45d8f22244..4aee5224622 100644 --- a/search/src/main/java/org/zstack/zql/antlr4/ZQLBaseVisitor.java +++ b/search/src/main/java/org/zstack/zql/antlr4/ZQLBaseVisitor.java @@ -1,4 +1,4 @@ -// Generated from ZQL.g4 by ANTLR 4.7 +// Generated from /home/test/modernize/search/src/main/antlr4/ZQL.g4 by ANTLR 4.13.0 package org.zstack.zql.antlr4; @@ -12,6 +12,7 @@ * @param The return type of the visit operation. Use {@link Void} for * operations with no return type. */ +@SuppressWarnings("CheckReturnValue") public class ZQLBaseVisitor extends AbstractParseTreeVisitor implements ZQLVisitor { /** * {@inheritDoc} @@ -251,13 +252,6 @@ public class ZQLBaseVisitor extends AbstractParseTreeVisitor implements ZQ * {@link #visitChildren} on {@code ctx}.

*/ @Override public T visitWithMultiFields(ZQLParser.WithMultiFieldsContext ctx) { return visitChildren(ctx); } - /** - * {@inheritDoc} - * - *

The default implementation returns the result of calling - * {@link #visitChildren} on {@code ctx}.

- */ - @Override public T visitWithMultiTableFields(ZQLParser.WithMultiTableFieldsContext ctx) { return visitChildren(ctx); } /** * {@inheritDoc} * diff --git a/search/src/main/java/org/zstack/zql/antlr4/ZQLLexer.java b/search/src/main/java/org/zstack/zql/antlr4/ZQLLexer.java index db4c183c183..8245e02f8d2 100644 --- a/search/src/main/java/org/zstack/zql/antlr4/ZQLLexer.java +++ b/search/src/main/java/org/zstack/zql/antlr4/ZQLLexer.java @@ -1,4 +1,4 @@ -// Generated from ZQL.g4 by ANTLR 4.7 +// Generated from /home/test/modernize/search/src/main/antlr4/ZQL.g4 by ANTLR 4.13.0 package org.zstack.zql.antlr4; @@ -11,9 +11,9 @@ import org.antlr.v4.runtime.dfa.DFA; import org.antlr.v4.runtime.misc.*; -@SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast"}) +@SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast", "CheckReturnValue"}) public class ZQLLexer extends Lexer { - static { RuntimeMetaData.checkVersion("4.7", RuntimeMetaData.VERSION); } + static { RuntimeMetaData.checkVersion("4.13.0", RuntimeMetaData.VERSION); } protected static final DFA[] _decisionToDFA; protected static final PredictionContextCache _sharedContextCache = @@ -36,36 +36,45 @@ public class ZQLLexer extends Lexer { "DEFAULT_MODE" }; - public static final String[] ruleNames = { - "T__0", "T__1", "T__2", "T__3", "T__4", "T__5", "T__6", "T__7", "T__8", - "T__9", "T__10", "T__11", "T__12", "T__13", "T__14", "T__15", "T__16", - "T__17", "T__18", "T__19", "T__20", "T__21", "T__22", "T__23", "T__24", - "T__25", "T__26", "T__27", "T__28", "INNER", "LEFT", "RIGHT", "JOIN", - "ON", "FILTER_BY", "OFFSET", "LIMIT", "QUERY", "GET", "COUNT", "SUM", - "SEARCH", "ORDER_BY", "GROUP_BY", "NAMED_AS", "ORDER_BY_VALUE", "RESTRICT_BY", - "RETURN_WITH", "WHERE", "FROM", "AND", "OR", "ASC", "DESC", "INPUT", "OUTPUT", - "BOOLEAN", "INT", "FLOAT", "ID", "WS", "STRING", "CHAR", "NUMBER" - }; + private static String[] makeRuleNames() { + return new String[] { + "T__0", "T__1", "T__2", "T__3", "T__4", "T__5", "T__6", "T__7", "T__8", + "T__9", "T__10", "T__11", "T__12", "T__13", "T__14", "T__15", "T__16", + "T__17", "T__18", "T__19", "T__20", "T__21", "T__22", "T__23", "T__24", + "T__25", "T__26", "T__27", "T__28", "INNER", "LEFT", "RIGHT", "JOIN", + "ON", "FILTER_BY", "OFFSET", "LIMIT", "QUERY", "GET", "COUNT", "SUM", + "SEARCH", "ORDER_BY", "GROUP_BY", "NAMED_AS", "ORDER_BY_VALUE", "RESTRICT_BY", + "RETURN_WITH", "WHERE", "FROM", "AND", "OR", "ASC", "DESC", "INPUT", + "OUTPUT", "BOOLEAN", "INT", "FLOAT", "ID", "WS", "STRING", "CHAR", "NUMBER" + }; + } + public static final String[] ruleNames = makeRuleNames(); - private static final String[] _LITERAL_NAMES = { - null, "';'", "'.'", "','", "'='", "'!='", "'>'", "'>='", "'<'", "'<='", - "'is null'", "'is not null'", "'in'", "'not in'", "'like'", "'not like'", - "'has'", "'not has'", "'('", "')'", "'list('", "'{'", "'}'", "'by'", "'*'", - "'/'", "'%'", "'+'", "'-'", "'--'", "'inner'", "'left'", "'right'", "'join'", - "'on'", "'filter by'", "'offset'", "'limit'", "'query'", "'getapi'", "'count'", - "'sum'", "'search'", "'order by'", "'group by'", "'named as'", null, "'restrict by'", - "'return with'", "'where'", "'from'", "'and'", "'or'", "'asc'", "'desc'", - "'api'", "'output'" - }; - private static final String[] _SYMBOLIC_NAMES = { - null, null, null, null, null, null, null, null, null, null, null, null, - null, null, null, null, null, null, null, null, null, null, null, null, - null, null, null, null, null, null, "INNER", "LEFT", "RIGHT", "JOIN", - "ON", "FILTER_BY", "OFFSET", "LIMIT", "QUERY", "GET", "COUNT", "SUM", - "SEARCH", "ORDER_BY", "GROUP_BY", "NAMED_AS", "ORDER_BY_VALUE", "RESTRICT_BY", - "RETURN_WITH", "WHERE", "FROM", "AND", "OR", "ASC", "DESC", "INPUT", "OUTPUT", - "BOOLEAN", "INT", "FLOAT", "ID", "WS", "STRING" - }; + private static String[] makeLiteralNames() { + return new String[] { + null, "';'", "'.'", "','", "'='", "'!='", "'>'", "'>='", "'<'", "'<='", + "'is null'", "'is not null'", "'in'", "'not in'", "'like'", "'not like'", + "'has'", "'not has'", "'('", "')'", "'list('", "'{'", "'}'", "'by'", + "'*'", "'/'", "'%'", "'+'", "'-'", "'--'", "'inner'", "'left'", "'right'", + "'join'", "'on'", "'filter by'", "'offset'", "'limit'", "'query'", "'getapi'", + "'count'", "'sum'", "'search'", "'order by'", "'group by'", "'named as'", + null, "'restrict by'", "'return with'", "'where'", "'from'", "'and'", + "'or'", "'asc'", "'desc'", "'api'", "'output'" + }; + } + private static final String[] _LITERAL_NAMES = makeLiteralNames(); + private static String[] makeSymbolicNames() { + return new String[] { + null, null, null, null, null, null, null, null, null, null, null, null, + null, null, null, null, null, null, null, null, null, null, null, null, + null, null, null, null, null, null, "INNER", "LEFT", "RIGHT", "JOIN", + "ON", "FILTER_BY", "OFFSET", "LIMIT", "QUERY", "GET", "COUNT", "SUM", + "SEARCH", "ORDER_BY", "GROUP_BY", "NAMED_AS", "ORDER_BY_VALUE", "RESTRICT_BY", + "RETURN_WITH", "WHERE", "FROM", "AND", "OR", "ASC", "DESC", "INPUT", + "OUTPUT", "BOOLEAN", "INT", "FLOAT", "ID", "WS", "STRING" + }; + } + private static final String[] _SYMBOLIC_NAMES = makeSymbolicNames(); public static final Vocabulary VOCABULARY = new VocabularyImpl(_LITERAL_NAMES, _SYMBOLIC_NAMES); /** @@ -124,162 +133,290 @@ public ZQLLexer(CharStream input) { public ATN getATN() { return _ATN; } public static final String _serializedATN = - "\3\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964\2@\u01e1\b\1\4\2\t"+ - "\2\4\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7\t\7\4\b\t\b\4\t\t\t\4\n\t\n\4\13"+ - "\t\13\4\f\t\f\4\r\t\r\4\16\t\16\4\17\t\17\4\20\t\20\4\21\t\21\4\22\t\22"+ - "\4\23\t\23\4\24\t\24\4\25\t\25\4\26\t\26\4\27\t\27\4\30\t\30\4\31\t\31"+ - "\4\32\t\32\4\33\t\33\4\34\t\34\4\35\t\35\4\36\t\36\4\37\t\37\4 \t \4!"+ - "\t!\4\"\t\"\4#\t#\4$\t$\4%\t%\4&\t&\4\'\t\'\4(\t(\4)\t)\4*\t*\4+\t+\4"+ - ",\t,\4-\t-\4.\t.\4/\t/\4\60\t\60\4\61\t\61\4\62\t\62\4\63\t\63\4\64\t"+ - "\64\4\65\t\65\4\66\t\66\4\67\t\67\48\t8\49\t9\4:\t:\4;\t;\4<\t<\4=\t="+ - "\4>\t>\4?\t?\4@\t@\4A\tA\3\2\3\2\3\3\3\3\3\4\3\4\3\5\3\5\3\6\3\6\3\6\3"+ - "\7\3\7\3\b\3\b\3\b\3\t\3\t\3\n\3\n\3\n\3\13\3\13\3\13\3\13\3\13\3\13\3"+ - "\13\3\13\3\f\3\f\3\f\3\f\3\f\3\f\3\f\3\f\3\f\3\f\3\f\3\f\3\r\3\r\3\r\3"+ - "\16\3\16\3\16\3\16\3\16\3\16\3\16\3\17\3\17\3\17\3\17\3\17\3\20\3\20\3"+ - "\20\3\20\3\20\3\20\3\20\3\20\3\20\3\21\3\21\3\21\3\21\3\22\3\22\3\22\3"+ - "\22\3\22\3\22\3\22\3\22\3\23\3\23\3\24\3\24\3\25\3\25\3\25\3\25\3\25\3"+ - "\25\3\26\3\26\3\27\3\27\3\30\3\30\3\30\3\31\3\31\3\32\3\32\3\33\3\33\3"+ - "\34\3\34\3\35\3\35\3\36\3\36\3\36\3\37\3\37\3\37\3\37\3\37\3\37\3 \3 "+ - "\3 \3 \3 \3!\3!\3!\3!\3!\3!\3\"\3\"\3\"\3\"\3\"\3#\3#\3#\3$\3$\3$\3$\3"+ - "$\3$\3$\3$\3$\3$\3%\3%\3%\3%\3%\3%\3%\3&\3&\3&\3&\3&\3&\3\'\3\'\3\'\3"+ - "\'\3\'\3\'\3(\3(\3(\3(\3(\3(\3(\3)\3)\3)\3)\3)\3)\3*\3*\3*\3*\3+\3+\3"+ - "+\3+\3+\3+\3+\3,\3,\3,\3,\3,\3,\3,\3,\3,\3-\3-\3-\3-\3-\3-\3-\3-\3-\3"+ - ".\3.\3.\3.\3.\3.\3.\3.\3.\3/\3/\5/\u015a\n/\3\60\3\60\3\60\3\60\3\60\3"+ - "\60\3\60\3\60\3\60\3\60\3\60\3\60\3\61\3\61\3\61\3\61\3\61\3\61\3\61\3"+ - "\61\3\61\3\61\3\61\3\61\3\62\3\62\3\62\3\62\3\62\3\62\3\63\3\63\3\63\3"+ - "\63\3\63\3\64\3\64\3\64\3\64\3\65\3\65\3\65\3\66\3\66\3\66\3\66\3\67\3"+ - "\67\3\67\3\67\3\67\38\38\38\38\39\39\39\39\39\39\39\3:\3:\3:\3:\3:\3:"+ - "\3:\3:\3:\5:\u01a3\n:\3;\5;\u01a6\n;\3;\3;\3<\3<\3<\6<\u01ad\n<\r<\16"+ - "<\u01ae\3=\6=\u01b2\n=\r=\16=\u01b3\3>\6>\u01b7\n>\r>\16>\u01b8\3>\3>"+ - "\3?\3?\7?\u01bf\n?\f?\16?\u01c2\13?\3?\3?\3?\3?\3?\7?\u01c9\n?\f?\16?"+ - "\u01cc\13?\3?\5?\u01cf\n?\3@\6@\u01d2\n@\r@\16@\u01d3\3@\6@\u01d7\n@\r"+ - "@\16@\u01d8\5@\u01db\n@\3A\6A\u01de\nA\rA\16A\u01df\2\2B\3\3\5\4\7\5\t"+ - "\6\13\7\r\b\17\t\21\n\23\13\25\f\27\r\31\16\33\17\35\20\37\21!\22#\23"+ - "%\24\'\25)\26+\27-\30/\31\61\32\63\33\65\34\67\359\36;\37= ?!A\"C#E$G"+ - "%I&K\'M(O)Q*S+U,W-Y.[/]\60_\61a\62c\63e\64g\65i\66k\67m8o9q:s;u{"+ - "?}@\177\2\u0081\2\3\2\6\6\2\62;C\\aac|\5\2\13\f\17\17\"\"\3\2$$\3\2))"+ - "\2\u01ec\2\3\3\2\2\2\2\5\3\2\2\2\2\7\3\2\2\2\2\t\3\2\2\2\2\13\3\2\2\2"+ - "\2\r\3\2\2\2\2\17\3\2\2\2\2\21\3\2\2\2\2\23\3\2\2\2\2\25\3\2\2\2\2\27"+ - "\3\2\2\2\2\31\3\2\2\2\2\33\3\2\2\2\2\35\3\2\2\2\2\37\3\2\2\2\2!\3\2\2"+ - "\2\2#\3\2\2\2\2%\3\2\2\2\2\'\3\2\2\2\2)\3\2\2\2\2+\3\2\2\2\2-\3\2\2\2"+ - "\2/\3\2\2\2\2\61\3\2\2\2\2\63\3\2\2\2\2\65\3\2\2\2\2\67\3\2\2\2\29\3\2"+ - "\2\2\2;\3\2\2\2\2=\3\2\2\2\2?\3\2\2\2\2A\3\2\2\2\2C\3\2\2\2\2E\3\2\2\2"+ - "\2G\3\2\2\2\2I\3\2\2\2\2K\3\2\2\2\2M\3\2\2\2\2O\3\2\2\2\2Q\3\2\2\2\2S"+ - "\3\2\2\2\2U\3\2\2\2\2W\3\2\2\2\2Y\3\2\2\2\2[\3\2\2\2\2]\3\2\2\2\2_\3\2"+ - "\2\2\2a\3\2\2\2\2c\3\2\2\2\2e\3\2\2\2\2g\3\2\2\2\2i\3\2\2\2\2k\3\2\2\2"+ - "\2m\3\2\2\2\2o\3\2\2\2\2q\3\2\2\2\2s\3\2\2\2\2u\3\2\2\2\2w\3\2\2\2\2y"+ - "\3\2\2\2\2{\3\2\2\2\2}\3\2\2\2\3\u0083\3\2\2\2\5\u0085\3\2\2\2\7\u0087"+ - "\3\2\2\2\t\u0089\3\2\2\2\13\u008b\3\2\2\2\r\u008e\3\2\2\2\17\u0090\3\2"+ - "\2\2\21\u0093\3\2\2\2\23\u0095\3\2\2\2\25\u0098\3\2\2\2\27\u00a0\3\2\2"+ - "\2\31\u00ac\3\2\2\2\33\u00af\3\2\2\2\35\u00b6\3\2\2\2\37\u00bb\3\2\2\2"+ - "!\u00c4\3\2\2\2#\u00c8\3\2\2\2%\u00d0\3\2\2\2\'\u00d2\3\2\2\2)\u00d4\3"+ - "\2\2\2+\u00da\3\2\2\2-\u00dc\3\2\2\2/\u00de\3\2\2\2\61\u00e1\3\2\2\2\63"+ - "\u00e3\3\2\2\2\65\u00e5\3\2\2\2\67\u00e7\3\2\2\29\u00e9\3\2\2\2;\u00eb"+ - "\3\2\2\2=\u00ee\3\2\2\2?\u00f4\3\2\2\2A\u00f9\3\2\2\2C\u00ff\3\2\2\2E"+ - "\u0104\3\2\2\2G\u0107\3\2\2\2I\u0111\3\2\2\2K\u0118\3\2\2\2M\u011e\3\2"+ - "\2\2O\u0124\3\2\2\2Q\u012b\3\2\2\2S\u0131\3\2\2\2U\u0135\3\2\2\2W\u013c"+ - "\3\2\2\2Y\u0145\3\2\2\2[\u014e\3\2\2\2]\u0159\3\2\2\2_\u015b\3\2\2\2a"+ - "\u0167\3\2\2\2c\u0173\3\2\2\2e\u0179\3\2\2\2g\u017e\3\2\2\2i\u0182\3\2"+ - "\2\2k\u0185\3\2\2\2m\u0189\3\2\2\2o\u018e\3\2\2\2q\u0192\3\2\2\2s\u01a2"+ - "\3\2\2\2u\u01a5\3\2\2\2w\u01a9\3\2\2\2y\u01b1\3\2\2\2{\u01b6\3\2\2\2}"+ - "\u01ce\3\2\2\2\177\u01da\3\2\2\2\u0081\u01dd\3\2\2\2\u0083\u0084\7=\2"+ - "\2\u0084\4\3\2\2\2\u0085\u0086\7\60\2\2\u0086\6\3\2\2\2\u0087\u0088\7"+ - ".\2\2\u0088\b\3\2\2\2\u0089\u008a\7?\2\2\u008a\n\3\2\2\2\u008b\u008c\7"+ - "#\2\2\u008c\u008d\7?\2\2\u008d\f\3\2\2\2\u008e\u008f\7@\2\2\u008f\16\3"+ - "\2\2\2\u0090\u0091\7@\2\2\u0091\u0092\7?\2\2\u0092\20\3\2\2\2\u0093\u0094"+ - "\7>\2\2\u0094\22\3\2\2\2\u0095\u0096\7>\2\2\u0096\u0097\7?\2\2\u0097\24"+ - "\3\2\2\2\u0098\u0099\7k\2\2\u0099\u009a\7u\2\2\u009a\u009b\7\"\2\2\u009b"+ - "\u009c\7p\2\2\u009c\u009d\7w\2\2\u009d\u009e\7n\2\2\u009e\u009f\7n\2\2"+ - "\u009f\26\3\2\2\2\u00a0\u00a1\7k\2\2\u00a1\u00a2\7u\2\2\u00a2\u00a3\7"+ - "\"\2\2\u00a3\u00a4\7p\2\2\u00a4\u00a5\7q\2\2\u00a5\u00a6\7v\2\2\u00a6"+ - "\u00a7\7\"\2\2\u00a7\u00a8\7p\2\2\u00a8\u00a9\7w\2\2\u00a9\u00aa\7n\2"+ - "\2\u00aa\u00ab\7n\2\2\u00ab\30\3\2\2\2\u00ac\u00ad\7k\2\2\u00ad\u00ae"+ - "\7p\2\2\u00ae\32\3\2\2\2\u00af\u00b0\7p\2\2\u00b0\u00b1\7q\2\2\u00b1\u00b2"+ - "\7v\2\2\u00b2\u00b3\7\"\2\2\u00b3\u00b4\7k\2\2\u00b4\u00b5\7p\2\2\u00b5"+ - "\34\3\2\2\2\u00b6\u00b7\7n\2\2\u00b7\u00b8\7k\2\2\u00b8\u00b9\7m\2\2\u00b9"+ - "\u00ba\7g\2\2\u00ba\36\3\2\2\2\u00bb\u00bc\7p\2\2\u00bc\u00bd\7q\2\2\u00bd"+ - "\u00be\7v\2\2\u00be\u00bf\7\"\2\2\u00bf\u00c0\7n\2\2\u00c0\u00c1\7k\2"+ - "\2\u00c1\u00c2\7m\2\2\u00c2\u00c3\7g\2\2\u00c3 \3\2\2\2\u00c4\u00c5\7"+ - "j\2\2\u00c5\u00c6\7c\2\2\u00c6\u00c7\7u\2\2\u00c7\"\3\2\2\2\u00c8\u00c9"+ - "\7p\2\2\u00c9\u00ca\7q\2\2\u00ca\u00cb\7v\2\2\u00cb\u00cc\7\"\2\2\u00cc"+ - "\u00cd\7j\2\2\u00cd\u00ce\7c\2\2\u00ce\u00cf\7u\2\2\u00cf$\3\2\2\2\u00d0"+ - "\u00d1\7*\2\2\u00d1&\3\2\2\2\u00d2\u00d3\7+\2\2\u00d3(\3\2\2\2\u00d4\u00d5"+ - "\7n\2\2\u00d5\u00d6\7k\2\2\u00d6\u00d7\7u\2\2\u00d7\u00d8\7v\2\2\u00d8"+ - "\u00d9\7*\2\2\u00d9*\3\2\2\2\u00da\u00db\7}\2\2\u00db,\3\2\2\2\u00dc\u00dd"+ - "\7\177\2\2\u00dd.\3\2\2\2\u00de\u00df\7d\2\2\u00df\u00e0\7{\2\2\u00e0"+ - "\60\3\2\2\2\u00e1\u00e2\7,\2\2\u00e2\62\3\2\2\2\u00e3\u00e4\7\61\2\2\u00e4"+ - "\64\3\2\2\2\u00e5\u00e6\7\'\2\2\u00e6\66\3\2\2\2\u00e7\u00e8\7-\2\2\u00e8"+ - "8\3\2\2\2\u00e9\u00ea\7/\2\2\u00ea:\3\2\2\2\u00eb\u00ec\7/\2\2\u00ec\u00ed"+ - "\7/\2\2\u00ed<\3\2\2\2\u00ee\u00ef\7k\2\2\u00ef\u00f0\7p\2\2\u00f0\u00f1"+ - "\7p\2\2\u00f1\u00f2\7g\2\2\u00f2\u00f3\7t\2\2\u00f3>\3\2\2\2\u00f4\u00f5"+ - "\7n\2\2\u00f5\u00f6\7g\2\2\u00f6\u00f7\7h\2\2\u00f7\u00f8\7v\2\2\u00f8"+ - "@\3\2\2\2\u00f9\u00fa\7t\2\2\u00fa\u00fb\7k\2\2\u00fb\u00fc\7i\2\2\u00fc"+ - "\u00fd\7j\2\2\u00fd\u00fe\7v\2\2\u00feB\3\2\2\2\u00ff\u0100\7l\2\2\u0100"+ - "\u0101\7q\2\2\u0101\u0102\7k\2\2\u0102\u0103\7p\2\2\u0103D\3\2\2\2\u0104"+ - "\u0105\7q\2\2\u0105\u0106\7p\2\2\u0106F\3\2\2\2\u0107\u0108\7h\2\2\u0108"+ - "\u0109\7k\2\2\u0109\u010a\7n\2\2\u010a\u010b\7v\2\2\u010b\u010c\7g\2\2"+ - "\u010c\u010d\7t\2\2\u010d\u010e\7\"\2\2\u010e\u010f\7d\2\2\u010f\u0110"+ - "\7{\2\2\u0110H\3\2\2\2\u0111\u0112\7q\2\2\u0112\u0113\7h\2\2\u0113\u0114"+ - "\7h\2\2\u0114\u0115\7u\2\2\u0115\u0116\7g\2\2\u0116\u0117\7v\2\2\u0117"+ - "J\3\2\2\2\u0118\u0119\7n\2\2\u0119\u011a\7k\2\2\u011a\u011b\7o\2\2\u011b"+ - "\u011c\7k\2\2\u011c\u011d\7v\2\2\u011dL\3\2\2\2\u011e\u011f\7s\2\2\u011f"+ - "\u0120\7w\2\2\u0120\u0121\7g\2\2\u0121\u0122\7t\2\2\u0122\u0123\7{\2\2"+ - "\u0123N\3\2\2\2\u0124\u0125\7i\2\2\u0125\u0126\7g\2\2\u0126\u0127\7v\2"+ - "\2\u0127\u0128\7c\2\2\u0128\u0129\7r\2\2\u0129\u012a\7k\2\2\u012aP\3\2"+ - "\2\2\u012b\u012c\7e\2\2\u012c\u012d\7q\2\2\u012d\u012e\7w\2\2\u012e\u012f"+ - "\7p\2\2\u012f\u0130\7v\2\2\u0130R\3\2\2\2\u0131\u0132\7u\2\2\u0132\u0133"+ - "\7w\2\2\u0133\u0134\7o\2\2\u0134T\3\2\2\2\u0135\u0136\7u\2\2\u0136\u0137"+ - "\7g\2\2\u0137\u0138\7c\2\2\u0138\u0139\7t\2\2\u0139\u013a\7e\2\2\u013a"+ - "\u013b\7j\2\2\u013bV\3\2\2\2\u013c\u013d\7q\2\2\u013d\u013e\7t\2\2\u013e"+ - "\u013f\7f\2\2\u013f\u0140\7g\2\2\u0140\u0141\7t\2\2\u0141\u0142\7\"\2"+ - "\2\u0142\u0143\7d\2\2\u0143\u0144\7{\2\2\u0144X\3\2\2\2\u0145\u0146\7"+ - "i\2\2\u0146\u0147\7t\2\2\u0147\u0148\7q\2\2\u0148\u0149\7w\2\2\u0149\u014a"+ - "\7r\2\2\u014a\u014b\7\"\2\2\u014b\u014c\7d\2\2\u014c\u014d\7{\2\2\u014d"+ - "Z\3\2\2\2\u014e\u014f\7p\2\2\u014f\u0150\7c\2\2\u0150\u0151\7o\2\2\u0151"+ - "\u0152\7g\2\2\u0152\u0153\7f\2\2\u0153\u0154\7\"\2\2\u0154\u0155\7c\2"+ - "\2\u0155\u0156\7u\2\2\u0156\\\3\2\2\2\u0157\u015a\5k\66\2\u0158\u015a"+ - "\5m\67\2\u0159\u0157\3\2\2\2\u0159\u0158\3\2\2\2\u015a^\3\2\2\2\u015b"+ - "\u015c\7t\2\2\u015c\u015d\7g\2\2\u015d\u015e\7u\2\2\u015e\u015f\7v\2\2"+ - "\u015f\u0160\7t\2\2\u0160\u0161\7k\2\2\u0161\u0162\7e\2\2\u0162\u0163"+ - "\7v\2\2\u0163\u0164\7\"\2\2\u0164\u0165\7d\2\2\u0165\u0166\7{\2\2\u0166"+ - "`\3\2\2\2\u0167\u0168\7t\2\2\u0168\u0169\7g\2\2\u0169\u016a\7v\2\2\u016a"+ - "\u016b\7w\2\2\u016b\u016c\7t\2\2\u016c\u016d\7p\2\2\u016d\u016e\7\"\2"+ - "\2\u016e\u016f\7y\2\2\u016f\u0170\7k\2\2\u0170\u0171\7v\2\2\u0171\u0172"+ - "\7j\2\2\u0172b\3\2\2\2\u0173\u0174\7y\2\2\u0174\u0175\7j\2\2\u0175\u0176"+ - "\7g\2\2\u0176\u0177\7t\2\2\u0177\u0178\7g\2\2\u0178d\3\2\2\2\u0179\u017a"+ - "\7h\2\2\u017a\u017b\7t\2\2\u017b\u017c\7q\2\2\u017c\u017d\7o\2\2\u017d"+ - "f\3\2\2\2\u017e\u017f\7c\2\2\u017f\u0180\7p\2\2\u0180\u0181\7f\2\2\u0181"+ - "h\3\2\2\2\u0182\u0183\7q\2\2\u0183\u0184\7t\2\2\u0184j\3\2\2\2\u0185\u0186"+ - "\7c\2\2\u0186\u0187\7u\2\2\u0187\u0188\7e\2\2\u0188l\3\2\2\2\u0189\u018a"+ - "\7f\2\2\u018a\u018b\7g\2\2\u018b\u018c\7u\2\2\u018c\u018d\7e\2\2\u018d"+ - "n\3\2\2\2\u018e\u018f\7c\2\2\u018f\u0190\7r\2\2\u0190\u0191\7k\2\2\u0191"+ - "p\3\2\2\2\u0192\u0193\7q\2\2\u0193\u0194\7w\2\2\u0194\u0195\7v\2\2\u0195"+ - "\u0196\7r\2\2\u0196\u0197\7w\2\2\u0197\u0198\7v\2\2\u0198r\3\2\2\2\u0199"+ - "\u019a\7v\2\2\u019a\u019b\7t\2\2\u019b\u019c\7w\2\2\u019c\u01a3\7g\2\2"+ - "\u019d\u019e\7h\2\2\u019e\u019f\7c\2\2\u019f\u01a0\7n\2\2\u01a0\u01a1"+ - "\7u\2\2\u01a1\u01a3\7g\2\2\u01a2\u0199\3\2\2\2\u01a2\u019d\3\2\2\2\u01a3"+ - "t\3\2\2\2\u01a4\u01a6\7/\2\2\u01a5\u01a4\3\2\2\2\u01a5\u01a6\3\2\2\2\u01a6"+ - "\u01a7\3\2\2\2\u01a7\u01a8\5\u0081A\2\u01a8v\3\2\2\2\u01a9\u01aa\5u;\2"+ - "\u01aa\u01ac\7\60\2\2\u01ab\u01ad\5\u0081A\2\u01ac\u01ab\3\2\2\2\u01ad"+ - "\u01ae\3\2\2\2\u01ae\u01ac\3\2\2\2\u01ae\u01af\3\2\2\2\u01afx\3\2\2\2"+ - "\u01b0\u01b2\t\2\2\2\u01b1\u01b0\3\2\2\2\u01b2\u01b3\3\2\2\2\u01b3\u01b1"+ - "\3\2\2\2\u01b3\u01b4\3\2\2\2\u01b4z\3\2\2\2\u01b5\u01b7\t\3\2\2\u01b6"+ - "\u01b5\3\2\2\2\u01b7\u01b8\3\2\2\2\u01b8\u01b6\3\2\2\2\u01b8\u01b9\3\2"+ - "\2\2\u01b9\u01ba\3\2\2\2\u01ba\u01bb\b>\2\2\u01bb|\3\2\2\2\u01bc\u01c0"+ - "\7$\2\2\u01bd\u01bf\n\4\2\2\u01be\u01bd\3\2\2\2\u01bf\u01c2\3\2\2\2\u01c0"+ - "\u01be\3\2\2\2\u01c0\u01c1\3\2\2\2\u01c1\u01c3\3\2\2\2\u01c2\u01c0\3\2"+ - "\2\2\u01c3\u01cf\7$\2\2\u01c4\u01ca\7)\2\2\u01c5\u01c6\7)\2\2\u01c6\u01c9"+ - "\7)\2\2\u01c7\u01c9\n\5\2\2\u01c8\u01c5\3\2\2\2\u01c8\u01c7\3\2\2\2\u01c9"+ - "\u01cc\3\2\2\2\u01ca\u01c8\3\2\2\2\u01ca\u01cb\3\2\2\2\u01cb\u01cd\3\2"+ - "\2\2\u01cc\u01ca\3\2\2\2\u01cd\u01cf\7)\2\2\u01ce\u01bc\3\2\2\2\u01ce"+ - "\u01c4\3\2\2\2\u01cf~\3\2\2\2\u01d0\u01d2\4c|\2\u01d1\u01d0\3\2\2\2\u01d2"+ - "\u01d3\3\2\2\2\u01d3\u01d1\3\2\2\2\u01d3\u01d4\3\2\2\2\u01d4\u01db\3\2"+ - "\2\2\u01d5\u01d7\4C\\\2\u01d6\u01d5\3\2\2\2\u01d7\u01d8\3\2\2\2\u01d8"+ - "\u01d6\3\2\2\2\u01d8\u01d9\3\2\2\2\u01d9\u01db\3\2\2\2\u01da\u01d1\3\2"+ - "\2\2\u01da\u01d6\3\2\2\2\u01db\u0080\3\2\2\2\u01dc\u01de\4\62;\2\u01dd"+ - "\u01dc\3\2\2\2\u01de\u01df\3\2\2\2\u01df\u01dd\3\2\2\2\u01df\u01e0\3\2"+ - "\2\2\u01e0\u0082\3\2\2\2\21\2\u0159\u01a2\u01a5\u01ae\u01b3\u01b8\u01c0"+ - "\u01c8\u01ca\u01ce\u01d3\u01d8\u01da\u01df\3\b\2\2"; + "\u0004\u0000>\u01df\u0006\uffff\uffff\u0002\u0000\u0007\u0000\u0002\u0001"+ + "\u0007\u0001\u0002\u0002\u0007\u0002\u0002\u0003\u0007\u0003\u0002\u0004"+ + "\u0007\u0004\u0002\u0005\u0007\u0005\u0002\u0006\u0007\u0006\u0002\u0007"+ + "\u0007\u0007\u0002\b\u0007\b\u0002\t\u0007\t\u0002\n\u0007\n\u0002\u000b"+ + "\u0007\u000b\u0002\f\u0007\f\u0002\r\u0007\r\u0002\u000e\u0007\u000e\u0002"+ + "\u000f\u0007\u000f\u0002\u0010\u0007\u0010\u0002\u0011\u0007\u0011\u0002"+ + "\u0012\u0007\u0012\u0002\u0013\u0007\u0013\u0002\u0014\u0007\u0014\u0002"+ + "\u0015\u0007\u0015\u0002\u0016\u0007\u0016\u0002\u0017\u0007\u0017\u0002"+ + "\u0018\u0007\u0018\u0002\u0019\u0007\u0019\u0002\u001a\u0007\u001a\u0002"+ + "\u001b\u0007\u001b\u0002\u001c\u0007\u001c\u0002\u001d\u0007\u001d\u0002"+ + "\u001e\u0007\u001e\u0002\u001f\u0007\u001f\u0002 \u0007 \u0002!\u0007"+ + "!\u0002\"\u0007\"\u0002#\u0007#\u0002$\u0007$\u0002%\u0007%\u0002&\u0007"+ + "&\u0002\'\u0007\'\u0002(\u0007(\u0002)\u0007)\u0002*\u0007*\u0002+\u0007"+ + "+\u0002,\u0007,\u0002-\u0007-\u0002.\u0007.\u0002/\u0007/\u00020\u0007"+ + "0\u00021\u00071\u00022\u00072\u00023\u00073\u00024\u00074\u00025\u0007"+ + "5\u00026\u00076\u00027\u00077\u00028\u00078\u00029\u00079\u0002:\u0007"+ + ":\u0002;\u0007;\u0002<\u0007<\u0002=\u0007=\u0002>\u0007>\u0002?\u0007"+ + "?\u0001\u0000\u0001\u0000\u0001\u0001\u0001\u0001\u0001\u0002\u0001\u0002"+ + "\u0001\u0003\u0001\u0003\u0001\u0004\u0001\u0004\u0001\u0004\u0001\u0005"+ + "\u0001\u0005\u0001\u0006\u0001\u0006\u0001\u0006\u0001\u0007\u0001\u0007"+ + "\u0001\b\u0001\b\u0001\b\u0001\t\u0001\t\u0001\t\u0001\t\u0001\t\u0001"+ + "\t\u0001\t\u0001\t\u0001\n\u0001\n\u0001\n\u0001\n\u0001\n\u0001\n\u0001"+ + "\n\u0001\n\u0001\n\u0001\n\u0001\n\u0001\n\u0001\u000b\u0001\u000b\u0001"+ + "\u000b\u0001\f\u0001\f\u0001\f\u0001\f\u0001\f\u0001\f\u0001\f\u0001\r"+ + "\u0001\r\u0001\r\u0001\r\u0001\r\u0001\u000e\u0001\u000e\u0001\u000e\u0001"+ + "\u000e\u0001\u000e\u0001\u000e\u0001\u000e\u0001\u000e\u0001\u000e\u0001"+ + "\u000f\u0001\u000f\u0001\u000f\u0001\u000f\u0001\u0010\u0001\u0010\u0001"+ + "\u0010\u0001\u0010\u0001\u0010\u0001\u0010\u0001\u0010\u0001\u0010\u0001"+ + "\u0011\u0001\u0011\u0001\u0012\u0001\u0012\u0001\u0013\u0001\u0013\u0001"+ + "\u0013\u0001\u0013\u0001\u0013\u0001\u0013\u0001\u0014\u0001\u0014\u0001"+ + "\u0015\u0001\u0015\u0001\u0016\u0001\u0016\u0001\u0016\u0001\u0017\u0001"+ + "\u0017\u0001\u0018\u0001\u0018\u0001\u0019\u0001\u0019\u0001\u001a\u0001"+ + "\u001a\u0001\u001b\u0001\u001b\u0001\u001c\u0001\u001c\u0001\u001c\u0001"+ + "\u001d\u0001\u001d\u0001\u001d\u0001\u001d\u0001\u001d\u0001\u001d\u0001"+ + "\u001e\u0001\u001e\u0001\u001e\u0001\u001e\u0001\u001e\u0001\u001f\u0001"+ + "\u001f\u0001\u001f\u0001\u001f\u0001\u001f\u0001\u001f\u0001 \u0001 \u0001"+ + " \u0001 \u0001 \u0001!\u0001!\u0001!\u0001\"\u0001\"\u0001\"\u0001\"\u0001"+ + "\"\u0001\"\u0001\"\u0001\"\u0001\"\u0001\"\u0001#\u0001#\u0001#\u0001"+ + "#\u0001#\u0001#\u0001#\u0001$\u0001$\u0001$\u0001$\u0001$\u0001$\u0001"+ + "%\u0001%\u0001%\u0001%\u0001%\u0001%\u0001&\u0001&\u0001&\u0001&\u0001"+ + "&\u0001&\u0001&\u0001\'\u0001\'\u0001\'\u0001\'\u0001\'\u0001\'\u0001"+ + "(\u0001(\u0001(\u0001(\u0001)\u0001)\u0001)\u0001)\u0001)\u0001)\u0001"+ + ")\u0001*\u0001*\u0001*\u0001*\u0001*\u0001*\u0001*\u0001*\u0001*\u0001"+ + "+\u0001+\u0001+\u0001+\u0001+\u0001+\u0001+\u0001+\u0001+\u0001,\u0001"+ + ",\u0001,\u0001,\u0001,\u0001,\u0001,\u0001,\u0001,\u0001-\u0001-\u0003"+ + "-\u0158\b-\u0001.\u0001.\u0001.\u0001.\u0001.\u0001.\u0001.\u0001.\u0001"+ + ".\u0001.\u0001.\u0001.\u0001/\u0001/\u0001/\u0001/\u0001/\u0001/\u0001"+ + "/\u0001/\u0001/\u0001/\u0001/\u0001/\u00010\u00010\u00010\u00010\u0001"+ + "0\u00010\u00011\u00011\u00011\u00011\u00011\u00012\u00012\u00012\u0001"+ + "2\u00013\u00013\u00013\u00014\u00014\u00014\u00014\u00015\u00015\u0001"+ + "5\u00015\u00015\u00016\u00016\u00016\u00016\u00017\u00017\u00017\u0001"+ + "7\u00017\u00017\u00017\u00018\u00018\u00018\u00018\u00018\u00018\u0001"+ + "8\u00018\u00018\u00038\u01a1\b8\u00019\u00039\u01a4\b9\u00019\u00019\u0001"+ + ":\u0001:\u0001:\u0004:\u01ab\b:\u000b:\f:\u01ac\u0001;\u0004;\u01b0\b"+ + ";\u000b;\f;\u01b1\u0001<\u0004<\u01b5\b<\u000b<\f<\u01b6\u0001<\u0001"+ + "<\u0001=\u0001=\u0005=\u01bd\b=\n=\f=\u01c0\t=\u0001=\u0001=\u0001=\u0001"+ + "=\u0001=\u0005=\u01c7\b=\n=\f=\u01ca\t=\u0001=\u0003=\u01cd\b=\u0001>"+ + "\u0004>\u01d0\b>\u000b>\f>\u01d1\u0001>\u0004>\u01d5\b>\u000b>\f>\u01d6"+ + "\u0003>\u01d9\b>\u0001?\u0004?\u01dc\b?\u000b?\f?\u01dd\u0000\u0000@\u0001"+ + "\u0001\u0003\u0002\u0005\u0003\u0007\u0004\t\u0005\u000b\u0006\r\u0007"+ + "\u000f\b\u0011\t\u0013\n\u0015\u000b\u0017\f\u0019\r\u001b\u000e\u001d"+ + "\u000f\u001f\u0010!\u0011#\u0012%\u0013\'\u0014)\u0015+\u0016-\u0017/"+ + "\u00181\u00193\u001a5\u001b7\u001c9\u001d;\u001e=\u001f? A!C\"E#G$I%K"+ + "&M\'O(Q)S*U+W,Y-[.]/_0a1c2e3g4i5k6m7o8q9s:u;w}\u0000\u007f\u0000"+ + "\u0001\u0000\u0004\u0004\u000009AZ__az\u0003\u0000\t\n\r\r \u0001\u0000"+ + "\"\"\u0001\u0000\'\'\u01ea\u0000\u0001\u0001\u0000\u0000\u0000\u0000\u0003"+ + "\u0001\u0000\u0000\u0000\u0000\u0005\u0001\u0000\u0000\u0000\u0000\u0007"+ + "\u0001\u0000\u0000\u0000\u0000\t\u0001\u0000\u0000\u0000\u0000\u000b\u0001"+ + "\u0000\u0000\u0000\u0000\r\u0001\u0000\u0000\u0000\u0000\u000f\u0001\u0000"+ + "\u0000\u0000\u0000\u0011\u0001\u0000\u0000\u0000\u0000\u0013\u0001\u0000"+ + "\u0000\u0000\u0000\u0015\u0001\u0000\u0000\u0000\u0000\u0017\u0001\u0000"+ + "\u0000\u0000\u0000\u0019\u0001\u0000\u0000\u0000\u0000\u001b\u0001\u0000"+ + "\u0000\u0000\u0000\u001d\u0001\u0000\u0000\u0000\u0000\u001f\u0001\u0000"+ + "\u0000\u0000\u0000!\u0001\u0000\u0000\u0000\u0000#\u0001\u0000\u0000\u0000"+ + "\u0000%\u0001\u0000\u0000\u0000\u0000\'\u0001\u0000\u0000\u0000\u0000"+ + ")\u0001\u0000\u0000\u0000\u0000+\u0001\u0000\u0000\u0000\u0000-\u0001"+ + "\u0000\u0000\u0000\u0000/\u0001\u0000\u0000\u0000\u00001\u0001\u0000\u0000"+ + "\u0000\u00003\u0001\u0000\u0000\u0000\u00005\u0001\u0000\u0000\u0000\u0000"+ + "7\u0001\u0000\u0000\u0000\u00009\u0001\u0000\u0000\u0000\u0000;\u0001"+ + "\u0000\u0000\u0000\u0000=\u0001\u0000\u0000\u0000\u0000?\u0001\u0000\u0000"+ + "\u0000\u0000A\u0001\u0000\u0000\u0000\u0000C\u0001\u0000\u0000\u0000\u0000"+ + "E\u0001\u0000\u0000\u0000\u0000G\u0001\u0000\u0000\u0000\u0000I\u0001"+ + "\u0000\u0000\u0000\u0000K\u0001\u0000\u0000\u0000\u0000M\u0001\u0000\u0000"+ + "\u0000\u0000O\u0001\u0000\u0000\u0000\u0000Q\u0001\u0000\u0000\u0000\u0000"+ + "S\u0001\u0000\u0000\u0000\u0000U\u0001\u0000\u0000\u0000\u0000W\u0001"+ + "\u0000\u0000\u0000\u0000Y\u0001\u0000\u0000\u0000\u0000[\u0001\u0000\u0000"+ + "\u0000\u0000]\u0001\u0000\u0000\u0000\u0000_\u0001\u0000\u0000\u0000\u0000"+ + "a\u0001\u0000\u0000\u0000\u0000c\u0001\u0000\u0000\u0000\u0000e\u0001"+ + "\u0000\u0000\u0000\u0000g\u0001\u0000\u0000\u0000\u0000i\u0001\u0000\u0000"+ + "\u0000\u0000k\u0001\u0000\u0000\u0000\u0000m\u0001\u0000\u0000\u0000\u0000"+ + "o\u0001\u0000\u0000\u0000\u0000q\u0001\u0000\u0000\u0000\u0000s\u0001"+ + "\u0000\u0000\u0000\u0000u\u0001\u0000\u0000\u0000\u0000w\u0001\u0000\u0000"+ + "\u0000\u0000y\u0001\u0000\u0000\u0000\u0000{\u0001\u0000\u0000\u0000\u0001"+ + "\u0081\u0001\u0000\u0000\u0000\u0003\u0083\u0001\u0000\u0000\u0000\u0005"+ + "\u0085\u0001\u0000\u0000\u0000\u0007\u0087\u0001\u0000\u0000\u0000\t\u0089"+ + "\u0001\u0000\u0000\u0000\u000b\u008c\u0001\u0000\u0000\u0000\r\u008e\u0001"+ + "\u0000\u0000\u0000\u000f\u0091\u0001\u0000\u0000\u0000\u0011\u0093\u0001"+ + "\u0000\u0000\u0000\u0013\u0096\u0001\u0000\u0000\u0000\u0015\u009e\u0001"+ + "\u0000\u0000\u0000\u0017\u00aa\u0001\u0000\u0000\u0000\u0019\u00ad\u0001"+ + "\u0000\u0000\u0000\u001b\u00b4\u0001\u0000\u0000\u0000\u001d\u00b9\u0001"+ + "\u0000\u0000\u0000\u001f\u00c2\u0001\u0000\u0000\u0000!\u00c6\u0001\u0000"+ + "\u0000\u0000#\u00ce\u0001\u0000\u0000\u0000%\u00d0\u0001\u0000\u0000\u0000"+ + "\'\u00d2\u0001\u0000\u0000\u0000)\u00d8\u0001\u0000\u0000\u0000+\u00da"+ + "\u0001\u0000\u0000\u0000-\u00dc\u0001\u0000\u0000\u0000/\u00df\u0001\u0000"+ + "\u0000\u00001\u00e1\u0001\u0000\u0000\u00003\u00e3\u0001\u0000\u0000\u0000"+ + "5\u00e5\u0001\u0000\u0000\u00007\u00e7\u0001\u0000\u0000\u00009\u00e9"+ + "\u0001\u0000\u0000\u0000;\u00ec\u0001\u0000\u0000\u0000=\u00f2\u0001\u0000"+ + "\u0000\u0000?\u00f7\u0001\u0000\u0000\u0000A\u00fd\u0001\u0000\u0000\u0000"+ + "C\u0102\u0001\u0000\u0000\u0000E\u0105\u0001\u0000\u0000\u0000G\u010f"+ + "\u0001\u0000\u0000\u0000I\u0116\u0001\u0000\u0000\u0000K\u011c\u0001\u0000"+ + "\u0000\u0000M\u0122\u0001\u0000\u0000\u0000O\u0129\u0001\u0000\u0000\u0000"+ + "Q\u012f\u0001\u0000\u0000\u0000S\u0133\u0001\u0000\u0000\u0000U\u013a"+ + "\u0001\u0000\u0000\u0000W\u0143\u0001\u0000\u0000\u0000Y\u014c\u0001\u0000"+ + "\u0000\u0000[\u0157\u0001\u0000\u0000\u0000]\u0159\u0001\u0000\u0000\u0000"+ + "_\u0165\u0001\u0000\u0000\u0000a\u0171\u0001\u0000\u0000\u0000c\u0177"+ + "\u0001\u0000\u0000\u0000e\u017c\u0001\u0000\u0000\u0000g\u0180\u0001\u0000"+ + "\u0000\u0000i\u0183\u0001\u0000\u0000\u0000k\u0187\u0001\u0000\u0000\u0000"+ + "m\u018c\u0001\u0000\u0000\u0000o\u0190\u0001\u0000\u0000\u0000q\u01a0"+ + "\u0001\u0000\u0000\u0000s\u01a3\u0001\u0000\u0000\u0000u\u01a7\u0001\u0000"+ + "\u0000\u0000w\u01af\u0001\u0000\u0000\u0000y\u01b4\u0001\u0000\u0000\u0000"+ + "{\u01cc\u0001\u0000\u0000\u0000}\u01d8\u0001\u0000\u0000\u0000\u007f\u01db"+ + "\u0001\u0000\u0000\u0000\u0081\u0082\u0005;\u0000\u0000\u0082\u0002\u0001"+ + "\u0000\u0000\u0000\u0083\u0084\u0005.\u0000\u0000\u0084\u0004\u0001\u0000"+ + "\u0000\u0000\u0085\u0086\u0005,\u0000\u0000\u0086\u0006\u0001\u0000\u0000"+ + "\u0000\u0087\u0088\u0005=\u0000\u0000\u0088\b\u0001\u0000\u0000\u0000"+ + "\u0089\u008a\u0005!\u0000\u0000\u008a\u008b\u0005=\u0000\u0000\u008b\n"+ + "\u0001\u0000\u0000\u0000\u008c\u008d\u0005>\u0000\u0000\u008d\f\u0001"+ + "\u0000\u0000\u0000\u008e\u008f\u0005>\u0000\u0000\u008f\u0090\u0005=\u0000"+ + "\u0000\u0090\u000e\u0001\u0000\u0000\u0000\u0091\u0092\u0005<\u0000\u0000"+ + "\u0092\u0010\u0001\u0000\u0000\u0000\u0093\u0094\u0005<\u0000\u0000\u0094"+ + "\u0095\u0005=\u0000\u0000\u0095\u0012\u0001\u0000\u0000\u0000\u0096\u0097"+ + "\u0005i\u0000\u0000\u0097\u0098\u0005s\u0000\u0000\u0098\u0099\u0005 "+ + "\u0000\u0000\u0099\u009a\u0005n\u0000\u0000\u009a\u009b\u0005u\u0000\u0000"+ + "\u009b\u009c\u0005l\u0000\u0000\u009c\u009d\u0005l\u0000\u0000\u009d\u0014"+ + "\u0001\u0000\u0000\u0000\u009e\u009f\u0005i\u0000\u0000\u009f\u00a0\u0005"+ + "s\u0000\u0000\u00a0\u00a1\u0005 \u0000\u0000\u00a1\u00a2\u0005n\u0000"+ + "\u0000\u00a2\u00a3\u0005o\u0000\u0000\u00a3\u00a4\u0005t\u0000\u0000\u00a4"+ + "\u00a5\u0005 \u0000\u0000\u00a5\u00a6\u0005n\u0000\u0000\u00a6\u00a7\u0005"+ + "u\u0000\u0000\u00a7\u00a8\u0005l\u0000\u0000\u00a8\u00a9\u0005l\u0000"+ + "\u0000\u00a9\u0016\u0001\u0000\u0000\u0000\u00aa\u00ab\u0005i\u0000\u0000"+ + "\u00ab\u00ac\u0005n\u0000\u0000\u00ac\u0018\u0001\u0000\u0000\u0000\u00ad"+ + "\u00ae\u0005n\u0000\u0000\u00ae\u00af\u0005o\u0000\u0000\u00af\u00b0\u0005"+ + "t\u0000\u0000\u00b0\u00b1\u0005 \u0000\u0000\u00b1\u00b2\u0005i\u0000"+ + "\u0000\u00b2\u00b3\u0005n\u0000\u0000\u00b3\u001a\u0001\u0000\u0000\u0000"+ + "\u00b4\u00b5\u0005l\u0000\u0000\u00b5\u00b6\u0005i\u0000\u0000\u00b6\u00b7"+ + "\u0005k\u0000\u0000\u00b7\u00b8\u0005e\u0000\u0000\u00b8\u001c\u0001\u0000"+ + "\u0000\u0000\u00b9\u00ba\u0005n\u0000\u0000\u00ba\u00bb\u0005o\u0000\u0000"+ + "\u00bb\u00bc\u0005t\u0000\u0000\u00bc\u00bd\u0005 \u0000\u0000\u00bd\u00be"+ + "\u0005l\u0000\u0000\u00be\u00bf\u0005i\u0000\u0000\u00bf\u00c0\u0005k"+ + "\u0000\u0000\u00c0\u00c1\u0005e\u0000\u0000\u00c1\u001e\u0001\u0000\u0000"+ + "\u0000\u00c2\u00c3\u0005h\u0000\u0000\u00c3\u00c4\u0005a\u0000\u0000\u00c4"+ + "\u00c5\u0005s\u0000\u0000\u00c5 \u0001\u0000\u0000\u0000\u00c6\u00c7\u0005"+ + "n\u0000\u0000\u00c7\u00c8\u0005o\u0000\u0000\u00c8\u00c9\u0005t\u0000"+ + "\u0000\u00c9\u00ca\u0005 \u0000\u0000\u00ca\u00cb\u0005h\u0000\u0000\u00cb"+ + "\u00cc\u0005a\u0000\u0000\u00cc\u00cd\u0005s\u0000\u0000\u00cd\"\u0001"+ + "\u0000\u0000\u0000\u00ce\u00cf\u0005(\u0000\u0000\u00cf$\u0001\u0000\u0000"+ + "\u0000\u00d0\u00d1\u0005)\u0000\u0000\u00d1&\u0001\u0000\u0000\u0000\u00d2"+ + "\u00d3\u0005l\u0000\u0000\u00d3\u00d4\u0005i\u0000\u0000\u00d4\u00d5\u0005"+ + "s\u0000\u0000\u00d5\u00d6\u0005t\u0000\u0000\u00d6\u00d7\u0005(\u0000"+ + "\u0000\u00d7(\u0001\u0000\u0000\u0000\u00d8\u00d9\u0005{\u0000\u0000\u00d9"+ + "*\u0001\u0000\u0000\u0000\u00da\u00db\u0005}\u0000\u0000\u00db,\u0001"+ + "\u0000\u0000\u0000\u00dc\u00dd\u0005b\u0000\u0000\u00dd\u00de\u0005y\u0000"+ + "\u0000\u00de.\u0001\u0000\u0000\u0000\u00df\u00e0\u0005*\u0000\u0000\u00e0"+ + "0\u0001\u0000\u0000\u0000\u00e1\u00e2\u0005/\u0000\u0000\u00e22\u0001"+ + "\u0000\u0000\u0000\u00e3\u00e4\u0005%\u0000\u0000\u00e44\u0001\u0000\u0000"+ + "\u0000\u00e5\u00e6\u0005+\u0000\u0000\u00e66\u0001\u0000\u0000\u0000\u00e7"+ + "\u00e8\u0005-\u0000\u0000\u00e88\u0001\u0000\u0000\u0000\u00e9\u00ea\u0005"+ + "-\u0000\u0000\u00ea\u00eb\u0005-\u0000\u0000\u00eb:\u0001\u0000\u0000"+ + "\u0000\u00ec\u00ed\u0005i\u0000\u0000\u00ed\u00ee\u0005n\u0000\u0000\u00ee"+ + "\u00ef\u0005n\u0000\u0000\u00ef\u00f0\u0005e\u0000\u0000\u00f0\u00f1\u0005"+ + "r\u0000\u0000\u00f1<\u0001\u0000\u0000\u0000\u00f2\u00f3\u0005l\u0000"+ + "\u0000\u00f3\u00f4\u0005e\u0000\u0000\u00f4\u00f5\u0005f\u0000\u0000\u00f5"+ + "\u00f6\u0005t\u0000\u0000\u00f6>\u0001\u0000\u0000\u0000\u00f7\u00f8\u0005"+ + "r\u0000\u0000\u00f8\u00f9\u0005i\u0000\u0000\u00f9\u00fa\u0005g\u0000"+ + "\u0000\u00fa\u00fb\u0005h\u0000\u0000\u00fb\u00fc\u0005t\u0000\u0000\u00fc"+ + "@\u0001\u0000\u0000\u0000\u00fd\u00fe\u0005j\u0000\u0000\u00fe\u00ff\u0005"+ + "o\u0000\u0000\u00ff\u0100\u0005i\u0000\u0000\u0100\u0101\u0005n\u0000"+ + "\u0000\u0101B\u0001\u0000\u0000\u0000\u0102\u0103\u0005o\u0000\u0000\u0103"+ + "\u0104\u0005n\u0000\u0000\u0104D\u0001\u0000\u0000\u0000\u0105\u0106\u0005"+ + "f\u0000\u0000\u0106\u0107\u0005i\u0000\u0000\u0107\u0108\u0005l\u0000"+ + "\u0000\u0108\u0109\u0005t\u0000\u0000\u0109\u010a\u0005e\u0000\u0000\u010a"+ + "\u010b\u0005r\u0000\u0000\u010b\u010c\u0005 \u0000\u0000\u010c\u010d\u0005"+ + "b\u0000\u0000\u010d\u010e\u0005y\u0000\u0000\u010eF\u0001\u0000\u0000"+ + "\u0000\u010f\u0110\u0005o\u0000\u0000\u0110\u0111\u0005f\u0000\u0000\u0111"+ + "\u0112\u0005f\u0000\u0000\u0112\u0113\u0005s\u0000\u0000\u0113\u0114\u0005"+ + "e\u0000\u0000\u0114\u0115\u0005t\u0000\u0000\u0115H\u0001\u0000\u0000"+ + "\u0000\u0116\u0117\u0005l\u0000\u0000\u0117\u0118\u0005i\u0000\u0000\u0118"+ + "\u0119\u0005m\u0000\u0000\u0119\u011a\u0005i\u0000\u0000\u011a\u011b\u0005"+ + "t\u0000\u0000\u011bJ\u0001\u0000\u0000\u0000\u011c\u011d\u0005q\u0000"+ + "\u0000\u011d\u011e\u0005u\u0000\u0000\u011e\u011f\u0005e\u0000\u0000\u011f"+ + "\u0120\u0005r\u0000\u0000\u0120\u0121\u0005y\u0000\u0000\u0121L\u0001"+ + "\u0000\u0000\u0000\u0122\u0123\u0005g\u0000\u0000\u0123\u0124\u0005e\u0000"+ + "\u0000\u0124\u0125\u0005t\u0000\u0000\u0125\u0126\u0005a\u0000\u0000\u0126"+ + "\u0127\u0005p\u0000\u0000\u0127\u0128\u0005i\u0000\u0000\u0128N\u0001"+ + "\u0000\u0000\u0000\u0129\u012a\u0005c\u0000\u0000\u012a\u012b\u0005o\u0000"+ + "\u0000\u012b\u012c\u0005u\u0000\u0000\u012c\u012d\u0005n\u0000\u0000\u012d"+ + "\u012e\u0005t\u0000\u0000\u012eP\u0001\u0000\u0000\u0000\u012f\u0130\u0005"+ + "s\u0000\u0000\u0130\u0131\u0005u\u0000\u0000\u0131\u0132\u0005m\u0000"+ + "\u0000\u0132R\u0001\u0000\u0000\u0000\u0133\u0134\u0005s\u0000\u0000\u0134"+ + "\u0135\u0005e\u0000\u0000\u0135\u0136\u0005a\u0000\u0000\u0136\u0137\u0005"+ + "r\u0000\u0000\u0137\u0138\u0005c\u0000\u0000\u0138\u0139\u0005h\u0000"+ + "\u0000\u0139T\u0001\u0000\u0000\u0000\u013a\u013b\u0005o\u0000\u0000\u013b"+ + "\u013c\u0005r\u0000\u0000\u013c\u013d\u0005d\u0000\u0000\u013d\u013e\u0005"+ + "e\u0000\u0000\u013e\u013f\u0005r\u0000\u0000\u013f\u0140\u0005 \u0000"+ + "\u0000\u0140\u0141\u0005b\u0000\u0000\u0141\u0142\u0005y\u0000\u0000\u0142"+ + "V\u0001\u0000\u0000\u0000\u0143\u0144\u0005g\u0000\u0000\u0144\u0145\u0005"+ + "r\u0000\u0000\u0145\u0146\u0005o\u0000\u0000\u0146\u0147\u0005u\u0000"+ + "\u0000\u0147\u0148\u0005p\u0000\u0000\u0148\u0149\u0005 \u0000\u0000\u0149"+ + "\u014a\u0005b\u0000\u0000\u014a\u014b\u0005y\u0000\u0000\u014bX\u0001"+ + "\u0000\u0000\u0000\u014c\u014d\u0005n\u0000\u0000\u014d\u014e\u0005a\u0000"+ + "\u0000\u014e\u014f\u0005m\u0000\u0000\u014f\u0150\u0005e\u0000\u0000\u0150"+ + "\u0151\u0005d\u0000\u0000\u0151\u0152\u0005 \u0000\u0000\u0152\u0153\u0005"+ + "a\u0000\u0000\u0153\u0154\u0005s\u0000\u0000\u0154Z\u0001\u0000\u0000"+ + "\u0000\u0155\u0158\u0003i4\u0000\u0156\u0158\u0003k5\u0000\u0157\u0155"+ + "\u0001\u0000\u0000\u0000\u0157\u0156\u0001\u0000\u0000\u0000\u0158\\\u0001"+ + "\u0000\u0000\u0000\u0159\u015a\u0005r\u0000\u0000\u015a\u015b\u0005e\u0000"+ + "\u0000\u015b\u015c\u0005s\u0000\u0000\u015c\u015d\u0005t\u0000\u0000\u015d"+ + "\u015e\u0005r\u0000\u0000\u015e\u015f\u0005i\u0000\u0000\u015f\u0160\u0005"+ + "c\u0000\u0000\u0160\u0161\u0005t\u0000\u0000\u0161\u0162\u0005 \u0000"+ + "\u0000\u0162\u0163\u0005b\u0000\u0000\u0163\u0164\u0005y\u0000\u0000\u0164"+ + "^\u0001\u0000\u0000\u0000\u0165\u0166\u0005r\u0000\u0000\u0166\u0167\u0005"+ + "e\u0000\u0000\u0167\u0168\u0005t\u0000\u0000\u0168\u0169\u0005u\u0000"+ + "\u0000\u0169\u016a\u0005r\u0000\u0000\u016a\u016b\u0005n\u0000\u0000\u016b"+ + "\u016c\u0005 \u0000\u0000\u016c\u016d\u0005w\u0000\u0000\u016d\u016e\u0005"+ + "i\u0000\u0000\u016e\u016f\u0005t\u0000\u0000\u016f\u0170\u0005h\u0000"+ + "\u0000\u0170`\u0001\u0000\u0000\u0000\u0171\u0172\u0005w\u0000\u0000\u0172"+ + "\u0173\u0005h\u0000\u0000\u0173\u0174\u0005e\u0000\u0000\u0174\u0175\u0005"+ + "r\u0000\u0000\u0175\u0176\u0005e\u0000\u0000\u0176b\u0001\u0000\u0000"+ + "\u0000\u0177\u0178\u0005f\u0000\u0000\u0178\u0179\u0005r\u0000\u0000\u0179"+ + "\u017a\u0005o\u0000\u0000\u017a\u017b\u0005m\u0000\u0000\u017bd\u0001"+ + "\u0000\u0000\u0000\u017c\u017d\u0005a\u0000\u0000\u017d\u017e\u0005n\u0000"+ + "\u0000\u017e\u017f\u0005d\u0000\u0000\u017ff\u0001\u0000\u0000\u0000\u0180"+ + "\u0181\u0005o\u0000\u0000\u0181\u0182\u0005r\u0000\u0000\u0182h\u0001"+ + "\u0000\u0000\u0000\u0183\u0184\u0005a\u0000\u0000\u0184\u0185\u0005s\u0000"+ + "\u0000\u0185\u0186\u0005c\u0000\u0000\u0186j\u0001\u0000\u0000\u0000\u0187"+ + "\u0188\u0005d\u0000\u0000\u0188\u0189\u0005e\u0000\u0000\u0189\u018a\u0005"+ + "s\u0000\u0000\u018a\u018b\u0005c\u0000\u0000\u018bl\u0001\u0000\u0000"+ + "\u0000\u018c\u018d\u0005a\u0000\u0000\u018d\u018e\u0005p\u0000\u0000\u018e"+ + "\u018f\u0005i\u0000\u0000\u018fn\u0001\u0000\u0000\u0000\u0190\u0191\u0005"+ + "o\u0000\u0000\u0191\u0192\u0005u\u0000\u0000\u0192\u0193\u0005t\u0000"+ + "\u0000\u0193\u0194\u0005p\u0000\u0000\u0194\u0195\u0005u\u0000\u0000\u0195"+ + "\u0196\u0005t\u0000\u0000\u0196p\u0001\u0000\u0000\u0000\u0197\u0198\u0005"+ + "t\u0000\u0000\u0198\u0199\u0005r\u0000\u0000\u0199\u019a\u0005u\u0000"+ + "\u0000\u019a\u01a1\u0005e\u0000\u0000\u019b\u019c\u0005f\u0000\u0000\u019c"+ + "\u019d\u0005a\u0000\u0000\u019d\u019e\u0005l\u0000\u0000\u019e\u019f\u0005"+ + "s\u0000\u0000\u019f\u01a1\u0005e\u0000\u0000\u01a0\u0197\u0001\u0000\u0000"+ + "\u0000\u01a0\u019b\u0001\u0000\u0000\u0000\u01a1r\u0001\u0000\u0000\u0000"+ + "\u01a2\u01a4\u0005-\u0000\u0000\u01a3\u01a2\u0001\u0000\u0000\u0000\u01a3"+ + "\u01a4\u0001\u0000\u0000\u0000\u01a4\u01a5\u0001\u0000\u0000\u0000\u01a5"+ + "\u01a6\u0003\u007f?\u0000\u01a6t\u0001\u0000\u0000\u0000\u01a7\u01a8\u0003"+ + "s9\u0000\u01a8\u01aa\u0005.\u0000\u0000\u01a9\u01ab\u0003\u007f?\u0000"+ + "\u01aa\u01a9\u0001\u0000\u0000\u0000\u01ab\u01ac\u0001\u0000\u0000\u0000"+ + "\u01ac\u01aa\u0001\u0000\u0000\u0000\u01ac\u01ad\u0001\u0000\u0000\u0000"+ + "\u01adv\u0001\u0000\u0000\u0000\u01ae\u01b0\u0007\u0000\u0000\u0000\u01af"+ + "\u01ae\u0001\u0000\u0000\u0000\u01b0\u01b1\u0001\u0000\u0000\u0000\u01b1"+ + "\u01af\u0001\u0000\u0000\u0000\u01b1\u01b2\u0001\u0000\u0000\u0000\u01b2"+ + "x\u0001\u0000\u0000\u0000\u01b3\u01b5\u0007\u0001\u0000\u0000\u01b4\u01b3"+ + "\u0001\u0000\u0000\u0000\u01b5\u01b6\u0001\u0000\u0000\u0000\u01b6\u01b4"+ + "\u0001\u0000\u0000\u0000\u01b6\u01b7\u0001\u0000\u0000\u0000\u01b7\u01b8"+ + "\u0001\u0000\u0000\u0000\u01b8\u01b9\u0006<\u0000\u0000\u01b9z\u0001\u0000"+ + "\u0000\u0000\u01ba\u01be\u0005\"\u0000\u0000\u01bb\u01bd\b\u0002\u0000"+ + "\u0000\u01bc\u01bb\u0001\u0000\u0000\u0000\u01bd\u01c0\u0001\u0000\u0000"+ + "\u0000\u01be\u01bc\u0001\u0000\u0000\u0000\u01be\u01bf\u0001\u0000\u0000"+ + "\u0000\u01bf\u01c1\u0001\u0000\u0000\u0000\u01c0\u01be\u0001\u0000\u0000"+ + "\u0000\u01c1\u01cd\u0005\"\u0000\u0000\u01c2\u01c8\u0005\'\u0000\u0000"+ + "\u01c3\u01c4\u0005\'\u0000\u0000\u01c4\u01c7\u0005\'\u0000\u0000\u01c5"+ + "\u01c7\b\u0003\u0000\u0000\u01c6\u01c3\u0001\u0000\u0000\u0000\u01c6\u01c5"+ + "\u0001\u0000\u0000\u0000\u01c7\u01ca\u0001\u0000\u0000\u0000\u01c8\u01c6"+ + "\u0001\u0000\u0000\u0000\u01c8\u01c9\u0001\u0000\u0000\u0000\u01c9\u01cb"+ + "\u0001\u0000\u0000\u0000\u01ca\u01c8\u0001\u0000\u0000\u0000\u01cb\u01cd"+ + "\u0005\'\u0000\u0000\u01cc\u01ba\u0001\u0000\u0000\u0000\u01cc\u01c2\u0001"+ + "\u0000\u0000\u0000\u01cd|\u0001\u0000\u0000\u0000\u01ce\u01d0\u0002az"+ + "\u0000\u01cf\u01ce\u0001\u0000\u0000\u0000\u01d0\u01d1\u0001\u0000\u0000"+ + "\u0000\u01d1\u01cf\u0001\u0000\u0000\u0000\u01d1\u01d2\u0001\u0000\u0000"+ + "\u0000\u01d2\u01d9\u0001\u0000\u0000\u0000\u01d3\u01d5\u0002AZ\u0000\u01d4"+ + "\u01d3\u0001\u0000\u0000\u0000\u01d5\u01d6\u0001\u0000\u0000\u0000\u01d6"+ + "\u01d4\u0001\u0000\u0000\u0000\u01d6\u01d7\u0001\u0000\u0000\u0000\u01d7"+ + "\u01d9\u0001\u0000\u0000\u0000\u01d8\u01cf\u0001\u0000\u0000\u0000\u01d8"+ + "\u01d4\u0001\u0000\u0000\u0000\u01d9~\u0001\u0000\u0000\u0000\u01da\u01dc"+ + "\u000209\u0000\u01db\u01da\u0001\u0000\u0000\u0000\u01dc\u01dd\u0001\u0000"+ + "\u0000\u0000\u01dd\u01db\u0001\u0000\u0000\u0000\u01dd\u01de\u0001\u0000"+ + "\u0000\u0000\u01de\u0080\u0001\u0000\u0000\u0000\u000f\u0000\u0157\u01a0"+ + "\u01a3\u01ac\u01b1\u01b6\u01be\u01c6\u01c8\u01cc\u01d1\u01d6\u01d8\u01dd"+ + "\u0001\u0006\u0000\u0000"; public static final ATN _ATN = new ATNDeserializer().deserialize(_serializedATN.toCharArray()); static { diff --git a/search/src/main/java/org/zstack/zql/antlr4/ZQLListener.java b/search/src/main/java/org/zstack/zql/antlr4/ZQLListener.java index e3e853a3ded..40531118350 100644 --- a/search/src/main/java/org/zstack/zql/antlr4/ZQLListener.java +++ b/search/src/main/java/org/zstack/zql/antlr4/ZQLListener.java @@ -1,4 +1,4 @@ -// Generated from ZQL.g4 by ANTLR 4.7 +// Generated from /home/test/modernize/search/src/main/antlr4/ZQL.g4 by ANTLR 4.13.0 package org.zstack.zql.antlr4; @@ -387,18 +387,6 @@ public interface ZQLListener extends ParseTreeListener { * @param ctx the parse tree */ void exitWithMultiFields(ZQLParser.WithMultiFieldsContext ctx); - /** - * Enter a parse tree produced by the {@code withMultiTableFields} - * labeled alternative in {@link ZQLParser#queryTarget}. - * @param ctx the parse tree - */ - void enterWithMultiTableFields(ZQLParser.WithMultiTableFieldsContext ctx); - /** - * Exit a parse tree produced by the {@code withMultiTableFields} - * labeled alternative in {@link ZQLParser#queryTarget}. - * @param ctx the parse tree - */ - void exitWithMultiTableFields(ZQLParser.WithMultiTableFieldsContext ctx); /** * Enter a parse tree produced by {@link ZQLParser#function}. * @param ctx the parse tree diff --git a/search/src/main/java/org/zstack/zql/antlr4/ZQLParser.java b/search/src/main/java/org/zstack/zql/antlr4/ZQLParser.java index 60995760337..3308394d18e 100644 --- a/search/src/main/java/org/zstack/zql/antlr4/ZQLParser.java +++ b/search/src/main/java/org/zstack/zql/antlr4/ZQLParser.java @@ -1,4 +1,4 @@ -// Generated from ZQL.g4 by ANTLR 4.7 +// Generated from /home/test/modernize/search/src/main/antlr4/ZQL.g4 by ANTLR 4.13.0 package org.zstack.zql.antlr4; @@ -11,9 +11,9 @@ import java.util.Iterator; import java.util.ArrayList; -@SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast"}) +@SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast", "CheckReturnValue"}) public class ZQLParser extends Parser { - static { RuntimeMetaData.checkVersion("4.7", RuntimeMetaData.VERSION); } + static { RuntimeMetaData.checkVersion("4.13.0", RuntimeMetaData.VERSION); } protected static final DFA[] _decisionToDFA; protected static final PredictionContextCache _sharedContextCache = @@ -42,37 +42,46 @@ public class ZQLParser extends Parser { RULE_namedAsKey = 38, RULE_namedAsValue = 39, RULE_namedAs = 40, RULE_joinClause = 41, RULE_query = 42, RULE_count = 43, RULE_sumByValue = 44, RULE_sumBy = 45, RULE_sum = 46, RULE_search = 47, RULE_keyword = 48, RULE_index = 49, RULE_mathOperator = 50; - public static final String[] ruleNames = { - "zqls", "zql", "entity", "field", "multiFields", "operator", "value", - "listValue", "logicalOperator", "complexValue", "getQuery", "apiparams", - "input", "output", "expr", "joinExpr", "exprAtom", "equal", "condition", - "queryTarget", "function", "queryTargetWithFunction", "orderByExpr", "orderBy", - "limit", "offset", "restrictByExpr", "restrictBy", "returnWithExprBlock", - "returnWithExpr", "returnWith", "groupByExpr", "groupBy", "subQueryTarget", - "subQuery", "filterByExprBlock", "filterByExpr", "filterBy", "namedAsKey", - "namedAsValue", "namedAs", "joinClause", "query", "count", "sumByValue", - "sumBy", "sum", "search", "keyword", "index", "mathOperator" - }; - - private static final String[] _LITERAL_NAMES = { - null, "';'", "'.'", "','", "'='", "'!='", "'>'", "'>='", "'<'", "'<='", - "'is null'", "'is not null'", "'in'", "'not in'", "'like'", "'not like'", - "'has'", "'not has'", "'('", "')'", "'list('", "'{'", "'}'", "'by'", "'*'", - "'/'", "'%'", "'+'", "'-'", "'--'", "'inner'", "'left'", "'right'", "'join'", - "'on'", "'filter by'", "'offset'", "'limit'", "'query'", "'getapi'", "'count'", - "'sum'", "'search'", "'order by'", "'group by'", "'named as'", null, "'restrict by'", - "'return with'", "'where'", "'from'", "'and'", "'or'", "'asc'", "'desc'", - "'api'", "'output'" - }; - private static final String[] _SYMBOLIC_NAMES = { - null, null, null, null, null, null, null, null, null, null, null, null, - null, null, null, null, null, null, null, null, null, null, null, null, - null, null, null, null, null, null, "INNER", "LEFT", "RIGHT", "JOIN", - "ON", "FILTER_BY", "OFFSET", "LIMIT", "QUERY", "GET", "COUNT", "SUM", - "SEARCH", "ORDER_BY", "GROUP_BY", "NAMED_AS", "ORDER_BY_VALUE", "RESTRICT_BY", - "RETURN_WITH", "WHERE", "FROM", "AND", "OR", "ASC", "DESC", "INPUT", "OUTPUT", - "BOOLEAN", "INT", "FLOAT", "ID", "WS", "STRING" - }; + private static String[] makeRuleNames() { + return new String[] { + "zqls", "zql", "entity", "field", "multiFields", "operator", "value", + "listValue", "logicalOperator", "complexValue", "getQuery", "apiparams", + "input", "output", "expr", "joinExpr", "exprAtom", "equal", "condition", + "queryTarget", "function", "queryTargetWithFunction", "orderByExpr", + "orderBy", "limit", "offset", "restrictByExpr", "restrictBy", "returnWithExprBlock", + "returnWithExpr", "returnWith", "groupByExpr", "groupBy", "subQueryTarget", + "subQuery", "filterByExprBlock", "filterByExpr", "filterBy", "namedAsKey", + "namedAsValue", "namedAs", "joinClause", "query", "count", "sumByValue", + "sumBy", "sum", "search", "keyword", "index", "mathOperator" + }; + } + public static final String[] ruleNames = makeRuleNames(); + + private static String[] makeLiteralNames() { + return new String[] { + null, "';'", "'.'", "','", "'='", "'!='", "'>'", "'>='", "'<'", "'<='", + "'is null'", "'is not null'", "'in'", "'not in'", "'like'", "'not like'", + "'has'", "'not has'", "'('", "')'", "'list('", "'{'", "'}'", "'by'", + "'*'", "'/'", "'%'", "'+'", "'-'", "'--'", "'inner'", "'left'", "'right'", + "'join'", "'on'", "'filter by'", "'offset'", "'limit'", "'query'", "'getapi'", + "'count'", "'sum'", "'search'", "'order by'", "'group by'", "'named as'", + null, "'restrict by'", "'return with'", "'where'", "'from'", "'and'", + "'or'", "'asc'", "'desc'", "'api'", "'output'" + }; + } + private static final String[] _LITERAL_NAMES = makeLiteralNames(); + private static String[] makeSymbolicNames() { + return new String[] { + null, null, null, null, null, null, null, null, null, null, null, null, + null, null, null, null, null, null, null, null, null, null, null, null, + null, null, null, null, null, null, "INNER", "LEFT", "RIGHT", "JOIN", + "ON", "FILTER_BY", "OFFSET", "LIMIT", "QUERY", "GET", "COUNT", "SUM", + "SEARCH", "ORDER_BY", "GROUP_BY", "NAMED_AS", "ORDER_BY_VALUE", "RESTRICT_BY", + "RETURN_WITH", "WHERE", "FROM", "AND", "OR", "ASC", "DESC", "INPUT", + "OUTPUT", "BOOLEAN", "INT", "FLOAT", "ID", "WS", "STRING" + }; + } + private static final String[] _SYMBOLIC_NAMES = makeSymbolicNames(); public static final Vocabulary VOCABULARY = new VocabularyImpl(_LITERAL_NAMES, _SYMBOLIC_NAMES); /** @@ -122,6 +131,8 @@ public ZQLParser(TokenStream input) { super(input); _interp = new ParserATNSimulator(this,_ATN,_decisionToDFA,_sharedContextCache); } + + @SuppressWarnings("CheckReturnValue") public static class ZqlsContext extends ParserRuleContext { public List zql() { return getRuleContexts(ZqlContext.class); @@ -189,6 +200,7 @@ public final ZqlsContext zqls() throws RecognitionException { return _localctx; } + @SuppressWarnings("CheckReturnValue") public static class ZqlContext extends ParserRuleContext { public ZqlContext(ParserRuleContext parent, int invokingState) { super(parent, invokingState); @@ -200,6 +212,7 @@ public void copyFrom(ZqlContext ctx) { super.copyFrom(ctx); } } + @SuppressWarnings("CheckReturnValue") public static class QueryGrammarContext extends ZqlContext { public QueryContext query() { return getRuleContext(QueryContext.class,0); @@ -219,6 +232,7 @@ public T accept(ParseTreeVisitor visitor) { else return visitor.visitChildren(this); } } + @SuppressWarnings("CheckReturnValue") public static class CountGrammarContext extends ZqlContext { public CountContext count() { return getRuleContext(CountContext.class,0); @@ -238,6 +252,7 @@ public T accept(ParseTreeVisitor visitor) { else return visitor.visitChildren(this); } } + @SuppressWarnings("CheckReturnValue") public static class SearchGrammarContext extends ZqlContext { public SearchContext search() { return getRuleContext(SearchContext.class,0); @@ -257,6 +272,7 @@ public T accept(ParseTreeVisitor visitor) { else return visitor.visitChildren(this); } } + @SuppressWarnings("CheckReturnValue") public static class SumGrammarContext extends ZqlContext { public SumContext sum() { return getRuleContext(SumContext.class,0); @@ -331,6 +347,7 @@ public final ZqlContext zql() throws RecognitionException { return _localctx; } + @SuppressWarnings("CheckReturnValue") public static class EntityContext extends ParserRuleContext { public TerminalNode ID() { return getToken(ZQLParser.ID, 0); } public EntityContext(ParserRuleContext parent, int invokingState) { @@ -373,6 +390,7 @@ public final EntityContext entity() throws RecognitionException { return _localctx; } + @SuppressWarnings("CheckReturnValue") public static class FieldContext extends ParserRuleContext { public List ID() { return getTokens(ZQLParser.ID); } public TerminalNode ID(int i) { @@ -454,6 +472,7 @@ public final FieldContext field() throws RecognitionException { return _localctx; } + @SuppressWarnings("CheckReturnValue") public static class MultiFieldsContext extends ParserRuleContext { public List ID() { return getTokens(ZQLParser.ID); } public TerminalNode ID(int i) { @@ -522,6 +541,7 @@ public final MultiFieldsContext multiFields() throws RecognitionException { return _localctx; } + @SuppressWarnings("CheckReturnValue") public static class OperatorContext extends ParserRuleContext { public OperatorContext(ParserRuleContext parent, int invokingState) { super(parent, invokingState); @@ -551,7 +571,7 @@ public final OperatorContext operator() throws RecognitionException { { setState(137); _la = _input.LA(1); - if ( !((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << T__3) | (1L << T__4) | (1L << T__5) | (1L << T__6) | (1L << T__7) | (1L << T__8) | (1L << T__9) | (1L << T__10) | (1L << T__11) | (1L << T__12) | (1L << T__13) | (1L << T__14) | (1L << T__15) | (1L << T__16))) != 0)) ) { + if ( !((((_la) & ~0x3f) == 0 && ((1L << _la) & 262128L) != 0)) ) { _errHandler.recoverInline(this); } else { @@ -572,6 +592,7 @@ public final OperatorContext operator() throws RecognitionException { return _localctx; } + @SuppressWarnings("CheckReturnValue") public static class ValueContext extends ParserRuleContext { public TerminalNode STRING() { return getToken(ZQLParser.STRING, 0); } public TerminalNode INT() { return getToken(ZQLParser.INT, 0); } @@ -680,6 +701,7 @@ public final ValueContext value() throws RecognitionException { return _localctx; } + @SuppressWarnings("CheckReturnValue") public static class ListValueContext extends ParserRuleContext { public List value() { return getRuleContexts(ValueContext.class); @@ -748,6 +770,7 @@ public final ListValueContext listValue() throws RecognitionException { return _localctx; } + @SuppressWarnings("CheckReturnValue") public static class LogicalOperatorContext extends ParserRuleContext { public TerminalNode AND() { return getToken(ZQLParser.AND, 0); } public TerminalNode OR() { return getToken(ZQLParser.OR, 0); } @@ -800,6 +823,7 @@ public final LogicalOperatorContext logicalOperator() throws RecognitionExceptio return _localctx; } + @SuppressWarnings("CheckReturnValue") public static class ComplexValueContext extends ParserRuleContext { public ComplexValueContext(ParserRuleContext parent, int invokingState) { super(parent, invokingState); @@ -811,6 +835,7 @@ public void copyFrom(ComplexValueContext ctx) { super.copyFrom(ctx); } } + @SuppressWarnings("CheckReturnValue") public static class SubQueryValueContext extends ComplexValueContext { public SubQueryContext subQuery() { return getRuleContext(SubQueryContext.class,0); @@ -830,6 +855,7 @@ public T accept(ParseTreeVisitor visitor) { else return visitor.visitChildren(this); } } + @SuppressWarnings("CheckReturnValue") public static class SimpleValueContext extends ComplexValueContext { public ValueContext value() { return getRuleContext(ValueContext.class,0); @@ -849,6 +875,7 @@ public T accept(ParseTreeVisitor visitor) { else return visitor.visitChildren(this); } } + @SuppressWarnings("CheckReturnValue") public static class ApiGetValueContext extends ComplexValueContext { public GetQueryContext getQuery() { return getRuleContext(GetQueryContext.class,0); @@ -1030,6 +1057,7 @@ public final ComplexValueContext complexValue() throws RecognitionException { return _localctx; } + @SuppressWarnings("CheckReturnValue") public static class GetQueryContext extends ParserRuleContext { public TerminalNode GET() { return getToken(ZQLParser.GET, 0); } public GetQueryContext(ParserRuleContext parent, int invokingState) { @@ -1072,6 +1100,7 @@ public final GetQueryContext getQuery() throws RecognitionException { return _localctx; } + @SuppressWarnings("CheckReturnValue") public static class ApiparamsContext extends ParserRuleContext { public NamedAsKeyContext namedAsKey() { return getRuleContext(NamedAsKeyContext.class,0); @@ -1146,6 +1175,7 @@ public final ApiparamsContext apiparams() throws RecognitionException { return _localctx; } + @SuppressWarnings("CheckReturnValue") public static class InputContext extends ParserRuleContext { public TerminalNode INPUT() { return getToken(ZQLParser.INPUT, 0); } public EqualContext equal() { @@ -1198,6 +1228,7 @@ public final InputContext input() throws RecognitionException { return _localctx; } + @SuppressWarnings("CheckReturnValue") public static class OutputContext extends ParserRuleContext { public TerminalNode OUTPUT() { return getToken(ZQLParser.OUTPUT, 0); } public EqualContext equal() { @@ -1250,6 +1281,7 @@ public final OutputContext output() throws RecognitionException { return _localctx; } + @SuppressWarnings("CheckReturnValue") public static class ExprContext extends ParserRuleContext { public FieldContext field() { return getRuleContext(FieldContext.class,0); @@ -1312,6 +1344,7 @@ public final ExprContext expr() throws RecognitionException { return _localctx; } + @SuppressWarnings("CheckReturnValue") public static class JoinExprContext extends ParserRuleContext { public QueryTargetContext left; public QueryTargetContext right; @@ -1368,6 +1401,7 @@ public final JoinExprContext joinExpr() throws RecognitionException { return _localctx; } + @SuppressWarnings("CheckReturnValue") public static class ExprAtomContext extends ParserRuleContext { public ExprAtomContext(ParserRuleContext parent, int invokingState) { super(parent, invokingState); @@ -1379,6 +1413,7 @@ public void copyFrom(ExprAtomContext ctx) { super.copyFrom(ctx); } } + @SuppressWarnings("CheckReturnValue") public static class FunctionCallExpressionAtomContext extends ExprAtomContext { public FunctionContext function() { return getRuleContext(FunctionContext.class,0); @@ -1401,6 +1436,7 @@ public T accept(ParseTreeVisitor visitor) { else return visitor.visitChildren(this); } } + @SuppressWarnings("CheckReturnValue") public static class ColumnNameExprAtomContext extends ExprAtomContext { public TerminalNode ID() { return getToken(ZQLParser.ID, 0); } public ColumnNameExprAtomContext(ExprAtomContext ctx) { copyFrom(ctx); } @@ -1418,6 +1454,7 @@ public T accept(ParseTreeVisitor visitor) { else return visitor.visitChildren(this); } } + @SuppressWarnings("CheckReturnValue") public static class MathExprAtomContext extends ExprAtomContext { public ExprAtomContext left; public ExprAtomContext right; @@ -1445,6 +1482,7 @@ public T accept(ParseTreeVisitor visitor) { else return visitor.visitChildren(this); } } + @SuppressWarnings("CheckReturnValue") public static class RelationshipEntityExprAtomContext extends ExprAtomContext { public QueryTargetContext queryTarget() { return getRuleContext(QueryTargetContext.class,0); @@ -1464,6 +1502,7 @@ public T accept(ParseTreeVisitor visitor) { else return visitor.visitChildren(this); } } + @SuppressWarnings("CheckReturnValue") public static class NestedExprAtomContext extends ExprAtomContext { public List exprAtom() { return getRuleContexts(ExprAtomContext.class); @@ -1609,6 +1648,7 @@ private ExprAtomContext exprAtom(int _p) throws RecognitionException { return _localctx; } + @SuppressWarnings("CheckReturnValue") public static class EqualContext extends ParserRuleContext { public EqualContext(ParserRuleContext parent, int invokingState) { super(parent, invokingState); @@ -1650,6 +1690,7 @@ public final EqualContext equal() throws RecognitionException { return _localctx; } + @SuppressWarnings("CheckReturnValue") public static class ConditionContext extends ParserRuleContext { public ConditionContext(ParserRuleContext parent, int invokingState) { super(parent, invokingState); @@ -1661,6 +1702,7 @@ public void copyFrom(ConditionContext ctx) { super.copyFrom(ctx); } } + @SuppressWarnings("CheckReturnValue") public static class NestConditionContext extends ConditionContext { public ConditionContext left; public LogicalOperatorContext op; @@ -1692,6 +1734,7 @@ public T accept(ParseTreeVisitor visitor) { else return visitor.visitChildren(this); } } + @SuppressWarnings("CheckReturnValue") public static class SimpleConditionContext extends ConditionContext { public ExprContext expr() { return getRuleContext(ExprContext.class,0); @@ -1711,6 +1754,7 @@ public T accept(ParseTreeVisitor visitor) { else return visitor.visitChildren(this); } } + @SuppressWarnings("CheckReturnValue") public static class ParenthesisConditionContext extends ConditionContext { public ConditionContext condition() { return getRuleContext(ConditionContext.class,0); @@ -1730,6 +1774,7 @@ public T accept(ParseTreeVisitor visitor) { else return visitor.visitChildren(this); } } + @SuppressWarnings("CheckReturnValue") public static class JoinConditionContext extends ConditionContext { public JoinExprContext joinExpr() { return getRuleContext(JoinExprContext.class,0); @@ -1858,6 +1903,7 @@ private ConditionContext condition(int _p) throws RecognitionException { return _localctx; } + @SuppressWarnings("CheckReturnValue") public static class QueryTargetContext extends ParserRuleContext { public QueryTargetContext(ParserRuleContext parent, int invokingState) { super(parent, invokingState); @@ -1869,6 +1915,7 @@ public void copyFrom(QueryTargetContext ctx) { super.copyFrom(ctx); } } + @SuppressWarnings("CheckReturnValue") public static class WithSingleFieldContext extends QueryTargetContext { public EntityContext entity() { return getRuleContext(EntityContext.class,0); @@ -1891,6 +1938,7 @@ public T accept(ParseTreeVisitor visitor) { else return visitor.visitChildren(this); } } + @SuppressWarnings("CheckReturnValue") public static class WithMultiFieldsContext extends QueryTargetContext { public EntityContext entity() { return getRuleContext(EntityContext.class,0); @@ -1913,34 +1961,7 @@ public T accept(ParseTreeVisitor visitor) { else return visitor.visitChildren(this); } } - public static class WithMultiTableFieldsContext extends QueryTargetContext { - public List entity() { - return getRuleContexts(EntityContext.class); - } - public EntityContext entity(int i) { - return getRuleContext(EntityContext.class,i); - } - public List field() { - return getRuleContexts(FieldContext.class); - } - public FieldContext field(int i) { - return getRuleContext(FieldContext.class,i); - } - public WithMultiTableFieldsContext(QueryTargetContext ctx) { copyFrom(ctx); } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof ZQLListener ) ((ZQLListener)listener).enterWithMultiTableFields(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof ZQLListener ) ((ZQLListener)listener).exitWithMultiTableFields(this); - } - @Override - public T accept(ParseTreeVisitor visitor) { - if ( visitor instanceof ZQLVisitor ) return ((ZQLVisitor)visitor).visitWithMultiTableFields(this); - else return visitor.visitChildren(this); - } - } + @SuppressWarnings("CheckReturnValue") public static class OnlyEntityContext extends QueryTargetContext { public EntityContext entity() { return getRuleContext(EntityContext.class,0); @@ -1965,10 +1986,9 @@ public final QueryTargetContext queryTarget() throws RecognitionException { QueryTargetContext _localctx = new QueryTargetContext(_ctx, getState()); enterRule(_localctx, 38, RULE_queryTarget); try { - int _alt; - setState(314); + setState(306); _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,24,_ctx) ) { + switch ( getInterpreter().adaptivePredict(_input,23,_ctx) ) { case 1: _localctx = new OnlyEntityContext(_localctx); enterOuterAlt(_localctx, 1); @@ -2001,36 +2021,6 @@ public final QueryTargetContext queryTarget() throws RecognitionException { multiFields(); } break; - case 4: - _localctx = new WithMultiTableFieldsContext(_localctx); - enterOuterAlt(_localctx, 4); - { - setState(310); - _errHandler.sync(this); - _alt = 1; - do { - switch (_alt) { - case 1: - { - { - setState(306); - entity(); - setState(307); - match(T__1); - setState(308); - field(); - } - } - break; - default: - throw new NoViableAltException(this); - } - setState(312); - _errHandler.sync(this); - _alt = getInterpreter().adaptivePredict(_input,23,_ctx); - } while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ); - } - break; } } catch (RecognitionException re) { @@ -2044,6 +2034,7 @@ public final QueryTargetContext queryTarget() throws RecognitionException { return _localctx; } + @SuppressWarnings("CheckReturnValue") public static class FunctionContext extends ParserRuleContext { public TerminalNode ID() { return getToken(ZQLParser.ID, 0); } public FunctionContext(ParserRuleContext parent, int invokingState) { @@ -2071,7 +2062,7 @@ public final FunctionContext function() throws RecognitionException { try { enterOuterAlt(_localctx, 1); { - setState(316); + setState(308); match(ID); } } @@ -2086,6 +2077,7 @@ public final FunctionContext function() throws RecognitionException { return _localctx; } + @SuppressWarnings("CheckReturnValue") public static class QueryTargetWithFunctionContext extends ParserRuleContext { public QueryTargetWithFunctionContext(ParserRuleContext parent, int invokingState) { super(parent, invokingState); @@ -2097,6 +2089,7 @@ public void copyFrom(QueryTargetWithFunctionContext ctx) { super.copyFrom(ctx); } } + @SuppressWarnings("CheckReturnValue") public static class WithFunctionContext extends QueryTargetWithFunctionContext { public FunctionContext function() { return getRuleContext(FunctionContext.class,0); @@ -2125,6 +2118,7 @@ public T accept(ParseTreeVisitor visitor) { else return visitor.visitChildren(this); } } + @SuppressWarnings("CheckReturnValue") public static class WithoutFunctionContext extends QueryTargetWithFunctionContext { public QueryTargetContext queryTarget() { return getRuleContext(QueryTargetContext.class,0); @@ -2156,26 +2150,26 @@ public final QueryTargetWithFunctionContext queryTargetWithFunction() throws Rec enterRule(_localctx, 42, RULE_queryTargetWithFunction); int _la; try { - setState(335); + setState(327); _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,27,_ctx) ) { + switch ( getInterpreter().adaptivePredict(_input,26,_ctx) ) { case 1: _localctx = new WithoutFunctionContext(_localctx); enterOuterAlt(_localctx, 1); { - setState(318); + setState(310); queryTarget(); - setState(322); + setState(314); _errHandler.sync(this); _la = _input.LA(1); - while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << INNER) | (1L << LEFT) | (1L << RIGHT))) != 0)) { + while ((((_la) & ~0x3f) == 0 && ((1L << _la) & 7516192768L) != 0)) { { { - setState(319); + setState(311); joinClause(); } } - setState(324); + setState(316); _errHandler.sync(this); _la = _input.LA(1); } @@ -2185,25 +2179,25 @@ public final QueryTargetWithFunctionContext queryTargetWithFunction() throws Rec _localctx = new WithFunctionContext(_localctx); enterOuterAlt(_localctx, 2); { - setState(325); + setState(317); function(); - setState(326); + setState(318); match(T__17); - setState(327); + setState(319); queryTargetWithFunction(); - setState(328); + setState(320); match(T__18); - setState(332); + setState(324); _errHandler.sync(this); _la = _input.LA(1); - while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << INNER) | (1L << LEFT) | (1L << RIGHT))) != 0)) { + while ((((_la) & ~0x3f) == 0 && ((1L << _la) & 7516192768L) != 0)) { { { - setState(329); + setState(321); joinClause(); } } - setState(334); + setState(326); _errHandler.sync(this); _la = _input.LA(1); } @@ -2222,6 +2216,7 @@ public final QueryTargetWithFunctionContext queryTargetWithFunction() throws Rec return _localctx; } + @SuppressWarnings("CheckReturnValue") public static class OrderByExprContext extends ParserRuleContext { public ExprAtomContext exprAtom() { return getRuleContext(ExprAtomContext.class,0); @@ -2252,9 +2247,9 @@ public final OrderByExprContext orderByExpr() throws RecognitionException { try { enterOuterAlt(_localctx, 1); { - setState(337); + setState(329); exprAtom(0); - setState(338); + setState(330); match(ORDER_BY_VALUE); } } @@ -2269,6 +2264,7 @@ public final OrderByExprContext orderByExpr() throws RecognitionException { return _localctx; } + @SuppressWarnings("CheckReturnValue") public static class OrderByContext extends ParserRuleContext { public TerminalNode ORDER_BY() { return getToken(ZQLParser.ORDER_BY, 0); } public List orderByExpr() { @@ -2303,23 +2299,23 @@ public final OrderByContext orderBy() throws RecognitionException { try { enterOuterAlt(_localctx, 1); { - setState(340); + setState(332); match(ORDER_BY); - setState(341); + setState(333); orderByExpr(); - setState(346); + setState(338); _errHandler.sync(this); _la = _input.LA(1); while (_la==T__2) { { { - setState(342); + setState(334); match(T__2); - setState(343); + setState(335); orderByExpr(); } } - setState(348); + setState(340); _errHandler.sync(this); _la = _input.LA(1); } @@ -2336,6 +2332,7 @@ public final OrderByContext orderBy() throws RecognitionException { return _localctx; } + @SuppressWarnings("CheckReturnValue") public static class LimitContext extends ParserRuleContext { public TerminalNode LIMIT() { return getToken(ZQLParser.LIMIT, 0); } public TerminalNode INT() { return getToken(ZQLParser.INT, 0); } @@ -2364,9 +2361,9 @@ public final LimitContext limit() throws RecognitionException { try { enterOuterAlt(_localctx, 1); { - setState(349); + setState(341); match(LIMIT); - setState(350); + setState(342); match(INT); } } @@ -2381,6 +2378,7 @@ public final LimitContext limit() throws RecognitionException { return _localctx; } + @SuppressWarnings("CheckReturnValue") public static class OffsetContext extends ParserRuleContext { public TerminalNode OFFSET() { return getToken(ZQLParser.OFFSET, 0); } public TerminalNode INT() { return getToken(ZQLParser.INT, 0); } @@ -2409,9 +2407,9 @@ public final OffsetContext offset() throws RecognitionException { try { enterOuterAlt(_localctx, 1); { - setState(352); + setState(344); match(OFFSET); - setState(353); + setState(345); match(INT); } } @@ -2426,6 +2424,7 @@ public final OffsetContext offset() throws RecognitionException { return _localctx; } + @SuppressWarnings("CheckReturnValue") public static class RestrictByExprContext extends ParserRuleContext { public EntityContext entity() { return getRuleContext(EntityContext.class,0); @@ -2461,26 +2460,26 @@ public final RestrictByExprContext restrictByExpr() throws RecognitionException enterRule(_localctx, 52, RULE_restrictByExpr); int _la; try { - setState(367); + setState(359); _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,31,_ctx) ) { + switch ( getInterpreter().adaptivePredict(_input,30,_ctx) ) { case 1: enterOuterAlt(_localctx, 1); { - setState(355); + setState(347); entity(); - setState(356); + setState(348); match(T__1); - setState(357); + setState(349); match(ID); - setState(358); + setState(350); operator(); - setState(360); + setState(352); _errHandler.sync(this); _la = _input.LA(1); - if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << T__17) | (1L << BOOLEAN) | (1L << INT) | (1L << FLOAT) | (1L << STRING))) != 0)) { + if ((((_la) & ~0x3f) == 0 && ((1L << _la) & 5620492334958641152L) != 0)) { { - setState(359); + setState(351); value(); } } @@ -2490,16 +2489,16 @@ public final RestrictByExprContext restrictByExpr() throws RecognitionException case 2: enterOuterAlt(_localctx, 2); { - setState(362); + setState(354); match(ID); - setState(363); + setState(355); operator(); - setState(365); + setState(357); _errHandler.sync(this); _la = _input.LA(1); - if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << T__17) | (1L << BOOLEAN) | (1L << INT) | (1L << FLOAT) | (1L << STRING))) != 0)) { + if ((((_la) & ~0x3f) == 0 && ((1L << _la) & 5620492334958641152L) != 0)) { { - setState(364); + setState(356); value(); } } @@ -2519,6 +2518,7 @@ public final RestrictByExprContext restrictByExpr() throws RecognitionException return _localctx; } + @SuppressWarnings("CheckReturnValue") public static class RestrictByContext extends ParserRuleContext { public TerminalNode RESTRICT_BY() { return getToken(ZQLParser.RESTRICT_BY, 0); } public List restrictByExpr() { @@ -2553,29 +2553,29 @@ public final RestrictByContext restrictBy() throws RecognitionException { try { enterOuterAlt(_localctx, 1); { - setState(369); + setState(361); match(RESTRICT_BY); - setState(370); + setState(362); match(T__17); - setState(371); + setState(363); restrictByExpr(); - setState(376); + setState(368); _errHandler.sync(this); _la = _input.LA(1); while (_la==T__2) { { { - setState(372); + setState(364); match(T__2); - setState(373); + setState(365); restrictByExpr(); } } - setState(378); + setState(370); _errHandler.sync(this); _la = _input.LA(1); } - setState(379); + setState(371); match(T__18); } } @@ -2590,6 +2590,7 @@ public final RestrictByContext restrictBy() throws RecognitionException { return _localctx; } + @SuppressWarnings("CheckReturnValue") public static class ReturnWithExprBlockContext extends ParserRuleContext { public List returnWithExprBlock() { return getRuleContexts(ReturnWithExprBlockContext.class); @@ -2623,19 +2624,19 @@ public final ReturnWithExprBlockContext returnWithExprBlock() throws Recognition try { enterOuterAlt(_localctx, 1); { - setState(381); + setState(373); match(T__20); - setState(386); + setState(378); _errHandler.sync(this); _la = _input.LA(1); - while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << T__0) | (1L << T__1) | (1L << T__2) | (1L << T__3) | (1L << T__4) | (1L << T__5) | (1L << T__6) | (1L << T__7) | (1L << T__8) | (1L << T__9) | (1L << T__10) | (1L << T__11) | (1L << T__12) | (1L << T__13) | (1L << T__14) | (1L << T__15) | (1L << T__16) | (1L << T__17) | (1L << T__18) | (1L << T__19) | (1L << T__20) | (1L << T__22) | (1L << T__23) | (1L << T__24) | (1L << T__25) | (1L << T__26) | (1L << T__27) | (1L << T__28) | (1L << INNER) | (1L << LEFT) | (1L << RIGHT) | (1L << JOIN) | (1L << ON) | (1L << FILTER_BY) | (1L << OFFSET) | (1L << LIMIT) | (1L << QUERY) | (1L << GET) | (1L << COUNT) | (1L << SUM) | (1L << SEARCH) | (1L << ORDER_BY) | (1L << GROUP_BY) | (1L << NAMED_AS) | (1L << ORDER_BY_VALUE) | (1L << RESTRICT_BY) | (1L << RETURN_WITH) | (1L << WHERE) | (1L << FROM) | (1L << AND) | (1L << OR) | (1L << ASC) | (1L << DESC) | (1L << INPUT) | (1L << OUTPUT) | (1L << BOOLEAN) | (1L << INT) | (1L << FLOAT) | (1L << ID) | (1L << WS) | (1L << STRING))) != 0)) { + while ((((_la) & ~0x3f) == 0 && ((1L << _la) & 9223372036850581502L) != 0)) { { - setState(384); + setState(376); _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,33,_ctx) ) { + switch ( getInterpreter().adaptivePredict(_input,32,_ctx) ) { case 1: { - setState(382); + setState(374); _la = _input.LA(1); if ( _la <= 0 || (_la==T__21) ) { _errHandler.recoverInline(this); @@ -2649,17 +2650,17 @@ public final ReturnWithExprBlockContext returnWithExprBlock() throws Recognition break; case 2: { - setState(383); + setState(375); returnWithExprBlock(); } break; } } - setState(388); + setState(380); _errHandler.sync(this); _la = _input.LA(1); } - setState(389); + setState(381); match(T__21); } } @@ -2674,6 +2675,7 @@ public final ReturnWithExprBlockContext returnWithExprBlock() throws Recognition return _localctx; } + @SuppressWarnings("CheckReturnValue") public static class ReturnWithExprContext extends ParserRuleContext { public ReturnWithExprContext(ParserRuleContext parent, int invokingState) { super(parent, invokingState); @@ -2685,6 +2687,7 @@ public void copyFrom(ReturnWithExprContext ctx) { super.copyFrom(ctx); } } + @SuppressWarnings("CheckReturnValue") public static class ReturnWithExprFunctionContext extends ReturnWithExprContext { public TerminalNode ID() { return getToken(ZQLParser.ID, 0); } public ReturnWithExprBlockContext returnWithExprBlock() { @@ -2705,6 +2708,7 @@ public T accept(ParseTreeVisitor visitor) { else return visitor.visitChildren(this); } } + @SuppressWarnings("CheckReturnValue") public static class ReturnWithExprIdContext extends ReturnWithExprContext { public List ID() { return getTokens(ZQLParser.ID); } public TerminalNode ID(int i) { @@ -2731,28 +2735,28 @@ public final ReturnWithExprContext returnWithExpr() throws RecognitionException enterRule(_localctx, 58, RULE_returnWithExpr); int _la; try { - setState(401); + setState(393); _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,36,_ctx) ) { + switch ( getInterpreter().adaptivePredict(_input,35,_ctx) ) { case 1: _localctx = new ReturnWithExprIdContext(_localctx); enterOuterAlt(_localctx, 1); { - setState(391); + setState(383); match(ID); - setState(396); + setState(388); _errHandler.sync(this); _la = _input.LA(1); while (_la==T__1) { { { - setState(392); + setState(384); match(T__1); - setState(393); + setState(385); match(ID); } } - setState(398); + setState(390); _errHandler.sync(this); _la = _input.LA(1); } @@ -2762,9 +2766,9 @@ public final ReturnWithExprContext returnWithExpr() throws RecognitionException _localctx = new ReturnWithExprFunctionContext(_localctx); enterOuterAlt(_localctx, 2); { - setState(399); + setState(391); match(ID); - setState(400); + setState(392); returnWithExprBlock(); } break; @@ -2781,6 +2785,7 @@ public final ReturnWithExprContext returnWithExpr() throws RecognitionException return _localctx; } + @SuppressWarnings("CheckReturnValue") public static class ReturnWithContext extends ParserRuleContext { public TerminalNode RETURN_WITH() { return getToken(ZQLParser.RETURN_WITH, 0); } public List returnWithExpr() { @@ -2815,29 +2820,29 @@ public final ReturnWithContext returnWith() throws RecognitionException { try { enterOuterAlt(_localctx, 1); { - setState(403); + setState(395); match(RETURN_WITH); - setState(404); + setState(396); match(T__17); - setState(405); + setState(397); returnWithExpr(); - setState(410); + setState(402); _errHandler.sync(this); _la = _input.LA(1); while (_la==T__2) { { { - setState(406); + setState(398); match(T__2); - setState(407); + setState(399); returnWithExpr(); } } - setState(412); + setState(404); _errHandler.sync(this); _la = _input.LA(1); } - setState(413); + setState(405); match(T__18); } } @@ -2852,6 +2857,7 @@ public final ReturnWithContext returnWith() throws RecognitionException { return _localctx; } + @SuppressWarnings("CheckReturnValue") public static class GroupByExprContext extends ParserRuleContext { public List ID() { return getTokens(ZQLParser.ID); } public TerminalNode ID(int i) { @@ -2883,21 +2889,21 @@ public final GroupByExprContext groupByExpr() throws RecognitionException { try { enterOuterAlt(_localctx, 1); { - setState(415); + setState(407); match(ID); - setState(420); + setState(412); _errHandler.sync(this); _la = _input.LA(1); while (_la==T__2) { { { - setState(416); + setState(408); match(T__2); - setState(417); + setState(409); match(ID); } } - setState(422); + setState(414); _errHandler.sync(this); _la = _input.LA(1); } @@ -2914,6 +2920,7 @@ public final GroupByExprContext groupByExpr() throws RecognitionException { return _localctx; } + @SuppressWarnings("CheckReturnValue") public static class GroupByContext extends ParserRuleContext { public TerminalNode GROUP_BY() { return getToken(ZQLParser.GROUP_BY, 0); } public GroupByExprContext groupByExpr() { @@ -2944,9 +2951,9 @@ public final GroupByContext groupBy() throws RecognitionException { try { enterOuterAlt(_localctx, 1); { - setState(423); + setState(415); match(GROUP_BY); - setState(424); + setState(416); groupByExpr(); } } @@ -2961,6 +2968,7 @@ public final GroupByContext groupBy() throws RecognitionException { return _localctx; } + @SuppressWarnings("CheckReturnValue") public static class SubQueryTargetContext extends ParserRuleContext { public EntityContext entity() { return getRuleContext(EntityContext.class,0); @@ -2995,21 +3003,21 @@ public final SubQueryTargetContext subQueryTarget() throws RecognitionException try { enterOuterAlt(_localctx, 1); { - setState(426); + setState(418); entity(); - setState(429); + setState(421); _errHandler.sync(this); _la = _input.LA(1); do { { { - setState(427); + setState(419); match(T__1); - setState(428); + setState(420); match(ID); } } - setState(431); + setState(423); _errHandler.sync(this); _la = _input.LA(1); } while ( _la==T__1 ); @@ -3026,6 +3034,7 @@ public final SubQueryTargetContext subQueryTarget() throws RecognitionException return _localctx; } + @SuppressWarnings("CheckReturnValue") public static class SubQueryContext extends ParserRuleContext { public TerminalNode QUERY() { return getToken(ZQLParser.QUERY, 0); } public SubQueryTargetContext subQueryTarget() { @@ -3064,28 +3073,28 @@ public final SubQueryContext subQuery() throws RecognitionException { try { enterOuterAlt(_localctx, 1); { - setState(433); + setState(425); match(QUERY); - setState(434); + setState(426); subQueryTarget(); - setState(441); + setState(433); _errHandler.sync(this); _la = _input.LA(1); if (_la==WHERE) { { - setState(435); + setState(427); match(WHERE); - setState(437); + setState(429); _errHandler.sync(this); _la = _input.LA(1); do { { { - setState(436); + setState(428); condition(0); } } - setState(439); + setState(431); _errHandler.sync(this); _la = _input.LA(1); } while ( _la==T__17 || _la==ID ); @@ -3105,6 +3114,7 @@ public final SubQueryContext subQuery() throws RecognitionException { return _localctx; } + @SuppressWarnings("CheckReturnValue") public static class FilterByExprBlockContext extends ParserRuleContext { public List filterByExprBlock() { return getRuleContexts(FilterByExprBlockContext.class); @@ -3138,19 +3148,19 @@ public final FilterByExprBlockContext filterByExprBlock() throws RecognitionExce try { enterOuterAlt(_localctx, 1); { - setState(443); + setState(435); match(T__20); - setState(448); + setState(440); _errHandler.sync(this); _la = _input.LA(1); - while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << T__0) | (1L << T__1) | (1L << T__2) | (1L << T__3) | (1L << T__4) | (1L << T__5) | (1L << T__6) | (1L << T__7) | (1L << T__8) | (1L << T__9) | (1L << T__10) | (1L << T__11) | (1L << T__12) | (1L << T__13) | (1L << T__14) | (1L << T__15) | (1L << T__16) | (1L << T__17) | (1L << T__18) | (1L << T__19) | (1L << T__20) | (1L << T__22) | (1L << T__23) | (1L << T__24) | (1L << T__25) | (1L << T__26) | (1L << T__27) | (1L << T__28) | (1L << INNER) | (1L << LEFT) | (1L << RIGHT) | (1L << JOIN) | (1L << ON) | (1L << FILTER_BY) | (1L << OFFSET) | (1L << LIMIT) | (1L << QUERY) | (1L << GET) | (1L << COUNT) | (1L << SUM) | (1L << SEARCH) | (1L << ORDER_BY) | (1L << GROUP_BY) | (1L << NAMED_AS) | (1L << ORDER_BY_VALUE) | (1L << RESTRICT_BY) | (1L << RETURN_WITH) | (1L << WHERE) | (1L << FROM) | (1L << AND) | (1L << OR) | (1L << ASC) | (1L << DESC) | (1L << INPUT) | (1L << OUTPUT) | (1L << BOOLEAN) | (1L << INT) | (1L << FLOAT) | (1L << ID) | (1L << WS) | (1L << STRING))) != 0)) { + while ((((_la) & ~0x3f) == 0 && ((1L << _la) & 9223372036850581502L) != 0)) { { - setState(446); + setState(438); _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,42,_ctx) ) { + switch ( getInterpreter().adaptivePredict(_input,41,_ctx) ) { case 1: { - setState(444); + setState(436); _la = _input.LA(1); if ( _la <= 0 || (_la==T__21) ) { _errHandler.recoverInline(this); @@ -3164,17 +3174,17 @@ public final FilterByExprBlockContext filterByExprBlock() throws RecognitionExce break; case 2: { - setState(445); + setState(437); filterByExprBlock(); } break; } } - setState(450); + setState(442); _errHandler.sync(this); _la = _input.LA(1); } - setState(451); + setState(443); match(T__21); } } @@ -3189,6 +3199,7 @@ public final FilterByExprBlockContext filterByExprBlock() throws RecognitionExce return _localctx; } + @SuppressWarnings("CheckReturnValue") public static class FilterByExprContext extends ParserRuleContext { public TerminalNode ID() { return getToken(ZQLParser.ID, 0); } public FilterByExprBlockContext filterByExprBlock() { @@ -3219,9 +3230,9 @@ public final FilterByExprContext filterByExpr() throws RecognitionException { try { enterOuterAlt(_localctx, 1); { - setState(453); + setState(445); match(ID); - setState(454); + setState(446); filterByExprBlock(); } } @@ -3236,6 +3247,7 @@ public final FilterByExprContext filterByExpr() throws RecognitionException { return _localctx; } + @SuppressWarnings("CheckReturnValue") public static class FilterByContext extends ParserRuleContext { public TerminalNode FILTER_BY() { return getToken(ZQLParser.FILTER_BY, 0); } public List filterByExpr() { @@ -3270,23 +3282,23 @@ public final FilterByContext filterBy() throws RecognitionException { try { enterOuterAlt(_localctx, 1); { - setState(456); + setState(448); match(FILTER_BY); - setState(457); + setState(449); filterByExpr(); - setState(462); + setState(454); _errHandler.sync(this); _la = _input.LA(1); while (_la==T__2) { { { - setState(458); + setState(450); match(T__2); - setState(459); + setState(451); filterByExpr(); } } - setState(464); + setState(456); _errHandler.sync(this); _la = _input.LA(1); } @@ -3303,6 +3315,7 @@ public final FilterByContext filterBy() throws RecognitionException { return _localctx; } + @SuppressWarnings("CheckReturnValue") public static class NamedAsKeyContext extends ParserRuleContext { public TerminalNode ID() { return getToken(ZQLParser.ID, 0); } public NamedAsKeyContext(ParserRuleContext parent, int invokingState) { @@ -3330,7 +3343,7 @@ public final NamedAsKeyContext namedAsKey() throws RecognitionException { try { enterOuterAlt(_localctx, 1); { - setState(465); + setState(457); match(ID); } } @@ -3345,6 +3358,7 @@ public final NamedAsKeyContext namedAsKey() throws RecognitionException { return _localctx; } + @SuppressWarnings("CheckReturnValue") public static class NamedAsValueContext extends ParserRuleContext { public TerminalNode STRING() { return getToken(ZQLParser.STRING, 0); } public NamedAsValueContext(ParserRuleContext parent, int invokingState) { @@ -3372,7 +3386,7 @@ public final NamedAsValueContext namedAsValue() throws RecognitionException { try { enterOuterAlt(_localctx, 1); { - setState(467); + setState(459); match(STRING); } } @@ -3387,6 +3401,7 @@ public final NamedAsValueContext namedAsValue() throws RecognitionException { return _localctx; } + @SuppressWarnings("CheckReturnValue") public static class NamedAsContext extends ParserRuleContext { public TerminalNode NAMED_AS() { return getToken(ZQLParser.NAMED_AS, 0); } public NamedAsValueContext namedAsValue() { @@ -3417,9 +3432,9 @@ public final NamedAsContext namedAs() throws RecognitionException { try { enterOuterAlt(_localctx, 1); { - setState(469); + setState(461); match(NAMED_AS); - setState(470); + setState(462); namedAsValue(); } } @@ -3434,6 +3449,7 @@ public final NamedAsContext namedAs() throws RecognitionException { return _localctx; } + @SuppressWarnings("CheckReturnValue") public static class JoinClauseContext extends ParserRuleContext { public JoinClauseContext(ParserRuleContext parent, int invokingState) { super(parent, invokingState); @@ -3445,6 +3461,7 @@ public void copyFrom(JoinClauseContext ctx) { super.copyFrom(ctx); } } + @SuppressWarnings("CheckReturnValue") public static class JoinTableContext extends JoinClauseContext { public TerminalNode JOIN() { return getToken(ZQLParser.JOIN, 0); } public QueryTargetContext queryTarget() { @@ -3484,9 +3501,9 @@ public final JoinClauseContext joinClause() throws RecognitionException { _localctx = new JoinTableContext(_localctx); enterOuterAlt(_localctx, 1); { - setState(472); + setState(464); _la = _input.LA(1); - if ( !((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << INNER) | (1L << LEFT) | (1L << RIGHT))) != 0)) ) { + if ( !((((_la) & ~0x3f) == 0 && ((1L << _la) & 7516192768L) != 0)) ) { _errHandler.recoverInline(this); } else { @@ -3494,23 +3511,23 @@ public final JoinClauseContext joinClause() throws RecognitionException { _errHandler.reportMatch(this); consume(); } - setState(473); + setState(465); match(JOIN); - setState(474); + setState(466); queryTarget(); - setState(475); + setState(467); match(ON); - setState(477); + setState(469); _errHandler.sync(this); _la = _input.LA(1); do { { { - setState(476); + setState(468); condition(0); } } - setState(479); + setState(471); _errHandler.sync(this); _la = _input.LA(1); } while ( _la==T__17 || _la==ID ); @@ -3527,6 +3544,7 @@ public final JoinClauseContext joinClause() throws RecognitionException { return _localctx; } + @SuppressWarnings("CheckReturnValue") public static class QueryContext extends ParserRuleContext { public TerminalNode QUERY() { return getToken(ZQLParser.QUERY, 0); } public QueryTargetWithFunctionContext queryTargetWithFunction() { @@ -3589,110 +3607,110 @@ public final QueryContext query() throws RecognitionException { try { enterOuterAlt(_localctx, 1); { - setState(481); + setState(473); match(QUERY); - setState(482); + setState(474); queryTargetWithFunction(); - setState(489); + setState(481); _errHandler.sync(this); _la = _input.LA(1); if (_la==WHERE) { { - setState(483); + setState(475); match(WHERE); - setState(485); + setState(477); _errHandler.sync(this); _la = _input.LA(1); do { { { - setState(484); + setState(476); condition(0); } } - setState(487); + setState(479); _errHandler.sync(this); _la = _input.LA(1); } while ( _la==T__17 || _la==ID ); } } - setState(492); + setState(484); _errHandler.sync(this); _la = _input.LA(1); if (_la==RESTRICT_BY) { { - setState(491); + setState(483); restrictBy(); } } - setState(495); + setState(487); _errHandler.sync(this); _la = _input.LA(1); if (_la==RETURN_WITH) { { - setState(494); + setState(486); returnWith(); } } - setState(498); + setState(490); _errHandler.sync(this); _la = _input.LA(1); if (_la==GROUP_BY) { { - setState(497); + setState(489); groupBy(); } } - setState(501); + setState(493); _errHandler.sync(this); _la = _input.LA(1); if (_la==ORDER_BY) { { - setState(500); + setState(492); orderBy(); } } - setState(504); + setState(496); _errHandler.sync(this); _la = _input.LA(1); if (_la==LIMIT) { { - setState(503); + setState(495); limit(); } } - setState(507); + setState(499); _errHandler.sync(this); _la = _input.LA(1); if (_la==OFFSET) { { - setState(506); + setState(498); offset(); } } - setState(510); + setState(502); _errHandler.sync(this); _la = _input.LA(1); if (_la==FILTER_BY) { { - setState(509); + setState(501); filterBy(); } } - setState(513); + setState(505); _errHandler.sync(this); _la = _input.LA(1); if (_la==NAMED_AS) { { - setState(512); + setState(504); namedAs(); } } @@ -3710,6 +3728,7 @@ public final QueryContext query() throws RecognitionException { return _localctx; } + @SuppressWarnings("CheckReturnValue") public static class CountContext extends ParserRuleContext { public TerminalNode COUNT() { return getToken(ZQLParser.COUNT, 0); } public QueryTargetWithFunctionContext queryTargetWithFunction() { @@ -3766,90 +3785,90 @@ public final CountContext count() throws RecognitionException { try { enterOuterAlt(_localctx, 1); { - setState(515); + setState(507); match(COUNT); - setState(516); + setState(508); queryTargetWithFunction(); - setState(523); + setState(515); _errHandler.sync(this); _la = _input.LA(1); if (_la==WHERE) { { - setState(517); + setState(509); match(WHERE); - setState(519); + setState(511); _errHandler.sync(this); _la = _input.LA(1); do { { { - setState(518); + setState(510); condition(0); } } - setState(521); + setState(513); _errHandler.sync(this); _la = _input.LA(1); } while ( _la==T__17 || _la==ID ); } } - setState(526); + setState(518); _errHandler.sync(this); _la = _input.LA(1); if (_la==RESTRICT_BY) { { - setState(525); + setState(517); restrictBy(); } } - setState(529); + setState(521); _errHandler.sync(this); _la = _input.LA(1); if (_la==GROUP_BY) { { - setState(528); + setState(520); groupBy(); } } - setState(532); + setState(524); _errHandler.sync(this); _la = _input.LA(1); if (_la==ORDER_BY) { { - setState(531); + setState(523); orderBy(); } } - setState(535); + setState(527); _errHandler.sync(this); _la = _input.LA(1); if (_la==LIMIT) { { - setState(534); + setState(526); limit(); } } - setState(538); + setState(530); _errHandler.sync(this); _la = _input.LA(1); if (_la==OFFSET) { { - setState(537); + setState(529); offset(); } } - setState(541); + setState(533); _errHandler.sync(this); _la = _input.LA(1); if (_la==NAMED_AS) { { - setState(540); + setState(532); namedAs(); } } @@ -3867,6 +3886,7 @@ public final CountContext count() throws RecognitionException { return _localctx; } + @SuppressWarnings("CheckReturnValue") public static class SumByValueContext extends ParserRuleContext { public TerminalNode ID() { return getToken(ZQLParser.ID, 0); } public SumByValueContext(ParserRuleContext parent, int invokingState) { @@ -3894,7 +3914,7 @@ public final SumByValueContext sumByValue() throws RecognitionException { try { enterOuterAlt(_localctx, 1); { - setState(543); + setState(535); match(ID); } } @@ -3909,6 +3929,7 @@ public final SumByValueContext sumByValue() throws RecognitionException { return _localctx; } + @SuppressWarnings("CheckReturnValue") public static class SumByContext extends ParserRuleContext { public SumByValueContext sumByValue() { return getRuleContext(SumByValueContext.class,0); @@ -3938,9 +3959,9 @@ public final SumByContext sumBy() throws RecognitionException { try { enterOuterAlt(_localctx, 1); { - setState(545); + setState(537); match(T__22); - setState(546); + setState(538); sumByValue(); } } @@ -3955,6 +3976,7 @@ public final SumByContext sumBy() throws RecognitionException { return _localctx; } + @SuppressWarnings("CheckReturnValue") public static class SumContext extends ParserRuleContext { public TerminalNode SUM() { return getToken(ZQLParser.SUM, 0); } public QueryTargetContext queryTarget() { @@ -4008,72 +4030,72 @@ public final SumContext sum() throws RecognitionException { try { enterOuterAlt(_localctx, 1); { - setState(548); + setState(540); match(SUM); - setState(549); + setState(541); queryTarget(); - setState(550); + setState(542); sumBy(); - setState(557); + setState(549); _errHandler.sync(this); _la = _input.LA(1); if (_la==WHERE) { { - setState(551); + setState(543); match(WHERE); - setState(553); + setState(545); _errHandler.sync(this); _la = _input.LA(1); do { { { - setState(552); + setState(544); condition(0); } } - setState(555); + setState(547); _errHandler.sync(this); _la = _input.LA(1); } while ( _la==T__17 || _la==ID ); } } - setState(560); + setState(552); _errHandler.sync(this); _la = _input.LA(1); if (_la==ORDER_BY) { { - setState(559); + setState(551); orderBy(); } } - setState(563); + setState(555); _errHandler.sync(this); _la = _input.LA(1); if (_la==LIMIT) { { - setState(562); + setState(554); limit(); } } - setState(566); + setState(558); _errHandler.sync(this); _la = _input.LA(1); if (_la==OFFSET) { { - setState(565); + setState(557); offset(); } } - setState(569); + setState(561); _errHandler.sync(this); _la = _input.LA(1); if (_la==NAMED_AS) { { - setState(568); + setState(560); namedAs(); } } @@ -4091,6 +4113,7 @@ public final SumContext sum() throws RecognitionException { return _localctx; } + @SuppressWarnings("CheckReturnValue") public static class SearchContext extends ParserRuleContext { public TerminalNode SEARCH() { return getToken(ZQLParser.SEARCH, 0); } public KeywordContext keyword() { @@ -4135,48 +4158,48 @@ public final SearchContext search() throws RecognitionException { try { enterOuterAlt(_localctx, 1); { - setState(571); + setState(563); match(SEARCH); - setState(572); + setState(564); keyword(); - setState(575); + setState(567); _errHandler.sync(this); _la = _input.LA(1); if (_la==FROM) { { - setState(573); + setState(565); match(FROM); - setState(574); + setState(566); index(); } } - setState(578); + setState(570); _errHandler.sync(this); _la = _input.LA(1); if (_la==RESTRICT_BY) { { - setState(577); + setState(569); restrictBy(); } } - setState(581); + setState(573); _errHandler.sync(this); _la = _input.LA(1); if (_la==LIMIT) { { - setState(580); + setState(572); limit(); } } - setState(584); + setState(576); _errHandler.sync(this); _la = _input.LA(1); if (_la==OFFSET) { { - setState(583); + setState(575); offset(); } } @@ -4194,6 +4217,7 @@ public final SearchContext search() throws RecognitionException { return _localctx; } + @SuppressWarnings("CheckReturnValue") public static class KeywordContext extends ParserRuleContext { public TerminalNode STRING() { return getToken(ZQLParser.STRING, 0); } public KeywordContext(ParserRuleContext parent, int invokingState) { @@ -4221,7 +4245,7 @@ public final KeywordContext keyword() throws RecognitionException { try { enterOuterAlt(_localctx, 1); { - setState(586); + setState(578); match(STRING); } } @@ -4236,6 +4260,7 @@ public final KeywordContext keyword() throws RecognitionException { return _localctx; } + @SuppressWarnings("CheckReturnValue") public static class IndexContext extends ParserRuleContext { public IndexContext(ParserRuleContext parent, int invokingState) { super(parent, invokingState); @@ -4247,6 +4272,7 @@ public void copyFrom(IndexContext ctx) { super.copyFrom(ctx); } } + @SuppressWarnings("CheckReturnValue") public static class SingleIndexContext extends IndexContext { public TerminalNode ID() { return getToken(ZQLParser.ID, 0); } public SingleIndexContext(IndexContext ctx) { copyFrom(ctx); } @@ -4264,6 +4290,7 @@ public T accept(ParseTreeVisitor visitor) { else return visitor.visitChildren(this); } } + @SuppressWarnings("CheckReturnValue") public static class MultiIndexsContext extends IndexContext { public List ID() { return getTokens(ZQLParser.ID); } public TerminalNode ID(int i) { @@ -4290,14 +4317,14 @@ public final IndexContext index() throws RecognitionException { enterRule(_localctx, 98, RULE_index); int _la; try { - setState(596); + setState(588); _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,75,_ctx) ) { + switch ( getInterpreter().adaptivePredict(_input,74,_ctx) ) { case 1: _localctx = new SingleIndexContext(_localctx); enterOuterAlt(_localctx, 1); { - setState(588); + setState(580); match(ID); } break; @@ -4305,21 +4332,21 @@ public final IndexContext index() throws RecognitionException { _localctx = new MultiIndexsContext(_localctx); enterOuterAlt(_localctx, 2); { - setState(589); + setState(581); match(ID); - setState(592); + setState(584); _errHandler.sync(this); _la = _input.LA(1); do { { { - setState(590); + setState(582); match(T__2); - setState(591); + setState(583); match(ID); } } - setState(594); + setState(586); _errHandler.sync(this); _la = _input.LA(1); } while ( _la==T__2 ); @@ -4338,6 +4365,7 @@ public final IndexContext index() throws RecognitionException { return _localctx; } + @SuppressWarnings("CheckReturnValue") public static class MathOperatorContext extends ParserRuleContext { public MathOperatorContext(ParserRuleContext parent, int invokingState) { super(parent, invokingState); @@ -4365,9 +4393,9 @@ public final MathOperatorContext mathOperator() throws RecognitionException { try { enterOuterAlt(_localctx, 1); { - setState(598); + setState(590); _la = _input.LA(1); - if ( !((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << T__23) | (1L << T__24) | (1L << T__25) | (1L << T__26) | (1L << T__27) | (1L << T__28))) != 0)) ) { + if ( !((((_la) & ~0x3f) == 0 && ((1L << _la) & 1056964608L) != 0)) ) { _errHandler.recoverInline(this); } else { @@ -4413,232 +4441,388 @@ private boolean condition_sempred(ConditionContext _localctx, int predIndex) { } public static final String _serializedATN = - "\3\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964\3@\u025b\4\2\t\2\4"+ - "\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7\t\7\4\b\t\b\4\t\t\t\4\n\t\n\4\13\t"+ - "\13\4\f\t\f\4\r\t\r\4\16\t\16\4\17\t\17\4\20\t\20\4\21\t\21\4\22\t\22"+ - "\4\23\t\23\4\24\t\24\4\25\t\25\4\26\t\26\4\27\t\27\4\30\t\30\4\31\t\31"+ - "\4\32\t\32\4\33\t\33\4\34\t\34\4\35\t\35\4\36\t\36\4\37\t\37\4 \t \4!"+ - "\t!\4\"\t\"\4#\t#\4$\t$\4%\t%\4&\t&\4\'\t\'\4(\t(\4)\t)\4*\t*\4+\t+\4"+ - ",\t,\4-\t-\4.\t.\4/\t/\4\60\t\60\4\61\t\61\4\62\t\62\4\63\t\63\4\64\t"+ - "\64\3\2\3\2\3\2\7\2l\n\2\f\2\16\2o\13\2\3\2\3\2\3\3\3\3\3\3\3\3\5\3w\n"+ - "\3\3\4\3\4\3\5\3\5\3\5\3\5\6\5\177\n\5\r\5\16\5\u0080\5\5\u0083\n\5\3"+ - "\6\3\6\3\6\6\6\u0088\n\6\r\6\16\6\u0089\3\7\3\7\3\b\3\b\3\b\3\b\3\b\3"+ - "\b\3\b\3\b\7\b\u0096\n\b\f\b\16\b\u0099\13\b\3\b\3\b\5\b\u009d\n\b\3\t"+ - "\3\t\3\t\3\t\7\t\u00a3\n\t\f\t\16\t\u00a6\13\t\3\t\3\t\3\n\3\n\3\13\3"+ - "\13\3\13\3\13\3\13\3\13\5\13\u00b2\n\13\3\13\3\13\3\13\3\13\3\13\3\13"+ - "\3\13\7\13\u00bb\n\13\f\13\16\13\u00be\13\13\3\13\3\13\5\13\u00c2\n\13"+ - "\3\13\5\13\u00c5\n\13\3\13\3\13\3\13\3\13\3\13\3\13\3\13\7\13\u00ce\n"+ - "\13\f\13\16\13\u00d1\13\13\3\13\3\13\5\13\u00d5\n\13\5\13\u00d7\n\13\3"+ - "\f\3\f\3\r\3\r\3\r\3\r\3\r\3\r\3\r\3\r\5\r\u00e3\n\r\3\16\3\16\3\16\3"+ - "\16\3\17\3\17\3\17\3\17\3\20\3\20\3\20\5\20\u00f0\n\20\3\21\3\21\3\21"+ - "\3\21\3\22\3\22\3\22\3\22\3\22\3\22\3\22\3\22\3\22\3\22\3\22\3\22\7\22"+ - "\u0102\n\22\f\22\16\22\u0105\13\22\3\22\3\22\5\22\u0109\n\22\3\22\3\22"+ - "\3\22\3\22\7\22\u010f\n\22\f\22\16\22\u0112\13\22\3\23\3\23\3\24\3\24"+ - "\3\24\3\24\3\24\3\24\3\24\5\24\u011d\n\24\3\24\3\24\3\24\3\24\6\24\u0123"+ - "\n\24\r\24\16\24\u0124\7\24\u0127\n\24\f\24\16\24\u012a\13\24\3\25\3\25"+ - "\3\25\3\25\3\25\3\25\3\25\3\25\3\25\3\25\3\25\3\25\3\25\6\25\u0139\n\25"+ - "\r\25\16\25\u013a\5\25\u013d\n\25\3\26\3\26\3\27\3\27\7\27\u0143\n\27"+ - "\f\27\16\27\u0146\13\27\3\27\3\27\3\27\3\27\3\27\7\27\u014d\n\27\f\27"+ - "\16\27\u0150\13\27\5\27\u0152\n\27\3\30\3\30\3\30\3\31\3\31\3\31\3\31"+ - "\7\31\u015b\n\31\f\31\16\31\u015e\13\31\3\32\3\32\3\32\3\33\3\33\3\33"+ - "\3\34\3\34\3\34\3\34\3\34\5\34\u016b\n\34\3\34\3\34\3\34\5\34\u0170\n"+ - "\34\5\34\u0172\n\34\3\35\3\35\3\35\3\35\3\35\7\35\u0179\n\35\f\35\16\35"+ - "\u017c\13\35\3\35\3\35\3\36\3\36\3\36\7\36\u0183\n\36\f\36\16\36\u0186"+ - "\13\36\3\36\3\36\3\37\3\37\3\37\7\37\u018d\n\37\f\37\16\37\u0190\13\37"+ - "\3\37\3\37\5\37\u0194\n\37\3 \3 \3 \3 \3 \7 \u019b\n \f \16 \u019e\13"+ - " \3 \3 \3!\3!\3!\7!\u01a5\n!\f!\16!\u01a8\13!\3\"\3\"\3\"\3#\3#\3#\6#"+ - "\u01b0\n#\r#\16#\u01b1\3$\3$\3$\3$\6$\u01b8\n$\r$\16$\u01b9\5$\u01bc\n"+ - "$\3%\3%\3%\7%\u01c1\n%\f%\16%\u01c4\13%\3%\3%\3&\3&\3&\3\'\3\'\3\'\3\'"+ - "\7\'\u01cf\n\'\f\'\16\'\u01d2\13\'\3(\3(\3)\3)\3*\3*\3*\3+\3+\3+\3+\3"+ - "+\6+\u01e0\n+\r+\16+\u01e1\3,\3,\3,\3,\6,\u01e8\n,\r,\16,\u01e9\5,\u01ec"+ - "\n,\3,\5,\u01ef\n,\3,\5,\u01f2\n,\3,\5,\u01f5\n,\3,\5,\u01f8\n,\3,\5,"+ - "\u01fb\n,\3,\5,\u01fe\n,\3,\5,\u0201\n,\3,\5,\u0204\n,\3-\3-\3-\3-\6-"+ - "\u020a\n-\r-\16-\u020b\5-\u020e\n-\3-\5-\u0211\n-\3-\5-\u0214\n-\3-\5"+ - "-\u0217\n-\3-\5-\u021a\n-\3-\5-\u021d\n-\3-\5-\u0220\n-\3.\3.\3/\3/\3"+ - "/\3\60\3\60\3\60\3\60\3\60\6\60\u022c\n\60\r\60\16\60\u022d\5\60\u0230"+ - "\n\60\3\60\5\60\u0233\n\60\3\60\5\60\u0236\n\60\3\60\5\60\u0239\n\60\3"+ - "\60\5\60\u023c\n\60\3\61\3\61\3\61\3\61\5\61\u0242\n\61\3\61\5\61\u0245"+ - "\n\61\3\61\5\61\u0248\n\61\3\61\5\61\u024b\n\61\3\62\3\62\3\63\3\63\3"+ - "\63\3\63\6\63\u0253\n\63\r\63\16\63\u0254\5\63\u0257\n\63\3\64\3\64\3"+ - "\64\2\4\"&\65\2\4\6\b\n\f\16\20\22\24\26\30\32\34\36 \"$&(*,.\60\62\64"+ - "\668:<>@BDFHJLNPRTVXZ\\^`bdf\2\7\3\2\6\23\3\2\65\66\3\2\30\30\3\2 \"\3"+ - "\2\32\37\2\u027f\2h\3\2\2\2\4v\3\2\2\2\6x\3\2\2\2\b\u0082\3\2\2\2\n\u0084"+ - "\3\2\2\2\f\u008b\3\2\2\2\16\u009c\3\2\2\2\20\u009e\3\2\2\2\22\u00a9\3"+ - "\2\2\2\24\u00d6\3\2\2\2\26\u00d8\3\2\2\2\30\u00e2\3\2\2\2\32\u00e4\3\2"+ - "\2\2\34\u00e8\3\2\2\2\36\u00ec\3\2\2\2 \u00f1\3\2\2\2\"\u0108\3\2\2\2"+ - "$\u0113\3\2\2\2&\u011c\3\2\2\2(\u013c\3\2\2\2*\u013e\3\2\2\2,\u0151\3"+ - "\2\2\2.\u0153\3\2\2\2\60\u0156\3\2\2\2\62\u015f\3\2\2\2\64\u0162\3\2\2"+ - "\2\66\u0171\3\2\2\28\u0173\3\2\2\2:\u017f\3\2\2\2<\u0193\3\2\2\2>\u0195"+ - "\3\2\2\2@\u01a1\3\2\2\2B\u01a9\3\2\2\2D\u01ac\3\2\2\2F\u01b3\3\2\2\2H"+ - "\u01bd\3\2\2\2J\u01c7\3\2\2\2L\u01ca\3\2\2\2N\u01d3\3\2\2\2P\u01d5\3\2"+ - "\2\2R\u01d7\3\2\2\2T\u01da\3\2\2\2V\u01e3\3\2\2\2X\u0205\3\2\2\2Z\u0221"+ - "\3\2\2\2\\\u0223\3\2\2\2^\u0226\3\2\2\2`\u023d\3\2\2\2b\u024c\3\2\2\2"+ - "d\u0256\3\2\2\2f\u0258\3\2\2\2hm\5\4\3\2ij\7\3\2\2jl\5\4\3\2ki\3\2\2\2"+ - "lo\3\2\2\2mk\3\2\2\2mn\3\2\2\2np\3\2\2\2om\3\2\2\2pq\7\2\2\3q\3\3\2\2"+ - "\2rw\5V,\2sw\5X-\2tw\5^\60\2uw\5`\61\2vr\3\2\2\2vs\3\2\2\2vt\3\2\2\2v"+ - "u\3\2\2\2w\5\3\2\2\2xy\7>\2\2y\7\3\2\2\2z\u0083\7>\2\2{~\7>\2\2|}\7\4"+ - "\2\2}\177\7>\2\2~|\3\2\2\2\177\u0080\3\2\2\2\u0080~\3\2\2\2\u0080\u0081"+ - "\3\2\2\2\u0081\u0083\3\2\2\2\u0082z\3\2\2\2\u0082{\3\2\2\2\u0083\t\3\2"+ - "\2\2\u0084\u0087\7>\2\2\u0085\u0086\7\5\2\2\u0086\u0088\7>\2\2\u0087\u0085"+ - "\3\2\2\2\u0088\u0089\3\2\2\2\u0089\u0087\3\2\2\2\u0089\u008a\3\2\2\2\u008a"+ - "\13\3\2\2\2\u008b\u008c\t\2\2\2\u008c\r\3\2\2\2\u008d\u009d\7@\2\2\u008e"+ - "\u009d\7<\2\2\u008f\u009d\7=\2\2\u0090\u009d\7;\2\2\u0091\u0092\7\24\2"+ - "\2\u0092\u0097\5\16\b\2\u0093\u0094\7\5\2\2\u0094\u0096\5\16\b\2\u0095"+ - "\u0093\3\2\2\2\u0096\u0099\3\2\2\2\u0097\u0095\3\2\2\2\u0097\u0098\3\2"+ - "\2\2\u0098\u009a\3\2\2\2\u0099\u0097\3\2\2\2\u009a\u009b\7\25\2\2\u009b"+ - "\u009d\3\2\2\2\u009c\u008d\3\2\2\2\u009c\u008e\3\2\2\2\u009c\u008f\3\2"+ - "\2\2\u009c\u0090\3\2\2\2\u009c\u0091\3\2\2\2\u009d\17\3\2\2\2\u009e\u009f"+ - "\7\26\2\2\u009f\u00a4\5\16\b\2\u00a0\u00a1\7\5\2\2\u00a1\u00a3\5\16\b"+ - "\2\u00a2\u00a0\3\2\2\2\u00a3\u00a6\3\2\2\2\u00a4\u00a2\3\2\2\2\u00a4\u00a5"+ - "\3\2\2\2\u00a5\u00a7\3\2\2\2\u00a6\u00a4\3\2\2\2\u00a7\u00a8\7\25\2\2"+ - "\u00a8\21\3\2\2\2\u00a9\u00aa\t\3\2\2\u00aa\23\3\2\2\2\u00ab\u00d7\5\16"+ - "\b\2\u00ac\u00ad\7\24\2\2\u00ad\u00ae\5F$\2\u00ae\u00af\7\25\2\2\u00af"+ - "\u00d7\3\2\2\2\u00b0\u00b2\7\24\2\2\u00b1\u00b0\3\2\2\2\u00b1\u00b2\3"+ - "\2\2\2\u00b2\u00b3\3\2\2\2\u00b3\u00b4\5\26\f\2\u00b4\u00b5\7\24\2\2\u00b5"+ - "\u00b6\5\32\16\2\u00b6\u00b7\7\5\2\2\u00b7\u00bc\5\34\17\2\u00b8\u00b9"+ - "\7\5\2\2\u00b9\u00bb\5\30\r\2\u00ba\u00b8\3\2\2\2\u00bb\u00be\3\2\2\2"+ - "\u00bc\u00ba\3\2\2\2\u00bc\u00bd\3\2\2\2\u00bd\u00bf\3\2\2\2\u00be\u00bc"+ - "\3\2\2\2\u00bf\u00c1\7\25\2\2\u00c0\u00c2\7\25\2\2\u00c1\u00c0\3\2\2\2"+ - "\u00c1\u00c2\3\2\2\2\u00c2\u00d7\3\2\2\2\u00c3\u00c5\7\24\2\2\u00c4\u00c3"+ - "\3\2\2\2\u00c4\u00c5\3\2\2\2\u00c5\u00c6\3\2\2\2\u00c6\u00c7\5\26\f\2"+ - "\u00c7\u00c8\7\24\2\2\u00c8\u00c9\5\34\17\2\u00c9\u00ca\7\5\2\2\u00ca"+ - "\u00cf\5\32\16\2\u00cb\u00cc\7\5\2\2\u00cc\u00ce\5\30\r\2\u00cd\u00cb"+ - "\3\2\2\2\u00ce\u00d1\3\2\2\2\u00cf\u00cd\3\2\2\2\u00cf\u00d0\3\2\2\2\u00d0"+ - "\u00d2\3\2\2\2\u00d1\u00cf\3\2\2\2\u00d2\u00d4\7\25\2\2\u00d3\u00d5\7"+ - "\25\2\2\u00d4\u00d3\3\2\2\2\u00d4\u00d5\3\2\2\2\u00d5\u00d7\3\2\2\2\u00d6"+ - "\u00ab\3\2\2\2\u00d6\u00ac\3\2\2\2\u00d6\u00b1\3\2\2\2\u00d6\u00c4\3\2"+ - "\2\2\u00d7\25\3\2\2\2\u00d8\u00d9\7)\2\2\u00d9\27\3\2\2\2\u00da\u00db"+ - "\5N(\2\u00db\u00dc\5$\23\2\u00dc\u00dd\5\16\b\2\u00dd\u00e3\3\2\2\2\u00de"+ - "\u00df\5N(\2\u00df\u00e0\5$\23\2\u00e0\u00e1\5\20\t\2\u00e1\u00e3\3\2"+ - "\2\2\u00e2\u00da\3\2\2\2\u00e2\u00de\3\2\2\2\u00e3\31\3\2\2\2\u00e4\u00e5"+ - "\79\2\2\u00e5\u00e6\5$\23\2\u00e6\u00e7\5P)\2\u00e7\33\3\2\2\2\u00e8\u00e9"+ - "\7:\2\2\u00e9\u00ea\5$\23\2\u00ea\u00eb\5P)\2\u00eb\35\3\2\2\2\u00ec\u00ed"+ - "\5\b\5\2\u00ed\u00ef\5\f\7\2\u00ee\u00f0\5\24\13\2\u00ef\u00ee\3\2\2\2"+ - "\u00ef\u00f0\3\2\2\2\u00f0\37\3\2\2\2\u00f1\u00f2\5(\25\2\u00f2\u00f3"+ - "\5\f\7\2\u00f3\u00f4\5(\25\2\u00f4!\3\2\2\2\u00f5\u00f6\b\22\1\2\u00f6"+ - "\u0109\7>\2\2\u00f7\u0109\5(\25\2\u00f8\u00f9\5*\26\2\u00f9\u00fa\7\24"+ - "\2\2\u00fa\u00fb\5(\25\2\u00fb\u00fc\7\25\2\2\u00fc\u0109\3\2\2\2\u00fd"+ - "\u00fe\7\24\2\2\u00fe\u0103\5\"\22\2\u00ff\u0100\7\5\2\2\u0100\u0102\5"+ - "\"\22\2\u0101\u00ff\3\2\2\2\u0102\u0105\3\2\2\2\u0103\u0101\3\2\2\2\u0103"+ - "\u0104\3\2\2\2\u0104\u0106\3\2\2\2\u0105\u0103\3\2\2\2\u0106\u0107\7\25"+ - "\2\2\u0107\u0109\3\2\2\2\u0108\u00f5\3\2\2\2\u0108\u00f7\3\2\2\2\u0108"+ - "\u00f8\3\2\2\2\u0108\u00fd\3\2\2\2\u0109\u0110\3\2\2\2\u010a\u010b\f\3"+ - "\2\2\u010b\u010c\5f\64\2\u010c\u010d\5\"\22\4\u010d\u010f\3\2\2\2\u010e"+ - "\u010a\3\2\2\2\u010f\u0112\3\2\2\2\u0110\u010e\3\2\2\2\u0110\u0111\3\2"+ - "\2\2\u0111#\3\2\2\2\u0112\u0110\3\2\2\2\u0113\u0114\7\6\2\2\u0114%\3\2"+ - "\2\2\u0115\u0116\b\24\1\2\u0116\u0117\7\24\2\2\u0117\u0118\5&\24\2\u0118"+ - "\u0119\7\25\2\2\u0119\u011d\3\2\2\2\u011a\u011d\5\36\20\2\u011b\u011d"+ - "\5 \21\2\u011c\u0115\3\2\2\2\u011c\u011a\3\2\2\2\u011c\u011b\3\2\2\2\u011d"+ - "\u0128\3\2\2\2\u011e\u0122\f\5\2\2\u011f\u0120\5\22\n\2\u0120\u0121\5"+ - "&\24\2\u0121\u0123\3\2\2\2\u0122\u011f\3\2\2\2\u0123\u0124\3\2\2\2\u0124"+ - "\u0122\3\2\2\2\u0124\u0125\3\2\2\2\u0125\u0127\3\2\2\2\u0126\u011e\3\2"+ - "\2\2\u0127\u012a\3\2\2\2\u0128\u0126\3\2\2\2\u0128\u0129\3\2\2\2\u0129"+ - "\'\3\2\2\2\u012a\u0128\3\2\2\2\u012b\u013d\5\6\4\2\u012c\u012d\5\6\4\2"+ - "\u012d\u012e\7\4\2\2\u012e\u012f\5\b\5\2\u012f\u013d\3\2\2\2\u0130\u0131"+ - "\5\6\4\2\u0131\u0132\7\4\2\2\u0132\u0133\5\n\6\2\u0133\u013d\3\2\2\2\u0134"+ - "\u0135\5\6\4\2\u0135\u0136\7\4\2\2\u0136\u0137\5\b\5\2\u0137\u0139\3\2"+ - "\2\2\u0138\u0134\3\2\2\2\u0139\u013a\3\2\2\2\u013a\u0138\3\2\2\2\u013a"+ - "\u013b\3\2\2\2\u013b\u013d\3\2\2\2\u013c\u012b\3\2\2\2\u013c\u012c\3\2"+ - "\2\2\u013c\u0130\3\2\2\2\u013c\u0138\3\2\2\2\u013d)\3\2\2\2\u013e\u013f"+ - "\7>\2\2\u013f+\3\2\2\2\u0140\u0144\5(\25\2\u0141\u0143\5T+\2\u0142\u0141"+ - "\3\2\2\2\u0143\u0146\3\2\2\2\u0144\u0142\3\2\2\2\u0144\u0145\3\2\2\2\u0145"+ - "\u0152\3\2\2\2\u0146\u0144\3\2\2\2\u0147\u0148\5*\26\2\u0148\u0149\7\24"+ - "\2\2\u0149\u014a\5,\27\2\u014a\u014e\7\25\2\2\u014b\u014d\5T+\2\u014c"+ - "\u014b\3\2\2\2\u014d\u0150\3\2\2\2\u014e\u014c\3\2\2\2\u014e\u014f\3\2"+ - "\2\2\u014f\u0152\3\2\2\2\u0150\u014e\3\2\2\2\u0151\u0140\3\2\2\2\u0151"+ - "\u0147\3\2\2\2\u0152-\3\2\2\2\u0153\u0154\5\"\22\2\u0154\u0155\7\60\2"+ - "\2\u0155/\3\2\2\2\u0156\u0157\7-\2\2\u0157\u015c\5.\30\2\u0158\u0159\7"+ - "\5\2\2\u0159\u015b\5.\30\2\u015a\u0158\3\2\2\2\u015b\u015e\3\2\2\2\u015c"+ - "\u015a\3\2\2\2\u015c\u015d\3\2\2\2\u015d\61\3\2\2\2\u015e\u015c\3\2\2"+ - "\2\u015f\u0160\7\'\2\2\u0160\u0161\7<\2\2\u0161\63\3\2\2\2\u0162\u0163"+ - "\7&\2\2\u0163\u0164\7<\2\2\u0164\65\3\2\2\2\u0165\u0166\5\6\4\2\u0166"+ - "\u0167\7\4\2\2\u0167\u0168\7>\2\2\u0168\u016a\5\f\7\2\u0169\u016b\5\16"+ - "\b\2\u016a\u0169\3\2\2\2\u016a\u016b\3\2\2\2\u016b\u0172\3\2\2\2\u016c"+ - "\u016d\7>\2\2\u016d\u016f\5\f\7\2\u016e\u0170\5\16\b\2\u016f\u016e\3\2"+ - "\2\2\u016f\u0170\3\2\2\2\u0170\u0172\3\2\2\2\u0171\u0165\3\2\2\2\u0171"+ - "\u016c\3\2\2\2\u0172\67\3\2\2\2\u0173\u0174\7\61\2\2\u0174\u0175\7\24"+ - "\2\2\u0175\u017a\5\66\34\2\u0176\u0177\7\5\2\2\u0177\u0179\5\66\34\2\u0178"+ - "\u0176\3\2\2\2\u0179\u017c\3\2\2\2\u017a\u0178\3\2\2\2\u017a\u017b\3\2"+ - "\2\2\u017b\u017d\3\2\2\2\u017c\u017a\3\2\2\2\u017d\u017e\7\25\2\2\u017e"+ - "9\3\2\2\2\u017f\u0184\7\27\2\2\u0180\u0183\n\4\2\2\u0181\u0183\5:\36\2"+ - "\u0182\u0180\3\2\2\2\u0182\u0181\3\2\2\2\u0183\u0186\3\2\2\2\u0184\u0182"+ - "\3\2\2\2\u0184\u0185\3\2\2\2\u0185\u0187\3\2\2\2\u0186\u0184\3\2\2\2\u0187"+ - "\u0188\7\30\2\2\u0188;\3\2\2\2\u0189\u018e\7>\2\2\u018a\u018b\7\4\2\2"+ - "\u018b\u018d\7>\2\2\u018c\u018a\3\2\2\2\u018d\u0190\3\2\2\2\u018e\u018c"+ - "\3\2\2\2\u018e\u018f\3\2\2\2\u018f\u0194\3\2\2\2\u0190\u018e\3\2\2\2\u0191"+ - "\u0192\7>\2\2\u0192\u0194\5:\36\2\u0193\u0189\3\2\2\2\u0193\u0191\3\2"+ - "\2\2\u0194=\3\2\2\2\u0195\u0196\7\62\2\2\u0196\u0197\7\24\2\2\u0197\u019c"+ - "\5<\37\2\u0198\u0199\7\5\2\2\u0199\u019b\5<\37\2\u019a\u0198\3\2\2\2\u019b"+ - "\u019e\3\2\2\2\u019c\u019a\3\2\2\2\u019c\u019d\3\2\2\2\u019d\u019f\3\2"+ - "\2\2\u019e\u019c\3\2\2\2\u019f\u01a0\7\25\2\2\u01a0?\3\2\2\2\u01a1\u01a6"+ - "\7>\2\2\u01a2\u01a3\7\5\2\2\u01a3\u01a5\7>\2\2\u01a4\u01a2\3\2\2\2\u01a5"+ - "\u01a8\3\2\2\2\u01a6\u01a4\3\2\2\2\u01a6\u01a7\3\2\2\2\u01a7A\3\2\2\2"+ - "\u01a8\u01a6\3\2\2\2\u01a9\u01aa\7.\2\2\u01aa\u01ab\5@!\2\u01abC\3\2\2"+ - "\2\u01ac\u01af\5\6\4\2\u01ad\u01ae\7\4\2\2\u01ae\u01b0\7>\2\2\u01af\u01ad"+ - "\3\2\2\2\u01b0\u01b1\3\2\2\2\u01b1\u01af\3\2\2\2\u01b1\u01b2\3\2\2\2\u01b2"+ - "E\3\2\2\2\u01b3\u01b4\7(\2\2\u01b4\u01bb\5D#\2\u01b5\u01b7\7\63\2\2\u01b6"+ - "\u01b8\5&\24\2\u01b7\u01b6\3\2\2\2\u01b8\u01b9\3\2\2\2\u01b9\u01b7\3\2"+ - "\2\2\u01b9\u01ba\3\2\2\2\u01ba\u01bc\3\2\2\2\u01bb\u01b5\3\2\2\2\u01bb"+ - "\u01bc\3\2\2\2\u01bcG\3\2\2\2\u01bd\u01c2\7\27\2\2\u01be\u01c1\n\4\2\2"+ - "\u01bf\u01c1\5H%\2\u01c0\u01be\3\2\2\2\u01c0\u01bf\3\2\2\2\u01c1\u01c4"+ - "\3\2\2\2\u01c2\u01c0\3\2\2\2\u01c2\u01c3\3\2\2\2\u01c3\u01c5\3\2\2\2\u01c4"+ - "\u01c2\3\2\2\2\u01c5\u01c6\7\30\2\2\u01c6I\3\2\2\2\u01c7\u01c8\7>\2\2"+ - "\u01c8\u01c9\5H%\2\u01c9K\3\2\2\2\u01ca\u01cb\7%\2\2\u01cb\u01d0\5J&\2"+ - "\u01cc\u01cd\7\5\2\2\u01cd\u01cf\5J&\2\u01ce\u01cc\3\2\2\2\u01cf\u01d2"+ - "\3\2\2\2\u01d0\u01ce\3\2\2\2\u01d0\u01d1\3\2\2\2\u01d1M\3\2\2\2\u01d2"+ - "\u01d0\3\2\2\2\u01d3\u01d4\7>\2\2\u01d4O\3\2\2\2\u01d5\u01d6\7@\2\2\u01d6"+ - "Q\3\2\2\2\u01d7\u01d8\7/\2\2\u01d8\u01d9\5P)\2\u01d9S\3\2\2\2\u01da\u01db"+ - "\t\5\2\2\u01db\u01dc\7#\2\2\u01dc\u01dd\5(\25\2\u01dd\u01df\7$\2\2\u01de"+ - "\u01e0\5&\24\2\u01df\u01de\3\2\2\2\u01e0\u01e1\3\2\2\2\u01e1\u01df\3\2"+ - "\2\2\u01e1\u01e2\3\2\2\2\u01e2U\3\2\2\2\u01e3\u01e4\7(\2\2\u01e4\u01eb"+ - "\5,\27\2\u01e5\u01e7\7\63\2\2\u01e6\u01e8\5&\24\2\u01e7\u01e6\3\2\2\2"+ - "\u01e8\u01e9\3\2\2\2\u01e9\u01e7\3\2\2\2\u01e9\u01ea\3\2\2\2\u01ea\u01ec"+ - "\3\2\2\2\u01eb\u01e5\3\2\2\2\u01eb\u01ec\3\2\2\2\u01ec\u01ee\3\2\2\2\u01ed"+ - "\u01ef\58\35\2\u01ee\u01ed\3\2\2\2\u01ee\u01ef\3\2\2\2\u01ef\u01f1\3\2"+ - "\2\2\u01f0\u01f2\5> \2\u01f1\u01f0\3\2\2\2\u01f1\u01f2\3\2\2\2\u01f2\u01f4"+ - "\3\2\2\2\u01f3\u01f5\5B\"\2\u01f4\u01f3\3\2\2\2\u01f4\u01f5\3\2\2\2\u01f5"+ - "\u01f7\3\2\2\2\u01f6\u01f8\5\60\31\2\u01f7\u01f6\3\2\2\2\u01f7\u01f8\3"+ - "\2\2\2\u01f8\u01fa\3\2\2\2\u01f9\u01fb\5\62\32\2\u01fa\u01f9\3\2\2\2\u01fa"+ - "\u01fb\3\2\2\2\u01fb\u01fd\3\2\2\2\u01fc\u01fe\5\64\33\2\u01fd\u01fc\3"+ - "\2\2\2\u01fd\u01fe\3\2\2\2\u01fe\u0200\3\2\2\2\u01ff\u0201\5L\'\2\u0200"+ - "\u01ff\3\2\2\2\u0200\u0201\3\2\2\2\u0201\u0203\3\2\2\2\u0202\u0204\5R"+ - "*\2\u0203\u0202\3\2\2\2\u0203\u0204\3\2\2\2\u0204W\3\2\2\2\u0205\u0206"+ - "\7*\2\2\u0206\u020d\5,\27\2\u0207\u0209\7\63\2\2\u0208\u020a\5&\24\2\u0209"+ - "\u0208\3\2\2\2\u020a\u020b\3\2\2\2\u020b\u0209\3\2\2\2\u020b\u020c\3\2"+ - "\2\2\u020c\u020e\3\2\2\2\u020d\u0207\3\2\2\2\u020d\u020e\3\2\2\2\u020e"+ - "\u0210\3\2\2\2\u020f\u0211\58\35\2\u0210\u020f\3\2\2\2\u0210\u0211\3\2"+ - "\2\2\u0211\u0213\3\2\2\2\u0212\u0214\5B\"\2\u0213\u0212\3\2\2\2\u0213"+ - "\u0214\3\2\2\2\u0214\u0216\3\2\2\2\u0215\u0217\5\60\31\2\u0216\u0215\3"+ - "\2\2\2\u0216\u0217\3\2\2\2\u0217\u0219\3\2\2\2\u0218\u021a\5\62\32\2\u0219"+ - "\u0218\3\2\2\2\u0219\u021a\3\2\2\2\u021a\u021c\3\2\2\2\u021b\u021d\5\64"+ - "\33\2\u021c\u021b\3\2\2\2\u021c\u021d\3\2\2\2\u021d\u021f\3\2\2\2\u021e"+ - "\u0220\5R*\2\u021f\u021e\3\2\2\2\u021f\u0220\3\2\2\2\u0220Y\3\2\2\2\u0221"+ - "\u0222\7>\2\2\u0222[\3\2\2\2\u0223\u0224\7\31\2\2\u0224\u0225\5Z.\2\u0225"+ - "]\3\2\2\2\u0226\u0227\7+\2\2\u0227\u0228\5(\25\2\u0228\u022f\5\\/\2\u0229"+ - "\u022b\7\63\2\2\u022a\u022c\5&\24\2\u022b\u022a\3\2\2\2\u022c\u022d\3"+ - "\2\2\2\u022d\u022b\3\2\2\2\u022d\u022e\3\2\2\2\u022e\u0230\3\2\2\2\u022f"+ - "\u0229\3\2\2\2\u022f\u0230\3\2\2\2\u0230\u0232\3\2\2\2\u0231\u0233\5\60"+ - "\31\2\u0232\u0231\3\2\2\2\u0232\u0233\3\2\2\2\u0233\u0235\3\2\2\2\u0234"+ - "\u0236\5\62\32\2\u0235\u0234\3\2\2\2\u0235\u0236\3\2\2\2\u0236\u0238\3"+ - "\2\2\2\u0237\u0239\5\64\33\2\u0238\u0237\3\2\2\2\u0238\u0239\3\2\2\2\u0239"+ - "\u023b\3\2\2\2\u023a\u023c\5R*\2\u023b\u023a\3\2\2\2\u023b\u023c\3\2\2"+ - "\2\u023c_\3\2\2\2\u023d\u023e\7,\2\2\u023e\u0241\5b\62\2\u023f\u0240\7"+ - "\64\2\2\u0240\u0242\5d\63\2\u0241\u023f\3\2\2\2\u0241\u0242\3\2\2\2\u0242"+ - "\u0244\3\2\2\2\u0243\u0245\58\35\2\u0244\u0243\3\2\2\2\u0244\u0245\3\2"+ - "\2\2\u0245\u0247\3\2\2\2\u0246\u0248\5\62\32\2\u0247\u0246\3\2\2\2\u0247"+ - "\u0248\3\2\2\2\u0248\u024a\3\2\2\2\u0249\u024b\5\64\33\2\u024a\u0249\3"+ - "\2\2\2\u024a\u024b\3\2\2\2\u024ba\3\2\2\2\u024c\u024d\7@\2\2\u024dc\3"+ - "\2\2\2\u024e\u0257\7>\2\2\u024f\u0252\7>\2\2\u0250\u0251\7\5\2\2\u0251"+ - "\u0253\7>\2\2\u0252\u0250\3\2\2\2\u0253\u0254\3\2\2\2\u0254\u0252\3\2"+ - "\2\2\u0254\u0255\3\2\2\2\u0255\u0257\3\2\2\2\u0256\u024e\3\2\2\2\u0256"+ - "\u024f\3\2\2\2\u0257e\3\2\2\2\u0258\u0259\t\6\2\2\u0259g\3\2\2\2Nmv\u0080"+ - "\u0082\u0089\u0097\u009c\u00a4\u00b1\u00bc\u00c1\u00c4\u00cf\u00d4\u00d6"+ - "\u00e2\u00ef\u0103\u0108\u0110\u011c\u0124\u0128\u013a\u013c\u0144\u014e"+ - "\u0151\u015c\u016a\u016f\u0171\u017a\u0182\u0184\u018e\u0193\u019c\u01a6"+ - "\u01b1\u01b9\u01bb\u01c0\u01c2\u01d0\u01e1\u01e9\u01eb\u01ee\u01f1\u01f4"+ - "\u01f7\u01fa\u01fd\u0200\u0203\u020b\u020d\u0210\u0213\u0216\u0219\u021c"+ - "\u021f\u022d\u022f\u0232\u0235\u0238\u023b\u0241\u0244\u0247\u024a\u0254"+ - "\u0256"; + "\u0004\u0001>\u0251\u0002\u0000\u0007\u0000\u0002\u0001\u0007\u0001\u0002"+ + "\u0002\u0007\u0002\u0002\u0003\u0007\u0003\u0002\u0004\u0007\u0004\u0002"+ + "\u0005\u0007\u0005\u0002\u0006\u0007\u0006\u0002\u0007\u0007\u0007\u0002"+ + "\b\u0007\b\u0002\t\u0007\t\u0002\n\u0007\n\u0002\u000b\u0007\u000b\u0002"+ + "\f\u0007\f\u0002\r\u0007\r\u0002\u000e\u0007\u000e\u0002\u000f\u0007\u000f"+ + "\u0002\u0010\u0007\u0010\u0002\u0011\u0007\u0011\u0002\u0012\u0007\u0012"+ + "\u0002\u0013\u0007\u0013\u0002\u0014\u0007\u0014\u0002\u0015\u0007\u0015"+ + "\u0002\u0016\u0007\u0016\u0002\u0017\u0007\u0017\u0002\u0018\u0007\u0018"+ + "\u0002\u0019\u0007\u0019\u0002\u001a\u0007\u001a\u0002\u001b\u0007\u001b"+ + "\u0002\u001c\u0007\u001c\u0002\u001d\u0007\u001d\u0002\u001e\u0007\u001e"+ + "\u0002\u001f\u0007\u001f\u0002 \u0007 \u0002!\u0007!\u0002\"\u0007\"\u0002"+ + "#\u0007#\u0002$\u0007$\u0002%\u0007%\u0002&\u0007&\u0002\'\u0007\'\u0002"+ + "(\u0007(\u0002)\u0007)\u0002*\u0007*\u0002+\u0007+\u0002,\u0007,\u0002"+ + "-\u0007-\u0002.\u0007.\u0002/\u0007/\u00020\u00070\u00021\u00071\u0002"+ + "2\u00072\u0001\u0000\u0001\u0000\u0001\u0000\u0005\u0000j\b\u0000\n\u0000"+ + "\f\u0000m\t\u0000\u0001\u0000\u0001\u0000\u0001\u0001\u0001\u0001\u0001"+ + "\u0001\u0001\u0001\u0003\u0001u\b\u0001\u0001\u0002\u0001\u0002\u0001"+ + "\u0003\u0001\u0003\u0001\u0003\u0001\u0003\u0004\u0003}\b\u0003\u000b"+ + "\u0003\f\u0003~\u0003\u0003\u0081\b\u0003\u0001\u0004\u0001\u0004\u0001"+ + "\u0004\u0004\u0004\u0086\b\u0004\u000b\u0004\f\u0004\u0087\u0001\u0005"+ + "\u0001\u0005\u0001\u0006\u0001\u0006\u0001\u0006\u0001\u0006\u0001\u0006"+ + "\u0001\u0006\u0001\u0006\u0001\u0006\u0005\u0006\u0094\b\u0006\n\u0006"+ + "\f\u0006\u0097\t\u0006\u0001\u0006\u0001\u0006\u0003\u0006\u009b\b\u0006"+ + "\u0001\u0007\u0001\u0007\u0001\u0007\u0001\u0007\u0005\u0007\u00a1\b\u0007"+ + "\n\u0007\f\u0007\u00a4\t\u0007\u0001\u0007\u0001\u0007\u0001\b\u0001\b"+ + "\u0001\t\u0001\t\u0001\t\u0001\t\u0001\t\u0001\t\u0003\t\u00b0\b\t\u0001"+ + "\t\u0001\t\u0001\t\u0001\t\u0001\t\u0001\t\u0001\t\u0005\t\u00b9\b\t\n"+ + "\t\f\t\u00bc\t\t\u0001\t\u0001\t\u0003\t\u00c0\b\t\u0001\t\u0003\t\u00c3"+ + "\b\t\u0001\t\u0001\t\u0001\t\u0001\t\u0001\t\u0001\t\u0001\t\u0005\t\u00cc"+ + "\b\t\n\t\f\t\u00cf\t\t\u0001\t\u0001\t\u0003\t\u00d3\b\t\u0003\t\u00d5"+ + "\b\t\u0001\n\u0001\n\u0001\u000b\u0001\u000b\u0001\u000b\u0001\u000b\u0001"+ + "\u000b\u0001\u000b\u0001\u000b\u0001\u000b\u0003\u000b\u00e1\b\u000b\u0001"+ + "\f\u0001\f\u0001\f\u0001\f\u0001\r\u0001\r\u0001\r\u0001\r\u0001\u000e"+ + "\u0001\u000e\u0001\u000e\u0003\u000e\u00ee\b\u000e\u0001\u000f\u0001\u000f"+ + "\u0001\u000f\u0001\u000f\u0001\u0010\u0001\u0010\u0001\u0010\u0001\u0010"+ + "\u0001\u0010\u0001\u0010\u0001\u0010\u0001\u0010\u0001\u0010\u0001\u0010"+ + "\u0001\u0010\u0001\u0010\u0005\u0010\u0100\b\u0010\n\u0010\f\u0010\u0103"+ + "\t\u0010\u0001\u0010\u0001\u0010\u0003\u0010\u0107\b\u0010\u0001\u0010"+ + "\u0001\u0010\u0001\u0010\u0001\u0010\u0005\u0010\u010d\b\u0010\n\u0010"+ + "\f\u0010\u0110\t\u0010\u0001\u0011\u0001\u0011\u0001\u0012\u0001\u0012"+ + "\u0001\u0012\u0001\u0012\u0001\u0012\u0001\u0012\u0001\u0012\u0003\u0012"+ + "\u011b\b\u0012\u0001\u0012\u0001\u0012\u0001\u0012\u0001\u0012\u0004\u0012"+ + "\u0121\b\u0012\u000b\u0012\f\u0012\u0122\u0005\u0012\u0125\b\u0012\n\u0012"+ + "\f\u0012\u0128\t\u0012\u0001\u0013\u0001\u0013\u0001\u0013\u0001\u0013"+ + "\u0001\u0013\u0001\u0013\u0001\u0013\u0001\u0013\u0001\u0013\u0003\u0013"+ + "\u0133\b\u0013\u0001\u0014\u0001\u0014\u0001\u0015\u0001\u0015\u0005\u0015"+ + "\u0139\b\u0015\n\u0015\f\u0015\u013c\t\u0015\u0001\u0015\u0001\u0015\u0001"+ + "\u0015\u0001\u0015\u0001\u0015\u0005\u0015\u0143\b\u0015\n\u0015\f\u0015"+ + "\u0146\t\u0015\u0003\u0015\u0148\b\u0015\u0001\u0016\u0001\u0016\u0001"+ + "\u0016\u0001\u0017\u0001\u0017\u0001\u0017\u0001\u0017\u0005\u0017\u0151"+ + "\b\u0017\n\u0017\f\u0017\u0154\t\u0017\u0001\u0018\u0001\u0018\u0001\u0018"+ + "\u0001\u0019\u0001\u0019\u0001\u0019\u0001\u001a\u0001\u001a\u0001\u001a"+ + "\u0001\u001a\u0001\u001a\u0003\u001a\u0161\b\u001a\u0001\u001a\u0001\u001a"+ + "\u0001\u001a\u0003\u001a\u0166\b\u001a\u0003\u001a\u0168\b\u001a\u0001"+ + "\u001b\u0001\u001b\u0001\u001b\u0001\u001b\u0001\u001b\u0005\u001b\u016f"+ + "\b\u001b\n\u001b\f\u001b\u0172\t\u001b\u0001\u001b\u0001\u001b\u0001\u001c"+ + "\u0001\u001c\u0001\u001c\u0005\u001c\u0179\b\u001c\n\u001c\f\u001c\u017c"+ + "\t\u001c\u0001\u001c\u0001\u001c\u0001\u001d\u0001\u001d\u0001\u001d\u0005"+ + "\u001d\u0183\b\u001d\n\u001d\f\u001d\u0186\t\u001d\u0001\u001d\u0001\u001d"+ + "\u0003\u001d\u018a\b\u001d\u0001\u001e\u0001\u001e\u0001\u001e\u0001\u001e"+ + "\u0001\u001e\u0005\u001e\u0191\b\u001e\n\u001e\f\u001e\u0194\t\u001e\u0001"+ + "\u001e\u0001\u001e\u0001\u001f\u0001\u001f\u0001\u001f\u0005\u001f\u019b"+ + "\b\u001f\n\u001f\f\u001f\u019e\t\u001f\u0001 \u0001 \u0001 \u0001!\u0001"+ + "!\u0001!\u0004!\u01a6\b!\u000b!\f!\u01a7\u0001\"\u0001\"\u0001\"\u0001"+ + "\"\u0004\"\u01ae\b\"\u000b\"\f\"\u01af\u0003\"\u01b2\b\"\u0001#\u0001"+ + "#\u0001#\u0005#\u01b7\b#\n#\f#\u01ba\t#\u0001#\u0001#\u0001$\u0001$\u0001"+ + "$\u0001%\u0001%\u0001%\u0001%\u0005%\u01c5\b%\n%\f%\u01c8\t%\u0001&\u0001"+ + "&\u0001\'\u0001\'\u0001(\u0001(\u0001(\u0001)\u0001)\u0001)\u0001)\u0001"+ + ")\u0004)\u01d6\b)\u000b)\f)\u01d7\u0001*\u0001*\u0001*\u0001*\u0004*\u01de"+ + "\b*\u000b*\f*\u01df\u0003*\u01e2\b*\u0001*\u0003*\u01e5\b*\u0001*\u0003"+ + "*\u01e8\b*\u0001*\u0003*\u01eb\b*\u0001*\u0003*\u01ee\b*\u0001*\u0003"+ + "*\u01f1\b*\u0001*\u0003*\u01f4\b*\u0001*\u0003*\u01f7\b*\u0001*\u0003"+ + "*\u01fa\b*\u0001+\u0001+\u0001+\u0001+\u0004+\u0200\b+\u000b+\f+\u0201"+ + "\u0003+\u0204\b+\u0001+\u0003+\u0207\b+\u0001+\u0003+\u020a\b+\u0001+"+ + "\u0003+\u020d\b+\u0001+\u0003+\u0210\b+\u0001+\u0003+\u0213\b+\u0001+"+ + "\u0003+\u0216\b+\u0001,\u0001,\u0001-\u0001-\u0001-\u0001.\u0001.\u0001"+ + ".\u0001.\u0001.\u0004.\u0222\b.\u000b.\f.\u0223\u0003.\u0226\b.\u0001"+ + ".\u0003.\u0229\b.\u0001.\u0003.\u022c\b.\u0001.\u0003.\u022f\b.\u0001"+ + ".\u0003.\u0232\b.\u0001/\u0001/\u0001/\u0001/\u0003/\u0238\b/\u0001/\u0003"+ + "/\u023b\b/\u0001/\u0003/\u023e\b/\u0001/\u0003/\u0241\b/\u00010\u0001"+ + "0\u00011\u00011\u00011\u00011\u00041\u0249\b1\u000b1\f1\u024a\u00031\u024d"+ + "\b1\u00012\u00012\u00012\u0000\u0002 $3\u0000\u0002\u0004\u0006\b\n\f"+ + "\u000e\u0010\u0012\u0014\u0016\u0018\u001a\u001c\u001e \"$&(*,.02468:"+ + "<>@BDFHJLNPRTVXZ\\^`bd\u0000\u0005\u0001\u0000\u0004\u0011\u0001\u0000"+ + "34\u0001\u0000\u0016\u0016\u0001\u0000\u001e \u0001\u0000\u0018\u001d"+ + "\u0273\u0000f\u0001\u0000\u0000\u0000\u0002t\u0001\u0000\u0000\u0000\u0004"+ + "v\u0001\u0000\u0000\u0000\u0006\u0080\u0001\u0000\u0000\u0000\b\u0082"+ + "\u0001\u0000\u0000\u0000\n\u0089\u0001\u0000\u0000\u0000\f\u009a\u0001"+ + "\u0000\u0000\u0000\u000e\u009c\u0001\u0000\u0000\u0000\u0010\u00a7\u0001"+ + "\u0000\u0000\u0000\u0012\u00d4\u0001\u0000\u0000\u0000\u0014\u00d6\u0001"+ + "\u0000\u0000\u0000\u0016\u00e0\u0001\u0000\u0000\u0000\u0018\u00e2\u0001"+ + "\u0000\u0000\u0000\u001a\u00e6\u0001\u0000\u0000\u0000\u001c\u00ea\u0001"+ + "\u0000\u0000\u0000\u001e\u00ef\u0001\u0000\u0000\u0000 \u0106\u0001\u0000"+ + "\u0000\u0000\"\u0111\u0001\u0000\u0000\u0000$\u011a\u0001\u0000\u0000"+ + "\u0000&\u0132\u0001\u0000\u0000\u0000(\u0134\u0001\u0000\u0000\u0000*"+ + "\u0147\u0001\u0000\u0000\u0000,\u0149\u0001\u0000\u0000\u0000.\u014c\u0001"+ + "\u0000\u0000\u00000\u0155\u0001\u0000\u0000\u00002\u0158\u0001\u0000\u0000"+ + "\u00004\u0167\u0001\u0000\u0000\u00006\u0169\u0001\u0000\u0000\u00008"+ + "\u0175\u0001\u0000\u0000\u0000:\u0189\u0001\u0000\u0000\u0000<\u018b\u0001"+ + "\u0000\u0000\u0000>\u0197\u0001\u0000\u0000\u0000@\u019f\u0001\u0000\u0000"+ + "\u0000B\u01a2\u0001\u0000\u0000\u0000D\u01a9\u0001\u0000\u0000\u0000F"+ + "\u01b3\u0001\u0000\u0000\u0000H\u01bd\u0001\u0000\u0000\u0000J\u01c0\u0001"+ + "\u0000\u0000\u0000L\u01c9\u0001\u0000\u0000\u0000N\u01cb\u0001\u0000\u0000"+ + "\u0000P\u01cd\u0001\u0000\u0000\u0000R\u01d0\u0001\u0000\u0000\u0000T"+ + "\u01d9\u0001\u0000\u0000\u0000V\u01fb\u0001\u0000\u0000\u0000X\u0217\u0001"+ + "\u0000\u0000\u0000Z\u0219\u0001\u0000\u0000\u0000\\\u021c\u0001\u0000"+ + "\u0000\u0000^\u0233\u0001\u0000\u0000\u0000`\u0242\u0001\u0000\u0000\u0000"+ + "b\u024c\u0001\u0000\u0000\u0000d\u024e\u0001\u0000\u0000\u0000fk\u0003"+ + "\u0002\u0001\u0000gh\u0005\u0001\u0000\u0000hj\u0003\u0002\u0001\u0000"+ + "ig\u0001\u0000\u0000\u0000jm\u0001\u0000\u0000\u0000ki\u0001\u0000\u0000"+ + "\u0000kl\u0001\u0000\u0000\u0000ln\u0001\u0000\u0000\u0000mk\u0001\u0000"+ + "\u0000\u0000no\u0005\u0000\u0000\u0001o\u0001\u0001\u0000\u0000\u0000"+ + "pu\u0003T*\u0000qu\u0003V+\u0000ru\u0003\\.\u0000su\u0003^/\u0000tp\u0001"+ + "\u0000\u0000\u0000tq\u0001\u0000\u0000\u0000tr\u0001\u0000\u0000\u0000"+ + "ts\u0001\u0000\u0000\u0000u\u0003\u0001\u0000\u0000\u0000vw\u0005<\u0000"+ + "\u0000w\u0005\u0001\u0000\u0000\u0000x\u0081\u0005<\u0000\u0000y|\u0005"+ + "<\u0000\u0000z{\u0005\u0002\u0000\u0000{}\u0005<\u0000\u0000|z\u0001\u0000"+ + "\u0000\u0000}~\u0001\u0000\u0000\u0000~|\u0001\u0000\u0000\u0000~\u007f"+ + "\u0001\u0000\u0000\u0000\u007f\u0081\u0001\u0000\u0000\u0000\u0080x\u0001"+ + "\u0000\u0000\u0000\u0080y\u0001\u0000\u0000\u0000\u0081\u0007\u0001\u0000"+ + "\u0000\u0000\u0082\u0085\u0005<\u0000\u0000\u0083\u0084\u0005\u0003\u0000"+ + "\u0000\u0084\u0086\u0005<\u0000\u0000\u0085\u0083\u0001\u0000\u0000\u0000"+ + "\u0086\u0087\u0001\u0000\u0000\u0000\u0087\u0085\u0001\u0000\u0000\u0000"+ + "\u0087\u0088\u0001\u0000\u0000\u0000\u0088\t\u0001\u0000\u0000\u0000\u0089"+ + "\u008a\u0007\u0000\u0000\u0000\u008a\u000b\u0001\u0000\u0000\u0000\u008b"+ + "\u009b\u0005>\u0000\u0000\u008c\u009b\u0005:\u0000\u0000\u008d\u009b\u0005"+ + ";\u0000\u0000\u008e\u009b\u00059\u0000\u0000\u008f\u0090\u0005\u0012\u0000"+ + "\u0000\u0090\u0095\u0003\f\u0006\u0000\u0091\u0092\u0005\u0003\u0000\u0000"+ + "\u0092\u0094\u0003\f\u0006\u0000\u0093\u0091\u0001\u0000\u0000\u0000\u0094"+ + "\u0097\u0001\u0000\u0000\u0000\u0095\u0093\u0001\u0000\u0000\u0000\u0095"+ + "\u0096\u0001\u0000\u0000\u0000\u0096\u0098\u0001\u0000\u0000\u0000\u0097"+ + "\u0095\u0001\u0000\u0000\u0000\u0098\u0099\u0005\u0013\u0000\u0000\u0099"+ + "\u009b\u0001\u0000\u0000\u0000\u009a\u008b\u0001\u0000\u0000\u0000\u009a"+ + "\u008c\u0001\u0000\u0000\u0000\u009a\u008d\u0001\u0000\u0000\u0000\u009a"+ + "\u008e\u0001\u0000\u0000\u0000\u009a\u008f\u0001\u0000\u0000\u0000\u009b"+ + "\r\u0001\u0000\u0000\u0000\u009c\u009d\u0005\u0014\u0000\u0000\u009d\u00a2"+ + "\u0003\f\u0006\u0000\u009e\u009f\u0005\u0003\u0000\u0000\u009f\u00a1\u0003"+ + "\f\u0006\u0000\u00a0\u009e\u0001\u0000\u0000\u0000\u00a1\u00a4\u0001\u0000"+ + "\u0000\u0000\u00a2\u00a0\u0001\u0000\u0000\u0000\u00a2\u00a3\u0001\u0000"+ + "\u0000\u0000\u00a3\u00a5\u0001\u0000\u0000\u0000\u00a4\u00a2\u0001\u0000"+ + "\u0000\u0000\u00a5\u00a6\u0005\u0013\u0000\u0000\u00a6\u000f\u0001\u0000"+ + "\u0000\u0000\u00a7\u00a8\u0007\u0001\u0000\u0000\u00a8\u0011\u0001\u0000"+ + "\u0000\u0000\u00a9\u00d5\u0003\f\u0006\u0000\u00aa\u00ab\u0005\u0012\u0000"+ + "\u0000\u00ab\u00ac\u0003D\"\u0000\u00ac\u00ad\u0005\u0013\u0000\u0000"+ + "\u00ad\u00d5\u0001\u0000\u0000\u0000\u00ae\u00b0\u0005\u0012\u0000\u0000"+ + "\u00af\u00ae\u0001\u0000\u0000\u0000\u00af\u00b0\u0001\u0000\u0000\u0000"+ + "\u00b0\u00b1\u0001\u0000\u0000\u0000\u00b1\u00b2\u0003\u0014\n\u0000\u00b2"+ + "\u00b3\u0005\u0012\u0000\u0000\u00b3\u00b4\u0003\u0018\f\u0000\u00b4\u00b5"+ + "\u0005\u0003\u0000\u0000\u00b5\u00ba\u0003\u001a\r\u0000\u00b6\u00b7\u0005"+ + "\u0003\u0000\u0000\u00b7\u00b9\u0003\u0016\u000b\u0000\u00b8\u00b6\u0001"+ + "\u0000\u0000\u0000\u00b9\u00bc\u0001\u0000\u0000\u0000\u00ba\u00b8\u0001"+ + "\u0000\u0000\u0000\u00ba\u00bb\u0001\u0000\u0000\u0000\u00bb\u00bd\u0001"+ + "\u0000\u0000\u0000\u00bc\u00ba\u0001\u0000\u0000\u0000\u00bd\u00bf\u0005"+ + "\u0013\u0000\u0000\u00be\u00c0\u0005\u0013\u0000\u0000\u00bf\u00be\u0001"+ + "\u0000\u0000\u0000\u00bf\u00c0\u0001\u0000\u0000\u0000\u00c0\u00d5\u0001"+ + "\u0000\u0000\u0000\u00c1\u00c3\u0005\u0012\u0000\u0000\u00c2\u00c1\u0001"+ + "\u0000\u0000\u0000\u00c2\u00c3\u0001\u0000\u0000\u0000\u00c3\u00c4\u0001"+ + "\u0000\u0000\u0000\u00c4\u00c5\u0003\u0014\n\u0000\u00c5\u00c6\u0005\u0012"+ + "\u0000\u0000\u00c6\u00c7\u0003\u001a\r\u0000\u00c7\u00c8\u0005\u0003\u0000"+ + "\u0000\u00c8\u00cd\u0003\u0018\f\u0000\u00c9\u00ca\u0005\u0003\u0000\u0000"+ + "\u00ca\u00cc\u0003\u0016\u000b\u0000\u00cb\u00c9\u0001\u0000\u0000\u0000"+ + "\u00cc\u00cf\u0001\u0000\u0000\u0000\u00cd\u00cb\u0001\u0000\u0000\u0000"+ + "\u00cd\u00ce\u0001\u0000\u0000\u0000\u00ce\u00d0\u0001\u0000\u0000\u0000"+ + "\u00cf\u00cd\u0001\u0000\u0000\u0000\u00d0\u00d2\u0005\u0013\u0000\u0000"+ + "\u00d1\u00d3\u0005\u0013\u0000\u0000\u00d2\u00d1\u0001\u0000\u0000\u0000"+ + "\u00d2\u00d3\u0001\u0000\u0000\u0000\u00d3\u00d5\u0001\u0000\u0000\u0000"+ + "\u00d4\u00a9\u0001\u0000\u0000\u0000\u00d4\u00aa\u0001\u0000\u0000\u0000"+ + "\u00d4\u00af\u0001\u0000\u0000\u0000\u00d4\u00c2\u0001\u0000\u0000\u0000"+ + "\u00d5\u0013\u0001\u0000\u0000\u0000\u00d6\u00d7\u0005\'\u0000\u0000\u00d7"+ + "\u0015\u0001\u0000\u0000\u0000\u00d8\u00d9\u0003L&\u0000\u00d9\u00da\u0003"+ + "\"\u0011\u0000\u00da\u00db\u0003\f\u0006\u0000\u00db\u00e1\u0001\u0000"+ + "\u0000\u0000\u00dc\u00dd\u0003L&\u0000\u00dd\u00de\u0003\"\u0011\u0000"+ + "\u00de\u00df\u0003\u000e\u0007\u0000\u00df\u00e1\u0001\u0000\u0000\u0000"+ + "\u00e0\u00d8\u0001\u0000\u0000\u0000\u00e0\u00dc\u0001\u0000\u0000\u0000"+ + "\u00e1\u0017\u0001\u0000\u0000\u0000\u00e2\u00e3\u00057\u0000\u0000\u00e3"+ + "\u00e4\u0003\"\u0011\u0000\u00e4\u00e5\u0003N\'\u0000\u00e5\u0019\u0001"+ + "\u0000\u0000\u0000\u00e6\u00e7\u00058\u0000\u0000\u00e7\u00e8\u0003\""+ + "\u0011\u0000\u00e8\u00e9\u0003N\'\u0000\u00e9\u001b\u0001\u0000\u0000"+ + "\u0000\u00ea\u00eb\u0003\u0006\u0003\u0000\u00eb\u00ed\u0003\n\u0005\u0000"+ + "\u00ec\u00ee\u0003\u0012\t\u0000\u00ed\u00ec\u0001\u0000\u0000\u0000\u00ed"+ + "\u00ee\u0001\u0000\u0000\u0000\u00ee\u001d\u0001\u0000\u0000\u0000\u00ef"+ + "\u00f0\u0003&\u0013\u0000\u00f0\u00f1\u0003\n\u0005\u0000\u00f1\u00f2"+ + "\u0003&\u0013\u0000\u00f2\u001f\u0001\u0000\u0000\u0000\u00f3\u00f4\u0006"+ + "\u0010\uffff\uffff\u0000\u00f4\u0107\u0005<\u0000\u0000\u00f5\u0107\u0003"+ + "&\u0013\u0000\u00f6\u00f7\u0003(\u0014\u0000\u00f7\u00f8\u0005\u0012\u0000"+ + "\u0000\u00f8\u00f9\u0003&\u0013\u0000\u00f9\u00fa\u0005\u0013\u0000\u0000"+ + "\u00fa\u0107\u0001\u0000\u0000\u0000\u00fb\u00fc\u0005\u0012\u0000\u0000"+ + "\u00fc\u0101\u0003 \u0010\u0000\u00fd\u00fe\u0005\u0003\u0000\u0000\u00fe"+ + "\u0100\u0003 \u0010\u0000\u00ff\u00fd\u0001\u0000\u0000\u0000\u0100\u0103"+ + "\u0001\u0000\u0000\u0000\u0101\u00ff\u0001\u0000\u0000\u0000\u0101\u0102"+ + "\u0001\u0000\u0000\u0000\u0102\u0104\u0001\u0000\u0000\u0000\u0103\u0101"+ + "\u0001\u0000\u0000\u0000\u0104\u0105\u0005\u0013\u0000\u0000\u0105\u0107"+ + "\u0001\u0000\u0000\u0000\u0106\u00f3\u0001\u0000\u0000\u0000\u0106\u00f5"+ + "\u0001\u0000\u0000\u0000\u0106\u00f6\u0001\u0000\u0000\u0000\u0106\u00fb"+ + "\u0001\u0000\u0000\u0000\u0107\u010e\u0001\u0000\u0000\u0000\u0108\u0109"+ + "\n\u0001\u0000\u0000\u0109\u010a\u0003d2\u0000\u010a\u010b\u0003 \u0010"+ + "\u0002\u010b\u010d\u0001\u0000\u0000\u0000\u010c\u0108\u0001\u0000\u0000"+ + "\u0000\u010d\u0110\u0001\u0000\u0000\u0000\u010e\u010c\u0001\u0000\u0000"+ + "\u0000\u010e\u010f\u0001\u0000\u0000\u0000\u010f!\u0001\u0000\u0000\u0000"+ + "\u0110\u010e\u0001\u0000\u0000\u0000\u0111\u0112\u0005\u0004\u0000\u0000"+ + "\u0112#\u0001\u0000\u0000\u0000\u0113\u0114\u0006\u0012\uffff\uffff\u0000"+ + "\u0114\u0115\u0005\u0012\u0000\u0000\u0115\u0116\u0003$\u0012\u0000\u0116"+ + "\u0117\u0005\u0013\u0000\u0000\u0117\u011b\u0001\u0000\u0000\u0000\u0118"+ + "\u011b\u0003\u001c\u000e\u0000\u0119\u011b\u0003\u001e\u000f\u0000\u011a"+ + "\u0113\u0001\u0000\u0000\u0000\u011a\u0118\u0001\u0000\u0000\u0000\u011a"+ + "\u0119\u0001\u0000\u0000\u0000\u011b\u0126\u0001\u0000\u0000\u0000\u011c"+ + "\u0120\n\u0003\u0000\u0000\u011d\u011e\u0003\u0010\b\u0000\u011e\u011f"+ + "\u0003$\u0012\u0000\u011f\u0121\u0001\u0000\u0000\u0000\u0120\u011d\u0001"+ + "\u0000\u0000\u0000\u0121\u0122\u0001\u0000\u0000\u0000\u0122\u0120\u0001"+ + "\u0000\u0000\u0000\u0122\u0123\u0001\u0000\u0000\u0000\u0123\u0125\u0001"+ + "\u0000\u0000\u0000\u0124\u011c\u0001\u0000\u0000\u0000\u0125\u0128\u0001"+ + "\u0000\u0000\u0000\u0126\u0124\u0001\u0000\u0000\u0000\u0126\u0127\u0001"+ + "\u0000\u0000\u0000\u0127%\u0001\u0000\u0000\u0000\u0128\u0126\u0001\u0000"+ + "\u0000\u0000\u0129\u0133\u0003\u0004\u0002\u0000\u012a\u012b\u0003\u0004"+ + "\u0002\u0000\u012b\u012c\u0005\u0002\u0000\u0000\u012c\u012d\u0003\u0006"+ + "\u0003\u0000\u012d\u0133\u0001\u0000\u0000\u0000\u012e\u012f\u0003\u0004"+ + "\u0002\u0000\u012f\u0130\u0005\u0002\u0000\u0000\u0130\u0131\u0003\b\u0004"+ + "\u0000\u0131\u0133\u0001\u0000\u0000\u0000\u0132\u0129\u0001\u0000\u0000"+ + "\u0000\u0132\u012a\u0001\u0000\u0000\u0000\u0132\u012e\u0001\u0000\u0000"+ + "\u0000\u0133\'\u0001\u0000\u0000\u0000\u0134\u0135\u0005<\u0000\u0000"+ + "\u0135)\u0001\u0000\u0000\u0000\u0136\u013a\u0003&\u0013\u0000\u0137\u0139"+ + "\u0003R)\u0000\u0138\u0137\u0001\u0000\u0000\u0000\u0139\u013c\u0001\u0000"+ + "\u0000\u0000\u013a\u0138\u0001\u0000\u0000\u0000\u013a\u013b\u0001\u0000"+ + "\u0000\u0000\u013b\u0148\u0001\u0000\u0000\u0000\u013c\u013a\u0001\u0000"+ + "\u0000\u0000\u013d\u013e\u0003(\u0014\u0000\u013e\u013f\u0005\u0012\u0000"+ + "\u0000\u013f\u0140\u0003*\u0015\u0000\u0140\u0144\u0005\u0013\u0000\u0000"+ + "\u0141\u0143\u0003R)\u0000\u0142\u0141\u0001\u0000\u0000\u0000\u0143\u0146"+ + "\u0001\u0000\u0000\u0000\u0144\u0142\u0001\u0000\u0000\u0000\u0144\u0145"+ + "\u0001\u0000\u0000\u0000\u0145\u0148\u0001\u0000\u0000\u0000\u0146\u0144"+ + "\u0001\u0000\u0000\u0000\u0147\u0136\u0001\u0000\u0000\u0000\u0147\u013d"+ + "\u0001\u0000\u0000\u0000\u0148+\u0001\u0000\u0000\u0000\u0149\u014a\u0003"+ + " \u0010\u0000\u014a\u014b\u0005.\u0000\u0000\u014b-\u0001\u0000\u0000"+ + "\u0000\u014c\u014d\u0005+\u0000\u0000\u014d\u0152\u0003,\u0016\u0000\u014e"+ + "\u014f\u0005\u0003\u0000\u0000\u014f\u0151\u0003,\u0016\u0000\u0150\u014e"+ + "\u0001\u0000\u0000\u0000\u0151\u0154\u0001\u0000\u0000\u0000\u0152\u0150"+ + "\u0001\u0000\u0000\u0000\u0152\u0153\u0001\u0000\u0000\u0000\u0153/\u0001"+ + "\u0000\u0000\u0000\u0154\u0152\u0001\u0000\u0000\u0000\u0155\u0156\u0005"+ + "%\u0000\u0000\u0156\u0157\u0005:\u0000\u0000\u01571\u0001\u0000\u0000"+ + "\u0000\u0158\u0159\u0005$\u0000\u0000\u0159\u015a\u0005:\u0000\u0000\u015a"+ + "3\u0001\u0000\u0000\u0000\u015b\u015c\u0003\u0004\u0002\u0000\u015c\u015d"+ + "\u0005\u0002\u0000\u0000\u015d\u015e\u0005<\u0000\u0000\u015e\u0160\u0003"+ + "\n\u0005\u0000\u015f\u0161\u0003\f\u0006\u0000\u0160\u015f\u0001\u0000"+ + "\u0000\u0000\u0160\u0161\u0001\u0000\u0000\u0000\u0161\u0168\u0001\u0000"+ + "\u0000\u0000\u0162\u0163\u0005<\u0000\u0000\u0163\u0165\u0003\n\u0005"+ + "\u0000\u0164\u0166\u0003\f\u0006\u0000\u0165\u0164\u0001\u0000\u0000\u0000"+ + "\u0165\u0166\u0001\u0000\u0000\u0000\u0166\u0168\u0001\u0000\u0000\u0000"+ + "\u0167\u015b\u0001\u0000\u0000\u0000\u0167\u0162\u0001\u0000\u0000\u0000"+ + "\u01685\u0001\u0000\u0000\u0000\u0169\u016a\u0005/\u0000\u0000\u016a\u016b"+ + "\u0005\u0012\u0000\u0000\u016b\u0170\u00034\u001a\u0000\u016c\u016d\u0005"+ + "\u0003\u0000\u0000\u016d\u016f\u00034\u001a\u0000\u016e\u016c\u0001\u0000"+ + "\u0000\u0000\u016f\u0172\u0001\u0000\u0000\u0000\u0170\u016e\u0001\u0000"+ + "\u0000\u0000\u0170\u0171\u0001\u0000\u0000\u0000\u0171\u0173\u0001\u0000"+ + "\u0000\u0000\u0172\u0170\u0001\u0000\u0000\u0000\u0173\u0174\u0005\u0013"+ + "\u0000\u0000\u01747\u0001\u0000\u0000\u0000\u0175\u017a\u0005\u0015\u0000"+ + "\u0000\u0176\u0179\b\u0002\u0000\u0000\u0177\u0179\u00038\u001c\u0000"+ + "\u0178\u0176\u0001\u0000\u0000\u0000\u0178\u0177\u0001\u0000\u0000\u0000"+ + "\u0179\u017c\u0001\u0000\u0000\u0000\u017a\u0178\u0001\u0000\u0000\u0000"+ + "\u017a\u017b\u0001\u0000\u0000\u0000\u017b\u017d\u0001\u0000\u0000\u0000"+ + "\u017c\u017a\u0001\u0000\u0000\u0000\u017d\u017e\u0005\u0016\u0000\u0000"+ + "\u017e9\u0001\u0000\u0000\u0000\u017f\u0184\u0005<\u0000\u0000\u0180\u0181"+ + "\u0005\u0002\u0000\u0000\u0181\u0183\u0005<\u0000\u0000\u0182\u0180\u0001"+ + "\u0000\u0000\u0000\u0183\u0186\u0001\u0000\u0000\u0000\u0184\u0182\u0001"+ + "\u0000\u0000\u0000\u0184\u0185\u0001\u0000\u0000\u0000\u0185\u018a\u0001"+ + "\u0000\u0000\u0000\u0186\u0184\u0001\u0000\u0000\u0000\u0187\u0188\u0005"+ + "<\u0000\u0000\u0188\u018a\u00038\u001c\u0000\u0189\u017f\u0001\u0000\u0000"+ + "\u0000\u0189\u0187\u0001\u0000\u0000\u0000\u018a;\u0001\u0000\u0000\u0000"+ + "\u018b\u018c\u00050\u0000\u0000\u018c\u018d\u0005\u0012\u0000\u0000\u018d"+ + "\u0192\u0003:\u001d\u0000\u018e\u018f\u0005\u0003\u0000\u0000\u018f\u0191"+ + "\u0003:\u001d\u0000\u0190\u018e\u0001\u0000\u0000\u0000\u0191\u0194\u0001"+ + "\u0000\u0000\u0000\u0192\u0190\u0001\u0000\u0000\u0000\u0192\u0193\u0001"+ + "\u0000\u0000\u0000\u0193\u0195\u0001\u0000\u0000\u0000\u0194\u0192\u0001"+ + "\u0000\u0000\u0000\u0195\u0196\u0005\u0013\u0000\u0000\u0196=\u0001\u0000"+ + "\u0000\u0000\u0197\u019c\u0005<\u0000\u0000\u0198\u0199\u0005\u0003\u0000"+ + "\u0000\u0199\u019b\u0005<\u0000\u0000\u019a\u0198\u0001\u0000\u0000\u0000"+ + "\u019b\u019e\u0001\u0000\u0000\u0000\u019c\u019a\u0001\u0000\u0000\u0000"+ + "\u019c\u019d\u0001\u0000\u0000\u0000\u019d?\u0001\u0000\u0000\u0000\u019e"+ + "\u019c\u0001\u0000\u0000\u0000\u019f\u01a0\u0005,\u0000\u0000\u01a0\u01a1"+ + "\u0003>\u001f\u0000\u01a1A\u0001\u0000\u0000\u0000\u01a2\u01a5\u0003\u0004"+ + "\u0002\u0000\u01a3\u01a4\u0005\u0002\u0000\u0000\u01a4\u01a6\u0005<\u0000"+ + "\u0000\u01a5\u01a3\u0001\u0000\u0000\u0000\u01a6\u01a7\u0001\u0000\u0000"+ + "\u0000\u01a7\u01a5\u0001\u0000\u0000\u0000\u01a7\u01a8\u0001\u0000\u0000"+ + "\u0000\u01a8C\u0001\u0000\u0000\u0000\u01a9\u01aa\u0005&\u0000\u0000\u01aa"+ + "\u01b1\u0003B!\u0000\u01ab\u01ad\u00051\u0000\u0000\u01ac\u01ae\u0003"+ + "$\u0012\u0000\u01ad\u01ac\u0001\u0000\u0000\u0000\u01ae\u01af\u0001\u0000"+ + "\u0000\u0000\u01af\u01ad\u0001\u0000\u0000\u0000\u01af\u01b0\u0001\u0000"+ + "\u0000\u0000\u01b0\u01b2\u0001\u0000\u0000\u0000\u01b1\u01ab\u0001\u0000"+ + "\u0000\u0000\u01b1\u01b2\u0001\u0000\u0000\u0000\u01b2E\u0001\u0000\u0000"+ + "\u0000\u01b3\u01b8\u0005\u0015\u0000\u0000\u01b4\u01b7\b\u0002\u0000\u0000"+ + "\u01b5\u01b7\u0003F#\u0000\u01b6\u01b4\u0001\u0000\u0000\u0000\u01b6\u01b5"+ + "\u0001\u0000\u0000\u0000\u01b7\u01ba\u0001\u0000\u0000\u0000\u01b8\u01b6"+ + "\u0001\u0000\u0000\u0000\u01b8\u01b9\u0001\u0000\u0000\u0000\u01b9\u01bb"+ + "\u0001\u0000\u0000\u0000\u01ba\u01b8\u0001\u0000\u0000\u0000\u01bb\u01bc"+ + "\u0005\u0016\u0000\u0000\u01bcG\u0001\u0000\u0000\u0000\u01bd\u01be\u0005"+ + "<\u0000\u0000\u01be\u01bf\u0003F#\u0000\u01bfI\u0001\u0000\u0000\u0000"+ + "\u01c0\u01c1\u0005#\u0000\u0000\u01c1\u01c6\u0003H$\u0000\u01c2\u01c3"+ + "\u0005\u0003\u0000\u0000\u01c3\u01c5\u0003H$\u0000\u01c4\u01c2\u0001\u0000"+ + "\u0000\u0000\u01c5\u01c8\u0001\u0000\u0000\u0000\u01c6\u01c4\u0001\u0000"+ + "\u0000\u0000\u01c6\u01c7\u0001\u0000\u0000\u0000\u01c7K\u0001\u0000\u0000"+ + "\u0000\u01c8\u01c6\u0001\u0000\u0000\u0000\u01c9\u01ca\u0005<\u0000\u0000"+ + "\u01caM\u0001\u0000\u0000\u0000\u01cb\u01cc\u0005>\u0000\u0000\u01ccO"+ + "\u0001\u0000\u0000\u0000\u01cd\u01ce\u0005-\u0000\u0000\u01ce\u01cf\u0003"+ + "N\'\u0000\u01cfQ\u0001\u0000\u0000\u0000\u01d0\u01d1\u0007\u0003\u0000"+ + "\u0000\u01d1\u01d2\u0005!\u0000\u0000\u01d2\u01d3\u0003&\u0013\u0000\u01d3"+ + "\u01d5\u0005\"\u0000\u0000\u01d4\u01d6\u0003$\u0012\u0000\u01d5\u01d4"+ + "\u0001\u0000\u0000\u0000\u01d6\u01d7\u0001\u0000\u0000\u0000\u01d7\u01d5"+ + "\u0001\u0000\u0000\u0000\u01d7\u01d8\u0001\u0000\u0000\u0000\u01d8S\u0001"+ + "\u0000\u0000\u0000\u01d9\u01da\u0005&\u0000\u0000\u01da\u01e1\u0003*\u0015"+ + "\u0000\u01db\u01dd\u00051\u0000\u0000\u01dc\u01de\u0003$\u0012\u0000\u01dd"+ + "\u01dc\u0001\u0000\u0000\u0000\u01de\u01df\u0001\u0000\u0000\u0000\u01df"+ + "\u01dd\u0001\u0000\u0000\u0000\u01df\u01e0\u0001\u0000\u0000\u0000\u01e0"+ + "\u01e2\u0001\u0000\u0000\u0000\u01e1\u01db\u0001\u0000\u0000\u0000\u01e1"+ + "\u01e2\u0001\u0000\u0000\u0000\u01e2\u01e4\u0001\u0000\u0000\u0000\u01e3"+ + "\u01e5\u00036\u001b\u0000\u01e4\u01e3\u0001\u0000\u0000\u0000\u01e4\u01e5"+ + "\u0001\u0000\u0000\u0000\u01e5\u01e7\u0001\u0000\u0000\u0000\u01e6\u01e8"+ + "\u0003<\u001e\u0000\u01e7\u01e6\u0001\u0000\u0000\u0000\u01e7\u01e8\u0001"+ + "\u0000\u0000\u0000\u01e8\u01ea\u0001\u0000\u0000\u0000\u01e9\u01eb\u0003"+ + "@ \u0000\u01ea\u01e9\u0001\u0000\u0000\u0000\u01ea\u01eb\u0001\u0000\u0000"+ + "\u0000\u01eb\u01ed\u0001\u0000\u0000\u0000\u01ec\u01ee\u0003.\u0017\u0000"+ + "\u01ed\u01ec\u0001\u0000\u0000\u0000\u01ed\u01ee\u0001\u0000\u0000\u0000"+ + "\u01ee\u01f0\u0001\u0000\u0000\u0000\u01ef\u01f1\u00030\u0018\u0000\u01f0"+ + "\u01ef\u0001\u0000\u0000\u0000\u01f0\u01f1\u0001\u0000\u0000\u0000\u01f1"+ + "\u01f3\u0001\u0000\u0000\u0000\u01f2\u01f4\u00032\u0019\u0000\u01f3\u01f2"+ + "\u0001\u0000\u0000\u0000\u01f3\u01f4\u0001\u0000\u0000\u0000\u01f4\u01f6"+ + "\u0001\u0000\u0000\u0000\u01f5\u01f7\u0003J%\u0000\u01f6\u01f5\u0001\u0000"+ + "\u0000\u0000\u01f6\u01f7\u0001\u0000\u0000\u0000\u01f7\u01f9\u0001\u0000"+ + "\u0000\u0000\u01f8\u01fa\u0003P(\u0000\u01f9\u01f8\u0001\u0000\u0000\u0000"+ + "\u01f9\u01fa\u0001\u0000\u0000\u0000\u01faU\u0001\u0000\u0000\u0000\u01fb"+ + "\u01fc\u0005(\u0000\u0000\u01fc\u0203\u0003*\u0015\u0000\u01fd\u01ff\u0005"+ + "1\u0000\u0000\u01fe\u0200\u0003$\u0012\u0000\u01ff\u01fe\u0001\u0000\u0000"+ + "\u0000\u0200\u0201\u0001\u0000\u0000\u0000\u0201\u01ff\u0001\u0000\u0000"+ + "\u0000\u0201\u0202\u0001\u0000\u0000\u0000\u0202\u0204\u0001\u0000\u0000"+ + "\u0000\u0203\u01fd\u0001\u0000\u0000\u0000\u0203\u0204\u0001\u0000\u0000"+ + "\u0000\u0204\u0206\u0001\u0000\u0000\u0000\u0205\u0207\u00036\u001b\u0000"+ + "\u0206\u0205\u0001\u0000\u0000\u0000\u0206\u0207\u0001\u0000\u0000\u0000"+ + "\u0207\u0209\u0001\u0000\u0000\u0000\u0208\u020a\u0003@ \u0000\u0209\u0208"+ + "\u0001\u0000\u0000\u0000\u0209\u020a\u0001\u0000\u0000\u0000\u020a\u020c"+ + "\u0001\u0000\u0000\u0000\u020b\u020d\u0003.\u0017\u0000\u020c\u020b\u0001"+ + "\u0000\u0000\u0000\u020c\u020d\u0001\u0000\u0000\u0000\u020d\u020f\u0001"+ + "\u0000\u0000\u0000\u020e\u0210\u00030\u0018\u0000\u020f\u020e\u0001\u0000"+ + "\u0000\u0000\u020f\u0210\u0001\u0000\u0000\u0000\u0210\u0212\u0001\u0000"+ + "\u0000\u0000\u0211\u0213\u00032\u0019\u0000\u0212\u0211\u0001\u0000\u0000"+ + "\u0000\u0212\u0213\u0001\u0000\u0000\u0000\u0213\u0215\u0001\u0000\u0000"+ + "\u0000\u0214\u0216\u0003P(\u0000\u0215\u0214\u0001\u0000\u0000\u0000\u0215"+ + "\u0216\u0001\u0000\u0000\u0000\u0216W\u0001\u0000\u0000\u0000\u0217\u0218"+ + "\u0005<\u0000\u0000\u0218Y\u0001\u0000\u0000\u0000\u0219\u021a\u0005\u0017"+ + "\u0000\u0000\u021a\u021b\u0003X,\u0000\u021b[\u0001\u0000\u0000\u0000"+ + "\u021c\u021d\u0005)\u0000\u0000\u021d\u021e\u0003&\u0013\u0000\u021e\u0225"+ + "\u0003Z-\u0000\u021f\u0221\u00051\u0000\u0000\u0220\u0222\u0003$\u0012"+ + "\u0000\u0221\u0220\u0001\u0000\u0000\u0000\u0222\u0223\u0001\u0000\u0000"+ + "\u0000\u0223\u0221\u0001\u0000\u0000\u0000\u0223\u0224\u0001\u0000\u0000"+ + "\u0000\u0224\u0226\u0001\u0000\u0000\u0000\u0225\u021f\u0001\u0000\u0000"+ + "\u0000\u0225\u0226\u0001\u0000\u0000\u0000\u0226\u0228\u0001\u0000\u0000"+ + "\u0000\u0227\u0229\u0003.\u0017\u0000\u0228\u0227\u0001\u0000\u0000\u0000"+ + "\u0228\u0229\u0001\u0000\u0000\u0000\u0229\u022b\u0001\u0000\u0000\u0000"+ + "\u022a\u022c\u00030\u0018\u0000\u022b\u022a\u0001\u0000\u0000\u0000\u022b"+ + "\u022c\u0001\u0000\u0000\u0000\u022c\u022e\u0001\u0000\u0000\u0000\u022d"+ + "\u022f\u00032\u0019\u0000\u022e\u022d\u0001\u0000\u0000\u0000\u022e\u022f"+ + "\u0001\u0000\u0000\u0000\u022f\u0231\u0001\u0000\u0000\u0000\u0230\u0232"+ + "\u0003P(\u0000\u0231\u0230\u0001\u0000\u0000\u0000\u0231\u0232\u0001\u0000"+ + "\u0000\u0000\u0232]\u0001\u0000\u0000\u0000\u0233\u0234\u0005*\u0000\u0000"+ + "\u0234\u0237\u0003`0\u0000\u0235\u0236\u00052\u0000\u0000\u0236\u0238"+ + "\u0003b1\u0000\u0237\u0235\u0001\u0000\u0000\u0000\u0237\u0238\u0001\u0000"+ + "\u0000\u0000\u0238\u023a\u0001\u0000\u0000\u0000\u0239\u023b\u00036\u001b"+ + "\u0000\u023a\u0239\u0001\u0000\u0000\u0000\u023a\u023b\u0001\u0000\u0000"+ + "\u0000\u023b\u023d\u0001\u0000\u0000\u0000\u023c\u023e\u00030\u0018\u0000"+ + "\u023d\u023c\u0001\u0000\u0000\u0000\u023d\u023e\u0001\u0000\u0000\u0000"+ + "\u023e\u0240\u0001\u0000\u0000\u0000\u023f\u0241\u00032\u0019\u0000\u0240"+ + "\u023f\u0001\u0000\u0000\u0000\u0240\u0241\u0001\u0000\u0000\u0000\u0241"+ + "_\u0001\u0000\u0000\u0000\u0242\u0243\u0005>\u0000\u0000\u0243a\u0001"+ + "\u0000\u0000\u0000\u0244\u024d\u0005<\u0000\u0000\u0245\u0248\u0005<\u0000"+ + "\u0000\u0246\u0247\u0005\u0003\u0000\u0000\u0247\u0249\u0005<\u0000\u0000"+ + "\u0248\u0246\u0001\u0000\u0000\u0000\u0249\u024a\u0001\u0000\u0000\u0000"+ + "\u024a\u0248\u0001\u0000\u0000\u0000\u024a\u024b\u0001\u0000\u0000\u0000"+ + "\u024b\u024d\u0001\u0000\u0000\u0000\u024c\u0244\u0001\u0000\u0000\u0000"+ + "\u024c\u0245\u0001\u0000\u0000\u0000\u024dc\u0001\u0000\u0000\u0000\u024e"+ + "\u024f\u0007\u0004\u0000\u0000\u024fe\u0001\u0000\u0000\u0000Kkt~\u0080"+ + "\u0087\u0095\u009a\u00a2\u00af\u00ba\u00bf\u00c2\u00cd\u00d2\u00d4\u00e0"+ + "\u00ed\u0101\u0106\u010e\u011a\u0122\u0126\u0132\u013a\u0144\u0147\u0152"+ + "\u0160\u0165\u0167\u0170\u0178\u017a\u0184\u0189\u0192\u019c\u01a7\u01af"+ + "\u01b1\u01b6\u01b8\u01c6\u01d7\u01df\u01e1\u01e4\u01e7\u01ea\u01ed\u01f0"+ + "\u01f3\u01f6\u01f9\u0201\u0203\u0206\u0209\u020c\u020f\u0212\u0215\u0223"+ + "\u0225\u0228\u022b\u022e\u0231\u0237\u023a\u023d\u0240\u024a\u024c"; public static final ATN _ATN = new ATNDeserializer().deserialize(_serializedATN.toCharArray()); static { diff --git a/search/src/main/java/org/zstack/zql/antlr4/ZQLVisitor.java b/search/src/main/java/org/zstack/zql/antlr4/ZQLVisitor.java index b83eb7aff91..8437a2a0fba 100644 --- a/search/src/main/java/org/zstack/zql/antlr4/ZQLVisitor.java +++ b/search/src/main/java/org/zstack/zql/antlr4/ZQLVisitor.java @@ -1,4 +1,4 @@ -// Generated from ZQL.g4 by ANTLR 4.7 +// Generated from /home/test/modernize/search/src/main/antlr4/ZQL.g4 by ANTLR 4.13.0 package org.zstack.zql.antlr4; @@ -235,13 +235,6 @@ public interface ZQLVisitor extends ParseTreeVisitor { * @return the visitor result */ T visitWithMultiFields(ZQLParser.WithMultiFieldsContext ctx); - /** - * Visit a parse tree produced by the {@code withMultiTableFields} - * labeled alternative in {@link ZQLParser#queryTarget}. - * @param ctx the parse tree - * @return the visitor result - */ - T visitWithMultiTableFields(ZQLParser.WithMultiTableFieldsContext ctx); /** * Visit a parse tree produced by {@link ZQLParser#function}. * @param ctx the parse tree diff --git a/search/src/main/java/org/zstack/zql/ast/ZQLMetadata.java b/search/src/main/java/org/zstack/zql/ast/ZQLMetadata.java index 40141fd9a5b..b225fe003df 100755 --- a/search/src/main/java/org/zstack/zql/ast/ZQLMetadata.java +++ b/search/src/main/java/org/zstack/zql/ast/ZQLMetadata.java @@ -1,6 +1,6 @@ package org.zstack.zql.ast; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.zstack.core.db.EntityMetadata; import org.zstack.header.core.StaticInit; import org.zstack.header.exception.CloudRuntimeException; diff --git a/search/src/main/java/org/zstack/zql/ast/parser/visitors/NamedAsVisitor.java b/search/src/main/java/org/zstack/zql/ast/parser/visitors/NamedAsVisitor.java index 236d6d00d3e..8f5d3b11009 100755 --- a/search/src/main/java/org/zstack/zql/ast/parser/visitors/NamedAsVisitor.java +++ b/search/src/main/java/org/zstack/zql/ast/parser/visitors/NamedAsVisitor.java @@ -1,6 +1,6 @@ package org.zstack.zql.ast.parser.visitors; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.zstack.zql.antlr4.ZQLBaseVisitor; import org.zstack.zql.antlr4.ZQLParser; diff --git a/search/src/main/java/org/zstack/zql/ast/parser/visitors/ValueVisitor.java b/search/src/main/java/org/zstack/zql/ast/parser/visitors/ValueVisitor.java index 08cfae13e86..acb97385e45 100755 --- a/search/src/main/java/org/zstack/zql/ast/parser/visitors/ValueVisitor.java +++ b/search/src/main/java/org/zstack/zql/ast/parser/visitors/ValueVisitor.java @@ -1,7 +1,7 @@ package org.zstack.zql.ast.parser.visitors; import com.google.common.base.Throwables; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.zstack.core.Platform; import org.zstack.header.errorcode.OperationFailureException; import org.zstack.header.zql.ASTNode; diff --git a/search/src/main/java/org/zstack/zql/ast/visitors/GroupByVisitor.java b/search/src/main/java/org/zstack/zql/ast/visitors/GroupByVisitor.java index 90fb9c3dc15..b0e9b115678 100755 --- a/search/src/main/java/org/zstack/zql/ast/visitors/GroupByVisitor.java +++ b/search/src/main/java/org/zstack/zql/ast/visitors/GroupByVisitor.java @@ -1,6 +1,6 @@ package org.zstack.zql.ast.visitors; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.zstack.header.zql.ASTNode; import org.zstack.header.zql.ASTVisitor; diff --git a/search/src/main/java/org/zstack/zql/ast/visitors/JoinClauseVisitor.java b/search/src/main/java/org/zstack/zql/ast/visitors/JoinClauseVisitor.java index 8f49778c872..d92cc3f25f6 100644 --- a/search/src/main/java/org/zstack/zql/ast/visitors/JoinClauseVisitor.java +++ b/search/src/main/java/org/zstack/zql/ast/visitors/JoinClauseVisitor.java @@ -1,6 +1,6 @@ package org.zstack.zql.ast.visitors; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.zstack.core.Platform; import org.zstack.header.errorcode.OperationFailureException; import org.zstack.header.zql.ASTNode; diff --git a/search/src/main/java/org/zstack/zql/ast/visitors/JoinExprVisitor.java b/search/src/main/java/org/zstack/zql/ast/visitors/JoinExprVisitor.java index d1417691d88..4712d821bfe 100755 --- a/search/src/main/java/org/zstack/zql/ast/visitors/JoinExprVisitor.java +++ b/search/src/main/java/org/zstack/zql/ast/visitors/JoinExprVisitor.java @@ -1,6 +1,6 @@ package org.zstack.zql.ast.visitors; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.zstack.core.Platform; import org.zstack.header.errorcode.OperationFailureException; import org.zstack.header.zql.ASTNode; diff --git a/search/src/main/java/org/zstack/zql/ast/visitors/OrderByExprVisitor.java b/search/src/main/java/org/zstack/zql/ast/visitors/OrderByExprVisitor.java index 69f0025affd..3ce2c8da5aa 100644 --- a/search/src/main/java/org/zstack/zql/ast/visitors/OrderByExprVisitor.java +++ b/search/src/main/java/org/zstack/zql/ast/visitors/OrderByExprVisitor.java @@ -1,6 +1,6 @@ package org.zstack.zql.ast.visitors; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.zstack.core.Platform; import org.zstack.header.zql.ASTNode; import org.zstack.header.zql.ASTVisitor; diff --git a/search/src/main/java/org/zstack/zql/ast/visitors/QueryVisitor.java b/search/src/main/java/org/zstack/zql/ast/visitors/QueryVisitor.java index 7c8b7ef55fa..4496a882d92 100755 --- a/search/src/main/java/org/zstack/zql/ast/visitors/QueryVisitor.java +++ b/search/src/main/java/org/zstack/zql/ast/visitors/QueryVisitor.java @@ -1,6 +1,6 @@ package org.zstack.zql.ast.visitors; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.zstack.header.core.StaticInit; import org.zstack.header.exception.CloudRuntimeException; import org.zstack.header.zql.ASTNode; @@ -14,8 +14,8 @@ import org.zstack.zql.ast.visitors.result.QueryResult; import org.zstack.zql.ast.visitors.result.ReturnWithResult; -import javax.persistence.EntityManager; -import javax.persistence.Query; +import jakarta.persistence.EntityManager; +import jakarta.persistence.Query; import java.lang.reflect.Modifier; import java.util.*; import java.util.stream.Collectors; diff --git a/search/src/main/java/org/zstack/zql/ast/visitors/RestrictByVisitor.java b/search/src/main/java/org/zstack/zql/ast/visitors/RestrictByVisitor.java index cd68cd8cea6..7ca24bfa8f1 100755 --- a/search/src/main/java/org/zstack/zql/ast/visitors/RestrictByVisitor.java +++ b/search/src/main/java/org/zstack/zql/ast/visitors/RestrictByVisitor.java @@ -1,6 +1,6 @@ package org.zstack.zql.ast.visitors; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.zstack.header.zql.ASTNode; import org.zstack.header.zql.ASTVisitor; diff --git a/search/src/main/java/org/zstack/zql/ast/visitors/ReturnWithExprVisitor.java b/search/src/main/java/org/zstack/zql/ast/visitors/ReturnWithExprVisitor.java index ad0e15e68d0..e763c04c077 100755 --- a/search/src/main/java/org/zstack/zql/ast/visitors/ReturnWithExprVisitor.java +++ b/search/src/main/java/org/zstack/zql/ast/visitors/ReturnWithExprVisitor.java @@ -1,6 +1,6 @@ package org.zstack.zql.ast.visitors; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.zstack.header.exception.CloudRuntimeException; import org.zstack.header.zql.ASTNode; import org.zstack.header.zql.ASTVisitor; diff --git a/search/src/main/java/org/zstack/zql/ast/visitors/SearchVisitor.java b/search/src/main/java/org/zstack/zql/ast/visitors/SearchVisitor.java index dd8efe46802..944e7a740a4 100644 --- a/search/src/main/java/org/zstack/zql/ast/visitors/SearchVisitor.java +++ b/search/src/main/java/org/zstack/zql/ast/visitors/SearchVisitor.java @@ -1,42 +1,19 @@ package org.zstack.zql.ast.visitors; -import com.google.common.collect.Lists; -import com.google.common.collect.Maps; -import org.apache.lucene.search.Query; -import org.hibernate.search.jpa.FullTextEntityManager; -import org.hibernate.search.jpa.FullTextQuery; -import org.hibernate.search.query.dsl.EntityContext; -import org.hibernate.search.query.dsl.QueryBuilder; import org.springframework.beans.factory.annotation.Autowire; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Configurable; -import org.springframework.transaction.annotation.Transactional; -import org.zstack.core.db.DBGraph; -import org.zstack.header.core.StaticInit; import org.zstack.header.exception.CloudRuntimeException; -import org.zstack.header.search.SearchConstant; import org.zstack.header.zql.ASTNode; import org.zstack.header.zql.ASTVisitor; import org.zstack.search.SearchFacade; -import org.zstack.search.schema.IndexType; -import org.zstack.search.schema.Indexes; -import org.zstack.utils.DebugUtils; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; -import org.zstack.utils.path.PathUtil; -import org.zstack.zql.ast.ZQLMetadata; import org.zstack.zql.ast.visitors.result.SearchResult; -import javax.xml.bind.JAXBContext; -import javax.xml.bind.JAXBException; -import javax.xml.bind.Unmarshaller; -import java.io.File; -import java.util.*; -import java.util.stream.Collectors; - /** - * @ Author : yh.w - * @ Date : Created in 16:41 2020/10/27 + * Hibernate Search 5 removed — incompatible with Jakarta namespace. + * Full-text ZQL search is disabled until upgrade to Hibernate Search 7.x. */ @Configurable(preConstruction = true, autowire = Autowire.BY_TYPE) public class SearchVisitor implements ASTVisitor { @@ -45,107 +22,8 @@ public class SearchVisitor implements ASTVisitor { @Autowired SearchFacade sf; - private static Map indexFieldsMap = Maps.newConcurrentMap(); - private static Set indexedEntities; - private static final String DocumentId = "uuid"; - - SearchResult ret = new SearchResult(); - - @StaticInit - static void staticInit() { - try { - JAXBContext context = JAXBContext.newInstance("org.zstack.search.schema"); - File cfg = PathUtil.findFileOnClassPath(SearchConstant.INDEX_CONFIG_PATH, true); - Unmarshaller unmarshaller = context.createUnmarshaller(); - Indexes schema = (Indexes) unmarshaller.unmarshal(cfg); - for (IndexType index : schema.getIndex()) { - if (index.isBaseClass()) { - continue; - } - Class entityClass = Class.forName(index.getName()); - List props = index.getProp().stream().map(IndexType.Prop::getName).collect(Collectors.toList()); - props.add(DocumentId); - String[] fieldArray = props.toArray(new String[0]); - indexFieldsMap.put(entityClass, fieldArray); - } - - indexedEntities = indexFieldsMap.keySet(); - } catch (JAXBException e) { - throw new CloudRuntimeException(e); - } catch (ClassNotFoundException e) { - throw new CloudRuntimeException(String.format("build search mapping failed, %s", e)); - } - } - @Override - @Transactional(readOnly = true) public SearchResult visit(ASTNode.Search node) { - String keyword = node.getKeyword().getValue() - .replaceAll("^'|'$", "") - .replaceAll("''", "'"); - FullTextEntityManager manager = sf.getFullTextEntityManager(); - Set indexs; - if (node.getIndex() == null) { - indexs = indexedEntities; - } else { - indexs = node.getIndex() - .getIndexs() - .stream() - .map(v -> { - ZQLMetadata.InventoryMetadata inventory = ZQLMetadata.findInventoryMetadata(v); - Class entity = inventory.inventoryAnnotation.mappingVOClass(); - Optional opt = indexedEntities - .stream() - .filter(e -> e.getSimpleName().equalsIgnoreCase(entity.getSimpleName())) - .findAny(); - DebugUtils.Assert(opt.isPresent(), String.format("cannot find index with name[%s]", entity.getSimpleName())); - return entity; - }) - .collect(Collectors.toSet()); - } - - List searches = Lists.newArrayList(); - indexs.forEach(v -> { - SearchResult.Search search = new SearchResult.Search(); - - EntityContext context = manager.getSearchFactory() - .buildQueryBuilder() - .forEntity(v); - - for (String fieldName : indexFieldsMap.get(v)) { - context.overridesForField(fieldName, "Keyword_analyzer"); - } - - QueryBuilder queryBuilder = context.get(); - Query luceneQuery = queryBuilder - .keyword() - .onFields(indexFieldsMap.get(v)) - .matching(keyword) - .createQuery(); - - FullTextQuery fullTextQuery = manager.createFullTextQuery(luceneQuery, v); - fullTextQuery.setProjection("uuid"); - - search.setQuery(fullTextQuery); - search.setRestrictSql(node.getRestrictBy() == null ? null : getRestrictSql(node ,v)); - searches.add(search); - }); - - ret.searchs = searches; - return ret; - } - - private String getRestrictSql(ASTNode.Search node, Class v) { - if (node.getRestrictBy().getExprs().size() > 1) { - throw new ZQLError("zql search not support multiple restrict expressions"); - } - - ASTNode.RestrictExpr restrictExpr = node.getRestrictBy().getExprs().get(0); - - ZQLMetadata.InventoryMetadata dst = ZQLMetadata.findInventoryMetadata(restrictExpr.getEntity()); - Optional vertex = Optional.ofNullable(DBGraph.findVerticesWithSmallestWeight(v, dst.inventoryAnnotation.mappingVOClass())); - return vertex.map(entityVertex -> entityVertex.makeSQLForSearch(restrictExpr.getField(), restrictExpr.getOperator(), - String.valueOf(((ASTNode) restrictExpr.getValue()).accept(new ValueVisitor())))).orElse(null); - + throw new CloudRuntimeException("Full-text search is disabled (Hibernate Search pending upgrade to 7.x)"); } } diff --git a/search/src/main/java/org/zstack/zql/ast/visitors/SubQueryVisitor.java b/search/src/main/java/org/zstack/zql/ast/visitors/SubQueryVisitor.java index f26d2cdcfca..4b0f946ffc4 100755 --- a/search/src/main/java/org/zstack/zql/ast/visitors/SubQueryVisitor.java +++ b/search/src/main/java/org/zstack/zql/ast/visitors/SubQueryVisitor.java @@ -1,6 +1,6 @@ package org.zstack.zql.ast.visitors; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.zstack.header.zql.ASTNode; import org.zstack.header.zql.ASTVisitor; import org.zstack.zql.ZQLContext; diff --git a/search/src/main/java/org/zstack/zql/ast/visitors/ValueVisitor.java b/search/src/main/java/org/zstack/zql/ast/visitors/ValueVisitor.java index b81bfa0e5b8..f28ae28ef66 100755 --- a/search/src/main/java/org/zstack/zql/ast/visitors/ValueVisitor.java +++ b/search/src/main/java/org/zstack/zql/ast/visitors/ValueVisitor.java @@ -1,6 +1,6 @@ package org.zstack.zql.ast.visitors; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.zstack.header.exception.CloudRuntimeException; import org.zstack.header.zql.ASTNode; import org.zstack.header.zql.ASTVisitor; diff --git a/search/src/main/java/org/zstack/zql/ast/visitors/plugin/AbstractQueryVisitorPlugin.java b/search/src/main/java/org/zstack/zql/ast/visitors/plugin/AbstractQueryVisitorPlugin.java index 3445f1a32d5..a4d200da802 100755 --- a/search/src/main/java/org/zstack/zql/ast/visitors/plugin/AbstractQueryVisitorPlugin.java +++ b/search/src/main/java/org/zstack/zql/ast/visitors/plugin/AbstractQueryVisitorPlugin.java @@ -1,6 +1,6 @@ package org.zstack.zql.ast.visitors.plugin; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.zstack.header.zql.ASTNode; import org.zstack.zql.ast.ZQLMetadata; import org.zstack.zql.ast.visitors.*; diff --git a/search/src/main/java/org/zstack/zql/ast/visitors/plugin/CountPlugin.java b/search/src/main/java/org/zstack/zql/ast/visitors/plugin/CountPlugin.java index 9da6c032f8b..66defb8f33d 100755 --- a/search/src/main/java/org/zstack/zql/ast/visitors/plugin/CountPlugin.java +++ b/search/src/main/java/org/zstack/zql/ast/visitors/plugin/CountPlugin.java @@ -1,6 +1,6 @@ package org.zstack.zql.ast.visitors.plugin; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.zstack.header.zql.ASTNode; import org.zstack.zql.ast.ZQLMetadata; import org.zstack.zql.ast.visitors.GroupCountOrderByVisitor; diff --git a/search/src/main/java/org/zstack/zql/ast/visitors/plugin/QueryPlugin.java b/search/src/main/java/org/zstack/zql/ast/visitors/plugin/QueryPlugin.java index 911dc2896f1..d1728f11cf2 100755 --- a/search/src/main/java/org/zstack/zql/ast/visitors/plugin/QueryPlugin.java +++ b/search/src/main/java/org/zstack/zql/ast/visitors/plugin/QueryPlugin.java @@ -1,6 +1,6 @@ package org.zstack.zql.ast.visitors.plugin; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.zstack.header.zql.ASTNode; import java.util.ArrayList; diff --git a/search/src/main/java/org/zstack/zql/ast/visitors/plugin/SimpleCountPlugin.java b/search/src/main/java/org/zstack/zql/ast/visitors/plugin/SimpleCountPlugin.java index 6627311adb9..af465ecb3a0 100644 --- a/search/src/main/java/org/zstack/zql/ast/visitors/plugin/SimpleCountPlugin.java +++ b/search/src/main/java/org/zstack/zql/ast/visitors/plugin/SimpleCountPlugin.java @@ -1,6 +1,6 @@ package org.zstack.zql.ast.visitors.plugin; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.zstack.header.zql.ASTNode; import java.util.List; diff --git a/search/src/main/java/org/zstack/zql/ast/visitors/plugin/SumPlugin.java b/search/src/main/java/org/zstack/zql/ast/visitors/plugin/SumPlugin.java index 86e92884ca3..a8859ee6d5c 100755 --- a/search/src/main/java/org/zstack/zql/ast/visitors/plugin/SumPlugin.java +++ b/search/src/main/java/org/zstack/zql/ast/visitors/plugin/SumPlugin.java @@ -1,6 +1,6 @@ package org.zstack.zql.ast.visitors.plugin; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.zstack.header.errorcode.OperationFailureException; import org.zstack.header.zql.ASTNode; diff --git a/search/src/main/java/org/zstack/zql/ast/visitors/result/QueryResult.java b/search/src/main/java/org/zstack/zql/ast/visitors/result/QueryResult.java index 24d77cd2ddd..9349aacc83c 100755 --- a/search/src/main/java/org/zstack/zql/ast/visitors/result/QueryResult.java +++ b/search/src/main/java/org/zstack/zql/ast/visitors/result/QueryResult.java @@ -2,8 +2,8 @@ import org.zstack.zql.ast.ZQLMetadata; -import javax.persistence.EntityManager; -import javax.persistence.Query; +import jakarta.persistence.EntityManager; +import jakarta.persistence.Query; import java.util.List; import java.util.function.Function; diff --git a/search/src/main/java/org/zstack/zql/ast/visitors/result/SearchResult.java b/search/src/main/java/org/zstack/zql/ast/visitors/result/SearchResult.java index 4c446776777..0557cf78d46 100644 --- a/search/src/main/java/org/zstack/zql/ast/visitors/result/SearchResult.java +++ b/search/src/main/java/org/zstack/zql/ast/visitors/result/SearchResult.java @@ -1,26 +1,22 @@ package org.zstack.zql.ast.visitors.result; -import org.hibernate.search.jpa.FullTextQuery; -import org.zstack.core.db.DBGraph; - import java.util.List; -import java.util.Map; /** - * @ Author : yh.w - * @ Date : Created in 16:40 2020/10/27 + * Hibernate Search 5 removed — incompatible with Jakarta namespace. + * FullTextQuery references replaced with Object until upgrade to 7.x. */ public class SearchResult { public static class Search { - FullTextQuery query; + Object query; String restrictSql; - public FullTextQuery getQuery() { + public Object getQuery() { return query; } - public void setQuery(FullTextQuery query) { + public void setQuery(Object query) { this.query = query; } diff --git a/search/src/main/java/org/zstack/zql/sql/SQLConditionBuilder.java b/search/src/main/java/org/zstack/zql/sql/SQLConditionBuilder.java index 137a986f774..1b20aaa9d05 100755 --- a/search/src/main/java/org/zstack/zql/sql/SQLConditionBuilder.java +++ b/search/src/main/java/org/zstack/zql/sql/SQLConditionBuilder.java @@ -1,6 +1,6 @@ package org.zstack.zql.sql; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.zstack.core.db.EntityMetadata; import org.zstack.header.core.StaticInit; import org.zstack.header.exception.CloudRuntimeException; @@ -245,8 +245,23 @@ private String makeTemplate(Iterator iterator) { entityName, right.selfKeyName, value); } + private static boolean isNumericType(Class type) { + return Number.class.isAssignableFrom(type) + || type == int.class || type == long.class + || type == short.class || type == float.class + || type == double.class; + } + private String normalizeValue(String value) { - if (Boolean.class.isAssignableFrom(conditionField.getType()) || boolean.class.isAssignableFrom(conditionField.getType())) { + if (conditionField == null) { + return value; + } + + Class type = conditionField.getType(); + if (Boolean.class.isAssignableFrom(type) || boolean.class.isAssignableFrom(type)) { + return StringUtils.strip(value, "'"); + } else if (isNumericType(type)) { + // Hibernate 6 requires numeric literals without quotes return StringUtils.strip(value, "'"); } else { return value; diff --git a/simulator/pom.xml b/simulator/pom.xml index 4e2d713b293..1722e84cd0a 100755 --- a/simulator/pom.xml +++ b/simulator/pom.xml @@ -31,9 +31,9 @@ - javax.servlet - javax.servlet-api - 3.1.0 + jakarta.servlet + jakarta.servlet-api + provided @@ -45,29 +45,55 @@ maven-compiler-plugin ${project.compiler.version} - groovy-eclipse-compiler ${project.java.version} ${project.java.version} lines,vars,source true - - - org.codehaus.groovy - groovy-eclipse-compiler - ${groovy.eclipse.compiler} - - - org.codehaus.groovy - groovy-eclipse-batch - ${groovy.eclipse.batch} - -
- org.codehaus.mojo + org.codehaus.gmavenplus + gmavenplus-plugin + 3.0.2 + + + + ${project.basedir}/src/main/java + + **/*.groovy + + + + + + + groovy-stubs + generateStubsremoveStubs + + + groovy-compile + compile + + + + + org.apache.groovy + groovy + ${groovy.version} + + + + + dev.aspectj aspectj-maven-plugin ${aspectj.plugin.version} + + + org.aspectj + aspectjtools + ${aspectj.version} + + diff --git a/simulator/simulatorHeader/pom.xml b/simulator/simulatorHeader/pom.xml index 42ec3205da5..c9b3688c14f 100755 --- a/simulator/simulatorHeader/pom.xml +++ b/simulator/simulatorHeader/pom.xml @@ -1,72 +1,98 @@ - - 4.0.0 - - simulator - org.zstack + + 4.0.0 + + simulator + org.zstack 5.5.0 - .. - - simulatorHeader - - - - org.apache.maven.plugins - maven-compiler-plugin - ${project.compiler.version} - - groovy-eclipse-compiler - ${project.java.version} - ${project.java.version} - lines,vars,source - true - - - - org.codehaus.groovy - groovy-eclipse-compiler - ${groovy.eclipse.compiler} - - - org.codehaus.groovy - groovy-eclipse-batch - ${groovy.eclipse.batch} - - - - - org.codehaus.mojo - aspectj-maven-plugin - ${aspectj.plugin.version} - - - - compile - test-compile - - - - - ${project.java.version} - ${project.java.version} - ${project.java.version} - true - - - org.springframework - spring-aspects - - - org.zstack - core - - - org.zstack - header - - - - - - - + .. + + simulatorHeader + + + + org.apache.maven.plugins + maven-compiler-plugin + ${project.compiler.version} + + ${project.java.version} + ${project.java.version} + lines,vars,source + true + + + + org.codehaus.gmavenplus + gmavenplus-plugin + 3.0.2 + + + + ${project.basedir}/src/main/java + + **/*.groovy + + + + + + + groovy-stubs + generateStubsremoveStubs + + + groovy-compile + compile + + + + + org.apache.groovy + groovy + ${groovy.version} + + + + + dev.aspectj + aspectj-maven-plugin + ${aspectj.plugin.version} + + + org.aspectj + aspectjtools + ${aspectj.version} + + + + + + compile + test-compile + + + + + ${project.java.version} + ${project.java.version} + ${project.java.version} + true + + + org.springframework + spring-aspects + + + org.zstack + core + + + org.zstack + header + + + + + + + diff --git a/simulator/simulatorHeader/src/main/java/org/zstack/header/simulator/APIAddSimulatorHostMsg.java b/simulator/simulatorHeader/src/main/java/org/zstack/header/simulator/APIAddSimulatorHostMsg.java index 9b90fcb0ed2..99b944f8008 100755 --- a/simulator/simulatorHeader/src/main/java/org/zstack/header/simulator/APIAddSimulatorHostMsg.java +++ b/simulator/simulatorHeader/src/main/java/org/zstack/header/simulator/APIAddSimulatorHostMsg.java @@ -8,7 +8,7 @@ @RestRequest( path = "/hosts/simulators", - method = HttpMethod.POST, + method = "POST", parameterName = "params", responseClass = APIAddHostEvent.class ) diff --git a/simulator/simulatorHeader/src/main/java/org/zstack/header/simulator/SimulatorHostVO.java b/simulator/simulatorHeader/src/main/java/org/zstack/header/simulator/SimulatorHostVO.java index 6cb5ece0968..5d209d4a259 100755 --- a/simulator/simulatorHeader/src/main/java/org/zstack/header/simulator/SimulatorHostVO.java +++ b/simulator/simulatorHeader/src/main/java/org/zstack/header/simulator/SimulatorHostVO.java @@ -4,10 +4,10 @@ import org.zstack.header.host.HostVO; import org.zstack.header.vo.EO; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.PrimaryKeyJoinColumn; -import javax.persistence.Table; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.PrimaryKeyJoinColumn; +import jakarta.persistence.Table; @Entity @Table diff --git a/simulator/simulatorHeader/src/main/java/org/zstack/header/simulator/SimulatorHostVO_.java b/simulator/simulatorHeader/src/main/java/org/zstack/header/simulator/SimulatorHostVO_.java index e2f0beab775..a897ed95963 100755 --- a/simulator/simulatorHeader/src/main/java/org/zstack/header/simulator/SimulatorHostVO_.java +++ b/simulator/simulatorHeader/src/main/java/org/zstack/header/simulator/SimulatorHostVO_.java @@ -2,7 +2,7 @@ import org.zstack.header.host.HostVO_; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.StaticMetamodel; /** */ diff --git a/simulator/simulatorHeader/src/main/java/org/zstack/header/simulator/storage/backup/APIAddSimulatorBackupStorageMsg.java b/simulator/simulatorHeader/src/main/java/org/zstack/header/simulator/storage/backup/APIAddSimulatorBackupStorageMsg.java index 57f741be93d..c6d0003b9aa 100755 --- a/simulator/simulatorHeader/src/main/java/org/zstack/header/simulator/storage/backup/APIAddSimulatorBackupStorageMsg.java +++ b/simulator/simulatorHeader/src/main/java/org/zstack/header/simulator/storage/backup/APIAddSimulatorBackupStorageMsg.java @@ -8,7 +8,7 @@ @RestRequest( path = "/backup-storage/simulators", - method = HttpMethod.POST, + method = "POST", parameterName = "params", responseClass = APIAddBackupStorageEvent.class ) diff --git a/simulator/simulatorHeader/src/main/java/org/zstack/header/simulator/storage/primary/APIAddSimulatorPrimaryStorageMsg.java b/simulator/simulatorHeader/src/main/java/org/zstack/header/simulator/storage/primary/APIAddSimulatorPrimaryStorageMsg.java index ab5739c5ed3..9f1c7d7256d 100755 --- a/simulator/simulatorHeader/src/main/java/org/zstack/header/simulator/storage/primary/APIAddSimulatorPrimaryStorageMsg.java +++ b/simulator/simulatorHeader/src/main/java/org/zstack/header/simulator/storage/primary/APIAddSimulatorPrimaryStorageMsg.java @@ -7,7 +7,7 @@ @RestRequest( path = "/primary-storage/simulators", - method = HttpMethod.POST, + method = "POST", responseClass = APIAddPrimaryStorageEvent.class, parameterName = "params" ) diff --git a/simulator/simulatorImpl/pom.xml b/simulator/simulatorImpl/pom.xml index dee2cfb4b07..9230951f0a3 100755 --- a/simulator/simulatorImpl/pom.xml +++ b/simulator/simulatorImpl/pom.xml @@ -1,119 +1,145 @@ - - 4.0.0 - - simulator - org.zstack + + 4.0.0 + + simulator + org.zstack 5.5.0 - .. - - simulatorImpl - - - org.zstack - simulatorHeader - ${project.version} - - - org.zstack - compute - ${project.version} - - - org.zstack - applianceVm - ${project.version} - - - org.zstack - storage - ${project.version} - - - org.zstack - securityGroup - ${project.version} - - - org.zstack - kvm - ${project.version} - - - org.zstack - nfsPrimaryStorage - ${project.version} - - - org.zstack - sftpBackupStorage - ${project.version} - - - org.zstack - virtualRouterProvider - ${project.version} - - - - - - org.apache.maven.plugins - maven-compiler-plugin - ${project.compiler.version} - - groovy-eclipse-compiler - ${project.java.version} - ${project.java.version} - lines,vars,source - true - - - - org.codehaus.groovy - groovy-eclipse-compiler - ${groovy.eclipse.compiler} - - - org.codehaus.groovy - groovy-eclipse-batch - ${groovy.eclipse.batch} - - - - - org.codehaus.mojo - aspectj-maven-plugin - ${aspectj.plugin.version} - - - - compile - test-compile - - - - - ${project.java.version} - ${project.java.version} - ${project.java.version} - true - - - org.springframework - spring-aspects - - - org.zstack - core - - - org.zstack - header - - - - - - - + .. + + simulatorImpl + + + org.zstack + simulatorHeader + ${project.version} + + + org.zstack + compute + ${project.version} + + + org.zstack + applianceVm + ${project.version} + + + org.zstack + storage + ${project.version} + + + org.zstack + securityGroup + ${project.version} + + + org.zstack + kvm + ${project.version} + + + org.zstack + nfsPrimaryStorage + ${project.version} + + + org.zstack + sftpBackupStorage + ${project.version} + + + org.zstack + virtualRouterProvider + ${project.version} + + + + + + org.apache.maven.plugins + maven-compiler-plugin + ${project.compiler.version} + + ${project.java.version} + ${project.java.version} + lines,vars,source + true + + + + org.codehaus.gmavenplus + gmavenplus-plugin + 3.0.2 + + + + ${project.basedir}/src/main/java + + **/*.groovy + + + + + + + groovy-stubs + generateStubsremoveStubs + + + groovy-compile + compile + + + + + org.apache.groovy + groovy + ${groovy.version} + + + + + dev.aspectj + aspectj-maven-plugin + ${aspectj.plugin.version} + + + org.aspectj + aspectjtools + ${aspectj.version} + + + + + + compile + test-compile + + + + + ${project.java.version} + ${project.java.version} + ${project.java.version} + true + + + org.springframework + spring-aspects + + + org.zstack + core + + + org.zstack + header + + + + + + + diff --git a/simulator/simulatorImpl/src/main/java/org/zstack/simulator/appliancevm/ApplianceVmSimulator.java b/simulator/simulatorImpl/src/main/java/org/zstack/simulator/appliancevm/ApplianceVmSimulator.java index 81c3497934a..45a7a694d14 100755 --- a/simulator/simulatorImpl/src/main/java/org/zstack/simulator/appliancevm/ApplianceVmSimulator.java +++ b/simulator/simulatorImpl/src/main/java/org/zstack/simulator/appliancevm/ApplianceVmSimulator.java @@ -20,7 +20,7 @@ import org.zstack.utils.gson.JSONObjectUtil; import org.zstack.utils.logging.CLogger; -import javax.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletRequest; /** */ diff --git a/simulator/simulatorImpl/src/main/java/org/zstack/simulator/consoleproxy/ConsoleProxySimulator.java b/simulator/simulatorImpl/src/main/java/org/zstack/simulator/consoleproxy/ConsoleProxySimulator.java index ba61a7e6ec5..8c1b0675af8 100755 --- a/simulator/simulatorImpl/src/main/java/org/zstack/simulator/consoleproxy/ConsoleProxySimulator.java +++ b/simulator/simulatorImpl/src/main/java/org/zstack/simulator/consoleproxy/ConsoleProxySimulator.java @@ -18,7 +18,7 @@ import org.zstack.utils.gson.JSONObjectUtil; import org.zstack.utils.logging.CLogger; -import javax.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletRequest; public class ConsoleProxySimulator { CLogger logger = Utils.getLogger(ConsoleProxySimulator.class); diff --git a/simulator/simulatorImpl/src/main/java/org/zstack/simulator/kvm/KVMSimulatorController.java b/simulator/simulatorImpl/src/main/java/org/zstack/simulator/kvm/KVMSimulatorController.java index 802fffbd702..d5247344c01 100755 --- a/simulator/simulatorImpl/src/main/java/org/zstack/simulator/kvm/KVMSimulatorController.java +++ b/simulator/simulatorImpl/src/main/java/org/zstack/simulator/kvm/KVMSimulatorController.java @@ -21,7 +21,7 @@ import org.zstack.utils.gson.JSONObjectUtil; import org.zstack.utils.logging.CLogger; -import javax.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletRequest; import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; diff --git a/simulator/simulatorImpl/src/main/java/org/zstack/simulator/storage/backup/sftp/SftpBackupStorageSimulator.java b/simulator/simulatorImpl/src/main/java/org/zstack/simulator/storage/backup/sftp/SftpBackupStorageSimulator.java index 60bc1530a73..f4311a0272b 100755 --- a/simulator/simulatorImpl/src/main/java/org/zstack/simulator/storage/backup/sftp/SftpBackupStorageSimulator.java +++ b/simulator/simulatorImpl/src/main/java/org/zstack/simulator/storage/backup/sftp/SftpBackupStorageSimulator.java @@ -21,7 +21,7 @@ import org.zstack.utils.gson.JSONObjectUtil; import org.zstack.utils.logging.CLogger; -import javax.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletRequest; import java.awt.*; import java.util.concurrent.TimeUnit; diff --git a/simulator/simulatorImpl/src/main/java/org/zstack/simulator/storage/primary/nfs/NfsPrimaryStorageSimulator.java b/simulator/simulatorImpl/src/main/java/org/zstack/simulator/storage/primary/nfs/NfsPrimaryStorageSimulator.java index 58554d55eb4..e99274033c0 100755 --- a/simulator/simulatorImpl/src/main/java/org/zstack/simulator/storage/primary/nfs/NfsPrimaryStorageSimulator.java +++ b/simulator/simulatorImpl/src/main/java/org/zstack/simulator/storage/primary/nfs/NfsPrimaryStorageSimulator.java @@ -19,7 +19,7 @@ import org.zstack.utils.gson.JSONObjectUtil; import org.zstack.utils.logging.CLogger; -import javax.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletRequest; import java.util.HashMap; import java.util.Map; diff --git a/simulator/simulatorImpl/src/main/java/org/zstack/simulator/virtualrouter/VirtualRouterSimulator.java b/simulator/simulatorImpl/src/main/java/org/zstack/simulator/virtualrouter/VirtualRouterSimulator.java index b7acaeaf7ed..eff0e9991ff 100755 --- a/simulator/simulatorImpl/src/main/java/org/zstack/simulator/virtualrouter/VirtualRouterSimulator.java +++ b/simulator/simulatorImpl/src/main/java/org/zstack/simulator/virtualrouter/VirtualRouterSimulator.java @@ -30,7 +30,7 @@ import org.zstack.utils.gson.JSONObjectUtil; import org.zstack.utils.logging.CLogger; -import javax.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletRequest; public class VirtualRouterSimulator { CLogger logger = Utils.getLogger(VirtualRouterSimulator.class); diff --git a/storage/pom.xml b/storage/pom.xml index 9aaddc0626c..ddb9b0d1201 100755 --- a/storage/pom.xml +++ b/storage/pom.xml @@ -1,120 +1,146 @@ - - 4.0.0 - - zstack - org.zstack + + 4.0.0 + + zstack + org.zstack 5.5.0 - .. - - storage - - - - org.zstack - core - ${project.version} - - - org.zstack - utils - ${project.version} - - - org.zstack - search - ${project.version} - - - org.zstack - identity - ${project.version} - - - org.zstack - header - ${project.version} - - - org.zstack - tag - ${project.version} - - - org.zstack - resourceconfig - ${project.version} - - - org.zstack - configuration - ${project.version} - - - org.zstack - longjob - ${project.version} - - - - - - - org.apache.maven.plugins - maven-compiler-plugin - ${project.compiler.version} - - groovy-eclipse-compiler - ${project.java.version} - ${project.java.version} - lines,vars,source - true - - - - org.codehaus.groovy - groovy-eclipse-compiler - ${groovy.eclipse.compiler} - - - org.codehaus.groovy - groovy-eclipse-batch - ${groovy.eclipse.batch} - - - - - org.codehaus.mojo - aspectj-maven-plugin - ${aspectj.plugin.version} - - - - compile - test-compile - - - - - ${project.java.version} - ${project.java.version} - ${project.java.version} - true - - - org.springframework - spring-aspects - - - org.zstack - core - - - org.zstack - header - - - - - - - + .. + + storage + + + + org.zstack + core + ${project.version} + + + org.zstack + utils + ${project.version} + + + org.zstack + search + ${project.version} + + + org.zstack + identity + ${project.version} + + + org.zstack + header + ${project.version} + + + org.zstack + tag + ${project.version} + + + org.zstack + resourceconfig + ${project.version} + + + org.zstack + configuration + ${project.version} + + + org.zstack + longjob + ${project.version} + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + ${project.compiler.version} + + ${project.java.version} + ${project.java.version} + lines,vars,source + true + + + + org.codehaus.gmavenplus + gmavenplus-plugin + 3.0.2 + + + + ${project.basedir}/src/main/java + + **/*.groovy + + + + + + + groovy-stubs + generateStubsremoveStubs + + + groovy-compile + compile + + + + + org.apache.groovy + groovy + ${groovy.version} + + + + + dev.aspectj + aspectj-maven-plugin + ${aspectj.plugin.version} + + + org.aspectj + aspectjtools + ${aspectj.version} + + + + + + compile + test-compile + + + + + ${project.java.version} + ${project.java.version} + ${project.java.version} + true + + + org.springframework + spring-aspects + + + org.zstack + core + + + org.zstack + header + + + + + + + diff --git a/storage/src/main/java/org/zstack/storage/addon/primary/ExternalHostIdGetter.java b/storage/src/main/java/org/zstack/storage/addon/primary/ExternalHostIdGetter.java index 3e35587825f..5b0bbc4ca41 100644 --- a/storage/src/main/java/org/zstack/storage/addon/primary/ExternalHostIdGetter.java +++ b/storage/src/main/java/org/zstack/storage/addon/primary/ExternalHostIdGetter.java @@ -18,7 +18,7 @@ import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; -import javax.persistence.LockModeType; +import jakarta.persistence.LockModeType; import java.sql.Timestamp; import java.util.BitSet; import java.util.Collections; 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 57456c18d98..eba663af132 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 @@ -52,7 +52,7 @@ import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; -import javax.persistence.Tuple; +import jakarta.persistence.Tuple; import java.util.*; import java.util.regex.Matcher; import java.util.regex.Pattern; 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..ed7910126c2 100755 --- a/storage/src/main/java/org/zstack/storage/backup/BackupStorageBase.java +++ b/storage/src/main/java/org/zstack/storage/backup/BackupStorageBase.java @@ -48,9 +48,9 @@ import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; -import javax.persistence.LockModeType; -import javax.persistence.Query; -import javax.persistence.TypedQuery; +import jakarta.persistence.LockModeType; +import jakarta.persistence.Query; +import jakarta.persistence.TypedQuery; import java.net.URISyntaxException; import java.util.*; diff --git a/storage/src/main/java/org/zstack/storage/backup/BackupStorageCapacityUpdater.java b/storage/src/main/java/org/zstack/storage/backup/BackupStorageCapacityUpdater.java index b5df99f87cb..939ef7d9ca2 100755 --- a/storage/src/main/java/org/zstack/storage/backup/BackupStorageCapacityUpdater.java +++ b/storage/src/main/java/org/zstack/storage/backup/BackupStorageCapacityUpdater.java @@ -15,7 +15,7 @@ import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; -import javax.persistence.LockModeType; +import jakarta.persistence.LockModeType; import static org.zstack.core.Platform.operr; import static org.zstack.utils.clouderrorcode.CloudOperationsErrorCode.*; 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..5133ef970c7 100755 --- a/storage/src/main/java/org/zstack/storage/backup/BackupStorageMainAllocatorFlow.java +++ b/storage/src/main/java/org/zstack/storage/backup/BackupStorageMainAllocatorFlow.java @@ -14,7 +14,7 @@ import static org.zstack.core.Platform.operr; -import javax.persistence.TypedQuery; +import jakarta.persistence.TypedQuery; import java.util.List; import java.util.Map; import static org.zstack.utils.clouderrorcode.CloudOperationsErrorCode.*; 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..9126d2416c8 100755 --- a/storage/src/main/java/org/zstack/storage/backup/BackupStorageManagerImpl.java +++ b/storage/src/main/java/org/zstack/storage/backup/BackupStorageManagerImpl.java @@ -37,9 +37,9 @@ import org.zstack.utils.logging.CLogger; import org.zstack.utils.network.NetworkUtils; -import javax.persistence.LockModeType; -import javax.persistence.Tuple; -import javax.persistence.TypedQuery; +import jakarta.persistence.LockModeType; +import jakarta.persistence.Tuple; +import jakarta.persistence.TypedQuery; import java.util.*; import java.util.concurrent.Callable; import java.util.stream.Collectors; 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 8aab976bf7c..a52ccc37f74 100755 --- a/storage/src/main/java/org/zstack/storage/primary/ImageCacheCleaner.java +++ b/storage/src/main/java/org/zstack/storage/primary/ImageCacheCleaner.java @@ -31,7 +31,7 @@ import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; -import javax.persistence.TypedQuery; +import jakarta.persistence.TypedQuery; import java.util.ArrayList; import java.util.List; import java.util.Map; 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..b9ec48e05d8 100755 --- a/storage/src/main/java/org/zstack/storage/primary/ImageCacheGarbageCollector.java +++ b/storage/src/main/java/org/zstack/storage/primary/ImageCacheGarbageCollector.java @@ -17,9 +17,9 @@ import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; -import javax.persistence.LockModeType; -import javax.persistence.Query; -import javax.persistence.TypedQuery; +import jakarta.persistence.LockModeType; +import jakarta.persistence.Query; +import jakarta.persistence.TypedQuery; import java.util.ArrayList; import java.util.List; import java.util.concurrent.Future; 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..a865e5cdc1f 100755 --- a/storage/src/main/java/org/zstack/storage/primary/PrimaryStorageApiInterceptor.java +++ b/storage/src/main/java/org/zstack/storage/primary/PrimaryStorageApiInterceptor.java @@ -26,7 +26,7 @@ import org.zstack.header.zone.ZoneVO_; import org.zstack.utils.network.NetworkUtils; -import javax.persistence.TypedQuery; +import jakarta.persistence.TypedQuery; import java.util.ArrayList; import java.util.List; import java.util.Set; 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..8a4803e0353 100755 --- a/storage/src/main/java/org/zstack/storage/primary/PrimaryStorageBase.java +++ b/storage/src/main/java/org/zstack/storage/primary/PrimaryStorageBase.java @@ -59,8 +59,8 @@ import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; -import javax.persistence.LockModeType; -import javax.persistence.TypedQuery; +import jakarta.persistence.LockModeType; +import jakarta.persistence.TypedQuery; import java.util.*; import java.util.function.Supplier; import java.util.stream.Collectors; 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..e59d8124697 100644 --- a/storage/src/main/java/org/zstack/storage/primary/PrimaryStorageCapacityRecalculator.java +++ b/storage/src/main/java/org/zstack/storage/primary/PrimaryStorageCapacityRecalculator.java @@ -14,8 +14,8 @@ import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; -import javax.persistence.Tuple; -import javax.persistence.TypedQuery; +import jakarta.persistence.Tuple; +import jakarta.persistence.TypedQuery; import java.util.HashMap; import java.util.List; import java.util.Map; diff --git a/storage/src/main/java/org/zstack/storage/primary/PrimaryStorageCapacityUpdater.java b/storage/src/main/java/org/zstack/storage/primary/PrimaryStorageCapacityUpdater.java index 57730b50768..54c0dc83f99 100755 --- a/storage/src/main/java/org/zstack/storage/primary/PrimaryStorageCapacityUpdater.java +++ b/storage/src/main/java/org/zstack/storage/primary/PrimaryStorageCapacityUpdater.java @@ -17,9 +17,9 @@ import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; -import javax.persistence.EntityManager; -import javax.persistence.LockModeType; -import javax.persistence.TypedQuery; +import jakarta.persistence.EntityManager; +import jakarta.persistence.LockModeType; +import jakarta.persistence.TypedQuery; import java.util.List; import static org.zstack.core.Platform.operr; 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..0965639aa3c 100755 --- a/storage/src/main/java/org/zstack/storage/primary/PrimaryStorageMainAllocatorFlow.java +++ b/storage/src/main/java/org/zstack/storage/primary/PrimaryStorageMainAllocatorFlow.java @@ -22,7 +22,7 @@ import org.zstack.utils.gson.JSONObjectUtil; import org.zstack.utils.logging.CLogger; -import javax.persistence.TypedQuery; +import jakarta.persistence.TypedQuery; import java.util.*; import java.util.stream.Collectors; 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..7e7e214031c 100755 --- a/storage/src/main/java/org/zstack/storage/primary/PrimaryStorageManagerImpl.java +++ b/storage/src/main/java/org/zstack/storage/primary/PrimaryStorageManagerImpl.java @@ -66,8 +66,8 @@ import org.zstack.utils.logging.CLogger; import org.zstack.utils.network.NetworkUtils; -import javax.persistence.Tuple; -import javax.persistence.TypedQuery; +import jakarta.persistence.Tuple; +import jakarta.persistence.TypedQuery; import java.util.*; import java.util.concurrent.Callable; import java.util.concurrent.Future; diff --git a/storage/src/main/java/org/zstack/storage/primary/PrimaryStorageTagAllocatorExtension.java b/storage/src/main/java/org/zstack/storage/primary/PrimaryStorageTagAllocatorExtension.java index 045f3393f99..b556625ef92 100755 --- a/storage/src/main/java/org/zstack/storage/primary/PrimaryStorageTagAllocatorExtension.java +++ b/storage/src/main/java/org/zstack/storage/primary/PrimaryStorageTagAllocatorExtension.java @@ -18,7 +18,7 @@ import org.zstack.utils.CollectionUtils; import org.zstack.utils.function.Function; -import javax.persistence.TypedQuery; +import jakarta.persistence.TypedQuery; import java.util.ArrayList; import java.util.List; 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..f529ffd136a 100755 --- a/storage/src/main/java/org/zstack/storage/snapshot/VolumeSnapshotApiInterceptor.java +++ b/storage/src/main/java/org/zstack/storage/snapshot/VolumeSnapshotApiInterceptor.java @@ -28,7 +28,7 @@ import static org.zstack.core.Platform.operr; import static org.zstack.storage.snapshot.VolumeSnapshotMessageRouter.getResourceIdToRouteMsg; -import javax.persistence.Tuple; +import jakarta.persistence.Tuple; import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; 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..0725748a83a 100755 --- a/storage/src/main/java/org/zstack/storage/snapshot/VolumeSnapshotBase.java +++ b/storage/src/main/java/org/zstack/storage/snapshot/VolumeSnapshotBase.java @@ -33,7 +33,7 @@ import org.zstack.utils.function.ForEachFunction; import org.zstack.utils.logging.CLogger; -import javax.persistence.PersistenceException; +import jakarta.persistence.PersistenceException; import java.util.Map; /** 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..78777237d4b 100755 --- a/storage/src/main/java/org/zstack/storage/snapshot/VolumeSnapshotCascadeExtension.java +++ b/storage/src/main/java/org/zstack/storage/snapshot/VolumeSnapshotCascadeExtension.java @@ -33,7 +33,7 @@ import org.zstack.utils.function.Function; import org.zstack.utils.logging.CLogger; -import javax.persistence.Tuple; +import jakarta.persistence.Tuple; import java.util.*; 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..7f36c968cd6 100755 --- a/storage/src/main/java/org/zstack/storage/snapshot/VolumeSnapshotManagerImpl.java +++ b/storage/src/main/java/org/zstack/storage/snapshot/VolumeSnapshotManagerImpl.java @@ -52,9 +52,9 @@ import org.zstack.utils.logging.CLogger; import org.zstack.zql.ZQL; -import javax.persistence.Query; -import javax.persistence.Tuple; -import javax.persistence.TypedQuery; +import jakarta.persistence.Query; +import jakarta.persistence.Tuple; +import jakarta.persistence.TypedQuery; import java.util.*; import java.util.stream.Collectors; import java.util.stream.Stream; 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..3f17e86cddd 100755 --- a/storage/src/main/java/org/zstack/storage/snapshot/VolumeSnapshotTreeBase.java +++ b/storage/src/main/java/org/zstack/storage/snapshot/VolumeSnapshotTreeBase.java @@ -29,6 +29,10 @@ import org.zstack.header.errorcode.SysErrors; import org.zstack.header.exception.CloudRuntimeException; import org.zstack.header.host.*; +import org.zstack.header.host.CommitVolumeSnapshotOnHypervisorMsg; +import org.zstack.header.host.CommitVolumeSnapshotOnHypervisorReply; +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; @@ -65,7 +69,7 @@ import org.zstack.utils.logging.CLogger; import org.zstack.utils.message.OperationChecker; -import javax.persistence.Query; +import jakarta.persistence.Query; import java.util.*; import java.util.stream.Collectors; diff --git a/storage/src/main/java/org/zstack/storage/snapshot/group/L3NetworkMemorySnapshotGroupReference.java b/storage/src/main/java/org/zstack/storage/snapshot/group/L3NetworkMemorySnapshotGroupReference.java index fb2a4980b60..ef5cb9f4dc4 100644 --- a/storage/src/main/java/org/zstack/storage/snapshot/group/L3NetworkMemorySnapshotGroupReference.java +++ b/storage/src/main/java/org/zstack/storage/snapshot/group/L3NetworkMemorySnapshotGroupReference.java @@ -10,7 +10,7 @@ import org.zstack.header.vm.devices.VmInstanceDeviceAddressArchiveVO; import org.zstack.header.vm.devices.VmInstanceDeviceAddressArchiveVO_; -import javax.persistence.TypedQuery; +import jakarta.persistence.TypedQuery; import java.util.List; /** diff --git a/storage/src/main/java/org/zstack/storage/snapshot/group/VolumeMemorySnapshotGroupReferenceFactory.java b/storage/src/main/java/org/zstack/storage/snapshot/group/VolumeMemorySnapshotGroupReferenceFactory.java index 3922ae2d4ad..17c3308067e 100644 --- a/storage/src/main/java/org/zstack/storage/snapshot/group/VolumeMemorySnapshotGroupReferenceFactory.java +++ b/storage/src/main/java/org/zstack/storage/snapshot/group/VolumeMemorySnapshotGroupReferenceFactory.java @@ -9,7 +9,7 @@ import org.zstack.header.volume.VolumeType; import org.zstack.header.volume.VolumeVO; -import javax.persistence.TypedQuery; +import jakarta.persistence.TypedQuery; import java.util.List; /** 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..e8e290ae345 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 @@ -11,7 +11,7 @@ import org.zstack.header.volume.VolumeVO; import org.zstack.header.volume.VolumeVO_; -import javax.persistence.Tuple; +import jakarta.persistence.Tuple; import java.util.*; import java.util.stream.Collectors; 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..1028dd9a4a3 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 @@ -24,8 +24,8 @@ import org.zstack.utils.function.Function; import org.zstack.utils.logging.CLogger; -import javax.persistence.LockModeType; -import javax.persistence.Tuple; +import jakarta.persistence.LockModeType; +import jakarta.persistence.Tuple; import java.util.*; import java.util.stream.Collectors; diff --git a/storage/src/main/java/org/zstack/storage/volume/DetachDataVolumeOnVmDestroyedExtension.java b/storage/src/main/java/org/zstack/storage/volume/DetachDataVolumeOnVmDestroyedExtension.java index be330a6a957..56b96a7b5b7 100755 --- a/storage/src/main/java/org/zstack/storage/volume/DetachDataVolumeOnVmDestroyedExtension.java +++ b/storage/src/main/java/org/zstack/storage/volume/DetachDataVolumeOnVmDestroyedExtension.java @@ -12,7 +12,7 @@ import org.zstack.header.volume.VolumeType; import org.zstack.header.volume.VolumeVO; -import javax.persistence.Query; +import jakarta.persistence.Query; public class DetachDataVolumeOnVmDestroyedExtension implements VmReleaseResourceExtensionPoint { @Autowired 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..3ec0816c723 100755 --- a/storage/src/main/java/org/zstack/storage/volume/InstantiateVolumeForNewCreatedVmExtension.java +++ b/storage/src/main/java/org/zstack/storage/volume/InstantiateVolumeForNewCreatedVmExtension.java @@ -30,7 +30,7 @@ import org.zstack.utils.gson.JSONObjectUtil; import org.zstack.utils.logging.CLogger; -import javax.persistence.Tuple; +import jakarta.persistence.Tuple; import java.net.URI; import java.net.URISyntaxException; import java.util.*; diff --git a/storage/src/main/java/org/zstack/storage/volume/VolumeApiInterceptor.java b/storage/src/main/java/org/zstack/storage/volume/VolumeApiInterceptor.java index d1485039388..a37e8b8e812 100755 --- a/storage/src/main/java/org/zstack/storage/volume/VolumeApiInterceptor.java +++ b/storage/src/main/java/org/zstack/storage/volume/VolumeApiInterceptor.java @@ -79,7 +79,7 @@ import org.zstack.header.volume.VolumeVO; import org.zstack.header.volume.VolumeVO_; -import javax.persistence.Tuple; +import jakarta.persistence.Tuple; import java.util.ArrayList; import java.util.Arrays; import java.util.List; 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..be9ae8046a0 100755 --- a/storage/src/main/java/org/zstack/storage/volume/VolumeBase.java +++ b/storage/src/main/java/org/zstack/storage/volume/VolumeBase.java @@ -60,7 +60,7 @@ import org.zstack.utils.logging.CLogger; import org.zstack.utils.path.PathUtil; -import javax.persistence.TypedQuery; +import jakarta.persistence.TypedQuery; import java.util.*; import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; 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..e9edd430d84 100755 --- a/storage/src/main/java/org/zstack/storage/volume/VolumeCascadeExtension.java +++ b/storage/src/main/java/org/zstack/storage/volume/VolumeCascadeExtension.java @@ -35,7 +35,7 @@ import org.zstack.utils.function.Function; import org.zstack.utils.logging.CLogger; -import javax.persistence.TypedQuery; +import jakarta.persistence.TypedQuery; import java.util.*; 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..d3b7fedd20c 100755 --- a/storage/src/main/java/org/zstack/storage/volume/VolumeManagerImpl.java +++ b/storage/src/main/java/org/zstack/storage/volume/VolumeManagerImpl.java @@ -57,8 +57,8 @@ import org.zstack.utils.function.Function; import org.zstack.utils.logging.CLogger; -import javax.persistence.Tuple; -import javax.persistence.TypedQuery; +import jakarta.persistence.Tuple; +import jakarta.persistence.TypedQuery; import java.sql.Timestamp; import java.time.LocalDateTime; import java.util.*; diff --git a/tag/pom.xml b/tag/pom.xml index b7351a5c699..7b20449eed6 100755 --- a/tag/pom.xml +++ b/tag/pom.xml @@ -51,29 +51,55 @@ maven-compiler-plugin ${project.compiler.version} - groovy-eclipse-compiler ${project.java.version} ${project.java.version} lines,vars,source true - - - org.codehaus.groovy - groovy-eclipse-compiler - ${groovy.eclipse.compiler} - - - org.codehaus.groovy - groovy-eclipse-batch - ${groovy.eclipse.batch} - - - org.codehaus.mojo + org.codehaus.gmavenplus + gmavenplus-plugin + 3.0.2 + + + + ${project.basedir}/src/main/java + + **/*.groovy + + + + + + + groovy-stubs + generateStubsremoveStubs + + + groovy-compile + compile + + + + + org.apache.groovy + groovy + ${groovy.version} + + + + + dev.aspectj aspectj-maven-plugin ${aspectj.plugin.version} + + + org.aspectj + aspectjtools + ${aspectj.version} + + diff --git a/tag/src/main/java/org/zstack/tag/SystemTag.java b/tag/src/main/java/org/zstack/tag/SystemTag.java index d13cd18be2c..c032251c43d 100755 --- a/tag/src/main/java/org/zstack/tag/SystemTag.java +++ b/tag/src/main/java/org/zstack/tag/SystemTag.java @@ -23,9 +23,9 @@ import org.zstack.utils.logging.CLogger; import org.zstack.utils.network.NetworkUtils; -import javax.persistence.PersistenceException; -import javax.persistence.Tuple; -import javax.persistence.TypedQuery; +import jakarta.persistence.PersistenceException; +import jakarta.persistence.Tuple; +import jakarta.persistence.TypedQuery; import java.util.*; import static java.util.Arrays.asList; diff --git a/tag/src/main/java/org/zstack/tag/TagApiInterceptor.java b/tag/src/main/java/org/zstack/tag/TagApiInterceptor.java index 357a88b1ba5..4aa0b7be6ff 100755 --- a/tag/src/main/java/org/zstack/tag/TagApiInterceptor.java +++ b/tag/src/main/java/org/zstack/tag/TagApiInterceptor.java @@ -14,7 +14,7 @@ import org.zstack.header.tag.*; import org.zstack.identity.QuotaUtil; -import javax.persistence.TypedQuery; +import jakarta.persistence.TypedQuery; import static org.zstack.core.Platform.*; import static org.zstack.utils.clouderrorcode.CloudOperationsErrorCode.*; diff --git a/tag/src/main/java/org/zstack/tag/TagManagerImpl.java b/tag/src/main/java/org/zstack/tag/TagManagerImpl.java index 7f4825f5d2a..cde7bc61ea0 100755 --- a/tag/src/main/java/org/zstack/tag/TagManagerImpl.java +++ b/tag/src/main/java/org/zstack/tag/TagManagerImpl.java @@ -31,9 +31,9 @@ import org.zstack.utils.function.Function; import org.zstack.utils.logging.CLogger; -import javax.persistence.Query; -import javax.persistence.TypedQuery; -import javax.persistence.metamodel.EntityType; +import jakarta.persistence.Query; +import jakarta.persistence.TypedQuery; +import jakarta.persistence.metamodel.EntityType; import java.lang.reflect.Field; import java.lang.reflect.Modifier; import java.util.*; diff --git a/test/pom.xml b/test/pom.xml index 7dfbb0bbcac..fb5db06dff0 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -1,603 +1,671 @@ - - - true - ${env.skipJacoco} - ${skipJacoco} - - 4.0.0 - - zstack - org.zstack + + + true + ${env.skipJacoco} + ${skipJacoco} + + 4.0.0 + + zstack + org.zstack 5.5.0 - .. - - test - - - - - - org.kohsuke - groovy-sandbox - 1.19 - - - - junit - junit - 4.13.1 - - - org.zapodot - embedded-ldap-junit - 0.7 - test - - - - org.mockito - mockito-core - 4.11.0 - - - - org.zstack - core - ${project.version} - - - org.zstack - compute - ${project.version} - - - org.zstack - header - ${project.version} - - - org.zstack - portal - ${project.version} - - - org.zstack - utils - ${project.version} - - - org.zstack - external-service - ${project.version} - - - org.zstack - simulatorImpl - ${project.version} - - - org.zstack - image - ${project.version} - - - org.zstack - network - ${project.version} - - - org.zstack - configuration - ${project.version} - - - org.zstack - identity - ${project.version} - - - org.zstack - search - ${project.version} - - - org.zstack - console - ${project.version} - - - org.zstack - applianceVm - ${project.version} - - - org.zstack - localstorage - ${project.version} - - - org.zstack - externalStorage - ${project.version} - - - org.zstack - zbs - ${project.version} - - - org.zstack - cbd - ${project.version} - - - org.zstack - expon - ${project.version} - - - org.zstack - xinfini - ${project.version} - - - org.zstack - vhost - ${project.version} - - - org.zstack - iscsi - ${project.version} - - - org.zstack - ceph - ${project.version} - - - org.zstack - sharedMountPointPrimaryStorage - ${project.version} - - - org.zstack - ldap - ${project.version} - - - - org.jboss.shrinkwrap - shrinkwrap-api - 1.0.0-alpha-12 - test - - - org.jboss.shrinkwrap - 1.0.0-alpha-12 - shrinkwrap-impl-base - test - - - org.eclipse.jetty - jetty-server - 9.4.51.v20230217 - - - org.eclipse.jetty - jetty-webapp - 9.4.49.v20220914 - - - - org.zstack - kvm - ${project.version} - - - org.zstack - nfsPrimaryStorage - ${project.version} - - - org.zstack - sftpBackupStorage - ${project.version} - - - org.zstack - virtualRouterProvider - ${project.version} - - - org.zstack - securityGroup - ${project.version} - - - org.zstack - vip - ${project.version} - - - org.zstack - mediator - ${project.version} - - - org.zstack - flatNetworkProvider - ${project.version} - - - org.zstack - rest - ${project.version} - - - org.zstack - vxlan - ${project.version} - - - org.zstack - sdnController - ${project.version} - - - org.zstack - longjob - ${project.version} - - - org.zstack - sshKeyPair - ${project.version} - - - org.zstack - sdk - ${project.version} - - - org.zstack - sugonSdnController - ${project.version} - - - org.zstack - hostNetworkInterface - ${project.version} - - - org.zstack - testlib - ${project.version} - - - com.github.javaparser - javaparser-core - - - org.jasig.cas.client - cas-client-core - - - - - - merge - - - - org.apache.maven.plugins - maven-antrun-plugin - 1.8 - - - - - run - - - default-cli - - - - - - - - - - - - - - - - - - org.jacoco - org.jacoco.ant - 0.8.6 - - - - - - - - - coverage - - - - org.apache.maven.plugins - maven-antrun-plugin - 1.8 - - - - run - - - default-cli - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - org.jacoco - org.jacoco.ant - 0.8.6 - - - - - - - - - coverage-xml - - - - org.apache.maven.plugins - maven-antrun-plugin - 1.8 - - - - run - - - default-cli - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - org.jacoco - org.jacoco.ant - 0.8.6 - - - - - - - - - - - - - org.jacoco - jacoco-maven-plugin - 0.8.6 - - - - prepare-agent - - prepare-agent - - - true - target/classes - - org.zstack.* - - target/jacoco.exec - - - - - - - org.apache.maven.plugins - maven-surefire-plugin - 2.18 - - - c3p0:c3p0:jar:0.9.1.1 - - - - - - org.apache.maven.plugins - maven-compiler-plugin - ${project.compiler.version} - - ${project.java.version} - ${project.java.version} - true - false - - - - - org.apache.maven.plugins - maven-compiler-plugin - 3.6.1 - - groovy-eclipse-compiler - ${project.java.version} - ${project.java.version} - lines,vars,source - true - - - - org.codehaus.groovy - groovy-eclipse-compiler - 2.9.2-01 - - - org.codehaus.groovy - groovy-eclipse-batch - 2.4.3-01 - - - - - - org.codehaus.mojo - aspectj-maven-plugin - ${aspectj.plugin.version} - - - - compile - test-compile - - - - - ${project.java.version} - ${project.java.version} - ${project.java.version} - true - - - org.springframework - spring-aspects - - - org.zstack - core - - - org.zstack - header - - - - - - - maven-resources-plugin - 2.5 - - - copy-conf - - validate - - copy-resources - - - target/test-classes - true - - - ../conf - - - - - - - - - + .. + + test + + + + + + jakarta.servlet + jakarta.servlet-api + + + org.kohsuke + groovy-sandbox + 1.19 + + + org.codehaus.groovy + groovy + + + + + + junit + junit + 4.13.1 + + + org.zapodot + embedded-ldap-junit + 0.7 + test + + + + org.mockito + mockito-core + 4.11.0 + + + + org.zstack + core + ${project.version} + + + org.zstack + compute + ${project.version} + + + org.zstack + header + ${project.version} + + + org.zstack + portal + ${project.version} + + + org.zstack + utils + ${project.version} + + + org.zstack + external-service + ${project.version} + + + org.zstack + simulatorImpl + ${project.version} + + + org.zstack + image + ${project.version} + + + org.zstack + network + ${project.version} + + + org.zstack + configuration + ${project.version} + + + org.zstack + identity + ${project.version} + + + org.zstack + search + ${project.version} + + + org.zstack + console + ${project.version} + + + org.zstack + applianceVm + ${project.version} + + + org.zstack + localstorage + ${project.version} + + + org.zstack + externalStorage + ${project.version} + + + org.zstack + zbs + ${project.version} + + + org.zstack + cbd + ${project.version} + + + org.zstack + expon + ${project.version} + + + org.zstack + xinfini + ${project.version} + + + org.zstack + vhost + ${project.version} + + + org.zstack + iscsi + ${project.version} + + + org.zstack + ceph + ${project.version} + + + org.zstack + sharedMountPointPrimaryStorage + ${project.version} + + + org.zstack + ldap + ${project.version} + + + + org.jboss.shrinkwrap + shrinkwrap-api + 1.0.0-alpha-12 + test + + + org.jboss.shrinkwrap + 1.0.0-alpha-12 + shrinkwrap-impl-base + test + + + org.eclipse.jetty + jetty-server + 9.4.51.v20230217 + + + org.eclipse.jetty + jetty-webapp + 9.4.49.v20220914 + + + + org.zstack + kvm + ${project.version} + + + org.zstack + nfsPrimaryStorage + ${project.version} + + + org.zstack + sftpBackupStorage + ${project.version} + + + org.zstack + virtualRouterProvider + ${project.version} + + + org.zstack + securityGroup + ${project.version} + + + org.zstack + vip + ${project.version} + + + org.zstack + mediator + ${project.version} + + + org.zstack + flatNetworkProvider + ${project.version} + + + org.zstack + rest + ${project.version} + + + org.zstack + vxlan + ${project.version} + + + org.zstack + sdnController + ${project.version} + + + org.zstack + longjob + ${project.version} + + + org.zstack + sshKeyPair + ${project.version} + + + org.zstack + sdk + ${project.version} + + + org.zstack + sugonSdnController + ${project.version} + + + org.zstack + hostNetworkInterface + ${project.version} + + + org.zstack + testlib + ${project.version} + + + com.github.javaparser + javaparser-core + + + org.jasig.cas.client + cas-client-core + + + + + + merge + + + + org.apache.maven.plugins + maven-antrun-plugin + 1.8 + + + + + run + + + default-cli + + + + + + + + + + + + + + + + + + org.jacoco + org.jacoco.ant + 0.8.6 + + + + + + + + + coverage + + + + org.apache.maven.plugins + maven-antrun-plugin + 1.8 + + + + run + + + default-cli + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + org.jacoco + org.jacoco.ant + 0.8.6 + + + + + + + + + coverage-xml + + + + org.apache.maven.plugins + maven-antrun-plugin + 1.8 + + + + run + + + default-cli + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + org.jacoco + org.jacoco.ant + 0.8.6 + + + + + + + + + + + + + org.jacoco + jacoco-maven-plugin + 0.8.6 + + + + prepare-agent + + prepare-agent + + + true + target/classes + + org.zstack.* + + target/jacoco.exec + + + + + + + org.apache.maven.plugins + maven-surefire-plugin + 2.18 + + + + + + org.apache.maven.plugins + maven-compiler-plugin + ${project.compiler.version} + + ${project.java.version} + ${project.java.version} + true + false + + + + + org.codehaus.mojo + build-helper-maven-plugin + 3.5.0 + + + add-test-source + generate-test-sources + add-test-source + + + ${project.basedir}/src/test/groovy + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.6.1 + + ${project.java.version} + ${project.java.version} + lines,vars,source + true + + + + + org.codehaus.gmavenplus + gmavenplus-plugin + 3.0.2 + + + + ${project.basedir}/src/main/java + + **/*.groovy + + + + + + ${project.basedir}/src/test/groovy + + **/*.groovy + + + + ${project.basedir}/src/test/java + + **/*.groovy + + + + + + + groovy-stubs + generateStubsremoveStubs + + + groovy-compile + compile + + + groovy-test-compile + compileTests + + + + + org.apache.groovy + groovy + ${groovy.version} + + + + + dev.aspectj + aspectj-maven-plugin + ${aspectj.plugin.version} + + + org.aspectj + aspectjtools + ${aspectj.version} + + + + + + compile + test-compile + + + + + ${project.java.version} + ${project.java.version} + ${project.java.version} + true + + + org.springframework + spring-aspects + + + org.zstack + core + + + org.zstack + header + + + + + + + maven-resources-plugin + 2.5 + + + copy-conf + + validate + + copy-resources + + + target/test-classes + true + + + ../conf + + + + + + + + + diff --git a/test/src/test/groovy/org/zstack/test/integration/core/CaseNameCheckCase.groovy b/test/src/test/groovy/org/zstack/test/integration/core/CaseNameCheckCase.groovy index 5895df5afcf..dca7ec69ad9 100755 --- a/test/src/test/groovy/org/zstack/test/integration/core/CaseNameCheckCase.groovy +++ b/test/src/test/groovy/org/zstack/test/integration/core/CaseNameCheckCase.groovy @@ -14,6 +14,15 @@ class CaseNameCheckCase extends SubCase { private static final List ignoreCheckListForTestSuite = [StabilityTestCase.class.name] + private static boolean isPremiumClass(Class clz) { + try { + def location = clz.protectionDomain?.codeSource?.location?.toString() + return location != null && location.contains("premium") + } catch (Exception ignored) { + return false + } + } + @Override void clean() { } @@ -38,7 +47,7 @@ class CaseNameCheckCase extends SubCase { def tests = Platform.reflections.getSubTypesOf(Test.class).findAll { !Modifier.isAbstract(it.modifiers) } tests.forEach{ it -> Class caseClass = it - boolean result = it.package != null && !it.name.endsWith("Test") && !SubCase.isAssignableFrom(it) && ignoreCheckListForTestSuite.find{ caseClass.name == it } == null + boolean result = it.package != null && !it.name.endsWith("Test") && !SubCase.isAssignableFrom(it) && ignoreCheckListForTestSuite.find{ caseClass.name == it } == null && !isPremiumClass(it) if(result){ invalidNameList.add(it.name) @@ -53,7 +62,7 @@ class CaseNameCheckCase extends SubCase { def tests = Platform.reflections.getSubTypesOf(SubCase.class).findAll { !Modifier.isAbstract(it.modifiers) } tests.forEach{ it -> - boolean result = it.package != null && !it.name.endsWith("Case") + boolean result = it.package != null && !it.name.endsWith("Case") && !isPremiumClass(it) if(result){ invalidNameList.add(it.name) diff --git a/test/src/test/groovy/org/zstack/test/integration/core/RetryInSecsCase.groovy b/test/src/test/groovy/org/zstack/test/integration/core/RetryInSecsCase.groovy index 157fe45c9bf..4630aa14aa8 100644 --- a/test/src/test/groovy/org/zstack/test/integration/core/RetryInSecsCase.groovy +++ b/test/src/test/groovy/org/zstack/test/integration/core/RetryInSecsCase.groovy @@ -79,7 +79,7 @@ class RetryInSecsCase extends SubCase { assert 1 == 2 } }catch (Throwable t){ - assert retryTimes == (actualExecutionTimes / 10).intValue() + 1 + assert retryTimes == actualExecutionTimes.intdiv(10) + 1 } // case @@ -89,7 +89,7 @@ class RetryInSecsCase extends SubCase { actualExecutionTimes = 0 retryInSecs(retryTimes){ actualExecutionTimes ++ - if(retryTimes - (currentTime / 10) == 1){ + if(retryTimes - currentTime.intdiv(10) == 1){ assert true }else{ currentTime ++ @@ -98,7 +98,7 @@ class RetryInSecsCase extends SubCase { } endTime = System.currentTimeMillis() assert endTime - startTime > 10 * (retryTimes -1) - assert retryTimes == (actualExecutionTimes / 10).intValue() + 1 + assert retryTimes == actualExecutionTimes.intdiv(10) + 1 // case retryTimes = 3 @@ -115,7 +115,7 @@ class RetryInSecsCase extends SubCase { assert endTime - startTime > 1000 * (retryTimes -1) // Invalid assert, The maximum length of time cannot be determined // assert endTime - startTime < 1000 * (retryTimes) - assert retryTimes == (actualExecutionTimes / 10).intValue() + 1 + assert retryTimes == actualExecutionTimes.intdiv(10) + 1 } } } diff --git a/test/src/test/groovy/org/zstack/test/integration/core/WhileCase.groovy b/test/src/test/groovy/org/zstack/test/integration/core/WhileCase.groovy index 47f655ffccc..133801b99cc 100755 --- a/test/src/test/groovy/org/zstack/test/integration/core/WhileCase.groovy +++ b/test/src/test/groovy/org/zstack/test/integration/core/WhileCase.groovy @@ -243,7 +243,7 @@ class WhileCase extends SubCase{ WhileGlobalProperty.CONCURRENCY_LEVEL_OF_ALL_MODE = 10 List items = new ArrayList() - int size = ThreadGlobalProperty.MAX_THREAD_NUM * WhileGlobalProperty.CONCURRENCY_LEVEL_OF_ALL_MODE / 100 + int size = (ThreadGlobalProperty.MAX_THREAD_NUM * WhileGlobalProperty.CONCURRENCY_LEVEL_OF_ALL_MODE).intdiv(100) size = size == 0 ? 1 : size for (int i = 0; i <= size + 10; i ++) { items.add(i) diff --git a/test/src/test/groovy/org/zstack/test/integration/core/gc/EventBasedGarbageCollectorCase.groovy b/test/src/test/groovy/org/zstack/test/integration/core/gc/EventBasedGarbageCollectorCase.groovy index 0bc76b3d065..cacf3a899b1 100755 --- a/test/src/test/groovy/org/zstack/test/integration/core/gc/EventBasedGarbageCollectorCase.groovy +++ b/test/src/test/groovy/org/zstack/test/integration/core/gc/EventBasedGarbageCollectorCase.groovy @@ -78,7 +78,7 @@ class EventBasedGarbageCollectorCase extends SubCase { } } - static Map> testLogicForJobLoadedFromDbMap = new HashedMap<>() + static Map> testLogicForJobLoadedFromDbMap = new HashedMap() static enum EventBasedGCInDbBehavior { SUCCESS, @@ -125,7 +125,7 @@ class EventBasedGarbageCollectorCase extends SubCase { } } - static Map> testTriggerNowForJobLoadedFromDbMap = new HashedMap<>() + static Map> testTriggerNowForJobLoadedFromDbMap = new HashedMap() static class EventBasedGCInDbTriggerNow extends EventBasedGarbageCollector { Closure trigger = { true } diff --git a/test/src/test/groovy/org/zstack/test/integration/db/deadlock/BatchCreateVmFailDeadlockCase.groovy b/test/src/test/groovy/org/zstack/test/integration/db/deadlock/BatchCreateVmFailDeadlockCase.groovy index c3cd5d2f91e..9aef07faf0f 100644 --- a/test/src/test/groovy/org/zstack/test/integration/db/deadlock/BatchCreateVmFailDeadlockCase.groovy +++ b/test/src/test/groovy/org/zstack/test/integration/db/deadlock/BatchCreateVmFailDeadlockCase.groovy @@ -28,7 +28,7 @@ import org.zstack.testlib.SubCase import org.zstack.testlib.Test import org.zstack.utils.data.SizeUnit -import javax.persistence.LockTimeoutException +import jakarta.persistence.LockTimeoutException import java.util.concurrent.atomic.AtomicInteger import java.util.stream.Collectors /** diff --git a/test/src/test/groovy/org/zstack/test/integration/identity/account/SessionCase.groovy b/test/src/test/groovy/org/zstack/test/integration/identity/account/SessionCase.groovy index f3baba74357..6a52ae88408 100755 --- a/test/src/test/groovy/org/zstack/test/integration/identity/account/SessionCase.groovy +++ b/test/src/test/groovy/org/zstack/test/integration/identity/account/SessionCase.groovy @@ -14,7 +14,7 @@ import org.zstack.testlib.SubCase import org.zstack.sdk.LogInByAccountAction import org.zstack.header.identity.IdentityErrors -import javax.persistence.Query +import jakarta.persistence.Query import java.sql.Timestamp import java.util.concurrent.TimeUnit diff --git a/test/src/test/groovy/org/zstack/test/integration/kvm/host/HostPasswordEncryptCase.groovy b/test/src/test/groovy/org/zstack/test/integration/kvm/host/HostPasswordEncryptCase.groovy index ab5b58b656b..3ba75ba0a76 100644 --- a/test/src/test/groovy/org/zstack/test/integration/kvm/host/HostPasswordEncryptCase.groovy +++ b/test/src/test/groovy/org/zstack/test/integration/kvm/host/HostPasswordEncryptCase.groovy @@ -19,9 +19,9 @@ import org.zstack.testlib.EnvSpec import org.zstack.testlib.SubCase import org.zstack.utils.BeanUtils -import javax.persistence.Convert -import javax.persistence.Entity -import javax.persistence.Table +import jakarta.persistence.Convert +import jakarta.persistence.Entity +import jakarta.persistence.Table /** * Created by kayo on 2018/9/12. diff --git a/test/src/test/groovy/org/zstack/test/integration/kvm/host/HostStateCase.groovy b/test/src/test/groovy/org/zstack/test/integration/kvm/host/HostStateCase.groovy index 61c60089acb..d665a8a30c4 100644 --- a/test/src/test/groovy/org/zstack/test/integration/kvm/host/HostStateCase.groovy +++ b/test/src/test/groovy/org/zstack/test/integration/kvm/host/HostStateCase.groovy @@ -88,8 +88,8 @@ class HostStateCase extends SubCase { HostGlobalConfig.PING_HOST_INTERVAL.updateValue(1) - 1.upto(5) { - TimeUnit.SECONDS.sleep(1) + // Allow host time to stabilize after ping interval change + retryInSecs(10) { def hvo = dbFindByUuid(hinv.uuid, HostVO.class) assert hvo.status == HostStatus.Connected } diff --git a/test/src/test/groovy/org/zstack/test/integration/kvm/vm/ChangeVmCpuAndMemoryCase.groovy b/test/src/test/groovy/org/zstack/test/integration/kvm/vm/ChangeVmCpuAndMemoryCase.groovy index e8fcea6c949..d9a481de975 100644 --- a/test/src/test/groovy/org/zstack/test/integration/kvm/vm/ChangeVmCpuAndMemoryCase.groovy +++ b/test/src/test/groovy/org/zstack/test/integration/kvm/vm/ChangeVmCpuAndMemoryCase.groovy @@ -514,8 +514,8 @@ class ChangeVmCpuAndMemoryCase extends SubCase { UpdateVmInstanceAction.Result updateVmInstanceResult2 = updateVmInstanceAction2.call() assert updateVmInstanceResult2.error == null - assert SizeUnit.MEGABYTE.toByte(64) % SizeUnit.MEGABYTE.toByte(128) == SizeUnit.MEGABYTE.toByte(128) / 2 - assert ((((long) (SizeUnit.MEGABYTE.toByte(64))/ SizeUnit.MEGABYTE.toByte(128)) + (long) 1) * SizeUnit.MEGABYTE.toByte(128) + assert SizeUnit.MEGABYTE.toByte(64) % SizeUnit.MEGABYTE.toByte(128) == SizeUnit.MEGABYTE.toByte(128).intdiv(2) + assert ((((long) (SizeUnit.MEGABYTE.toByte(64)).intdiv(SizeUnit.MEGABYTE.toByte(128))) + (long) 1) * SizeUnit.MEGABYTE.toByte(128) + (long) SizeUnit.MEGABYTE.toByte(1) + (long) SizeUnit.MEGABYTE.toByte(128)) == cmd.memorySize assert ((long) SizeUnit.MEGABYTE.toByte(1) + SizeUnit.MEGABYTE.toByte(256)) == cmd.memorySize assert cmd != null @@ -529,8 +529,8 @@ class ChangeVmCpuAndMemoryCase extends SubCase { UpdateVmInstanceAction.Result updateVmInstanceResult3 = updateVmInstanceAction3.call() assert updateVmInstanceResult3.error == null - assert SizeUnit.MEGABYTE.toByte(63) % SizeUnit.MEGABYTE.toByte(128) < SizeUnit.MEGABYTE.toByte(128) / 2 - assert (((long) (SizeUnit.MEGABYTE.toByte(63)) / SizeUnit.MEGABYTE.toByte(128) + (long) 1) * SizeUnit.MEGABYTE.toByte(128) + assert SizeUnit.MEGABYTE.toByte(63) % SizeUnit.MEGABYTE.toByte(128) < SizeUnit.MEGABYTE.toByte(128).intdiv(2) + assert (((long) (SizeUnit.MEGABYTE.toByte(63)).intdiv(SizeUnit.MEGABYTE.toByte(128)) + (long) 1) * SizeUnit.MEGABYTE.toByte(128) + (long) SizeUnit.MEGABYTE.toByte(1) + SizeUnit.MEGABYTE.toByte(256)) == cmd.memorySize assert cmd.memorySize == SizeUnit.MEGABYTE.toByte(1) + SizeUnit.MEGABYTE.toByte(384) assert cmd != null @@ -544,8 +544,8 @@ class ChangeVmCpuAndMemoryCase extends SubCase { UpdateVmInstanceAction.Result updateVmInstanceResult4 = updateVmInstanceAction4.call() assert updateVmInstanceResult4.error == null - assert SizeUnit.MEGABYTE.toByte(129) % SizeUnit.MEGABYTE.toByte(128) < SizeUnit.MEGABYTE.toByte(128) / 2 - assert (((long) (SizeUnit.MEGABYTE.toByte(129)) / SizeUnit.MEGABYTE.toByte(128)) * SizeUnit.MEGABYTE.toByte(128) + (long) SizeUnit.MEGABYTE.toByte(1) + SizeUnit.MEGABYTE.toByte(384)) == cmd.memorySize + assert SizeUnit.MEGABYTE.toByte(129) % SizeUnit.MEGABYTE.toByte(128) < SizeUnit.MEGABYTE.toByte(128).intdiv(2) + assert (((long) (SizeUnit.MEGABYTE.toByte(129)).intdiv(SizeUnit.MEGABYTE.toByte(128))) * SizeUnit.MEGABYTE.toByte(128) + (long) SizeUnit.MEGABYTE.toByte(1) + SizeUnit.MEGABYTE.toByte(384)) == cmd.memorySize assert cmd.memorySize == SizeUnit.MEGABYTE.toByte(1) + SizeUnit.MEGABYTE.toByte(512) assert cmd != null @@ -572,8 +572,8 @@ class ChangeVmCpuAndMemoryCase extends SubCase { UpdateVmInstanceAction.Result updateVmInstanceResult6 = updateVmInstanceAction6.call() assert updateVmInstanceResult6.error == null - assert SizeUnit.MEGABYTE.toByte(193) % SizeUnit.MEGABYTE.toByte(128) > SizeUnit.MEGABYTE.toByte(128) / 2 - assert ((((long) (SizeUnit.MEGABYTE.toByte(193)) / SizeUnit.MEGABYTE.toByte(128) + (long) 1)) * SizeUnit.MEGABYTE.toByte(128) + SizeUnit.MEGABYTE.toByte(640) + (long) SizeUnit.MEGABYTE.toByte(1)) == cmd.memorySize + assert SizeUnit.MEGABYTE.toByte(193) % SizeUnit.MEGABYTE.toByte(128) > SizeUnit.MEGABYTE.toByte(128).intdiv(2) + assert ((((long) (SizeUnit.MEGABYTE.toByte(193)).intdiv(SizeUnit.MEGABYTE.toByte(128)) + (long) 1)) * SizeUnit.MEGABYTE.toByte(128) + SizeUnit.MEGABYTE.toByte(640) + (long) SizeUnit.MEGABYTE.toByte(1)) == cmd.memorySize assert cmd.memorySize == SizeUnit.MEGABYTE.toByte(1) + SizeUnit.MEGABYTE.toByte(640) + SizeUnit.MEGABYTE.toByte(256) assert cmd != null @@ -588,8 +588,8 @@ class ChangeVmCpuAndMemoryCase extends SubCase { assert updateVmInstanceResult7.error == null long increase = (long) SizeUnit.GIGABYTE.toByte(31) - (long) SizeUnit.MEGABYTE.toByte(1) - SizeUnit.MEGABYTE.toByte(896) - assert increase % SizeUnit.MEGABYTE.toByte(128) > SizeUnit.MEGABYTE.toByte(128) / 2 - assert ((((increase / SizeUnit.MEGABYTE.toByte(128)) as long) + (long) 1) * SizeUnit.MEGABYTE.toByte(128)) + assert increase % SizeUnit.MEGABYTE.toByte(128) > SizeUnit.MEGABYTE.toByte(128).intdiv(2) + assert (((increase.intdiv(SizeUnit.MEGABYTE.toByte(128)) as long) + (long) 1) * SizeUnit.MEGABYTE.toByte(128)) + SizeUnit.MEGABYTE.toByte(1) + SizeUnit.MEGABYTE.toByte(896) == cmd.memorySize assert cmd != null @@ -679,17 +679,17 @@ class ChangeVmCpuAndMemoryCase extends SubCase { } } else { def reminder = increaseMem % SizeUnit.MEGABYTE.toByte(128) as long - if (reminder < SizeUnit.MEGABYTE.toByte(128) / 2) { + if (reminder < SizeUnit.MEGABYTE.toByte(128).intdiv(2)) { if (increaseMem > SizeUnit.MEGABYTE.toByte(128)) { assert cmd != null - assert cmd.memorySize == vo.getMemorySize() + (increaseMem / SizeUnit.MEGABYTE.toByte(128) as long) * SizeUnit.MEGABYTE.toByte(128) + assert cmd.memorySize == vo.getMemorySize() + (increaseMem.intdiv(SizeUnit.MEGABYTE.toByte(128)) as long) * SizeUnit.MEGABYTE.toByte(128) } else { assert cmd != null assert cmd.memorySize == vo.getMemorySize() + SizeUnit.MEGABYTE.toByte(128) } } else { assert cmd != null - assert cmd.memorySize == vo.getMemorySize() + ((increaseMem / SizeUnit.MEGABYTE.toByte(128) as long) + 1) * SizeUnit.MEGABYTE.toByte(128) + assert cmd.memorySize == vo.getMemorySize() + ((increaseMem.intdiv(SizeUnit.MEGABYTE.toByte(128)) as long) + 1) * SizeUnit.MEGABYTE.toByte(128) } } } diff --git a/test/src/test/groovy/org/zstack/test/integration/kvm/vm/VmLastHostUuidCase.groovy b/test/src/test/groovy/org/zstack/test/integration/kvm/vm/VmLastHostUuidCase.groovy index 6016c206264..49cb445d2c4 100644 --- a/test/src/test/groovy/org/zstack/test/integration/kvm/vm/VmLastHostUuidCase.groovy +++ b/test/src/test/groovy/org/zstack/test/integration/kvm/vm/VmLastHostUuidCase.groovy @@ -28,7 +28,7 @@ import org.zstack.testlib.SubCase import org.zstack.utils.CollectionUtils import org.zstack.utils.data.SizeUnit -import javax.persistence.Tuple +import jakarta.persistence.Tuple import static org.zstack.core.Platform.operr diff --git a/test/src/test/groovy/org/zstack/test/integration/network/l2network/AttachL2NetworkWithTwoClustersCase.groovy b/test/src/test/groovy/org/zstack/test/integration/network/l2network/AttachL2NetworkWithTwoClustersCase.groovy index 7240e3fcc53..a0c13f5c9a4 100644 --- a/test/src/test/groovy/org/zstack/test/integration/network/l2network/AttachL2NetworkWithTwoClustersCase.groovy +++ b/test/src/test/groovy/org/zstack/test/integration/network/l2network/AttachL2NetworkWithTwoClustersCase.groovy @@ -208,7 +208,7 @@ public class AttachL2NetworkWithTwoClustersCase extends SubCase{ } assert vm2.hostUuid == host2.uuid - def cmds = [] as SynchronizedList + def cmds = [] as SynchronizedList env.afterSimulator(KVMConstant.KVM_DELETE_L2NOVLAN_NETWORK_PATH) { rsp, HttpEntity e -> def deleteBridgeCmd = JSONObjectUtil.toObject(e.body, KVMAgentCommands.DeleteBridgeCmd.class) cmds.add(deleteBridgeCmd) @@ -262,7 +262,7 @@ public class AttachL2NetworkWithTwoClustersCase extends SubCase{ } assert vm2.hostUuid == host2.uuid - def cmds = [] as SynchronizedList + def cmds = [] as SynchronizedList env.afterSimulator(KVMConstant.KVM_DELETE_L2VLAN_NETWORK_PATH) { rsp, HttpEntity e -> def deleteBridgeCmd = JSONObjectUtil.toObject(e.body, KVMAgentCommands.DeleteVlanBridgeCmd.class) cmds.add(deleteBridgeCmd) @@ -374,7 +374,7 @@ public class AttachL2NetworkWithTwoClustersCase extends SubCase{ } assert vm2.hostUuid == host2.uuid - def cmds = [] as SynchronizedList + def cmds = [] as SynchronizedList env.afterSimulator(VxlanNetworkPoolConstant.VXLAN_KVM_DELETE_L2VXLAN_NETWORK_PATH) { rsp, HttpEntity e -> def deleteBridgeCmd = JSONObjectUtil.toObject(e.body, VxlanKvmAgentCommands.DeleteVxlanBridgeCmd.class) cmds.add(deleteBridgeCmd) diff --git a/test/src/test/groovy/org/zstack/test/integration/network/l2network/DeleteL2NetworkBridgeCase.groovy b/test/src/test/groovy/org/zstack/test/integration/network/l2network/DeleteL2NetworkBridgeCase.groovy index 65896171966..439a4409e43 100644 --- a/test/src/test/groovy/org/zstack/test/integration/network/l2network/DeleteL2NetworkBridgeCase.groovy +++ b/test/src/test/groovy/org/zstack/test/integration/network/l2network/DeleteL2NetworkBridgeCase.groovy @@ -129,7 +129,7 @@ class DeleteL2NetworkBridgeCase extends SubCase { clusterUuid = cluster.uuid } - def cmds = [] as SynchronizedList + def cmds = [] as SynchronizedList env.afterSimulator(KVMConstant.KVM_DELETE_L2NOVLAN_NETWORK_PATH) { rsp, HttpEntity e -> def deleteBridgeCmd = JSONObjectUtil.toObject(e.body, KVMAgentCommands.DeleteBridgeCmd.class) cmds.add(deleteBridgeCmd) @@ -158,7 +158,7 @@ class DeleteL2NetworkBridgeCase extends SubCase { clusterUuid = cluster.uuid } - def cmds = [] as SynchronizedList + def cmds = [] as SynchronizedList env.afterSimulator(KVMConstant.KVM_DELETE_L2NOVLAN_NETWORK_PATH) { rsp, HttpEntity e -> def deleteBridgeCmd = JSONObjectUtil.toObject(e.body, KVMAgentCommands.DeleteBridgeCmd.class) cmds.add(deleteBridgeCmd) @@ -192,7 +192,7 @@ class DeleteL2NetworkBridgeCase extends SubCase { clusterUuid = cluster.uuid } - def cmds = [] as SynchronizedList + def cmds = [] as SynchronizedList env.afterSimulator(KVMConstant.KVM_DELETE_L2VLAN_NETWORK_PATH) { rsp, HttpEntity e -> def deleteVlanBridgeCmd = JSONObjectUtil.toObject(e.body, KVMAgentCommands.DeleteVlanBridgeCmd.class) cmds.add(deleteVlanBridgeCmd) @@ -223,7 +223,7 @@ class DeleteL2NetworkBridgeCase extends SubCase { clusterUuid = cluster.uuid } - def cmds = [] as SynchronizedList + def cmds = [] as SynchronizedList env.afterSimulator(KVMConstant.KVM_DELETE_L2VLAN_NETWORK_PATH) { rsp, HttpEntity e -> def deleteVlanBridgeCmd = JSONObjectUtil.toObject(e.body, KVMAgentCommands.DeleteVlanBridgeCmd.class) cmds.add(deleteVlanBridgeCmd) @@ -278,7 +278,7 @@ class DeleteL2NetworkBridgeCase extends SubCase { } - def cmds = [] as SynchronizedList + def cmds = [] as SynchronizedList env.afterSimulator(VxlanNetworkPoolConstant.VXLAN_KVM_DELETE_L2VXLAN_NETWORK_PATH) { rsp, HttpEntity e -> def deleteVxlanBridgeCmd = JSONObjectUtil.toObject(e.body, VxlanKvmAgentCommands.DeleteVxlanBridgeCmd.class) cmds.add(deleteVxlanBridgeCmd) @@ -336,7 +336,7 @@ class DeleteL2NetworkBridgeCase extends SubCase { } - def cmds = [] as SynchronizedList + def cmds = [] as SynchronizedList env.afterSimulator(VxlanNetworkPoolConstant.VXLAN_KVM_DELETE_L2VXLAN_NETWORK_PATH) { rsp, HttpEntity e -> def deleteVxlanBridgeCmd = JSONObjectUtil.toObject(e.body, VxlanKvmAgentCommands.DeleteVxlanBridgeCmd.class) cmds.add(deleteVxlanBridgeCmd) @@ -393,7 +393,7 @@ class DeleteL2NetworkBridgeCase extends SubCase { } - def cmds = [] as SynchronizedList + def cmds = [] as SynchronizedList env.afterSimulator(VxlanNetworkPoolConstant.VXLAN_KVM_DELETE_L2VXLAN_NETWORK_PATH) { rsp, HttpEntity e -> def deleteVxlanBridgeCmd = JSONObjectUtil.toObject(e.body, VxlanKvmAgentCommands.DeleteVxlanBridgeCmd.class) cmds.add(deleteVxlanBridgeCmd) @@ -431,7 +431,7 @@ class DeleteL2NetworkBridgeCase extends SubCase { return resp } - def cmds = [] as SynchronizedList + def cmds = [] as SynchronizedList env.afterSimulator(KVMConstant.KVM_DELETE_L2NOVLAN_NETWORK_PATH) { rsp, HttpEntity e -> def deleteBridgeCmd = JSONObjectUtil.toObject(e.body, KVMAgentCommands.DeleteBridgeCmd.class) cmds.add(deleteBridgeCmd) diff --git a/test/src/test/groovy/org/zstack/test/integration/network/sdnController/SdnControllerCase.groovy b/test/src/test/groovy/org/zstack/test/integration/network/sdnController/SdnControllerCase.groovy index c07c9c3314c..28f5a8a5557 100644 --- a/test/src/test/groovy/org/zstack/test/integration/network/sdnController/SdnControllerCase.groovy +++ b/test/src/test/groovy/org/zstack/test/integration/network/sdnController/SdnControllerCase.groovy @@ -13,6 +13,7 @@ import org.zstack.sdk.ZoneInventory import org.zstack.sdnController.SdnControllerGlobalConfig import org.zstack.sdnController.SdnControllerSystemTags import org.zstack.sdnController.h3cVcfc.H3cVcfcV2Commands +import org.zstack.sdnController.h3cVcfc.H3cVcfcCommands import org.zstack.header.network.sdncontroller.SdnControllerConstant import org.zstack.sdnController.header.H3cSdnControllerTenantVO import org.zstack.sdnController.header.H3cSdnControllerTenantVO_ @@ -374,8 +375,8 @@ class SdnControllerCase extends SubCase { void testSdnControllerPing() { // Setup mock simulator for successful controller creation env.simulator(H3cVcfcV2Commands.H3C_VCFC_GET_TOKEN) { HttpEntity e, EnvSpec spec -> - def rsp = new H3cVcfcV2Commands.LoginRsp() - rsp.record = new H3cVcfcV2Commands.LoginReply() + def rsp = new H3cVcfcCommands.LoginRsp() + rsp.record = new H3cVcfcCommands.LoginReply() rsp.record.token = "init-token-12345" rsp.record.userName = "user" rsp.record.domainName = "default" @@ -400,7 +401,7 @@ class SdnControllerCase extends SubCase { // Mock token retrieval failure to simulate ping failure env.simulator(H3cVcfcV2Commands.H3C_VCFC_GET_TOKEN) { HttpEntity e, EnvSpec spec -> - def rsp = new H3cVcfcV2Commands.LoginRsp() + def rsp = new H3cVcfcCommands.LoginRsp() rsp.record = null return rsp } @@ -413,8 +414,8 @@ class SdnControllerCase extends SubCase { // Mock token retrieval success to simulate ping recovery env.simulator(H3cVcfcV2Commands.H3C_VCFC_GET_TOKEN) { HttpEntity e, EnvSpec spec -> - def rsp = new H3cVcfcV2Commands.LoginRsp() - rsp.record = new H3cVcfcV2Commands.LoginReply() + def rsp = new H3cVcfcCommands.LoginRsp() + rsp.record = new H3cVcfcCommands.LoginReply() rsp.record.token = "test-token-12345" rsp.record.userName = "user" rsp.record.domainName = "default" @@ -436,8 +437,8 @@ class SdnControllerCase extends SubCase { void testSdnControllerReconnect() { // Setup mock simulator for successful controller creation env.simulator(H3cVcfcV2Commands.H3C_VCFC_GET_TOKEN) { HttpEntity e, EnvSpec spec -> - def rsp = new H3cVcfcV2Commands.LoginRsp() - rsp.record = new H3cVcfcV2Commands.LoginReply() + def rsp = new H3cVcfcCommands.LoginRsp() + rsp.record = new H3cVcfcCommands.LoginReply() rsp.record.token = "init-token-67890" rsp.record.userName = "user" rsp.record.domainName = "default" @@ -461,8 +462,8 @@ class SdnControllerCase extends SubCase { boolean reconnectCalled = false env.simulator(H3cVcfcV2Commands.H3C_VCFC_GET_TOKEN) { HttpEntity e, EnvSpec spec -> reconnectCalled = true - def rsp = new H3cVcfcV2Commands.LoginRsp() - rsp.record = new H3cVcfcV2Commands.LoginReply() + def rsp = new H3cVcfcCommands.LoginRsp() + rsp.record = new H3cVcfcCommands.LoginReply() rsp.record.token = "reconnect-token-67890" rsp.record.userName = "user" rsp.record.domainName = "default" diff --git a/test/src/test/groovy/org/zstack/test/integration/network/sdnController/SugonSdnControllerCase.groovy b/test/src/test/groovy/org/zstack/test/integration/network/sdnController/SugonSdnControllerCase.groovy index 8e28757ba5a..448e18e37c7 100644 --- a/test/src/test/groovy/org/zstack/test/integration/network/sdnController/SugonSdnControllerCase.groovy +++ b/test/src/test/groovy/org/zstack/test/integration/network/sdnController/SugonSdnControllerCase.groovy @@ -12,7 +12,7 @@ import org.zstack.sugonSdnController.controller.api.TfCommands import org.zstack.header.network.l3.L3NetworkVO; import org.zstack.testlib.EnvSpec import org.zstack.testlib.SubCase -import javax.persistence.TypedQuery; +import jakarta.persistence.TypedQuery; import org.springframework.http.ResponseEntity import org.springframework.http.HttpStatus diff --git a/test/src/test/groovy/org/zstack/test/integration/network/vxlanNetwork/AddVxlanVtepIpCase.groovy b/test/src/test/groovy/org/zstack/test/integration/network/vxlanNetwork/AddVxlanVtepIpCase.groovy index 0a483f6759b..7055aac65fa 100644 --- a/test/src/test/groovy/org/zstack/test/integration/network/vxlanNetwork/AddVxlanVtepIpCase.groovy +++ b/test/src/test/groovy/org/zstack/test/integration/network/vxlanNetwork/AddVxlanVtepIpCase.groovy @@ -274,7 +274,7 @@ class AddVxlanVtepIpCase extends SubCase { resp.setSuccess(true) return resp } - def cmds = [] as SynchronizedList + def cmds = [] as SynchronizedList env.afterSimulator(VxlanNetworkPoolConstant.VXLAN_KVM_POPULATE_FDB_L2VXLAN_NETWORKS_PATH) { rsp, HttpEntity e -> VxlanKvmAgentCommands.PopulateVxlanNetworksFdbCmd cmd = JSONObjectUtil.toObject(e.body, VxlanKvmAgentCommands.PopulateVxlanNetworksFdbCmd.class) cmds.add(cmd) diff --git a/test/src/test/groovy/org/zstack/test/integration/network/vxlanNetwork/VxlanLazyAttachCase.groovy b/test/src/test/groovy/org/zstack/test/integration/network/vxlanNetwork/VxlanLazyAttachCase.groovy index 25312b5e555..2354f456f6d 100644 --- a/test/src/test/groovy/org/zstack/test/integration/network/vxlanNetwork/VxlanLazyAttachCase.groovy +++ b/test/src/test/groovy/org/zstack/test/integration/network/vxlanNetwork/VxlanLazyAttachCase.groovy @@ -310,7 +310,7 @@ class VxlanLazyAttachCase extends SubCase { return rsp } - def realizeRecords = [] as SynchronizedList + def realizeRecords = [] as SynchronizedList List createBridgeCmds = new ArrayList<>() createBridgeCmds = Collections.synchronizedList(new ArrayList()) env.simulator(VxlanNetworkPoolConstant.VXLAN_KVM_REALIZE_L2VXLAN_NETWORK_PATH) { HttpEntity entity, EnvSpec spec -> diff --git a/test/src/test/groovy/org/zstack/test/integration/network/vxlanNetwork/VxlanVtepIpChangedCase.groovy b/test/src/test/groovy/org/zstack/test/integration/network/vxlanNetwork/VxlanVtepIpChangedCase.groovy index b480d241b8e..8e2d7e23a7f 100644 --- a/test/src/test/groovy/org/zstack/test/integration/network/vxlanNetwork/VxlanVtepIpChangedCase.groovy +++ b/test/src/test/groovy/org/zstack/test/integration/network/vxlanNetwork/VxlanVtepIpChangedCase.groovy @@ -242,14 +242,14 @@ class VxlanVtepIpChangedCase extends SubCase { return resp } - def records = [] as SynchronizedList + def records = [] as SynchronizedList env.simulator(VxlanNetworkPoolConstant.VXLAN_KVM_POPULATE_FDB_L2VXLAN_NETWORKS_PATH) { HttpEntity entity, EnvSpec spec -> def cmd = JSONObjectUtil.toObject(entity.body, VxlanKvmAgentCommands.PopulateVxlanNetworksFdbCmd.class) records.add(cmd.networkUuids) return new VxlanKvmAgentCommands.PopulateVxlanNetworksFdbCmd() } - def realizeRecords = [] as SynchronizedList + def realizeRecords = [] as SynchronizedList env.simulator(VxlanNetworkPoolConstant.VXLAN_KVM_REALIZE_L2VXLAN_NETWORKS_PATH) { HttpEntity entity, EnvSpec spec -> def cmd = JSONObjectUtil.toObject(entity.body, VxlanKvmAgentCommands.CreateVxlanBridgesCmd.class) for (VxlanKvmAgentCommands.CreateVxlanBridgeCmd bcmd : cmd.bridgeCmds) { diff --git a/test/src/test/groovy/org/zstack/test/integration/networkservice/provider/flat/dhcp/CheckFlatDhcpWorkCase.groovy b/test/src/test/groovy/org/zstack/test/integration/networkservice/provider/flat/dhcp/CheckFlatDhcpWorkCase.groovy index 3214f30911e..3e007b7d930 100644 --- a/test/src/test/groovy/org/zstack/test/integration/networkservice/provider/flat/dhcp/CheckFlatDhcpWorkCase.groovy +++ b/test/src/test/groovy/org/zstack/test/integration/networkservice/provider/flat/dhcp/CheckFlatDhcpWorkCase.groovy @@ -180,7 +180,7 @@ class CheckFlatDhcpWorkCase extends SubCase{ } void testFlatDhcpUpgrade() { - final L3NetworkInventory l32 = env.inventoryByName("l3-2") + L3NetworkInventory l32 = env.inventoryByName("l3-2") FlatNetworkSystemTags.L3_NETWORK_DHCP_IP.deleteInherentTag(l32.uuid) GetL3NetworkDhcpIpAddressResult ret = getL3NetworkDhcpIpAddress { l3NetworkUuid = l32.uuid @@ -197,8 +197,8 @@ class CheckFlatDhcpWorkCase extends SubCase{ void checkDhcpWork(){ VmInstanceInventory vm = env.inventoryByName("vm-1") - final L3NetworkInventory l31 = env.inventoryByName("l3-1") - final L3NetworkInventory l32 = env.inventoryByName("l3-2") + L3NetworkInventory l31 = env.inventoryByName("l3-1") + L3NetworkInventory l32 = env.inventoryByName("l3-2") VmNicInventory n = CollectionUtils.find(vm.getVmNics(), new Function() { @Override @@ -242,7 +242,7 @@ class CheckFlatDhcpWorkCase extends SubCase{ } void testDisableIpv4Dhcp(){ - final L3NetworkInventory l31 = env.inventoryByName("l3-1") + L3NetworkInventory l31 = env.inventoryByName("l3-1") VmInstanceInventory vm = env.inventoryByName("vm-1") List flushCmds = Collections.synchronizedList(new ArrayList()) @@ -365,7 +365,7 @@ class CheckFlatDhcpWorkCase extends SubCase{ } void testDisableDualStackDhcp(){ - final L3NetworkInventory l32 = env.inventoryByName("l3-2") + L3NetworkInventory l32 = env.inventoryByName("l3-2") List flushCmds = Collections.synchronizedList(new ArrayList()) env.afterSimulator(FlatDhcpBackend.DHCP_FLUSH_NAMESPACE_PATH) { rsp, HttpEntity e1 -> diff --git a/test/src/test/groovy/org/zstack/test/integration/networkservice/provider/virtualrouter/eip/VirtualRouterEipCase.groovy b/test/src/test/groovy/org/zstack/test/integration/networkservice/provider/virtualrouter/eip/VirtualRouterEipCase.groovy index 16f419eed12..064a249be99 100755 --- a/test/src/test/groovy/org/zstack/test/integration/networkservice/provider/virtualrouter/eip/VirtualRouterEipCase.groovy +++ b/test/src/test/groovy/org/zstack/test/integration/networkservice/provider/virtualrouter/eip/VirtualRouterEipCase.groovy @@ -19,7 +19,7 @@ import org.zstack.utils.CollectionUtils import org.zstack.utils.function.Function import org.zstack.utils.gson.JSONObjectUtil -import javax.persistence.Tuple +import jakarta.persistence.Tuple /** * Created by xing5 on 2017/3/7. diff --git a/test/src/test/groovy/org/zstack/test/integration/networkservice/provider/virtualrouter/securitygroup/AddSecurityGroupRulesCase.groovy b/test/src/test/groovy/org/zstack/test/integration/networkservice/provider/virtualrouter/securitygroup/AddSecurityGroupRulesCase.groovy index 887b391c970..b4b31deac8b 100644 --- a/test/src/test/groovy/org/zstack/test/integration/networkservice/provider/virtualrouter/securitygroup/AddSecurityGroupRulesCase.groovy +++ b/test/src/test/groovy/org/zstack/test/integration/networkservice/provider/virtualrouter/securitygroup/AddSecurityGroupRulesCase.groovy @@ -69,8 +69,8 @@ class AddSecurityGroupRulesCase extends SubCase{ APIAddSecurityGroupRuleMsg.SecurityGroupRuleAO rule = new APIAddSecurityGroupRuleMsg.SecurityGroupRuleAO( type: i % 2 == 0 ? "Ingress" : "Egress", ipVersion: 4, - startPort: 10000 + i / 2, - endPort: 10000 + i / 2, + startPort: 10000 + i.intdiv(2), + endPort: 10000 + i.intdiv(2), allowedCidr: "192.168.100.0/24", protocol: "TCP" ) diff --git a/test/src/test/groovy/org/zstack/test/integration/rest/CleanRestAPIVOCase.groovy b/test/src/test/groovy/org/zstack/test/integration/rest/CleanRestAPIVOCase.groovy index 8a12b2467c2..52e23d7d025 100644 --- a/test/src/test/groovy/org/zstack/test/integration/rest/CleanRestAPIVOCase.groovy +++ b/test/src/test/groovy/org/zstack/test/integration/rest/CleanRestAPIVOCase.groovy @@ -8,10 +8,10 @@ import org.zstack.test.integration.ZStackTest import org.zstack.testlib.EnvSpec import org.zstack.testlib.SubCase -import javax.persistence.EntityManager -import javax.persistence.EntityManagerFactory -import javax.persistence.EntityTransaction -import javax.persistence.Query +import jakarta.persistence.EntityManager +import jakarta.persistence.EntityManagerFactory +import jakarta.persistence.EntityTransaction +import jakarta.persistence.Query import java.sql.Timestamp import java.util.concurrent.TimeUnit; diff --git a/test/src/test/groovy/org/zstack/test/integration/storage/primary/nfs/MultiNfsAttachMultiClusterMultiHostCase.groovy b/test/src/test/groovy/org/zstack/test/integration/storage/primary/nfs/MultiNfsAttachMultiClusterMultiHostCase.groovy index 18bc459632e..74346ec79fc 100644 --- a/test/src/test/groovy/org/zstack/test/integration/storage/primary/nfs/MultiNfsAttachMultiClusterMultiHostCase.groovy +++ b/test/src/test/groovy/org/zstack/test/integration/storage/primary/nfs/MultiNfsAttachMultiClusterMultiHostCase.groovy @@ -37,7 +37,7 @@ import org.zstack.testlib.NfsPrimaryStorageSpec import org.zstack.testlib.SubCase import org.zstack.utils.gson.JSONObjectUtil -import javax.persistence.Tuple +import jakarta.persistence.Tuple /** * Created by MaJin on 2017-05-08. diff --git a/test/src/test/groovy/org/zstack/test/integration/storage/snapshot/SnapshotMaxIncrementalCase.groovy b/test/src/test/groovy/org/zstack/test/integration/storage/snapshot/SnapshotMaxIncrementalCase.groovy index d88e4d35418..ca8695424cc 100644 --- a/test/src/test/groovy/org/zstack/test/integration/storage/snapshot/SnapshotMaxIncrementalCase.groovy +++ b/test/src/test/groovy/org/zstack/test/integration/storage/snapshot/SnapshotMaxIncrementalCase.groovy @@ -147,7 +147,7 @@ class SnapshotMaxIncrementalCase extends SubCase { } assert Q.New(VolumeSnapshotVO.class).count() == 100 - int expectedTreeCount = ((100 + 1) + MaxIncrementalSnapshot) / (MaxIncrementalSnapshot + 1) + int expectedTreeCount = ((100 + 1) + MaxIncrementalSnapshot).intdiv(MaxIncrementalSnapshot + 1) assert Q.New(VolumeSnapshotTreeVO.class).count() == expectedTreeCount def threads = [] diff --git a/test/src/test/java/org/zstack/test/ObjectFactory.java b/test/src/test/java/org/zstack/test/ObjectFactory.java index 6842cfd0888..cfeaa918a9b 100755 --- a/test/src/test/java/org/zstack/test/ObjectFactory.java +++ b/test/src/test/java/org/zstack/test/ObjectFactory.java @@ -8,7 +8,7 @@ package org.zstack.test; -import javax.xml.bind.annotation.XmlRegistry; +import jakarta.xml.bind.annotation.XmlRegistry; /** diff --git a/test/src/test/java/org/zstack/test/SdkWebHookController.java b/test/src/test/java/org/zstack/test/SdkWebHookController.java index b6cad1a0a47..6c529909793 100755 --- a/test/src/test/java/org/zstack/test/SdkWebHookController.java +++ b/test/src/test/java/org/zstack/test/SdkWebHookController.java @@ -6,8 +6,8 @@ import org.zstack.rest.RestConstants; import org.zstack.sdk.ZSClient; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; import java.io.IOException; import java.lang.reflect.InvocationTargetException; diff --git a/test/src/test/java/org/zstack/test/UnitTestSuite.java b/test/src/test/java/org/zstack/test/UnitTestSuite.java index fa77e439209..70638e0f856 100755 --- a/test/src/test/java/org/zstack/test/UnitTestSuite.java +++ b/test/src/test/java/org/zstack/test/UnitTestSuite.java @@ -13,9 +13,9 @@ import org.zstack.utils.logging.CLogger; import org.zstack.utils.path.PathUtil; -import javax.xml.bind.JAXBContext; -import javax.xml.bind.JAXBException; -import javax.xml.bind.Unmarshaller; +import jakarta.xml.bind.JAXBContext; +import jakarta.xml.bind.JAXBException; +import jakarta.xml.bind.Unmarshaller; import java.io.File; import java.io.IOException; import java.util.*; diff --git a/test/src/test/java/org/zstack/test/UnitTestSuiteConfig.java b/test/src/test/java/org/zstack/test/UnitTestSuiteConfig.java index b76a32953c4..e0082138929 100755 --- a/test/src/test/java/org/zstack/test/UnitTestSuiteConfig.java +++ b/test/src/test/java/org/zstack/test/UnitTestSuiteConfig.java @@ -8,7 +8,7 @@ package org.zstack.test; -import javax.xml.bind.annotation.*; +import jakarta.xml.bind.annotation.*; import java.util.ArrayList; import java.util.List; diff --git a/test/src/test/java/org/zstack/test/cascade/TestCascadeDeletion21.java b/test/src/test/java/org/zstack/test/cascade/TestCascadeDeletion21.java index 1bde7dabda9..6986f2ca0c2 100755 --- a/test/src/test/java/org/zstack/test/cascade/TestCascadeDeletion21.java +++ b/test/src/test/java/org/zstack/test/cascade/TestCascadeDeletion21.java @@ -17,7 +17,7 @@ import org.zstack.test.WebBeanConstructor; import org.zstack.test.deployer.Deployer; -import javax.persistence.Query; +import jakarta.persistence.Query; import java.math.BigInteger; import java.util.concurrent.Callable; @@ -69,7 +69,7 @@ public void test() throws ApiSenderException, InterruptedException { public Long call() { String sql = "select count(*) from ApplianceVmVO"; Query q = dbf.getEntityManager().createNativeQuery(sql); - BigInteger ret = (BigInteger) q.getSingleResult(); + Number ret = (Number) q.getSingleResult(); return ret.longValue(); } }.call(); 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..d03f883c77f 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 @@ -32,7 +32,7 @@ public void test() throws InterruptedException, ApiSenderException { ZoneInventory zone = api.createZones(1).get(0); ClusterInventory cluster = api.createClusters(1, zone.getUuid()).get(0); ClusterVO vo = dbf.findByUuid(cluster.getUuid(), ClusterVO.class); - Assert.notNull(vo); + Assert.notNull(vo, "ClusterVO must not be null"); } finally { api.stopServer(); } 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..04edf76d9b7 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 @@ -20,8 +20,8 @@ import org.zstack.utils.data.SizeUnit; import org.zstack.utils.network.NetworkUtils; -import javax.persistence.Tuple; -import javax.persistence.TypedQuery; +import jakarta.persistence.Tuple; +import jakarta.persistence.TypedQuery; import java.util.List; import java.util.concurrent.Callable; 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..5be28b35c57 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 @@ -18,7 +18,7 @@ import org.zstack.utils.CollectionUtils; import org.zstack.utils.function.Function; -import javax.persistence.TypedQuery; +import jakarta.persistence.TypedQuery; import java.util.List; /** diff --git a/test/src/test/java/org/zstack/test/core/db/PersonVO.java b/test/src/test/java/org/zstack/test/core/db/PersonVO.java index f15cc482070..a502b81ab3a 100755 --- a/test/src/test/java/org/zstack/test/core/db/PersonVO.java +++ b/test/src/test/java/org/zstack/test/core/db/PersonVO.java @@ -2,7 +2,7 @@ import org.zstack.header.vo.Uuid; -import javax.persistence.*; +import jakarta.persistence.*; import java.util.Date; @Entity diff --git a/test/src/test/java/org/zstack/test/core/db/PersonVO_.java b/test/src/test/java/org/zstack/test/core/db/PersonVO_.java index fc6913f4b75..b7b9a56615a 100755 --- a/test/src/test/java/org/zstack/test/core/db/PersonVO_.java +++ b/test/src/test/java/org/zstack/test/core/db/PersonVO_.java @@ -2,8 +2,8 @@ import org.zstack.test.core.db.PersonVO.Sex; -import javax.persistence.metamodel.SingularAttribute; -import javax.persistence.metamodel.StaticMetamodel; +import jakarta.persistence.metamodel.SingularAttribute; +import jakarta.persistence.metamodel.StaticMetamodel; import java.util.Date; @StaticMetamodel(PersonVO.class) diff --git a/test/src/test/java/org/zstack/test/core/db/TestSimpleQuery.java b/test/src/test/java/org/zstack/test/core/db/TestSimpleQuery.java index cce2a5f6c33..6351e9f2f5b 100755 --- a/test/src/test/java/org/zstack/test/core/db/TestSimpleQuery.java +++ b/test/src/test/java/org/zstack/test/core/db/TestSimpleQuery.java @@ -15,7 +15,7 @@ import org.zstack.test.DBUtil; import org.zstack.test.core.db.PersonVO.Sex; -import javax.persistence.Tuple; +import jakarta.persistence.Tuple; import java.util.Date; import java.util.List; diff --git a/test/src/test/java/org/zstack/test/core/rest/RESTBeanForTest.java b/test/src/test/java/org/zstack/test/core/rest/RESTBeanForTest.java index 1469abbe359..29eafafc20f 100755 --- a/test/src/test/java/org/zstack/test/core/rest/RESTBeanForTest.java +++ b/test/src/test/java/org/zstack/test/core/rest/RESTBeanForTest.java @@ -13,8 +13,8 @@ import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.concurrent.TimeUnit; 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..9473593ee67 100755 --- a/test/src/test/java/org/zstack/test/deployer/Deployer.java +++ b/test/src/test/java/org/zstack/test/deployer/Deployer.java @@ -37,8 +37,8 @@ import org.zstack.utils.gson.JSONObjectUtil; import org.zstack.utils.logging.CLogger; -import javax.xml.bind.JAXBContext; -import javax.xml.bind.Unmarshaller; +import jakarta.xml.bind.JAXBContext; +import jakarta.xml.bind.Unmarshaller; import java.io.IOException; import java.lang.reflect.Field; import java.lang.reflect.ParameterizedType; diff --git a/test/src/test/java/org/zstack/test/deployer/DeployerValidator.java b/test/src/test/java/org/zstack/test/deployer/DeployerValidator.java index 0d67e4cc00a..19b13d9aee5 100755 --- a/test/src/test/java/org/zstack/test/deployer/DeployerValidator.java +++ b/test/src/test/java/org/zstack/test/deployer/DeployerValidator.java @@ -5,9 +5,9 @@ import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; -import javax.xml.bind.annotation.XmlAttribute; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlType; +import jakarta.xml.bind.annotation.XmlAttribute; +import jakarta.xml.bind.annotation.XmlElement; +import jakarta.xml.bind.annotation.XmlType; import java.lang.reflect.Field; import java.util.Collection; diff --git a/test/src/test/java/org/zstack/test/deployer/schema/AccountConfig.java b/test/src/test/java/org/zstack/test/deployer/schema/AccountConfig.java index 9ad15d95528..659e85cf152 100644 --- a/test/src/test/java/org/zstack/test/deployer/schema/AccountConfig.java +++ b/test/src/test/java/org/zstack/test/deployer/schema/AccountConfig.java @@ -1,9 +1,9 @@ package org.zstack.test.deployer.schema; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlAttribute; -import javax.xml.bind.annotation.XmlType; +import jakarta.xml.bind.annotation.XmlAccessType; +import jakarta.xml.bind.annotation.XmlAccessorType; +import jakarta.xml.bind.annotation.XmlAttribute; +import jakarta.xml.bind.annotation.XmlType; import java.util.ArrayList; import java.util.List; 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..fc4e5cf5281 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,6 @@ package org.zstack.test.deployer.schema; -import javax.xml.bind.annotation.*; +import jakarta.xml.bind.annotation.*; /** diff --git a/test/src/test/java/org/zstack/test/deployer/schema/BackupStorageUnion.java b/test/src/test/java/org/zstack/test/deployer/schema/BackupStorageUnion.java index 8fc59877b2d..3b10c59b4b2 100644 --- a/test/src/test/java/org/zstack/test/deployer/schema/BackupStorageUnion.java +++ b/test/src/test/java/org/zstack/test/deployer/schema/BackupStorageUnion.java @@ -1,8 +1,8 @@ package org.zstack.test.deployer.schema; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlType; +import jakarta.xml.bind.annotation.XmlAccessType; +import jakarta.xml.bind.annotation.XmlAccessorType; +import jakarta.xml.bind.annotation.XmlType; import java.util.ArrayList; import java.util.List; diff --git a/test/src/test/java/org/zstack/test/deployer/schema/CephBackupStorageConfig.java b/test/src/test/java/org/zstack/test/deployer/schema/CephBackupStorageConfig.java index cf746a14996..d526a255497 100644 --- a/test/src/test/java/org/zstack/test/deployer/schema/CephBackupStorageConfig.java +++ b/test/src/test/java/org/zstack/test/deployer/schema/CephBackupStorageConfig.java @@ -1,9 +1,9 @@ package org.zstack.test.deployer.schema; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlAttribute; -import javax.xml.bind.annotation.XmlType; +import jakarta.xml.bind.annotation.XmlAccessType; +import jakarta.xml.bind.annotation.XmlAccessorType; +import jakarta.xml.bind.annotation.XmlAttribute; +import jakarta.xml.bind.annotation.XmlType; /** diff --git a/test/src/test/java/org/zstack/test/deployer/schema/CephPrimaryStorageConfig.java b/test/src/test/java/org/zstack/test/deployer/schema/CephPrimaryStorageConfig.java index 511af5b5e1c..b0e645aae56 100644 --- a/test/src/test/java/org/zstack/test/deployer/schema/CephPrimaryStorageConfig.java +++ b/test/src/test/java/org/zstack/test/deployer/schema/CephPrimaryStorageConfig.java @@ -1,9 +1,9 @@ package org.zstack.test.deployer.schema; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlAttribute; -import javax.xml.bind.annotation.XmlType; +import jakarta.xml.bind.annotation.XmlAccessType; +import jakarta.xml.bind.annotation.XmlAccessorType; +import jakarta.xml.bind.annotation.XmlAttribute; +import jakarta.xml.bind.annotation.XmlType; /** diff --git a/test/src/test/java/org/zstack/test/deployer/schema/ClusterConfig.java b/test/src/test/java/org/zstack/test/deployer/schema/ClusterConfig.java index e59616a1c1e..64fb02786c6 100644 --- a/test/src/test/java/org/zstack/test/deployer/schema/ClusterConfig.java +++ b/test/src/test/java/org/zstack/test/deployer/schema/ClusterConfig.java @@ -1,9 +1,9 @@ package org.zstack.test.deployer.schema; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlAttribute; -import javax.xml.bind.annotation.XmlType; +import jakarta.xml.bind.annotation.XmlAccessType; +import jakarta.xml.bind.annotation.XmlAccessorType; +import jakarta.xml.bind.annotation.XmlAttribute; +import jakarta.xml.bind.annotation.XmlType; import java.util.ArrayList; import java.util.List; diff --git a/test/src/test/java/org/zstack/test/deployer/schema/ClusterUnion.java b/test/src/test/java/org/zstack/test/deployer/schema/ClusterUnion.java index 26c3c605b05..cebe7a78f36 100644 --- a/test/src/test/java/org/zstack/test/deployer/schema/ClusterUnion.java +++ b/test/src/test/java/org/zstack/test/deployer/schema/ClusterUnion.java @@ -1,8 +1,8 @@ package org.zstack.test.deployer.schema; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlType; +import jakarta.xml.bind.annotation.XmlAccessType; +import jakarta.xml.bind.annotation.XmlAccessorType; +import jakarta.xml.bind.annotation.XmlType; import java.util.ArrayList; import java.util.List; diff --git a/test/src/test/java/org/zstack/test/deployer/schema/ConvergedOfferingConfig.java b/test/src/test/java/org/zstack/test/deployer/schema/ConvergedOfferingConfig.java index 10d4f8be80b..feb25bc152d 100644 --- a/test/src/test/java/org/zstack/test/deployer/schema/ConvergedOfferingConfig.java +++ b/test/src/test/java/org/zstack/test/deployer/schema/ConvergedOfferingConfig.java @@ -1,9 +1,9 @@ package org.zstack.test.deployer.schema; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlSchemaType; -import javax.xml.bind.annotation.XmlType; +import jakarta.xml.bind.annotation.XmlAccessType; +import jakarta.xml.bind.annotation.XmlAccessorType; +import jakarta.xml.bind.annotation.XmlSchemaType; +import jakarta.xml.bind.annotation.XmlType; /** diff --git a/test/src/test/java/org/zstack/test/deployer/schema/DeployerConfig.java b/test/src/test/java/org/zstack/test/deployer/schema/DeployerConfig.java index 4a2baea4d0e..410159ac0d4 100644 --- a/test/src/test/java/org/zstack/test/deployer/schema/DeployerConfig.java +++ b/test/src/test/java/org/zstack/test/deployer/schema/DeployerConfig.java @@ -1,9 +1,9 @@ package org.zstack.test.deployer.schema; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlRootElement; -import javax.xml.bind.annotation.XmlType; +import jakarta.xml.bind.annotation.XmlAccessType; +import jakarta.xml.bind.annotation.XmlAccessorType; +import jakarta.xml.bind.annotation.XmlRootElement; +import jakarta.xml.bind.annotation.XmlType; import java.util.ArrayList; import java.util.List; diff --git a/test/src/test/java/org/zstack/test/deployer/schema/DiskOfferingConfig.java b/test/src/test/java/org/zstack/test/deployer/schema/DiskOfferingConfig.java index 8feb3ae4af3..ab8fc4bbdc1 100644 --- a/test/src/test/java/org/zstack/test/deployer/schema/DiskOfferingConfig.java +++ b/test/src/test/java/org/zstack/test/deployer/schema/DiskOfferingConfig.java @@ -1,9 +1,9 @@ package org.zstack.test.deployer.schema; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlAttribute; -import javax.xml.bind.annotation.XmlType; +import jakarta.xml.bind.annotation.XmlAccessType; +import jakarta.xml.bind.annotation.XmlAccessorType; +import jakarta.xml.bind.annotation.XmlAttribute; +import jakarta.xml.bind.annotation.XmlType; /** diff --git a/test/src/test/java/org/zstack/test/deployer/schema/DnsConfig.java b/test/src/test/java/org/zstack/test/deployer/schema/DnsConfig.java index 08b03576577..e33cd385674 100644 --- a/test/src/test/java/org/zstack/test/deployer/schema/DnsConfig.java +++ b/test/src/test/java/org/zstack/test/deployer/schema/DnsConfig.java @@ -1,9 +1,9 @@ package org.zstack.test.deployer.schema; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlAttribute; -import javax.xml.bind.annotation.XmlType; +import jakarta.xml.bind.annotation.XmlAccessType; +import jakarta.xml.bind.annotation.XmlAccessorType; +import jakarta.xml.bind.annotation.XmlAttribute; +import jakarta.xml.bind.annotation.XmlType; /** diff --git a/test/src/test/java/org/zstack/test/deployer/schema/EipConfig.java b/test/src/test/java/org/zstack/test/deployer/schema/EipConfig.java index 3fe2dc2e2eb..75716ee4c25 100644 --- a/test/src/test/java/org/zstack/test/deployer/schema/EipConfig.java +++ b/test/src/test/java/org/zstack/test/deployer/schema/EipConfig.java @@ -1,8 +1,8 @@ package org.zstack.test.deployer.schema; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlType; +import jakarta.xml.bind.annotation.XmlAccessType; +import jakarta.xml.bind.annotation.XmlAccessorType; +import jakarta.xml.bind.annotation.XmlType; /** diff --git a/test/src/test/java/org/zstack/test/deployer/schema/EipUnion.java b/test/src/test/java/org/zstack/test/deployer/schema/EipUnion.java index 7fff20678cc..f0f5726ac91 100644 --- a/test/src/test/java/org/zstack/test/deployer/schema/EipUnion.java +++ b/test/src/test/java/org/zstack/test/deployer/schema/EipUnion.java @@ -1,8 +1,8 @@ package org.zstack.test.deployer.schema; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlType; +import jakarta.xml.bind.annotation.XmlAccessType; +import jakarta.xml.bind.annotation.XmlAccessorType; +import jakarta.xml.bind.annotation.XmlType; import java.util.ArrayList; import java.util.List; diff --git a/test/src/test/java/org/zstack/test/deployer/schema/GroupConfig.java b/test/src/test/java/org/zstack/test/deployer/schema/GroupConfig.java index 7aa1a64e887..d4b856d3d55 100644 --- a/test/src/test/java/org/zstack/test/deployer/schema/GroupConfig.java +++ b/test/src/test/java/org/zstack/test/deployer/schema/GroupConfig.java @@ -1,9 +1,9 @@ package org.zstack.test.deployer.schema; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlAttribute; -import javax.xml.bind.annotation.XmlType; +import jakarta.xml.bind.annotation.XmlAccessType; +import jakarta.xml.bind.annotation.XmlAccessorType; +import jakarta.xml.bind.annotation.XmlAttribute; +import jakarta.xml.bind.annotation.XmlType; import java.util.ArrayList; import java.util.List; 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..49bcdbc908d 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,6 @@ package org.zstack.test.deployer.schema; -import javax.xml.bind.annotation.*; +import jakarta.xml.bind.annotation.*; import java.util.ArrayList; import java.util.List; diff --git a/test/src/test/java/org/zstack/test/deployer/schema/HostUnion.java b/test/src/test/java/org/zstack/test/deployer/schema/HostUnion.java index b8306cac3be..2f0f2c8ba3d 100644 --- a/test/src/test/java/org/zstack/test/deployer/schema/HostUnion.java +++ b/test/src/test/java/org/zstack/test/deployer/schema/HostUnion.java @@ -1,8 +1,8 @@ package org.zstack.test.deployer.schema; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlType; +import jakarta.xml.bind.annotation.XmlAccessType; +import jakarta.xml.bind.annotation.XmlAccessorType; +import jakarta.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..8a1c989096e 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,6 @@ package org.zstack.test.deployer.schema; -import javax.xml.bind.annotation.*; +import jakarta.xml.bind.annotation.*; import java.util.ArrayList; import java.util.List; diff --git a/test/src/test/java/org/zstack/test/deployer/schema/ImageStoreBackupStorageConfig.java b/test/src/test/java/org/zstack/test/deployer/schema/ImageStoreBackupStorageConfig.java index 2456f5878e5..9f41060f3c4 100644 --- a/test/src/test/java/org/zstack/test/deployer/schema/ImageStoreBackupStorageConfig.java +++ b/test/src/test/java/org/zstack/test/deployer/schema/ImageStoreBackupStorageConfig.java @@ -1,9 +1,9 @@ package org.zstack.test.deployer.schema; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlAttribute; -import javax.xml.bind.annotation.XmlType; +import jakarta.xml.bind.annotation.XmlAccessType; +import jakarta.xml.bind.annotation.XmlAccessorType; +import jakarta.xml.bind.annotation.XmlAttribute; +import jakarta.xml.bind.annotation.XmlType; /** diff --git a/test/src/test/java/org/zstack/test/deployer/schema/ImageUnion.java b/test/src/test/java/org/zstack/test/deployer/schema/ImageUnion.java index 247bdeed784..0c510bb7fcd 100644 --- a/test/src/test/java/org/zstack/test/deployer/schema/ImageUnion.java +++ b/test/src/test/java/org/zstack/test/deployer/schema/ImageUnion.java @@ -1,8 +1,8 @@ package org.zstack.test.deployer.schema; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlType; +import jakarta.xml.bind.annotation.XmlAccessType; +import jakarta.xml.bind.annotation.XmlAccessorType; +import jakarta.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..2c8fee16807 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,6 @@ package org.zstack.test.deployer.schema; -import javax.xml.bind.annotation.*; +import jakarta.xml.bind.annotation.*; /** diff --git a/test/src/test/java/org/zstack/test/deployer/schema/InstanceOfferingUnion.java b/test/src/test/java/org/zstack/test/deployer/schema/InstanceOfferingUnion.java index d75f6ccc78f..5ede9dfd6a2 100644 --- a/test/src/test/java/org/zstack/test/deployer/schema/InstanceOfferingUnion.java +++ b/test/src/test/java/org/zstack/test/deployer/schema/InstanceOfferingUnion.java @@ -1,8 +1,8 @@ package org.zstack.test.deployer.schema; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlType; +import jakarta.xml.bind.annotation.XmlAccessType; +import jakarta.xml.bind.annotation.XmlAccessorType; +import jakarta.xml.bind.annotation.XmlType; import java.util.ArrayList; import java.util.List; diff --git a/test/src/test/java/org/zstack/test/deployer/schema/IpRangeConfig.java b/test/src/test/java/org/zstack/test/deployer/schema/IpRangeConfig.java index c1ac3921b2e..9f4b40f81d6 100644 --- a/test/src/test/java/org/zstack/test/deployer/schema/IpRangeConfig.java +++ b/test/src/test/java/org/zstack/test/deployer/schema/IpRangeConfig.java @@ -1,9 +1,9 @@ package org.zstack.test.deployer.schema; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlAttribute; -import javax.xml.bind.annotation.XmlType; +import jakarta.xml.bind.annotation.XmlAccessType; +import jakarta.xml.bind.annotation.XmlAccessorType; +import jakarta.xml.bind.annotation.XmlAttribute; +import jakarta.xml.bind.annotation.XmlType; /** diff --git a/test/src/test/java/org/zstack/test/deployer/schema/IscsiFileSystemPrimaryStorageConfig.java b/test/src/test/java/org/zstack/test/deployer/schema/IscsiFileSystemPrimaryStorageConfig.java index d9c7981bf57..c3ba9f80528 100644 --- a/test/src/test/java/org/zstack/test/deployer/schema/IscsiFileSystemPrimaryStorageConfig.java +++ b/test/src/test/java/org/zstack/test/deployer/schema/IscsiFileSystemPrimaryStorageConfig.java @@ -1,9 +1,9 @@ package org.zstack.test.deployer.schema; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlAttribute; -import javax.xml.bind.annotation.XmlType; +import jakarta.xml.bind.annotation.XmlAccessType; +import jakarta.xml.bind.annotation.XmlAccessorType; +import jakarta.xml.bind.annotation.XmlAttribute; +import jakarta.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..f156ff663cd 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,6 @@ package org.zstack.test.deployer.schema; -import javax.xml.bind.annotation.*; +import jakarta.xml.bind.annotation.*; /** diff --git a/test/src/test/java/org/zstack/test/deployer/schema/L2NetworkUnion.java b/test/src/test/java/org/zstack/test/deployer/schema/L2NetworkUnion.java index 3aa27ae1101..bb0d95cef60 100644 --- a/test/src/test/java/org/zstack/test/deployer/schema/L2NetworkUnion.java +++ b/test/src/test/java/org/zstack/test/deployer/schema/L2NetworkUnion.java @@ -1,8 +1,8 @@ package org.zstack.test.deployer.schema; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlType; +import jakarta.xml.bind.annotation.XmlAccessType; +import jakarta.xml.bind.annotation.XmlAccessorType; +import jakarta.xml.bind.annotation.XmlType; import java.util.ArrayList; import java.util.List; 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..91977cdcb4a 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,6 @@ package org.zstack.test.deployer.schema; -import javax.xml.bind.annotation.*; +import jakarta.xml.bind.annotation.*; /** 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..5a6b1dda72c 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,6 @@ package org.zstack.test.deployer.schema; -import javax.xml.bind.annotation.*; +import jakarta.xml.bind.annotation.*; /** diff --git a/test/src/test/java/org/zstack/test/deployer/schema/L3BasicNetworkConfig.java b/test/src/test/java/org/zstack/test/deployer/schema/L3BasicNetworkConfig.java index 79378a29af4..4d8729224c9 100644 --- a/test/src/test/java/org/zstack/test/deployer/schema/L3BasicNetworkConfig.java +++ b/test/src/test/java/org/zstack/test/deployer/schema/L3BasicNetworkConfig.java @@ -1,9 +1,9 @@ package org.zstack.test.deployer.schema; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlAttribute; -import javax.xml.bind.annotation.XmlType; +import jakarta.xml.bind.annotation.XmlAccessType; +import jakarta.xml.bind.annotation.XmlAccessorType; +import jakarta.xml.bind.annotation.XmlAttribute; +import jakarta.xml.bind.annotation.XmlType; import java.util.ArrayList; import java.util.List; diff --git a/test/src/test/java/org/zstack/test/deployer/schema/L3NetworkUnion.java b/test/src/test/java/org/zstack/test/deployer/schema/L3NetworkUnion.java index 4019cec0e92..0772d43a406 100644 --- a/test/src/test/java/org/zstack/test/deployer/schema/L3NetworkUnion.java +++ b/test/src/test/java/org/zstack/test/deployer/schema/L3NetworkUnion.java @@ -1,8 +1,8 @@ package org.zstack.test.deployer.schema; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlType; +import jakarta.xml.bind.annotation.XmlAccessType; +import jakarta.xml.bind.annotation.XmlAccessorType; +import jakarta.xml.bind.annotation.XmlType; import java.util.ArrayList; import java.util.List; diff --git a/test/src/test/java/org/zstack/test/deployer/schema/LbConfig.java b/test/src/test/java/org/zstack/test/deployer/schema/LbConfig.java index 50a3ce3b40d..6bc898540a4 100644 --- a/test/src/test/java/org/zstack/test/deployer/schema/LbConfig.java +++ b/test/src/test/java/org/zstack/test/deployer/schema/LbConfig.java @@ -1,8 +1,8 @@ package org.zstack.test.deployer.schema; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlType; +import jakarta.xml.bind.annotation.XmlAccessType; +import jakarta.xml.bind.annotation.XmlAccessorType; +import jakarta.xml.bind.annotation.XmlType; import java.util.ArrayList; import java.util.List; diff --git a/test/src/test/java/org/zstack/test/deployer/schema/LbListenerConfig.java b/test/src/test/java/org/zstack/test/deployer/schema/LbListenerConfig.java index 216da40ae8f..c18f30c8110 100644 --- a/test/src/test/java/org/zstack/test/deployer/schema/LbListenerConfig.java +++ b/test/src/test/java/org/zstack/test/deployer/schema/LbListenerConfig.java @@ -1,9 +1,9 @@ package org.zstack.test.deployer.schema; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlSchemaType; -import javax.xml.bind.annotation.XmlType; +import jakarta.xml.bind.annotation.XmlAccessType; +import jakarta.xml.bind.annotation.XmlAccessorType; +import jakarta.xml.bind.annotation.XmlSchemaType; +import jakarta.xml.bind.annotation.XmlType; import java.util.ArrayList; import java.util.List; diff --git a/test/src/test/java/org/zstack/test/deployer/schema/LbUnion.java b/test/src/test/java/org/zstack/test/deployer/schema/LbUnion.java index 4d2c71e4796..a9f2b46da67 100644 --- a/test/src/test/java/org/zstack/test/deployer/schema/LbUnion.java +++ b/test/src/test/java/org/zstack/test/deployer/schema/LbUnion.java @@ -1,8 +1,8 @@ package org.zstack.test.deployer.schema; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlType; +import jakarta.xml.bind.annotation.XmlAccessType; +import jakarta.xml.bind.annotation.XmlAccessorType; +import jakarta.xml.bind.annotation.XmlType; import java.util.ArrayList; import java.util.List; diff --git a/test/src/test/java/org/zstack/test/deployer/schema/LocalPrimaryStorageConfig.java b/test/src/test/java/org/zstack/test/deployer/schema/LocalPrimaryStorageConfig.java index 60849bd2fbb..7002cbf8c52 100644 --- a/test/src/test/java/org/zstack/test/deployer/schema/LocalPrimaryStorageConfig.java +++ b/test/src/test/java/org/zstack/test/deployer/schema/LocalPrimaryStorageConfig.java @@ -1,9 +1,9 @@ package org.zstack.test.deployer.schema; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlAttribute; -import javax.xml.bind.annotation.XmlType; +import jakarta.xml.bind.annotation.XmlAccessType; +import jakarta.xml.bind.annotation.XmlAccessorType; +import jakarta.xml.bind.annotation.XmlAttribute; +import jakarta.xml.bind.annotation.XmlType; /** diff --git a/test/src/test/java/org/zstack/test/deployer/schema/NetworkServiceConfig.java b/test/src/test/java/org/zstack/test/deployer/schema/NetworkServiceConfig.java index 77e556cbfc2..55fce425254 100644 --- a/test/src/test/java/org/zstack/test/deployer/schema/NetworkServiceConfig.java +++ b/test/src/test/java/org/zstack/test/deployer/schema/NetworkServiceConfig.java @@ -1,9 +1,9 @@ package org.zstack.test.deployer.schema; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlAttribute; -import javax.xml.bind.annotation.XmlType; +import jakarta.xml.bind.annotation.XmlAccessType; +import jakarta.xml.bind.annotation.XmlAccessorType; +import jakarta.xml.bind.annotation.XmlAttribute; +import jakarta.xml.bind.annotation.XmlType; import java.util.ArrayList; import java.util.List; diff --git a/test/src/test/java/org/zstack/test/deployer/schema/NfsPrimaryStorageConfig.java b/test/src/test/java/org/zstack/test/deployer/schema/NfsPrimaryStorageConfig.java index f3bdff6d2fd..42f2759edfa 100644 --- a/test/src/test/java/org/zstack/test/deployer/schema/NfsPrimaryStorageConfig.java +++ b/test/src/test/java/org/zstack/test/deployer/schema/NfsPrimaryStorageConfig.java @@ -1,9 +1,9 @@ package org.zstack.test.deployer.schema; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlAttribute; -import javax.xml.bind.annotation.XmlType; +import jakarta.xml.bind.annotation.XmlAccessType; +import jakarta.xml.bind.annotation.XmlAccessorType; +import jakarta.xml.bind.annotation.XmlAttribute; +import jakarta.xml.bind.annotation.XmlType; /** diff --git a/test/src/test/java/org/zstack/test/deployer/schema/ObjectFactory.java b/test/src/test/java/org/zstack/test/deployer/schema/ObjectFactory.java index 33a9bfb57a1..62659228ed6 100644 --- a/test/src/test/java/org/zstack/test/deployer/schema/ObjectFactory.java +++ b/test/src/test/java/org/zstack/test/deployer/schema/ObjectFactory.java @@ -1,6 +1,6 @@ package org.zstack.test.deployer.schema; -import javax.xml.bind.annotation.XmlRegistry; +import jakarta.xml.bind.annotation.XmlRegistry; /** diff --git a/test/src/test/java/org/zstack/test/deployer/schema/PolicyConfig.java b/test/src/test/java/org/zstack/test/deployer/schema/PolicyConfig.java index b5fcf4aa4ba..ff552003dcb 100644 --- a/test/src/test/java/org/zstack/test/deployer/schema/PolicyConfig.java +++ b/test/src/test/java/org/zstack/test/deployer/schema/PolicyConfig.java @@ -1,9 +1,9 @@ package org.zstack.test.deployer.schema; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlAttribute; -import javax.xml.bind.annotation.XmlType; +import jakarta.xml.bind.annotation.XmlAccessType; +import jakarta.xml.bind.annotation.XmlAccessorType; +import jakarta.xml.bind.annotation.XmlAttribute; +import jakarta.xml.bind.annotation.XmlType; /** diff --git a/test/src/test/java/org/zstack/test/deployer/schema/PortForwardingConfig.java b/test/src/test/java/org/zstack/test/deployer/schema/PortForwardingConfig.java index 67c1e28e994..bc257ae333e 100644 --- a/test/src/test/java/org/zstack/test/deployer/schema/PortForwardingConfig.java +++ b/test/src/test/java/org/zstack/test/deployer/schema/PortForwardingConfig.java @@ -1,9 +1,9 @@ package org.zstack.test.deployer.schema; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlSchemaType; -import javax.xml.bind.annotation.XmlType; +import jakarta.xml.bind.annotation.XmlAccessType; +import jakarta.xml.bind.annotation.XmlAccessorType; +import jakarta.xml.bind.annotation.XmlSchemaType; +import jakarta.xml.bind.annotation.XmlType; /** diff --git a/test/src/test/java/org/zstack/test/deployer/schema/PortForwardingUnion.java b/test/src/test/java/org/zstack/test/deployer/schema/PortForwardingUnion.java index 50973eb4869..a2561ae0010 100644 --- a/test/src/test/java/org/zstack/test/deployer/schema/PortForwardingUnion.java +++ b/test/src/test/java/org/zstack/test/deployer/schema/PortForwardingUnion.java @@ -1,8 +1,8 @@ package org.zstack.test.deployer.schema; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlType; +import jakarta.xml.bind.annotation.XmlAccessType; +import jakarta.xml.bind.annotation.XmlAccessorType; +import jakarta.xml.bind.annotation.XmlType; import java.util.ArrayList; import java.util.List; 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..f0e2ec8ccb9 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,6 @@ package org.zstack.test.deployer.schema; -import javax.xml.bind.annotation.*; +import jakarta.xml.bind.annotation.*; /** diff --git a/test/src/test/java/org/zstack/test/deployer/schema/PrimaryStorageUnion.java b/test/src/test/java/org/zstack/test/deployer/schema/PrimaryStorageUnion.java index e08982735ac..b8f114cc9bd 100644 --- a/test/src/test/java/org/zstack/test/deployer/schema/PrimaryStorageUnion.java +++ b/test/src/test/java/org/zstack/test/deployer/schema/PrimaryStorageUnion.java @@ -1,8 +1,8 @@ package org.zstack.test.deployer.schema; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlType; +import jakarta.xml.bind.annotation.XmlAccessType; +import jakarta.xml.bind.annotation.XmlAccessorType; +import jakarta.xml.bind.annotation.XmlType; import java.util.ArrayList; import java.util.List; diff --git a/test/src/test/java/org/zstack/test/deployer/schema/SecurityGroupConfig.java b/test/src/test/java/org/zstack/test/deployer/schema/SecurityGroupConfig.java index 31ac04e8222..a8f398f8e89 100644 --- a/test/src/test/java/org/zstack/test/deployer/schema/SecurityGroupConfig.java +++ b/test/src/test/java/org/zstack/test/deployer/schema/SecurityGroupConfig.java @@ -1,9 +1,9 @@ package org.zstack.test.deployer.schema; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlAttribute; -import javax.xml.bind.annotation.XmlType; +import jakarta.xml.bind.annotation.XmlAccessType; +import jakarta.xml.bind.annotation.XmlAccessorType; +import jakarta.xml.bind.annotation.XmlAttribute; +import jakarta.xml.bind.annotation.XmlType; import java.util.ArrayList; import java.util.List; diff --git a/test/src/test/java/org/zstack/test/deployer/schema/SecurityGroupRuleConfig.java b/test/src/test/java/org/zstack/test/deployer/schema/SecurityGroupRuleConfig.java index 5c97c24972a..0263b195bfd 100644 --- a/test/src/test/java/org/zstack/test/deployer/schema/SecurityGroupRuleConfig.java +++ b/test/src/test/java/org/zstack/test/deployer/schema/SecurityGroupRuleConfig.java @@ -1,9 +1,9 @@ package org.zstack.test.deployer.schema; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlSchemaType; -import javax.xml.bind.annotation.XmlType; +import jakarta.xml.bind.annotation.XmlAccessType; +import jakarta.xml.bind.annotation.XmlAccessorType; +import jakarta.xml.bind.annotation.XmlSchemaType; +import jakarta.xml.bind.annotation.XmlType; /** diff --git a/test/src/test/java/org/zstack/test/deployer/schema/SecurityGroupUnion.java b/test/src/test/java/org/zstack/test/deployer/schema/SecurityGroupUnion.java index 747b95271d7..a53471d0216 100644 --- a/test/src/test/java/org/zstack/test/deployer/schema/SecurityGroupUnion.java +++ b/test/src/test/java/org/zstack/test/deployer/schema/SecurityGroupUnion.java @@ -1,8 +1,8 @@ package org.zstack.test.deployer.schema; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlType; +import jakarta.xml.bind.annotation.XmlAccessType; +import jakarta.xml.bind.annotation.XmlAccessorType; +import jakarta.xml.bind.annotation.XmlType; import java.util.ArrayList; import java.util.List; diff --git a/test/src/test/java/org/zstack/test/deployer/schema/SftpBackupStorageConfig.java b/test/src/test/java/org/zstack/test/deployer/schema/SftpBackupStorageConfig.java index bf937cc023a..09d0eb6e5c0 100644 --- a/test/src/test/java/org/zstack/test/deployer/schema/SftpBackupStorageConfig.java +++ b/test/src/test/java/org/zstack/test/deployer/schema/SftpBackupStorageConfig.java @@ -1,9 +1,9 @@ package org.zstack.test.deployer.schema; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlAttribute; -import javax.xml.bind.annotation.XmlType; +import jakarta.xml.bind.annotation.XmlAccessType; +import jakarta.xml.bind.annotation.XmlAccessorType; +import jakarta.xml.bind.annotation.XmlAttribute; +import jakarta.xml.bind.annotation.XmlType; /** diff --git a/test/src/test/java/org/zstack/test/deployer/schema/SharedMountPointPrimaryStorageConfig.java b/test/src/test/java/org/zstack/test/deployer/schema/SharedMountPointPrimaryStorageConfig.java index 21fa5034c08..eda90f6e383 100644 --- a/test/src/test/java/org/zstack/test/deployer/schema/SharedMountPointPrimaryStorageConfig.java +++ b/test/src/test/java/org/zstack/test/deployer/schema/SharedMountPointPrimaryStorageConfig.java @@ -1,9 +1,9 @@ package org.zstack.test.deployer.schema; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlAttribute; -import javax.xml.bind.annotation.XmlType; +import jakarta.xml.bind.annotation.XmlAccessType; +import jakarta.xml.bind.annotation.XmlAccessorType; +import jakarta.xml.bind.annotation.XmlAttribute; +import jakarta.xml.bind.annotation.XmlType; /** diff --git a/test/src/test/java/org/zstack/test/deployer/schema/SimulatorBackupStorageConfig.java b/test/src/test/java/org/zstack/test/deployer/schema/SimulatorBackupStorageConfig.java index 2c8282d6fda..63a65441f15 100644 --- a/test/src/test/java/org/zstack/test/deployer/schema/SimulatorBackupStorageConfig.java +++ b/test/src/test/java/org/zstack/test/deployer/schema/SimulatorBackupStorageConfig.java @@ -1,9 +1,9 @@ package org.zstack.test.deployer.schema; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlAttribute; -import javax.xml.bind.annotation.XmlType; +import jakarta.xml.bind.annotation.XmlAccessType; +import jakarta.xml.bind.annotation.XmlAccessorType; +import jakarta.xml.bind.annotation.XmlAttribute; +import jakarta.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..ad5876d6812 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,6 @@ package org.zstack.test.deployer.schema; -import javax.xml.bind.annotation.*; +import jakarta.xml.bind.annotation.*; /** diff --git a/test/src/test/java/org/zstack/test/deployer/schema/SimulatorPrimaryStorageConfig.java b/test/src/test/java/org/zstack/test/deployer/schema/SimulatorPrimaryStorageConfig.java index 2154bc2be86..9a9b779ed19 100644 --- a/test/src/test/java/org/zstack/test/deployer/schema/SimulatorPrimaryStorageConfig.java +++ b/test/src/test/java/org/zstack/test/deployer/schema/SimulatorPrimaryStorageConfig.java @@ -1,9 +1,9 @@ package org.zstack.test.deployer.schema; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlAttribute; -import javax.xml.bind.annotation.XmlType; +import jakarta.xml.bind.annotation.XmlAccessType; +import jakarta.xml.bind.annotation.XmlAccessorType; +import jakarta.xml.bind.annotation.XmlAttribute; +import jakarta.xml.bind.annotation.XmlType; /** diff --git a/test/src/test/java/org/zstack/test/deployer/schema/UserConfig.java b/test/src/test/java/org/zstack/test/deployer/schema/UserConfig.java index 1fb10ff8498..d595896f984 100644 --- a/test/src/test/java/org/zstack/test/deployer/schema/UserConfig.java +++ b/test/src/test/java/org/zstack/test/deployer/schema/UserConfig.java @@ -1,9 +1,9 @@ package org.zstack.test.deployer.schema; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlAttribute; -import javax.xml.bind.annotation.XmlType; +import jakarta.xml.bind.annotation.XmlAccessType; +import jakarta.xml.bind.annotation.XmlAccessorType; +import jakarta.xml.bind.annotation.XmlAttribute; +import jakarta.xml.bind.annotation.XmlType; import java.util.ArrayList; import java.util.List; 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..600bddbd138 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,6 @@ package org.zstack.test.deployer.schema; -import javax.xml.bind.annotation.*; +import jakarta.xml.bind.annotation.*; 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..e5d66ebf855 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,6 @@ package org.zstack.test.deployer.schema; -import javax.xml.bind.annotation.*; +import jakarta.xml.bind.annotation.*; /** diff --git a/test/src/test/java/org/zstack/test/deployer/schema/VmUnion.java b/test/src/test/java/org/zstack/test/deployer/schema/VmUnion.java index f35d5ad37ec..a2664be883d 100644 --- a/test/src/test/java/org/zstack/test/deployer/schema/VmUnion.java +++ b/test/src/test/java/org/zstack/test/deployer/schema/VmUnion.java @@ -1,8 +1,8 @@ package org.zstack.test.deployer.schema; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlType; +import jakarta.xml.bind.annotation.XmlAccessType; +import jakarta.xml.bind.annotation.XmlAccessorType; +import jakarta.xml.bind.annotation.XmlType; import java.util.ArrayList; import java.util.List; diff --git a/test/src/test/java/org/zstack/test/deployer/schema/ZoneConfig.java b/test/src/test/java/org/zstack/test/deployer/schema/ZoneConfig.java index 84884649bc7..0a35380593f 100644 --- a/test/src/test/java/org/zstack/test/deployer/schema/ZoneConfig.java +++ b/test/src/test/java/org/zstack/test/deployer/schema/ZoneConfig.java @@ -1,9 +1,9 @@ package org.zstack.test.deployer.schema; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlAttribute; -import javax.xml.bind.annotation.XmlType; +import jakarta.xml.bind.annotation.XmlAccessType; +import jakarta.xml.bind.annotation.XmlAccessorType; +import jakarta.xml.bind.annotation.XmlAttribute; +import jakarta.xml.bind.annotation.XmlType; import java.util.ArrayList; import java.util.List; diff --git a/test/src/test/java/org/zstack/test/deployer/schema/ZoneUnion.java b/test/src/test/java/org/zstack/test/deployer/schema/ZoneUnion.java index 8a3a60cec48..7f042c46ec2 100644 --- a/test/src/test/java/org/zstack/test/deployer/schema/ZoneUnion.java +++ b/test/src/test/java/org/zstack/test/deployer/schema/ZoneUnion.java @@ -1,8 +1,8 @@ package org.zstack.test.deployer.schema; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlType; +import jakarta.xml.bind.annotation.XmlAccessType; +import jakarta.xml.bind.annotation.XmlAccessorType; +import jakarta.xml.bind.annotation.XmlType; import java.util.ArrayList; import java.util.List; diff --git a/test/src/test/java/org/zstack/test/deployer/schema/package-info.java b/test/src/test/java/org/zstack/test/deployer/schema/package-info.java index 145c52aa9f5..7a2b684bc47 100644 --- a/test/src/test/java/org/zstack/test/deployer/schema/package-info.java +++ b/test/src/test/java/org/zstack/test/deployer/schema/package-info.java @@ -1,2 +1,2 @@ -@javax.xml.bind.annotation.XmlSchema(namespace = "http://zstack.org/schema/zstack", elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED) +@jakarta.xml.bind.annotation.XmlSchema(namespace = "http://zstack.org/schema/zstack", elementFormDefault = jakarta.xml.bind.annotation.XmlNsForm.QUALIFIED) package org.zstack.test.deployer.schema; 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..a906ff4ce19 100755 --- a/test/src/test/java/org/zstack/test/kvm/TestKvm100VmBalancedToMultiHost.java +++ b/test/src/test/java/org/zstack/test/kvm/TestKvm100VmBalancedToMultiHost.java @@ -24,8 +24,8 @@ import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; -import javax.persistence.Tuple; -import javax.persistence.TypedQuery; +import jakarta.persistence.Tuple; +import jakarta.persistence.TypedQuery; import java.util.List; import java.util.concurrent.Callable; import java.util.concurrent.CountDownLatch; 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..7be693e4fe8 100755 --- a/test/src/test/java/org/zstack/test/kvm/TestKvm100VmBalancedToNewHost.java +++ b/test/src/test/java/org/zstack/test/kvm/TestKvm100VmBalancedToNewHost.java @@ -29,8 +29,8 @@ import org.zstack.utils.data.SizeUnit; import org.zstack.utils.logging.CLogger; -import javax.persistence.Tuple; -import javax.persistence.TypedQuery; +import jakarta.persistence.Tuple; +import jakarta.persistence.TypedQuery; import java.util.List; import java.util.Random; import java.util.concurrent.Callable; 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..b4c49f4bb23 100755 --- a/test/src/test/java/org/zstack/test/kvm/TestKvmStartVmInstance100VmBalancedToMultiHostEnsureStartAllWhenResourceIsEnough.java +++ b/test/src/test/java/org/zstack/test/kvm/TestKvmStartVmInstance100VmBalancedToMultiHostEnsureStartAllWhenResourceIsEnough.java @@ -24,8 +24,8 @@ import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; -import javax.persistence.Tuple; -import javax.persistence.TypedQuery; +import jakarta.persistence.Tuple; +import jakarta.persistence.TypedQuery; import java.util.List; import java.util.concurrent.Callable; import java.util.concurrent.CountDownLatch; diff --git a/test/src/test/java/org/zstack/test/multinodes/TestMultipleNode8.java b/test/src/test/java/org/zstack/test/multinodes/TestMultipleNode8.java index a7630d8daaa..aa760dfab62 100755 --- a/test/src/test/java/org/zstack/test/multinodes/TestMultipleNode8.java +++ b/test/src/test/java/org/zstack/test/multinodes/TestMultipleNode8.java @@ -19,7 +19,7 @@ import org.zstack.utils.logging.CLogger; import org.zstack.utils.path.PathUtil; -import javax.persistence.Query; +import jakarta.persistence.Query; import java.io.File; import java.io.IOException; import java.util.Arrays; diff --git a/test/src/test/java/org/zstack/test/multinodes/TestMultipleNode9.java b/test/src/test/java/org/zstack/test/multinodes/TestMultipleNode9.java index 95a8ed9d3c2..ac63f546d3c 100755 --- a/test/src/test/java/org/zstack/test/multinodes/TestMultipleNode9.java +++ b/test/src/test/java/org/zstack/test/multinodes/TestMultipleNode9.java @@ -19,7 +19,7 @@ import org.zstack.utils.logging.CLogger; import org.zstack.utils.path.PathUtil; -import javax.persistence.Query; +import jakarta.persistence.Query; import java.io.File; import java.io.IOException; import java.util.Arrays; diff --git a/test/src/test/java/org/zstack/test/package-info.java b/test/src/test/java/org/zstack/test/package-info.java index b97553c1c55..390a72d42a1 100755 --- a/test/src/test/java/org/zstack/test/package-info.java +++ b/test/src/test/java/org/zstack/test/package-info.java @@ -5,5 +5,5 @@ // Generated on: 2014.03.23 at 09:54:14 PM GMT-08:00 // -@javax.xml.bind.annotation.XmlSchema(namespace = "http://zstack.org/schema/zstack", elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED) +@jakarta.xml.bind.annotation.XmlSchema(namespace = "http://zstack.org/schema/zstack", elementFormDefault = jakarta.xml.bind.annotation.XmlNsForm.QUALIFIED) package org.zstack.test; 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..cce321fcbee 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 @@ -25,7 +25,7 @@ import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; -import javax.persistence.Query; +import jakarta.persistence.Query; /* * 1. take 4 snapshot from vm's root volume 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..eb19524a33d 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 @@ -21,7 +21,7 @@ import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; -import javax.persistence.TypedQuery; +import jakarta.persistence.TypedQuery; /* * 1. create two snapshots diff --git a/test/src/test/java/org/zstack/test/tag/UnitTestSystemTag.java b/test/src/test/java/org/zstack/test/tag/UnitTestSystemTag.java index cd0cbe8db7a..9915147145a 100644 --- a/test/src/test/java/org/zstack/test/tag/UnitTestSystemTag.java +++ b/test/src/test/java/org/zstack/test/tag/UnitTestSystemTag.java @@ -18,7 +18,7 @@ import org.zstack.tag.SystemTagCreator; import org.zstack.tag.TagManagerImpl; -import javax.persistence.*; +import jakarta.persistence.*; import java.util.ArrayList; import java.util.List; import java.util.UUID; diff --git a/test/src/test/resources/springConfigXml/CloudBusAopProxy.xml b/test/src/test/resources/springConfigXml/CloudBusAopProxy.xml index 5415cd9e3d7..41bebcf4b1b 100755 --- a/test/src/test/resources/springConfigXml/CloudBusAopProxy.xml +++ b/test/src/test/resources/springConfigXml/CloudBusAopProxy.xml @@ -15,19 +15,19 @@ - - + + - - + + - - + + - - + + - + diff --git a/test/src/test/resources/springConfigXml/license.xml b/test/src/test/resources/springConfigXml/license.xml index 981f89749f4..f1edb58bc92 100755 --- a/test/src/test/resources/springConfigXml/license.xml +++ b/test/src/test/resources/springConfigXml/license.xml @@ -11,7 +11,7 @@ http://zstack.org/schema/zstack/plugin.xsd" default-init-method="init" default-destroy-method="destroy"> - + diff --git a/testlib/pom.xml b/testlib/pom.xml index 4d1688012a6..497f319d9f3 100644 --- a/testlib/pom.xml +++ b/testlib/pom.xml @@ -17,8 +17,9 @@ junit - org.codehaus.groovy + org.apache.groovy groovy-all + pom org.mockito @@ -28,7 +29,7 @@ org.eclipse.jetty jetty-webapp - 9.4.49.v20220914 + 11.0.24 org.jboss.shrinkwrap @@ -214,9 +215,9 @@ cas-client-core - javax.servlet - javax.servlet-api - 3.1.0 + jakarta.servlet + jakarta.servlet-api + provided @@ -226,24 +227,43 @@ org.apache.maven.plugins maven-compiler-plugin - 3.6.1 + ${project.compiler.version} - groovy-eclipse-compiler ${project.java.version} ${project.java.version} lines,vars,source true + + + org.codehaus.gmavenplus + gmavenplus-plugin + 3.0.2 + + + + ${project.basedir}/src/main/java + + **/*.groovy + + + + + + + groovy-stubs + generateStubsremoveStubs + + + groovy-compile + compile + + - org.codehaus.groovy - groovy-eclipse-compiler - 2.9.2-01 - - - org.codehaus.groovy - groovy-eclipse-batch - 2.4.3-01 + org.apache.groovy + groovy + ${groovy.version} diff --git a/testlib/src/main/java/org/zstack/testlib/CephPrimaryStorageSpec.groovy b/testlib/src/main/java/org/zstack/testlib/CephPrimaryStorageSpec.groovy index e8f90f1d110..fb92f46afbc 100755 --- a/testlib/src/main/java/org/zstack/testlib/CephPrimaryStorageSpec.groovy +++ b/testlib/src/main/java/org/zstack/testlib/CephPrimaryStorageSpec.groovy @@ -20,7 +20,7 @@ import org.zstack.testlib.vfs.VFSFile import org.zstack.utils.data.SizeUnit import org.zstack.utils.gson.JSONObjectUtil -import javax.persistence.Tuple +import jakarta.persistence.Tuple import java.nio.file.Path /** diff --git a/testlib/src/main/java/org/zstack/testlib/EnvSpec.groovy b/testlib/src/main/java/org/zstack/testlib/EnvSpec.groovy index 5491d321f1b..a33251c3551 100755 --- a/testlib/src/main/java/org/zstack/testlib/EnvSpec.groovy +++ b/testlib/src/main/java/org/zstack/testlib/EnvSpec.groovy @@ -5,6 +5,9 @@ import org.codehaus.groovy.runtime.InvokerHelper import org.springframework.http.* import org.springframework.http.client.HttpComponentsClientHttpRequestFactory import org.springframework.web.client.RestTemplate +import org.apache.hc.client5.http.config.RequestConfig +import org.apache.hc.client5.http.impl.classic.HttpClients +import java.util.concurrent.TimeUnit import org.zstack.compute.vm.VmGlobalConfig import org.zstack.configuration.SqlForeignKeyGenerator import org.zstack.core.CoreGlobalProperty @@ -65,8 +68,8 @@ import org.zstack.utils.DebugUtils import org.zstack.utils.data.Pair import org.zstack.utils.gson.JSONObjectUtil -import javax.servlet.http.HttpServletRequest -import javax.servlet.http.HttpServletResponse +import jakarta.servlet.http.HttpServletRequest +import jakarta.servlet.http.HttpServletResponse import java.lang.reflect.Modifier import java.util.concurrent.ConcurrentHashMap import java.util.concurrent.ConcurrentLinkedQueue @@ -237,8 +240,14 @@ class EnvSpec extends ApiHelper implements Node { } static { - HttpComponentsClientHttpRequestFactory factory = new HttpComponentsClientHttpRequestFactory() - factory.setReadTimeout(CoreGlobalProperty.REST_FACADE_READ_TIMEOUT) + RequestConfig requestConfig = RequestConfig.custom() + .setResponseTimeout(CoreGlobalProperty.REST_FACADE_READ_TIMEOUT, TimeUnit.MILLISECONDS) + .setConnectionRequestTimeout(CoreGlobalProperty.REST_FACADE_CONNECT_TIMEOUT, TimeUnit.MILLISECONDS) + .build() + def httpClient = HttpClients.custom() + .setDefaultRequestConfig(requestConfig) + .build() + HttpComponentsClientHttpRequestFactory factory = new HttpComponentsClientHttpRequestFactory(httpClient) factory.setConnectTimeout(CoreGlobalProperty.REST_FACADE_CONNECT_TIMEOUT) restTemplate = new RestTemplate(factory) } diff --git a/testlib/src/main/java/org/zstack/testlib/KVMSimulator.groovy b/testlib/src/main/java/org/zstack/testlib/KVMSimulator.groovy index 81bd88ac6bf..cf4c1465e97 100755 --- a/testlib/src/main/java/org/zstack/testlib/KVMSimulator.groovy +++ b/testlib/src/main/java/org/zstack/testlib/KVMSimulator.groovy @@ -28,7 +28,7 @@ import org.zstack.utils.BeanUtils import org.zstack.utils.data.SizeUnit import org.zstack.utils.gson.JSONObjectUtil -import javax.persistence.Tuple +import jakarta.persistence.Tuple import java.util.concurrent.ConcurrentHashMap import static org.zstack.kvm.KVMAgentCommands.* diff --git a/testlib/src/main/java/org/zstack/testlib/ResourceVOGenerator.groovy b/testlib/src/main/java/org/zstack/testlib/ResourceVOGenerator.groovy index 42d6eb53932..27968996701 100755 --- a/testlib/src/main/java/org/zstack/testlib/ResourceVOGenerator.groovy +++ b/testlib/src/main/java/org/zstack/testlib/ResourceVOGenerator.groovy @@ -8,7 +8,7 @@ import org.zstack.utils.FieldUtils import org.zstack.utils.Utils import org.zstack.utils.logging.CLogger -import javax.persistence.Entity +import jakarta.persistence.Entity import java.lang.reflect.Field /** diff --git a/testlib/src/main/java/org/zstack/testlib/SpringSpec.groovy b/testlib/src/main/java/org/zstack/testlib/SpringSpec.groovy index 6346b1cc68d..0328e76c488 100755 --- a/testlib/src/main/java/org/zstack/testlib/SpringSpec.groovy +++ b/testlib/src/main/java/org/zstack/testlib/SpringSpec.groovy @@ -62,6 +62,13 @@ class SpringSpec { include("VirtualRouter.xml") include("NetworkService.xml") include("vip.xml") + // VirtualRouter.xml defines flow classes that @Autowired managers from these modules. + // Spring 6.1 strictly enforces @Autowired(required=true) for @Configurable classes. + include("lb.xml") + include("acl.xml") + include("eip.xml") + include("PortForwarding.xml") + include("vyos.xml") } void flatNetwork() { diff --git a/testlib/src/main/java/org/zstack/testlib/StabilityTest.groovy b/testlib/src/main/java/org/zstack/testlib/StabilityTest.groovy index e700a42a5bc..2335d618b55 100755 --- a/testlib/src/main/java/org/zstack/testlib/StabilityTest.groovy +++ b/testlib/src/main/java/org/zstack/testlib/StabilityTest.groovy @@ -125,7 +125,7 @@ abstract class StabilityTest extends Test implements Case{ String caseLogStartLine = "stability test, a sub case \\[class ${caseName}\\] start running" - subCase.metaClass.collectErrorLog = { + subCase.collectErrorLog = { File failureLogDir = new File([dir.absolutePath, "failureLogs", caseName.replace(".", "_")].join("/")) failureLogDir.mkdirs() File failureLog = new File([failureLogDir.absolutePath, "case.log"].join("/")) diff --git a/testlib/src/main/java/org/zstack/testlib/Test.groovy b/testlib/src/main/java/org/zstack/testlib/Test.groovy index 1dcb02c54e9..892c33bc89b 100755 --- a/testlib/src/main/java/org/zstack/testlib/Test.groovy +++ b/testlib/src/main/java/org/zstack/testlib/Test.groovy @@ -32,8 +32,8 @@ import org.zstack.utils.gson.JSONObjectUtil import org.zstack.utils.logging.CLogger import org.zstack.utils.path.PathUtil -import javax.servlet.http.HttpServletRequest -import javax.servlet.http.HttpServletResponse +import jakarta.servlet.http.HttpServletRequest +import jakarta.servlet.http.HttpServletResponse import java.util.concurrent.ConcurrentHashMap import java.util.concurrent.TimeUnit import java.util.concurrent.atomic.AtomicInteger @@ -53,6 +53,7 @@ abstract class Test extends ApiHelper implements Retry { static Map functionForMockTestObjectFactory = new ConcurrentHashMap<>() protected List methodsOnClean = [] + protected Closure collectErrorLog = {} protected List zqlQuery(String text) { return zQLQuery { zql = text }.results[0].inventories @@ -743,7 +744,7 @@ abstract class Test extends ApiHelper implements Retry { def caseStartTime = System.currentTimeMillis() try { CURRENT_SUB_CASE = c - c.metaClass.collectErrorLog = { + c.collectErrorLog = { File failureLogDir = new File([dir.absolutePath, "failureLogs", r.caseType.name.replace(".", "_")].join("/")) failureLogDir.mkdirs() File failureLog = new File([failureLogDir.absolutePath, "case.log"].join("/")) diff --git a/testlib/src/main/java/org/zstack/testlib/TestLibController.java b/testlib/src/main/java/org/zstack/testlib/TestLibController.java index 286eae91b04..2662d60032b 100755 --- a/testlib/src/main/java/org/zstack/testlib/TestLibController.java +++ b/testlib/src/main/java/org/zstack/testlib/TestLibController.java @@ -7,10 +7,10 @@ import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; -import javax.annotation.PreDestroy; -import javax.servlet.AsyncContext; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; +import jakarta.annotation.PreDestroy; +import jakarta.servlet.AsyncContext; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; import java.io.IOException; import java.lang.reflect.InvocationTargetException; import java.util.concurrent.ExecutorService; diff --git a/testlib/src/main/java/org/zstack/testlib/tool/CodeGenerator.groovy b/testlib/src/main/java/org/zstack/testlib/tool/CodeGenerator.groovy index 02833fe6480..df016e74a8d 100644 --- a/testlib/src/main/java/org/zstack/testlib/tool/CodeGenerator.groovy +++ b/testlib/src/main/java/org/zstack/testlib/tool/CodeGenerator.groovy @@ -8,7 +8,7 @@ import org.reflections.util.FilterBuilder import org.zstack.utils.BeanUtils import org.zstack.utils.StringTemplateUtils -import javax.persistence.* +import jakarta.persistence.* import java.lang.reflect.Field /** diff --git a/testlib/src/main/java/org/zstack/testlib/tool/TermsGenerator.groovy b/testlib/src/main/java/org/zstack/testlib/tool/TermsGenerator.groovy index 9be49ec2ed9..58b74204b71 100644 --- a/testlib/src/main/java/org/zstack/testlib/tool/TermsGenerator.groovy +++ b/testlib/src/main/java/org/zstack/testlib/tool/TermsGenerator.groovy @@ -6,7 +6,7 @@ import org.zstack.header.vo.EO import org.zstack.header.vo.ResourceVO import org.zstack.utils.path.PathUtil -import javax.persistence.Entity +import jakarta.persistence.Entity class TermsGenerator { static String termFileFormat = "terms_%s.properties" diff --git a/utils/pom.xml b/utils/pom.xml index 59355a3e183..a4924b9f729 100644 --- a/utils/pom.xml +++ b/utils/pom.xml @@ -53,8 +53,9 @@ log4j-slf4j-impl - org.codehaus.groovy + org.apache.groovy groovy-all + pom org.json @@ -79,7 +80,7 @@ org.bouncycastle - bcprov-jdk15on + bcprov-jdk18on commons-net @@ -135,11 +136,19 @@ snakeyaml - javax.servlet - javax.servlet-api - 3.1.0 + jakarta.servlet + jakarta.servlet-api + provided + + jakarta.xml.bind + jakarta.xml.bind-api + + + org.glassfish.jaxb + jaxb-runtime + diff --git a/utils/src/main/java/org/zstack/utils/HttpServletRequestUtils.java b/utils/src/main/java/org/zstack/utils/HttpServletRequestUtils.java index ac78c1fe2bc..607ab259288 100644 --- a/utils/src/main/java/org/zstack/utils/HttpServletRequestUtils.java +++ b/utils/src/main/java/org/zstack/utils/HttpServletRequestUtils.java @@ -2,7 +2,7 @@ import org.apache.commons.lang.StringUtils; -import javax.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletRequest; import java.util.function.Predicate; public class HttpServletRequestUtils { diff --git a/utils/src/main/java/org/zstack/utils/clouderrorcode/CloudOperationsErrorCode.java b/utils/src/main/java/org/zstack/utils/clouderrorcode/CloudOperationsErrorCode.java index a550fb7d673..3913905631b 100644 --- a/utils/src/main/java/org/zstack/utils/clouderrorcode/CloudOperationsErrorCode.java +++ b/utils/src/main/java/org/zstack/utils/clouderrorcode/CloudOperationsErrorCode.java @@ -10654,6 +10654,8 @@ public class CloudOperationsErrorCode { public static final String ORG_ZSTACK_PREMIUM_EXTERNALSERVICE_PROMETHEUS_10013 = "ORG_ZSTACK_PREMIUM_EXTERNALSERVICE_PROMETHEUS_10013"; + public static final String ORG_ZSTACK_PREMIUM_EXTERNALSERVICE_PROMETHEUS_10014 = "ORG_ZSTACK_PREMIUM_EXTERNALSERVICE_PROMETHEUS_10014"; + public static final String ORG_ZSTACK_AI_CONTAINER_10000 = "ORG_ZSTACK_AI_CONTAINER_10000"; public static final String ORG_ZSTACK_AI_CONTAINER_10001 = "ORG_ZSTACK_AI_CONTAINER_10001"; @@ -11588,6 +11590,8 @@ public class CloudOperationsErrorCode { public static final String ORG_ZSTACK_PCIDEVICE_10076 = "ORG_ZSTACK_PCIDEVICE_10076"; + public static final String ORG_ZSTACK_PCIDEVICE_10077 = "ORG_ZSTACK_PCIDEVICE_10077"; + public static final String ORG_ZSTACK_CAS_DRIVER_DONGHAI_10000 = "ORG_ZSTACK_CAS_DRIVER_DONGHAI_10000"; public static final String ORG_ZSTACK_CAS_DRIVER_DONGHAI_10001 = "ORG_ZSTACK_CAS_DRIVER_DONGHAI_10001"; diff --git a/utils/src/main/java/org/zstack/utils/jaxb/StringTrimAdapter.java b/utils/src/main/java/org/zstack/utils/jaxb/StringTrimAdapter.java index 5c7f5bffa46..0746381d80a 100755 --- a/utils/src/main/java/org/zstack/utils/jaxb/StringTrimAdapter.java +++ b/utils/src/main/java/org/zstack/utils/jaxb/StringTrimAdapter.java @@ -1,6 +1,6 @@ package org.zstack.utils.jaxb; -import javax.xml.bind.annotation.adapters.XmlAdapter; +import jakarta.xml.bind.annotation.adapters.XmlAdapter; /** * Created with IntelliJ IDEA. diff --git a/utils/src/test/java/org/zstack/utils/test/TestNetworkUtils.java b/utils/src/test/java/org/zstack/utils/test/TestNetworkUtils.java index f1cc86f81bd..a24c31ec347 100644 --- a/utils/src/test/java/org/zstack/utils/test/TestNetworkUtils.java +++ b/utils/src/test/java/org/zstack/utils/test/TestNetworkUtils.java @@ -1,7 +1,6 @@ package org.zstack.utils.test; import org.junit.Test; -import org.omg.PortableInterceptor.SYSTEM_EXCEPTION; import org.zstack.utils.network.NetworkUtils; public class TestNetworkUtils {