Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions e2e-tests/demand-backup-incremental-aws/conf/backup-aws-s3.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
apiVersion: psmdb.percona.com/v1
kind: PerconaServerMongoDBBackup
metadata:
finalizers:
- percona.com/delete-backup
name:
spec:
type: incremental-base
clusterName: some-name
storageName:
65 changes: 65 additions & 0 deletions e2e-tests/demand-backup-incremental-aws/conf/some-name.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
apiVersion: psmdb.percona.com/v1
kind: PerconaServerMongoDB
metadata:
finalizers:
- percona.com/delete-psmdb-pvc
name: some-name
spec:
#platform: openshift
image:
imagePullPolicy: Always
backup:
enabled: true
image:
storages:
aws-s3:
type: s3
s3:
credentialsSecret: aws-s3-secret
region: us-east-1
bucket: operator-testing
prefix: psmdb-demand-backup-incremental-aws
insecureSkipTLSVerify: false
replsets:
- name: rs0
affinity:
antiAffinityTopologyKey: none
resources:
limits:
cpu: 500m
memory: 1G
requests:
cpu: 100m
memory: 0.1G
volumeSpec:
persistentVolumeClaim:
resources:
requests:
storage: 3Gi
expose:
enabled: false
type: ClusterIP
size: 3
configuration: |
operationProfiling:
mode: slowOp
slowOpThresholdMs: 100
security:
enableEncryption: true
redactClientLogData: false
setParameter:
ttlMonitorSleepSecs: 60
wiredTigerConcurrentReadTransactions: 128
wiredTigerConcurrentWriteTransactions: 128
storage:
engine: wiredTiger
wiredTiger:
collectionConfig:
blockCompressor: snappy
engineConfig:
directoryForIndexes: false
journalCompressor: snappy
indexConfig:
prefixCompression: true
secrets:
users: some-users
58 changes: 58 additions & 0 deletions e2e-tests/demand-backup-incremental-aws/run
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
#!/bin/bash

set -o errexit

test_dir=$(realpath "$(dirname "$0")")
. "${test_dir}/../functions"
set_debug

if [ ! -z "$SKIP_BACKUPS_TO_AWS_GCP_AZURE" ]; then
log "Skipping cloud backups"
exit 0
fi

create_infra "${namespace}"
apply_s3_storage_secrets

desc 'Testing on not sharded cluster'

log "Creating PSMDB cluster"
cluster="some-name"
kubectl_bin apply -f "${test_dir}/conf/secrets.yml"
apply_cluster "${test_dir}/conf/${cluster}.yml"
kubectl_bin apply -f "${conf_dir}/client_with_tls.yml"

log "check if all pods started"
wait_for_running ${cluster}-rs0 3
wait_cluster_consistency ${cluster}

log 'writing test data'
run_mongo \
'db.createUser({user:"myApp",pwd:"myPass",roles:[{db:"myApp",role:"readWrite"}]})' \
"userAdmin:userAdmin123456@${cluster}-rs0.${namespace}"
sleep 1
run_mongo \
'use myApp\n db.test.insert({ x: 100500 })' \
"myApp:myPass@${cluster}-rs0.${namespace}"
sleep 5
compare_mongo_cmd "find" "myApp:myPass@${cluster}-rs0-0.${cluster}-rs0.${namespace}"
compare_mongo_cmd "find" "myApp:myPass@${cluster}-rs0-1.${cluster}-rs0.${namespace}"
compare_mongo_cmd "find" "myApp:myPass@${cluster}-rs0-2.${cluster}-rs0.${namespace}"

log 'running backup'
backup_name_aws="backup-aws-s3"
run_backup aws-s3 ${backup_name_aws} incremental-base
wait_backup "${backup_name_aws}"
check_backup_in_storage ${backup_name_aws} s3 rs0

log "drop collection"
run_mongo 'use myApp\n db.test.drop()' "myApp:myPass@${cluster}-rs0.${namespace}"
log "check backup and restore -- $backup_name"

log 'running restore'
run_restore "${backup_name_aws}"
run_recovery_check "${backup_name_aws}"

desc 'test passed'

destroy "$namespace"
Loading
Loading