Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
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
7 changes: 7 additions & 0 deletions e2e-tests/pitr-sharded/conf/backup-aws-s3.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
apiVersion: psmdb.percona.com/v1
kind: PerconaServerMongoDBBackup
metadata:
name:
spec:
clusterName: some-name
storageName: aws-s3
171 changes: 171 additions & 0 deletions e2e-tests/pitr-sharded/conf/eks-some-name-rs0.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,171 @@
apiVersion: psmdb.percona.com/v1
kind: PerconaServerMongoDB
metadata:
name: some-name
spec:
#platform: openshift
image:
imagePullPolicy: Always
backup:
enabled: true
image: perconalab/percona-server-mongodb-operator:1.1.0-backup
storages:
aws-s3:
type: s3
s3:
region: us-east-1
bucket: operator-testing
prefix: psmdb-pitr-demand-backup-eks-credentials
pitr:
enabled: false
oplogSpanMin: 2
runtimeClassName: container-rc
sharding:
enabled: true

configsvrReplSet:
size: 3
volumeSpec:
persistentVolumeClaim:
resources:
requests:
storage: 3Gi
sidecars:
- image: busybox
command: ["/bin/sh"]
args: ["-c", "while true; do echo echo $(date -u) 'test' >> /dev/null; sleep 5;done"]
name: cfg-sidecar-1
runtimeClassName: container-rc

mongos:
size: 3
expose:
exposeType: ClusterIP
sidecars:
- image: busybox
command: ["/bin/sh"]
args: ["-c", "while true; do echo echo $(date -u) 'test' >> /dev/null; sleep 5;done"]
name: mongos-sidecar-1
runtimeClassName: container-rc


replsets:
- name: rs0
affinity:
antiAffinityTopologyKey: none
resources:
limits:
cpu: 500m
memory: 1G
requests:
cpu: 100m
memory: 0.1G
volumeSpec:
persistentVolumeClaim:
resources:
requests:
storage: 1Gi
runtimeClassName: container-rc
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
- name: rs1
affinity:
antiAffinityTopologyKey: none
resources:
limits:
cpu: 500m
memory: 1G
requests:
cpu: 100m
memory: 0.1G
volumeSpec:
persistentVolumeClaim:
resources:
requests:
storage: 1Gi
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
- name: rs2
affinity:
antiAffinityTopologyKey: none
resources:
limits:
cpu: 500m
memory: 1G
requests:
cpu: 100m
memory: 0.1G
volumeSpec:
persistentVolumeClaim:
resources:
requests:
storage: 1Gi
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
sidecars:
- image: busybox
command: ["/bin/sh"]
args: ["-c", "while true; do echo echo $(date -u) 'test' >> /dev/null; sleep 5;done"]
name: rs-sidecar-1
secrets:
users: some-users
33 changes: 27 additions & 6 deletions e2e-tests/pitr-sharded/run
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,11 @@ main() {

cluster="some-name"
desc "create first PSMDB cluster $cluster"
apply_cluster $test_dir/conf/$cluster-rs0.yml
if [ $EKS -eq 0 ]; then
apply_cluster $test_dir/conf/$cluster-rs0.yml
else
apply_cluster $test_dir/conf/eks-$cluster-rs0.yml
fi

desc 'check if all 3 Pods started'
wait_for_running $cluster-rs0 3
Expand All @@ -121,19 +125,36 @@ main() {
wait_backup_agent $cluster-rs2-1
wait_backup_agent $cluster-rs2-2

backup_name_minio="backup-minio"
run_backup $backup_name_minio 0
if [ $EKS -eq 0 ]; then
backup_name_minio="backup-minio"
run_backup $backup_name_minio 0
else
kubectl_bin patch psmdb some-name --type=merge -p '{"spec":{"backup":{"pitr":{"enabled":true}}}}'
kubectl_bin exec some-name-rs0-0 -it -c backup-agent -- pbm status
exit_status=$?
if [ $exit_status -gt 0 ]; then
exit 1
fi
backup_name_aws="backup-aws-s3"
run_backup $backup_name_aws 0
fi

write_document "-2nd"
sleep 2

time_now=$(run_mongos 'new Date().toISOString()' "myApp:myPass@$cluster-mongos.$namespace" "mongodb" "" "--quiet" | grep -E -v 'I NETWORK|W NETWORK|Error saving history file|Percona Server for MongoDB|connecting to:|Unable to reach primary for set|Implicit session:|versions do not match|Error saving history file:' | cut -c1-19 | tr T " ")

check_recovery $backup_name_minio-0 date "$time_now" "-2nd" "$cluster"
if [ $EKS -eq 0 ]; then
check_recovery $backup_name_minio-0 date "$time_now" "-2nd" "$cluster"
run_backup $backup_name_minio 1
check_recovery $backup_name_minio-1 latest "" "-3rd" "$cluster"
else
check_recovery $backup_name_aws-0 date "$time_now" "-2nd" "$cluster"
run_backup $backup_name_aws 1
check_recovery $backup_name_aws-1 latest "" "-3rd" "$cluster"

run_backup $backup_name_minio 1
fi

check_recovery $backup_name_minio-1 latest "" "-3rd" "$cluster"

desc 'delete custom RuntimeClass'
kubectl_bin delete -f "$conf_dir/container-rc.yaml"
Expand Down