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

dataroaring pushed a commit to branch branch-3.0
in repository https://gitbox.apache.org/repos/asf/doris.git


The following commit(s) were added to refs/heads/branch-3.0 by this push:
     new 4b0177de9e3 branch-3.0: [regression](storage vault) test minio as 
storage vault using Virtual Host Style #47992 (#48124)
4b0177de9e3 is described below

commit 4b0177de9e304340b8beb940f87c59b127741411
Author: github-actions[bot] 
<41898282+github-actions[bot]@users.noreply.github.com>
AuthorDate: Thu Feb 20 15:22:53 2025 +0800

    branch-3.0: [regression](storage vault) test minio as storage vault using 
Virtual Host Style #47992 (#48124)
    
    Cherry-picked from #47992
    
    Co-authored-by: yagagagaga <zhangmi...@selectdb.com>
---
 .../minio/minio-RELEASE.2024-11-07.yaml.tpl        |   1 +
 regression-test/conf/regression-conf.groovy        |   1 +
 .../vault_p0/create/test_minio_storage_vault.out   | Bin 136 -> 179 bytes
 .../vault_p0/conf/regression-conf-custom.groovy    |   1 +
 .../create/test_minio_storage_vault.groovy         |  52 ++++++++++++++++-----
 5 files changed, 44 insertions(+), 11 deletions(-)

diff --git 
a/docker/thirdparties/docker-compose/minio/minio-RELEASE.2024-11-07.yaml.tpl 
b/docker/thirdparties/docker-compose/minio/minio-RELEASE.2024-11-07.yaml.tpl
index 504195a31b7..c637b45c14c 100644
--- a/docker/thirdparties/docker-compose/minio/minio-RELEASE.2024-11-07.yaml.tpl
+++ b/docker/thirdparties/docker-compose/minio/minio-RELEASE.2024-11-07.yaml.tpl
@@ -33,6 +33,7 @@ services:
       - MINIO_ROOT_USER=minioadmin
       - MINIO_ROOT_PASSWORD=minioadmin
       - MINIO_REGION_NAME=us-east-1
+      - MINIO_DOMAIN=myminio.com
       - TZ=Asia/Shanghai
     volumes:
       - ./script/minio_init.sh:/bin/minio_init.sh
diff --git a/regression-test/conf/regression-conf.groovy 
b/regression-test/conf/regression-conf.groovy
index b3e675ea94b..2d488532330 100644
--- a/regression-test/conf/regression-conf.groovy
+++ b/regression-test/conf/regression-conf.groovy
@@ -210,6 +210,7 @@ extEsPassword = "***********"
 enableExternalMinioTest = false
 extMinioHost = "***.**.**.**"
 extMinioPort = 9000
+extMinioDomain = "myminio.com"
 extMinioAk = "minioadmin"
 extMinioSk = "minioadmin"
 extMinioRegion = "us-east-1"
diff --git a/regression-test/data/vault_p0/create/test_minio_storage_vault.out 
b/regression-test/data/vault_p0/create/test_minio_storage_vault.out
index 93426fa1b66..1bb882b5f96 100644
Binary files 
a/regression-test/data/vault_p0/create/test_minio_storage_vault.out and 
b/regression-test/data/vault_p0/create/test_minio_storage_vault.out differ
diff --git 
a/regression-test/pipeline/vault_p0/conf/regression-conf-custom.groovy 
b/regression-test/pipeline/vault_p0/conf/regression-conf-custom.groovy
index a55926f7362..de777157b18 100644
--- a/regression-test/pipeline/vault_p0/conf/regression-conf-custom.groovy
+++ b/regression-test/pipeline/vault_p0/conf/regression-conf-custom.groovy
@@ -38,6 +38,7 @@ extHiveHmsUser = "root"
 // for case test_minio_storage_vault.groovy
 extMinioHost = "127.0.0.1"
 extMinioPort = 19000
+extMinioDomain = "myminio.com"
 extMinioAk = "minioadmin"
 extMinioSk = "minioadmin"
 extMinioRegion = "us-east-1"
diff --git 
a/regression-test/suites/vault_p0/create/test_minio_storage_vault.groovy 
b/regression-test/suites/vault_p0/create/test_minio_storage_vault.groovy
index f46a7e44ae2..582e80dcd6e 100644
--- a/regression-test/suites/vault_p0/create/test_minio_storage_vault.groovy
+++ b/regression-test/suites/vault_p0/create/test_minio_storage_vault.groovy
@@ -21,7 +21,7 @@ suite ("test_minio_storage_vault") {
         logger.warn("skip this test, because this case only run in cloud mode")
     }
     if (!enableStoragevault()) {
-        logger.info("skip this test case")
+        logger.info("skip this test case, because enableStoragevault = false")
         return
     }
     String enabled = context.config.otherConfigs.get("enableExternalMinioTest")
@@ -35,10 +35,13 @@ suite ("test_minio_storage_vault") {
     String extMinioRegion = context.config.otherConfigs.get("extMinioRegion")
     String extMinioBucket = context.config.otherConfigs.get("extMinioBucket")
 
+    // **********************************************************************
+    // *      case 1: test MinIO as Storage Vault using S3 Path Style       *
+    // **********************************************************************
     String suffix = UUID.randomUUID().toString().split("-")[0]
     String vaultName = "minio_vault_" + suffix
 
-    sql """
+    multi_sql """
          CREATE STORAGE VAULT IF NOT EXISTS ${vaultName}
          PROPERTIES (
              "type"="S3",
@@ -48,24 +51,51 @@ suite ("test_minio_storage_vault") {
              "s3.region" = "${extMinioRegion}",
              "s3.root.path" = "test_${suffix}",
              "s3.bucket" = "${extMinioBucket}",
-             "provider" = "S3"
+             "provider" = "S3",
+             "use_path_style" = "true"
          );
-    """
-
-    sql """ drop table if exists user"""
-    sql """
-        CREATE TABLE `user` (
+         drop table if exists user;
+         CREATE TABLE `user` (
           `id` int NULL,
           `name` varchar(32) NULL
         ) 
         PROPERTIES (
             "storage_vault_name" = "${vaultName}"
         );
-    """
-
-    sql """
         insert into user values (1,'Tom'), (2, 'Jelly'), (3, 'Spike'), (4, 
'Tuffy');
     """
 
     order_qt_sql "select * from user"
+
+    // **********************************************************************
+    // *  case 2: test MinIO as Storage Vault using S3 Virtual Host Style   *
+    // **********************************************************************
+    String extMinioDomain = context.config.otherConfigs.get("extMinioDomain")
+    cmd "echo -ne '\\n${extMinioHost} ${extMinioBucket}.${extMinioDomain}' >> 
/etc/hosts"
+    String vaultNameHostStyle = "minio_host_style_vault_" + suffix
+    multi_sql """
+        CREATE STORAGE VAULT IF NOT EXISTS ${vaultNameHostStyle}
+         PROPERTIES (
+             "type"="S3",
+             "s3.endpoint"="${extMinioDomain}:${extMinioPort}",
+             "s3.access_key" = "${extMinioAk}",
+             "s3.secret_key" = "${extMinioSk}",
+             "s3.region" = "${extMinioRegion}",
+             "s3.root.path" = "test2_${suffix}",
+             "s3.bucket" = "${extMinioBucket}",
+             "provider" = "S3",
+             "use_path_style" = "false"
+         );
+         drop table if exists user2;
+         CREATE TABLE `user2` (
+          `id` int NULL,
+          `name` varchar(32) NULL
+        ) 
+        PROPERTIES (
+            "storage_vault_name" = "${vaultNameHostStyle}"
+        );
+        insert into user2 values (1,'Tom'), (2, 'Jelly'), (3, 'Spike'), (4, 
'Tuffy');
+    """
+
+    order_qt_sql "select * from user2"
 }


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org
For additional commands, e-mail: commits-h...@doris.apache.org

Reply via email to