No description
Find a file
Roman Khimov 8c59826ee7
Merge pull request #18 from nspcc-dev/add_display_name_config_value
s3-gw: add correct display_name config value
2023-11-03 16:09:49 +03:00
.github/workflows workflows: check DCO 2023-08-29 23:11:32 +03:00
bin [#9] Add run of specific test for neofs-s3-gw 2022-06-03 09:29:32 +03:00
services s3-gw: add correct display_name config value 2023-11-02 21:35:06 -04:00
.env URL fix to pull s3-authmate 2023-08-14 20:44:29 +03:00
.gitignore [#11] Rename authmate to s3-authmate 2022-07-26 12:18:13 +03:00
.services [#1] Add minio service 2021-12-28 11:44:50 +03:00
help.mk [#13] Makefile: Fix help regex 2022-10-12 18:26:50 +03:00
LICENSE [#1] Add minio service 2021-12-28 11:44:50 +03:00
Makefile [#5] Filter tests result and save it to file 2022-10-26 19:08:34 +03:00
README.md [#5] Filter tests result and save it to file 2022-10-26 19:08:34 +03:00

neofs-s3-dev-env

Extension for https://github.com/nspcc-dev/neofs-dev-env to compare s3 compatible object storages: NeoFS S3 GW and minio.

Prerequisites

Ensure you have the following software installed:

  • docker-compose
  • docker
  • make
  • git
  • jq
  • python3.6 -- quick tutorials for some distros see here

Quick Start

NeoFS S3 GW

Make sure that neofs-dev-env is started with zero fees. To set zero fees, go to folder of neofs-dev-env and execute:

$ make update.container_fee val=0 && make update.container_alias_fee val=0

Then inside a folder neofs-s3-dev-env run the tests:

$ make tests.s3-gw

You can set a variable TEST and specify a file which you want to run tests from:

$ make tests.s3-gw TEST=test_s3 

Or specify a test:

$ make tests.s3-gw TEST=test_s3:test_object_copy_versioned_bucket          

After execution, you can find results in s3-gw.results:

$ cat s3-gw.results
...
s3tests_boto3.functional.test_s3.test_object_copy_versioned_bucket ... ok
...

Other services

Supported services:

  • minio

To start services execute:

$ make up

Minio

To run testing of minio:

$ make tests.minio

After execution, you can find results in minio.results:

$ cat minio.results
...
s3tests_boto3.functional.test_s3.test_bucket_create_naming_bad_short_one ... ok
...

Notable make targets

make help will print the brief description of available targets. Here we describe some of them in a more detailed way.

prepare.tests

Clones repository nspcc-dev/s3-test, creates isolated Python environment using virtualenv in subdirectory tests.

prepare.s3-gw

Issues secrets for two wallets with authmate and creates a .conf file with filled credentials for s3-tests.

tests.s3-gw

Runs tests on S3-GW from neofs-dev-env.

prepare.minio

Creates a .conf file with filled credentials for s3-tests.

tests.minio

Runs tests on minio.

up

Starts all Devenv services.

This target call pull to get container images, get to download required artifacts, vendor/hosts to generate hosts file and then starts all services in the order defined in .services file.

down

Shutdowns all services. This will destroy all containers and networks. All changes made inside containers will be lost.

clean

Clean up vendor and tests directories and created .conf files.

License