@@ -111,6 +111,17 @@ MINT_MOCK_ACCESS_KEY="aaaaaaaaaaaaaEXAMPLE"
111111MINT_MOCK_SECRET_KEY ="aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEXAMPLE"
112112MINT_NOOBAA_HTTP_ENDPOINT_PORT =6001
113113
114+ # ###################
115+ # MINIO VARIABLES #
116+ # ##################
117+
118+ MINIO_IMAGE? ="quay.io/minio/minio"
119+ AWS_CLI_IMAGE? ="amazon/aws-cli"
120+ MINIO_PORT? =9000
121+ MINIO_USER? ="miniotest"
122+ MINIO_PASSWORD? ="miniotest123"
123+ MINIO_TEST_BUCKET? ="minio-test-bucket"
124+
114125# ##############
115126# BUILD LOCAL #
116127# ##############
@@ -352,6 +363,19 @@ test-cephs3: tester
352363 @$(call remove_docker_network)
353364.PHONY : test-cephs3
354365
366+ test-cephs3-ns-aws : tester
367+ @echo " \033[1;34mRunning ceph-s3 tests with namespace store pointing to s3 bucket in Minio\033[0m"
368+ @$(call create_docker_network)
369+ @$(call run_minio)
370+ @$(call run_postgres)
371+ @echo " \033[1;34mRunning tests\033[0m"
372+ $(CONTAINER_ENGINE ) run $(CPUSET ) --privileged --user root --network noobaa-net --name noobaa_$(GIT_COMMIT ) _$(NAME_POSTFIX ) --env " SUPPRESS_LOGS=$( SUPPRESS_LOGS) " --env " POSTGRES_HOST=coretest-postgres-$( GIT_COMMIT) -$( NAME_POSTFIX) " --env " POSTGRES_USER=noobaa" --env " DB_TYPE=postgres" --env " POSTGRES_DBNAME=coretest" --env " USE_NAMESPACE_RESOURCE=true" --env " MINIO_ENDPOINT=http://coretest-minio-$( GIT_COMMIT) -$( NAME_POSTFIX) :$( MINIO_PORT) " --env " MINIO_USER=$( MINIO_USER) " --env " MINIO_PASSWORD=$( MINIO_PASSWORD) " --env " MINIO_TEST_BUCKET=$( MINIO_TEST_BUCKET) " -v $(PWD ) /logs:/logs $(TESTER_TAG ) " ./src/test/external_tests/ceph_s3_tests/run_ceph_test_on_test_container.sh"
373+ @$(call stop_noobaa)
374+ @$(call stop_postgres)
375+ @$(call stop_minio)
376+ @$(call remove_docker_network)
377+ .PHONY : test-cephs3-ns-aws
378+
355379test-warp : tester
356380 @echo " \033[1;34mRunning warp tests with Postgres.\033[0m"
357381 @$(call create_docker_network)
@@ -581,3 +605,27 @@ define stop_blob_mock
581605 fi
582606 @echo "\033[1;32mBlob mock server stop done.\033[0m"
583607endef
608+
609+ # ########
610+ # MINIO #
611+ # ########
612+
613+ define run_minio
614+ @echo "\033[1;34mRunning Minio container\033[0m"
615+ $(CONTAINER_ENGINE ) run -d $(CPUSET ) --network noobaa-net --name coretest-minio-$(GIT_COMMIT ) -$(NAME_POSTFIX ) -p $(MINIO_PORT ) :$(MINIO_PORT ) --env "MINIO_ROOT_USER=$(MINIO_USER ) " --env "MINIO_ROOT_PASSWORD=$(MINIO_PASSWORD ) " $(MINIO_IMAGE ) server /data --address ":$(MINIO_PORT ) "
616+ @echo "\033[1;34mWaiting for Minio to start..\033[0m"
617+ sleep 20
618+ @echo "\033[1;34mCreating test bucket in Minio..\033[0m"
619+ $(CONTAINER_ENGINE ) run --rm --network noobaa-net --env "AWS_ACCESS_KEY_ID=$(MINIO_USER ) " --env "AWS_SECRET_ACCESS_KEY=$(MINIO_PASSWORD ) " --env "AWS_DEFAULT_REGION=us-east-1" $(AWS_CLI_IMAGE ) s3 mb s3://$(MINIO_TEST_BUCKET ) --endpoint-url http://coretest-minio-$(GIT_COMMIT ) -$(NAME_POSTFIX ) :$(MINIO_PORT )
620+ @echo "\033[1;34mVerifying bucket creation..\033[0m"
621+ $(CONTAINER_ENGINE ) run --rm --network noobaa-net --env "AWS_ACCESS_KEY_ID=$(MINIO_USER ) " --env "AWS_SECRET_ACCESS_KEY=$(MINIO_PASSWORD ) " --env "AWS_DEFAULT_REGION=us-east-1" $(AWS_CLI_IMAGE ) s3 ls --endpoint-url http://coretest-minio-$(GIT_COMMIT ) -$(NAME_POSTFIX ) :$(MINIO_PORT )
622+ @echo "\033[1;32mRun Minio done.\033[0m"
623+ endef
624+
625+ define stop_minio
626+ @echo "\033[1;34mStopping/removing Minio container\033[0m"
627+ $(call disconnect_container_from_noobaa_network, coretest-minio-$(GIT_COMMIT ) -$(NAME_POSTFIX ) )
628+ $(CONTAINER_ENGINE ) stop coretest-minio-$(GIT_COMMIT ) -$(NAME_POSTFIX )
629+ $(CONTAINER_ENGINE ) rm coretest-minio-$(GIT_COMMIT ) -$(NAME_POSTFIX )
630+ @echo "\033[1;32mStop Minio done.\033[0m"
631+ endef
0 commit comments