You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ozone.apache.org by si...@apache.org on 2022/05/29 17:25:47 UTC

[ozone] branch master updated (fad347c3c0 -> 0242a823f9)

This is an automated email from the ASF dual-hosted git repository.

siyao pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/ozone.git


    from fad347c3c0 HDDS-6817. Bump rocksdbjni to 7.2.2 (#3463)
     add 74a301cf06 HDDS-4945. Initial prototype for MultiTenant support for Ozone (#2403)
     add ab84d9ea47 HDDS-5485. Add new OM DB tables for AssignUserToTenant (#2453)
     add c826ec2532 Merge remote-tracking branch 'asf/master' into HDDS-4944
     add 9787f70164 Merge remote-tracking branch 'asf/master' into HDDS-4944
     add 2c95164bf2 HDDS-5647. [Multi-Tenant] Implement AssignUserToTenant (#2564)
     add e5fb5b02eb HDDS-5476. [Multi-Tenant] Support Ozone s3 authentication with arbitrary accessId that is not same as the kerberos ID (#2635)
     add 85167656ff HDDS-5750. [Multi-Tenant] GetS3Secret should retrieve secret from new tables as well (#2649)
     add 7f818ab446 Merge remote-tracking branch 'asf/master' into HDDS-4944
     add 9fc34dc7ff HDDS-5754. [Multi-Tenant] Implement GetUserInfo (#2692)
     add 7d63fe2d1f HDDS-5645. Chroot S3 requests for a tenant to their corresponding volume. (#2697)
     add 8ecff6fd1a HDDS-5776. [Multi-Tenant] Implement AssignTenantAdmin, RevokeTenantAdmin, ListTenant, RevokeAccessID (#2734)
     add dae8c0df17 HDDS-5834 [Multi-Tenant] Implement ListUsersInTenant, Remove in memory maps. (#2759)
     add 72d67018e6 HDDS-5939. [Multi-Tenant] Implement `ozone tenant user getsecret` that does not generate secret when accessId does not exist (#2804)
     add 19116fe1f1 HDDS-5972. [Multi-Tenant] Implement SetSecret: `ozone tenant user setsecret` and `ozone s3 setsecret` (#2845)
     add a19d252f98 HDDS-5942. Move Ranger REST API interactions under same interface as Ranger client. (#2805)
     add 8d1d957ee0 HDDS-6022. [Multi-Tenant] Implement DeleteTenant: `ozone tenant delete` (#2857)
     add f5581ce819 Merge remote-tracking branch 'asf/master' into HDDS-4944
     add bb67e13048 HDDS-6004. Use changes from HDDS-5881 for volume chroot. (#2924)
     add f2fdf04666 Merge remote-tracking branch 'asf/master' into HDDS-4944
     add 8d2fb136cd HDDS-6044. [Multi-Tenant] Implement Cross-Tenant Bucket Sharing (#2936)
     add 83a8c5f14b HDDS-6084. [Multi-Tenant] Handle upgrades to version supporting S3 multi-tenancy (#3018)
     add 2e6754f6cc HDDS-6214. [Multi-Tenant] Fix KMS Encryption/Decryption (#3010)
     add edcb2e1927 Merge remote-tracking branch 'asf/master' into HDDS-4944
     add 52318302a6 HDDS-6063. [Multi-Tenant] Use VOLUME_LOCK in read and write requests, and some minor refactoring (#3051)
     add ecb685a6cf HDDS-6275. [Multi-Tenant] Add feature documentation and CLI quick start guide (#3095)
     add 43deaa8424 HDDS-6366. [Multi-Tenant] Disallow specifying custom accessId in OzoneManager (#3166)
     add f99130b6f9 HDDS-6396. [Multi-Tenant] Merge and cleanup tenant group/role/policy tables, refactor protobuf messages and `isTenantAdmin` (#3177)
     add c5bd28610a HDDS-6575. [Multi-Tenant] Clean up unused tenantDefaultPolicyName field in CreateTenantRequest protobuf message (#3300)
     add d621c8231c HDDS-6387. [Multi-Tenant] Refactor OMMultiTenantManager and OMTenantRequestHelper (#3264)
     add 9280b67553 HDDS-6375. [Multi-Tenant] Implement tenant request metrics (#3256)
     add 7719e23eec Merge remote-tracking branch 'asf/master' into HDDS-4944
     add f127fa9944 HDDS-6576. [Multi-Tenant] Update documentation around Ranger policy creation on bucket sharing (#3303)
     add 6044ef607d HDDS-6566. [Multi-Tenant] Fix a permission check bug that prevents non-delegated admins from assigning/revoking users to/from the tenant (#3288)
     add 42d30d37f1 HDDS-6625. [Multi-Tenant] Follow-up: Set owner of buckets created via S3 Gateway to actual user (#3327)
     add c55bd0290f HDDS-6612. [Multi-Tenant] Add a config key to enable or disable S3 Multi-Tenancy feature (#3397)
     add f0b3013091 HDDS-6340. [Multi-Tenant] Add tenant CLI option to print results in JSON (#3381)
     add 917b079a61 HDDS-5836. [Multi-Tenant] Use Ranger java client. (#3408)
     add 35043683a6 HDDS-6371. [Multi-Tenant] Provide OM DB to Apache Ranger Sync mechanism (#3131)
     add 92daac20f0 Merge remote-tracking branch 'asf/master' into HDDS-4944
     add dcd17390be HDDS-6701. [Multi-Tenant] Add proper locking between Ranger background sync service and tenant requests; bug fixes (#3450)
     add 1acaa82f34 Merge remote-tracking branch 'asf/master' into HDDS-4944
     new 0242a823f9 Merge remote-tracking branch 'asf/HDDS-4944'

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:
 .../hadoop/hdds/scm/client/HddsClientUtils.java    |    5 +-
 .../java/org/apache/hadoop/ozone/OzoneConsts.java  |   87 +-
 .../common/src/main/resources/ozone-default.xml    |   31 +
 .../org/apache/hadoop/ozone/TestOzoneConsts.java   |   35 +
 .../docs/content/feature/Nonrolling-Upgrade.md     |    1 +
 .../feature/S3-Multi-Tenancy-Access-Control.md     |   93 ++
 .../docs/content/feature/S3-Multi-Tenancy-Setup.md |   93 ++
 .../docs/content/feature/S3-Multi-Tenancy.md       |   75 ++
 .../docs/content/feature/S3-Tenant-Commands.md     |  458 ++++++++
 .../themes/ozonedoc/layouts/_default/section.html  |    3 +-
 .../hadoop/hdds/utils/DBCheckpointServlet.java     |    2 +-
 .../apache/hadoop/ozone/client/ObjectStore.java    |  173 ++-
 .../apache/hadoop/ozone/client/OzoneVolume.java    |   30 +
 .../org/apache/hadoop/ozone/client/TenantArgs.java |   82 ++
 .../org/apache/hadoop/ozone/client/VolumeArgs.java |    2 +
 .../ozone/client/protocol/ClientProtocol.java      |  131 ++-
 .../apache/hadoop/ozone/client/rpc/RpcClient.java  |  196 +++-
 .../main/java/org/apache/hadoop/ozone/OmUtils.java |   12 +
 .../org/apache/hadoop/ozone/audit/OMAction.java    |   15 +-
 .../org/apache/hadoop/ozone/om/OMConfigKeys.java   |   41 +
 .../hadoop/ozone/om/exceptions/OMException.java    |   16 +-
 .../hadoop/ozone/om/helpers/DeleteTenantState.java |   91 ++
 .../hadoop/ozone/om/helpers/OmDBAccessIdInfo.java  |  136 +++
 .../hadoop/ozone/om/helpers/OmDBTenantState.java   |  205 ++++
 .../ozone/om/helpers/OmDBUserPrincipalInfo.java    |   93 ++
 .../hadoop/ozone/om/helpers/OmRangerSyncArgs.java  |   67 ++
 .../hadoop/ozone/om/helpers/OmTenantArgs.java      |   92 ++
 .../hadoop/ozone/om/helpers/OmTenantUserArgs.java} |   39 +-
 .../hadoop/ozone/om/helpers/OmVolumeArgs.java      |   55 +-
 .../hadoop/ozone/om/helpers/S3SecretValue.java     |    1 +
 .../hadoop/ozone/om/helpers/S3VolumeContext.java   |   94 ++
 .../hadoop/ozone/om/helpers/TenantStateList.java   |   72 ++
 .../ozone/om/helpers/TenantUserInfoValue.java      |   75 ++
 .../hadoop/ozone/om/helpers/TenantUserList.java    |   70 ++
 .../hadoop/ozone/om/multitenant/AccessPolicy.java  |  152 +++
 .../ozone/om/multitenant/AccountNameSpace.java     |   77 ++
 .../ozone/om/multitenant/BucketNameSpace.java      |   94 ++
 .../ozone/om/multitenant/OzoneOwnerPrincipal.java  |   39 +
 .../hadoop/ozone/om/multitenant/OzoneTenant.java   |   96 ++
 .../om/multitenant/OzoneTenantRolePrincipal.java   |   41 +
 .../ozone/om/multitenant/RangerAccessPolicy.java   |  316 ++++++
 .../apache/hadoop/ozone/om/multitenant/Tenant.java |   59 +
 .../om/multitenant/impl/AccountNameSpaceImpl.java  |   53 +
 .../impl/SingleVolumeTenantNamespace.java          |   83 ++
 .../ozone/om/multitenant/impl/package-info.java}   |   24 +-
 .../hadoop/ozone/om/multitenant/package-info.java} |   24 +-
 .../ozone/om/protocol/OzoneManagerProtocol.java    |  126 +++
 .../apache/hadoop/ozone/om/protocol/S3Auth.java    |   18 +-
 ...OzoneManagerProtocolClientSideTranslatorPB.java |  258 +++++
 .../ozone/om/exceptions/TestResultCodes.java       |    3 +-
 .../main/compose/ozonesecure/docker-compose.yaml   |   16 +-
 .../src/main/compose/ozonesecure/docker-config     |   13 +
 .../ozonesecure/mockserverInitialization.json      |   98 ++
 .../non-rolling-upgrade/1.1.0-1.2.0/callback.sh    |    2 +-
 .../non-rolling-upgrade/1.2.1-1.3.0/callback.sh    |    2 +-
 hadoop-ozone/dist/src/main/license/jar-report.txt  |   24 +
 .../smoketest/security/ozone-secure-tenant.robot   |  138 +++
 .../smoketest/security/ozone-secure-token.robot    |    1 +
 .../dist/src/main/smoketest/upgrade/generate.robot |   31 +-
 .../dist/src/main/smoketest/upgrade/validate.robot |   22 +
 hadoop-ozone/dist/src/shell/ozone/ozone            |    5 +
 .../hadoop/hdds/upgrade/TestHDDSUpgrade.java       |    9 +-
 .../hadoop/ozone/TestOzoneConfigurationFields.java |   12 +-
 .../hadoop/ozone/TestSecureOzoneCluster.java       |   17 +-
 .../client/rpc/TestOzoneRpcClientAbstract.java     |    6 +-
 ...estMultiTenantAccessAuthorizerRangerPlugin.java |  269 +++++
 .../om/multitenant/TestMultiTenantVolume.java      |  264 +++++
 .../om/multitenant/TestRangerBGSyncService.java    |  722 ++++++++++++
 .../hadoop/ozone/om/multitenant/package-info.java} |   25 +-
 .../hadoop/ozone/shell/TestOzoneShellHA.java       |    3 +
 .../hadoop/ozone/shell/TestOzoneTenantShell.java   | 1085 ++++++++++++++++++
 .../src/main/proto/OmClientProtocol.proto          |  233 +++-
 .../apache/hadoop/ozone/om/OMMetadataManager.java  |    9 +
 .../ozone/om/codec/OmDBAccessIdInfoCodec.java      |   57 +
 .../ozone/om/codec/OmDBTenantStateCodec.java       |   57 +
 .../ozone/om/codec/OmDBUserPrincipalInfoCodec.java |   60 +
 hadoop-ozone/ozone-manager/pom.xml                 |   39 +
 .../org/apache/hadoop/ozone/om/KeyManagerImpl.java |    2 +-
 .../java/org/apache/hadoop/ozone/om/OMMetrics.java |  174 +++
 .../hadoop/ozone/om/OMMultiTenantManager.java      |  321 ++++++
 .../hadoop/ozone/om/OMMultiTenantManagerImpl.java  | 1149 ++++++++++++++++++++
 .../hadoop/ozone/om/OmMetadataManagerImpl.java     |   74 +-
 .../org/apache/hadoop/ozone/om/OzoneAclUtils.java  |   25 +
 .../org/apache/hadoop/ozone/om/OzoneManager.java   |  350 +++++-
 .../hadoop/ozone/om/S3SecretManagerImpl.java       |   14 +-
 .../java/org/apache/hadoop/ozone/om/TenantOp.java  |   86 ++
 .../hadoop/ozone/om/codec/OMDBDefinition.java      |   38 +-
 .../ozone/om/multitenant/AuthorizerLock.java       |   87 ++
 .../ozone/om/multitenant/AuthorizerLockImpl.java   |  186 ++++
 .../ozone/om/multitenant/CachedTenantState.java    |   88 ++
 .../multitenant/MultiTenantAccessAuthorizer.java   |  282 +++++
 .../MultiTenantAccessAuthorizerDummyPlugin.java    |  194 ++++
 .../MultiTenantAccessAuthorizerRangerPlugin.java   |  850 +++++++++++++++
 .../multitenant/MultiTenantAccessController.java   |  414 +++++++
 .../om/multitenant/OMRangerBGSyncService.java      |  844 ++++++++++++++
 .../RangerClientMultiTenantAccessController.java   |  323 ++++++
 .../RangerRestMultiTenantAccessController.java     |  670 ++++++++++++
 .../package-info.java}                             |   16 +-
 .../om/ratis/utils/OzoneManagerRatisUtils.java     |   30 +
 .../hadoop/ozone/om/request/OMClientRequest.java   |   20 +-
 .../om/request/file/OMDirectoryCreateRequest.java  |    2 +-
 .../om/request/s3/security/OMSetSecretRequest.java |  186 ++++
 .../om/request/s3/security/S3GetSecretRequest.java |  153 ++-
 .../request/s3/security/S3RevokeSecretRequest.java |   17 +-
 .../request/s3/security/S3SecretRequestHelper.java |  107 ++
 .../tenant/OMSetRangerServiceVersionRequest.java   |   84 ++
 .../s3/tenant/OMTenantAssignAdminRequest.java      |  253 +++++
 .../tenant/OMTenantAssignUserAccessIdRequest.java  |  373 +++++++
 .../request/s3/tenant/OMTenantCreateRequest.java   |  352 ++++++
 .../request/s3/tenant/OMTenantDeleteRequest.java   |  247 +++++
 .../s3/tenant/OMTenantRevokeAdminRequest.java      |  242 +++++
 .../tenant/OMTenantRevokeUserAccessIdRequest.java  |  269 +++++
 .../s3/tenant/package-info.java}                   |   24 +-
 .../om/request/volume/OMVolumeDeleteRequest.java   |   10 +
 .../ozone/om/request/volume/OMVolumeRequest.java   |    4 +-
 ...ecretResponse.java => OMSetSecretResponse.java} |   36 +-
 .../response/s3/security/S3GetSecretResponse.java  |    6 +
 .../tenant/OMSetRangerServiceVersionResponse.java  |   72 ++
 .../s3/tenant/OMTenantAssignAdminResponse.java     |   75 ++
 .../tenant/OMTenantAssignUserAccessIdResponse.java |  105 ++
 .../response/s3/tenant/OMTenantCreateResponse.java |   94 ++
 .../response/s3/tenant/OMTenantDeleteResponse.java |   84 ++
 .../s3/tenant/OMTenantRevokeAdminResponse.java     |   75 ++
 .../tenant/OMTenantRevokeUserAccessIdResponse.java |   93 ++
 .../s3/tenant/package-info.java}                   |   24 +-
 .../om/upgrade/DisallowedUntilLayoutVersion.java   |    2 +-
 .../hadoop/ozone/om/upgrade/OMLayoutFeature.java   |    3 +-
 .../ozone/om/upgrade/OMLayoutFeatureAspect.java    |   17 +-
 ...OzoneManagerProtocolServerSideTranslatorPB.java |   16 +-
 .../protocolPB/OzoneManagerRequestHandler.java     |   85 +-
 .../ozone/security/acl/OzoneNativeAuthorizer.java  |    3 +
 .../src/main/resources/META-INF/aop.xml            |   24 +
 .../hadoop/ozone/om/TestAuthorizerLockImpl.java    |  156 +++
 .../hadoop/ozone/om/TestOMMultiTenantManager.java  |  175 +++
 .../ozone/om/TestOMMultiTenantManagerImpl.java     |  159 +++
 .../InMemoryMultiTenantAccessController.java       |  154 +++
 .../TestMultiTenantAccessController.java           |  397 +++++++
 .../ozone/om/request/OMRequestTestUtils.java       |  154 +++
 .../s3/security/TestS3GetSecretRequest.java        |  450 ++++++++
 .../tenant/TestSetRangerServiceVersionRequest.java |  110 ++
 .../om/upgrade/TestOMLayoutFeatureAspect.java      |    1 +
 .../hadoop/ozone/s3/OzoneClientProducer.java       |    8 +-
 .../hadoop/ozone/s3/endpoint/EndpointBase.java     |   11 +-
 .../hadoop/ozone/client/ObjectStoreStub.java       |   10 +-
 .../hadoop/ozone/client/OzoneBucketStub.java       |    8 +-
 .../hadoop/ozone/s3/TestS3GatewayAuditLog.java     |    6 +-
 .../s3/endpoint/TestMultipartUploadWithCopy.java   |    6 +-
 .../hadoop/ozone/s3/endpoint/TestObjectHead.java   |    6 +-
 .../ozone/s3/endpoint/TestPermissionCheck.java     |   12 +-
 .../hadoop/ozone/shell/s3/GetS3SecretHandler.java  |   13 +-
 .../org/apache/hadoop/ozone/shell/s3/S3Shell.java  |    1 +
 ...3SecretHandler.java => SetS3SecretHandler.java} |   35 +-
 .../ozone/shell/tenant/GetUserInfoHandler.java     |  110 ++
 .../shell/tenant/TenantAssignAdminHandler.java     |   68 ++
 .../tenant/TenantAssignUserAccessIdHandler.java    |   83 ++
 .../shell/tenant/TenantBucketLinkHandler.java      |   74 ++
 .../ozone/shell/tenant/TenantCreateHandler.java    |   55 +
 .../ozone/shell/tenant/TenantDeleteHandler.java    |   73 ++
 .../ozone/shell/tenant/TenantGetSecretHandler.java |   53 +
 .../hadoop/ozone/shell/tenant/TenantHandler.java   |   54 +
 .../ozone/shell/tenant/TenantListHandler.java      |   72 ++
 .../ozone/shell/tenant/TenantListUsersHandler.java |   81 ++
 .../shell/tenant/TenantRevokeAdminHandler.java     |   61 ++
 .../tenant/TenantRevokeUserAccessIdHandler.java    |   45 +
 .../ozone/shell/tenant/TenantSetSecretHandler.java |   55 +
 .../{s3/S3Shell.java => tenant/TenantShell.java}   |   30 +-
 .../ozone/shell/tenant/TenantUserCommands.java     |   76 ++
 .../hadoop/ozone/shell/tenant/package-info.java    |   21 +
 168 files changed, 19255 insertions(+), 355 deletions(-)
 create mode 100644 hadoop-hdds/common/src/test/java/org/apache/hadoop/ozone/TestOzoneConsts.java
 create mode 100644 hadoop-hdds/docs/content/feature/S3-Multi-Tenancy-Access-Control.md
 create mode 100644 hadoop-hdds/docs/content/feature/S3-Multi-Tenancy-Setup.md
 create mode 100644 hadoop-hdds/docs/content/feature/S3-Multi-Tenancy.md
 create mode 100644 hadoop-hdds/docs/content/feature/S3-Tenant-Commands.md
 create mode 100644 hadoop-ozone/client/src/main/java/org/apache/hadoop/ozone/client/TenantArgs.java
 create mode 100644 hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/helpers/DeleteTenantState.java
 create mode 100644 hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/helpers/OmDBAccessIdInfo.java
 create mode 100644 hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/helpers/OmDBTenantState.java
 create mode 100644 hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/helpers/OmDBUserPrincipalInfo.java
 create mode 100644 hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/helpers/OmRangerSyncArgs.java
 create mode 100644 hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/helpers/OmTenantArgs.java
 copy hadoop-ozone/{ozone-manager/src/main/java/org/apache/hadoop/ozone/om/upgrade/DisallowedUntilLayoutVersion.java => common/src/main/java/org/apache/hadoop/ozone/om/helpers/OmTenantUserArgs.java} (51%)
 create mode 100644 hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/helpers/S3VolumeContext.java
 create mode 100644 hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/helpers/TenantStateList.java
 create mode 100644 hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/helpers/TenantUserInfoValue.java
 create mode 100644 hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/helpers/TenantUserList.java
 create mode 100644 hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/multitenant/AccessPolicy.java
 create mode 100644 hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/multitenant/AccountNameSpace.java
 create mode 100644 hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/multitenant/BucketNameSpace.java
 create mode 100644 hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/multitenant/OzoneOwnerPrincipal.java
 create mode 100644 hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/multitenant/OzoneTenant.java
 create mode 100644 hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/multitenant/OzoneTenantRolePrincipal.java
 create mode 100644 hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/multitenant/RangerAccessPolicy.java
 create mode 100644 hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/multitenant/Tenant.java
 create mode 100644 hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/multitenant/impl/AccountNameSpaceImpl.java
 create mode 100644 hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/multitenant/impl/SingleVolumeTenantNamespace.java
 copy hadoop-ozone/{ozone-manager/src/main/java/org/apache/hadoop/ozone/om/upgrade/DisallowedUntilLayoutVersion.java => common/src/main/java/org/apache/hadoop/ozone/om/multitenant/impl/package-info.java} (51%)
 copy hadoop-ozone/{ozone-manager/src/main/java/org/apache/hadoop/ozone/om/upgrade/DisallowedUntilLayoutVersion.java => common/src/main/java/org/apache/hadoop/ozone/om/multitenant/package-info.java} (51%)
 create mode 100644 hadoop-ozone/dist/src/main/compose/ozonesecure/mockserverInitialization.json
 create mode 100644 hadoop-ozone/dist/src/main/smoketest/security/ozone-secure-tenant.robot
 create mode 100644 hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/om/multitenant/TestMultiTenantAccessAuthorizerRangerPlugin.java
 create mode 100644 hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/om/multitenant/TestMultiTenantVolume.java
 create mode 100644 hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/om/multitenant/TestRangerBGSyncService.java
 copy hadoop-ozone/{ozone-manager/src/main/java/org/apache/hadoop/ozone/om/upgrade/DisallowedUntilLayoutVersion.java => integration-test/src/test/java/org/apache/hadoop/ozone/om/multitenant/package-info.java} (51%)
 create mode 100644 hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/shell/TestOzoneTenantShell.java
 create mode 100644 hadoop-ozone/interface-storage/src/main/java/org/apache/hadoop/ozone/om/codec/OmDBAccessIdInfoCodec.java
 create mode 100644 hadoop-ozone/interface-storage/src/main/java/org/apache/hadoop/ozone/om/codec/OmDBTenantStateCodec.java
 create mode 100644 hadoop-ozone/interface-storage/src/main/java/org/apache/hadoop/ozone/om/codec/OmDBUserPrincipalInfoCodec.java
 create mode 100644 hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/OMMultiTenantManager.java
 create mode 100644 hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/OMMultiTenantManagerImpl.java
 create mode 100644 hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/TenantOp.java
 create mode 100644 hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/multitenant/AuthorizerLock.java
 create mode 100644 hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/multitenant/AuthorizerLockImpl.java
 create mode 100644 hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/multitenant/CachedTenantState.java
 create mode 100644 hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/multitenant/MultiTenantAccessAuthorizer.java
 create mode 100644 hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/multitenant/MultiTenantAccessAuthorizerDummyPlugin.java
 create mode 100644 hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/multitenant/MultiTenantAccessAuthorizerRangerPlugin.java
 create mode 100644 hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/multitenant/MultiTenantAccessController.java
 create mode 100644 hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/multitenant/OMRangerBGSyncService.java
 create mode 100644 hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/multitenant/RangerClientMultiTenantAccessController.java
 create mode 100644 hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/multitenant/RangerRestMultiTenantAccessController.java
 copy hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/{upgrade/DisallowedUntilLayoutVersion.java => multitenant/package-info.java} (59%)
 create mode 100644 hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/security/OMSetSecretRequest.java
 create mode 100644 hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/security/S3SecretRequestHelper.java
 create mode 100644 hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/tenant/OMSetRangerServiceVersionRequest.java
 create mode 100644 hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/tenant/OMTenantAssignAdminRequest.java
 create mode 100644 hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/tenant/OMTenantAssignUserAccessIdRequest.java
 create mode 100644 hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/tenant/OMTenantCreateRequest.java
 create mode 100644 hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/tenant/OMTenantDeleteRequest.java
 create mode 100644 hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/tenant/OMTenantRevokeAdminRequest.java
 create mode 100644 hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/tenant/OMTenantRevokeUserAccessIdRequest.java
 copy hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/{upgrade/DisallowedUntilLayoutVersion.java => request/s3/tenant/package-info.java} (51%)
 copy hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/security/{S3GetSecretResponse.java => OMSetSecretResponse.java} (66%)
 create mode 100644 hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/tenant/OMSetRangerServiceVersionResponse.java
 create mode 100644 hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/tenant/OMTenantAssignAdminResponse.java
 create mode 100644 hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/tenant/OMTenantAssignUserAccessIdResponse.java
 create mode 100644 hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/tenant/OMTenantCreateResponse.java
 create mode 100644 hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/tenant/OMTenantDeleteResponse.java
 create mode 100644 hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/tenant/OMTenantRevokeAdminResponse.java
 create mode 100644 hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/tenant/OMTenantRevokeUserAccessIdResponse.java
 copy hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/{upgrade/DisallowedUntilLayoutVersion.java => response/s3/tenant/package-info.java} (51%)
 create mode 100644 hadoop-ozone/ozone-manager/src/main/resources/META-INF/aop.xml
 create mode 100644 hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/TestAuthorizerLockImpl.java
 create mode 100644 hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/TestOMMultiTenantManager.java
 create mode 100644 hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/TestOMMultiTenantManagerImpl.java
 create mode 100644 hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/multitenant/InMemoryMultiTenantAccessController.java
 create mode 100644 hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/multitenant/TestMultiTenantAccessController.java
 create mode 100644 hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/s3/security/TestS3GetSecretRequest.java
 create mode 100644 hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/s3/tenant/TestSetRangerServiceVersionRequest.java
 copy hadoop-ozone/tools/src/main/java/org/apache/hadoop/ozone/shell/s3/{GetS3SecretHandler.java => SetS3SecretHandler.java} (66%)
 create mode 100644 hadoop-ozone/tools/src/main/java/org/apache/hadoop/ozone/shell/tenant/GetUserInfoHandler.java
 create mode 100644 hadoop-ozone/tools/src/main/java/org/apache/hadoop/ozone/shell/tenant/TenantAssignAdminHandler.java
 create mode 100644 hadoop-ozone/tools/src/main/java/org/apache/hadoop/ozone/shell/tenant/TenantAssignUserAccessIdHandler.java
 create mode 100644 hadoop-ozone/tools/src/main/java/org/apache/hadoop/ozone/shell/tenant/TenantBucketLinkHandler.java
 create mode 100644 hadoop-ozone/tools/src/main/java/org/apache/hadoop/ozone/shell/tenant/TenantCreateHandler.java
 create mode 100644 hadoop-ozone/tools/src/main/java/org/apache/hadoop/ozone/shell/tenant/TenantDeleteHandler.java
 create mode 100644 hadoop-ozone/tools/src/main/java/org/apache/hadoop/ozone/shell/tenant/TenantGetSecretHandler.java
 create mode 100644 hadoop-ozone/tools/src/main/java/org/apache/hadoop/ozone/shell/tenant/TenantHandler.java
 create mode 100644 hadoop-ozone/tools/src/main/java/org/apache/hadoop/ozone/shell/tenant/TenantListHandler.java
 create mode 100644 hadoop-ozone/tools/src/main/java/org/apache/hadoop/ozone/shell/tenant/TenantListUsersHandler.java
 create mode 100644 hadoop-ozone/tools/src/main/java/org/apache/hadoop/ozone/shell/tenant/TenantRevokeAdminHandler.java
 create mode 100644 hadoop-ozone/tools/src/main/java/org/apache/hadoop/ozone/shell/tenant/TenantRevokeUserAccessIdHandler.java
 create mode 100644 hadoop-ozone/tools/src/main/java/org/apache/hadoop/ozone/shell/tenant/TenantSetSecretHandler.java
 copy hadoop-ozone/tools/src/main/java/org/apache/hadoop/ozone/shell/{s3/S3Shell.java => tenant/TenantShell.java} (67%)
 create mode 100644 hadoop-ozone/tools/src/main/java/org/apache/hadoop/ozone/shell/tenant/TenantUserCommands.java
 create mode 100644 hadoop-ozone/tools/src/main/java/org/apache/hadoop/ozone/shell/tenant/package-info.java


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@ozone.apache.org
For additional commands, e-mail: commits-help@ozone.apache.org


[ozone] 01/01: Merge remote-tracking branch 'asf/HDDS-4944'

Posted by si...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

siyao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ozone.git

commit 0242a823f9f686f90fa449ceaa9909d799f95464
Merge: fad347c3c0 1acaa82f34
Author: Siyao Meng <50...@users.noreply.github.com>
AuthorDate: Sun May 29 10:24:25 2022 -0700

    Merge remote-tracking branch 'asf/HDDS-4944'
    
    Change-Id: I0c2e045b8d413e6425f2fd9a254c7524c8dc390b

 .../hadoop/hdds/scm/client/HddsClientUtils.java    |    5 +-
 .../java/org/apache/hadoop/ozone/OzoneConsts.java  |   87 +-
 .../common/src/main/resources/ozone-default.xml    |   31 +
 .../org/apache/hadoop/ozone/TestOzoneConsts.java   |   35 +
 .../docs/content/feature/Nonrolling-Upgrade.md     |    1 +
 .../feature/S3-Multi-Tenancy-Access-Control.md     |   93 ++
 .../docs/content/feature/S3-Multi-Tenancy-Setup.md |   93 ++
 .../docs/content/feature/S3-Multi-Tenancy.md       |   75 ++
 .../docs/content/feature/S3-Tenant-Commands.md     |  458 ++++++++
 .../themes/ozonedoc/layouts/_default/section.html  |    3 +-
 .../hadoop/hdds/utils/DBCheckpointServlet.java     |    2 +-
 .../apache/hadoop/ozone/client/ObjectStore.java    |  173 ++-
 .../apache/hadoop/ozone/client/OzoneVolume.java    |   30 +
 .../org/apache/hadoop/ozone/client/TenantArgs.java |   82 ++
 .../org/apache/hadoop/ozone/client/VolumeArgs.java |    2 +
 .../ozone/client/protocol/ClientProtocol.java      |  131 ++-
 .../apache/hadoop/ozone/client/rpc/RpcClient.java  |  196 +++-
 .../main/java/org/apache/hadoop/ozone/OmUtils.java |   12 +
 .../org/apache/hadoop/ozone/audit/OMAction.java    |   15 +-
 .../org/apache/hadoop/ozone/om/OMConfigKeys.java   |   41 +
 .../hadoop/ozone/om/exceptions/OMException.java    |   16 +-
 .../hadoop/ozone/om/helpers/DeleteTenantState.java |   91 ++
 .../hadoop/ozone/om/helpers/OmDBAccessIdInfo.java  |  136 +++
 .../hadoop/ozone/om/helpers/OmDBTenantState.java   |  205 ++++
 .../ozone/om/helpers/OmDBUserPrincipalInfo.java    |   93 ++
 .../hadoop/ozone/om/helpers/OmRangerSyncArgs.java  |   67 ++
 .../hadoop/ozone/om/helpers/OmTenantArgs.java      |   92 ++
 .../hadoop/ozone/om/helpers/OmTenantUserArgs.java} |   39 +-
 .../hadoop/ozone/om/helpers/OmVolumeArgs.java      |   55 +-
 .../hadoop/ozone/om/helpers/S3SecretValue.java     |    1 +
 .../hadoop/ozone/om/helpers/S3VolumeContext.java   |   94 ++
 .../hadoop/ozone/om/helpers/TenantStateList.java   |   72 ++
 .../ozone/om/helpers/TenantUserInfoValue.java      |   75 ++
 .../hadoop/ozone/om/helpers/TenantUserList.java    |   70 ++
 .../hadoop/ozone/om/multitenant/AccessPolicy.java  |  152 +++
 .../ozone/om/multitenant/AccountNameSpace.java     |   77 ++
 .../ozone/om/multitenant/BucketNameSpace.java      |   94 ++
 .../ozone/om/multitenant/OzoneOwnerPrincipal.java  |   39 +
 .../hadoop/ozone/om/multitenant/OzoneTenant.java   |   96 ++
 .../om/multitenant/OzoneTenantRolePrincipal.java   |   41 +
 .../ozone/om/multitenant/RangerAccessPolicy.java   |  316 ++++++
 .../apache/hadoop/ozone/om/multitenant/Tenant.java |   59 +
 .../om/multitenant/impl/AccountNameSpaceImpl.java  |   53 +
 .../impl/SingleVolumeTenantNamespace.java          |   83 ++
 .../ozone/om/multitenant/impl/package-info.java}   |   24 +-
 .../hadoop/ozone/om/multitenant/package-info.java} |   24 +-
 .../ozone/om/protocol/OzoneManagerProtocol.java    |  126 +++
 .../apache/hadoop/ozone/om/protocol/S3Auth.java    |   18 +-
 ...OzoneManagerProtocolClientSideTranslatorPB.java |  258 +++++
 .../ozone/om/exceptions/TestResultCodes.java       |    3 +-
 .../main/compose/ozonesecure/docker-compose.yaml   |   16 +-
 .../src/main/compose/ozonesecure/docker-config     |   13 +
 .../ozonesecure/mockserverInitialization.json      |   98 ++
 .../non-rolling-upgrade/1.1.0-1.2.0/callback.sh    |    2 +-
 .../non-rolling-upgrade/1.2.1-1.3.0/callback.sh    |    2 +-
 hadoop-ozone/dist/src/main/license/jar-report.txt  |   24 +
 .../smoketest/security/ozone-secure-tenant.robot   |  138 +++
 .../smoketest/security/ozone-secure-token.robot    |    1 +
 .../dist/src/main/smoketest/upgrade/generate.robot |   31 +-
 .../dist/src/main/smoketest/upgrade/validate.robot |   22 +
 hadoop-ozone/dist/src/shell/ozone/ozone            |    5 +
 .../hadoop/hdds/upgrade/TestHDDSUpgrade.java       |    9 +-
 .../hadoop/ozone/TestOzoneConfigurationFields.java |   12 +-
 .../hadoop/ozone/TestSecureOzoneCluster.java       |   17 +-
 .../client/rpc/TestOzoneRpcClientAbstract.java     |    6 +-
 ...estMultiTenantAccessAuthorizerRangerPlugin.java |  269 +++++
 .../om/multitenant/TestMultiTenantVolume.java      |  264 +++++
 .../om/multitenant/TestRangerBGSyncService.java    |  722 ++++++++++++
 .../hadoop/ozone/om/multitenant/package-info.java} |   25 +-
 .../hadoop/ozone/shell/TestOzoneShellHA.java       |    3 +
 .../hadoop/ozone/shell/TestOzoneTenantShell.java   | 1085 ++++++++++++++++++
 .../src/main/proto/OmClientProtocol.proto          |  233 +++-
 .../apache/hadoop/ozone/om/OMMetadataManager.java  |    9 +
 .../ozone/om/codec/OmDBAccessIdInfoCodec.java      |   57 +
 .../ozone/om/codec/OmDBTenantStateCodec.java       |   57 +
 .../ozone/om/codec/OmDBUserPrincipalInfoCodec.java |   60 +
 hadoop-ozone/ozone-manager/pom.xml                 |   39 +
 .../org/apache/hadoop/ozone/om/KeyManagerImpl.java |    2 +-
 .../java/org/apache/hadoop/ozone/om/OMMetrics.java |  174 +++
 .../hadoop/ozone/om/OMMultiTenantManager.java      |  321 ++++++
 .../hadoop/ozone/om/OMMultiTenantManagerImpl.java  | 1149 ++++++++++++++++++++
 .../hadoop/ozone/om/OmMetadataManagerImpl.java     |   74 +-
 .../org/apache/hadoop/ozone/om/OzoneAclUtils.java  |   25 +
 .../org/apache/hadoop/ozone/om/OzoneManager.java   |  350 +++++-
 .../hadoop/ozone/om/S3SecretManagerImpl.java       |   14 +-
 .../java/org/apache/hadoop/ozone/om/TenantOp.java  |   86 ++
 .../hadoop/ozone/om/codec/OMDBDefinition.java      |   38 +-
 .../ozone/om/multitenant/AuthorizerLock.java       |   87 ++
 .../ozone/om/multitenant/AuthorizerLockImpl.java   |  186 ++++
 .../ozone/om/multitenant/CachedTenantState.java    |   88 ++
 .../multitenant/MultiTenantAccessAuthorizer.java   |  282 +++++
 .../MultiTenantAccessAuthorizerDummyPlugin.java    |  194 ++++
 .../MultiTenantAccessAuthorizerRangerPlugin.java   |  850 +++++++++++++++
 .../multitenant/MultiTenantAccessController.java   |  414 +++++++
 .../om/multitenant/OMRangerBGSyncService.java      |  844 ++++++++++++++
 .../RangerClientMultiTenantAccessController.java   |  323 ++++++
 .../RangerRestMultiTenantAccessController.java     |  670 ++++++++++++
 .../package-info.java}                             |   16 +-
 .../om/ratis/utils/OzoneManagerRatisUtils.java     |   30 +
 .../hadoop/ozone/om/request/OMClientRequest.java   |   20 +-
 .../om/request/file/OMDirectoryCreateRequest.java  |    2 +-
 .../om/request/s3/security/OMSetSecretRequest.java |  186 ++++
 .../om/request/s3/security/S3GetSecretRequest.java |  153 ++-
 .../request/s3/security/S3RevokeSecretRequest.java |   17 +-
 .../request/s3/security/S3SecretRequestHelper.java |  107 ++
 .../tenant/OMSetRangerServiceVersionRequest.java   |   84 ++
 .../s3/tenant/OMTenantAssignAdminRequest.java      |  253 +++++
 .../tenant/OMTenantAssignUserAccessIdRequest.java  |  373 +++++++
 .../request/s3/tenant/OMTenantCreateRequest.java   |  352 ++++++
 .../request/s3/tenant/OMTenantDeleteRequest.java   |  247 +++++
 .../s3/tenant/OMTenantRevokeAdminRequest.java      |  242 +++++
 .../tenant/OMTenantRevokeUserAccessIdRequest.java  |  269 +++++
 .../s3/tenant/package-info.java}                   |   24 +-
 .../om/request/volume/OMVolumeDeleteRequest.java   |   10 +
 .../ozone/om/request/volume/OMVolumeRequest.java   |    4 +-
 ...ecretResponse.java => OMSetSecretResponse.java} |   36 +-
 .../response/s3/security/S3GetSecretResponse.java  |    6 +
 .../tenant/OMSetRangerServiceVersionResponse.java  |   72 ++
 .../s3/tenant/OMTenantAssignAdminResponse.java     |   75 ++
 .../tenant/OMTenantAssignUserAccessIdResponse.java |  105 ++
 .../response/s3/tenant/OMTenantCreateResponse.java |   94 ++
 .../response/s3/tenant/OMTenantDeleteResponse.java |   84 ++
 .../s3/tenant/OMTenantRevokeAdminResponse.java     |   75 ++
 .../tenant/OMTenantRevokeUserAccessIdResponse.java |   93 ++
 .../s3/tenant/package-info.java}                   |   24 +-
 .../om/upgrade/DisallowedUntilLayoutVersion.java   |    2 +-
 .../hadoop/ozone/om/upgrade/OMLayoutFeature.java   |    3 +-
 .../ozone/om/upgrade/OMLayoutFeatureAspect.java    |   17 +-
 ...OzoneManagerProtocolServerSideTranslatorPB.java |   16 +-
 .../protocolPB/OzoneManagerRequestHandler.java     |   85 +-
 .../ozone/security/acl/OzoneNativeAuthorizer.java  |    3 +
 .../src/main/resources/META-INF/aop.xml            |   24 +
 .../hadoop/ozone/om/TestAuthorizerLockImpl.java    |  156 +++
 .../hadoop/ozone/om/TestOMMultiTenantManager.java  |  175 +++
 .../ozone/om/TestOMMultiTenantManagerImpl.java     |  159 +++
 .../InMemoryMultiTenantAccessController.java       |  154 +++
 .../TestMultiTenantAccessController.java           |  397 +++++++
 .../ozone/om/request/OMRequestTestUtils.java       |  154 +++
 .../s3/security/TestS3GetSecretRequest.java        |  450 ++++++++
 .../tenant/TestSetRangerServiceVersionRequest.java |  110 ++
 .../om/upgrade/TestOMLayoutFeatureAspect.java      |    1 +
 .../hadoop/ozone/s3/OzoneClientProducer.java       |    8 +-
 .../hadoop/ozone/s3/endpoint/EndpointBase.java     |   11 +-
 .../hadoop/ozone/client/ObjectStoreStub.java       |   10 +-
 .../hadoop/ozone/client/OzoneBucketStub.java       |    8 +-
 .../hadoop/ozone/s3/TestS3GatewayAuditLog.java     |    6 +-
 .../s3/endpoint/TestMultipartUploadWithCopy.java   |    6 +-
 .../hadoop/ozone/s3/endpoint/TestObjectHead.java   |    6 +-
 .../ozone/s3/endpoint/TestPermissionCheck.java     |   12 +-
 .../hadoop/ozone/shell/s3/GetS3SecretHandler.java  |   13 +-
 .../org/apache/hadoop/ozone/shell/s3/S3Shell.java  |    1 +
 ...3SecretHandler.java => SetS3SecretHandler.java} |   35 +-
 .../ozone/shell/tenant/GetUserInfoHandler.java     |  110 ++
 .../shell/tenant/TenantAssignAdminHandler.java     |   68 ++
 .../tenant/TenantAssignUserAccessIdHandler.java    |   83 ++
 .../shell/tenant/TenantBucketLinkHandler.java      |   74 ++
 .../ozone/shell/tenant/TenantCreateHandler.java    |   55 +
 .../ozone/shell/tenant/TenantDeleteHandler.java    |   73 ++
 .../ozone/shell/tenant/TenantGetSecretHandler.java |   53 +
 .../hadoop/ozone/shell/tenant/TenantHandler.java   |   54 +
 .../ozone/shell/tenant/TenantListHandler.java      |   72 ++
 .../ozone/shell/tenant/TenantListUsersHandler.java |   81 ++
 .../shell/tenant/TenantRevokeAdminHandler.java     |   61 ++
 .../tenant/TenantRevokeUserAccessIdHandler.java    |   45 +
 .../ozone/shell/tenant/TenantSetSecretHandler.java |   55 +
 .../{s3/S3Shell.java => tenant/TenantShell.java}   |   30 +-
 .../ozone/shell/tenant/TenantUserCommands.java     |   76 ++
 .../hadoop/ozone/shell/tenant/package-info.java    |   21 +
 168 files changed, 19255 insertions(+), 355 deletions(-)


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@ozone.apache.org
For additional commands, e-mail: commits-help@ozone.apache.org