Skip to content

[GRDM-63383] S3互換ストレージのCIをMinIOからRustFSに置き換え - #53

Draft
yacchin1205 wants to merge 3 commits into
RCOSDP:mainfrom
yacchin1205:feature/replace-minio-with-rustfs
Draft

yacchin1205 wants to merge 3 commits into
RCOSDP:mainfrom
yacchin1205:feature/replace-minio-with-rustfs

Conversation

@yacchin1205

Copy link
Copy Markdown
Collaborator

Purpose

Docker Hub の minio/minio イメージが pull できなくなり、S3 互換ストレージのテストジョブ(User Tests (MinIO) / Admin Tests (MinIO))が「Start all RDM services」で恒常的に失敗しています。

minio Error pull access denied for minio/minio, repository does not exist or may require 'docker login'

(例: https://github.com/RCOSDP/RDM-e2e-test-nb/actions/runs/36359861144 。2026-09-21 以降の全 7 実行で発生)

CI 用の S3 互換サーバを MinIO から RustFS に置き換えます。

あわせて、SigV2 を使う s3compat アドオンのテストを無効化し、RustFS では SigV4 の s3compatsigv4 アドオンのテストのみを実行します。RustFS では s3compat のフォルダ移動が SignatureDoesNotMatch(403)で失敗するためです。原因は WaterButler の s3compat プロバイダの get_full_revision が、ListObjectVersions のクエリを署名付き URL と params の両方で二重に付与していることで、署名検証が厳密なサーバ(RustFS、Zenko CloudServer で確認)はこのリクエストを拒否します。正しく署名した URL だけで送れば RustFS でも成功することをローカルで確認しています。

Changes

  • setup_minio.sh → setup_rustfs.sh: docker-compose override のサービスを rustfs/rustfs と CLI rustfs/rc に変更し、s3compatsigv4 の settings.json に RustFS (CI)(rustfs:9000)を登録
  • setup_minio_buckets.sh → setup_rustfs_buckets.sh: mc の操作(バケット作成、ユーザー作成、readwrite ポリシー付与、130MiB 検証アップロード)を rc の同等コマンドに置き換え
  • e2e-test.yml / setup_rdm.sh: minio_enabled / MINIO_* を rustfs_enabled / RUSTFS_* にリネーム。matrix のジョブ名も user-rustfs / admin-rustfs に変更
  • s3compat(SigV2)のテストを無効化: 「Initialize MinIO for S3 compatibility tests」ステップと generate_ci_config.sh の --minio を削除し、storages_s3 を常に空にする
  • MinIO trace(mc admin trace)の収集ステップを削除し、代わりに RustFS コンテナのログ(RUSTFS_OBS_LOGGER_LEVEL=info)を常時 artifact(rustfs-logs-<ジョブ名>)として保存

Ticket

GRDM-63383

Custom Test Configuration

  • RDM_REPOSITORY:
  • RDM_BRANCH:
  • RDM_MERGE:
  • OSF_IMAGE:
  • EMBER_IMAGE:
  • CAS_IMAGE:
  • MFR_IMAGE:
  • WB_IMAGE:
  • EXCLUDE_NOTEBOOKS:

@yacchin1205
yacchin1205 marked this pull request as draft September 30, 2026 21:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant