This is an automated email from the ASF dual-hosted git repository.
nvazquez pushed a change to branch nsx-integration
in repository https://gitbox.apache.org/repos/asf/cloudstack.git
from 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
No new revisions were added by this update.
Summary of changes:
.github/workflows/ci.yml | 1 +
api/src/main/java/com/cloud/event/EventTypes.java | 22 +
.../main/java/com/cloud/server/ResourceTag.java | 3 +-
.../main/java/com/cloud/storage/DataStoreRole.java | 4 +-
.../java/com/cloud/storage/StorageService.java | 8 +
.../cloudstack/annotation/AnnotationService.java | 3 +-
.../cloudstack/api/ApiCommandResourceType.java | 4 +-
.../org/apache/cloudstack/api/ApiConstants.java | 7 +
.../java/org/apache/cloudstack/api/BaseCmd.java | 4 +
.../apache/cloudstack/api/ResponseGenerator.java | 8 +
.../admin/storage/AddObjectStoragePoolCmd.java | 132 ++++
.../admin/storage/DeleteObjectStoragePoolCmd.java | 69 ++
.../admin/storage/ListObjectStoragePoolsCmd.java | 79 +++
.../admin/storage/UpdateObjectStoragePoolCmd.java | 93 +++
.../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 ++++
.../cloudstack/api/response/BucketResponse.java | 293 ++++++++
.../api/response/ObjectStoreResponse.java | 106 +++
.../org/apache/cloudstack/query/QueryService.java | 8 +
.../apache/cloudstack/storage/object/Bucket.java | 64 ++
.../storage/object/BucketApiService.java | 54 ++
.../cloudstack/storage/object/ObjectStore.java | 40 ++
.../org/apache/cloudstack/usage/UsageTypes.java | 2 +
.../admin/storage/AddObjectStoragePoolCmdTest.java | 97 +++
.../storage/DeleteObjectStoragePoolCmdTest.java | 59 ++
.../storage/UpdateObjectStoragePoolCmdTest.java | 85 +++
client/pom.xml | 15 +
...taStoreProviderManager.java => BucketInfo.java} | 16 +-
.../subsystem/api/storage/DataStoreProvider.java | 2 +-
.../api/storage/DataStoreProviderManager.java | 2 +
.../api/storage/ObjectStorageService.java | 22 +
...oviderManager.java => ObjectStoreProvider.java} | 15 +-
.../object/ObjectStoreEntity.java} | 30 +-
engine/pom.xml | 1 +
.../src/main/java/com/cloud/storage/BucketVO.java | 257 +++++++
.../main/java/com/cloud/storage/dao/BucketDao.java | 30 +
.../java/com/cloud/storage/dao/BucketDaoImpl.java | 84 +++
.../java/com/cloud/usage/BucketStatisticsVO.java | 74 ++
.../com/cloud/usage/dao/BucketStatisticsDao.java | 30 +
.../cloud/usage/dao/BucketStatisticsDaoImpl.java | 67 ++
.../main/java/com/cloud/usage/dao/UsageDao.java | 7 +
.../java/com/cloud/usage/dao/UsageDaoImpl.java | 71 ++
.../storage/datastore/db/ObjectStoreDao.java} | 24 +-
.../storage/datastore/db/ObjectStoreDaoImpl.java | 162 +++++
.../storage/datastore/db/ObjectStoreDetailVO.java | 77 ++
.../datastore/db/ObjectStoreDetailsDao.java | 31 +
.../datastore/db/ObjectStoreDetailsDaoImpl.java | 104 +++
.../storage/datastore/db/ObjectStoreVO.java | 143 ++++
.../spring-engine-schema-core-daos-context.xml | 2 +
.../resources/META-INF/db/schema-41810to41900.sql | 66 ++
.../src/test/resources/storageContext.xml | 4 +
engine/storage/object/pom.xml | 37 +
.../cloudstack/storage/object/BucketObject.java | 196 +++++
.../storage/object/ObjectStorageServiceImpl.java | 28 +
.../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/datastore/DataStoreManagerImpl.java | 7 +
.../provider/DataStoreProviderManagerImpl.java | 27 +-
.../storage/object/BaseObjectStoreDriverImpl.java | 81 +++
.../storage/object/ObjectStoreDriver.java | 59 ++
.../object/datastore/ObjectStoreHelper.java | 72 ++
.../datastore/ObjectStoreProviderManager.java} | 20 +-
.../cloudstack/quota/constant/QuotaTypes.java | 1 +
.../cloudstack/metrics/MetricsServiceImpl.java | 5 +
.../response/InfrastructureResponse.java | 8 +
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 ++
server/src/main/java/com/cloud/api/ApiDBUtils.java | 23 +
.../main/java/com/cloud/api/ApiResponseHelper.java | 52 +-
.../java/com/cloud/api/query/QueryManagerImpl.java | 166 +++++
.../com/cloud/api/query/ViewResponseHelper.java | 19 +
.../com/cloud/server/ManagementServerImpl.java | 18 +
.../java/com/cloud/storage/StorageManagerImpl.java | 136 ++++
.../annotation/AnnotationManagerImpl.java | 1 +
.../storage/object/BucketApiServiceImpl.java | 304 ++++++++
.../core/spring-server-core-managers-context.xml | 1 +
.../com/cloud/api/query/QueryManagerImplTest.java | 52 ++
.../resource/NfsSecondaryStorageResource.java | 56 +-
.../resource/NfsSecondaryStorageResourceTest.java | 101 +++
test/integration/smoke/test_bucket.py | 111 +++
test/integration/smoke/test_object_stores.py | 108 +++
tools/apidoc/gen_toc.py | 10 +-
tools/marvin/marvin/lib/base.py | 79 +++
ui/package-lock.json | 790 ++++++++++++++++-----
ui/package.json | 1 +
ui/public/locales/en.json | 38 +
ui/src/components/KeyValuePairInput.vue | 91 +++
ui/src/components/view/AnnotationsTab.vue | 1 +
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/objectStorages.js | 74 ++
ui/src/config/section/storage.js | 129 +++-
ui/src/core/lazy_lib/icons_use.js | 2 +
ui/src/views/infra/AddObjectStorage.vue | 171 +++++
ui/src/views/infra/InfraSummary.vue | 2 +-
ui/src/views/storage/CreateBucket.vue | 196 +++++
ui/src/views/storage/UpdateBucket.vue | 180 +++++
.../java/com/cloud/usage/UsageManagerImpl.java | 112 ++-
.../com/cloud/usage/parser/BucketUsageParser.java | 78 ++
.../main/java/com/cloud/utils/net/NetUtils.java | 1 +
123 files changed, 8905 insertions(+), 300 deletions(-)
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/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/ObjectStoreResponse.java
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
create mode 100644
api/src/main/java/org/apache/cloudstack/storage/object/ObjectStore.java
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%)
create mode 100644
engine/api/src/main/java/org/apache/cloudstack/engine/subsystem/api/storage/ObjectStorageService.java
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%)
create mode 100644 engine/schema/src/main/java/com/cloud/storage/BucketVO.java
create mode 100644
engine/schema/src/main/java/com/cloud/storage/dao/BucketDao.java
create mode 100644
engine/schema/src/main/java/com/cloud/storage/dao/BucketDaoImpl.java
create mode 100644
engine/schema/src/main/java/com/cloud/usage/BucketStatisticsVO.java
create mode 100644
engine/schema/src/main/java/com/cloud/usage/dao/BucketStatisticsDao.java
create mode 100644
engine/schema/src/main/java/com/cloud/usage/dao/BucketStatisticsDaoImpl.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
create mode 100644
engine/schema/src/main/java/org/apache/cloudstack/storage/datastore/db/ObjectStoreDetailVO.java
create mode 100644
engine/schema/src/main/java/org/apache/cloudstack/storage/datastore/db/ObjectStoreDetailsDao.java
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/storage/object/pom.xml
create mode 100644
engine/storage/object/src/main/java/org/apache/cloudstack/storage/object/BucketObject.java
create mode 100644
engine/storage/object/src/main/java/org/apache/cloudstack/storage/object/ObjectStorageServiceImpl.java
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%)
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/object/BucketApiServiceImpl.java
create mode 100644 test/integration/smoke/test_bucket.py
create mode 100644 test/integration/smoke/test_object_stores.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