Skip to content

Commit b86a16e

Browse files
CLDSRV-673: Workflow for kmip cluster test
1 parent b1e8899 commit b86a16e

File tree

2 files changed

+61
-8
lines changed

2 files changed

+61
-8
lines changed

.github/docker/docker-compose.sse.yaml

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -36,15 +36,7 @@ services:
3636
- ../../tests/functional/sse-kms-migration/config.json:/conf/config.json
3737
environment:
3838
- S3_CONFIG_FILE=/conf/config.json
39-
- S3VAULT=scality
40-
depends_on:
41-
- vault-sse-before-migration
4239
cloudserver-sse-migration:
4340
extends: cloudserver-sse-before-migration
4441
profiles: [sse-migration]
4542
command: sh -c "yarn start > /artifacts/s3.migration.log 2> /artifacts/s3-stderr.migration.log"
46-
environment:
47-
- S3KMS
48-
depends_on: !override
49-
- redis
50-
- vault-sse-migration

.github/workflows/tests.yaml

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -372,6 +372,67 @@ jobs:
372372
source: /tmp/artifacts
373373
if: always()
374374

375+
kmip-cluster-ft-tests:
376+
runs-on: ubuntu-latest
377+
needs: build
378+
env:
379+
S3BACKEND: file
380+
S3VAULT: mem
381+
MPU_TESTING: true
382+
CLOUDSERVER_IMAGE: ghcr.io/${{ github.repository }}:${{ github.sha }}
383+
PYKMIP_IMAGE: ghcr.io/${{ github.repository }}/pykmip:${{ github.sha }}
384+
JOB_NAME: ${{ github.job }}
385+
COMPOSE_FILE: docker-compose.yaml:docker-compose.sse.yaml
386+
S3KMS: kmip
387+
steps:
388+
- name: Checkout
389+
uses: actions/checkout@v4
390+
- uses: actions/setup-python@v5
391+
with:
392+
python-version: 3.9
393+
- name: Setup CI environment
394+
uses: ./.github/actions/setup-ci
395+
- name: Install tcpdump to analyze traffic on kmip cluster interfaces
396+
run: sudo apt-get update && sudo apt-get install -y tcpdump
397+
- name: Copy KMIP certs
398+
run: cp -r ./certs /tmp/ssl-kmip
399+
working-directory: .github/pykmip
400+
- name: Merge config.json and kmip-cluster config
401+
run: |
402+
jq -s '
403+
.[0] * .[1]
404+
' \
405+
configs/base.json \
406+
configs/kmip-cluster.json \
407+
> config.json
408+
working-directory: tests/functional/sse-kms-migration
409+
- name: Setup CI services
410+
run: docker compose up -d --quiet-pull redis pykmip cloudserver-sse-before-migration
411+
working-directory: .github/docker
412+
- name: Run file KMIP cluster tests
413+
shell: bash # for pipefail
414+
env:
415+
# Functional tests needs access to the running config to use the same
416+
# KMS kmip cluster config
417+
# yarn run does a cd into the test folder
418+
S3_CONFIG_FILE: config.json
419+
S3KMS: kmip
420+
S3_END_TO_END: true # to use the default credentials profile and not vault profile
421+
run: |-
422+
set -ex -o pipefail;
423+
bash wait_for_local_port.bash 8000 40
424+
bash wait_for_local_port.bash 5696 40
425+
yarn run ft_kmip_cluster | tee /tmp/artifacts/${{ github.job }}/tests.log
426+
- name: Upload logs to artifacts
427+
uses: scality/action-artifacts@v4
428+
with:
429+
method: upload
430+
url: https://artifacts.scality.net
431+
user: ${{ secrets.ARTIFACTS_USER }}
432+
password: ${{ secrets.ARTIFACTS_PASSWORD }}
433+
source: /tmp/artifacts
434+
if: always()
435+
375436
# This test with the final yarn run ft_sse_arn covers more code than the kmip tests
376437
sse-kms-migration-tests:
377438
strategy:

0 commit comments

Comments
 (0)