@@ -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