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
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
34 changes: 27 additions & 7 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,35 @@ 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"

run_backup $backup_name_minio 1
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"

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

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