@@ -111,6 +111,17 @@ MINT_MOCK_ACCESS_KEY="aaaaaaaaaaaaaEXAMPLE"
111
111
MINT_MOCK_SECRET_KEY ="aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEXAMPLE"
112
112
MINT_NOOBAA_HTTP_ENDPOINT_PORT =6001
113
113
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
+
114
125
# ##############
115
126
# BUILD LOCAL #
116
127
# ##############
@@ -352,6 +363,19 @@ test-cephs3: tester
352
363
@$(call remove_docker_network)
353
364
.PHONY : test-cephs3
354
365
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
+
355
379
test-warp : tester
356
380
@echo " \033[1;34mRunning warp tests with Postgres.\033[0m"
357
381
@$(call create_docker_network)
@@ -581,3 +605,27 @@ define stop_blob_mock
581
605
fi
582
606
@echo "\033[1;32mBlob mock server stop done.\033[0m"
583
607
endef
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