This is an automated email from the ASF dual-hosted git repository.
pearl11594 pushed a change to branch nsx-cks-support
in repository https://gitbox.apache.org/repos/asf/cloudstack.git
from d3c97a9f546 fix filter for getting transport zones
add 7c72aa1285c Merge branch 'main' of
https://github.com/apache/cloudstack into nsx-integration
add b89085ef11e NSX: Support Source NAT on NSX Isolated networks
add abd829c4392 Merge branch 'nsx-integration' of
https://github.com/apache/cloudstack into nsx-isolated-source-nat
add 87491fed6fb Merge branch 'nsx-isolated-source-nat' of
https://github.com/apache/cloudstack into nsx-cks-support
add 55ae22a34f6 CKS support changed - MTU updated, etc
add 66f923272cb add LB for CKS on VPC
add dccace914eb address comments
add 8a87eaaec9c [NSX] Add ACL types support (#8224)
add cfd6bffacf2 PULL_REQUEST_TEMPLATE.md: fix spelling (#8220)
add d0f3233fda3 edge-zone,kvm,iso,cks: allow k8s deployment with
direct-download iso (#8142)
add b79e3937b46 UI: fix scale vm if first disk offering is dymamic (#8213)
add 05b9b6e2e77 Merge branch '4.18' into main
add df4cd2aae42 Inject hypervisor type and volume format on Quota tariffs
(#8138)
add 96b07d797b7 Fix flaky tungsten test using comparator (#8232)
add 04061f12e5a storagetype API param in list service/disk offerings
(#8215)
add b7835d02d25 Fix deploy as is VM start after template deletion (#8115)
add c7100c3d751 Merge release branch 4.18 to main
add 1f29f6f0409 Public IP quarantine feature (#7378)
add be4a648f5ab Create global configuration to allow changing the default
nic adapter for user VMs in VMware (#7954)
add 267a457efc5 Externalize KVM HA heartbeat frequency (#6892)
add cc45bffdbd3 Improved concatenation way in PropertiesStorage.java
(#7486)
add 0735b91037d api: introduce domainid and account parameter in
createTemplate API (#8210)
add 60017723357 multi local storage handling for kvm (#6699)
add 6eb04a86a6b Fixed Hashmap Key value comparision (#8238)
add db27c0ad2a2 Set number of hours per month with actual number in Quota
(#7210)
add adbb5520ca5 Database VIEW management via separated files (#7417)
add c7ed4ca272c schema: revert incorrect removal of oauth changes in #7417
(#8245)
add eaa4123068a VNF: fix UI bugs and polish (#8227)
add 1a2dbebe489 Let Prometheus exporter plugin support utf8 characters
(#8228)
add 1b56a8e8733 Fixed spelling and added missing states to response (#8248)
add 98d643efe6c Merge release branch 4.18 to main
add 5c7e4b7edc8 api: add ipaddress argument to disassociateIPAddress
(#8222)
add f0b757e91ea [StepSecurity] ci: Harden GitHub Actions (#8209)
add b0a9949775b ui: include domain and account field for createTemplate
forms (#8257)
add 60b399f8758 Fix create private gateway rollback (#8244)
add 3c7c75bacfd Clear pool id if volume allocation fails (#8202)
add 8f390873772 Fix typo in ssvm check script (#8191)
add 956efb27d93 allow filtering of listDiskOffering and
listServiceOffering APIs by account or project (#7082)
add a31f2116282 Merge remote-tracking branch 'remote/4.18'
add 26b01f6f3be Flexible tags for hosts and storage pools (#7489)
add cb62ce67671 Global ACL for VPCs (#7150)
add 33b494aebf1 Merge branch 'main' into nsx-integration
add 37a2350159d Fix upload of volumes, templates and ISOs through HTTP
(#8264)
add 5651eab49cf ObjectStore Framework with MinIO and Simulator plugins
(#7752)
add cb2e2da0b9c Merge branch 'main' into nsx-integration
add 108651ad403 api: make displaytext form upload template/iso optional
(#8289)
add b0910fc61d7 Add dynamic secondary storage selection (#7659)
add cb2b6aca45c server: check if there are active nics before network GC
(#8204)
add 98cd3b9a243 UI: Removed ICMP input fields for protocol number from ACL
List rules modal (#8253)
add 7d6dc41f99b UI: Removed redundant IP Address Column when create Port
forwarding rules (#8275)
add 724394682c7 server: Initial new vpnuser state (#8268)
add d3cad4266af Merge release branch 4.18 to main
add a15b706fbe7 Linstor: Allow snapshot backup also to work on non
hyperconverged setups (#8271)
add edd66c31a38 Merge branch 'main' into nsx-integration
add 3a6f68b56af Merge branch 'nsx-integration' of
https://github.com/apache/cloudstack into nsx-cks-support
new ce5a9111bd4 add nsx flag to create vlan public ip range
The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
.github/workflows/build.yml | 3 +
.github/workflows/ci.yml | 7 +-
.github/workflows/rat.yml | 3 +
.github/workflows/ui.yml | 3 +
PULL_REQUEST_TEMPLATE.md | 6 +-
agent/conf/agent.properties | 12 +
.../cloud/agent/dao/impl/PropertiesStorage.java | 7 +-
.../cloud/agent/properties/AgentProperties.java | 38 +-
.../java/com/cloud/agent/api/StoragePoolInfo.java | 7 +
api/src/main/java/com/cloud/event/EventTypes.java | 22 +
.../java/com/cloud/network/NetworkService.java | 8 +
.../java/com/cloud/network/PublicIpQuarantine.java | 24 +-
api/src/main/java/com/cloud/network/VNF.java | 1 -
.../main/java/com/cloud/server/ResourceTag.java | 5 +-
.../main/java/com/cloud/storage/DataStoreRole.java | 4 +-
.../java/com/cloud/storage/StorageService.java | 18 +
.../cloudstack/annotation/AnnotationService.java | 3 +-
.../cloudstack/api/ApiCommandResourceType.java | 4 +-
.../org/apache/cloudstack/api/ApiConstants.java | 17 +
.../java/org/apache/cloudstack/api/BaseCmd.java | 4 +
.../apache/cloudstack/api/ResponseGenerator.java | 16 +
.../api/command/admin/host/ListHostsCmd.java | 4 +
.../api/command/admin/host/UpdateHostCmd.java | 7 +
.../admin/storage/AddObjectStoragePoolCmd.java | 132 ++++
.../admin/storage/CreateStoragePoolCmd.java | 7 +
.../admin/storage/DeleteObjectStoragePoolCmd.java | 69 ++
.../admin/storage/ListObjectStoragePoolsCmd.java | 79 +++
.../command/admin/storage/ListStoragePoolsCmd.java | 29 +-
.../admin/storage/UpdateObjectStoragePoolCmd.java | 93 +++
.../admin/storage/UpdateStoragePoolCmd.java | 7 +
.../CreateSecondaryStorageSelectorCmd.java | 93 +++
.../ListSecondaryStorageSelectorsCmd.java | 63 ++
.../RemoveSecondaryStorageSelectorCmd.java | 54 ++
.../UpdateSecondaryStorageSelectorCmd.java | 67 ++
.../user/address/DisassociateIPAddrCmd.java | 68 +-
.../user/address/ListQuarantinedIpsCmd.java | 51 ++
.../user/address/RemoveQuarantinedIpCmd.java | 72 ++
.../user/address/UpdateQuarantinedIpCmd.java | 75 ++
.../api/command/user/bucket/CreateBucketCmd.java | 202 ++++++
.../api/command/user/bucket/DeleteBucketCmd.java | 94 +++
.../api/command/user/bucket/ListBucketsCmd.java | 100 +++
.../api/command/user/bucket/UpdateBucketCmd.java | 132 ++++
.../command/user/iso/GetUploadParamsForIsoCmd.java | 4 +-
.../api/command/user/iso/RegisterIsoCmd.java | 7 +
.../user/network/CreateNetworkACLListCmd.java | 36 +-
.../user/offering/ListDiskOfferingsCmd.java | 15 +-
.../user/offering/ListServiceOfferingsCmd.java | 15 +-
.../command/user/template/CreateTemplateCmd.java | 129 ++--
.../template/GetUploadParamsForTemplateCmd.java | 5 +-
.../api/command/user/vpn/AddVpnUserCmd.java | 3 +
.../api/response/AcquireIPAddressResponse.java | 2 +-
.../cloudstack/api/response/BucketResponse.java | 293 ++++++++
.../cloudstack/api/response/HostResponse.java | 12 +
.../cloudstack/api/response/IPAddressResponse.java | 2 +-
.../api/response/IpQuarantineResponse.java | 130 ++++
.../api/response/ObjectStoreResponse.java | 106 +++
.../api/response/PortableIpResponse.java | 2 +-
.../SecondaryStorageHeuristicsResponse.java | 141 ++++
.../api/response/StoragePoolResponse.java | 12 +
.../cloudstack/api/response/VpnUsersResponse.java | 2 +-
.../org/apache/cloudstack/query/QueryService.java | 16 +
.../secstorage/heuristics/Heuristic.java | 28 +-
.../secstorage/heuristics/HeuristicType.java | 23 +-
.../apache/cloudstack/storage/object/Bucket.java | 64 ++
.../storage/object/BucketApiService.java | 54 ++
.../cloudstack/storage/object/ObjectStore.java | 28 +-
.../org/apache/cloudstack/usage/UsageTypes.java | 2 +
.../admin/storage/AddObjectStoragePoolCmdTest.java | 97 +++
.../storage/DeleteObjectStoragePoolCmdTest.java | 59 ++
.../storage/UpdateObjectStoragePoolCmdTest.java | 85 +++
.../user/template/CreateTemplateCmdTest.java | 16 +
client/pom.xml | 15 +
...taStoreProviderManager.java => BucketInfo.java} | 16 +-
.../subsystem/api/storage/DataStoreManager.java | 4 +
.../subsystem/api/storage/DataStoreProvider.java | 2 +-
.../api/storage/DataStoreProviderManager.java | 2 +
.../api/storage/ObjectStorageService.java | 16 +-
...oviderManager.java => ObjectStoreProvider.java} | 15 +-
.../api/storage/PrimaryDataStoreParameters.java | 10 +
.../object/ObjectStoreEntity.java} | 30 +-
.../java/com/cloud/network/IpAddressManager.java | 48 ++
.../java/com/cloud/storage/StorageManager.java | 3 +
.../java/com/cloud/template/TemplateManager.java | 3 +-
.../engine/orchestration/NetworkOrchestrator.java | 2 +-
engine/pom.xml | 1 +
.../src/main/java/com/cloud/host/HostTagVO.java | 16 +
.../src/main/java/com/cloud/host/HostVO.java | 24 +-
.../src/main/java/com/cloud/host/dao/HostDao.java | 6 +
.../main/java/com/cloud/host/dao/HostDaoImpl.java | 103 ++-
.../main/java/com/cloud/host/dao/HostTagsDao.java | 10 +-
.../java/com/cloud/host/dao/HostTagsDaoImpl.java | 39 +-
.../java/com/cloud/network/dao/IPAddressDao.java | 3 +
.../com/cloud/network/dao/IPAddressDaoImpl.java | 20 +
.../java/com/cloud/network/dao/IPAddressVO.java | 9 -
.../dao/PublicIpQuarantineDao.java} | 17 +-
.../network/dao/PublicIpQuarantineDaoImpl.java | 71 ++
.../com/cloud/network/vo/PublicIpQuarantineVO.java | 131 ++++
.../java/com/cloud/network/vpc/NetworkACLVO.java | 7 +
.../src/main/java/com/cloud/storage/BucketVO.java | 257 +++++++
.../java/com/cloud/storage/StoragePoolTagVO.java | 28 +
.../dao/BucketDao.java} | 18 +-
.../java/com/cloud/storage/dao/BucketDaoImpl.java | 84 +++
.../com/cloud/storage/dao/StoragePoolTagsDao.java | 6 +-
.../cloud/storage/dao/StoragePoolTagsDaoImpl.java | 25 +-
.../com/cloud/upgrade/DatabaseUpgradeChecker.java | 28 +
.../BucketStatisticsVO.java} | 50 +-
.../dao/BucketStatisticsDao.java} | 18 +-
.../cloud/usage/dao/BucketStatisticsDaoImpl.java | 67 ++
.../main/java/com/cloud/usage/dao/UsageDao.java | 7 +
.../java/com/cloud/usage/dao/UsageDaoImpl.java | 71 ++
.../src/main/java/com/cloud/vm/dao/NicDao.java | 4 +-
.../src/main/java/com/cloud/vm/dao/NicDaoImpl.java | 35 +-
.../apache/cloudstack/secstorage/HeuristicVO.java | 125 ++++
.../dao/SecondaryStorageHeuristicDao.java} | 18 +-
.../dao/SecondaryStorageHeuristicDaoImpl.java | 50 ++
.../storage/datastore/db/ImageStoreDao.java | 2 +
.../storage/datastore/db/ImageStoreDaoImpl.java | 15 +
.../storage/datastore/db/ObjectStoreDao.java} | 24 +-
.../storage/datastore/db/ObjectStoreDaoImpl.java | 162 +++++
.../storage/datastore/db/ObjectStoreDetailVO.java} | 57 +-
.../datastore/db/ObjectStoreDetailsDao.java} | 17 +-
.../datastore/db/ObjectStoreDetailsDaoImpl.java | 104 +++
.../storage/datastore/db/ObjectStoreVO.java | 143 ++++
.../storage/datastore/db/PrimaryDataStoreDao.java | 8 +-
.../datastore/db/PrimaryDataStoreDaoImpl.java | 46 +-
.../spring-engine-schema-core-daos-context.xml | 5 +
.../resources/META-INF/db/schema-41810to41900.sql | 504 +++++--------
.../META-INF/db/views/cloud.async_job_view.sql | 129 ++++
.../META-INF/db/views/cloud.data_center_view.sql | 59 ++
.../META-INF/db/views/cloud.disk_offering_view.sql | 82 +++
.../META-INF/db/views/cloud.domain_router_view.sql | 126 ++++
.../META-INF/db/views/cloud.host_view.sql | 111 +++
.../db/views/cloud.network_offering_view.sql | 85 +++
.../db/views/cloud.service_offering_view.sql | 114 +++
.../META-INF/db/views/cloud.snapshot_view.sql | 107 +++
.../META-INF/db/views/cloud.storage_pool_view.sql | 68 ++
.../META-INF/db/views/cloud.template_view.sql | 131 ++++
.../META-INF/db/views/cloud.user_view.sql | 65 ++
.../META-INF/db/views/cloud.user_vm_view.sql | 215 ++++++
.../src/test/java/com/cloud/host/HostVOTest.java | 145 ++--
.../cloud/network/as/AutoScaleVmProfileVOTest.java | 24 +-
.../storage/image/TemplateDataFactoryImpl.java | 49 +-
.../manager/ImageStoreProviderManagerImpl.java | 12 +-
.../src/test/resources/storageContext.xml | 4 +
engine/storage/object/pom.xml | 37 +
.../cloudstack/storage/object/BucketObject.java | 196 +++++
.../storage/object/ObjectStorageServiceImpl.java | 16 +-
.../manager/ObjectStoreProviderManagerImpl.java | 111 +++
.../storage/object/store/ObjectStoreImpl.java | 184 +++++
.../store/lifecycle/ObjectStoreLifeCycle.java} | 18 +-
.../spring-engine-storage-object-core-context.xml | 36 +
.../ObjectStoreProviderManagerImplTest.java | 117 +++
.../src/test/resource/testContext.xml | 0
.../org.mockito.plugins.MockMaker | 0
.../storage/snapshot/SnapshotServiceImpl.java | 22 +-
.../storage/snapshot/SnapshotServiceImplTest.java | 57 +-
.../allocator/AbstractStoragePoolAllocator.java | 4 +
.../ClusterScopeStoragePoolAllocator.java | 6 +-
.../allocator/LocalStoragePoolAllocator.java | 5 +-
.../allocator/ZoneWideStoragePoolAllocator.java | 8 +-
.../storage/datastore/DataStoreManagerImpl.java | 17 +
.../provider/DataStoreProviderManagerImpl.java | 27 +-
.../image/datastore/ImageStoreProviderManager.java | 3 +
.../storage/object/BaseObjectStoreDriverImpl.java | 81 +++
.../storage/object/ObjectStoreDriver.java | 59 ++
.../object/datastore/ObjectStoreHelper.java | 72 ++
.../datastore/ObjectStoreProviderManager.java} | 20 +-
.../volume/datastore/PrimaryDataStoreHelper.java | 2 +-
.../src/main/java/com/cloud/utils/db/Filter.java | 4 +
.../main/java/com/cloud/utils/db/GenericDao.java | 2 +
.../java/com/cloud/utils/db/GenericDaoBase.java | 23 +-
.../apache/cloudstack/quota/QuotaManagerImpl.java | 14 +-
.../quota/activationrule/presetvariables/Host.java | 10 +
.../presetvariables/PresetVariableHelper.java | 46 +-
.../activationrule/presetvariables/Storage.java | 11 +
.../activationrule/presetvariables/Value.java | 20 +
.../cloudstack/quota/constant/QuotaTypes.java | 1 +
.../cloudstack/quota/QuotaManagerImplTest.java | 6 +-
.../presetvariables/PresetVariableHelperTest.java | 288 +++++---
.../activationrule/presetvariables/ValueTest.java | 14 +
.../manager/allocator/impl/RandomAllocator.java | 15 +-
.../cloud/hypervisor/kvm/resource/KVMHABase.java | 10 +-
.../hypervisor/kvm/resource/KVMHAMonitor.java | 1 -
.../hypervisor/kvm/storage/KVMStoragePool.java | 12 +-
.../kvm/storage/KVMStoragePoolManager.java | 6 +-
.../kvm/storage/KVMStorageProcessor.java | 59 +-
.../cloud/hypervisor/guru/VmwareVmImplementer.java | 8 +-
.../hypervisor/vmware/manager/VmwareManager.java | 8 +
.../vmware/manager/VmwareManagerImpl.java | 2 +-
.../cluster/KubernetesClusterManagerImpl.java | 18 +-
...ernetesClusterResourceModifierActionWorker.java | 28 +-
.../KubernetesClusterStartWorker.java | 1 +
.../version/KubernetesVersionManagerImpl.java | 20 +-
.../version/AddKubernetesSupportedVersionCmd.java | 10 +-
.../KubernetesSupportedVersionResponse.java | 8 +
.../main/resources/conf/k8s-control-node-add.yml | 1 +
.../src/main/resources/conf/k8s-control-node.yml | 1 +
.../src/main/resources/conf/k8s-node.yml | 1 +
.../cloudstack/metrics/PrometheusExporterImpl.java | 9 +-
.../metrics/PrometheusExporterServerImpl.java | 19 +-
.../cloudstack/metrics/MetricsServiceImpl.java | 5 +
.../response/InfrastructureResponse.java | 8 +
.../api/CreateNsxLoadBalancerRuleCommand.java | 8 +-
... DeleteNsxDistributedFirewallRulesCommand.java} | 4 +-
.../apache/cloudstack/resource/NsxNetworkRule.java | 26 +-
.../apache/cloudstack/resource/NsxResource.java | 9 +-
.../apache/cloudstack/service/NsxApiClient.java | 102 ++-
.../org/apache/cloudstack/service/NsxElement.java | 72 +-
.../cloudstack/service/NsxGuestNetworkGuru.java | 31 +-
.../apache/cloudstack/service/NsxServiceImpl.java | 6 +-
.../cloudstack/utils/NsxControllerUtils.java | 8 +-
.../apache/cloudstack/service/NsxElementTest.java | 21 +
.../network/tungsten/service/TungstenApiTest.java | 2 +
plugins/pom.xml | 26 +
.../shutdown/ShutdownManagerImplTest.java | 14 +
plugins/storage/object/minio/pom.xml | 57 ++
.../driver/MinIOObjectStoreDriverImpl.java | 404 +++++++++++
.../lifecycle/MinIOObjectStoreLifeCycleImpl.java | 129 ++++
.../provider/MinIOObjectStoreProviderImpl.java | 85 +++
.../storage-object-minio/module.properties | 18 +
.../spring-storage-object-minio-context.xml | 31 +
.../driver/MinIOObjectStoreDriverImplTest.java | 122 ++++
.../provider/MinIOObjectStoreProviderImplTest.java | 50 ++
plugins/storage/object/simulator/pom.xml | 57 ++
.../driver/SimulatorObjectStoreDriverImpl.java | 139 ++++
.../SimulatorObjectStoreLifeCycleImpl.java | 120 ++++
.../provider/SimulatorObjectStoreProviderImpl.java | 85 +++
.../storage-object-simulator/module.properties | 18 +
.../spring-storage-object-simulator-context.xml | 31 +
.../SimulatorObjectStoreProviderImplTest.java | 50 ++
.../ElastistorPrimaryDataStoreLifeCycle.java | 2 +
.../lifecycle/DateraPrimaryDataStoreLifeCycle.java | 2 +
.../CloudStackPrimaryDataStoreLifeCycleImpl.java | 84 +--
.../driver/LinstorPrimaryDataStoreDriverImpl.java | 87 ++-
.../LinstorPrimaryDataStoreLifeCycleImpl.java | 2 +
.../util/LinstorConfigurationManager.java | 4 +-
.../NexentaPrimaryDataStoreLifeCycle.java | 2 +
.../ScaleIOPrimaryDataStoreLifeCycle.java | 2 +
.../SolidFirePrimaryDataStoreLifeCycle.java | 2 +
.../SolidFireSharedPrimaryDataStoreLifeCycle.java | 2 +
.../manager/allocator/impl/FirstFitAllocator.java | 11 +-
server/src/main/java/com/cloud/api/ApiDBUtils.java | 23 +
.../main/java/com/cloud/api/ApiResponseHelper.java | 85 ++-
.../java/com/cloud/api/query/QueryManagerImpl.java | 329 ++++++++-
.../com/cloud/api/query/ViewResponseHelper.java | 19 +
.../com/cloud/api/query/dao/HostJoinDaoImpl.java | 1 +
.../cloud/api/query/dao/StoragePoolJoinDao.java | 3 +
.../api/query/dao/StoragePoolJoinDaoImpl.java | 58 ++
.../java/com/cloud/api/query/vo/HostJoinVO.java | 7 +
.../com/cloud/api/query/vo/StoragePoolJoinVO.java | 7 +
.../configuration/ConfigurationManagerImpl.java | 49 +-
.../deploy/DeploymentPlanningManagerImpl.java | 14 +-
.../java/com/cloud/deploy/FirstFitPlanner.java | 7 +
.../com/cloud/network/IpAddressManagerImpl.java | 129 +++-
.../java/com/cloud/network/NetworkModelImpl.java | 9 +-
.../java/com/cloud/network/NetworkServiceImpl.java | 100 ++-
.../com/cloud/network/router/NetworkHelper.java | 3 +
.../cloud/network/router/NetworkHelperImpl.java | 5 +
.../cloud/network/vpc/NetworkACLServiceImpl.java | 131 ++--
.../java/com/cloud/network/vpc/VpcManagerImpl.java | 63 +-
.../com/cloud/resource/ResourceManagerImpl.java | 22 +-
.../resource/RollingMaintenanceManagerImpl.java | 7 +-
.../com/cloud/server/ManagementServerImpl.java | 39 +
.../java/com/cloud/storage/StorageManagerImpl.java | 347 ++++++++-
.../com/cloud/storage/VolumeApiServiceImpl.java | 50 +-
.../cloud/storage/listener/StoragePoolMonitor.java | 2 +-
.../com/cloud/tags/ResourceManagerUtilImpl.java | 1 +
.../cloud/template/HypervisorTemplateAdapter.java | 291 +++++---
.../com/cloud/template/TemplateManagerImpl.java | 19 +-
.../src/main/java/com/cloud/test/TestAppender.java | 2 +
.../annotation/AnnotationManagerImpl.java | 1 +
.../storage/heuristics/HeuristicRuleHelper.java | 278 ++++++++
.../heuristics/presetvariables/Account.java | 25 +-
.../storage/heuristics/presetvariables/Domain.java | 20 +-
.../GenericHeuristicPresetVariable.java | 33 +-
.../presetvariables/PresetVariables.java | 72 ++
.../presetvariables/SecondaryStorage.java | 64 ++
.../heuristics/presetvariables/Snapshot.java | 32 +-
.../heuristics/presetvariables/Template.java | 56 ++
.../storage/heuristics/presetvariables/Volume.java | 32 +-
.../storage/object/BucketApiServiceImpl.java | 304 ++++++++
.../core/spring-server-core-managers-context.xml | 1 +
.../com/cloud/api/query/QueryManagerImplTest.java | 52 ++
.../configuration/ConfigurationManagerTest.java | 10 +-
.../deploy/DeploymentPlanningManagerImplTest.java | 211 ++++--
.../com/cloud/network/IpAddressManagerTest.java | 211 +++++-
.../com/cloud/network/NetworkServiceImplTest.java | 248 ++++++-
.../network/vpc/NetworkACLServiceImplTest.java | 145 ++--
.../com/cloud/network/vpc/VpcManagerImplTest.java | 23 +
.../com/cloud/storage/StorageManagerImplTest.java | 30 +
.../cloud/storage/VolumeApiServiceImplTest.java | 89 ++-
.../storage/listener/StoragePoolMonitorTest.java | 4 +-
.../template/HypervisorTemplateAdapterTest.java | 303 +++++++-
.../cloud/template/TemplateManagerImplTest.java | 203 ++++--
.../java/com/cloud/user/MockUsageEventDao.java | 5 +
.../java/com/cloud/vpc/MockNetworkManagerImpl.java | 22 +
.../networkoffering/CreateNetworkOfferingTest.java | 50 +-
.../heuristics/HeuristicRuleHelperTest.java | 205 ++++++
.../src/test/resources/createNetworkOffering.xml | 1 +
.../resource/NfsSecondaryStorageResource.java | 56 +-
.../resource/NfsSecondaryStorageResourceTest.java | 101 +++
systemvm/agent/scripts/ssvm-check.sh | 6 +-
test/integration/smoke/test_bucket.py | 111 +++
test/integration/smoke/test_global_acls.py | 245 +++++++
test/integration/smoke/test_network.py | 62 +-
test/integration/smoke/test_object_stores.py | 108 +++
test/integration/smoke/test_quarantined_ips.py | 329 +++++++++
tools/apidoc/gen_toc.py | 13 +-
tools/marvin/marvin/lib/base.py | 93 ++-
ui/package-lock.json | 790 ++++++++++++++++-----
ui/package.json | 1 +
ui/public/locales/en.json | 76 +-
ui/public/locales/pt_BR.json | 1 +
ui/src/components/KeyValuePairInput.vue | 91 +++
ui/src/components/header/CreateMenu.vue | 19 +
ui/src/components/view/AnnotationsTab.vue | 1 +
ui/src/components/view/DetailsTab.vue | 8 +-
ui/src/components/view/ListView.vue | 7 +-
ui/src/components/view/ObjectStoreBrowser.vue | 541 ++++++++++++++
ui/src/config/section/infra.js | 2 +
ui/src/config/section/infra/hosts.js | 2 +-
ui/src/config/section/infra/objectStorages.js | 74 ++
ui/src/config/section/infra/primaryStorages.js | 2 +-
ui/src/config/section/network.js | 1 +
ui/src/config/section/storage.js | 138 +++-
ui/src/core/lazy_lib/icons_use.js | 2 +
ui/src/views/compute/CreateKubernetesCluster.vue | 8 +-
ui/src/views/compute/DeployVnfAppliance.vue | 11 +-
ui/src/views/compute/MigrateVMStorage.vue | 2 +-
ui/src/views/compute/MigrateWizard.vue | 2 +-
ui/src/views/compute/ScaleVM.vue | 23 +-
.../views/compute/wizard/NetworkConfiguration.vue | 8 +-
.../views/image/AddKubernetesSupportedVersion.vue | 56 +-
ui/src/views/image/TemplateVnfSettings.vue | 3 +-
ui/src/views/infra/AddObjectStorage.vue | 171 +++++
ui/src/views/infra/AddPrimaryStorage.vue | 32 +-
ui/src/views/infra/InfraSummary.vue | 2 +-
ui/src/views/infra/network/IpRangesTabPublic.vue | 9 +-
ui/src/views/network/AclListRulesTab.vue | 2 +-
ui/src/views/network/IpAddressesTab.vue | 4 +-
ui/src/views/network/PortForwarding.vue | 5 -
ui/src/views/storage/CreateBucket.vue | 196 +++++
ui/src/views/storage/CreateTemplate.vue | 92 ++-
ui/src/views/storage/UpdateBucket.vue | 180 +++++
ui/tests/mockData/MigrateWizard.mock.json | 6 +
.../java/com/cloud/usage/UsageManagerImpl.java | 112 ++-
.../com/cloud/usage/parser/BucketUsageParser.java | 78 ++
utils/src/main/java/com/cloud/utils/DateUtil.java | 5 +
utils/src/main/java/com/cloud/utils/FileUtil.java | 33 +
.../main/java/com/cloud/utils/net/NetUtils.java | 10 +-
.../utils/jsinterpreter/JsInterpreter.java | 17 +-
.../utils/jsinterpreter/TagAsRuleHelper.java | 51 ++
.../java/com/cloud/utils/net/NetUtilsTest.java | 4 +-
.../utils/jsinterpreter/JsInterpreterTest.java | 18 +
354 files changed, 17390 insertions(+), 2119 deletions(-)
copy
framework/quota/src/main/java/org/apache/cloudstack/quota/activationrule/presetvariables/Host.java
=> api/src/main/java/com/cloud/network/PublicIpQuarantine.java (67%)
create mode 100644
api/src/main/java/org/apache/cloudstack/api/command/admin/storage/AddObjectStoragePoolCmd.java
create mode 100644
api/src/main/java/org/apache/cloudstack/api/command/admin/storage/DeleteObjectStoragePoolCmd.java
create mode 100644
api/src/main/java/org/apache/cloudstack/api/command/admin/storage/ListObjectStoragePoolsCmd.java
create mode 100644
api/src/main/java/org/apache/cloudstack/api/command/admin/storage/UpdateObjectStoragePoolCmd.java
create mode 100644
api/src/main/java/org/apache/cloudstack/api/command/admin/storage/heuristics/CreateSecondaryStorageSelectorCmd.java
create mode 100644
api/src/main/java/org/apache/cloudstack/api/command/admin/storage/heuristics/ListSecondaryStorageSelectorsCmd.java
create mode 100644
api/src/main/java/org/apache/cloudstack/api/command/admin/storage/heuristics/RemoveSecondaryStorageSelectorCmd.java
create mode 100644
api/src/main/java/org/apache/cloudstack/api/command/admin/storage/heuristics/UpdateSecondaryStorageSelectorCmd.java
create mode 100644
api/src/main/java/org/apache/cloudstack/api/command/user/address/ListQuarantinedIpsCmd.java
create mode 100644
api/src/main/java/org/apache/cloudstack/api/command/user/address/RemoveQuarantinedIpCmd.java
create mode 100644
api/src/main/java/org/apache/cloudstack/api/command/user/address/UpdateQuarantinedIpCmd.java
create mode 100644
api/src/main/java/org/apache/cloudstack/api/command/user/bucket/CreateBucketCmd.java
create mode 100644
api/src/main/java/org/apache/cloudstack/api/command/user/bucket/DeleteBucketCmd.java
create mode 100644
api/src/main/java/org/apache/cloudstack/api/command/user/bucket/ListBucketsCmd.java
create mode 100644
api/src/main/java/org/apache/cloudstack/api/command/user/bucket/UpdateBucketCmd.java
create mode 100644
api/src/main/java/org/apache/cloudstack/api/response/BucketResponse.java
create mode 100644
api/src/main/java/org/apache/cloudstack/api/response/IpQuarantineResponse.java
create mode 100644
api/src/main/java/org/apache/cloudstack/api/response/ObjectStoreResponse.java
create mode 100644
api/src/main/java/org/apache/cloudstack/api/response/SecondaryStorageHeuristicsResponse.java
copy
framework/quota/src/main/java/org/apache/cloudstack/quota/activationrule/presetvariables/Host.java
=>
api/src/main/java/org/apache/cloudstack/secstorage/heuristics/Heuristic.java
(66%)
copy
framework/quota/src/main/java/org/apache/cloudstack/quota/activationrule/presetvariables/Host.java
=>
api/src/main/java/org/apache/cloudstack/secstorage/heuristics/HeuristicType.java
(68%)
create mode 100644
api/src/main/java/org/apache/cloudstack/storage/object/Bucket.java
create mode 100644
api/src/main/java/org/apache/cloudstack/storage/object/BucketApiService.java
copy engine/schema/src/main/java/com/cloud/host/dao/HostTagsDao.java =>
api/src/main/java/org/apache/cloudstack/storage/object/ObjectStore.java (64%)
create mode 100644
api/src/test/java/org/apache/cloudstack/api/command/admin/storage/AddObjectStoragePoolCmdTest.java
create mode 100644
api/src/test/java/org/apache/cloudstack/api/command/admin/storage/DeleteObjectStoragePoolCmdTest.java
create mode 100644
api/src/test/java/org/apache/cloudstack/api/command/admin/storage/UpdateObjectStoragePoolCmdTest.java
copy
engine/api/src/main/java/org/apache/cloudstack/engine/subsystem/api/storage/{DataStoreProviderManager.java
=> BucketInfo.java} (64%)
copy
framework/quota/src/main/java/org/apache/cloudstack/quota/activationrule/presetvariables/Host.java
=>
engine/api/src/main/java/org/apache/cloudstack/engine/subsystem/api/storage/ObjectStorageService.java
(68%)
copy
engine/api/src/main/java/org/apache/cloudstack/engine/subsystem/api/storage/{DataStoreProviderManager.java
=> ObjectStoreProvider.java} (64%)
copy
engine/api/src/main/java/org/apache/cloudstack/{engine/subsystem/api/storage/DataStoreProviderManager.java
=> storage/object/ObjectStoreEntity.java} (57%)
copy engine/schema/src/main/java/com/cloud/{host/dao/HostTagsDao.java =>
network/dao/PublicIpQuarantineDao.java} (69%)
create mode 100644
engine/schema/src/main/java/com/cloud/network/dao/PublicIpQuarantineDaoImpl.java
create mode 100644
engine/schema/src/main/java/com/cloud/network/vo/PublicIpQuarantineVO.java
create mode 100644 engine/schema/src/main/java/com/cloud/storage/BucketVO.java
copy engine/schema/src/main/java/com/cloud/{host/dao/HostTagsDao.java =>
storage/dao/BucketDao.java} (70%)
create mode 100644
engine/schema/src/main/java/com/cloud/storage/dao/BucketDaoImpl.java
copy engine/schema/src/main/java/com/cloud/{host/HostTagVO.java =>
usage/BucketStatisticsVO.java} (62%)
copy engine/schema/src/main/java/com/cloud/{host/dao/HostTagsDao.java =>
usage/dao/BucketStatisticsDao.java} (70%)
create mode 100644
engine/schema/src/main/java/com/cloud/usage/dao/BucketStatisticsDaoImpl.java
create mode 100644
engine/schema/src/main/java/org/apache/cloudstack/secstorage/HeuristicVO.java
copy engine/schema/src/main/java/{com/cloud/host/dao/HostTagsDao.java =>
org/apache/cloudstack/secstorage/dao/SecondaryStorageHeuristicDao.java} (68%)
create mode 100644
engine/schema/src/main/java/org/apache/cloudstack/secstorage/dao/SecondaryStorageHeuristicDaoImpl.java
copy
engine/{api/src/main/java/org/apache/cloudstack/engine/subsystem/api/storage/DataStoreProviderManager.java
=>
schema/src/main/java/org/apache/cloudstack/storage/datastore/db/ObjectStoreDao.java}
(55%)
create mode 100644
engine/schema/src/main/java/org/apache/cloudstack/storage/datastore/db/ObjectStoreDaoImpl.java
copy engine/schema/src/main/java/{com/cloud/host/HostTagVO.java =>
org/apache/cloudstack/storage/datastore/db/ObjectStoreDetailVO.java} (59%)
copy engine/schema/src/main/java/{com/cloud/host/dao/HostTagsDao.java =>
org/apache/cloudstack/storage/datastore/db/ObjectStoreDetailsDao.java} (67%)
create mode 100644
engine/schema/src/main/java/org/apache/cloudstack/storage/datastore/db/ObjectStoreDetailsDaoImpl.java
create mode 100644
engine/schema/src/main/java/org/apache/cloudstack/storage/datastore/db/ObjectStoreVO.java
create mode 100644
engine/schema/src/main/resources/META-INF/db/views/cloud.async_job_view.sql
create mode 100644
engine/schema/src/main/resources/META-INF/db/views/cloud.data_center_view.sql
create mode 100644
engine/schema/src/main/resources/META-INF/db/views/cloud.disk_offering_view.sql
create mode 100644
engine/schema/src/main/resources/META-INF/db/views/cloud.domain_router_view.sql
create mode 100644
engine/schema/src/main/resources/META-INF/db/views/cloud.host_view.sql
create mode 100644
engine/schema/src/main/resources/META-INF/db/views/cloud.network_offering_view.sql
create mode 100644
engine/schema/src/main/resources/META-INF/db/views/cloud.service_offering_view.sql
create mode 100644
engine/schema/src/main/resources/META-INF/db/views/cloud.snapshot_view.sql
create mode 100644
engine/schema/src/main/resources/META-INF/db/views/cloud.storage_pool_view.sql
create mode 100644
engine/schema/src/main/resources/META-INF/db/views/cloud.template_view.sql
create mode 100644
engine/schema/src/main/resources/META-INF/db/views/cloud.user_view.sql
create mode 100644
engine/schema/src/main/resources/META-INF/db/views/cloud.user_vm_view.sql
create mode 100644 engine/storage/object/pom.xml
create mode 100644
engine/storage/object/src/main/java/org/apache/cloudstack/storage/object/BucketObject.java
copy
framework/quota/src/main/java/org/apache/cloudstack/quota/activationrule/presetvariables/Host.java
=>
engine/storage/object/src/main/java/org/apache/cloudstack/storage/object/ObjectStorageServiceImpl.java
(69%)
create mode 100644
engine/storage/object/src/main/java/org/apache/cloudstack/storage/object/manager/ObjectStoreProviderManagerImpl.java
create mode 100644
engine/storage/object/src/main/java/org/apache/cloudstack/storage/object/store/ObjectStoreImpl.java
copy
engine/{api/src/main/java/org/apache/cloudstack/engine/subsystem/api/storage/DataStoreProviderManager.java
=>
storage/object/src/main/java/org/apache/cloudstack/storage/object/store/lifecycle/ObjectStoreLifeCycle.java}
(59%)
create mode 100644
engine/storage/object/src/main/resources/META-INF/cloudstack/core/spring-engine-storage-object-core-context.xml
create mode 100644
engine/storage/object/src/test/java/org/apache/cloudstack/storage/object/manager/ObjectStoreProviderManagerImplTest.java
copy engine/storage/{volume => object}/src/test/resource/testContext.xml (100%)
copy {agent =>
engine/storage/object}/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker
(100%)
create mode 100644
engine/storage/src/main/java/org/apache/cloudstack/storage/object/BaseObjectStoreDriverImpl.java
create mode 100644
engine/storage/src/main/java/org/apache/cloudstack/storage/object/ObjectStoreDriver.java
create mode 100644
engine/storage/src/main/java/org/apache/cloudstack/storage/object/datastore/ObjectStoreHelper.java
copy
engine/{api/src/main/java/org/apache/cloudstack/engine/subsystem/api/storage/DataStoreProviderManager.java
=>
storage/src/main/java/org/apache/cloudstack/storage/object/datastore/ObjectStoreProviderManager.java}
(59%)
rename
plugins/network-elements/nsx/src/main/java/org/apache/cloudstack/agent/api/{DeletedNsxDistributedFirewallRulesCommand.java
=> DeleteNsxDistributedFirewallRulesCommand.java} (79%)
create mode 100644 plugins/storage/object/minio/pom.xml
create mode 100644
plugins/storage/object/minio/src/main/java/org/apache/cloudstack/storage/datastore/driver/MinIOObjectStoreDriverImpl.java
create mode 100644
plugins/storage/object/minio/src/main/java/org/apache/cloudstack/storage/datastore/lifecycle/MinIOObjectStoreLifeCycleImpl.java
create mode 100644
plugins/storage/object/minio/src/main/java/org/apache/cloudstack/storage/datastore/provider/MinIOObjectStoreProviderImpl.java
create mode 100644
plugins/storage/object/minio/src/main/resources/META-INF/cloudstack/storage-object-minio/module.properties
create mode 100644
plugins/storage/object/minio/src/main/resources/META-INF/cloudstack/storage-object-minio/spring-storage-object-minio-context.xml
create mode 100644
plugins/storage/object/minio/src/test/java/org/apache/cloudstack/storage/datastore/driver/MinIOObjectStoreDriverImplTest.java
create mode 100644
plugins/storage/object/minio/src/test/java/org/apache/cloudstack/storage/datastore/provider/MinIOObjectStoreProviderImplTest.java
create mode 100644 plugins/storage/object/simulator/pom.xml
create mode 100644
plugins/storage/object/simulator/src/main/java/org/apache/cloudstack/storage/datastore/driver/SimulatorObjectStoreDriverImpl.java
create mode 100644
plugins/storage/object/simulator/src/main/java/org/apache/cloudstack/storage/datastore/lifecycle/SimulatorObjectStoreLifeCycleImpl.java
create mode 100644
plugins/storage/object/simulator/src/main/java/org/apache/cloudstack/storage/datastore/provider/SimulatorObjectStoreProviderImpl.java
create mode 100644
plugins/storage/object/simulator/src/main/resources/META-INF/cloudstack/storage-object-simulator/module.properties
create mode 100644
plugins/storage/object/simulator/src/main/resources/META-INF/cloudstack/storage-object-simulator/spring-storage-object-simulator-context.xml
create mode 100644
plugins/storage/object/simulator/src/test/java/org/apache/cloudstack/storage/datastore/provider/SimulatorObjectStoreProviderImplTest.java
create mode 100644
server/src/main/java/org/apache/cloudstack/storage/heuristics/HeuristicRuleHelper.java
copy
framework/quota/src/main/java/org/apache/cloudstack/quota/activationrule/presetvariables/Host.java
=>
server/src/main/java/org/apache/cloudstack/storage/heuristics/presetvariables/Account.java
(61%)
copy
framework/quota/src/main/java/org/apache/cloudstack/quota/activationrule/presetvariables/Host.java
=>
server/src/main/java/org/apache/cloudstack/storage/heuristics/presetvariables/Domain.java
(69%)
copy
framework/quota/src/main/java/org/apache/cloudstack/quota/activationrule/presetvariables/Storage.java
=>
server/src/main/java/org/apache/cloudstack/storage/heuristics/presetvariables/GenericHeuristicPresetVariable.java
(53%)
create mode 100644
server/src/main/java/org/apache/cloudstack/storage/heuristics/presetvariables/PresetVariables.java
create mode 100644
server/src/main/java/org/apache/cloudstack/storage/heuristics/presetvariables/SecondaryStorage.java
copy
framework/quota/src/main/java/org/apache/cloudstack/quota/activationrule/presetvariables/Storage.java
=>
server/src/main/java/org/apache/cloudstack/storage/heuristics/presetvariables/Snapshot.java
(54%)
create mode 100644
server/src/main/java/org/apache/cloudstack/storage/heuristics/presetvariables/Template.java
copy
framework/quota/src/main/java/org/apache/cloudstack/quota/activationrule/presetvariables/Storage.java
=>
server/src/main/java/org/apache/cloudstack/storage/heuristics/presetvariables/Volume.java
(58%)
create mode 100644
server/src/main/java/org/apache/cloudstack/storage/object/BucketApiServiceImpl.java
create mode 100644
server/src/test/java/org/apache/cloudstack/storage/heuristics/HeuristicRuleHelperTest.java
create mode 100644 test/integration/smoke/test_bucket.py
create mode 100644 test/integration/smoke/test_global_acls.py
create mode 100644 test/integration/smoke/test_object_stores.py
create mode 100644 test/integration/smoke/test_quarantined_ips.py
create mode 100644 ui/src/components/KeyValuePairInput.vue
create mode 100644 ui/src/components/view/ObjectStoreBrowser.vue
create mode 100644 ui/src/config/section/infra/objectStorages.js
create mode 100644 ui/src/views/infra/AddObjectStorage.vue
create mode 100644 ui/src/views/storage/CreateBucket.vue
create mode 100644 ui/src/views/storage/UpdateBucket.vue
create mode 100644
usage/src/main/java/com/cloud/usage/parser/BucketUsageParser.java
create mode 100644
utils/src/main/java/org/apache/cloudstack/utils/jsinterpreter/TagAsRuleHelper.java